vendor: 5,118 bytes, line 1
1if(function(global,factory){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=global.document?factory(global,!0):function(w){if(!w.document)throw new Error("jQuery requires a window with a document");return factory(w)}:factory(global)}("undefined"!=typeof window?window:this,function(window,noGlobal){"use strict";var arr=[],document=window.document,getProto=Object.getPrototypeOf,slice=arr.slice,concat=arr.concat,push=arr.push,indexOf=arr.indexOf,class2type={},toString=class2type.toString,hasOwn=class2type.hasOwnProperty,fnToString=hasOwn.toString,ObjectFunctionString=fnToString.call(Object),support={},isFunction=function(obj){return"function"==typeof obj&&"number"!=typeof obj.nodeType},isWindow=function(obj){return null!=obj&&obj===obj.window},preservedScriptAttributes={type:!0,src:!0,noModule:!0};function DOMEval(code,doc,node){var i,script=(doc=doc||document).createElement("script");if(script.text=code,node)for(i in preservedScriptAttributes)node[i]&&(script[i]=node[i]);doc.head.appendChild(script).parentNode.removeChild(script)}function toType(obj){return null==obj?obj+"":"object"==typeof obj||"function"==typeof obj?class2type[toString.call(obj)]||"object":typeof obj}var jQuery=function(selector,context){return new jQuery.fn.init(selector,context)},rtrim=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function isArrayLike(obj){var length=!!obj&&"length"in obj&&obj.length,type=toType(obj);return!isFunction(obj)&&!isWindow(obj)&&("array"===type||0===length||"number"==typeof length&&0<length&&length-1 in obj)}jQuery.fn=jQuery.prototype={jquery:"3.3.1",constructor:jQuery,length:0,toArray:function(){return slice.call(this)},get:function(num){return null==num?slice.call(this):num<0?this[num+this.length]:this[num]},pushStack:function(elems){var ret=jQuery.merge(this.constructor(),elems);return ret.prevObject=this,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(0<=j&&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=!1;for("boolean"==typeof target&&(deep=target,target=arguments[i]||{},i++),"object"==typeof target||isFunction(target)||(target={}),i===length&&(target=this,i--);i<length;i++)if(null!=(options=arguments[i]))for(name in options)src=target[name],target!==(copy=options[name])&&(deep&©&&(jQuery.isPlainObject(copy)||(copyIsArray=Array.isArray(copy)))?(clone=copyIsArray?(copyIsArray=!1,src&&Array.isArray(src)?src:[]):src&&jQuery.isPlainObject(src)?src:{},target[name]=jQuery.extend(deep,clone,copy)):void 0!==copy&&(target[name]=copy));return target},jQuery.extend({expando:"jQuery"+("3.3.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(msg){throw new Error(msg)},noop:function(){},isPlainObject:function(obj){var proto,Ctor;return!(!obj||"[object Object]"!==toString.call(obj))&&(!(proto=getProto(obj))||"function"==typeof(Ctor=hasOwn.call(proto,"constructor")&&proto.constructor)&&fnToString.call(Ctor)===ObjectFunctionString)},isEmptyObject:function(obj){var name;for(name in obj)return!1;return!0},globalEval:function(code){DOMEval(code)},each:function(obj,callback){var length,i=0;if(isArrayLike(obj))for(length=obj.length;i<length&&!1!==callback.call(obj[i],i,obj[i]);i++);else for(i in obj)if(!1===callback.call(obj[i],i,obj[i]))break;return obj},trim:function(text){return null==text?"":(text+"").replace(rtrim,"")},makeArray:function(arr,results){var ret=results||[];return null!=arr&&(isArrayLike(Object(arr))?jQuery.merge(ret,"string"==typeof arr?[arr]:arr):push.call(ret,arr)),ret},inArray:function(elem,arr,i){return null==arr?-1:indexOf.call(arr,elem,i)},merge:function(first,second){for(var len=+second.length,j=0,i=first.length;j<len;j++)first[i++]=second[j];return first.length=i,first},grep:function(elems,callback,invert){for(var matches=[],i=0,length=elems.length,callbackExpect=!invert;i<length;i++)!callback(elems[i],i)!==callbackExpect&&matches.push(elems[i]);return matches},map:function(elems,callback,arg){var length,value,i=0,ret=[];if(isArrayLike(elems))for(length=elems.length;i<length;i++)null!=(value=callback(elems[i],i,arg))&&ret.push(value);else for(i in elems)null!=(value=callback(elems[i],i,arg))&&ret.push(value);return concat.apply([],ret)},guid:1,support:support}),"function"==typeof Symbol&&(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()});var Sizzle=function(window){var i,support,Expr,getText,isXML,tokenize,compile,select,outermostContext,sortInput,hasDuplicate,
vendor: 3,670 bytes, line 1
1setDocument,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){return a===b&&(hasDuplicate=!0),0},hasOwn={}.hasOwnProperty,arr=[],pop=arr.pop,push_native=arr.push,push=arr.push,slice=arr.slice,indexOf=function(list,elem){for(var i=0,len=list.length;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-]|[^\0-\\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=/[+~]/,runescape=new RegExp("\\\\([\\da-f]{1,6}"+whitespace+"?|("+whitespace+")|.)","ig"),funescape=function(_,escaped,escapedWhitespace){var high="0x"+escaped-65536;return high!=high||escapedWhitespace?escaped:high<0?String.fromCharCode(high+65536):String.fromCharCode(high>>10|55296,1023&high|56320)},rcssescape=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,fcssescape=function(ch,asCodePoint){return asCodePoint?"\0"===ch?"�":ch.slice(0,-1)+"\\"+ch.charCodeAt(ch.length-1).toString(16)+" ":"\\"+ch},unloadHandler=function(){setDocument()},disabledAncestor=addCombinator(function(elem){return!0===elem.disabled&&("form"in elem||"label"in elem)},{dir:"parentNode",next:"legend"});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){for(var j=target.length,i=0;target[j++]=els[i++];);target.length=j-1}}}function Sizzle(selector,context,results,seed){var m,i,elem,nid,match,groups,newSelector,newContext=context&&context.ownerDocument,nodeType=context?context.nodeType:9;if(results=results||[],"string"!=typeof selector||!selector||1!==nodeType&&9!==nodeType&&11!==nodeType)return results;if(!seed&&((context?context.ownerDocument||context:preferredDoc)!==document&&setDocument(context),context=context||document,documentIsHTML)){if(11!==nodeType&&(match=rquickExpr.exec(selector)))if(m=match[1]){if
vendor: 35,493 bytes, line 1
1(9===nodeType){if(!(elem=context.getElementById(m)))return results;if(elem.id===m)return results.push(elem),results}else if(newContext&&(elem=newContext.getElementById(m))&&contains(context,elem)&&elem.id===m)return results.push(elem),results}else{if(match[2])return push.apply(results,context.getElementsByTagName(selector)),results;if((m=match[3])&&support.getElementsByClassName&&context.getElementsByClassName)return push.apply(results,context.getElementsByClassName(m)),results}if(support.qsa&&!compilerCache[selector+" "]&&(!rbuggyQSA||!rbuggyQSA.test(selector))){if(1!==nodeType)newContext=context,newSelector=selector;else if("object"!==context.nodeName.toLowerCase()){for((nid=context.getAttribute("id"))?nid=nid.replace(rcssescape,fcssescape):context.setAttribute("id",nid=expando),i=(groups=tokenize(selector)).length;i--;)groups[i]="#"+nid+" "+toSelector(groups[i]);newSelector=groups.join(","),newContext=rsibling.test(selector)&&testContext(context.parentNode)||context}if(newSelector)try{return push.apply(results,newContext.querySelectorAll(newSelector)),results}catch(qsaError){}finally{nid===expando&&context.removeAttribute("id")}}}return select(selector.replace(rtrim,"$1"),context,results,seed)}function createCache(){var keys=[];return function cache(key,value){return keys.push(key+" ")>Expr.cacheLength&&delete cache[keys.shift()],cache[key+" "]=value}}function markFunction(fn){return fn[expando]=!0,fn}function assert(fn){var el=document.createElement("fieldset");try{return!!fn(el)}catch(e){return!1}finally{el.parentNode&&el.parentNode.removeChild(el),el=null}}function addHandle(attrs,handler){for(var arr=attrs.split("|"),i=arr.length;i--;)Expr.attrHandle[arr[i]]=handler}function siblingCheck(a,b){var cur=b&&a,diff=cur&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(diff)return diff;if(cur)for(;cur=cur.nextSibling;)if(cur===b)return-1;return a?1:-1}function createInputPseudo(type){return function(elem){return"input"===elem.nodeName.toLowerCase()&&elem.type===type}}function createButtonPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return("input"===name||"button"===name)&&elem.type===type}}function createDisabledPseudo(disabled){return function(elem){return"form"in elem?elem.parentNode&&!1===elem.disabled?"label"in elem?"label"in elem.parentNode?elem.parentNode.disabled===disabled:elem.disabled===disabled:elem.isDisabled===disabled||elem.isDisabled!==!disabled&&disabledAncestor(elem)===disabled:elem.disabled===disabled:"label"in elem&&elem.disabled===disabled}}function createPositionalPseudo(fn){return markFunction(function(argument){return argument=+argument,markFunction(function(seed,matches){for(var j,matchIndexes=fn([],seed.length,argument),i=matchIndexes.length;i--;)seed[j=matchIndexes[i]]&&(seed[j]=!(matches[j]=seed[j]))})})}function testContext(context){return context&&void 0!==context.getElementsByTagName&&context}for(i in support=Sizzle.support={},isXML=Sizzle.isXML=function(elem){var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return!!documentElement&&"HTML"!==documentElement.nodeName},setDocument=Sizzle.setDocument=function(node){var hasCompare,subWindow,doc=node?node.ownerDocument||node:preferredDoc;return doc!==document&&9===doc.nodeType&&doc.documentElement&&(docElem=(document=doc).documentElement,documentIsHTML=!isXML(document),preferredDoc!==document&&(subWindow=document.defaultView)&&subWindow.top!==subWindow&&(subWindow.addEventListener?subWindow.addEventListener("unload",unloadHandler,!1):subWindow.attachEvent&&subWindow.attachEvent("onunload",unloadHandler)),support.attributes=assert(function(el){return el.className="i",!el.getAttribute("className")}),support.getElementsByTagName=assert(function(el){return el.appendChild(document.createComment("")),!el.getElementsByTagName("*").length}),support.getElementsByClassName=rnative.test(document.getElementsByClassName),support.getById=assert(function(el){return docElem.appendChild(el).id=expando,!document.getElementsByName||!document.getElementsByName(expando).length}),support.getById?(Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){return elem.getAttribute("id")===attrId}},Expr.find.ID=function(id,context){if(void 0!==context.getElementById&&documentIsHTML){var elem=context.getElementById(id);return elem?[elem]:[]}}):(Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){var node=void 0!==elem.getAttributeNode&&elem.getAttributeNode("id");return node&&node.value===attrId}},Expr.find.ID=function(id,context){if(void 0!==context.getElementById&&documentIsHTML){var node,i,elems,elem=context.getElementById(id);if(elem){if((node=elem.getAttributeNode("id"))&&node.value===id)return[elem];for(elems=context.getElementsByName(id),i=0;elem=elems[i++];)if((node=elem.getAttributeNode("id"))&&node.value===id)return[elem]}return[]}}),Expr.find.TAG=support.getElementsByTagName?function(tag,context){return void 0!==context.getElementsByTagName?context.getElementsByTagName(tag):support.qsa?context.querySelectorAll(tag):void 0}:function(tag,context){var elem,tmp=[],i=0,results=context.getElementsByTagName(tag);if("*"!==tag)return results;for(;elem=results[i++];)1===elem.nodeType&&tmp.push(elem);return tmp},Expr.find.CLASS=support.getElementsByClassName&&function(className,context){if(void 0!==context.getElementsByClassName&&documentIsHTML)return context.getElementsByClassName(className)},rbuggyMatches=[],rbuggyQSA=[],(support.qsa=rnative.test(document.querySelectorAll))&&(assert(function(el){docElem.appendChild(el).innerHTML="<a id='"+expando+"'></a><select id='"+expando+"-\r\\' msallowcapture=''><option selected=''></option></select>",el.querySelectorAll("[msallowcapture^='']").length&&rbuggyQSA.push("[*^$]="+whitespace+"*(?:''|\"\")"),el.querySelectorAll("[selected]").length||rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")"),el.querySelectorAll("[id~="+expando+"-]").length||rbuggyQSA.push("~="),el.querySelectorAll(":checked").length||rbuggyQSA.push(":checked"),el.querySelectorAll("a#"+expando+"+*").length||rbuggyQSA.push(".#.+[+~]")}),assert(function(el){el.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var input=document.createElement("input");input.setAttribute("type","hidden"),el.appendChild(input).setAttribute("name","D"),el.querySelectorAll("[name=d]").length&&rbuggyQSA.push("name"+whitespace+"*[*^$|!~]?="),2!==el.querySelectorAll(":enabled").length&&rbuggyQSA.push(":enabled",":disabled"),docElem.appendChild(el).disabled=!0,2!==el.querySelectorAll(":disabled").length&&rbuggyQSA.push(":enabled",":disabled"),el.querySelectorAll("*,:x"),rbuggyQSA.push(",.*:")})),(support.matchesSelector=rnative.test(matches=docElem.matches||docElem.webkitMatchesSelector||docElem.mozMatchesSelector||docElem.oMatchesSelector||docElem.msMatchesSelector))&&assert(function(el){support.disconnectedMatch=matches.call(el,"*"),matches.call(el,"[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=9===a.nodeType?a.documentElement:a,bup=b&&b.parentNode;return a===bup||!(!bup||1!==bup.nodeType||!(adown.contains?adown.contains(bup):a.compareDocumentPosition&&16&a.compareDocumentPosition(bup)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},sortOrder=hasCompare?function(a,b){if(a===b)return hasDuplicate=!0,0;var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;return compare||(1&(compare=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1)||!support.sortDetached&&b.compareDocumentPosition(a)===compare?a===document||a.ownerDocument===preferredDoc&&contains(preferredDoc,a)?-1:b===document||b.ownerDocument===preferredDoc&&contains(preferredDoc,b)?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0:4&compare?-1:1)}:function(a,b){if(a===b)return hasDuplicate=!0,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;if(aup===bup)return siblingCheck(a,b);for(cur=a;cur=cur.parentNode;)ap.unshift(cur);for(cur=b;cur=cur.parentNode;)bp.unshift(cur);for(;ap[i]===bp[i];)i++;return i?siblingCheck(ap[i],bp[i]):ap[i]===preferredDoc?-1:bp[i]===preferredDoc?1:0}),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']"),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&&11!==elem.document.nodeType)return ret}catch(e){}return 0<Sizzle(expr,document,null,[elem]).length},Sizzle.contains=function(context,elem){return(context.ownerDocument||context)!==document&&setDocument(context),contains(context,elem)},Sizzle.attr=function(elem,name){(elem.ownerDocument||elem)!==document&&setDocument(elem);var fn=Expr.attrHandle[name.toLowerCase()],val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?fn(elem,name,!documentIsHTML):void 0;return void 0!==val?val:support.attributes||!documentIsHTML?elem.getAttribute(name):(val=elem.getAttributeNode(name))&&val.specified?val.value:null},Sizzle.escape=function(sel){return(sel+"").replace(rcssescape,fcssescape)},Sizzle.error=function(msg){throw new Error("Syntax error, unrecognized expression: "+msg)},Sizzle.uniqueSort=function(results){var elem,duplicates=[],j=0,i=0;if(hasDuplicate=!support.detectDuplicates,sortInput=!support.sortStable&&results.slice(0),results.sort(sortOrder),hasDuplicate){for(;elem=results[i++];)elem===results[i]&&(j=duplicates.push(i));for(;j--;)results.splice(duplicates[j],1)}return sortInput=null,results},getText=Sizzle.getText=function(elem){var node,ret="",i=0,nodeType=elem.nodeType;if(nodeType){if(1===nodeType||9===nodeType||11===nodeType){if("string"==typeof elem.textContent)return elem.textContent;for(elem=elem.firstChild;elem;elem=elem.nextSibling)ret+=getText(elem)}else if(3===nodeType||4===nodeType)return elem.nodeValue}else for(;node=elem[i++];)ret+=getText(node);return ret},(Expr=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:matchExpr,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(match){return match[1]=match[1].replace(runescape,funescape),match[3]=(match[3]||match[4]||match[5]||"").replace(runescape,funescape),"~="===match[2]&&(match[3]=" "+match[3]+" "),match.slice(0,4)},CHILD:function(match){return match[1]=match[1].toLowerCase(),"nth"===match[1].slice(0,3)?(match[3]||Sizzle.error(match[0]),match[4]=+(match[4]?match[5]+(match[6]||1):2*("even"===match[3]||"odd"===match[3])),match[5]=+(match[7]+match[8]||"odd"===match[3])):match[3]&&Sizzle.error(match[0]),match},PSEUDO:function(match){var excess,unquoted=!match[6]&&match[2];return matchExpr.CHILD.test(match[0])?null:(match[3]?match[2]=match[4]||match[5]||"":unquoted&&rpseudo.test(unquoted)&&(excess=tokenize(unquoted,!0))&&(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)&&(match[0]=match[0].slice(0,excess),match[2]=unquoted.slice(0,excess)),match.slice(0,3))}},filter:{TAG:function(nodeNameSelector){var nodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();return"*"===nodeNameSelector?function(){return!0}: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("string"==typeof elem.className&&elem.className||void 0!==elem.getAttribute&&elem.getAttribute("class")||"")})},ATTR:function(name,operator,check){return function(elem){var result=Sizzle.attr(elem,name);return null==result?"!="===operator:!operator||(result+="","="===operator?result===check:"!="===operator?result!==check:"^="===operator?check&&0===result.indexOf(check):"*="===operator?check&&-1<result.indexOf(check):"$="===operator?check&&result.slice(-check.length)===check:"~="===operator?-1<(" "+result.replace(rwhitespace," ")+" ").indexOf(check):"|="===operator&&(result===check||result.slice(0,check.length+1)===check+"-"))}},CHILD:function(type,what,argument,first,last){var simple="nth"!==type.slice(0,3),forward="last"!==type.slice(-4),ofType="of-type"===what;return 1===first&&0===last?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=!1;if(parent){if(simple){for(;dir;){for(node=elem;node=node[dir];)if(ofType?node.nodeName.toLowerCase()===name:1===node.nodeType)return!1;start=dir="only"===type&&!start&&"nextSibling"}return!0}if(start=[forward?parent.firstChild:parent.lastChild],forward&&useCache){for(diff=(nodeIndex=(cache=(uniqueCache=(outerCache=(node=parent)[expando]||(node[expando]={}))[node.uniqueID]||(outerCache[node.uniqueID]={}))[type]||[])[0]===dirruns&&cache[1])&&cache[2],node=nodeIndex&&parent.childNodes[nodeIndex];node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop();)if(1===node.nodeType&&++diff&&node===elem){uniqueCache[type]=[dirruns,nodeIndex,diff];break}}else if(useCache&&(diff=nodeIndex=(cache=(uniqueCache=(outerCache=(node=elem)[expando]||(node[expando]={}))[node.uniqueID]||(outerCache[node.uniqueID]={}))[type]||[])[0]===dirruns&&cache[1]),!1===diff)for(;(node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop())&&((ofType?node.nodeName.toLowerCase()!==name:1!==node.nodeType)||!++diff||(useCache&&((uniqueCache=(outerCache=node[expando]||(node[expando]={}))[node.uniqueID]||(outerCache[node.uniqueID]={}))[type]=[dirruns,diff]),node!==elem)););return(diff-=last)===first||diff%first==0&&0<=diff/first}}},PSEUDO:function(pseudo,argument){var args,fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||Sizzle.error("unsupported pseudo: "+pseudo);return fn[expando]?fn(argument):1<fn.length?(args=[pseudo,pseudo,"",argument],Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?markFunction(function(seed,matches){for(var idx,matched=fn(seed,argument),i=matched.length;i--;)seed[idx=indexOf(seed,matched[i])]=!(matches[idx]=matched[i])}):function(elem){return fn(elem,0,args)}):fn}},pseudos:{not:markFunction(function(selector){var input=[],results=[],matcher=compile(selector.replace(rtrim,"$1"));return matcher[expando]?markFunction(function(seed,matches,context,xml){for(var elem,unmatched=matcher(seed,null,xml,[]),i=seed.length;i--;)(elem=unmatched[i])&&(seed[i]=!(matches[i]=elem))}):function(elem,context,xml){return input[0]=elem,matcher(input,null,xml,results),input[0]=null,!results.pop()}}),has:markFunction(function(selector){return function(elem){return 0<Sizzle(selector,elem).length}}),contains:markFunction(function(text){return text=text.replace(runescape,funescape),function(elem){return-1<(elem.textContent||elem.innerText||getText(elem)).indexOf(text)}}),lang:markFunction(function(lang){return ridentifier.test(lang||"")||Sizzle.error("unsupported lang: "+lang),lang=lang.replace(runescape,funescape).toLowerCase(),function(elem){var elemLang;do{if(elemLang=documentIsHTML?elem.lang:elem.getAttribute("xml:lang")||elem.getAttribute("lang"))return(elemLang=elemLang.toLowerCase())===lang||0===elemLang.indexOf(lang+"-")}while((elem=elem.parentNode)&&1===elem.nodeType);return!1}}),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:createDisabledPseudo(!1),disabled:createDisabledPseudo(!0),checked:function(elem){var nodeName=elem.nodeName.toLowerCase();return"input"===nodeName&&!!elem.checked||"option"===nodeName&&!!elem.selected},selected:function(elem){return elem.parentNode&&elem.parentNode.selectedIndex,!0===elem.selected},empty:function(elem){for(elem=elem.firstChild;elem;elem=elem.nextSibling)if(elem.nodeType<6)return!1;return!0},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"input"===name&&"button"===elem.type||"button"===name},text:function(elem){var attr;return"input"===elem.nodeName.toLowerCase()&&"text"===elem.type&&(null==(attr=elem.getAttribute("type"))||"text"===attr.toLowerCase())},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){for(var i=0;i<length;i+=2)matchIndexes.push(i);return matchIndexes}),odd:createPositionalPseudo(function(matchIndexes,length){for(var i=1;i<length;i+=2)matchIndexes.push(i);return matchIndexes}),lt:createPositionalPseudo(function(matchIndexes,length,argument){for(var i=argument<0?argument+length:argument;0<=--i;)matchIndexes.push(i);return matchIndexes}),gt:createPositionalPseudo(function(matchIndexes,length,argument){for(var i=argument<0?argument+length:argument;++i<length;)matchIndexes.push(i);return matchIndexes})}}).pseudos.nth=Expr.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})Expr.pseudos[i]=createInputPseudo(i);for(i in{submit:!0,reset:!0})Expr.pseudos[i]=createButtonPseudo(i);function setFilters(){}function toSelector(tokens){for(var i=0,len=tokens.length,selector="";i<len;i++)selector+=tokens[i].value;return selector}function addCombinator(matcher,combinator,base){var dir=combinator.dir,skip=combinator.next,key=skip||dir,checkNonElements=base&&"parentNode"===key,doneName=done++;return combinator.first?function(elem,context,xml){for(;elem=elem[dir];)if(1===elem.nodeType||checkNonElements)return matcher(elem,context,xml);return!1}:function(elem,context,xml){var oldCache,uniqueCache,outerCache,newCache=[dirruns,doneName];if(xml){for(;elem=elem[dir];)if((1===elem.nodeType||checkNonElements)&&matcher(elem,context,xml))return!0}else for(;elem=elem[dir];)if(1===elem.nodeType||checkNonElements)if(uniqueCache=(outerCache=elem[expando]||(elem[expando]={}))[elem.uniqueID]||(outerCache[elem.uniqueID]={}),skip&&skip===elem.nodeName.toLowerCase())elem=elem[dir]||elem;else{if((oldCache=uniqueCache[key])&&oldCache[0]===dirruns&&oldCache[1]===doneName)return newCache[2]=oldCache[2];if((uniqueCache[key]=newCache)[2]=matcher(elem,context,xml))return!0}return!1}}function elementMatcher(matchers){return 1<matchers.length?function(elem,context,xml){for(var i=matchers.length;i--;)if(!matchers[i](elem,context,xml))return!1;return!0}:matchers[0]}function condense(unmatched,map,filter,context,xml){for(var elem,newUnmatched=[],i=0,len=unmatched.length,mapped=null!=map;i<len;i++)(elem=unmatched[i])&&(filter&&!filter(elem,context,xml)||(newUnmatched.push(elem),mapped&&map.push(i)));return newUnmatched}function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){return postFilter&&!postFilter[expando]&&(postFilter=setMatcher(postFilter)),postFinder&&!postFinder[expando]&&(postFinder=setMatcher(postFinder,postSelector)),markFunction(function(seed,results,context,xml){var temp,i,elem,preMap=[],postMap=[],preexisting=results.length,elems=seed||function(selector,contexts,results){for(var i=0,len=contexts.length;i<len;i++)Sizzle(selector,contexts[i],results);return results}(selector||"*",context.nodeType?[context]:context,[]),matcherIn=!preFilter||!seed&&selector?elems:condense(elems,preMap,preFilter,context,xml),matcherOut=matcher?postFinder||(seed?preFilter:preexisting||postFilter)?[]:results:matcherIn;if(matcher&&matcher(matcherIn,matcherOut,context,xml),postFilter)for(temp=condense(matcherOut,postMap),postFilter(temp,[],context,xml),i=temp.length;i--;)(elem=temp[i])&&(matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem));if(seed){if(postFinder||preFilter){if(postFinder){for(temp=[],i=matcherOut.length;i--;)(elem=matcherOut[i])&&temp.push(matcherIn[i]=elem);postFinder(null,matcherOut=[],temp,xml)}for(i=matcherOut.length;i--;)(elem=matcherOut[i])&&-1<(temp=postFinder?indexOf(seed,elem):preMap[i])&&(seed[temp]=!(results[temp]=elem))}}else matcherOut=condense(matcherOut===results?matcherOut.splice(preexisting,matcherOut.length):matcherOut),postFinder?postFinder(null,results,matcherOut,xml):push.apply(results,matcherOut)})}function matcherFromTokens(tokens){for(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,!0),matchAnyContext=addCombinator(function(elem){return-1<indexOf(checkContext,elem)},implicitRelative,!0),matchers=[function(elem,context,xml){var ret=!leadingRelative&&(xml||context!==outermostContext)||((checkContext=context).nodeType?matchContext(elem,context,xml):matchAnyContext(elem,context,xml));return checkContext=null,ret}];i<len;i++)if(matcher=Expr.relative[tokens[i].type])matchers=[addCombinator(elementMatcher(matchers),matcher)];else{if((matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches))[expando]){for(j=++i;j<len&&!Expr.relative[tokens[j].type];j++);return setMatcher(1<i&&elementMatcher(matchers),1<i&&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)}return 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);for(soFar=selector,groups=[],preFilters=Expr.preFilter;soFar;){for(type in matched&&!(match=rcomma.exec(soFar))||(match&&(soFar=soFar.slice(match[0].length)||soFar),groups.push(tokens=[])),matched=!1,(match=rcombinators.exec(soFar))&&(matched=match.shift(),tokens.push({value:matched,type:match[0].replace(rtrim," ")}),soFar=soFar.slice(matched.length)),Expr.filter)!(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)},compile=Sizzle.compile=function(selector,match){var i,setMatchers=[],elementMatchers=[],cached=compilerCache[selector+" "];if(!cached){for(match||(match=tokenize(selector)),i=match.length;i--;)(cached=matcherFromTokens(match[i]))[expando]?setMatchers.push(cached):elementMatchers.push(cached);(cached=compilerCache(selector,function(elementMatchers,setMatchers){var bySet=0<setMatchers.length,byElement=0<elementMatchers.length,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+=null==contextBackup?1:Math.random()||.1,len=elems.length;for(outermost&&(outermostContext=context===document||context||outermost);i!==len&&null!=(elem=elems[i]);i++){if(byElement&&elem){for(j=0,context||elem.ownerDocument===document||(setDocument(elem),xml=!documentIsHTML);matcher=elementMatchers[j++];)if(matcher(elem,context||document,xml)){results.push(elem);break}outermost&&(dirruns=dirrunsUnique)}bySet&&((elem=!matcher&&elem)&&matchedCount--,seed&&unmatched.push(elem))}if(matchedCount+=i,bySet&&i!==matchedCount){for(j=0;matcher=setMatchers[j++];)matcher(unmatched,setMatched,context,xml);if(seed){if(0<matchedCount)for(;i--;)unmatched[i]||setMatched[i]||(setMatched[i]=pop.call(results));setMatched=condense(setMatched)}push.apply(results,setMatched),outermost&&!seed&&0<setMatched.length&&1<matchedCount+setMatchers.length&&Sizzle.uniqueSort(results)}return outermost&&(dirruns=dirrunsUnique,outermostContext=contextBackup),unmatched};return bySet?markFunction(superMatcher):superMatcher}(elementMatchers,setMatchers))).selector=selector}return cached},select=Sizzle.select=function(selector,context,results,seed){var i,tokens,token,type,find,compiled="function"==typeof selector&&selector,match=!seed&&tokenize(selector=compiled.selector||selector);if(results=results||[],1===match.length){if(2<(tokens=match[0]=match[0].slice(0)).length&&"ID"===(token=tokens[0]).type&&9===context.nodeType&&documentIsHTML&&Expr.relative[tokens[1].type]){if(!(context=(Expr.find.ID(token.matches[0].replace(runescape,funescape),context)||[])[0]))return results;compiled&&(context=context.parentNode),selector=selector.slice(tokens.shift().value.length)}for(i=matchExpr.needsContext.test(selector)?0:tokens.length;i--&&(token=tokens[i],!Expr.relative[type=token.type]);)if((find=Expr.find[type])&&(seed=find(token.matches[0].replace(runescape,funescape),rsibling.test(tokens[0].type)&&testContext(context.parentNode)||context))){if(tokens.splice(i,1),!(selector=seed.length&&toSelector(tokens)))return push.apply(results,seed),results;break}}return(compiled||compile(selector,match))(seed,context,!documentIsHTML,results,!context||rsibling.test(selector)&&testContext(context.parentNode)||context),results},support.sortStable=expando.split("").sort(sortOrder).join("")===expando,support.detectDuplicates=!!hasDuplicate,setDocument(),support.sortDetached=assert(function(el){return 1&el.compareDocumentPosition(document.createElement("fieldset"))}),assert(function(el){return el.innerHTML="<a href='#'></a>","#"===el.firstChild.getAttribute("href")})||addHandle("type|href|height|width",function(elem,name,isXML){if(!isXML)return elem.getAttribute(name,"type"===name.toLowerCase()?1:2)}),support.attributes&&assert(function(el){return el.innerHTML="<input/>",el.firstChild.setAttribute("value",""),""===el.firstChild.getAttribute("value")})||addHandle("value",function(elem,name,isXML){if(!isXML&&"input"===elem.nodeName.toLowerCase())return elem.defaultValue}),assert(function(el){return null==el.getAttribute("disabled")})||addHandle(booleans,function(elem,name,isXML){var val;if(!isXML)return!0===elem[name]?name.toLowerCase():(val=elem.getAttributeNode(name))&&val.specified?val.value:null}),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,jQuery.escapeSelector=Sizzle.escape;var dir=function(elem,dir,until){for(var matched=[],truncate=void 0!==until;(elem=elem[dir])&&9!==elem.nodeType;)if(1===elem.nodeType){if(truncate&&jQuery(elem).is(until))break;matched.push(elem)}return matched},siblings=function(n,elem){for(var matched=[];n;n=n.nextSibling)1===n.nodeType&&n!==elem&&matched.push(n);return matched},rneedsContext=jQuery.expr.match.needsContext;function nodeName(elem,name){return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase()}var rsingleTag=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function winnow(elements,qualifier,not){return isFunction(qualifier)?jQuery.grep(elements,function(elem,i){return!!qualifier.call(elem,i,elem)!==not}):qualifier.nodeType?jQuery.grep(elements,function(elem){return elem===qualifier!==not}):"string"!=typeof qualifier?jQuery.grep(elements,function(elem){return-1<indexOf.call(qualifier,elem)!==not}):jQuery.filter(qualifier,elements,not)}jQuery.filter=function(expr,elems,not){var elem=elems[0];return not&&(expr=":not("+expr+")"),1===elems.length&&1===elem.nodeType?jQuery.find.matchesSelector(elem,expr)?[elem]:[]:jQuery.find.matches(expr,jQuery.grep(elems,function(elem){return 1===elem.nodeType}))},jQuery.fn.extend({find:function(selector){var i,ret,len=this.length,self=this;if("string"!=typeof selector)return this.pushStack(jQuery(selector).filter(function(){for(i=0;i<len;i++)if(jQuery.contains(self[i],this))return!0}));for(ret=this.pushStack([]),i=0;i<len;i++)jQuery.find(selector,self[i],ret);return 1<len?jQuery.uniqueSort(ret):ret},filter:function(selector){return this.pushStack(winnow(this,selector||[],!1))},not:function(selector){return this.pushStack(winnow(this,selector||[],!0))},is:function(selector){return!!winnow(this,"string"==typeof selector&&rneedsContext.test(selector)?jQuery(selector):selector||[],!1).length}});var rootjQuery,rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(jQuery.fn.init=function(selector,context,root){var match,elem;if(!selector)return this;if(root=root||rootjQuery,"string"!=typeof selector)return selector.nodeType?(this[0]=selector,this.length=1,this):isFunction(selector)?void 0!==root.ready?root.ready(selector):selector(jQuery):jQuery.makeArray(selector,this);if(!(match="<"===selector[0]&&">"===selector[selector.length-1]&&3<=selector.length?[null,selector,null]:rquickExpr.exec(selector))||!match[1]&&context)return!context||context.jquery?(context||root).find(selector):this.constructor(context).find(selector);if(match[1]){if(context=context instanceof jQuery?context[0]:context,jQuery.merge(this,jQuery.parseHTML(match[1],context&&context.nodeType?context.ownerDocument||context:document,!0)),rsingleTag.test(match[1])&&jQuery.isPlainObject(context))for(match in context)isFunction(this[match])?this[match](context[match]):this.attr(match,context[match]);return this}return(elem=document.getElementById(match[2]))&&(this[0]=elem,this.length=1),this}).prototype=jQuery.fn,rootjQuery=jQuery(document);var rparentsprev=/^(?:parents|prev(?:Until|All))/,guaranteedUnique={children:!0,contents:!0,next:!0,prev:!0};function sibling(cur,dir){for(;(cur=cur[dir])&&1!==cur.nodeType;);return cur}jQuery.fn.extend({has:function(target){var targets=jQuery(target,this),l=targets.length;return this.filter(function(){for(var i=0;i<l;i++)if(jQuery.contains(this,targets[i]))return!0})},closest:function(selectors,context){var cur,i=0,l=this.length,matched=[],targets="string"!=typeof selectors&&jQuery(selectors);if(!rneedsContext.test(selectors))for(;i<l;i++)for(cur=this[i];cur&&cur!==context;cur=cur.parentNode)if(cur.nodeType<11&&(targets?-1<targets.index(cur):1===cur.nodeType&&jQuery.find.matchesSelector(cur,selectors))){matched.push(cur);break}return this.pushStack(1<matched.length?jQuery.uniqueSort(matched):matched)},index:function(elem){return elem?"string"==typeof elem?indexOf.call(jQuery(elem),this[0]):indexOf.call(this,elem.jquery?elem[0]:elem):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(selector,context){return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(),jQuery(selector,context))))},addBack:function(selector){return this.add(null==selector?this.prevObject:this.prevObject.filter(selector))}}),jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&11!==parent.nodeType?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 nodeName(elem,"iframe")?elem.contentDocument:(nodeName(elem,"template")&&(elem=elem.content||elem),jQuery.merge([],elem.childNodes))}},function(name,fn){jQuery.fn[name]=function(until,selector){var matched=jQuery.map(this,fn,until);return"Until"!==name.slice(-5)&&(selector=until),selector&&"string"==typeof selector&&(matched=jQuery.filter(selector,matched)),1<this.length&&(guaranteedUnique[name]||jQuery.uniqueSort(matched),rparentsprev.test(name)&&matched.reverse()),this.pushStack(matched)}});var rnothtmlwhite=/[^\x20\t\r\n\f]+/g;function Identity(v){return v}function Thrower(ex){throw ex}function adoptValue(value,resolve,reject,noValue){var method;try{value&&isFunction(method=value.promise)?method.call(value).done(resolve).fail(reject):value&&isFunction(method=value.then)?method.call(value,resolve,reject):resolve.apply(void 0,[value].slice(noValue))}catch(value){reject.apply(void 0,[value])}}jQuery.Callbacks=function(options){options="string"==typeof options?function(options){var object={};return jQuery.each(options.match(rnothtmlwhite)||[],function(_,flag){object[flag]=!0}),object}(options):jQuery.extend({},options);var firing,memory,fired,locked,list=[],queue=[],firingIndex=-1,fire=function(){for(locked=locked||options.once,fired=firing=!0;queue.length;firingIndex=-1)for(memory=queue.shift();++firingIndex<list.length;)!1===list[firingIndex].apply(memory[0],memory[1])&&options.stopOnFalse&&(firingIndex=list.length,memory=!1);options.memory||(memory=!1),firing=!1,locked&&(list=memory?[]:"")},self={add:function(){return list&&(memory&&!firing&&(firingIndex=list.length-1,queue.push(memory)),function add(args){jQuery.each(args,function(_,arg){isFunction(arg)?options.unique&&self.has(arg)||list.push(arg):arg&&arg.length&&"string"!==toType(arg)&&add(arg)})}(arguments),memory&&!firing&&fire()),this},remove:function(){return jQuery.each(arguments,function(_,arg){for(var index;-1<(index=jQuery.inArray(arg,list,index));)list.splice(index,1),index<=firingIndex&&firingIndex--}),this},has:function(fn){return fn?-1<jQuery.inArray(fn,list):0<list.length},empty:function(){return list&&(list=[]),this},disable:function(){return locked=queue=[],list=memory="",this},disabled:function(){return!list},lock:function(){return locked=queue=[],memory||firing||(list=memory=""),this},locked:function(){return!!locked},fireWith:function(context,args){return locked||(args=[context,(args=args||[]).slice?args.slice():args],queue.push(args),firing||fire()),this},fire:function(){return self.fireWith(this,arguments),this},fired:function(){return!!fired}};return self},jQuery.extend({Deferred:function(func){var tuples=[["notify","progress",jQuery.Callbacks("memory"),jQuery.Callbacks("memory"),2],["resolve","done",jQuery.Callbacks("once memory"),jQuery.Callbacks("once memory"),0,"resolved"],["reject","fail",jQuery.Callbacks("once memory"),jQuery.Callbacks("once memory"),1,"rejected"]],state="pending",promise={state:function(){return state},always:function(){return deferred.done(arguments).fail(arguments),this}
vendor: 4,624 bytes, line 1
1,catch:function(fn){return promise.then(null,fn)},pipe:function(){var fns=arguments;return jQuery.Deferred(function(newDefer){jQuery.each(tuples,function(i,tuple){var fn=isFunction(fns[tuple[4]])&&fns[tuple[4]];deferred[tuple[1]](function(){var returned=fn&&fn.apply(this,arguments);returned&&isFunction(returned.promise)?returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject):newDefer[tuple[0]+"With"](this,fn?[returned]:arguments)})}),fns=null}).promise()},then:function(onFulfilled,onRejected,onProgress){var maxDepth=0;function resolve(depth,deferred,handler,special){return function(){var that=this,args=arguments,mightThrow=function(){var returned,then;if(!(depth<maxDepth)){if((returned=handler.apply(that,args))===deferred.promise())throw new TypeError("Thenable self-resolution");then=returned&&("object"==typeof returned||"function"==typeof returned)&&returned.then,isFunction(then)?special?then.call(returned,resolve(maxDepth,deferred,Identity,special),resolve(maxDepth,deferred,Thrower,special)):(maxDepth++,then.call(returned,resolve(maxDepth,deferred,Identity,special),resolve(maxDepth,deferred,Thrower,special),resolve(maxDepth,deferred,Identity,deferred.notifyWith))):(handler!==Identity&&(that=void 0,args=[returned]),(special||deferred.resolveWith)(that,args))}},process=special?mightThrow:function(){try{mightThrow()}catch(e){jQuery.Deferred.exceptionHook&&jQuery.Deferred.exceptionHook(e,process.stackTrace),maxDepth<=depth+1&&(handler!==Thrower&&(that=void 0,args=[e]),deferred.rejectWith(that,args))}};depth?process():(jQuery.Deferred.getStackHook&&(process.stackTrace=jQuery.Deferred.getStackHook()),window.setTimeout(process))}}return jQuery.Deferred(function(newDefer){tuples[0][3].add(resolve(0,newDefer,isFunction(onProgress)?onProgress:Identity,newDefer.notifyWith)),tuples[1][3].add(resolve(0,newDefer,isFunction(onFulfilled)?onFulfilled:Identity)),tuples[2][3].add(resolve(0,newDefer,isFunction(onRejected)?onRejected:Thrower))}).promise()},promise:function(obj){return null!=obj?jQuery.extend(obj,promise):promise}},deferred={};return jQuery.each(tuples,function(i,tuple){var list=tuple[2],stateString=tuple[5];promise[tuple[1]]=list.add,stateString&&list.add(function(){state=stateString},tuples[3-i][2].disable,tuples[3-i][3].disable,tuples[0][2].lock,tuples[0][3].lock),list.add(tuple[3].fire),deferred[tuple[0]]=function(){return deferred[tuple[0]+"With"](this===deferred?void 0:this,arguments),this},deferred[tuple[0]+"With"]=list.fireWith}),promise.promise(deferred),func&&func.call(deferred,deferred),deferred},when:function(singleValue){var remaining=arguments.length,i=remaining,resolveContexts=Array(i),resolveValues=slice.call(arguments),master=jQuery.Deferred(),updateFunc=function(i){return function(value){resolveContexts[i]=this,resolveValues[i]=1<arguments.length?slice.call(arguments):value,--remaining||master.resolveWith(resolveContexts,resolveValues)}};if(remaining<=1&&(adoptValue(singleValue,master.done(updateFunc(i)).resolve,master.reject,!remaining),"pending"===master.state()||isFunction(resolveValues[i]&&resolveValues[i].then)))return master.then();for(;i--;)adoptValue(resolveValues[i],updateFunc(i),master.reject);return master.promise()}});var rerrorNames=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;jQuery.Deferred.exceptionHook=function(error,stack){window.console&&window.console.warn&&error&&rerrorNames.test(error.name)&&window.console.warn("jQuery.Deferred exception: "+error.message,error.stack,stack)},jQuery.readyException=function(error){window.setTimeout(function(){throw error})};var readyList=jQuery.Deferred();function completed(){document.removeEventListener("DOMContentLoaded",completed),window.removeEventListener("load",completed),jQuery.ready()}jQuery.fn.ready=function(fn){return readyList.then(fn).catch(function(error){jQuery.readyException(error)}),this},jQuery.extend({isReady:!1,readyWait:1,ready:function(wait){(!0===wait?--jQuery.readyWait:jQuery.isReady)||(jQuery.isReady=!0)!==wait&&0<--jQuery.readyWait||readyList.resolveWith(document,[jQuery])}}),jQuery.ready.then=readyList.then,"complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll?window.setTimeout(jQuery.ready):(document.addEventListener("DOMContentLoaded",completed),window.addEventListener("load",completed));var access=function(elems,fn,key,value,chainable,emptyGet,raw){var i=0,len=elems.length,bulk=null==key;if("object"===toType(key))for(i in chainable=!0,key)access(elems,fn,i,key[i],!0,emptyGet,raw);else if(void 0!==value&&(chainable=!0,isFunction(value)||(raw=!0),bulk&&
vendor: 19,109 bytes, line 1
1(fn=raw?(fn.call(elems,value),null):(bulk=fn,function(elem,key,value){return bulk.call(jQuery(elem),value)})),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},rmsPrefix=/^-ms-/,rdashAlpha=/-([a-z])/g;function fcamelCase(all,letter){return letter.toUpperCase()}function camelCase(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase)}var acceptData=function(owner){return 1===owner.nodeType||9===owner.nodeType||!+owner.nodeType};function Data(){this.expando=jQuery.expando+Data.uid++}Data.uid=1,Data.prototype={cache:function(owner){var value=owner[this.expando];return value||(value={},acceptData(owner)&&(owner.nodeType?owner[this.expando]=value:Object.defineProperty(owner,this.expando,{value:value,configurable:!0}))),value},set:function(owner,data,value){var prop,cache=this.cache(owner);if("string"==typeof data)cache[camelCase(data)]=value;else for(prop in data)cache[camelCase(prop)]=data[prop];return cache},get:function(owner,key){return void 0===key?this.cache(owner):owner[this.expando]&&owner[this.expando][camelCase(key)]},access:function(owner,key,value){return void 0===key||key&&"string"==typeof key&&void 0===value?this.get(owner,key):(this.set(owner,key,value),void 0!==value?value:key)},remove:function(owner,key){var i,cache=owner[this.expando];if(void 0!==cache){if(void 0!==key){i=(key=Array.isArray(key)?key.map(camelCase):(key=camelCase(key))in cache?[key]:key.match(rnothtmlwhite)||[]).length;for(;i--;)delete cache[key[i]]}(void 0===key||jQuery.isEmptyObject(cache))&&(owner.nodeType?owner[this.expando]=void 0:delete owner[this.expando])}},hasData:function(owner){var cache=owner[this.expando];return void 0!==cache&&!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(void 0===data&&1===elem.nodeType)if(name="data-"+key.replace(rmultiDash,"-$&").toLowerCase(),"string"==typeof(data=elem.getAttribute(name))){try{data=function(data){return"true"===data||"false"!==data&&("null"===data?null:data===+data+""?+data:rbrace.test(data)?JSON.parse(data):data)}(data)}catch(e){}dataUser.set(elem,key,data)}else data=void 0;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(void 0!==key)return"object"==typeof key?this.each(function(){dataUser.set(this,key)}):access(this,function(value){var data;if(elem&&void 0===value)return void 0!==(data=dataUser.get(elem,key))?data:void 0!==(data=dataAttr(elem,key))?data:void 0;this.each(function(){dataUser.set(this,key,value)})},null,value,1<arguments.length,null,!0);if(this.length&&(data=dataUser.get(elem),1===elem.nodeType&&!dataPriv.get(elem,"hasDataAttrs"))){for(i=attrs.length;i--;)attrs[i]&&0===(name=attrs[i].name).indexOf("data-")&&(name=camelCase(name.slice(5)),dataAttr(elem,name,data[name]));dataPriv.set(elem,"hasDataAttrs",!0)}return data},removeData:function(key){return this.each(function(){dataUser.remove(this,key)})}}),jQuery.extend({queue:function(elem,type,data){var queue;if(elem)return type=(type||"fx")+"queue",queue=dataPriv.get(elem,type),data&&(!queue||Array.isArray(data)?queue=dataPriv.access(elem,type,jQuery.makeArray(data)):queue.push(data)),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);"inprogress"===fn&&(fn=queue.shift(),startLength--),fn&&("fx"===type&&queue.unshift("inprogress"),delete hooks.stop,fn.call(elem,function(){jQuery.dequeue(elem,type)},hooks)),!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;return"string"!=typeof type&&(data=type,type="fx",setter--),arguments.length<setter?jQuery.queue(this[0],type):void 0===data?this:this.each(function(){var queue=jQuery.queue(this,type,data);jQuery._queueHooks(this,type),"fx"===type&&"inprogress"!==queue[0]&&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(){--count||defer.resolveWith(elements,[elements])};for("string"!=typeof type&&(obj=type,type=void 0),type=type||"fx";i--;)(tmp=dataPriv.get(elements[i],type+"queueHooks"))&&tmp.empty&&(count++,tmp.empty.add(resolve));return resolve(),defer.promise(obj)}});var pnum=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,rcssNum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i"),cssExpand=["Top","Right","Bottom","Left"],isHiddenWithinTree=function(elem,el){return"none"===(elem=el||elem).style.display||""===elem.style.display&&jQuery.contains(elem.ownerDocument,elem)&&"none"===jQuery.css(elem,"display")},swap=function(elem,options,callback,args){var ret,name,old={};for(name in options)old[name]=elem.style[name],elem.style[name]=options[name];for(name in ret=callback.apply(elem,args||[]),options)elem.style[name]=old[name];return ret};function adjustCSS(elem,prop,valueParts,tween){var adjusted,scale,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]||"px"!==unit&&+initial)&&rcssNum.exec(jQuery.css(elem,prop));if(initialInUnit&&initialInUnit[3]!==unit){for(initial/=2,unit=unit||initialInUnit[3],initialInUnit=+initial||1;maxIterations--;)jQuery.style(elem,prop,initialInUnit+unit),(1-scale)*(1-(scale=currentValue()/initial||.5))<=0&&(maxIterations=0),initialInUnit/=scale;initialInUnit*=2,jQuery.style(elem,prop,initialInUnit+unit),valueParts=valueParts||[]}return valueParts&&(initialInUnit=+initialInUnit||+initial||0,adjusted=valueParts[1]?initialInUnit+(valueParts[1]+1)*valueParts[2]:+valueParts[2],tween&&(tween.unit=unit,tween.start=initialInUnit,tween.end=adjusted)),adjusted}var defaultDisplayMap={};function getDefaultDisplay(elem){var temp,doc=elem.ownerDocument,nodeName=elem.nodeName,display=defaultDisplayMap[nodeName];return display||(temp=doc.body.appendChild(doc.createElement(nodeName)),display=jQuery.css(temp,"display"),temp.parentNode.removeChild(temp),"none"===display&&(display="block"),defaultDisplayMap[nodeName]=display)}function showHide(elements,show){for(var display,elem,values=[],index=0,length=elements.length;index<length;index++)(elem=elements[index]).style&&(display=elem.style.display,show?("none"===display&&(values[index]=dataPriv.get(elem,"display")||null,values[index]||(elem.style.display="")),""===elem.style.display&&isHiddenWithinTree(elem)&&(values[index]=getDefaultDisplay(elem))):"none"!==display&&(values[index]="none",dataPriv.set(elem,"display",display)));for(index=0;index<length;index++)null!=values[index]&&(elements[index].style.display=values[index]);return elements}jQuery.fn.extend({show:function(){return showHide(this,!0)},hide:function(){return showHide(this)},toggle:function(state){return"boolean"==typeof state?state?this.show():this.hide():this.each(function(){isHiddenWithinTree(this)?jQuery(this).show():jQuery(this).hide()})}});var rcheckableType=/^(?:checkbox|radio)$/i,rtagName=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,rscriptType=/^$|^module$|\/(?: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,"",""]};function getAll(context,tag){var ret;return ret=void 0!==context.getElementsByTagName?context.getElementsByTagName(tag||"*"):void 0!==context.querySelectorAll?context.querySelectorAll(tag||"*"):[],void 0===tag||tag&&nodeName(context,tag)?jQuery.merge([context],ret):ret}function setGlobalEval(elems,refElements){for(var i=0,l=elems.length;i<l;i++)dataPriv.set(elems[i],"globalEval",!refElements||dataPriv.get(refElements[i],"globalEval"))}wrapMap.optgroup=wrapMap.option,wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead,wrapMap.th=wrapMap.td;var div,input,rhtml=/<|&#?\w+;/;function buildFragment(elems,context,scripts,selection,ignored){for(var elem,tmp,tag,wrap,contains,j,fragment=context.createDocumentFragment(),nodes=[],i=0,l=elems.length;i<l;i++)if((elem=elems[i])||0===elem)if("object"===toType(elem))jQuery.merge(nodes,elem.nodeType?[elem]:elem);else if(rhtml.test(elem)){for(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];j--;)tmp=tmp.lastChild;jQuery.merge(nodes,tmp.childNodes),(tmp=fragment.firstChild).textContent=""}else nodes.push(context.createTextNode(elem));for(fragment.textContent="",i=0;elem=nodes[i++];)if(selection&&-1<jQuery.inArray(elem,selection))ignored&&ignored.push(elem);else if(contains=jQuery.contains(elem.ownerDocument,elem),tmp=getAll(fragment.appendChild(elem),"script"),contains&&setGlobalEval(tmp),scripts)for(j=0;elem=tmp[j++];)rscriptType.test(elem.type||"")&&scripts.push(elem);return fragment}div=document.createDocumentFragment().appendChild(document.createElement("div")),(input=document.createElement("input")).setAttribute("type","radio"),input.setAttribute("checked","checked"),input.setAttribute("name","t"),div.appendChild(input),support.checkClone=div.cloneNode(!0).cloneNode(!0).lastChild.checked,div.innerHTML="<textarea>x</textarea>",support.noCloneChecked=!!div.cloneNode(!0).lastChild.defaultValue;var documentElement=document.documentElement,rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,rtypenamespace=/^([^.]*)(?:\.(.+)|)/;function returnTrue(){return!0}function returnFalse(){return!1}function safeActiveElement(){try{return document.activeElement}catch(err){}}function on(elem,types,selector,data,fn,one){var origFn,type;if("object"==typeof types){for(type in"string"!=typeof selector&&(data=data||selector,selector=void 0),types)on(elem,type,selector,data,types[type],one);return elem}if(null==data&&null==fn?(fn=selector,data=selector=void 0):null==fn&&("string"==typeof selector?(fn=data,data=void 0):(fn=data,data=selector,selector=void 0)),!1===fn)fn=returnFalse;else if(!fn)return elem;return 1===one&&(origFn=fn,(fn=function(event){return jQuery().off(event),origFn.apply(this,arguments)}).guid=origFn.guid||(origFn.guid=jQuery.guid++)),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)for(handler.handler&&(handler=(handleObjIn=handler).handler,selector=handleObjIn.selector),selector&&jQuery.find.matchesSelector(documentElement,selector),handler.guid||(handler.guid=jQuery.guid++),(events=elemData.events)||(events=elemData.events={}),(eventHandle=elemData.handle)||(eventHandle=elemData.handle=function(e){return void 0!==jQuery&&jQuery.event.triggered!==e.type?jQuery.event.dispatch.apply(elem,arguments):void 0}),t=(types=(types||"").match(rnothtmlwhite)||[""]).length;t--;)type=origType=(tmp=rtypenamespace.exec(types[t])||[])[1],namespaces=(tmp[2]||"").split(".").sort(),type&&(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),(handlers=events[type])||((handlers=events[type]=[]).delegateCount=0,special.setup&&!1!==special.setup.call(elem,data,namespaces,eventHandle)||elem.addEventListener&&elem.addEventListener(type,eventHandle)),special.add&&(special.add.call(elem,handleObj),handleObj.handler.guid||(handleObj.handler.guid=handler.guid)),selector?handlers.splice(handlers.delegateCount++,0,handleObj):handlers.push(handleObj),jQuery.event.global[type]=!0)},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)){for(t=(types=(types||"").match(rnothtmlwhite)||[""]).length;t--;)if(type=origType=(tmp=rtypenamespace.exec(types[t])||[])[1],namespaces=(tmp[2]||"").split(".").sort(),type){for(special=jQuery.event.special[type]||{},handlers=events[type=(selector?special.delegateType:special.bindType)||type]||[],tmp=tmp[2]&&new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"),origCount=j=handlers.length;j--;)handleObj=handlers[j],!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),handleObj.selector&&handlers.delegateCount--,special.remove&&special.remove.call(elem,handleObj));origCount&&!handlers.length&&(special.teardown&&!1!==special.teardown.call(elem,namespaces,elemData.handle)||jQuery.removeEvent(elem,type,elemData.handle),delete events[type])}else for(type in events)jQuery.event.remove(elem,type+types[t],handler,selector,!0);jQuery.isEmptyObject(events)&&dataPriv.remove(elem,"handle events")}},dispatch:function(nativeEvent){var i,j,ret,matched,handleObj,handlerQueue,event=jQuery.event.fix(nativeEvent),args=new Array(arguments.length),handlers=(dataPriv.get(this,"events")||{})[event.type]||[],special=jQuery.event.special[event.type]||{};for(args[0]=event,i=1;i<arguments.length;i++)args[i]=arguments[i];if(event.delegateTarget=this,!special.preDispatch||!1!==special.preDispatch.call(this,event)){for(handlerQueue=jQuery.event.handlers.call(this,event,handlers),i=0;(matched=handlerQueue[i++])&&!event.isPropagationStopped();)for(event.currentTarget=matched.elem,j=0;(handleObj=matched.handlers[j++])&&!event.isImmediatePropagationStopped();)event.rnamespace&&!event.rnamespace.test(handleObj.namespace)||(event.handleObj=handleObj,event.data=handleObj.data,void 0!==(ret=((jQuery.event.special[handleObj.origType]||{}).handle||handleObj.handler).apply(matched.elem,args))&&!1===(event.result=ret)&&(event.preventDefault(),event.stopPropagation()));return special.postDispatch&&special.postDispatch.call(this,event),event.result}},handlers:function(event,handlers){var i,handleObj,sel,matchedHandlers,matchedSelectors,handlerQueue=[],delegateCount=handlers.delegateCount,cur=event.target;if(delegateCount&&cur.nodeType&&!("click"===event.type&&1<=event.button))for(;cur!==this;cur=cur.parentNode||this)if(1===cur.nodeType&&("click"!==event.type||!0!==cur.disabled)){for(matchedHandlers=[],matchedSelectors={},i=0;i<delegateCount;i++)void 0===matchedSelectors[sel=(handleObj=handlers[i]).selector+" "]&&(matchedSelectors[sel]=handleObj.needsContext?-1<jQuery(sel,this).index(cur):jQuery.find(sel,this,null,[cur]).length),matchedSelectors[sel]&&matchedHandlers.push(handleObj);matchedHandlers.length&&handlerQueue.push({elem:cur,handlers:matchedHandlers})}return cur=this,delegateCount<handlers.length&&handlerQueue.push({elem:cur,handlers:handlers.slice(delegateCount)}),handlerQueue},addProp:function(name,hook){Object.defineProperty(jQuery.Event.prototype,name,{enumerable:!0,configurable:!0,get:isFunction(hook)?function(){if(this.originalEvent)return hook(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[name]},set:function(value){Object.defineProperty(this,name,{enumerable:!0,configurable:!0,writable:!0,value:value})}})},fix:function(originalEvent){return originalEvent[jQuery.expando]?originalEvent:new jQuery.Event(originalEvent)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==safeActiveElement()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===safeActiveElement()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&nodeName(this,"input"))return this.click(),!1},_default:function(event){return nodeName(event.target,"a")}},beforeunload:{postDispatch:function(event){void 0!==event.result&&event.originalEvent&&(event.originalEvent.returnValue=event.result)}}}},jQuery.removeEvent=function(elem,type,handle){elem.removeEventListener&&elem.removeEventListener(type,handle)},jQuery.Event=function(src,props){if(!(this instanceof jQuery.Event))return new jQuery.Event(src,props);src&&src.type?(this.originalEvent=src,this.type=src.type,this.isDefaultPrevented=src.defaultPrevented||void 0===src.defaultPrevented&&!1===src.returnValue?returnTrue:returnFalse,this.target=src.target&&3===src.target.nodeType?src.target.parentNode:src.target,this.currentTarget=src.currentTarget,this.relatedTarget=src.relatedTarget):this.type=src,props&&jQuery.extend(this,props),this.timeStamp=src&&src.timeStamp||Date.now(),this[jQuery.expando]=!0},jQuery.Event.prototype={constructor:jQuery.Event,isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=returnTrue,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=returnTrue,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},jQuery.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(event){var button=event.button;return null==event.which&&rkeyEvent.test(event.type)?null!=event.charCode?event.charCode:event.keyCode:!event.which&&void 0!==button&&rmouseEvent.test(event.type)?1&button?1:2&button?3:4&button?2:0:event.which}},jQuery.event.addProp),jQuery.each({mouseenter:"mouseover",mouseleave:"mou
1seout",pointerenter:"pointerover",pointerleave:"pointerout"},function(orig,fix){jQuery.event.special[orig]={delegateType:fix,bindType:fix,handle:function(event){var ret,related=event.relatedTarget,handleObj=event.handleObj;return related&&(related===this||jQuery.contains(this,related))||(event.type=handleObj.origType,ret=handleObj.handler.apply(this,arguments),event.type=fix),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)return handleObj=types.handleObj,jQuery(types.delegateTarget).off(handleObj.namespace?handleObj.origType+"."+handleObj.namespace:handleObj.origType,handleObj.selector,handleObj.handler),this;if("object"!=typeof types)return!1!==selector&&"function"!=typeof selector||(fn=selector,selector=void 0),!1===fn&&(fn=returnFalse),this.each(function(){jQuery.event.remove(this,types,fn,selector)});for(type in types)this.off(type,selector,types[type]);return this}});var rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,rnoInnerhtml=/<script|<style|<link/i,rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,rcleanScript=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function manipulationTarget(elem,content){return nodeName(elem,"table")&&nodeName(11!==content.nodeType?content:content.firstChild,"tr")&&jQuery(elem).children("tbody")[0]||elem}function disableScript(elem){return elem.type=(null!==elem.getAttribute("type"))+"/"+elem.type,elem}function restoreScript(elem){return"true/"===(elem.type||"").slice(0,5)?elem.type=elem.type.slice(5):elem.removeAttribute("type"),elem}function cloneCopyEvent(src,dest){var i,l,type,pdataOld,pdataCur,udataOld,udataCur,events;if(1===dest.nodeType){if(dataPriv.hasData(src)&&(pdataOld=dataPriv.access(src),pdataCur=dataPriv.set(dest,pdataOld),events=pdataOld.events))for(type in delete pdataCur.handle,pdataCur.events={},events)for(i=0,l=events[type].length;i<l;i++)jQuery.event.add(dest,type,events[type][i]);dataUser.hasData(src)&&(udataOld=dataUser.access(src),udataCur=jQuery.extend({},udataOld),dataUser.set(dest,udataCur))}}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],valueIsFunction=isFunction(value);if(valueIsFunction||1<l&&"string"==typeof value&&!support.checkClone&&rchecked.test(value))return collection.each(function(index){var self=collection.eq(index);valueIsFunction&&(args[0]=value.call(this,index,self.html())),domManip(self,args,callback,ignored)});if(l&&(first=(fragment=buildFragment(args,collection[0].ownerDocument,!1,collection,ignored)).firstChild,1===fragment.childNodes.length&&(fragment=first),first||ignored)){for(hasScripts=(scripts=jQuery.map(getAll(fragment,"script"),disableScript)).length;i<l;i++)node=fragment,i!==iNoClone&&(node=jQuery.clone(node,!0,!0),hasScripts&&jQuery.merge(scripts,getAll(node,"script"))),callback.call(collection[i],node,i);if(hasScripts)for(doc=scripts[scripts.length-1].ownerDocument,jQuery.map(scripts,restoreScript),i=0;i<hasScripts;i++)node=scripts[i],rscriptType.test(node.type||"")&&!dataPriv.access(node,"globalEval")&&jQuery.contains(doc,node)&&(node.src&&"module"!==(node.type||"").toLowerCase()?jQuery._evalUrl&&jQuery._evalUrl(node.src):DOMEval(node.textContent.replace(rcleanScript,""),doc,node))}return collection}function remove(elem,selector,keepData){for(var node,nodes=selector?jQuery.filter(selector,elem):elem,i=0;null!=(node=nodes[i]);i++)keepData||1!==node.nodeType||jQuery.cleanData(getAll(node)),node.parentNode&&(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,src,dest,nodeName,clone=elem.cloneNode(!0),inPage=jQuery.contains(elem.ownerDocument,elem);if(!(support.noCloneChecked||1!==elem.nodeType&&11!==elem.nodeType||jQuery.isXMLDoc(elem)))for(destElements=getAll(clone),i=0,l=(srcElements=getAll(elem)).length;i<l;i++)src=srcElements[i],dest=destElements[i],void 0,"input"===(nodeName=dest.nodeName.toLowerCase())&&rcheckableType.test(src.type)?de
vendor: 4,403 bytes, line 1
1st.checked=src.checked:"input"!==nodeName&&"textarea"!==nodeName||(dest.defaultValue=src.defaultValue);if(dataAndEvents)if(deepDataAndEvents)for(srcElements=srcElements||getAll(elem),destElements=destElements||getAll(clone),i=0,l=srcElements.length;i<l;i++)cloneCopyEvent(srcElements[i],destElements[i]);else cloneCopyEvent(elem,clone);return 0<(destElements=getAll(clone,"script")).length&&setGlobalEval(destElements,!inPage&&getAll(elem,"script")),clone},cleanData:function(elems){for(var data,elem,type,special=jQuery.event.special,i=0;void 0!==(elem=elems[i]);i++)if(acceptData(elem)){if(data=elem[dataPriv.expando]){if(data.events)for(type in data.events)special[type]?jQuery.event.remove(elem,type):jQuery.removeEvent(elem,type,data.handle);elem[dataPriv.expando]=void 0}elem[dataUser.expando]&&(elem[dataUser.expando]=void 0)}}}),jQuery.fn.extend({detach:function(selector){return remove(this,selector,!0)},remove:function(selector){return remove(this,selector)},text:function(value){return access(this,function(value){return void 0===value?jQuery.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=value)})},null,value,arguments.length)},append:function(){return domManip(this,arguments,function(elem){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||manipulationTarget(this,elem).appendChild(elem)})},prepend:function(){return domManip(this,arguments,function(elem){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var target=manipulationTarget(this,elem);target.insertBefore(elem,target.firstChild)}})},before:function(){return domManip(this,arguments,function(elem){this.parentNode&&this.parentNode.insertBefore(elem,this)})},after:function(){return domManip(this,arguments,function(elem){this.parentNode&&this.parentNode.insertBefore(elem,this.nextSibling)})},empty:function(){for(var elem,i=0;null!=(elem=this[i]);i++)1===elem.nodeType&&(jQuery.cleanData(getAll(elem,!1)),elem.textContent="");return this},clone:function(dataAndEvents,deepDataAndEvents){return dataAndEvents=null!=dataAndEvents&&dataAndEvents,deepDataAndEvents=null==deepDataAndEvents?dataAndEvents:deepDataAndEvents,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(void 0===value&&1===elem.nodeType)return elem.innerHTML;if("string"==typeof value&&!rnoInnerhtml.test(value)&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=jQuery.htmlPrefilter(value);try{for(;i<l;i++)1===(elem=this[i]||{}).nodeType&&(jQuery.cleanData(getAll(elem,!1)),elem.innerHTML=value);elem=0}catch(e){}}elem&&this.empty().append(value)},null,value,arguments.length)},replaceWith:function(){var ignored=[];return domManip(this,arguments,function(elem){var parent=this.parentNode;jQuery.inArray(this,ignored)<0&&(jQuery.cleanData(getAll(this)),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){for(var elems,ret=[],insert=jQuery(selector),last=insert.length-1,i=0;i<=last;i++)elems=i===last?this:this.clone(!0),jQuery(insert[i])[original](elems),push.apply(ret,elems.get());return this.pushStack(ret)}});var rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i"),getStyles=function(elem){var view=elem.ownerDocument.defaultView;return view&&view.opener||(view=window),view.getComputedStyle(elem)},rboxStyle=new RegExp(cssExpand.join("|"),"i");function curCSS(elem,name,computed){var width,minWidth,maxWidth,ret,style=elem.style;return(computed=computed||getStyles(elem))&&(""!==(ret=computed.getPropertyValue(name)||computed[name])||jQuery.contains(elem.ownerDocument,elem)||(ret=jQuery.style(elem,name)),!support.pixelBoxStyles()&&rnumnonpx.test(ret)&&rboxStyle.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)),void 0!==ret?ret+"":ret}function addGetHookIf(conditionFn,hookFn){return{get:function(){if(!conditionFn())return(this.get=hookFn).apply(this,arguments);delete this.get}}}!function(){function computeStyleTests(){if(div){container.style.cssText="position:absolute;
1left:-11111px;width:60px;margin-top:1px;padding:0;border:0",div.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",documentElement.appendChild(container).appendChild(div);var divStyle=window.getComputedStyle(div);pixelPositionVal="1%"!==divStyle.top,reliableMarginLeftVal=12===roundPixelMeasures(divStyle.marginLeft),div.style.right="60%",pixelBoxStylesVal=36===roundPixelMeasures(divStyle.right),boxSizingReliableVal=36===roundPixelMeasures(divStyle.width),div.style.position="absolute",scrollboxSizeVal=36===div.offsetWidth||"absolute",documentElement.removeChild(container),div=null}}function roundPixelMeasures(measure){return Math.round(parseFloat(measure))}var pixelPositionVal,boxSizingReliableVal,scrollboxSizeVal,pixelBoxStylesVal,reliableMarginLeftVal,container=document.createElement("div"),div=document.createElement("div");div.style&&(div.style.backgroundClip="content-box",div.cloneNode(!0).style.backgroundClip="",support.clearCloneStyle="content-box"===div.style.backgroundClip,jQuery.extend(support,{boxSizingReliable:function(){return computeStyleTests(),boxSizingReliableVal},pixelBoxStyles:function(){return computeStyleTests(),pixelBoxStylesVal},pixelPosition:function(){return computeStyleTests(),pixelPositionVal},reliableMarginLeft:function(){return computeStyleTests(),reliableMarginLeftVal},scrollboxSize:function(){return computeStyleTests(),scrollboxSizeVal}}))}();var rdisplayswap=/^(none|table(?!-c[ea]).+)/,rcustomProp=/^--/,cssShow={position:"absolute",visibility:"hidden",display:"block"},cssNormalTransform={letterSpacing:"0",fontWeight:"400"},cssPrefixes=["Webkit","Moz","ms"],emptyStyle=document.createElement("div").style;function finalPropName(name){var ret=jQuery.cssProps[name];return ret||(ret=jQuery.cssProps[name]=function(name){if(name in emptyStyle)return name;for(var capName=name[0].toUpperCase()+name.slice(1),i=cssPrefixes.length;i--;)if((name=cssPrefixes[i]+capName)in emptyStyle)return name}(name)||name),ret}function setPositiveNumber(elem,value,subtract){var matches=rcssNum.exec(value);return matches?Math.max(0,matches[2]-(subtract||0))+(matches[3]||"px"):value}function boxModelAdjustment(elem,dimension,box,isBorderBox,styles,computedVal){var i="width"===dimension?1:0,extra=0,delta=0;if(box===(isBorderBox?"border":"content"))return 0;for(;i<4;i+=2)"margin"===box&&(delta+=jQuery.css(elem,box+cssExpand[i],!0,styles)),isBorderBox?("content"===box&&(delta-=jQuery.css(elem,"padding"+cssExpand[i],!0,styles)),"margin"!==box&&(delta-=jQuery.css(elem,"border"+cssExpand[i]+"Width",!0,styles))):(delta+=jQuery.css(elem,"padding"+cssExpand[i],!0,styles),"padding"!==box?delta+=jQuery.css(elem,"border"+cssExpand[i]+"Width",!0,styles):extra+=jQuery.css(elem,"border"+cssExpand[i]+"Width",!0,styles));return!isBorderBox&&0<=computedVal&&(delta+=Math.max(0,Math.ceil(elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)]-computedVal-delta-extra-.5))),delta}function getWidthOrHeight(elem,dimension,extra){var styles=getStyles(elem),val=curCSS(elem,dimension,styles),isBorderBox="border-box"===jQuery.css(elem,"boxSizing",!1,styles),valueIsBorderBox=isBorderBox;if(rnumnonpx.test(val)){if(!extra)return val;val="auto"}return valueIsBorderBox=valueIsBorderBox&&(support.boxSizingReliable()||val===elem.style[dimension]),("auto"===val||!parseFloat(val)&&"inline"===jQuery.css(elem,"display",!1,styles))&&(val=elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)],valueIsBorderBox=!0),(val=parseFloat(val)||0)+boxModelAdjustment(elem,dimension,extra||(isBorderBox?"border":"content"),valueIsBorderBox,styles,val)+"px"}function Tween(elem,options,prop,end,easing){return new Tween.prototype.init(elem,options,prop,end,easing)}jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity");return""===ret?"1":ret}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(elem,name,value,extra){if(elem&&3!==elem.nodeType&&8!==elem.nodeType&&elem.style){var ret,type,hooks,origName=camelCase(name),isCu
vendor: 7,202 bytes, line 1
1stomProp=rcustomProp.test(name),style=elem.style;if(isCustomProp||(name=finalPropName(origName)),hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName],void 0===value)return hooks&&"get"in hooks&&void 0!==(ret=hooks.get(elem,!1,extra))?ret:style[name];"string"===(type=typeof value)&&(ret=rcssNum.exec(value))&&ret[1]&&(value=adjustCSS(elem,name,ret),type="number"),null!=value&&value==value&&("number"===type&&(value+=ret&&ret[3]||(jQuery.cssNumber[origName]?"":"px")),support.clearCloneStyle||""!==value||0!==name.indexOf("background")||(style[name]="inherit"),hooks&&"set"in hooks&&void 0===(value=hooks.set(elem,value,extra))||(isCustomProp?style.setProperty(name,value):style[name]=value))}},css:function(elem,name,extra,styles){var val,num,hooks,origName=camelCase(name);return rcustomProp.test(name)||(name=finalPropName(origName)),(hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName])&&"get"in hooks&&(val=hooks.get(elem,!0,extra)),void 0===val&&(val=curCSS(elem,name,styles)),"normal"===val&&name in cssNormalTransform&&(val=cssNormalTransform[name]),""===extra||extra?(num=parseFloat(val),!0===extra||isFinite(num)?num||0:val):val}}),jQuery.each(["height","width"],function(i,dimension){jQuery.cssHooks[dimension]={get:function(elem,computed,extra){if(computed)return!rdisplayswap.test(jQuery.css(elem,"display"))||elem.getClientRects().length&&elem.getBoundingClientRect().width?getWidthOrHeight(elem,dimension,extra):swap(elem,cssShow,function(){return getWidthOrHeight(elem,dimension,extra)})},set:function(elem,value,extra){var matches,styles=getStyles(elem),isBorderBox="border-box"===jQuery.css(elem,"boxSizing",!1,styles),subtract=extra&&boxModelAdjustment(elem,dimension,extra,isBorderBox,styles);return isBorderBox&&support.scrollboxSize()===styles.position&&(subtract-=Math.ceil(elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)]-parseFloat(styles[dimension])-boxModelAdjustment(elem,dimension,"border",!1,styles)-.5)),subtract&&(matches=rcssNum.exec(value))&&"px"!==(matches[3]||"px")&&(elem.style[dimension]=value,value=jQuery.css(elem,dimension)),setPositiveNumber(0,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.each({margin:"",padding:"",border:"Width"},function(prefix,suffix){jQuery.cssHooks[prefix+suffix]={expand:function(value){for(var i=0,expanded={},parts="string"==typeof value?value.split(" "):[value];i<4;i++)expanded[prefix+cssExpand[i]+suffix]=parts[i]||parts[i-2]||parts[0];return expanded}},"margin"!==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(Array.isArray(name)){for(styles=getStyles(elem),len=name.length;i<len;i++)map[name[i]]=jQuery.css(elem,name[i],!1,styles);return map}return void 0!==value?jQuery.style(elem,name,value):jQuery.css(elem,name)},name,value,1<arguments.length)}}),((jQuery.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];return this.options.duration?this.pos=eased=jQuery.easing[this.easing](percent,this.options.duration*percent,0,1,this.options.duration):this.pos=eased=percent,this.now=(this.end-this.start)*eased+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),hooks&&hooks.set?hooks.set(this):Tween.propHooks._default.set(this),this}}).init.prototype=Tween.prototype,(Tween.propHooks={_default:{get:function(tween){var result;return 1!==tween.elem.nodeType||null!=tween.elem[tween.prop]&&null==tween.elem.style[tween.prop]?tween.elem[tween.prop]:(result=jQuery.css(tween.elem,tween.prop,""))&&"auto"!==result?result:0},set:function(tween){jQuery.fx.step[tween.prop]?jQuery.fx.step[tween.prop](tween):1!==tween.elem.nodeType||null==tween.elem.style[jQuery.cssProps[tween.prop]]&&!jQuery.cssHooks[tween.prop]?tween.elem[tween.prop]=tween.now:jQuery.style(tween.elem,tween.prop,tween.now+tween.unit)}}}).scrollTop=Tween.propHooks.scrollLeft={set:function(tween){tween.elem.nodeType&&tween.elem.parentNode&&(tween.elem[tween.prop]=tween.now)}},jQuery.easing={linear:function(p){return p},swing:function(p){return.5-Math.cos(p*Math.PI)/2},_default:"swing"},jQuery.fx=Tween.prototype.init,jQuery.fx.step={};var fxNow,inProgress,rfxtypes=/^(?:toggle|show|hide)$/,rrun=/queueHooks$/;function schedule(){inProgress&&(!1===document.hidden&&window.requestAnimationFrame?window.requestAnimationFrame(schedule):window.setTimeout(schedule,jQuery.fx.interval),jQuery.fx.tick())}function createFxNow(){return window.setTimeout(function(){fxNow=void 0}),fxNow=Date.now()}function genFx(type,includeWidth){var which,i=0,attrs={height:type};for(includeWidth=includeWidth?1:0;i<4;i+=2-includeWidth)attrs["margin"+(which=cssExpand[i])]=attrs["padding"+which]=type;return includeWidth&&(attrs.opacity=attrs.width=type),attrs}function createTween(value,prop,animation){for(var tween,collection=(Animation.tweeners[prop]||[]).concat(Animation.tweeners["*"]),index=0,length=collection.length;index<length;index++)if(tween=collection[index].call(animation,prop,value))return tween}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!1;for(var currentTime=fxNow||createFxNow(),remaining=Math.max(0,animation.startTime+animation.duration-currentTime),percent=1-(remaining/animation.duration||0),index=0,length=animation.tweens.length;index<length;index++)animation.tweens[index].run(percent);return deferred.notifyWith(elem,[animation,percent,remaining]),percent<1&&length?remaining:(length||deferred.notifyWith(elem,[animation,1,0]),deferred.resolveWith(elem,[animation]),!1)},animation=deferred.promise({elem:elem,props:jQuery.extend({},properties),opts:jQuery.extend(!0,{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);return animation.tweens.push(tween),tween},stop:function(gotoEnd){var index=0,length=gotoEnd?animation.tweens.length:0;if(stopped)return this;for(stopped=!0;index<length;index++)animation.tweens[index].run(1);return gotoEnd?(deferred.notifyWith(elem,[animation,1,0]),deferred.resolveWith(elem,[animation,gotoEnd])):deferred.rejectWith(elem,[animation,gotoEnd]),this}}),props=animation.props;for(!function(props,specialEasing){var index,name,easing,value,hooks;
vendor: 7,804 bytes, line 1
1for(index in props)if(easing=specialEasing[name=camelCase(index)],value=props[index],Array.isArray(value)&&(easing=value[1],value=props[index]=value[0]),index!==name&&(props[name]=value,delete props[index]),(hooks=jQuery.cssHooks[name])&&"expand"in hooks)for(index in value=hooks.expand(value),delete props[name],value)index in props||(props[index]=value[index],specialEasing[index]=easing);else specialEasing[name]=easing}(props,animation.opts.specialEasing);index<length;index++)if(result=Animation.prefilters[index].call(animation,elem,props,animation.opts))return isFunction(result.stop)&&(jQuery._queueHooks(animation.elem,animation.opts.queue).stop=result.stop.bind(result)),result;return jQuery.map(props,createTween,animation),isFunction(animation.opts.start)&&animation.opts.start.call(elem,animation),animation.progress(animation.opts.progress).done(animation.opts.done,animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always),jQuery.fx.timer(jQuery.extend(tick,{elem:elem,anim:animation,queue:animation.opts.queue})),animation}jQuery.Animation=jQuery.extend(Animation,{tweeners:{"*":[function(prop,value){var tween=this.createTween(prop,value);return adjustCSS(tween.elem,prop,rcssNum.exec(value),tween),tween}]},tweener:function(props,callback){for(var prop,index=0,length=(props=isFunction(props)?(callback=props,["*"]):props.match(rnothtmlwhite)).length;index<length;index++)prop=props[index],Animation.tweeners[prop]=Animation.tweeners[prop]||[],Animation.tweeners[prop].unshift(callback)},prefilters:[function(elem,props,opts){var prop,value,toggle,hooks,oldfire,propTween,restoreDisplay,display,isBox="width"in props||"height"in props,anim=this,orig={},style=elem.style,hidden=elem.nodeType&&isHiddenWithinTree(elem),dataShow=dataPriv.get(elem,"fxshow");for(prop in opts.queue||(null==(hooks=jQuery._queueHooks(elem,"fx")).unqueued&&(hooks.unqueued=0,oldfire=hooks.empty.fire,hooks.empty.fire=function(){hooks.unqueued||oldfire()}),hooks.unqueued++,anim.always(function(){anim.always(function(){hooks.unqueued--,jQuery.queue(elem,"fx").length||hooks.empty.fire()})})),props)if(value=props[prop],rfxtypes.test(value)){if(delete props[prop],toggle=toggle||"toggle"===value,value===(hidden?"hide":"show")){if("show"!==value||!dataShow||void 0===dataShow[prop])continue;hidden=!0}orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop)}if((propTween=!jQuery.isEmptyObject(props))||!jQuery.isEmptyObject(orig))for(prop in isBox&&1===elem.nodeType&&(opts.overflow=[style.overflow,style.overflowX,style.overflowY],null==(restoreDisplay=dataShow&&dataShow.display)&&(restoreDisplay=dataPriv.get(elem,"display")),"none"===(display=jQuery.css(elem,"display"))&&(restoreDisplay?display=restoreDisplay:(showHide([elem],!0),restoreDisplay=elem.style.display||restoreDisplay,display=jQuery.css(elem,"display"),showHide([elem]))),("inline"===display||"inline-block"===display&&null!=restoreDisplay)&&"none"===jQuery.css(elem,"float")&&(propTween||(anim.done(function(){style.display=restoreDisplay}),null==restoreDisplay&&(display=style.display,restoreDisplay="none"===display?"":display)),style.display="inline-block")),opts.overflow&&(style.overflow="hidden",anim.always(function(){style.overflow=opts.overflow[0],style.overflowX=opts.overflow[1],style.overflowY=opts.overflow[2]})),propTween=!1,orig)propTween||(dataShow?"hidden"in dataShow&&(hidden=dataShow.hidden):dataShow=dataPriv.access(elem,"fxshow",{display:restoreDisplay}),toggle&&(dataShow.hidden=!hidden),hidden&&showHide([elem],!0),anim.done(function(){for(prop in hidden||showHide([elem]),dataPriv.remove(elem,"fxshow"),orig)jQuery.style(elem,prop,orig[prop])})),propTween=createTween(hidden?dataShow[prop]:0,prop,anim),prop in dataShow||(dataShow[prop]=propTween.start,hidden&&(propTween.end=propTween.start,propTween.start=0))}],prefilter:function(callback,prepend){prepend?Animation.prefilters.unshift(callback):Animation.prefilters.push(callback)}}),jQuery.speed=function(speed,easing,fn){var opt=speed&&"object"==typeof speed?jQuery.extend({},speed):{complete:fn||!fn&&easing||isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!isFunction(easing)&&easing};return jQuery.fx.off?opt.duration=0:"number"!=typeof opt.duration&&(opt.duration in jQuery.fx.speeds?opt.duration=jQuery.fx.speeds[opt.duration]:opt.duration=jQuery.fx.speeds._default),null!=opt.queue&&!0!==opt.queue||(opt.queue="fx"),opt.old=opt.complete,opt.complete=function(){isFunction(opt.old)&&opt.old.call(this),opt.queue&&jQuery.dequeue(this,opt.queue)},opt},jQuery.fn.extend({fadeTo:function(speed,to,easing,callback){return this.filter(isHiddenWithinTree).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);(empty||dataPriv.get(this,"finish"))&&anim.stop(!0)};return doAnimation.finish=doAnimation,empty||!1===optall.queue?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)};return"string"!=typeof type&&(gotoEnd=clearQueue,clearQueue=type,type=void 0),clearQueue&&!1!==type&&this.queue(type||"fx",[]),this.each(function(){var dequeue=!0,index=null!=type&&type+"queueHooks",timers=jQuery.timers,data=dataPriv.get(this);if(index)data[index]&&data[index].stop&&stopQueue(data[index]);else for(index in data)data[index]&&data[index].stop&&rrun.test(index)&&stopQueue(data[index]);for(index=timers.length;index--;)timers[index].elem!==this||null!=type&&timers[index].queue!==type||(timers[index].anim.stop(gotoEnd),dequeue=!1,timers.splice(index,1));!dequeue&&gotoEnd||jQuery.dequeue(this,type)})},finish:function(type){return!1!==type&&(type=type||"fx"),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;for(data.finish=!0,jQuery.queue(this,type,[]),hooks&&hooks.stop&&hooks.stop.call(this,!0),index=timers.length;index--;)timers[index].elem===this&&timers[index].queue===type&&(timers[index].anim.stop(!0),timers.splice(index,1));for(index=0;index<length;index++)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 null==speed||"boolean"==typeof speed?cssFn.apply(this,arguments):this.animate(genFx(name,!0),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;for(fxNow=Date.now();i<timers.length;i++)(timer=timers[i])()||timers[i]!==timer||timers.splice(i--,1);timers.length||jQuery.fx.stop(),fxNow=void 0},jQuery.fx.timer=function(timer){jQuery.timers.push(timer),jQuery.fx.start()},jQuery.fx.interval=13,jQuery.fx.start=function(){inProgress||(inProgress=!0,schedule())},jQuery.fx.stop=function(){inProgress=null},jQuery.fx.speeds={slow:600,fast:200,_default:400},jQuery.fn.delay=function(time,type){return time=jQuery.fx&&jQuery.fx.speeds[time]||time,type=type||"fx",this.queue(type,function(next,hooks){var timeout=window.setTimeout(next,time);hooks.stop=function(){window.clearTimeout(timeout)}})},function(){var input=document.createElement("input"),opt=document.createElement("select").appendChild(document.createElement("option"));
vendor: 8,519 bytes, line 1
1input.type="checkbox",support.checkOn=""!==input.value,support.optSelected=opt.selected,(input=document.createElement("input")).value="t",input.type="radio",support.radioValue="t"===input.value}();var boolHook,attrHandle=jQuery.expr.attrHandle;jQuery.fn.extend({attr:function(name,value){return access(this,jQuery.attr,name,value,1<arguments.length)},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(3!==nType&&8!==nType&&2!==nType)return void 0===elem.getAttribute?jQuery.prop(elem,name,value):(1===nType&&jQuery.isXMLDoc(elem)||(hooks=jQuery.attrHooks[name.toLowerCase()]||(jQuery.expr.match.bool.test(name)?boolHook:void 0)),void 0!==value?null===value?void jQuery.removeAttr(elem,name):hooks&&"set"in hooks&&void 0!==(ret=hooks.set(elem,value,name))?ret:(elem.setAttribute(name,value+""),value):hooks&&"get"in hooks&&null!==(ret=hooks.get(elem,name))?ret:null==(ret=jQuery.find.attr(elem,name))?void 0:ret)},attrHooks:{type:{set:function(elem,value){if(!support.radioValue&&"radio"===value&&nodeName(elem,"input")){var val=elem.value;return elem.setAttribute("type",value),val&&(elem.value=val),value}}}},removeAttr:function(elem,value){var name,i=0,attrNames=value&&value.match(rnothtmlwhite);if(attrNames&&1===elem.nodeType)for(;name=attrNames[i++];)elem.removeAttribute(name)}}),boolHook={set:function(elem,value,name){return!1===value?jQuery.removeAttr(elem,name):elem.setAttribute(name,name),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,lowercaseName=name.toLowerCase();return isXML||(handle=attrHandle[lowercaseName],attrHandle[lowercaseName]=ret,ret=null!=getter(elem,name,isXML)?lowercaseName:null,attrHandle[lowercaseName]=handle),ret}});var rfocusable=/^(?:input|select|textarea|button)$/i,rclickable=/^(?:a|area)$/i;function stripAndCollapse(value){return(value.match(rnothtmlwhite)||[]).join(" ")}function getClass(elem){return elem.getAttribute&&elem.getAttribute("class")||""}function classesToArray(value){return Array.isArray(value)?value:"string"==typeof value&&value.match(rnothtmlwhite)||[]}jQuery.fn.extend({prop:function(name,value){return access(this,jQuery.prop,name,value,1<arguments.length)},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(3!==nType&&8!==nType&&2!==nType)return 1===nType&&jQuery.isXMLDoc(elem)||(name=jQuery.propFix[name]||name,hooks=jQuery.propHooks[name]),void 0!==value?hooks&&"set"in hooks&&void 0!==(ret=hooks.set(elem,value,name))?ret:elem[name]=value:hooks&&"get"in hooks&&null!==(ret=hooks.get(elem,name))?ret: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"}}),support.optSelected||(jQuery.propHooks.selected={get:function(elem){var parent=elem.parentNode;return parent&&parent.parentNode&&parent.parentNode.selectedIndex,null},set:function(elem){var parent=elem.parentNode;parent&&(parent.selectedIndex,parent.parentNode&&parent.parentNode.selectedIndex)}}),jQuery.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){jQuery.propFix[this.toLowerCase()]=this}),jQuery.fn.extend({addClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(isFunction(value))return this.each(function(j){jQuery(this).addClass(value.call(this,j,getClass(this)))});if((classes=classesToArray(value)).length)for(;elem=this[i++];)if(curValue=getClass(elem),cur=1===elem.nodeType&&" "+stripAndCollapse(curValue)+" "){for(j=0;clazz=classes[j++];)cur.indexOf(" "+clazz+" ")<0&&(cur+=clazz+" ");curValue!==(finalValue=stripAndCollapse(cur))&&elem.setAttribute("class",finalValue)}return this},removeClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(isFunction(value))return this.each(function(j){jQuery(this).removeClass(value.call(this,j,getClass(this)))});if(!arguments.length)return this.attr("class","");if((classes=classesToArray(value)).length)for(;elem=this[i++];)if(curValue=getClass(elem),cur=1===elem.nodeType&&" "+stripAndCollapse(curValue)+" "){for(j=0;clazz=classes[j++];)for(;-1<cur.indexOf(" "+clazz+" ");)cur=cur.replace(" "+clazz+" "," ");curValue!==(finalValue=stripAndCollapse(cur))&&elem.setAttribute("class",finalValue)}return this},toggleClass:function(value,stateVal){var type=typeof value,isValidValue="string"===type||Array.isArray(value);return"boolean"==typeof stateVal&&isValidValue?stateVal?this.addClass(value):this.removeClass(value):isFunction(value)?this.each(function(i){jQuery(this).toggleClass(value.call(this,i,getClass(this),stateVal),stateVal)}):this.each(function(){var className,i,self,classNames;if(isValidValue)for(i=0,self=jQuery(this),classNames=classesToArray(value);className=classNames[i++];)self.hasClass(className)?self.removeClass(className):self.addClass(className);else void 0!==value&&"boolean"!==type||((className=getClass(this))&&dataPriv.set(this,"__className__",className),this.setAttribute&&this.setAttribute("class",className||!1===value?"":dataPriv.get(this,"__className__")||""))})},hasClass:function(selector){var className,elem,i=0;for(className=" "+selector+" ";elem=this[i++];)if(1===elem.nodeType&&-1<(" "+stripAndCollapse(getClass(elem))+" ").indexOf(className))return!0;return!1}});var rreturn=/\r/g;jQuery.fn.extend({val:function(value){var hooks,ret,valueIsFunction,elem=this[0];return arguments.length?(valueIsFunction=isFunction(value),this.each(function(i){var val;1===this.nodeType&&(null==(val=valueIsFunction?value.call(this,i,jQuery(this).val()):value)?val="":"number"==typeof val?val+="":Array.isArray(val)&&(val=jQuery.map(val,function(value){return null==value?"":value+""})),(hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()])&&"set"in hooks&&void 0!==hooks.set(this,val,"value")||(this.value=val))})):elem?(hooks=jQuery.valHooks[elem.type]||jQuery.valHooks[elem.nodeName.toLowerCase()])&&"get"in hooks&&void 0!==(ret=hooks.get(elem,"value"))?ret:"string"==typeof(ret=elem.value)?ret.replace(rreturn,""):null==ret?"":ret:void 0}}),jQuery.extend({valHooks:{option:{get:function(elem){var val=jQuery.find.attr(elem,"value");return null!=val?val:stripAndCollapse(jQuery.text(elem))}},select:{get:function(elem){var value,option,i,options=elem.options,index=elem.selectedIndex,one="select-one"===elem.type,values=one?null:[],max=one?index+1:options.length;for(i=index<0?max:one?index:0;i<max;i++)if(((option=options[i]).selected||i===index)&&!option.disabled&&(!option.parentNode.disabled||!nodeName(option.parentNode,"optgroup"))){if(value=jQuery(option).val(),one)return value;values.push(value)}return values},set:function(elem,value){for(var optionSet,option,options=elem.options,values=jQuery.makeArray(value),i=options.length;i--;)((option=options[i]).selected=-1<jQuery.inArray(jQuery.valHooks.option.get(option),values))&&(optionSet=!0);return optionSet||(elem.selectedIndex=-1),values}}}}),jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]={set:function(elem,value){if(Array.isArray(value))return elem.checked=-1<jQuery.inArray(jQuery(elem).val(),value)}},support.checkOn||(jQuery.valHooks[this].get=function(elem){return null===elem.getAttribute("value")?"on":elem.value})}),support.focusin="onfocusin"in window;var rfocusMorph=/^(?:focusinfocus|focusoutblur)$/,stopPropagationCallback=function(e){e.stopPropagation()};jQuery.extend(jQuery.event,{trigger:function(event,data,elem,onlyHandlers){var i,cur,tmp,bubbleType,ontype,handle,special,lastElement,eventPath=[elem||document],type=hasOwn.call(event,"type")?event.type:event,namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];if(cur=lastElement=tmp=elem=elem||document,3!==elem.nodeType&&8!==elem.nodeType&&!rfocusMorph.test(type+jQuery.event.triggered)&&(-1<type.indexOf(".")&&(type=(namespaces=type.split(".")).shift(),namespaces.sort()),ontype=type.indexOf(":")<0&&"on"+type,(event=event[jQuery.expando]?event:new jQuery.Event(type,"object"==typeof event&&event)).isTrigger=onlyHandlers?2:3,event.namespace=namespaces.join("."),event.rn
vendor: 21,737 bytes, line 1
1amespace=event.namespace?new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,event.result=void 0,event.target||(event.target=elem),data=null==data?[event]:jQuery.makeArray(data,[event]),special=jQuery.event.special[type]||{},onlyHandlers||!special.trigger||!1!==special.trigger.apply(elem,data))){if(!onlyHandlers&&!special.noBubble&&!isWindow(elem)){for(bubbleType=special.delegateType||type,rfocusMorph.test(bubbleType+type)||(cur=cur.parentNode);cur;cur=cur.parentNode)eventPath.push(cur),tmp=cur;tmp===(elem.ownerDocument||document)&&eventPath.push(tmp.defaultView||tmp.parentWindow||window)}for(i=0;(cur=eventPath[i++])&&!event.isPropagationStopped();)lastElement=cur,event.type=1<i?bubbleType:special.bindType||type,(handle=(dataPriv.get(cur,"events")||{})[event.type]&&dataPriv.get(cur,"handle"))&&handle.apply(cur,data),(handle=ontype&&cur[ontype])&&handle.apply&&acceptData(cur)&&(event.result=handle.apply(cur,data),!1===event.result&&event.preventDefault());return event.type=type,onlyHandlers||event.isDefaultPrevented()||special._default&&!1!==special._default.apply(eventPath.pop(),data)||!acceptData(elem)||ontype&&isFunction(elem[type])&&!isWindow(elem)&&((tmp=elem[ontype])&&(elem[ontype]=null),jQuery.event.triggered=type,event.isPropagationStopped()&&lastElement.addEventListener(type,stopPropagationCallback),elem[type](),event.isPropagationStopped()&&lastElement.removeEventListener(type,stopPropagationCallback),jQuery.event.triggered=void 0,tmp&&(elem[ontype]=tmp)),event.result}},simulate:function(type,elem,event){var e=jQuery.extend(new jQuery.Event,event,{type:type,isSimulated:!0});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,!0)}}),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);attaches||doc.addEventListener(orig,handler,!0),dataPriv.access(doc,fix,(attaches||0)+1)},teardown:function(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix)-1;attaches?dataPriv.access(doc,fix,attaches):(doc.removeEventListener(orig,handler,!0),dataPriv.remove(doc,fix))}}});var location=window.location,nonce=Date.now(),rquery=/\?/;jQuery.parseXML=function(data){var xml;if(!data||"string"!=typeof data)return null;try{xml=(new window.DOMParser).parseFromString(data,"text/xml")}catch(e){xml=void 0}return xml&&!xml.getElementsByTagName("parsererror").length||jQuery.error("Invalid XML: "+data),xml};var 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(Array.isArray(obj))jQuery.each(obj,function(i,v){traditional||rbracket.test(prefix)?add(prefix,v):buildParams(prefix+"["+("object"==typeof v&&null!=v?i:"")+"]",v,traditional,add)});else if(traditional||"object"!==toType(obj))add(prefix,obj);else for(name in obj)buildParams(prefix+"["+name+"]",obj[name],traditional,add)}jQuery.param=function(a,traditional){var prefix,s=[],add=function(key,valueOrFunction){var value=isFunction(valueOrFunction)?valueOrFunction():valueOrFunction;s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(null==value?"":value)};if(Array.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("&")},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 null==val?null:Array.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()}});var r20=/%20/g,rhash=/#.*$/,rantiCache=/([?&])_=[^&]*/,rheaders=/^(.*?):[ \t]*([^\r\n]*)$/gm,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,prefilters={},transports={},allTypes="*/".concat("*"),originAnchor=document.createElement("a");function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){"string"!=typeof dataTypeExpression&&(func=dataTypeExpression,dataTypeExpression="*");var dataType,i=0,dataTypes=dataTypeExpression.toLowerCase().match(rnothtmlwhite)||[];if(isFunction(func))for(;dataType=dataTypes[i++];)"+"===dataType[0]?(dataType=dataType.slice(1)||"*",(structure[dataType]=structure[dataType]||[]).unshift(func)):(structure[dataType]=structure[dataType]||[]).push(func)}}function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){var inspected={},seekingTransport=structure===transports;function inspect(dataType){var selected;return inspected[dataType]=!0,jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);return"string"!=typeof dataTypeOrTransport||seekingTransport||inspected[dataTypeOrTransport]?seekingTransport?!(selected=dataTypeOrTransport):void 0:(options.dataTypes.unshift(dataTypeOrTransport),inspect(dataTypeOrTransport),!1)}),selected}return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*")}function ajaxExtend(target,src){var key,deep,flatOptions=jQuery.ajaxSettings.flatOptions||{};for(key in src)void 0!==src[key]&&((flatOptions[key]?target:deep||(deep={}))[key]=src[key]);return deep&&jQuery.extend(!0,target,deep),target}originAnchor.href=location.href,jQuery.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:location.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(location.protocol),global:!0,processData:!0,async:!0,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":!0,"text json":JSON.parse,"text xml":jQuery.parseXML},flatOptions:{url:!0,context:!0}},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){"object"==typeof url&&(options=url,url=void 0),options=options||{};var transport,cacheURL,responseHeadersString,responseHeaders,timeoutTimer,urlAnchor,completed,fireGlobals,i,uncached,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={},strAbort="canceled",jqXHR={readyState:0,getResponseHeader:function(key){var match;if(completed){if(!responseHeaders)for(responseHeaders={};match=rheaders.exec(responseHeadersString);)responseHeaders[match[1].toLowerCase()]=match[2];match=responseHeaders[key.toLowerCase()]}return null==match?null:match},getAllResponseHeaders:function(){return completed?responseHeadersString:null},setRequestHeader:function(name,value){return null==completed&&(name=requestHeadersNames[name.toLowerCase()]=requestHeadersNames[name.toLowerCase()]||name,requestHeaders[name]=value),this},overrideMimeType:function(type){return null==completed&&(s.mimeType=type),this},statusCode:function(map){var code;if(map)if(completed)jqXHR.always(map[jqXHR.status]);else for(code in map)statusCode[code]=[statusCode[code],map[code]];return this},abort:function(statusText){var finalText=statusText||strAbort;return transport&&transport.abort(finalText),done(0,finalText),this}};if(deferred.promise(jqXHR),s.url=((url||s.url||location.href)+"").replace(rprotocol,location.protocol+"//"),s.type=options.method||options.type||s.method||s.type,s.dataTypes=(s.dataType||"*").toLowerCase().match(rnothtmlwhite)||[""],null==s.crossDomain){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=!0}}if(s.data&&s.processData&&"string"!=typeof s.data&&(s.data=jQuery.param(s.data,s.traditional)),inspectPrefiltersOrTransports(prefilters,s,options,jqXHR),completed)return jqXHR;for(i in(fireGlobals=jQuery.event&&s.global)&&0==jQuery.active++&&jQuery.event.trigger("ajaxStart"),s.type=s.type.toUpperCase(),s.hasContent=!rnoContent.test(s.type),cacheURL=s.url.replace(rhash,""),s.hasContent?s.data&&s.processData&&0===(s.contentType||"").indexOf("application/x-www-form-urlencoded")&&(s.data=s.data.replace(r20,"+")):(uncached=s.url.slice(cacheURL.length),s.data&&(s.processData||"string"==typeof s.data)&&(cacheURL+=(rquery.test(cacheURL)?"&":"?")+s.data,delete s.data),!1===s.cache&&(cacheURL=cacheURL.replace(rantiCache,"$1"),uncached=(rquery.test(cacheURL)?"&":"?")+"_="+nonce+++uncached),s.url=cacheURL+uncached),s.ifModified&&(jQuery.lastModified[cacheURL]&&jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL]),jQuery.etag[cacheURL]&&jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL])),(s.data&&s.hasContent&&!1!==s.contentType||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["*"]),s.headers)jqXHR.setRequestHeader(i,s.headers[i]);if(s.beforeSend&&(!1===s.beforeSend.call(callbackContext,jqXHR,s)||completed))return jqXHR.abort();if(strAbort="abort",completeDeferred.add(s.complete),jqXHR.done(s.success),jqXHR.fail(s.error),transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR)){if(jqXHR.readyState=1,fireGlobals&&globalEventContext.trigger("ajaxSend",[jqXHR,s]),completed)return jqXHR;s.async&&0<s.timeout&&(timeoutTimer=window.setTimeout(function(){jqXHR.abort("timeout")},s.timeout));try{completed=!1,transport.send(requestHeaders,done)}catch(e){if(completed)throw e;done(-1,e)}}else done(-1,"No Transport");function done(status,nativeStatusText,responses,headers){var isSuccess,success,error,response,modified,statusText=nativeStatusText;completed||(completed=!0,timeoutTimer&&window.clearTimeout(timeoutTimer),transport=void 0,responseHeadersString=headers||"",jqXHR.readyState=0<status?4:0,isSuccess=200<=status&&status<300||304===status,responses&&(response=function(s,jqXHR,responses){for(var ct,type,finalDataType,firstDataType,contents=s.contents,dataTypes=s.dataTypes;"*"===dataTypes[0];)dataTypes.shift(),void 0===ct&&(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}firstDataType||(firstDataType=type)}finalDataType=finalDataType||firstDataType}if(finalDataType)return finalDataType!==dataTypes[0]&&dataTypes.unshift(finalDataType),responses[finalDataType]}(s,jqXHR,responses)),response=function(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];for(current=dataTypes.shift();current;)if(s.responseFields[current]&&(jqXHR[s.responseFields[current]]=response),!prev&&isSuccess&&s.dataFilter&&(response=s.dataFilter(response,s.dataType)),prev=current,current=dataTypes.shift())if("*"===current)current=prev;else if("*"!==prev&&prev!==current){if(!(conv=converters[prev+" "+current]||converters["* "+current]))for(conv2 in converters)if((tmp=conv2.split(" "))[1]===current&&(conv=converters[prev+" "+tmp[0]]||converters["* "+tmp[0]])){!0===conv?conv=converters[conv2]:!0!==converters[conv2]&&(current=tmp[0],dataTypes.unshift(tmp[1]));break}if(!0!==conv)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}}(s,response,jqXHR,isSuccess),isSuccess?(s.ifModified&&((modified=jqXHR.getResponseHeader("Last-Modified"))&&(jQuery.lastModified[cacheURL]=modified),(modified=jqXHR.getResponseHeader("etag"))&&(jQuery.etag[cacheURL]=modified)),204===status||"HEAD"===s.type?statusText="nocontent":304===status?statusText="notmodified":(statusText=response.state,success=response.data,isSuccess=!(error=response.error))):(error=statusText,!status&&statusText||(statusText="error",status<0&&(status=0))),jqXHR.status=status,jqXHR.statusText=(nativeStatusText||statusText)+"",isSuccess?deferred.resolveWith(callbackContext,[success,statusText,jqXHR]):deferred.rejectWith(callbackContext,[jqXHR,statusText,error]),jqXHR.statusCode(statusCode),statusCode=void 0,fireGlobals&&globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",[jqXHR,s,isSuccess?success:error]),completeDeferred.fireWith(callbackContext,[jqXHR,statusText]),fireGlobals&&(globalEventContext.trigger("ajaxComplete",[jqXHR,s]),--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,void 0,callback,"script")}}),jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){return isFunction(data)&&(type=type||callback,callback=data,data=void 0),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",cache:!0,async:!1,global:!1,throws:!0})},jQuery.fn.extend({wrapAll:function(html){var wrap;return this[0]&&(isFunction(html)&&(html=html.call(this[0])),wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&wrap.insertBefore(this[0]),wrap.map(function(){for(var elem=this;elem.firstElementChild;)elem=elem.firstElementChild;return elem}).append(this)),this},wrapInner:function(html){return isFunction(html)?this.each(function(i){jQuery(this).wrapInner(html.call(this,i))}):this.each(function(){var self=jQuery(this),contents=self.contents();contents.length?contents.wrapAll(html):self.append(html)})},wrap:function(html){var htmlIsFunction=isFunction(html);return this.each(function(i){jQuery(this).wrapAll(htmlIsFunction?html.call(this,i):html)})},unwrap:function(selector){return this.parent(selector).not("body").each(function(){jQuery(this).replaceWith(this.childNodes)}),this}}),jQuery.expr.pseudos.hidden=function(elem){return!jQuery.expr.pseudos.visible(elem)},jQuery.expr.pseudos.visible=function(elem){return!!(elem.offsetWidth||elem.offsetHeight||elem.getClientRects().length)},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();if(xhr.open(options.type,options.url,options.async,options.username,options.password),options.xhrFields)for(i in options.xhrFields)xhr[i]=options.xhrFields[i];for(i in options.mimeType&&xhr.overrideMimeType&&xhr.overrideMimeType(options.mimeType),options.crossDomain||headers["X-Requested-With"]||(headers["X-Requested-With"]="XMLHttpRequest"),headers)xhr.setRequestHeader(i,headers[i]);callback=function(type){return function(){callback&&(callback=errorCallback=xhr.onload=xhr.onerror=xhr.onabort=xhr.ontimeout=xhr.onreadystatechange=null,"abort"===type?xhr.abort():"error"===type?"number"!=typeof xhr.status?complete(0,"error"):complete(xhr.status,xhr.statusText):complete(xhrSuccessStatus[xhr.status]||xhr.status,xhr.statusText,"text"!==(xhr.responseType||"text")||"string"!=typeof xhr.responseText?{binary:xhr.response}:{text:xhr.responseText},xhr.getAllResponseHeaders()))}},xhr.onload=callback(),errorCallback=xhr.onerror=xhr.ontimeout=callback("error"),void 0!==xhr.onabort?xhr.onabort=errorCallback:xhr.onreadystatechange=function(){4===xhr.readyState&&window.setTimeout(function(){callback&&errorCallback()})},callback=callback("abort");try{xhr.send(options.hasContent&&options.data||null)}catch(e){if(callback)throw e}},abort:function(){callback&&callback()}}}),jQuery.ajaxPrefilter(function(s){s.crossDomain&&(s.contents.script=!1)}),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){return jQuery.globalEval(text),text}}}),jQuery.ajaxPrefilter("script",function(s){void 0===s.cache&&(s.cache=!1),s.crossDomain&&(s.type="GET")}),jQuery.ajaxTransport("script",function(s){var script,callback;if(s.crossDomain)return{send:function(_,complete){script=jQuery("<script>").prop({charset:s.scriptCharset,src:s.url}).on("load error",callback=function(evt){script.remove(),callback=null,evt&&complete("error"===evt.type?404:200,evt.type)}),document.head.appendChild(script[0])},abort:function(){callback&&callback()}}});var body,oldCallbacks=[],rjsonp=/(=)\?(?=&|$)|\?\?/;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var callback=oldCallbacks.pop()||jQuery.expando+"_"+nonce++;return this[callback]=!0,callback}}),jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var callbackName,overwritten,responseContainer,jsonProp=!1!==s.jsonp&&(rjsonp.test(s.url)?"url":"string"==typeof s.data&&0===(s.contentType||"").indexOf("application/x-www-form-urlencoded")&&rjsonp.test(s.data)&&"data");if(jsonProp||"jsonp"===s.dataTypes[0])return callbackName=s.jsonpCallback=isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback,jsonProp?s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName):!1!==s.jsonp&&(s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName),s.converters["script json"]=function(){return responseContainer||jQuery.error(callbackName+" was not called"),responseContainer[0]},s.dataTypes[0]="json",overwritten=window[callbackName],window[callbackName]=function(){responseContainer=arguments},jqXHR.always(function(){void 0===overwritten?jQuery(window).removeProp(callbackName):window[callbackName]=overwritten,s[callbackName]&&(s.jsonpCallback=originalSettings.jsonpCallback,oldCallbacks.push(callbackName)),responseContainer&&isFunction(overwritten)&&overwritten(responseContainer[0]),responseContainer=overwritten=void 0}),"script"}),support.createHTMLDocument=((body=document.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===body.childNodes.length),jQuery.parseHTML=function(data,context,keepScripts){return"string"!=typeof data?[]:("boolean"==typeof context&&(keepScripts=context,context=!1),context||(support.createHTMLDocument?((base=(context=document.implementation.createHTMLDocument("")).createElement("base")).href=document.location.href,context.head.appendChild(base)):context=document),scripts=!keepScripts&&[],(parsed=rsingleTag.exec(data))?[context.createElement(parsed[1])]:(parsed=buildFragment([data],context,scripts),scripts&&scripts.length&&jQuery(scripts).remove(),jQuery.merge([],parsed.childNodes)));var base,parsed,scripts},jQuery.fn.load=function(url,params,callback){var selector,type,response,self=this,off=url.indexOf(" ");return-1<off&&(selector=stripAndCollapse(url.slice(off)),url=url.slice(0,off)),isFunction(params)?(callback=params,params=void 0):params&&"object"==typeof params&&(type="POST"),0<self.length&&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])})}),this},jQuery.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(i,type){jQuery.fn[type]=function(fn){return this.on(type,fn)}}),jQuery.expr.pseudos.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem}).length},jQuery.offset={setOffset:function(elem,options,i){var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,position=jQuery.css(elem,"position"),curElem=jQuery(elem),props={};"static"===position&&(elem.style.position="relative"),curOffset=curElem.offset(),curCSSTop=jQuery.css(elem,"top"),curCSSLeft=jQuery.css(elem,"left"),curLeft=("absolute"===position||"fixed"===position)&&-1<(curCSSTop+curCSSLeft).indexOf("auto")?(curTop=(curPosition=curElem.position()).top,curPosition.left):(curTop=p
vendor: 6,073 bytes, line 1
1arseFloat(curCSSTop)||0,parseFloat(curCSSLeft)||0),isFunction(options)&&(options=options.call(elem,i,jQuery.extend({},curOffset))),null!=options.top&&(props.top=options.top-curOffset.top+curTop),null!=options.left&&(props.left=options.left-curOffset.left+curLeft),"using"in options?options.using.call(elem,props):curElem.css(props)}},jQuery.fn.extend({offset:function(options){if(arguments.length)return void 0===options?this:this.each(function(i){jQuery.offset.setOffset(this,options,i)});var rect,win,elem=this[0];return elem?elem.getClientRects().length?(rect=elem.getBoundingClientRect(),win=elem.ownerDocument.defaultView,{top:rect.top+win.pageYOffset,left:rect.left+win.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var offsetParent,offset,doc,elem=this[0],parentOffset={top:0,left:0};if("fixed"===jQuery.css(elem,"position"))offset=elem.getBoundingClientRect();else{for(offset=this.offset(),doc=elem.ownerDocument,offsetParent=elem.offsetParent||doc.documentElement;offsetParent&&(offsetParent===doc.body||offsetParent===doc.documentElement)&&"static"===jQuery.css(offsetParent,"position");)offsetParent=offsetParent.parentNode;offsetParent&&offsetParent!==elem&&1===offsetParent.nodeType&&((parentOffset=jQuery(offsetParent).offset()).top+=jQuery.css(offsetParent,"borderTopWidth",!0),parentOffset.left+=jQuery.css(offsetParent,"borderLeftWidth",!0))}return{top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",!0),left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var offsetParent=this.offsetParent;offsetParent&&"static"===jQuery.css(offsetParent,"position");)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;if(isWindow(elem)?win=elem:9===elem.nodeType&&(win=elem.defaultView),void 0===val)return win?win[prop]:elem[method];win?win.scrollTo(top?win.pageXOffset:val,top?val:win.pageYOffset):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)return computed=curCSS(elem,prop),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||"boolean"!=typeof margin),extra=defaultExtra||(!0===margin||!0===value?"margin":"border");return access(this,function(elem,type,value){var doc;return isWindow(elem)?0===funcName.indexOf("outer")?elem["inner"+name]:elem.document.documentElement["client"+name]:9===elem.nodeType?(doc=elem.documentElement,Math.max(elem.body["scroll"+name],doc["scroll"+name],elem.body["offset"+name],doc["offset"+name],doc["client"+name])):void 0===value?jQuery.css(elem,type,extra):jQuery.style(elem,type,value,extra)},type,chainable?margin:void 0,chainable)}})}),jQuery.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(i,name){jQuery.fn[name]=function(data,fn){return 0<arguments.length?this.on(name,null,data,fn):this.trigger(name)}}),jQuery.fn.extend({hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver)}}),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 1===arguments.length?this.off(selector,"**"):this.off(types,selector||"**",fn)}}),jQuery.proxy=function(fn,context){var tmp,args,proxy;if("string"==typeof context&&(tmp=fn[context],context=fn,fn=tmp),isFunction(fn))return args=slice.call(arguments,2),(proxy=function(){return fn.apply(context||this,args.concat(slice.call(arguments)))}).guid=fn.guid=fn.guid||jQuery.guid++,proxy},jQuery.holdReady=function(hold){hold?jQuery.readyWait++:jQuery.ready(!0)},jQuery.isArray=Array.isArray,jQuery.parseJSON=JSON.parse,jQuery.nodeName=nodeName,jQuery.isFunction=isFunction,jQuery.isWindow=isWindow,jQuery.camelCase=camelCase,jQuery.type=toType,jQuery.now=Date.now,jQuery.isNumeric=function(obj){var type=jQuery.type(obj);return("number"===type||"string"===type)&&!isNaN(obj-parseFloat(obj))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return jQuery});var _jQuery=window.jQuery,_$=window.$;return jQuery.noConflict=function(deep){return window.$===jQuery&&(window.$=_$),deep&&window.jQuery===jQuery&&(window.jQuery=_jQuery),jQuery},noGlobal||(window.jQuery=window.$=jQuery),jQuery}),"undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");!function($){"use strict";var version=jQuery.fn.jquery.split(" ")[0].split(".");if(version[0]<2&&version[1]<9||1==version[0]&&9==version[1]&&version[2]<1||3<version[0])throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(),function($){"use strict";$.fn.emulateTransitionEnd=function(duration){var called=!1,$el=this;$(this).one("bsTransitionEnd",function(){called=!0});return setTimeout(function(){called||$($el).trigger($.support.transition.end)},duration),this},$(function(){$.support.transition=function(){var el=document.createElement("bootstrap"),transEndEventNames={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var name in transEndEventNames)if(void 0!==el.style[name])return{end:transEndEventNames[name]};return!1}(),$.support.transition&&($.event.special.bsTransitionEnd={bindType:$.supp
vendor: 5,686 bytes, line 1
1ort.transition.end,delegateType:$.support.transition.end,handle:function(e){if($(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}})})}(jQuery),function($){"use strict";var dismiss='[data-dismiss="alert"]',Alert=function(el){$(el).on("click",dismiss,this.close)};Alert.VERSION="3.3.7",Alert.TRANSITION_DURATION=150,Alert.prototype.close=function(e){var $this=$(this),selector=$this.attr("data-target");selector||(selector=(selector=$this.attr("href"))&&selector.replace(/.*(?=#[^\s]*$)/,""));var $parent=$("#"===selector?[]:selector);function removeElement(){$parent.detach().trigger("closed.bs.alert").remove()}e&&e.preventDefault(),$parent.length||($parent=$this.closest(".alert")),$parent.trigger(e=$.Event("close.bs.alert")),e.isDefaultPrevented()||($parent.removeClass("in"),$.support.transition&&$parent.hasClass("fade")?$parent.one("bsTransitionEnd",removeElement).emulateTransitionEnd(Alert.TRANSITION_DURATION):removeElement())};var old=$.fn.alert;$.fn.alert=function(option){return this.each(function(){var $this=$(this),data=$this.data("bs.alert");data||$this.data("bs.alert",data=new Alert(this)),"string"==typeof option&&data[option].call($this)})},$.fn.alert.Constructor=Alert,$.fn.alert.noConflict=function(){return $.fn.alert=old,this},$(document).on("click.bs.alert.data-api",dismiss,Alert.prototype.close)}(jQuery),function($){"use strict";var Button=function(element,options){this.$element=$(element),this.options=$.extend({},Button.DEFAULTS,options),this.isLoading=!1};function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.button"),options="object"==typeof option&&option;data||$this.data("bs.button",data=new Button(this,options)),"toggle"==option?data.toggle():option&&data.setState(option)})}Button.VERSION="3.3.7",Button.DEFAULTS={loadingText:"loading..."},Button.prototype.setState=function(state){var d="disabled",$el=this.$element,val=$el.is("input")?"val":"html",data=$el.data();state+="Text",null==data.resetText&&$el.data("resetText",$el[val]()),setTimeout($.proxy(function(){$el[val](null==data[state]?this.options[state]:data[state]),"loadingText"==state?(this.isLoading=!0,$el.addClass(d).attr(d,d).prop(d,!0)):this.isLoading&&(this.isLoading=!1,$el.removeClass(d).removeAttr(d).prop(d,!1))},this),0)},Button.prototype.toggle=function(){var changed=!0,$parent=this.$element.closest('[data-toggle="buttons"]');if($parent.length){var $input=this.$element.find("input");"radio"==$input.prop("type")?($input.prop("checked")&&(changed=!1),$parent.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==$input.prop("type")&&($input.prop("checked")!==this.$element.hasClass("active")&&(changed=!1),this.$element.toggleClass("active")),$input.prop("checked",this.$element.hasClass("active")),changed&&$input.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var old=$.fn.button;$.fn.button=Plugin,$.fn.button.Constructor=Button,$.fn.button.noConflict=function(){return $.fn.button=old,this},$(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(e){var $btn=$(e.target).closest(".btn");Plugin.call($btn,"toggle"),$(e.target).is('input[type="radio"], input[type="checkbox"]')||(e.preventDefault(),$btn.is("input,button")?$btn.trigger("focus"):$btn.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(e){$(e.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(e.type))})}(jQuery),function($){"use strict";var Carousel=function(element,options){this.$element=$(element),this.$indicators=this.$element.find(".carousel-indicators"),this.options=options,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",$.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",$.proxy(this.pause,this)).on("mouseleave.bs.carousel",$.proxy(this.cycle,this))};function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.carousel"),options=$.extend({},Carousel.DEFAULTS,$this.data(),"object"==typeof option&&option),action="string"==typeof option?option:options.slide;data||$this.data("bs.carousel",data=new Carousel(this,options)),"number"==typeof option?data.to(option):action?data[action]():options.interval&&data.pause().cycle()})}Carousel.VERSION="3.3.7",Carousel.TRANSITION_DURATION=600,Carousel.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},Carousel.prototype.keydown=function(e){if(!/input|textarea/i.test(e.target.tagName)){switch(e.which){case 37:this.prev();break;case 39:this.next();break;default:return}e.preventDefault()}},Carousel.prototype.cycle=function(e){return e||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval($.proxy(this.next,this),this.options.interval)),this},Carousel.prototype.getItemIndex=function(item){return this.$items=item.parent().children(".item"),this.$items.index(item||this.$active)},Carousel.prototype.getItemForDirection=function(direction,active){var activeIndex=this.getItemIndex(active);if(("prev"==direction&&0===activeIndex||"next"==direction&&activeIndex==this.$items.length-1)&&!this.options.wrap)return active;var itemIndex=(activeIndex+("prev"==direction?-1:1))%this.$items.length;return this.$items.eq(itemIndex)},Carousel.prototype.to=function(pos){var that=this,activeIndex=this.getItemIndex(this.$active=this.$element.find(".
1item.active"));if(!(pos>this.$items.length-1||pos<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){that.to(pos)}):activeIndex==pos?this.pause().cycle():this.slide(activeIndex<pos?"next":"prev",this.$items.eq(pos))},Carousel.prototype.pause=function(e){return e||(this.paused=!0),this.$element.find(".next, .prev").length&&$.support.transition&&(this.$element.trigger($.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},Carousel.prototype.next=function(){if(!this.sliding)return this.slide("next")},Carousel.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},Carousel.prototype.slide=function(type,next){var $active=this.$element.find(".item.active"),$next=next||this.getItemForDirection(type,$active),isCycling=this.interval,direction="next"==type?"left":"right",that=this;if($next.hasClass("active"))return this.sliding=!1;var relatedTarget=$next[0],slideEvent=$.Event("slide.bs.carousel",{relatedTarget:relatedTarget,direction:direction});if(this.$element.trigger(slideEvent),!slideEvent.isDefaultPrevented()){if(this.sliding=!0,isCycling&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var $nextIndicator=$(this.$indicators.children()[this.getItemIndex($next)]);$nextIndicator&&$nextIndicator.addClass("active")}var slidEvent=$.Event("slid.bs.carousel",{relatedTarget:relatedTarget,direction:direction});return $.support.transition&&this.$element.hasClass("slide")?($next.addClass(type),$next[0].offsetWidth,$active.addClass(direction),$next.addClass(direction),$active.one("bsTransitionEnd",function(){$next.removeClass([type,direction].join(" ")).addClass("active"),$active.removeClass(["active",direction].join(" ")),that.sliding=!1,setTimeout(function(){that.$element.trigger(slidEvent)},0)}).emulateTransitionEnd(Carousel.TRANSITION_DURATION)):($active.removeClass("active"),$next.addClass("active"),this.sliding=!1,this.$element.trigger(slidEvent)),isCycling&&this.cycle(),this}};var old=$.fn.carousel;$.fn.carousel=Plugin,$.fn.carousel.Constructor=Carousel,$.fn.carousel.noConflict=function(){return $.fn.carousel=old,this};var clickHandler=function(e){var href,$this=$(this),$target=$($this.attr("data-target")||(href=$this.attr("href"))&&href.replace(/.*(?=#[^\s]+$)/,""));if($target.hasClass("carousel")){var options=$.extend({},$target.data(),$this.data()),slideIndex=$this.attr("data-slide-to");slideIndex&&(options.interval=!1),Plugin.call($target,options),slideIndex&&$target.data("bs.carousel").to(slideIndex),e.preventDefault()}};$(document).on("click.bs.carousel.data-api","[data-slide]",clickHandler).on("click.bs.carousel.data-api","[data-slide-to]",clickHandler),$(window).on("load",function(){$('[data-ride="carousel"]').each(function(){var $carousel=$(this);Plugin.call($carousel,$carousel.data())})})}(jQuery),function($){"use strict";var Collapse=function(element,options){this.$element=$(element),this.options=$.extend({},Collapse.DEFAULTS,options),this.$trigger=$('[data-toggle="collapse"][href="#'+element.id+'"],[data-toggle="collapse"][data-target="#'+element.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};function getTargetFromTrigger($trigger){var href,target=$trigger.attr("data-target")||(href=$trigger.attr("href"))&&href.replace(/.*(?=#[^\s]+$)/,"");return $(target)}function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.collapse"),options=$.extend({},Collapse.DEFAULTS,$this.data(),"object"==typeof option&&option);!data&&options.toggle&&/show|hide/.test(option)&&(options.toggle=!1),data||$this.data("bs.collapse",data=new Collapse(this,options)),"string"==typeof option&&data[option]()})}Collapse.VERSION="3.3.7",Collapse.TRANSITION_DURATION=350,Collapse.DEFAULTS={toggle:!0},Collapse.prototype.dimension=function(){return this.$element.hasClass("width")?"width":"height"},Collapse.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var activesData,actives=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(actives&&actives.length&&(activesData=actives.data("bs.collapse"))&&activesData.transitioning)){var startEvent=$.Event("show.bs.collapse");if(this.$element.trigger(startEvent),!startEvent.isDefaultPrevented()){actives&&actives.length&&(Plugin.call(actives,"hide"),activesData||actives.data("bs.collapse",null));var dimension=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[dimension](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var complete=function(){this.$element.removeClass("collapsing").addClass("collapse in")[dimension](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!$.support.transition)return complete.call(this);var scrollSize=$.camelCase(["scroll",dimension].join("-"));this.$element.one("bsTransitionEnd",$.proxy(complete,this)).emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])}}}},Collapse.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var startEvent=$.Event("hide.bs.collapse");if(this.$element.trigger(startEvent),!startEvent.isDefaultPrevented()){var dimension=this.dimension();this.$element[dimension](this.$element[dimension]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var complete=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};if(!$.support.transition)return complete.call(this);this.$element[dimension](0).one("bsTransitionEnd",$.proxy(complete,this)).emulateTransitionEnd(Collapse.TRANSITION_DURATION)}}},Collapse.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},Collapse.prototype.getParent=function(){return $(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each($.proxy(function(i,element){var $element=$(element);this.addAriaAndCollapsedClass(getTargetFromTrigger($element),$element)},this)).end()},Collapse.prototype.addAriaAndCollapsedClass=function($element,$trigger){var isOpen=$element.hasClass("in");$element.attr("aria-expanded",isOpen),$trigger.toggleClass("collapsed",!isOpen).attr("aria-expanded",isOpen)};var old=$.fn.collapse;$.fn.collapse=Plugin,$.fn.collapse.Constructor=Collapse,$.fn.collapse.noConflict=function(){return $.fn.collapse=old,this},$(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(e){var $this=$(this);$this.attr("data-target")||e.preventDefault();var $target=getTargetFromTrigger($this),option=$target.data("bs.collapse")?"toggle":$this.data();Plugin.call($target,option)})}(jQuery),function($){"use strict";var toggle='[data-toggle="dropdown"]',Dropdown=function(element){$(element).on("click.bs.dropdown",this.toggle)};function getParent($this){var selector=$this.attr("data-target");selector||(selector=(selector=$this.attr("href"))&&/#[A-Za-z]/.test(selector)&&selector.replace(/.*(?=#[^\s]*$)/,""));var $parent=selector&&$(selector);return $parent&&$parent.length?$parent:$this.parent()}function clearMenus(e){e&&3===e.which||($(".dropdown-backdrop").remove(),$(toggle).each(function(){var $this=$(this),$parent=getParent($this),relatedTarget={relatedTarget:this};$parent.hasClass("open")&&(e&&"click"==e.type&&/input|textarea/i.test(e.target.tagName)&&$.contains($parent[0],e.target)||($parent.trigger(e=$.Event("hide.bs.dropdown",relatedTarget)),e.isDefaultPrevented()||($this.attr("aria-expanded","fal
1se"),$parent.removeClass("open").trigger($.Event("hidden.bs.dropdown",relatedTarget)))))}))}Dropdown.VERSION="3.3.7",Dropdown.prototype.toggle=function(e){var $this=$(this);if(!$this.is(".disabled, :disabled")){var $parent=getParent($this),isActive=$parent.hasClass("open");if(clearMenus(),!isActive){"ontouchstart"in document.documentElement&&!$parent.closest(".navbar-nav").length&&$(document.createElement("div")).addClass("dropdown-backdrop").insertAfter($(this)).on("click",clearMenus);var relatedTarget={relatedTarget:this};if($parent.trigger(e=$.Event("show.bs.dropdown",relatedTarget)),e.isDefaultPrevented())return;$this.trigger("focus").attr("aria-expanded","true"),$parent.toggleClass("open").trigger($.Event("shown.bs.dropdown",relatedTarget))}return!1}},Dropdown.prototype.keydown=function(e){if(/(38|40|27|32)/.test(e.which)&&!/input|textarea/i.test(e.target.tagName)){var $this=$(this);if(e.preventDefault(),e.stopPropagation(),!$this.is(".disabled, :disabled")){var $parent=getParent($this),isActive=$parent.hasClass("open");if(!isActive&&27!=e.which||isActive&&27==e.which)return 27==e.which&&$parent.find(toggle).trigger("focus"),$this.trigger("click");var $items=$parent.find(".dropdown-menu li:not(.disabled):visible a");if($items.length){var index=$items.index(e.target);38==e.which&&0<index&&index--,40==e.which&&index<$items.length-1&&index++,~index||(index=0),$items.eq(index).trigger("focus")}}}};var old=$.fn.dropdown;$.fn.dropdown=function(option){return this.each(function(){var $this=$(this),data=$this.data("bs.dropdown");data||$this.data("bs.dropdown",data=new Dropdown(this)),"string"==typeof option&&data[option].call($this)})},$.fn.dropdown.Constructor=Dropdown,$.fn.dropdown.noConflict=function(){return $.fn.dropdown=old,this},$(document).on("click.bs.dropdown.data-api",clearMenus).on("click.bs.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.bs.dropdown.data-api",toggle,Dropdown.prototype.toggle).on("keydown.bs.dropdown.data-api",toggle,Dropdown.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",Dropdown.prototype.keydown)}(jQuery),function($){"use strict";var Modal=function(element,options){this.options=options,this.$body=$(document.body),this.$element=$(element),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,$.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};function Plugin(option,_relatedTarget){return this.each(function(){var $this=$(this),data=$this.data("bs.modal"),options=$.extend({},Modal.DEFAULTS,$this.data(),"object"==typeof option&&option);data||$this.data("bs.modal",data=new Modal(this,options)),"string"==typeof option?data[option](_relatedTarget):options.show&&data.show(_relatedTarget)})}Modal.VERSION="3.3.7",Modal.TRANSITION_DURATION=300,Modal.BACKDROP_TRANSITION_DURATION=150,Modal.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},Modal.prototype.toggle=function(_relatedTarget){return this.isShown?this.hide():this.show(_relatedTarget)},Modal.prototype.show=function(_relatedTarget){var that=this,e=$.Event("show.bs.modal",{relatedTarget:_relatedTarget});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',$.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){that.$element.one("mouseup.dismiss.bs.modal",function(e){$(e.target).is(that.$element)&&(that.ignoreBackdropClick=!0)})}),this.backdrop(function(){var transition=$.support.transition&&that.$element.hasClass("fade");that.$element.parent().length||that.$element.appendTo(that.$body),that.$element.show().scrollTop(0),that.adjustDialog(),transition&&that.$element[0].offsetWidth,that.$element.addClass("in"),that.enforceFocus();var e=$.Event("shown.bs.modal",{relatedTarget:_relatedTarget});transition?that.$dialog.one("bsTransitionEnd",function(){that.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(Modal.TRANSITION_DURATION):that.$element.trigger("focus").trigger(e)}))},Modal.prototype.hide=function(e){e&&e.preventDefault(),e=$.Event("hide.bs.modal"),this.$element.trigger(e),this.isShown&&!e.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),$(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("
1click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),$.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",$.proxy(this.hideModal,this)).emulateTransitionEnd(Modal.TRANSITION_DURATION):this.hideModal())},Modal.prototype.enforceFocus=function(){$(document).off("focusin.bs.modal").on("focusin.bs.modal",$.proxy(function(e){document===e.target||this.$element[0]===e.target||this.$element.has(e.target).length||this.$element.trigger("focus")},this))},Modal.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",$.proxy(function(e){27==e.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},Modal.prototype.resize=function(){this.isShown?$(window).on("resize.bs.modal",$.proxy(this.handleUpdate,this)):$(window).off("resize.bs.modal")},Modal.prototype.hideModal=function(){var that=this;this.$element.hide(),this.backdrop(function(){that.$body.removeClass("modal-open"),that.resetAdjustments(),that.resetScrollbar(),that.$element.trigger("hidden.bs.modal")})},Modal.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},Modal.prototype.backdrop=function(callback){var that=this,animate=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var doAnimate=$.support.transition&&animate;if(this.$backdrop=$(document.createElement("div")).addClass("modal-backdrop "+animate).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",$.proxy(function(e){this.ignoreBackdropClick?this.ignoreBackdropClick=!1:e.target===e.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide())},this)),doAnimate&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!callback)return;doAnimate?this.$backdrop.one("bsTransitionEnd",callback).emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION):callback()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var callbackRemove=function(){that.removeBackdrop(),callback&&callback()};$.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",callbackRemove).emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION):callbackRemove()}else callback&&callback()},Modal.prototype.handleUpdate=function(){this.adjustDialog()},Modal.prototype.adjustDialog=function(){var modalIsOverflowing=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&modalIsOverflowing?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!modalIsOverflowing?this.scrollbarWidth:""})},Modal.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},Modal.prototype.checkScrollbar=function(){var fullWindowWidth=window.innerWidth;if(!fullWindowWidth){var documentElementRect=document.documentElement.getBoundingClientRect();fullWindowWidth=documentElementRect.right-Math.abs(documentElementRect.left)}this.bodyIsOverflowing=document.body.clientWidth<fullWindowWidth,this.scrollbarWidth=this.measureScrollbar()},Modal.prototype.setScrollbar=function(){var bodyPad=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",bodyPad+this.scrollbarWidth)},Modal.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},Modal.prototype.measureScrollbar=function(){var scrollDiv=document.createElement("div");scrollDiv.className="modal-scrollbar-measure",this.$body.append(scrollDiv);var scrollbarWidth=scrollDiv.offsetWidth-scrollDiv.clientWidth;return this.$body[0].removeChild(scrollDiv),scrollbarWidth};var old=$.fn.modal;$.fn.modal=Plugin,$.fn.modal.Constructor=Modal,$.fn.modal.noConflict=function(){return $.fn.modal=old,this},$(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(e){var $this=$(this),href=$this.attr("href"),$target=$($this.attr("data-target")||href&&href.replace(/.*(?=#[^\s]+$)/,"")),option=$target.data("bs.modal")?"toggle":$.extend({remote:!/#/.test(href)&&href},$target.data(),$this.data());$this.is("a")&&e.preventDefault(),$target.one("show.bs.modal",function(showEvent){showEvent.isDefaultPrevented()||$target.one("hidden.bs.modal",function(){$this.is(":visible")&&$this.trigger("focus")})}),Plugin.call($target,option,this)})}(jQuery),function($){"use strict";var Tooltip=function(element,options){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",element,options)};Tooltip.VERSION="3.3.7",Tooltip.TRANSITION_DURATION=150,Tooltip.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},Tooltip.prototype.init=function(type,element,options){if(this.enabled=!0,this.type=type,this.$element=$(element),this.options=this.getOptions(options),this.$viewport=this.options.viewport&&$($.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var triggers=this.options.trigger.split(" "),i=triggers.length;i--;){var trigger=triggers[i];if("click"==trigger)this.$element.on("click."+this.type,this.options.selector,$.proxy(this.toggle,this));else if("manual"!=trigger){var eventIn="hover"==trigger?"mouseenter":"focusin",eventOut="hover"==trigger?"mouseleave":"focusout";this.$element.on(eventIn+"."+this.type,this.options.selector,$.proxy(this.enter,this)),this.$element.on(eventOut+"."+this.type,this.options.selector,$.proxy(this.leave,this))}}this.options.selector?this._options=$.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},Tooltip.prototype.getDefaults=function(){return Tooltip.DEFAULTS},Tooltip.prototype.getOptions=function(options){return(options=$.extend({},this.getDefaults(),this.$element.data(),options)).delay&&"number"==typeof options.delay&&(options.delay={show:options.delay,hide:options.delay}),options},Tooltip.prototype.getDelegateOptions=function(){var options={},defaults=this.getDefaults();return this._options&&$.each(this._options,function(key,value){defaults[key]!=value&&(options[key]=value)}),options},Tooltip.prototype.enter=function(obj){var self=obj instanceof this.constructor?obj:$(obj.currentTarget).data("bs."+this.type);if(self||(self=new this.constructor(obj.currentTarget,this.getDelegateOptions()),$(obj.currentTarget).data("bs."+this.type,self)),obj instanceof $.Event&&(self.inState["focusin"==obj.type?"focu
1s":"hover"]=!0),self.tip().hasClass("in")||"in"==self.hoverState)self.hoverState="in";else{if(clearTimeout(self.timeout),self.hoverState="in",!self.options.delay||!self.options.delay.show)return self.show();self.timeout=setTimeout(function(){"in"==self.hoverState&&self.show()},self.options.delay.show)}},Tooltip.prototype.isInStateTrue=function(){for(var key in this.inState)if(this.inState[key])return!0;return!1},Tooltip.prototype.leave=function(obj){var self=obj instanceof this.constructor?obj:$(obj.currentTarget).data("bs."+this.type);if(self||(self=new this.constructor(obj.currentTarget,this.getDelegateOptions()),$(obj.currentTarget).data("bs."+this.type,self)),obj instanceof $.Event&&(self.inState["focusout"==obj.type?"focus":"hover"]=!1),!self.isInStateTrue()){if(clearTimeout(self.timeout),self.hoverState="out",!self.options.delay||!self.options.delay.hide)return self.hide();self.timeout=setTimeout(function(){"out"==self.hoverState&&self.hide()},self.options.delay.hide)}},Tooltip.prototype.show=function(){var e=$.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var inDom=$.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!inDom)return;var that=this,$tip=this.tip(),tipId=this.getUID(this.type);this.setContent(),$tip.attr("id",tipId),this.$element.attr("aria-describedby",tipId),this.options.animation&&$tip.addClass("fade");var placement="function"==typeof this.options.placement?this.options.placement.call(this,$tip[0],this.$element[0]):this.options.placement,autoToken=/\s?auto?\s?/i,autoPlace=autoToken.test(placement);autoPlace&&(placement=placement.replace(autoToken,"")||"top"),$tip.detach().css({top:0,left:0,display:"block"}).addClass(placement).data("bs."+this.type,this),this.options.container?$tip.appendTo(this.options.container):$tip.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var pos=this.getPosition(),actualWidth=$tip[0].offsetWidth,actualHeight=$tip[0].offsetHeight;if(autoPlace){var orgPlacement=placement,viewportDim=this.getPosition(this.$viewport);placement="bottom"==placement&&pos.bottom+actualHeight>viewportDim.bottom?"top":"top"==placement&&pos.top-actualHeight<viewportDim.top?"bottom":"right"==placement&&pos.right+actualWidth>viewportDim.width?"left":"left"==placement&&pos.left-actualWidth<viewportDim.left?"right":placement,$tip.removeClass(orgPlacement).addClass(placement)}var calculatedOffset=this.getCalculatedOffset(placement,pos,actualWidth,actualHeight);this.applyPlacement(calculatedOffset,placement);var complete=function(){var prevHoverState=that.hoverState;that.$element.trigger("shown.bs."+that.type),that.hoverState=null,"out"==prevHoverState&&that.leave(that)};$.support.transition&&this.$tip.hasClass("fade")?$tip.one("bsTransitionEnd",complete).emulateTransitionEnd(Tooltip.TRANSITION_DURATION):complete()}},Tooltip.prototype.applyPlacement=function(offset,placement){var $tip=this.tip(),width=$tip[0].offsetWidth,height=$tip[0].offsetHeight,marginTop=parseInt($tip.css("margin-top"),10),marginLeft=parseInt($tip.css("margin-left"),10);isNaN(marginTop)&&(marginTop=0),isNaN(marginLeft)&&(marginLeft=0),offset.top+=marginTop,offset.left+=marginLeft,$.offset.setOffset($tip[0],$.extend({using:function(props){$tip.css({top:Math.round(props.top),left:Math.round(props.left)})}},offset),0),$tip.addClass("in");var actualWidth=$tip[0].offsetWidth,actualHeight=$tip[0].offsetHeight;"top"==placement&&actualHeight!=height&&(offset.top=offset.top+height-actualHeight);var delta=this.getViewportAdjustedDelta(placement,offset,actualWidth,actualHeight);delta.left?offset.left+=delta.left:offset.top+=delta.top;var isVertical=/top|bottom/.test(placement),arrowDelta=isVertical?2*delta.left-width+actualWidth:2*delta.top-height+actualHeight,arrowOffsetPosition=isVertical?"offsetWidth":"offsetHeight";$tip.offset(offset),this.replaceArrow(arrowDelta,$tip[0][arrowOffsetPosition],isVertical)},Tooltip.prototype.replaceArrow=function(delta,dimension,isVertical){this.arrow().css(isVertical?"left":"top",50*(1-delta/dimension)+"%").css(isVertical?"top":"left","")},Tooltip.prototype.setContent=function(){var $tip=this.tip(),title=this.getTitle();$tip.find(".tooltip-inner")[this.options.html?"html":"text"](title),$tip.removeClass("fade in top bottom left right")},Tooltip.prototype.hide=function(callback){var that=this,$tip=$(this.$tip),e=$.Event("hide.bs."+this.type);function complete(){"in"!=that.hoverState&&$tip.detach(),that.$element&&that.$element.removeAttr("aria-describedby").trigger("hidden.bs."+that.type),callback&&callback()}if(this.$element.trigger(e),!e.isDefaultPrevented())return $tip.removeClass("in"),$.support.transition&&$tip.hasClass("fade")?$tip.one("bsTransitionEnd",complete).emulateTransitionEnd(Tooltip.TRANSITION_DURATION):complete(),this.hoverState=null,this},Tooltip.prototype.fixTitle=function(){var $e=this.$element;($e.attr("title")||"string"!=typeof $e.attr("data-original-title"))&&$e.attr("data-original-title",$e.attr("title")||"").attr("title","")},Tooltip.prototype.hasContent=function(){return this.getTitle()},Tooltip.prototype.getPosition=function($element){var el=($element=$element||this.$element)[0],isBody="BODY"==el.tagName,elRect=el.getBoundingClientRect();null==elRect.width&&(elRect=$.extend({},elRect,{width:elRect.right-elRect.left,height:elRect.bottom-elRect.top}));
vendor: 12,477 bytes, line 1
1var isSvg=window.SVGElement&&el instanceof window.SVGElement,elOffset=isBody?{top:0,left:0}:isSvg?null:$element.offset(),scroll={scroll:isBody?document.documentElement.scrollTop||document.body.scrollTop:$element.scrollTop()},outerDims=isBody?{width:$(window).width(),height:$(window).height()}:null;return $.extend({},elRect,scroll,outerDims,elOffset)},Tooltip.prototype.getCalculatedOffset=function(placement,pos,actualWidth,actualHeight){return"bottom"==placement?{top:pos.top+pos.height,left:pos.left+pos.width/2-actualWidth/2}:"top"==placement?{top:pos.top-actualHeight,left:pos.left+pos.width/2-actualWidth/2}:"left"==placement?{top:pos.top+pos.height/2-actualHeight/2,left:pos.left-actualWidth}:{top:pos.top+pos.height/2-actualHeight/2,left:pos.left+pos.width}},Tooltip.prototype.getViewportAdjustedDelta=function(placement,pos,actualWidth,actualHeight){var delta={top:0,left:0};if(!this.$viewport)return delta;var viewportPadding=this.options.viewport&&this.options.viewport.padding||0,viewportDimensions=this.getPosition(this.$viewport);if(/right|left/.test(placement)){var topEdgeOffset=pos.top-viewportPadding-viewportDimensions.scroll,bottomEdgeOffset=pos.top+viewportPadding-viewportDimensions.scroll+actualHeight;topEdgeOffset<viewportDimensions.top?delta.top=viewportDimensions.top-topEdgeOffset:bottomEdgeOffset>viewportDimensions.top+viewportDimensions.height&&(delta.top=viewportDimensions.top+viewportDimensions.height-bottomEdgeOffset)}else{var leftEdgeOffset=pos.left-viewportPadding,rightEdgeOffset=pos.left+viewportPadding+actualWidth;leftEdgeOffset<viewportDimensions.left?delta.left=viewportDimensions.left-leftEdgeOffset:rightEdgeOffset>viewportDimensions.right&&(delta.left=viewportDimensions.left+viewportDimensions.width-rightEdgeOffset)}return delta},Tooltip.prototype.getTitle=function(){var $e=this.$element,o=this.options;return $e.attr("data-original-title")||("function"==typeof o.title?o.title.call($e[0]):o.title)},Tooltip.prototype.getUID=function(prefix){for(;prefix+=~~(1e6*Math.random()),document.getElementById(prefix););return prefix},Tooltip.prototype.tip=function(){if(!this.$tip&&(this.$tip=$(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},Tooltip.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},Tooltip.prototype.enable=function(){this.enabled=!0},Tooltip.prototype.disable=function(){this.enabled=!1},Tooltip.prototype.toggleEnabled=function(){this.enabled=!this.enabled},Tooltip.prototype.toggle=function(e){var self=this;e&&((self=$(e.currentTarget).data("bs."+this.type))||(self=new this.constructor(e.currentTarget,this.getDelegateOptions()),$(e.currentTarget).data("bs."+this.type,self))),e?(self.inState.click=!self.inState.click,self.isInStateTrue()?self.enter(self):self.leave(self)):self.tip().hasClass("in")?self.leave(self):self.enter(self)},Tooltip.prototype.destroy=function(){var that=this;clearTimeout(this.timeout),this.hide(function(){that.$element.off("."+that.type).removeData("bs."+that.type),that.$tip&&that.$tip.detach(),that.$tip=null,that.$arrow=null,that.$viewport=null,that.$element=null})};var old=$.fn.tooltip;$.fn.tooltip=function(option){return this.each(function(){var $this=$(this),data=$this.data("bs.tooltip"),options="object"==typeof option&&option;!data&&/destroy|hide/.test(option)||(data||$this.data("bs.tooltip",data=new Tooltip(this,options)),"string"==typeof option&&data[option]())})},$.fn.tooltip.Constructor=Tooltip,$.fn.tooltip.noConflict=function(){return $.fn.tooltip=old,this}}(jQuery),function($){"use strict";var Popover=function(element,options){this.init("popover",element,options)};if(!$.fn.tooltip)throw new Error("Popover requires tooltip.js");Popover.VERSION="3.3.7",Popover.DEFAULTS=$.extend({},$.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),((Popover.prototype=$.extend({},$.fn.tooltip.Constructor.prototype)).constructor=Popover).prototype.getDefaults=function(){return Popover.DEFAULTS},Popover.prototype.setContent=function(){var $tip=this.tip(),title=this.getTitle(),content=this.getContent();$tip.find(".popover-title")[this.options.html?"html":"text"](title),$tip.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof content?"html":"append":"text"](content),$tip.removeClass("fade top bottom left right in"),$tip.find(".popover-title").html()||$tip.find(".popover-title").hide()},Popover.prototype.hasContent=function(){return this.getTitle()||this.getContent()},Popover.prototype.getContent=function(){var $e=this.$element,o=this.options;return $e.attr("data-content")||("function"==typeof o.content?o.content.call($e[0]):o.content)},Popover.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var old=$.fn.popover;$.fn.popover=function(option){return this.each(function(){var $this=$(this),data=$this.data("bs.popover"),options="object"==typeof option&&option;!data&&/destroy|hide/.test(option)||(data||$this.data("bs.popover",data=new Popover(this,options)),"string"==typeof option&&data[option]())})},$.fn.popover.Constructor=Popover,$.fn.popover.noConflict=function(){return $.fn.popover=old,this}}(jQuery),function($){"use strict";function ScrollSpy(element,options){this.$body=$(document.body),this.$scrollElement=$(element).is(document.body)?$(window):$(element),this.options=$.extend({},ScrollSpy.DEFAULTS,options),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",$.proxy(this.process,this)),this.refresh(),this.process()}function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.scrollspy"),options="object"==typeof option&&option;data||$this.data("bs.scrollspy",data=new ScrollSpy(this,options)),"string"==typeof option&&data[option]()})}ScrollSpy.VERSION="3.3.7",ScrollSpy.DEFAULTS={offset:10},ScrollSpy.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},ScrollSpy.prototype.refresh=function(){var that=this,offsetMethod="offset",offsetBase=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),$.isWindow(this.$scrollElement[0])||(offsetMethod="position",offsetBase=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var $el=$(this),href=$el.data("target")||$el.attr("href"),$href=/^#./.test(href)&&$(href);return $href&&$href.length&&$href.is(":visible")&&[[$href[offsetMethod]().top+offsetBase,href]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){that.offsets.push(this[0]),that.targets.push(this[1])})},ScrollSpy.prototype.process=function(){var i,scrollTop=this.$scrollElement.scrollTop()+this.options.offset,scrollHeight=this.getScrollHeight(),maxScroll=this.options.offset+scrollHeight-this.$scrollElement.height(),offsets=this.offsets,targets=this.targets,activeTarget=this.activeTarget;if(this.scrollHeight!=scrollHeight&&this.refresh(),maxScroll<=scrollTop)return activeTarget!=(i=targets[targets.length-1])&&this.activate(i);if(activeTarget&&scrollTop<offsets[0])return this.activeTarget=null,this.clear();for(i=offsets.length;i--;)activeTarget!=targets[i]&&scrollTop>=offsets[i]&&(void 0===offsets[i+1]||scrollTop<offsets[i+1])&&this.activate(targets[i])},ScrollSpy.prototype.activate=function(target){this.activeTarget=target,this.clear();var selector=this.selector+'[data-target="'+target+'"],'+this.selector+'[href="'+target+'"]',active=$(selector).parents("li").addClass("active");active.parent(".dropdown-menu").length&&(active=active.closest("li.dropdown").addClass("active")),active.trigger("activate.bs.scrollspy")},ScrollSpy.prototype.clear=function(){$(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var old=$.fn.scrollspy;$.fn.scrollspy=Plugin,$.fn.scrollspy.Constructor=ScrollSpy,$.fn.scrollspy.noConflict=function(){return $.fn.scrollspy=old,this},$(window).on("load.bs.scrollspy.data-api",function(){$('[data-spy="scroll"]').each(function(){var $spy=$(this);Plugin.call($spy,$spy.data())})})}(jQuery),function($){"use strict";var Tab=function(element){this.element=$(element)};function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.tab");data||$this.data("bs.tab",data=new Tab(this)),"string"==typeof option&&data[option]()})}Tab.VERSION="3.3.7",Tab.TRANSITION_DURATION=150,Tab.prototype.show=function(){var $this=this.element,$ul=$this.closest("ul:not(.dropdown-menu)"),selector=$this.data("target");if(selector||(selector=(selector=$this.attr("href"))&&selector.replace(/.*(?=#[^\s]*$)/,"")),!$this.parent("li").hasClass("active")){var $previous=$ul.find(".active:last a"),hideEvent=$.Event("hide.bs.tab",{relatedTarget:$this[0]}),showEvent=$.Event("show.bs.tab",{relatedTarget:$previous[0]});if($previous.trigger(hideEvent),$this.trigger(showEvent),!showEvent.isDefaultPrevented()&&!hideEvent.isDefaultPrevented()){var $target=$(selector);this.activate($this.closest("li"),$ul),this.activate($target,$target.parent(),function(){$previous.trigger({type:"hidden.bs.tab",relatedTarget:$this[0]}),$this.trigger({type:"shown.bs.tab",relatedTarget:$previous[0]})})}}},Tab.prototype.activate=function(element,container,callback){var $active=container.find("> .active"),transition=callback&&$.support.transition&&($active.length&&$active.hasClass("fade")||!!container.find("> .fade").length);function next(){$active.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),element.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),transition?(element[0].offsetWidth,element.addClass("in")):element.removeClass("fade"),element.parent(".dropdown-menu").length&&element.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),callback&&callback()}$active.length&&transition?$active.one("bsTransitionEnd",next).emulateTransitionEnd(Tab.TRANSITION_DURATION):next(),$active.removeClass("in")};var old=$.fn.tab;$.fn.tab=Plugin,$.fn.tab.Constructor=Tab,$.fn.tab.noConflict=function(){return $.fn.tab=old,this};var clickHandler=function(e){e.preventDefault(),Plugin.call($(this),"show")};$(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',clickHandler).on("click.bs.tab.data-api",'[data-toggle="pill"]',clickHandler)}(jQuery),function($){"use strict";var Affix=function(element,options){this.options=$.extend({},Affix.DEFAULTS,options),this.$target=$(this.options.target).on("scroll.bs.affix.data-api",$.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",$.proxy(this.checkPositionWithEventLoop,this)),this.$element=$(element),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.affix"),options="object"==typeof option&&option;data||$this.data("bs.affix",data=new Affix(this,options)),"string"==typeof option&&data[option]()})}Affix.VERSION="3.3.7",Affix.RESET="affix affix-top affix-bottom",Affix.DEFAULTS={offset:0,target:window},Affix.prototype.getState=function(scrollHeight,height,offsetTop,offsetBottom){var scrollTop=this.$target.scrollTop(),position=this.$element.offset(),targetHeight=this.$target.height();if(null!=offsetTop&&"top"==this.affixed)return scrollTop<offsetTop&&"top";if("bottom"==this.affixed)return null!=offsetTop?!(scrollTop+this.unpin<=position.top)&&"bottom":!(scrollTop+targetHeight<=scrollHeight-offsetBottom)&&"bottom";var initializing=null==this.affixed,colliderTop=initializing?scrollTop:position.top;return null!=offsetTop&&scrollTop<=offsetTop?"top":null!=offsetBottom&&scrollHeight-offsetBottom<=colliderTop+(initializing?targetHeight:height)&&"bottom"},Affix.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(Affix.RESET).addClass("affix");var scrollTop=this.$target.scrollTop(),position=this.$element.offset();return this.pinnedOffset=position.top-scrollTop},Affix.prototype.checkPositionWithEventLoop=function(){setTimeout($.proxy(this.checkPosition,this),1)}
1,Affix.prototype.checkPosition=function(){if(this.$element.is(":visible")){var height=this.$element.height(),offset=this.options.offset,offsetTop=offset.top,offsetBottom=offset.bottom,scrollHeight=Math.max($(document).height(),$(document.body).height());"object"!=typeof offset&&(offsetBottom=offsetTop=offset),"function"==typeof offsetTop&&(offsetTop=offset.top(this.$element)),"function"==typeof offsetBottom&&(offsetBottom=offset.bottom(this.$element));var affix=this.getState(scrollHeight,height,offsetTop,offsetBottom);if(this.affixed!=affix){null!=this.unpin&&this.$element.css("top","");var affixType="affix"+(affix?"-"+affix:""),e=$.Event(affixType+".bs.affix");if(this.$element.trigger(e),e.isDefaultPrevented())return;this.affixed=affix,this.unpin="bottom"==affix?this.getPinnedOffset():null,this.$element.removeClass(Affix.RESET).addClass(affixType).trigger(affixType.replace("affix","affixed")+".bs.affix")}"bottom"==affix&&this.$element.offset({top:scrollHeight-height-offsetBottom})}};var old=$.fn.affix;$.fn.affix=Plugin,$.fn.affix.Constructor=Affix,$.fn.affix.noConflict=function(){return $.fn.affix=old,this},$(window).on("load",function(){$('[data-spy="affix"]').each(function(){var $spy=$(this),data=$spy.data();data.offset=data.offset||{},null!=data.offsetBottom&&(data.offset.bottom=data.offsetBottom),null!=data.offsetTop&&(data.offset.top=data.offsetTop),Plugin.call($spy,data)})})}(jQuery),function(window){"use strict";var minErrConfig={objectMaxDepth:5,urlErrorParamsEnabled:!0};function errorHandlingConfig(config){if(!isObject(config))return minErrConfig;isDefined(config.objectMaxDepth)&&(minErrConfig.objectMaxDepth=isValidObjectMaxDepth(config.objectMaxDepth)?config.objectMaxDepth:NaN),isDefined(config.urlErrorParamsEnabled)&&isBoolean(config.urlErrorParamsEnabled)&&(minErrConfig.urlErrorParamsEnabled=config.urlErrorParamsEnabled)}function isValidObjectMaxDepth(maxDepth){return isNumber(maxDepth)&&0<maxDepth}function minErr(module,ErrorConstructor){ErrorConstructor=ErrorConstructor||Error;var url="https://errors.angularjs.org/1.7.3/",regex=url.replace(".","\\.")+"[\\s\\S]*",errRegExp=new RegExp(regex,"g");return function(){var paramPrefix,i,code=arguments[0],template=arguments[1],message="["+(module?module+":":"")+code+"] ",templateArgs=sliceArgs(arguments,2).map(function(arg){return toDebugString(arg,minErrConfig.objectMaxDepth)});if(message+=template.replace(/\{\d+\}/g,function(match){var index=+match.slice(1,-1);return index<templateArgs.length?templateArgs[index].replace(errRegExp,""):match}),message+="\n"+url+(module?module+"/":"")+code,minErrConfig.urlErrorParamsEnabled)for(i=0,paramPrefix="?";i<templateArgs.length;i++,paramPrefix="&")message+=paramPrefix+"p"+i+"="+encodeURIComponent(templateArgs[i]);return new ErrorConstructor(message)}}var msie,jqLite,jQuery,angularModule,REGEX_STRING_REGEXP=/^\/(.+)\/([a-z]*)$/,VALIDITY_STATE_PROPERTY="validity",hasOwnProperty=Object.prototype.hasOwnProperty,lowercase=function(string){return isString(string)?string.toLowerCase():string},uppercase=function(string){return isString(string)?string.toUpperCase():string},slice=[].slice,splice=[].splice,push=[].push,toString=Object.prototype.toString,getPrototypeOf=Object.getPrototypeOf,ngMinErr=minErr("ng"),angular=window.angular||(window.angular={}),uid=0;function isArrayLike(obj){if(null==obj||isWindow(obj))return!1;if(isArray(obj)||isString(obj)||jqLite&&obj instanceof jqLite)return!0;var length="length"in Object(obj)&&obj.length;return isNumber(length)&&(0<=length&&length-1 in obj||"function"==typeof obj.item)}function forEach(obj,iterator,context){var key,length;if(obj)if(isFunction(obj))for(key in obj)"prototype"!==key&&"length"!==key&&"name"!==key&&obj.hasOwnProperty(key)&&iterator.call(context,obj[key],key,obj);else if(isArray(obj)||isArrayLike(obj)){var isPrimitive="object"!=typeof obj;for(key=0,length=obj.length;key<length;key++)(isPrimitive||key in obj)&&iterator.call(context,obj[key],key,obj)}else if(obj.forEach&&obj.forEach!==forEach)obj.forEach(iterator,context,obj);else if(isBlankObject(obj))for(key in obj)iterator.call(context,obj[key],key,obj);else if("function"==typeof obj.hasOwnProperty)for(key in obj)obj.hasOwnProperty(key)&&iterator.call(context,obj[key],key,obj);else for(key in obj)hasOwnProperty.call(obj,key)&&iterator.call(context,obj[key],key,obj);return obj}function forEachSorted(obj,iterator,context){for(var keys=Object.keys(obj).sort(),i=0;i<keys.length;i++)iterator.call(context,obj[keys[i]],keys[i]);return keys}function reverseParams(iteratorFn){return function(value,key){iteratorFn(key,value)}}function nextUid(){return++uid}function setHashKey(obj,h){h?obj.$$hashKey=h:delete obj.$$hashKey}function baseExtend(dst,objs,deep){for(var h=dst.$$hashKey,i=0,ii=objs.length;i<ii;++i){var obj=objs[i];if(isObject(obj)||isFunction(obj))for(var keys=Object.keys(obj),j=0,jj=keys.length;j<jj;j++){var key=keys[j],src=obj[key];deep&&isObject(src)?isDate(src)?dst[key]=new Date(src.valueOf()):isRegExp(src)?dst[key]=new RegExp(src):src.nodeName?dst[key]=src.cloneNode(!0):isElement(src)?dst[key]=src.clone():(isObject(dst[key])||(dst[key]=isArray(src)?[]:{}),baseExtend(dst[key],[src],!0)):dst[key]=src}}return setHashKey(dst,h),dst}function extend(dst){return baseExtend(dst,slice.call(arguments,1
1),!1)}function merge(dst){return baseExtend(dst,slice.call(arguments,1),!0)}function toInt(str){return parseInt(str,10)}msie=window.document.documentMode;var isNumberNaN=Number.isNaN||function(num){return num!=num};function inherit(parent,extra){return extend(Object.create(parent),extra)}function noop(){}function identity($){return $}function valueFn(value){return function(){return value}}function hasCustomToString(obj){return isFunction(obj.toString)&&obj.toString!==toString}function isUndefined(value){return void 0===value}function isDefined(value){return void 0!==value}function isObject(value){return null!==value&&"object"==typeof value}function isBlankObject(value){return null!==value&&"object"==typeof value&&!getPrototypeOf(value)}function isString(value){return"string"==typeof value}function isNumber(value){return"number"==typeof value}function isDate(value){return"[object Date]"===toString.call(value)}function isArray(arr){return Array.isArray(arr)||arr instanceof Array}function isError(value){switch(toString.call(value)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return value instanceof Error}}function isFunction(value){return"function"==typeof value}function isRegExp(value){return"[object RegExp]"===toString.call(value)}function isWindow(obj){return obj&&obj.window===obj}function isScope(obj){return obj&&obj.$evalAsync&&obj.$watch}function isBoolean(value){return"boolean"==typeof value}function isPromiseLike(obj){return obj&&isFunction(obj.then)}noop.$inject=[],identity.$inject=[];var TYPED_ARRAY_REGEXP=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array]$/;var trim=function(value){return isString(value)?value.trim():value},escapeForRegexp=function(s){return s.replace(/([-()[\]{}+?*.$^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};function isElement(node){return!(!node||!(node.nodeName||node.prop&&node.attr&&node.find))}function nodeName_(element){return lowercase(element.nodeName||element[0]&&element[0].nodeName)}function includes(array,obj){return-1!==Array.prototype.indexOf.call(array,obj)}function arrayRemove(array,value){var index=array.indexOf(value);return 0<=index&&array.splice(index,1),index}function copy(source,destination,maxDepth){var obj,value,stackSource=[],stackDest=[];if(maxDepth=isValidObjectMaxDepth(maxDepth)?maxDepth:NaN,destination){if((value=destination)&&isNumber(value.length)&&TYPED_ARRAY_REGEXP.test(toString.call(value))||(obj=destination,"[object ArrayBuffer]"===toString.call(obj)))throw ngMinErr("cpta","Can't copy! TypedArray destination cannot be mutated.");if(source===destination)throw ngMinErr("cpi","Can't copy! Source and destination are identical.");return isArray(destination)?destination.length=0:forEach(destination,function(value,key){"$$hashKey"!==key&&delete destination[key]}),stackSource.push(source),stackDest.push(destination),copyRecurse(source,destination,maxDepth)}return copyElement(source,maxDepth);function copyRecurse(source,destination,maxDepth){if(--maxDepth<0)return"...";var key,h=destination.$$hashKey;if(isArray(source))for(var i=0,ii=source.length;i<ii;i++)destination.push(copyElement(source[i],maxDepth));else if(isBlankObject(source))for(key in source)destination[key]=copyElement(source[key],maxDepth);else if(source&&"function"==typeof source.hasOwnProperty)for(key in source)source.hasOwnProperty(key)&&(destination[key]=copyElement(source[key],maxDepth));else for(key in source)hasOwnProperty.call(source,key)&&(destination[key]=copyElement(source[key],maxDepth));return setHashKey(destination,h),destination}function copyElement(source,maxDepth){if(!isObject(source))return source;var index=stackSource.indexOf(source);if(-1!==index)return stackDest[index];if(isWindow(source)||isScope(source))throw ngMinErr("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");var needsRecurse=!1,destination=function(source){switch(toString.call(source)){case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Float32Array]":case"[object Float64Array
1]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return new source.constructor(copyElement(source.buffer),source.byteOffset,source.length);case"[object ArrayBuffer]":if(source.slice)return source.slice(0);var copied=new ArrayBuffer(source.byteLength);return new Uint8Array(copied).set(new Uint8Array(source)),copied;case"[object Boolean]":case"[object Number]":case"[object String]":case"[object Date]":return new source.constructor(source.valueOf());case"[object RegExp]":var re=new RegExp(source.source,source.toString().match(/[^/]*$/)[0]);return re.lastIndex=source.lastIndex,re;case"[object Blob]":return new source.constructor([source],{type:source.type})}if(isFunction(source.cloneNode))return source.cloneNode(!0)}(source);return void 0===destination&&(destination=isArray(source)?[]:Object.create(getPrototypeOf(source)),needsRecurse=!0),stackSource.push(source),stackDest.push(destination),needsRecurse?copyRecurse(source,destination,maxDepth):destination}}function simpleCompare(a,b){return a===b||a!=a&&b!=b}function equals(o1,o2){if(o1===o2)return!0;if(null===o1||null===o2)return!1;if(o1!=o1&&o2!=o2)return!0;var length,key,keySet,t1=typeof o1;if(t1===typeof o2&&"object"===t1){if(!isArray(o1)){if(isDate(o1))return!!isDate(o2)&&simpleCompare(o1.getTime(),o2.getTime());if(isRegExp(o1))return!!isRegExp(o2)&&o1.toString()===o2.toString();if(isScope(o1)||isScope(o2)||isWindow(o1)||isWindow(o2)||isArray(o2)||isDate(o2)||isRegExp(o2))return!1;for(key in keySet=createMap(),o1)if("$"!==key.charAt(0)&&!isFunction(o1[key])){if(!equals(o1[key],o2[key]))return!1;keySet[key]=!0}for(key in o2)if(!(key in keySet)&&"$"!==key.charAt(0)&&isDefined(o2[key])&&!isFunction(o2[key]))return!1;return!0}if(!isArray(o2))return!1;if((length=o1.length)===o2.length){for(key=0;key<length;key++)if(!equals(o1[key],o2[key]))return!1;return!0}}return!1}var csp=function(){if(!isDefined(csp.rules)){var ngCspElement=window.document.querySelector("[ng-csp]")||window.document.querySelector("[data-ng-csp]");if(ngCspElement){var ngCspAttribute=ngCspElement.getAttribute("ng-csp")||ngCspElement.getAttribute("data-ng-csp");csp.rules={noUnsafeEval:!ngCspAttribute||-1!==ngCspAttribute.indexOf("no-unsafe-eval"),noInlineStyle:!ngCspAttribute||-1!==ngCspAttribute.indexOf("no-inline-style")}}else csp.rules={noUnsafeEval:function(){try{return new Function(""),!1}catch(e){return!0}}(),noInlineStyle:!1}}return csp.rules},jq=function(){if(isDefined(jq.name_))return jq.name_;var el,i,prefix,name,ii=ngAttrPrefixes.length;for(i=0;i<ii;++i)if(prefix=ngAttrPrefixes[i],el=window.document.querySelector("["+prefix.replace(":","\\:")+"jq]")){name=el.getAttribute(prefix+"jq");break}return jq.name_=name};function concat(array1,array2,index){return array1.concat(slice.call(array2,index))}function sliceArgs(args,startIndex){return slice.call(args,startIndex||
10)}function bind(self,fn){var curryArgs=2<arguments.length?sliceArgs(arguments,2):[];return!isFunction(fn)||fn instanceof RegExp?fn:curryArgs.length?function(){return arguments.length?fn.apply(self,concat(curryArgs,arguments,0)):fn.apply(self,curryArgs)}:function(){return arguments.length?fn.apply(self,arguments):fn.call(self)}}function toJsonReplacer(key,value){var val=value;return"string"==typeof key&&"$"===key.charAt(0)&&"$"===key.charAt(1)?val=void 0:isWindow(value)?val="$WINDOW":value&&window.document===value?val="$DOCUMENT":isScope(value)&&(val="$SCOPE"),val}function toJson(obj,pretty){if(!isUndefined(obj))return isNumber(pretty)||(pretty=pretty?2:null),JSON.stringify(obj,toJsonReplacer,pretty)}function fromJson(json){return isString(json)?JSON.parse(json):json}var ALL_COLONS=/:/g;function timezoneToOffset(timezone,fallback){timezone=timezone.replace(ALL_COLONS,"");var requestedTimezoneOffset=Date.parse("Jan 01, 1970 00:00:00 "+timezone)/6e4;return isNumberNaN(requestedTimezoneOffset)?fallback:requestedTimezoneOffset}function addDateMinutes(date,minutes){return(date=new Date(date.getTime())).setMinutes(date.getMinutes()+minutes),date}function convertTimezoneToLocal(date,timezone,reverse){reverse=reverse?-1:1;var dateTimezoneOffset=date.getTimezoneOffset();return addDateMinutes(date,reverse*(timezoneToOffset(timezone,dateTimezoneOffset)-dateTimezoneOffset))}function startingTag(element){element=jqLite(element).clone().empty();var elemHtml=jqLite("<div></div>").append(element).html();try{return element[0].nodeType===NODE_TYPE_TEXT?lowercase(elemHtml):elemHtml.match(/^(<[^>]+>)/)[1].replace(/^<([\w-]+)/,function(match,nodeName){return"<"+lowercase(nodeName)})}catch(e){return lowercase(elemHtml)}}function tryDecodeURIComponent(value){try{return decodeURIComponent(value)}catch(e){}}function parseKeyValue(keyValue){var obj={};return forEach((keyValue||"").split("&"),function(keyValue){var splitPoint,key,val;keyValue&&(key=keyValue=keyValue.replace(/\+/g,"%20"),-1!==(splitPoint=keyValue.indexOf("="))&&(key=keyValue.substring(0,splitPoint),val=keyValue.substring(splitPoint+1)),isDefined(key=tryDecodeURIComponent(key))&&(val=!isDefined(val)||tryDecodeURIComponent(val),hasOwnProperty.call(obj,key)?isArray(obj[key])?obj[key].push(val):obj[key]=[obj[key],val]:obj[key]=val))}),obj}function encodeUriSegment(val){return encodeUriQuery(val,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function encodeUriQuery(val,pctEncodeSpaces){return encodeURIComponent(val).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,pctEncodeSpaces?"%20":"+")}var ngAttrPrefixes=["ng-","data-ng-","ng:","x-ng-"];var isAutoBootstrapAllowed=function(document){var script=document.currentScript;if(!script)return!0;if(!(script instanceof window.HTMLScriptElement||script instanceof window.SVGScriptElement))return!1;var attributes=script.attributes;return[attributes.getNamedItem("src"),attributes.getNamedItem("href"),attributes.getNamedItem("xlink:href")].every(function(src){if(!src)return!0;if(!src.value)return!1;var link=document.createElement("a");if(link.href=src.value,document.location.origin===link.origin)return!0;switch(link.protocol){case"http:":case"https:":case"ftp:":case"blob:":case"file:":case"data:":return!0;default:return!1}})}(window.document);function angularInit(element,bootstrap){var appElement,module,config={};if(forEach(ngAttrPrefixes,function(prefix){var name=prefix+"app";!appElement&&element.hasAttribute&&element.hasAttribute(name)&&(module=(appElement=element).getAttribute(name))}),forEach(ngAttrPrefixes,function(prefix){var candidate,name=prefix+"app";!appElement&&(candidate=element.querySelector("["+name.replace(":","\\:")+"]"))&&(module=(appElement=candidate).getAttribute(name))}),appElement){if(!isAutoBootstrapAllowed){try{window.console.error("AngularJS: disabling automatic bootstrap. <script> protocol indicates an extension, document.location.href does not match.")}catch(e){}return}config.strictDi=null!==function(element,ngAttr){var attr,i,ii=ngAttrPrefixes.length;for(i=0;i<ii;++i)if(attr=ngAttrPrefixes[i]+ngAttr,isString(attr=element.getAttribute(attr)))return attr;return null}(appElement,"strict-di"),bootstrap(appElement,module?[module]:[],config)}}function bootstrap(element,modules,config){isObject(config)||(config={});config=extend({strictDi:!1},config);var doBootstrap=function(){if((element=jqLite(element)).injector()){var tag=element[0]===window.document?"document":startingTag(element);throw ngMinErr("btstrpd","App already bootstrapped with this element '{0}'",tag.replace(/</,"<").replace(/>/,">"))}(modules=modules||[]).unshift(["$provide",function($provide){$provide.value("$rootElement",element)}]),config.debugInfoEnabled&&modules.push(["$compileProvider",function($compileProvider){$compileProvider.debugInfoEnabled(!0)}]),modules.unshift("ng");var injector=createInjector(modules,config.strictDi);return injector.invoke(["$rootScope","$rootElement","$compile","$injector",function(scope,element,compile,injector){scope.$apply(function(){element.data("$injector",injector),compile(element)(scope)})}]),injector},NG_ENABLE_DEBUG_INFO=/^NG_ENABLE_DEBUG_INFO!/,NG_DEFER_BOOTSTRAP=/^NG_DEFER_BOOTSTRAP!/;if(window&&NG_ENABLE_DEBUG_INFO.test(window.name)&&(config.debugInfoEnabled=!0,window.name=window.name.replace(NG_ENABLE_DEBUG_INFO,"")),window&&!NG_DEFER_BOOTSTRAP.test(window.name))return doBootstrap();window.name=window.name.replace(NG_DEFER_BOOTSTRAP,""),angular.resumeBootstrap=function(extraModules){return forEach(extraModules,function(module){modules.push(module)}),doBootstrap()},isFunction(angular.resumeDeferredBootstrap)&&angular.resumeDeferredBootstrap()}function reloadWithDebugInfo(){window.name="NG_ENABLE_DEBUG_INFO!"+window.name,window.location.reload()}function getTestability(rootElement){var injector=angular.element(rootElement).injector();if(!injector)throw ngMinErr("test","no injector found for element argument to getTestability");return injector.get("$$testability")}var SNAKE_CASE_REGEXP=/[A-Z]/g;function snake_case(name,separator){return separator=separator||"_",name.replace(SNAKE_CASE_REGEXP,function(letter,pos){return(pos?separator:"")+letter.toLowerCase()})}var bindJQueryFired=!1;function assertArg(arg,name,reason){if(!arg)throw ngMinErr("areq","Argument '{0}' is {1}",name||"?",reason||"required");return arg}function assertArgFn(arg,name,acceptArrayAnnotation){return acceptArrayAnnotation&&isArray(arg)&&(arg=arg[arg.length-1]),assertArg(isFunction(arg),name,"not a function, got "+(arg&&"object"==typeof arg?arg.constructor.name||"Object":typeof arg)),arg}function assertNotHasOwnProperty(name,context){if("hasOwnProperty"===name)throw ngMinErr("badname","hasOwnProperty is not a valid {0} name",context)}
1function getBlockNodes(nodes){for(var blockNodes,node=nodes[0],endNode=nodes[nodes.length-1],i=1;node!==endNode&&(node=node.nextSibling);i++)(blockNodes||nodes[i]!==node)&&(blockNodes||(blockNodes=jqLite(slice.call(nodes,0,i))),blockNodes.push(node));return blockNodes||nodes}function createMap(){return Object.create(null)}function stringify(value){if(null==value)return"";switch(typeof value){case"string":break;case"number":value=""+value;break;default:value=!hasCustomToString(value)||isArray(value)||isDate(value)?toJson(value):value.toString()}return value}var NODE_TYPE_ELEMENT=1,NODE_TYPE_TEXT=3,NODE_TYPE_COMMENT=8,NODE_TYPE_DOCUMENT=9,NODE_TYPE_DOCUMENT_FRAGMENT=11;function shallowCopy(src,dst){if(isArray(src)){dst=dst||[];for(var i=0,ii=src.length;i<ii;i++)dst[i]=src[i]}else if(isObject(src))for(var key in dst=dst||{},src)"$"===key.charAt(0)&&"$"===key.charAt(1)||(dst[key]=src[key]);return dst||src}function toDebugString(obj,maxDepth){return"function"==typeof obj?obj.toString().replace(/ \{[\s\S]*$/,""):isUndefined(obj)?"undefined":"string"!=typeof obj?function(obj,maxDepth){var seen=[];return isValidObjectMaxDepth(maxDepth)&&(obj=angular.copy(obj,null,maxDepth)),JSON.stringify(obj,function(key,val){if(isObject(val=toJsonReplacer(key,val))){if(0<=seen.indexOf(val))return"...";seen.push(val)}return val})}(obj,maxDepth):obj}var version={full:"1.7.3",major:1,minor:7,dot:3,codeName:"eventful-proposal"};JQLite.expando="ng339";var jqCache=JQLite.cache={},jqId=1;JQLite._data=function(node){return this.cache[node[this.expando]]||{}};var DASH_LOWERCASE_REGEXP=/-([a-z])/g,MS_HACK_REGEXP=/^-ms-/,MOUSE_EVENT_MAP={mouseleave:"mou
1seout",mouseenter:"mouseover"},jqLiteMinErr=minErr("jqLite");function fnCamelCaseReplace(all,letter){return letter.toUpperCase()}function kebabToCamel(name){return name.replace(DASH_LOWERCASE_REGEXP,fnCamelCaseReplace)}var SINGLE_TAG_REGEXP=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,HTML_REGEXP=/<|&#?\w+;/,TAG_NAME_REGEXP=/<([\w:-]+)/,XHTML_TAG_REGEXP=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,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,"",""]};function jqLiteIsTextNode(html){return!HTML_REGEXP.test(html)}function jqLiteAcceptsData(node){var nodeType=node.nodeType;return nodeType===NODE_TYPE_ELEMENT||!nodeType||nodeType===NODE_TYPE_DOCUMENT}function jqLiteBuildFragment(html,context){var tmp,tag,wrap,i,fragment=context.createDocumentFragment(),nodes=[];if(jqLiteIsTextNode(html))nodes.push(context.createTextNode(html));else{for(tmp=fragment.appendChild(context.createElement("div")),tag=(TAG_NAME_REGEXP.exec(html)||["",""])[1].toLowerCase(),wrap=wrapMap[tag]||wrapMap._default,tmp.innerHTML=wrap[1]+html.replace(XHTML_TAG_REGEXP,"<$1></$2>")+wrap[2],i=wrap[0];i--;)tmp=tmp.lastChild;nodes=concat(nodes,tmp.childNodes),(tmp=fragment.firstChild).textContent=""}return fragment.textContent="",fragment.innerHTML="",forEach(nodes,function(node){fragment.appendChild(node)}),fragment}wrapMap.optgroup=wrapMap.option,wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead,wrapMap.th=wrapMap.td;var jqLiteContains=window.Node.prototype.contains||function(arg){return!!(16&this.compareDocumentPosition(arg))};function JQLite(element){if(element instanceof JQLite)return element;var argIsString,html,context,parsed;if(isString(element)&&(element=trim(element),argIsString=!0),!(this instanceof JQLite)){if(argIsString&&"<"!==element.charAt(0))throw jqLiteMinErr("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new JQLite(element)}argIsString?jqLiteAddNodes(this,(html=element,context=context||window.document,(parsed=SINGLE_TAG_REGEXP.exec(html))?[context.createElement(parsed[1])]:(parsed=jqLiteBuildFragment(html,context))?parsed.childNodes:[])):isFunction(element)?jqLiteReady(element):jqLiteAddNodes(this,element)}function jqLiteClone(element){return element.cloneNode(!0)}function jqLiteDealoc(element,onlyDescendants){!onlyDescendants&&jqLiteAcceptsData(element)&&jqLite.cleanData([element]),element.querySelectorAll&&jqLite.cleanData(element.querySelectorAll("*"))}function isEmptyObject(obj){var name;for(name in obj)return!1;return!0}function removeIfEmptyData(element){var expandoId=element.ng339,expandoStore=expandoId&&jqCache[expandoId],events=expandoStore&&expandoStore.events,data=expandoStore&&expandoStore.data;data&&!isEmptyObject(data)||events&&!isEmptyObject(events)||(delete jqCache[expandoId],element.ng339=void 0)}
1function jqLiteOff(element,type,fn,unsupported){if(isDefined(unsupported))throw jqLiteMinErr("offargs","jqLite#off() does not support the `selector` argument");var expandoStore=jqLiteExpandoStore(element),events=expandoStore&&expandoStore.events,handle=expandoStore&&expandoStore.handle;if(handle){if(type){var removeHandler=function(type){var listenerFns=events[type];isDefined(fn)&&arrayRemove(listenerFns||[],fn),isDefined(fn)&&listenerFns&&0<listenerFns.length||(element.removeEventListener(type,handle),delete events[type])};forEach(type.split(" "),function(type){removeHandler(type),MOUSE_EVENT_MAP[type]&&removeHandler(MOUSE_EVENT_MAP[type])})}else for(type in events)"$destroy"!==type&&element.removeEventListener(type,handle),delete events[type];removeIfEmptyData(element)}}function jqLiteRemoveData(element,name){var expandoId=element.ng339,expandoStore=expandoId&&jqCache[expandoId];expandoStore&&(name?delete expandoStore.data[name]:expandoStore.data={},removeIfEmptyData(element))}function jqLiteExpandoStore(element,createIfNecessary){var expandoId=element.ng339,expandoStore=expandoId&&jqCache[expandoId];return createIfNecessary&&!expandoStore&&(element.ng339=expandoId=++jqId,expandoStore=jqCache[expandoId]={events:{},data:{},handle:void 0}),expandoStore}function jqLiteData(element,key,value){if(jqLiteAcceptsData(element)){var prop,isSimpleSetter=isDefined(value),isSimpleGetter=!isSimpleSetter&&key&&!isObject(key),massGetter=!key,expandoStore=jqLiteExpandoStore(element,!isSimpleGetter),data=expandoStore&&expandoStore.data;if(isSimpleSetter)data[kebabToCamel(key)]=value;else{if(massGetter)return data;if(isSimpleGetter)return data&&data[kebabToCamel(key)];for(prop in key)data[kebabToCamel(prop)]=key[prop]}}}function jqLiteHasClass(element,selector){return!!element.getAttribute&&-1<(" "+(element.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+selector+" ")}function jqLiteRemoveClass(element,cssClasses){if(cssClasses&&element.setAttribute){var existingClasses=(" "+(element.getAttribute("class")||"")+" ").replace(/[\n\t]/g," "),newClasses=existingClasses;forEach(cssClasses.split(" "),function(cssClass){cssClass=trim(cssClass),newClasses=newClasses.replace(" "+cssClass+" "," ")}),newClasses!==existingClasses&&element.setAttribute("class",trim(newClasses))}}function jqLiteAddClass(element,cssClasses){if(cssClasses&&element.setAttribute){var existingClasses=(" "+(element.getAttribute("class")||"")+" ").replace(/[\n\t]/g," "),newClasses=existingClasses;forEach(cssClasses.split(" "),function(cssClass){cssClass=trim(cssClass),-1===newClasses.indexOf(" "+cssClass+" ")&&(newClasses+=cssClass+" ")}),newClasses!==existingClasses&&element.setAttribute("class",trim(newClasses))}}function jqLiteAddNodes(root,elements){if(elements)if(elements.nodeType)root[root.length++]=elements;else{var length=elements.length;if("number"==typeof length&&elements.window!==elements){if(length)for(var i=0;i<length;i++)root[root.length++]=elements[i]}else root[root.length++]=elements}}function jqLiteController(element,name){return jqLiteInheritedData(element,"$"+(name||"ngController")+"Controller")}function jqLiteInheritedData(element,name,value){element.nodeType===NODE_TYPE_DOCUMENT&&(element=element.documentElement);for(var names=isArray(name)?name:[name];element;){for(var i=0,ii=names.length;i<ii;i++)if(isDefined(value=jqLite.data(element,names[i])))return value;element=element.parentNode||element.nodeType===NODE_TYPE_DOCUMENT_FRAGMENT&&element.host}}function jqLiteEmpty(element){for(jqLiteDealoc(element,!0);element.firstChild;)element.removeChild(element.firstChild)}function jqLiteRemove(element,keepData){keepData||jqLiteDealoc(element);var parent=element.parentNode;parent&&parent.removeChild(element)}function jqLiteReady(fn){function trigger(){window.document.removeEventListener("DOMContentLoaded",trigger),window.removeEventListener("load",trigger),fn()}"complete"===window.document.readyState?window.setTimeout(fn):(window.document.addEventListener("DOMContentLoaded",trigger),window.addEventListener("load",trigger))}var JQLitePrototype=JQLite.prototype={ready:jqLiteReady,toString:function(){var value=[];return forEach(this,function(e){value.push(""+e)}),"["+value.join(", ")+"]"},eq:function(index){return jqLite(0<=index?this[index]:this[this.length+index])},length:0,push:push,sort:[].sort,splice:[].splice},BOOLEAN_ATTR={};forEach("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(value){BOOLEAN_ATTR[lowercase(value)]=value});var BOOLEAN_ELEMENTS={};forEach("input,select,option,textarea,button,form,details".split(","),function(value){BOOLEAN_ELEMENTS[value]=!0});var ALIASED_ATTR={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern",ngStep:"step"};function getBooleanAttrName(element,name){var booleanAttr=BOOLEAN_ATTR[name.toLowerCase()];return booleanAttr&&BOOLEAN_ELEMENTS[nodeName_(element)]&&booleanAttr}function defaultHandlerWrapper(element,event,handler){handler.call(element,event)}function specialMouseHandlerWrapper(target,event,handler){var related=event.relatedTarget;related&&(related===target||jqLiteContains.call(target,related))||handler.call(target,event)}function $$jqLiteProvider(){this.$get=function(){return extend(JQLite,{hasClass:function(node,classes){return node.attr&&(node=node[0]),jqLiteHasClass(node,classes)},addClass:function(node,classes){return node.attr&&(node=node[0]),jqLiteAddClass(node,classes)},removeClass:function(node,classes){return node.attr&&(node=node[0]),jqLiteRemoveClass(node,classes)}})}}function hashKey(obj,nextUidFn){var key=obj&&obj.$$hashKey;if(key)return"function"==typeof key&&(key=obj.$$hashKey()),key;var objType=typeof obj;return key="function"===objType||"object"===objType&&null!==obj?obj.$$hashKey=objType+":"+(nextUidFn||nextUid)():objType+":"+obj}forEach({data:jqLiteData,removeData:jqLiteRemoveData,hasData:function(node){for(var key in jqCache[node.ng339])return!0;return!1},cleanData:function(nodes){for(var i=0,ii=nodes.length;i<ii;i++)jqLiteRemoveData(nodes[i]),jqLiteOff(nodes[i])}},function(fn,name){JQLite[name]=fn}
1),forEach({data:jqLiteData,inheritedData:jqLiteInheritedData,scope:function(element){return jqLite.data(element,"$scope")||jqLiteInheritedData(element.parentNode||element,["$isolateScope","$scope"])},isolateScope:function(element){return jqLite.data(element,"$isolateScope")||jqLite.data(element,"$isolateScopeNoTemplate")},controller:jqLiteController,injector:function(element){return jqLiteInheritedData(element,"$injector")},removeAttr:function(element,name){element.removeAttribute(name)},hasClass:jqLiteHasClass,css:function(element,name,value){if(name=function(name){return kebabToCamel(name.replace(MS_HACK_REGEXP,"ms-"))}(name),!isDefined(value))return element.style[name];element.style[name]=value},attr:function(element,name,value){var ret,nodeType=element.nodeType;if(nodeType!==NODE_TYPE_TEXT&&2!==nodeType&&nodeType!==NODE_TYPE_COMMENT&&element.getAttribute){var lowercasedName=lowercase(name),isBooleanAttr=BOOLEAN_ATTR[lowercasedName];if(!isDefined(value))return ret=element.getAttribute(name),isBooleanAttr&&null!==ret&&(ret=lowercasedName),null===ret?void 0:ret;null===value||!1===value&&isBooleanAttr?element.removeAttribute(name):element.setAttribute(name,isBooleanAttr?lowercasedName:value)}},prop:function(element,name,value){if(!isDefined(value))return element[name];element[name]=value},text:function(){return getText.$dv="",getText;function getText(element,value){if(isUndefined(value)){var nodeType=element.nodeType;return nodeType===NODE_TYPE_ELEMENT||nodeType===NODE_TYPE_TEXT?element.textContent:""}element.textContent=value}}(),val:function(element,value){if(isUndefined(value)){if(element.multiple&&"select"===nodeName_(element)){var result=[];return forEach(element.options,function(option){option.selected&&result.push(option.value||option.text)}),result}return element.value}element.value=value},html:function(element,value){if(isUndefined(value))return element.innerHTML;jqLiteDealoc(element,!0),element.innerHTML=value},empty:jqLiteEmpty},function(fn,name){JQLite.prototype[name]=function(arg1,arg2){var i,key,nodeCount=this.length;if(fn!==jqLiteEmpty&&isUndefined(2===fn.length&&fn!==jqLiteHasClass&&fn!==jqLiteController?arg1:arg2)){if(isObject(arg1)){for(i=0;i<nodeCount;i++)if(fn===jqLiteData)fn(this[i],arg1);else for(key in arg1)fn(this[i],key,arg1[key]);return this}for(var value=fn.$dv,jj=isUndefined(value)?Math.min(nodeCount,1):nodeCount,j=0;j<jj;j++){var nodeValue=fn(this[j],arg1,arg2);value=value?value+nodeValue:nodeValue}return value}for(i=0;i<nodeCount;i++)fn(this[i],arg1,arg2);return this}}),forEach({removeData:jqLiteRemoveData,on:function(element,type,fn,unsupported){if(isDefined(u
1nsupported))throw jqLiteMinErr("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(jqLiteAcceptsData(element)){var expandoStore=jqLiteExpandoStore(element,!0),events=expandoStore.events,handle=expandoStore.handle;handle||(handle=expandoStore.handle=function(element,events){var eventHandler=function(event,type){event.isDefaultPrevented=function(){return event.defaultPrevented};var eventFns=events[type||event.type],eventFnsLength=eventFns?eventFns.length:0;if(eventFnsLength){if(isUndefined(event.immediatePropagationStopped)){var originalStopImmediatePropagation=event.stopImmediatePropagation;event.stopImmediatePropagation=function(){event.immediatePropagationStopped=!0,event.stopPropagation&&event.stopPropagation(),originalStopImmediatePropagation&&originalStopImmediatePropagation.call(event)}}event.isImmediatePropagationStopped=function(){return!0===event.immediatePropagationStopped};var handlerWrapper=eventFns.specialHandlerWrapper||defaultHandlerWrapper;1<eventFnsLength&&(eventFns=shallowCopy(eventFns));for(var i=0;i<eventFnsLength;i++)event.isImmediatePropagationStopped()||handlerWrapper(element,event,eventFns[i])}};return eventHandler.elem=element,eventHandler}(element,events));for(var types=0<=type.indexOf(" ")?type.split(" "):[type],i=types.length,addHandler=function(type,specialHandlerWrapper,noEventListener){var eventFns=events[type];eventFns||((eventFns=events[type]=[]).specialHandlerWrapper=specialHandlerWrapper,"$destroy"===type||noEventListener||element.addEventListener(type,handle)),eventFns.push(fn)};i--;)type=types[i],MOUSE_EVENT_MAP[type]?(addHandler(MOUSE_EVENT_MAP[type],specialMouseHandlerWrapper),addHandler(type,void 0,!0)):addHandler(type)}},off:jqLiteOff,one:function(element,type,fn){(element=jqLite(element)).on(type,function onFn(){element.off(type,fn),element.off(type,onFn)}),element.on(type,fn)},replaceWith:function(element,replaceNode){var index,parent=element.parentNode;jqLiteDealoc(element),forEach(new JQLite(replaceNode),function(node){index?parent.insertBefore(node,index.nextSibling):parent.replaceChild(node,element),index=node})},children:function(element){var children=[];return forEach(element.childNodes,function(element){element.nodeType===NODE_TYPE_ELEMENT&&children.push(element)}),children},contents:function(element){return element.contentDocument||element.childNodes||[]},append:function(element,node){var nodeType=element.nodeType;if(nodeType===NODE_TYPE_ELEMENT||nodeType===NODE_TYPE_DOCUMENT_FRAGMENT)for(var i=0,ii=(node=new JQLite(node)).length;i<ii;i++){var child=node[i];element.appendChild(child)}},prepend:function(element,node){if(element.nodeType===NODE_TYPE_ELEMENT){var index=element.firstChild;forEach(new JQLite(node),function(child){element.insertBefore(child,index)})}},wrap:function(element,wrapNode){var node,wrapper,parent;node=element,wrapper=jqLite(wrapNode).eq(0).clone()[0],(parent=node.parentNode)&&parent.replaceChild(wrapper,node),wrapper.appendChild(node)},remove:jqLiteRemove,detach:function(element){jqLiteRemove(element,!0)},after:function(element,newElement){var index=element,parent=element.parentNode;if(parent)for(var i=0,ii=(newElement=new JQLite(newElement)).length;i<ii;i++){var node=newElement[i];parent.insertBefore(node,index.nextSibling),index=node}},addClass:jqLiteAddClass,removeClass:jqLiteRemoveClass,toggleClass:function(element,selector,condition){selector&&forEach(selector.split(" "),function(className){var classCondition=condition;isUndefined(classCondition)&&(classCondition=!jqLiteHasClass(element,className)),(classCondition?jqLiteAddClass:jqLiteRemoveClass)(element,className)})},parent:function(element){var parent=element.parentNode;return parent&&parent.nodeType!==NODE_TYPE_DOCUMENT_FRAGMENT?parent:null},next:function(element){return element.nextElementSibling},find:function(element,selector){return element.getElementsByTagName?element.getElementsByTagName(selector):[]},clone:jqLiteClone,triggerHandler:function(element,event,extraParameters){var dummyEvent,eventFnsCopy,handlerArgs,eventName=event.type||event,expandoStore=jqLiteExpandoStore(element),events=expandoStore&&expandoStore.events,eventFns=events&&events[eventName];eventFns&&(dummyEvent={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return!0===this.defaultPrevented},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return!0===this.immediatePropagationStopped},stopPropagation:noop,type:eventName,target:element},event.type&&(dummyEvent=extend(dummyEvent,event)),eventFnsCopy=shallowCopy(eventFns),handlerArgs=extraParameters?[dummyEvent].concat(extraParameters):[dummyEvent],forEach(eventFnsCopy,function(fn){dummyEvent.isImmediatePropagationStopped()||fn.apply(element,handlerArgs)}))}},function(fn,name){JQLite.prototype[name]=function(arg1,arg2,arg3){for(var value,i=0,ii=this.length;i<ii;i++)isUndefined(value)?isDefined(value=fn(this[i],arg1,arg2,arg3))&&(value=jqLite(value)):jqLiteAddNodes(value,fn(this[i],arg1,arg2,arg3));return isDefined(value)?value:this}}),JQLite.prototype.bind=JQLite.prototype.on,JQLite.prototype.unbind=JQLite.prototype.off;var nanKey=Object.create(null);function NgMapShim(){this._keys=[],this._values=[],this._lastKey=NaN,this._lastIndex=-1}NgMapShim.prototype={_idx:function(key){return key!==this._lastKey&&(this._lastKey=key,this._lastIndex=this._keys.indexOf(key)),this._lastIndex},_transformKey:function(key){return isNumberNaN(key)?nanKey:key},get:function(key){key=this._transformKey(key);var idx=this._idx(key);if(-1!==idx)return this._values[idx]},has:function(key){return key=this._transformKey(key),-1!==this._idx(key)},set:function(key,value){key=this._transformKey(key);var idx=this._idx(key);-1===idx&&(idx=this._lastIndex=this._keys.length),this._keys[idx]=key,this._values[idx]=value},delete:function(key){key=this._transformKey(key);var idx=this._idx(key);return-1!==idx&&(this._keys.splice(idx,1),this._values.splice(idx,1),this._lastKey=NaN,this._lastIndex=-1,!0)}};
1var NgMap=NgMapShim,$$MapProvider=[function(){this.$get=[function(){return NgMap}]}],ARROW_ARG=/^([^(]+?)=>/,FN_ARGS=/^[^(]*\(\s*([^)]*)\)/m,FN_ARG_SPLIT=/,/,FN_ARG=/^\s*(_?)(\S+?)\1\s*$/,STRIP_COMMENTS=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,$injectorMinErr=minErr("$injector");function stringifyFn(fn){return Function.prototype.toString.call(fn)}function extractArgs(fn){var fnText=stringifyFn(fn).replace(STRIP_COMMENTS,"");return fnText.match(ARROW_ARG)||fnText.match(FN_ARGS)}function createInjector(modulesToLoad,strictDi){strictDi=!0===strictDi;var INSTANTIATING={},providerSuffix="Provider",path=[],loadedModules=new NgMap,providerCache={$provide:{provider:supportObject(provider),factory:supportObject(factory),service:supportObject(function(name,constructor){return factory(name,["$injector",function($injector){return $injector.instantiate(constructor)}])}),value:supportObject(function(name,val){return factory(name,valueFn(val),!1)}),constant:supportObject(function(name,value){assertNotHasOwnProperty(name,"constant"),providerCache[name]=value,instanceCache[name]=value}),decorator:function(serviceName,decorFn){var origProvider=providerInjector.get(serviceName+providerSuffix),orig$get=origProvider.$get;origProvider.$get=function(){var origInstance=instanceInjector.invoke(orig$get,origProvider);return instanceInjector.invoke(decorFn,null,{$delegate:origInstance})}}}},providerInjector=providerCache.$injector=createInternalInjector(providerCache,function(serviceName,caller){throw angular.isString(caller)&&path.push(caller),$injectorMinErr("unpr","Unknown provider: {0}",path.join(" <- "))}),instanceCache={},protoInstanceInjector=createInternalInjector(instanceCache,function(serviceName,caller){var provider=providerInjector.get(serviceName+providerSuffix,caller);return instanceInjector.invoke(provider.$get,provider,void 0,serviceName)}),instanceInjector=protoInstanceInjector;providerCache["$injector"+providerSuffix]={$get:valueFn(protoInstanceInjector)},instanceInjector.modules=providerInjector.modules=createMap();var runBlocks=loadModules(modulesToLoad);return(instanceInjector=protoInstanceInjector.get("$injector")).strictDi=strictDi,forEach(runBlocks,function(fn){fn&&instanceInjector.invoke(fn)}),instanceInjector.loadNewModules=function(mods){forEach(loadModules(mods),function(fn){fn&&instanceInjector.invoke(fn)})},instanceInjector;function supportObject(delegate){return function(key,value){if(!isObject(key))return delegate(key,value);forEach(key,reverseParams(delegate))}}function provider(name,provider_){if(assertNotHasOwnProperty(name,"service"),(isFunction(provider_)||isArray(provider_))&&(provider_=providerInjector.instantiate(provider_)),!provider_.$get)throw $injectorMinErr("pget","Provider '{0}' must define $get factory method.",name);return providerCache[name+providerSuffix]=provider_}function factory(name,factoryFn,enforce){return provider(name,{$get:!1!==enforce?function(name,factory){return function(){var result=instanceInjector.invoke(factory,this);if(isUndefined(result))throw $injectorMinErr("undef","Provider '{0}' must return a value from $get factory method.",name);return result}}(name,factoryFn):factoryFn})}function loadModules(modulesToLoad){assertArg(isUndefined(modulesToLoad)||isArray(modulesToLoad),"modulesToLoad","not an array");var moduleFn,runBlocks=[];return forEach(modulesToLoad,function(module){if(!loadedModules.get(module)){loadedModules.set(module,!0);try{isString(module)?(moduleFn=angularModule(module),instanceInjector.modules[module]=moduleFn,runBlocks=runBlocks.concat(loadModules(moduleFn.requires)).concat(moduleFn._runBlocks),runInvokeQueue(moduleFn._invokeQueue),runInvokeQueue(moduleFn._configBlocks)):isFunction(module)?runBlocks.push(providerInjector.invoke(module)):isArray(module)?runBlocks.push(providerInjector.invoke(module)):assertArgFn(module,"module")}catch(e){throw isArray(module)&&(module=module[module.length-1]),e.message&&e.stack&&-1===e.stack.indexOf(e.message)&&(e=e.message+"\n"+e.stack),$injectorMinErr("modulerr","Failed to instantiate module {0} due to:\n{1}",module,e.stack||e.message||e)}}function runInvokeQueue(queue){var i,ii;for(i=0,ii=queue.length;i<ii;i++){var invokeArgs=queue[i],provider=providerInjector.get(invokeArgs[0]);
1provider[invokeArgs[1]].apply(provider,invokeArgs[2])}}}),runBlocks}function createInternalInjector(cache,factory){function getService(serviceName,caller){if(cache.hasOwnProperty(serviceName)){if(cache[serviceName]===INSTANTIATING)throw $injectorMinErr("cdep","Circular dependency found: {0}",serviceName+" <- "+path.join(" <- "));return cache[serviceName]}try{return path.unshift(serviceName),cache[serviceName]=INSTANTIATING,cache[serviceName]=factory(serviceName,caller),cache[serviceName]}catch(err){throw cache[serviceName]===INSTANTIATING&&delete cache[serviceName],err}finally{path.shift()}}function injectionArgs(fn,locals,serviceName){for(var args=[],$inject=createInjector.$$annotate(fn,strictDi,serviceName),i=0,length=$inject.length;i<length;i++){var key=$inject[i];if("string"!=typeof key)throw $injectorMinErr("itkn","Incorrect injection token! Expected service name as string, got {0}",key);args.push(locals&&locals.hasOwnProperty(key)?locals[key]:getService(key,serviceName))}return args}return{invoke:function(fn,self,locals,serviceName){"string"==typeof locals&&(serviceName=locals,locals=null);var args=injectionArgs(fn,locals,serviceName);return isArray(fn)&&(fn=fn[fn.length-1]),function(func){if(msie||"function"!=typeof func)return!1;var result=func.$$ngIsClass;return isBoolean(result)||(result=func.$$ngIsClass=/^class\b/.test(stringifyFn(func))),result}(fn)?(args.unshift(null),new(Function.prototype.bind.apply(fn,args))):fn.apply(self,args)},instantiate:function(Type,locals,serviceName){var ctor=isArray(Type)?Type[Type.length-1]:Type,args=injectionArgs(Type,locals,serviceName);return args.unshift(null),new(Function.prototype.bind.apply(ctor,args))},get:getService,annotate:createInjector.$$annotate,has:function(name){return providerCache.hasOwnProperty(name+providerSuffix)||cache.hasOwnProperty(name)}}}}function $AnchorScrollProvider(){var autoScrollingEnabled=!0;this.disableAutoScrolling=function(){autoScrollingEnabled=!1},this.$get=["$window","$location","$rootScope",function($window,$location,$rootScope){var document=$window.document;function scrollTo(elem){if(elem){elem.scrollIntoView();var offset=function(){var offset=scroll.yOffset;if(isFunction(offset))offset=offset();else if(isElement(offset)){var elem=offset[0];offset="fixed"!==$window.getComputedStyle(elem).position?0:elem.getBoundingClientRect().bottom}else isNumber(offset)||(offset=0);return offset}();if(offset){var elemTop=elem.getBoundingClientRect().top;$window.scrollBy(0,elemTop-offset)}}else $window.scrollTo(0,0)}function scroll(hash){var elm,list,result;(hash=isString(hash)?hash:isNumber(hash)?hash.toString():$location.hash())?(elm=document.getElementById(hash))?scrollTo(elm):(list=document.getElementsByName(hash),result=null,Array.prototype.some.call(list,function(element){if("a"===nodeName_(element))return result=element,!0}),(elm=result)?scrollTo(elm):"top"===hash&&scrollTo(null)):scrollTo(null)}return autoScrollingEnabled&&$rootScope.$watch(function(){return $location.hash()},function(newVal,oldVal){var action,win;newVal===oldVal&&""===newVal||(action=function(){$rootScope.$evalAsync(scroll)},"complete"===(win=win||window).document.readyState?win.setTimeout(action):jqLite(win).on("load",action))}),scroll}]}createInjector.$$annotate=function(fn,strictDi,name){var $inject,last;if("function"==typeof fn){if(!($inject=fn.$inject)){if($inject=[],fn.length){if(strictDi)throw isString(name)&&name||(name=fn.name||function(fn){var args=extractArgs(fn);return args?"function("+(args[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}(fn)),$injectorMinErr("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",name);forEach(extractArgs(fn)[1].split(FN_ARG_SPLIT),function(arg){arg.replace(FN_ARG,function(all,underscore,name){$inject.push(name)})})}fn.$inject=$inject}}else isArray(fn)?(assertArgFn(fn[last=fn.length-1],"fn"),$inject=fn.slice(0,last)):assertArgFn(fn,"fn",!0);return $inject};var $animateMinErr=minErr("$animate"),ELEMENT_NODE=1;function mergeClasses(a,b){return a||b?a?b?(isArray(a)&&(a=a.join(" ")),isArray(b)&&(b=b.join(" ")),a+" "+b):a:b:""}function prepareAnimateOptions(options){return isObject(options)?options:{}}
1var $$CoreAnimateJsProvider=function(){this.$get=noop},$$CoreAnimateQueueProvider=function(){var postDigestQueue=new NgMap,postDigestElements=[];this.$get=["$$AnimateRunner","$rootScope",function($$AnimateRunner,$rootScope){return{enabled:noop,on:noop,off:noop,pin:noop,push:function(element,event,options,domOperation){domOperation&&domOperation(),(options=options||{}).from&&element.css(options.from),options.to&&element.css(options.to),(options.addClass||options.removeClass)&&function(element,add,remove){var data=postDigestQueue.get(element)||{},classesAdded=updateData(data,add,!0),classesRemoved=updateData(data,remove,!1);(classesAdded||classesRemoved)&&(postDigestQueue.set(element,data),postDigestElements.push(element),1===postDigestElements.length&&$rootScope.$$postDigest(handleCSSClassChanges))}(element,options.addClass,options.removeClass);var runner=new $$AnimateRunner;return runner.complete(),runner}};function updateData(data,classes,value){var changed=!1;return classes&&forEach(classes=isString(classes)?classes.split(" "):isArray(classes)?classes:[],function(className){className&&(changed=!0,data[className]=value)}),changed}function handleCSSClassChanges(){forEach(postDigestElements,function(element){var data=postDigestQueue.get(element);if(data){var existing=function(classes){isString(classes)&&(classes=classes.split(" "));var obj=createMap();return forEach(classes,function(klass){klass.length&&(obj[klass]=!0)}),obj}(element.attr("class")),toAdd="",toRemove="";forEach(data,function(status,className){status!==!!existing[className]&&(status?toAdd+=(toAdd.length?" ":"")+className:toRemove+=(toRemove.length?" ":"")+className)}
1),forEach(element,function(elm){toAdd&&jqLiteAddClass(elm,toAdd),toRemove&&jqLiteRemoveClass(elm,toRemove)}),postDigestQueue.delete(element)}}),postDigestElements.length=0}}]},$AnimateProvider=["$provide",function($provide){var provider=this,classNameFilter=null,customFilter=null;this.$$registeredAnimations=Object.create(null),this.register=function(name,factory){if(name&&"."!==name.charAt(0))throw $animateMinErr("notcsel","Expecting class selector starting with '.' got '{0}'.",name);var key=name+"-animation";provider.$$registeredAnimations[name.substr(1)]=key,$provide.factory(key,factory)},this.customFilter=function(filterFn){return 1===arguments.length&&(customFilter=isFunction(filterFn)?filterFn:null),customFilter},this.classNameFilter=function(expression){if(1===arguments.length&&((classNameFilter=expression instanceof RegExp?expression:null)&&new RegExp("[(\\s|\\/)]ng-animate[(\\s|\\/)]").test(classNameFilter.toString())))throw classNameFilter=null,$animateMinErr("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',"ng-animate");return classNameFilter},this.$get=["$$animateQueue",function($$animateQueue){function domInsert(element,parentElement,afterElement){if(afterElement){var afterNode=function(element){for(var i=0;i<element.length;i++){var elm=element[i];if(elm.nodeType===ELEMENT_NODE)return elm}}(afterElement);!afterNode||afterNode.parentNode||afterNode.previousElementSibling||(afterElement=null)}afterElement?afterElement.after(element):parentElement.prepend(element)}return{on:$$animateQueue.on,off:$$animateQueue.off,pin:$$animateQueue.pin,enabled:$$animateQueue.enabled,cancel:function(runner){runner.cancel&&runner.cancel()},enter:function(element,parent,after,options){return parent=parent&&jqLite(parent),after=after&&jqLite(after),domInsert(element,parent=parent||after.parent(),after),$$animateQueue.push(element,"enter",prepareAnimateOptions(options))},move:function(element,parent,after,options){return parent=parent&&jqLite(parent),after=after&&jqLite(after),domInsert(element,parent=parent||after.parent(),after),$$animateQueue.push(element,"move",prepareAnimateOptions(options))},leave:function(element,options){return $$animateQueue.push(element,"leave",prepareAnimateOptions(options),function(){element.remove()})},addClass:function(element,className,options){return(options=prepareAnimateOptions(options)).addClass=mergeClasses(options.addclass,className),$$animateQueue.push(element,"addClass",options)},removeClass:function(element,className,options){return(options=prepareAnimateOptions(options)).removeClass=mergeClasses(options.removeClass,className),$$animateQueue.push(element,"removeClass",options)},setClass:function(element,add,remove,options){return(options=prepareAnimateOptions(options)).addClass=mergeClasses(options.addClass,add),options.removeClass=mergeClasses(options.removeClass,remove),$$animateQueue.push(element,"setClass",options)},animate:function(element,from,to,className,options){return(options=prepareAnimateOptions(options)).from=options.from?extend(options.from,from):from,options.to=options.to?extend(options.to,to):to,className=className||"ng-inline-animate",options.tempClasses=mergeClasses(options.tempClasses,className),$$animateQueue.push(element,"animate",options)}}}]}],$$AnimateAsyncRunFactoryProvider=function(){this.$get=["$$rAF",function($$rAF){var waitQueue=[];function waitForTick(fn){waitQueue.push(fn),1<waitQueue.length||$$rAF(function(){for(var i=0;i<waitQueue.length;i++)waitQueue[i]();waitQueue=[]})}return function(){var passed=!1;return waitForTick(function(){passed=!0}),function(callback){passed?callback():waitForTick(callback)}}}]},$$AnimateRunnerFactoryProvider=function(){this.$get=["$q","$sniffer","$$animateAsyncRun","$$isDocumentHidden","$timeout",function($q,$sniffer,$$animateAsyncRun,$$isDocumentHidden,$timeout){function AnimateRunner(host){this.setHost(host);var rafTick=$$animateAsyncRun();this._doneCallbacks=[],this._tick=function(fn){$$isDocumentHidden()?function(fn){$timeout(fn,0,!1)}(fn):rafTick(fn)},this._state=0}
1return AnimateRunner.chain=function(chain,callback){var index=0;!function next(){if(index===chain.length)return void callback(!0);chain[index](function(response){!1!==response?(index++,next()):callback(!1)})}()},AnimateRunner.all=function(runners,callback){var count=0,status=!0;function onProgress(response){status=status&&response,++count===runners.length&&callback(status)}forEach(runners,function(runner){runner.done(onProgress)})},AnimateRunner.prototype={setHost:function(host){this.host=host||{}},done:function(fn){2===this._state?fn():this._doneCallbacks.push(fn)},progress:noop,getPromise:function(){if(!this.promise){var self=this;this.promise=$q(function(resolve,reject){self.done(function(status){!1===status?reject():resolve()})})}return this.promise},then:function(resolveHandler,rejectHandler){return this.getPromise().then(resolveHandler,rejectHandler)},catch:function(handler){return this.getPromise().catch(handler)},finally:function(handler){return this.getPromise().finally(handler)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(response){var self=this;0===self._state&&(self._state=1,self._tick(function(){self._resolve(response)}))},_resolve:function(response){2!==this._state&&(forEach(this._doneCallbacks,function(fn){fn(response)}),this._doneCallbacks.length=0,this._state=2)}},AnimateRunner}]},$CoreAnimateCssProvider=function(){this.$get=["$$rAF","$q","$$AnimateRunner",function($$rAF,$q,$$AnimateRunner){return function(element,initialOptions){var options=initialOptions||{};options.$$prepared||(options=copy(options)),options.cleanupStyles&&(options.from=options.to=null),options.from&&(element.css(options.from),options.from=null);var closed,runner=new $$AnimateRunner;return{start:run,end:run};function run(){return $$rAF(function(){!function(){options.addClass&&(element.addClass(options.addClass),options.addClass=null);options.removeClass&&(element.removeClass(options.removeClass),options.removeClass=null);options.to&&(element.css(options.to),options.to=null)}(),closed||runner.complete(),closed=!0}),runner}}}]};function Browser(window,document,$log,$sniffer,$$taskTrackerFactory){var self=this,location=window.location,history=window.history,setTimeout=window.setTimeout,clearTimeout=window.clearTimeout,pendingDeferIds={},taskTracker=$$taskTrackerFactory($log);self.isMock=!1,self.$$completeOutstandingRequest=taskTracker.completeTask,self.$$incOutstandingRequestCount=taskTracker.incTaskCount,self.notifyWhenNoOutstandingRequests=taskTracker.notifyWhenNoPendingTasks;var cachedState,lastHistoryState,lastBrowserUrl=location.href,baseElement=document.find("base"),pendingLocation=null,getCurrentState=$sniffer.history?function(){try{return history.state}catch(e){}}:noop;cacheState(),self.url=function(url,replace,state){if(isUndefined(state)&&(state=null),location!==window.location&&(location=window.location),history!==window.history&&(history=window.history),url){var sameState=lastHistoryState===state;if(lastBrowserUrl===url&&(!$sniffer.history||sameState))return self;var sameBase=lastBrowserUrl&&stripHash(lastBrowserUrl)===stripHash(url);return lastBrowserUrl=url,lastHistoryState=state,!$sniffer.history||sameBase&&sameState?(sameBase||(pendingLocation=url),replace?location.replace(url):sameBase?location.hash=function(url){var index=url.indexOf("#");return-1===index?"":url.substr(index)}(url):location.href=url,location.href!==url&&(pendingLocation=url)):(history[replace?"replaceState":"pushState"](state,"",url),cacheState()),pendingLocation&&(pendingLocation=url),self}return function(url){return url.replace(/#$/,"")}(pendingLocation||location.href)},self.state=function(){return cachedState};var urlChangeListeners=[],urlChangeInit=!1;function cacheStateAndFireUrlChange(){pendingLocation=null,fireStateOrUrlChange()}var lastCachedState=null;function cacheState(){equals(cachedState=isUndefined(cachedState=getCurrentState())?null:cachedState,lastCachedState)&&(cachedState=lastCachedState),lastHistoryState=lastCachedState=cachedState}function fireStateOrUrlChange(){var prevLastHistoryState=lastHistoryState;cacheState(),lastBrowserUrl===self.url()&&prevLastHistoryState===cachedState||(lastBrowserUrl=self.url(),lastHistoryState=cachedState,forEach(urlChangeListeners,function(listener){listener(self.url(),cachedState)}))}self.onUrlChange=function(callback){return urlChangeInit||($sniffer.history&&jqLite(window).on("popstate",cacheStateAndFireUrlChange),jqLite(window).on("hashchange",cacheStateAndFireUrlChange),urlChangeInit=!0),urlChangeListeners.push(callback),callback},self.$$applicationDestroyed=function(){jqLite(window).off("hashchange popstate",cacheStateAndFireUrlChange)},self.$$checkUrlChange=fireStateOrUrlChange,self.baseHref=function(){var href=baseElement.attr("href");return href?href.replace(/^(https?:)?\/\/[^/]*/,""):""},self.defer=function(fn,delay,taskType){var timeoutId;return delay=delay||0,taskType=taskType||taskTracker.DEFAULT_TASK_TYPE,taskTracker.incTaskCount(taskType),timeoutId=setTimeout(function(){delete pe
1ndingDeferIds[timeoutId],taskTracker.completeTask(fn,taskType)},delay),pendingDeferIds[timeoutId]=taskType,timeoutId},self.defer.cancel=function(deferId){if(pendingDeferIds.hasOwnProperty(deferId)){var taskType=pendingDeferIds[deferId];return delete pendingDeferIds[deferId],clearTimeout(deferId),taskTracker.completeTask(noop,taskType),!0}return!1}}function $BrowserProvider(){this.$get=["$window","$log","$sniffer","$document","$$taskTrackerFactory",function($window,$log,$sniffer,$document,$$taskTrackerFactory){return new Browser($window,$document,$log,$sniffer,$$taskTrackerFactory)}]}function $CacheFactoryProvider(){this.$get=function(){var caches={};function cacheFactory(cacheId,options){if(cacheId in caches)throw minErr("$cacheFactory")("iid","CacheId '{0}' is already taken!",cacheId);var size=0,stats=extend({},options,{id:cacheId}),data=createMap(),capacity=options&&options.capacity||Number.MAX_VALUE,lruHash=createMap(),freshEnd=null,staleEnd=null;return caches[cacheId]={put:function(key,value){if(!isUndefined(value)){if(capacity<Number.MAX_VALUE)refresh(lruHash[key]||(lruHash[key]={key:key}));return key in data||size++,data[key]=value,capacity<size&&this.remove(staleEnd.key),value}},get:function(key){if(capacity<Number.MAX_VALUE){var lruEntry=lruHash[key];if(!lruEntry)return;refresh(lruEntry)}return data[key]},remove:function(key){if(capacity<Number.MAX_VALUE){var lruEntry=lruHash[key];if(!lruEntry)return;lruEntry===freshEnd&&(freshEnd=lruEntry.p),lruEntry===staleEnd&&(staleEnd=lruEntry.n),link(lruEntry.n,lruEntry.p),delete lruHash[key]}key in data&&(delete data[key],size--)},removeAll:function(){data=createMap(),size=0,lruHash=createMap(),freshEnd=staleEnd=null},destroy:function(){lruHash=stats=data=null,delete caches[cacheId]},info:function(){return extend({},stats,{size:size})}};function refresh(entry){entry!==freshEnd&&(staleEnd?staleEnd===entry&&(staleEnd=entry.n):staleEnd=entry,link(entry.n,entry.p),link(entry,freshEnd),(freshEnd=entry).n=null)}function link(nextEntry,prevEntry){nextEntry!==prevEntry&&(nextEntry&&(nextEntry.p=prevEntry),prevEntry&&(prevEntry.n=nextEntry))}}return cacheFactory.info=function(){var info={};return forEach(caches,function(cache,cacheId){info[cacheId]=cache.info()}),info},cacheFactory.get=function(cacheId){return caches[cacheId]},cacheFactory}}function $TemplateCacheProvider(){this.$get=["$cacheFactory",function($cacheFactory){return $cacheFactory("templates")}]}var $compileMinErr=minErr("$compile");var _UNINITIALIZED_VALUE=new function(){};function $CompileProvider($provide,$$sanitizeUriProvider){var hasDirectives={},COMMENT_DIRECTIVE_REGEXP=/^\s*directive:\s*([\w-]+)\s+(.*)$/,CLASS_DIRECTIVE_REGEXP=/(([\w-]+)(?::([^;]+))?;?)/,ALL_OR_NOTHING_ATTRS=function(str){var i,obj={},items=str.split(",");for(i=0;i<items.length;i++)obj[items[i]]=!0;return obj}("ngSrc,ngSrcset,src,srcset"),REQUIRE_PREFIX_REGEXP=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,EVENT_HANDLER_ATTR_REGEXP=/^(on[a-z]+|formaction)$/,bindingCache=createMap();function parseIsolateBindings(scope,directiveName,isController){var LOCAL_REGEXP=/^([@&]|[=<](\*?))(\??)\s*([\w$]*)$/,bindings=createMap();return forEach(scope,function(definition,scopeName){if((definition=definition.trim())in bindingCache)bindings[scopeName]=bindingCache[definition];else{var match=definition.match(LOCAL_REGEXP);if(!match)throw $compileMinErr("iscp","Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}",directiveName,scopeName,definition,isController?"controller bindings definition":"isolate scope definition");bindings[scopeName]={mode:match[1][0],collection:"*"===match[2],optional:"?"===match[3],attrName:match[4]||scopeName},match[4]&&(bindingCache[definition]=bindings[scopeName])}}),bindings}function parseDirectiveBindings(directive,directiveName){var bindings={isolateScope:null,bindToController:null};if(isObject(directive.scope)&&(!0===directive.bindToController?(bindings.bindToController=parseIsolateBindings(directive.scope,directiveName,!0),bindings.isolateScope={}):bindings.isolateScope=parseIsolateBindings(directive.scope,directiveName,!1)),isObject(directive.bindToController)&&(bindings.bindToController=parseIsolateBindings(directive.bindToController,directiveName,!0)),bindings.bindToController&&!directive.controller)throw $compileMinErr("noctrl","Cannot bind to controller without directive '{0}'s controller.",directiveName);return bindings}this.directive=function registerDirective(name,directiveFactory){return assertArg(name,"name"),assertNotHasOwnProperty(name,"directive"),isString(name)?(!function(name){var letter=name.charAt(0);if(!letter||letter!==lowercase(letter))throw $compileMinErr("baddir","Directive/Component name '{0}
1' is invalid. The first character must be a lowercase letter",name);if(name!==name.trim())throw $compileMinErr("baddir","Directive/Component name '{0}' is invalid. The name should not contain leading or trailing whitespaces",name)}(name),assertArg(directiveFactory,"directiveFactory"),hasDirectives.hasOwnProperty(name)||(hasDirectives[name]=[],$provide.factory(name+"Directive",["$injector","$exceptionHandler",function($injector,$exceptionHandler){var directives=[];return forEach(hasDirectives[name],function(directiveFactory,index){try{var directive=$injector.invoke(directiveFactory);isFunction(directive)?directive={compile:valueFn(directive)}:!directive.compile&&directive.link&&(directive.compile=valueFn(directive.link)),directive.priority=directive.priority||0,directive.index=index,directive.name=directive.name||name,directive.require=function(directive){var require=directive.require||directive.controller&&directive.name;return!isArray(require)&&isObject(require)&&forEach(require,function(value,key){var match=value.match(REQUIRE_PREFIX_REGEXP);value.substring(match[0].length)||(require[key]=match[0]+key)}),require}(directive),directive.restrict=function(restrict,name){if(restrict&&(!isString(restrict)||!/[EACM]/.test(restrict)))throw $compileMinErr("badrestrict","Restrict property '{0}' of directive '{1}' is invalid",restrict,name);return restrict||"EA"}(directive.restrict,name),directive.$$moduleName=directiveFactory.$$moduleName,directives.push(directive)}catch(e){$exceptionHandler(e)}}),directives}])),hasDirectives[name].push(directiveFactory)):forEach(name,reverseParams(registerDirective)),this},this.component=function registerComponent(name,options){if(!isString(name))return forEach(name,reverseParams(bind(this,registerComponent))),this;var controller=options.controller||function(){};function factory($injector){function makeInjectable(fn){return isFunction(fn)||isArray(fn)?function(tElement,tAttrs){return $injector.invoke(fn,this,{$element:tElement,$attrs:tAttrs})}:fn}var template=options.template||options.templateUrl?options.template:"",ddo={controller:controller,controllerAs:function(controller,ident){if(ident&&isString(ident))return ident;if(isString(controller)){var match=CNTRL_REG.exec(controller);if(match)return match[3]}}(options.controller)||options.controllerAs||"$ctrl",template:makeInjectable(template),templateUrl:makeInjectable(options.templateUrl),transclude:options.transclude,scope:{},bindToController:options.bindings||{},restrict:"E",require:options.require};return forEach(options,function(val,key){"$"===key.charAt(0)&&(ddo[key]=val)}),ddo}return forEach(options,function(val,key){"$"===key.charAt(0)&&(factory[key]=val,isFunction(controller)&&(controller[key]=val))}),factory.$inject=["$injector"],this.directive(name,factory)},this.aHrefSanitizationWhitelist=function(regexp){return isDefined(regexp)?($$sanitizeUriProvider.aHrefSanitizationWhitelist(regexp),this):$$sanitizeUriProvider.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(regexp){return isDefined(regexp)?($$sanitizeUriProvider.imgSrcSanitizationWhitelist(regexp),this):$$sanitizeUriProvider.imgSrcSanitizationWhitelist()};var debugInfoEnabled=!0,strictComponentBindingsEnabled=!(this.debugInfoEnabled=function(enabled){return isDefined(enabled)?(debugInfoEnabled=enabled,this):debugInfoEnabled});this.strictComponentBindingsEnabled=function(enabled){return isDefined(enabled)?(strictComponentBindingsEnabled=enabled,this):strictComponentBindingsEnabled};var TTL=10;this.onChangesTtl=function(value){return arguments.length?(TTL=value,this):TTL};var commentDirectivesEnabledConfig=!0;this.commentDirectivesEnabled=function(value){return arguments.length?(commentDirectivesEnabledConfig=value,this):commentDirectivesEnabledConfig};var cssClassDirectivesEnabledConfig=!0;this.cssClassDirectivesEnabled=function(value){return arguments.length?(cssClassDirectivesEnabledConfig=value,this):cssClassDirectivesEnabledConfig};var PROP_CONTEXTS=createMap();this.addPropertySecurityContext=function(elementName,propertyName,ctx){var key=elementName.toLowerCase()+"|"+propertyName.toLowerCase();if(key in PROP_CONTEXTS&&PROP_CONTEXTS[key]!==ctx)throw $compileMinErr("ctxoverride","Property context '{0}.{1}' already set to '{2}', cannot override to '{3}'.",elementName,propertyName,PROP_CONTEXTS[key],ctx);return PROP_CONTEXTS[key]=ctx,this},function(){function registerContext(ctx,values){forEach(values,function(v){PROP_CONTEXTS[v.toLowerCase()]=ctx})}registerContext(SCE_CONTEXTS.HTML,["iframe|srcdoc","*|innerHTML","*|outerHTML"]),registerContext(SCE_CONTEXTS.CSS,["*|style"]),registerContext(SCE_CONTEXTS.URL,["area|href","area|ping","a|href","a|ping","blockquote|cite","body|background","del|cite","input|src","ins|cite","q|cite"]),registerContext(SCE_CONTEXTS.MEDIA_URL,["audio|src","img|src","img|srcset","source|src","source|srcset","track|src","video|src","video|poster"]),registerContext(SCE_CONTEXTS.RESOURCE_URL,["*|formAction","applet|code","applet|codebase","base|href","embed|src","frame|src","form|action","head|profile","html|manifest","iframe|src","link|href","media|src","object|codebase","object|data","script|src"])}(),this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$sce","$animate",function($injector,$interpolate,$exceptionHandler,$templateRequest,$parse,$controller,$rootScope,$sce,$animate){var onChangesQueue,SIMPLE_ATTR_NAME=/^\w/,specialAttrHolder=window.document.createElement("div"),commentDirectivesEnabled=commentDirectivesEnabledConfig,cssClassDirectivesEnabled=cssClassDirectivesEnabledConfig,onChangesTtl=TTL;function flushOnChangesQueue(){try{if(!--onChangesTtl)throw onChangesQueue=void 0,$compileMinErr("infchng","{0} $onChanges() iterations reached. Aborting!\n",TTL);$rootScope.$apply(function(){for(var i=0,ii=onChangesQueue.length;i<ii;++i)try{onChangesQueue[i]()}catch(e){$exceptionHandler(e)}onChangesQueue=void 0})}finally{onChangesTtl++}}function sanitizeSrcset(value,invokeType){if(!value)return value;if(!isString(value))throw $compileMinErr("srcset",'Can\'t pass trusted values to `{0}`: "{1}"',invokeType,value.toString());for(var result="",trimmedSrcset=trim(value),pattern=/\s/.test(trimmedSrcset)?/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/:/(,)/,rawUris=trimmedSrcset.split(pattern),nbrUrisWith2parts=Math.floor(rawUris.length/2),i=0;i<nbrUrisWith2parts;i++){var innerIdx=2*i;result+=$sce.getTrustedMediaUrl(trim(rawUris[innerIdx])),result+=" "+trim(rawUris[innerIdx+1])}var lastTuple=trim(rawUris[2*i]).split(/\s/);return result+=$sce.getTrustedMediaUrl(trim(lastTuple[0])),2===lastTuple.length&&(result+=" "+trim(lastTuple[1])),result}function Attributes(element,attributesToCopy){if(attributesToCopy){var i,l,key,keys=Object.keys(attributesToCopy);for(i=0,l=keys.length;i<l;i++)this[key=keys[i]]=attributesToCopy[key]}else this.$attr={};this.$$element=element}function safeAddClass($element,className){try{$element.addClass(className)}catch(e){}}Attributes.prototype={$normalize:directiveNormalize,$addClass:function(classVal){classVal&&0<classVal.length&&$animate.addClass(this.$$element,classVal)},$removeClass:function(classVal){classVal&&0<classVal.length&&$animate.removeClass(this.$$element,classVal)}
1,$updateClass:function(newClasses,oldClasses){var toAdd=tokenDifference(newClasses,oldClasses);toAdd&&toAdd.length&&$animate.addClass(this.$$element,toAdd);var toRemove=tokenDifference(oldClasses,newClasses);toRemove&&toRemove.length&&$animate.removeClass(this.$$element,toRemove)},$set:function(key,value,writeAttr,attrName){var booleanKey=getBooleanAttrName(this.$$element[0],key),aliasedKey=ALIASED_ATTR[key],observer=key;booleanKey?(this.$$element.prop(key,value),attrName=booleanKey):aliasedKey&&(this[aliasedKey]=value,observer=aliasedKey),this[key]=value,attrName?this.$attr[key]=attrName:(attrName=this.$attr[key])||(this.$attr[key]=attrName=snake_case(key,"-")),"img"===nodeName_(this.$$element)&&"srcset"===key&&(this[key]=value=sanitizeSrcset(value,"$set('srcset', value)")),!1!==writeAttr&&(null===value||isUndefined(value)?this.$$element.removeAttr(attrName):SIMPLE_ATTR_NAME.test(attrName)?this.$$element.attr(attrName,value):function(element,attrName,value){specialAttrHolder.innerHTML="<span "+attrName+">";var attributes=specialAttrHolder.firstChild.attributes,attribute=attributes[0];attributes.removeNamedItem(attribute.name),attribute.value=value,element.attributes.setNamedItem(attribute)}(this.$$element[0],attrName,value));var $$observers=this.$$observers;$$observers&&forEach($$observers[observer],function(fn){try{fn(value)}catch(e){$exceptionHandler(e)}})},$observe:function(key,fn){var attrs=this,$$observers=attrs.$$observers||(attrs.$$observers=createMap()),listeners=$$observers[key]||($$observers[key]=[]);return listeners.push(fn),$rootScope.$evalAsync(function(){listeners.$$inter||!attrs.hasOwnProperty(key)||isUndefined(attrs[key])||fn(attrs[key])}),function(){arrayRemove(listeners,fn)}}};var startSymbol=$interpolate.startSymbol(),endSymbol=$interpolate.endSymbol(),denormalizeTemplate="{{"===startSymbol&&"}}"===endSymbol?identity:function(template){return template.replace(/\{\{/g,startSymbol).replace(/}}/g,endSymbol)},NG_PREFIX_BINDING=/^ng(Attr|Prop|On)([A-Z].*)$/,MULTI_ELEMENT_DIR_RE=/^(.+)Start$/;return compile.$$addBindingInfo=debugInfoEnabled?function($element,binding){var bindings=$element.data("$binding")||[];isArray(binding)?bindings=bindings.concat(binding):bindings.push(binding),$element.data("$binding",bindings)}:noop,compile.$$addBindingClass=debugInfoEnabled?function($element){safeAddClass($element,"ng-binding")}:noop,compile.$$addScopeInfo=debugInfoEnabled?function($element,scope,isolated,noTemplate){var dataName=isolated?noTemplate?"$isolateScopeNoTemplate":"$isolateScope":"$scope";$element.data(dataName,scope)}:noop,compile.$$addScopeClass=debugInfoEnabled?function($element,isolated){safeAddClass($element,isolated?"ng-isolate-scope":"ng-scope")}:noop,compile.$$createComment=function(directiveName,comment){var content="";return debugInfoEnabled&&(content=" "+(directiveName||"")+": ",comment&&(content+=comment+" ")),window.document.createComment(content)},compile;function compile($compileNodes,transcludeFn,maxPriority,ignoreDirective,previousCompileContext){$compileNodes instanceof jqLite||($compileNodes=jqLite($compileNodes));var compositeLinkFn=compileNodes($compileNodes,transcludeFn,$compileNodes,maxPriority,ignoreDirective,previousCompileContext);compile.$$addScopeClass($compileNodes);var namespace=null;return function(scope,cloneConnectFn,options){if(!$compileNodes)throw $compileMinErr("multilink","This element has already been linked.");assertArg(scope,"scope"),previousCompileContext&&previousCompileContext.needsNewScope&&(scope=scope.$parent.$new());var parentElement,node,$linkNode,parentBoundTranscludeFn=(options=options||{}).parentBoundTranscludeFn,transcludeControllers=options.transcludeControllers,futureParentElement=options.futureParentElement;if(parentBoundTranscludeFn&&parentBoundTranscludeFn.$$boundTransclude&&(parentBoundTranscludeFn=parentBoundTranscludeFn.$$boundTransclude),namespace||(node=(parentElement=futureParentElement)&&parentElement[0],namespace=node&&"foreignobject"!==nodeName_(node)&&toString.call(node).match(/SVG/)?"svg":"html"),$linkNode="html"!==namespace?jqLite(wrapTemplate(namespace,jqLite("<div></div>").append($compileNodes).html())):cloneConnectFn?JQLitePrototype.clone.call($
1compileNodes):$compileNodes,transcludeControllers)for(var controllerName in transcludeControllers)$linkNode.data("$"+controllerName+"Controller",transcludeControllers[controllerName].instance);return compile.$$addScopeInfo($linkNode,scope),cloneConnectFn&&cloneConnectFn($linkNode,scope),compositeLinkFn&&compositeLinkFn(scope,$linkNode,$linkNode,parentBoundTranscludeFn),cloneConnectFn||($compileNodes=compositeLinkFn=null),$linkNode}}function compileNodes(nodeList,transcludeFn,$rootElement,maxPriority,ignoreDirective,previousCompileContext){for(var attrs,directives,nodeLinkFn,childNodes,childLinkFn,linkFnFound,nodeLinkFnFound,linkFns=[],notLiveList=isArray(nodeList)||nodeList instanceof jqLite,i=0;i<nodeList.length;i++)attrs=new Attributes,11===msie&&mergeConsecutiveTextNodes(nodeList,i,notLiveList),(nodeLinkFn=(directives=collectDirectives(nodeList[i],[],attrs,0===i?maxPriority:void 0,ignoreDirective)).length?applyDirectivesToNode(directives,nodeList[i],attrs,transcludeFn,$rootElement,null,[],[],previousCompileContext):null)&&nodeLinkFn.scope&&compile.$$addScopeClass(attrs.$$element),childLinkFn=nodeLinkFn&&nodeLinkFn.terminal||!(childNodes=nodeList[i].childNodes)||!childNodes.length?null:compileNodes(childNodes,nodeLinkFn?(nodeLinkFn.transcludeOnThisElement||!nodeLinkFn.templateOnThisElement)&&nodeLinkFn.transclude:transcludeFn),(nodeLinkFn||childLinkFn)&&(linkFns.push(i,nodeLinkFn,childLinkFn),linkFnFound=!0,nodeLinkFnFound=nodeLinkFnFound||nodeLinkFn),previousCompileContext=null;return linkFnFound?function(scope,nodeList,$rootElement,parentBoundTranscludeFn){var nodeLinkFn,childLinkFn,node,childScope,i,ii,idx,childBoundTranscludeFn,stableNodeList;if(nodeLinkFnFound){var nodeListLength=nodeList.length;for(stableNodeList=new Array(nodeListLength),i=0;i<linkFns.length;i+=3)idx=linkFns[i],stableNodeList[idx]=nodeList[idx]}else stableNodeList=nodeList;for(i=0,ii=linkFns.length;i<ii;)node=stableNodeList[linkFns[i++]],nodeLinkFn=linkFns[i++],childLinkFn=linkFns[i++],nodeLinkFn?(nodeLinkFn.scope?(childScope=scope.$new(),compile.$$addScopeInfo(jqLite(node),childScope)):childScope=scope,childBoundTranscludeFn=nodeLinkFn.transcludeOnThisElement?createBoundTranscludeFn(scope,nodeLinkFn.transclude,parentBoundTranscludeFn):!nodeLinkFn.templateOnThisElement&&parentBoundTranscludeFn?parentBoundTranscludeFn:!parentBoundTranscludeFn&&transcludeFn?createBoundTranscludeFn(scope,transcludeFn):null,nodeLinkFn(childLinkFn,childScope,node,$rootElement,childBoundTranscludeFn)):childLinkFn&&childLinkFn(scope,node.childNodes,void 0,parentBoundTranscludeFn)}:null}function mergeConsecutiveTextNodes(nodeList,idx,notLiveList){var sibling,node=nodeList[idx],parent=node.parentNode;if(node.nodeType===NODE_TYPE_TEXT)for(;(sibling=parent?node.nextSibling:nodeList[idx+1])&&sibling.nodeType===NODE_TYPE_TEXT;)node.nodeValue=node.nodeValue+sibling.nodeValue,sibling.parentNode&&sibling.parentNode.removeChild(sibling),notLiveList&&sibling===nodeList[idx+1]&&nodeList.splice(idx+1,1)}function createBoundTranscludeFn(scope,transcludeFn,previousBoundTranscludeFn){function boundTranscludeFn(transcludedScope,cloneFn,controllers,futureParentElement,containingScope){return transcludedScope||((transcludedScope=scope.$new(!1,containingScope)).$$transcluded=!0),transcludeFn(transcludedScope,cloneFn,{parentBoundTranscludeFn:previousBoundTranscludeFn,transcludeControllers:controllers,futureParentElement:futureParentElement})}var boundSlots=boundTranscludeFn.$$slots=createMap();for(var slotName in transcludeFn.$$slots)transcludeFn.$$slots[slotName]?boundSlots[slotName]=createBoundTranscludeFn(scope,transcludeFn.$$slots[slotName],previousBoundTranscludeFn):boundSlots[slotName]=null;return boundTranscludeFn}function collectDirectives(node,directives,attrs,maxPriority,ignoreDirective){var match,nodeName,className,nodeType=node.nodeType,attrsMap=attrs.$attr;switch(nodeType){case NODE_TYPE_ELEMENT:addDirective(directives,directiveNormalize(nodeName=nodeName_(node)),"E",maxPriority,ignoreDirective);for(var attr,name,nName,value,ngPrefixMatch,nAttrs=node.attributes,j=0,jj=nAttrs&&nAttrs.length;j<jj;j++){var multiElementMatch,attrStartName=!1,attrEndName=!1,isNgAttr=!1,isNgProp=!1,isNgEvent=!1;name=(attr=nAttrs[j]).name,value=attr.value,(ngPrefixMatch=(nName=directiveNormalize(name.toLowerCase())).match(NG_PREFIX_BINDING))?(isNgAttr="Attr"===ngPrefixMatch[1],isNgProp="Prop"===ngPrefixMatch[1],isNgEvent="On"===ngPrefixMatch[1],name=name.replace(PREFIX_REGEXP,"").toLowerCase().substr(4+ngPrefixMatch[1].length).replace(/_(.)/g,function(match,letter){return letter.toUpperCase()})):(multiElementMatch=nName.match(MULTI_ELEMENT_DIR_RE))&&directiveIsMultiElement(multiElementMatch[1])&&(attrEndName=(attrStartName=name).substr(0,name.length-5)+"end",name=name.substr(0,name.length-6)),isNgProp||isNgEvent?(attrs[nName]=value,attrsMap[nName]=attr.name,isNgProp?addPropertyDirective(node,directives,nName,name):addEventDirective(directives,nName,name)):(attrsMap[nName=directiveNormalize(name.toLowerCase())]=name,!isNgAttr&&attrs.hasOwnProperty(nName)||(attrs[nName]=value,getBooleanAttrName(node,nName)&&(attrs[nName]=!0)),addAttrInterpolateDirective(node,directives,value,nName,isNgAttr),addDirective(directives,nName,"A",maxPriority,ignoreDirective,attr
1StartName,attrEndName))}if("input"===nodeName&&"hidden"===node.getAttribute("type")&&node.setAttribute("autocomplete","off"),!cssClassDirectivesEnabled)break;if(isObject(className=node.className)&&(className=className.animVal),isString(className)&&""!==className)for(;match=CLASS_DIRECTIVE_REGEXP.exec(className);)addDirective(directives,nName=directiveNormalize(match[2]),"C",maxPriority,ignoreDirective)&&(attrs[nName]=trim(match[3])),className=className.substr(match.index+match[0].length);break;case NODE_TYPE_TEXT:!function(directives,text){var interpolateFn=$interpolate(text,!0);interpolateFn&&directives.push({priority:0,compile:function(templateNode){var templateNodeParent=templateNode.parent(),hasCompileParent=!!templateNodeParent.length;return hasCompileParent&&compile.$$addBindingClass(templateNodeParent),function(scope,node){var parent=node.parent();hasCompileParent||compile.$$addBindingClass(parent),compile.$$addBindingInfo(parent,interpolateFn.expressions),scope.$watch(interpolateFn,function(value){node[0].nodeValue=value})}}})}(directives,node.nodeValue);break;case NODE_TYPE_COMMENT:if(!commentDirectivesEnabled)break;!function(node,directives,attrs,maxPriority,ignoreDirective){try{var match=COMMENT_DIRECTIVE_REGEXP.exec(node.nodeValue);if(match){var nName=directiveNormalize(match[1]);addDirective(directives,nName,"M",maxPriority,ignoreDirective)&&(attrs[nName]=trim(match[2]))}}catch(e){}}(node,directives,attrs,maxPriority,ignoreDirective)}return directives.sort(byPriority),directives}function groupScan(node,attrStart,attrEnd){var nodes=[],depth=0;if(attrStart&&node.hasAttribute&&node.hasAttribute(attrStart))do{if(!node)throw $compileMinErr("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",attrStart,attrEnd);node.nodeType===NODE_TYPE_ELEMENT&&(node.hasAttribute(attrStart)&&depth++,node.hasAttribute(attrEnd)&&depth--),nodes.push(node),node=node.nextSibling}while(0<depth);else nodes.push(node);return jqLite(nodes)}function groupElementsLinkFnWrapper(linkFn,attrStart,attrEnd){return function(scope,element,attrs,controllers,transcludeFn){return element=groupScan(element[0],attrStart,attrEnd),linkFn(scope,element,attrs,controllers,transcludeFn)}}function compilationGenerator(eager,$compileNodes,transcludeFn,maxPriority,ignoreDirective,previousCompileContext){var compiled;return eager?compile($compileNodes,transcludeFn,maxPriority,ignoreDirective,previousCompileContext):function(){return compiled||(compiled=compile($compileNodes,transcludeFn,maxPriority,ignoreDirective,previousCompileContext),$compileNodes=transcludeFn=previousCompileContext=null),compiled.apply(this,arguments)}}function applyDirectivesToNode(directives,compileNode,templateAttrs,transcludeFn,jqCollection,originalReplaceDirective,preLinkFns,postLinkFns,previousCompileContext){previousCompileContext=previousCompileContext||{};for(var directive,directiveName,$template,linkFn,directiveValue,terminalPriority=-Number.MAX_VALUE,newScopeDirective=previousCompileContext.newScopeDirective,controllerDirectives=previousCompileContext.controllerDirectives,newIsolateScopeDirective=previousCompileContext.newIsolateScopeDirective,templateDirective=previousCompileContext.templateDirective,nonTlbTranscludeDirective=previousCompileContext.nonTlbTranscludeDirective,hasTranscludeDirective=!1,hasTemplate=!1,hasElementTranscludeDirective=previousCompileContext.hasElementTranscludeDirective,$compileNode=templateAttrs.$$element=jqLite(compileNode),replaceDirective=originalReplaceDirective,childTranscludeFn=transcludeFn,didScanForMultipleTransclusion=!1,mightHaveMultipleTransclusionError=!1,i=0,ii=directives.length;i<ii;i++){var attrStart=(directive=directives[i]).$$start,attrEnd=directive.$$end;if(attrStart&&($compileNode=groupScan(compileNode,attrStart,attrEnd)),$template=void 0,terminalPriority>directive.priority)break;if((directiveValue=directive.scope)&&(directive.templateUrl||(isObject(directiveValue)?(assertNoDuplicate("new/isolated scope",newIsolateScopeDirective||newScopeDirective,directive,$compileNode),newIsolateScopeDirective=directive):assertNoDuplicate("new/isolated scope",newIsolateScopeDirective,directive,$compileNode)),newScopeDirective=newScopeDirective||directive),directiveName=directive.name,!didScanForMultipleTransclusion&&(
1directive.replace&&(directive.templateUrl||directive.template)||directive.transclude&&!directive.$$tlb)){for(var candidateDirective,scanningIndex=i+1;candidateDirective=directives[scanningIndex++];)if(candidateDirective.transclude&&!candidateDirective.$$tlb||candidateDirective.replace&&(candidateDirective.templateUrl||candidateDirective.template)){mightHaveMultipleTransclusionError=!0;break}didScanForMultipleTransclusion=!0}if(!directive.templateUrl&&directive.controller&&(controllerDirectives=controllerDirectives||createMap(),assertNoDuplicate("'"+directiveName+"' controller",controllerDirectives[directiveName],directive,$compileNode),controllerDirectives[directiveName]=directive),directiveValue=directive.transclude)if(hasTranscludeDirective=!0,directive.$$tlb||(assertNoDuplicate("transclusion",nonTlbTranscludeDirective,directive,$compileNode),nonTlbTranscludeDirective=directive),"element"===directiveValue)hasElementTranscludeDirective=!0,terminalPriority=directive.priority,$template=$compileNode,$compileNode=templateAttrs.$$element=jqLite(compile.$$createComment(directiveName,templateAttrs[directiveName])),compileNode=$compileNode[0],replaceWith(jqCollection,sliceArgs($template),compileNode),childTranscludeFn=compilationGenerator(mightHaveMultipleTransclusionError,$template,transcludeFn,terminalPriority,replaceDirective&&replaceDirective.name,{nonTlbTranscludeDirective:nonTlbTranscludeDirective});else{var slots=createMap();if(isObject(directiveValue)){$template=window.document.createDocumentFragment();var slotMap=createMap(),filledSlots=createMap();for(var slotName in forEach(directiveValue,function(elementSelector,slotName){var optional="?"===elementSelector.charAt(0);elementSelector=optional?elementSelector.substring(1):elementSelector,slotMap[elementSelector]=slotName,slots[slotName]=null,filledSlots[slotName]=optional}),forEach($compileNode.contents(),function(node){var slotName=slotMap[directiveNormalize(nodeName_(node))];slotName?(filledSlots[slotName]=!0,slots[slotName]=slots[slotName]||window.document.createDocumentFragment(),slots[slotName].appendChild(node)):$template.appendChild(node)}),forEach(filledSlots,function(filled,slotName){if(!filled)throw $compileMinErr("reqslot","Required transclusion slot `{0}` was not filled.",slotName)}),slots)if(slots[slotName]){var slotCompileNodes=jqLite(slots[slotName].childNodes);slots[slotName]=compilationGenerator(mightHaveMultipleTransclusionError,slotCompileNodes,transcludeFn)}$template=jqLite($template.childNodes)}else $template=jqLite(jqLiteClone(compileNode)).contents();$compileNode.empty(),(childTranscludeFn=compilationGenerator(mightHaveMultipleTransclusionError,$template,transcludeFn,void 0,void 0,{needsNewScope:directive.$$isolateScope||directive.$$newScope})).$$slots=slots}if(directive.template)if(hasTemplate=!0,assertNoDuplicate("template",templateDirective,directive,$compileNode),directiveValue=isFunction((templateDirective=directive).template)?directive.template($compileNode,templateAttrs):directive.template,directiveValue=denormalizeTemplate(directiveValue),directive.replace){if(replaceDirective=directive,$template=jqLiteIsTextNode(directiveValue)?[]:removeComments(wrapTemplate(directive.templateNamespace,trim(directiveValue))),compileNode=$template[0],1!==$template.length||compileNode.nodeType!==NODE_TYPE_ELEMENT)throw $compileMinErr("tplrt","Template for directive '{0}' must have exactly one root element. {1}",directiveName,"");replaceWith(jqCollection,$compileNode,compileNode);var newTemplateAttrs={$attr:{}},templateDirectives=collectDirectives(compileNode,[],newTemplateAttrs),unprocessedDirectives=directives.splice(i+1,directives.length-(i+1));(newIsolateScopeDirective||newScopeDirective)&&markDirectiveScope(templateDirectives,newIsolateScopeDirective,newScopeDirective),directives=directives.concat(templateDirectives).concat(unprocessedDirectives),mergeTemplateAttributes(templateAttrs,newTemplateAttrs),ii=directives.length}else $compileNode.html(directiveValue);if(directive.templateUrl)hasTemplate=!0,assertNoDuplicate("template",templateDirective,directive,$compileNode),(templateDirective=directive).replace&&(replaceDirective=directive),nodeLinkFn=compileTemplateUrl(directives.splice(i,directives.length-i),$compileNode,templateAttrs,jqCollection,hasTranscludeDirective&&childTranscludeFn,preLinkFns,postLinkFns,{controllerDirectives:controllerDirectives,newScopeDirective:newScopeDirective!==directive&&newScopeDirective,newIsolateScopeDirective:newIsolateScopeDirective,templateDirective:templateDirective,nonTlbTranscludeDirective:nonTlbTranscludeDirective}),ii=directives.length;else if(directive.compile)try{linkFn=directive.compile($compileNode,templateAttrs,childTranscludeFn);var context=directive.$$originalDirective||directive;isFunction(linkFn)?addLinkFns(null,bind(context,linkFn),attrStart,attrEnd):linkFn&&addLinkFns(bind(context,linkFn.pre),bind(context,linkFn.post),attrStart,attrEnd)}catch(e){$exceptionHandler(e,startingTag($compileNode))}directive.terminal&&(nodeLinkFn.terminal=!0,terminalPriority=Math.max(terminalPriority,directive.priority))}return nodeLinkFn.scope=newScopeDirective&&!0===newScopeDirective.scope,nodeLinkFn.transcludeOnThisElement=hasTranscludeDirective,nodeLinkFn.templateOnThisElement=hasTemplate,nodeLinkFn.transclude=childTranscludeFn,previousCompileContext.hasElementTranscludeDirective=hasElementTranscludeDirective,nodeLinkFn;
1function addLinkFns(pre,post,attrStart,attrEnd){pre&&(attrStart&&(pre=groupElementsLinkFnWrapper(pre,attrStart,attrEnd)),pre.require=directive.require,pre.directiveName=directiveName,(newIsolateScopeDirective===directive||directive.$$isolateScope)&&(pre=cloneAndAnnotateFn(pre,{isolateScope:!0})),preLinkFns.push(pre)),post&&(attrStart&&(post=groupElementsLinkFnWrapper(post,attrStart,attrEnd)),post.require=directive.require,post.directiveName=directiveName,(newIsolateScopeDirective===directive||directive.$$isolateScope)&&(post=cloneAndAnnotateFn(post,{isolateScope:!0})),postLinkFns.push(post))}function nodeLinkFn(childLinkFn,scope,linkNode,$rootElement,boundTranscludeFn){var i,ii,linkFn,isolateScope,controllerScope,elementControllers,transcludeFn,$element,attrs,scopeBindingInfo;for(var name in compileNode===linkNode?$element=(attrs=templateAttrs).$$element:attrs=new Attributes($element=jqLite(linkNode),templateAttrs),controllerScope=scope,newIsolateScopeDirective?isolateScope=scope.$new(!0):newScopeDirective&&(controllerScope=scope.$parent),boundTranscludeFn&&((transcludeFn=function(scope,cloneAttachFn,futureParentElement,slotName){var transcludeControllers;isScope(scope)||(slotName=futureParentElement,futureParentElement=cloneAttachFn,cloneAttachFn=scope,scope=void 0);hasElementTranscludeDirective&&(transcludeControllers=elementControllers);futureParentElement||(futureParentElement=hasElementTranscludeDirective?$element.parent():$element);{if(!slotName)return boundTranscludeFn(scope,cloneAttachFn,transcludeControllers,futureParentElement,scopeToChild);var slotTranscludeFn=boundTranscludeFn.$$slots[slotName];if(slotTranscludeFn)return slotTranscludeFn(scope,cloneAttachFn,transcludeControllers,futureParentElement,scopeToChild);if(isUndefined(slotTranscludeFn))throw $compileMinErr("noslot",'No parent directive that requires a transclusion with slot name "{0}". Element: {1}',slotName,startingTag($element))}}).$$boundTransclude=boundTranscludeFn,transcludeFn.isSlotFilled=function(slotName){return!!boundTranscludeFn.$$slots[slotName]}),controllerDirectives&&(elementControllers=function($element,attrs,transcludeFn,controllerDirectives,isolateScope,scope,newIsolateScopeDirective){var elementControllers=createMap();for(var controllerKey in controllerDirectives){var directive=controllerDirectives[controllerKey],locals={$scope:directive===newIsolateScopeDirective||directive.$$isolateScope?isolateScope:scope,$element:$element,$attrs:attrs,$transclude:transcludeFn},controller=directive.controller;"@"===controller&&(controller=attrs[directive.name]);var controllerInstance=$controller(controller,locals,!0,directive.controllerAs);elementControllers[directive.name]=controllerInstance,$element.data("$"+directive.name+"Controller",controllerInstance.instance)}return elementControllers}($element,attrs,transcludeFn,controllerDirectives,isolateScope,scope,newIsolateScopeDirective)),newIsolateScopeDirective&&(compile.$$addScopeInfo($element,isolateScope,!0,!(templateDirective&&(templateDirective===newIsolateScopeDirective||templateDirective===newIsolateScopeDirective.$$originalDirective))),compile.$$addScopeClass($element,!0),isolateScope.$$isolateBindings=newIsolateScopeDirective.$$isolateBindings,(scopeBindingInfo=initializeDirectiveBindings(scope,attrs,isolateScope,isolateScope.$$isolateBindings,newIsolateScopeDirective)).removeWatches&&isolateScope.$on("$destroy",scopeBindingInfo.removeWatches)),elementControllers){var controllerDirective=controllerDirectives[name],controller=elementControllers[name],bindings=controllerDirective.$$bindings.bindToController;controller.instance=controller(),$element.data("$"+controllerDirective.name+"Controller",controller.instance),controller.bindingInfo=initializeDirectiveBindings(controllerScope,attrs,controller.instance,bindings,controllerDirective)}for(forEach(controllerDirectives,function(controllerDirective,name){var require=controllerDirective.require;controllerDirective.bindToController&&!isArray(require)&&isObject(require)&&extend(elementControllers[name].instance,getControllers(name,require,$element,elementControllers))}
1),forEach(elementControllers,function(controller){var controllerInstance=controller.instance;if(isFunction(controllerInstance.$onChanges))try{controllerInstance.$onChanges(controller.bindingInfo.initialChanges)}catch(e){$exceptionHandler(e)}if(isFunction(controllerInstance.$onInit))try{controllerInstance.$onInit()}catch(e){$exceptionHandler(e)}isFunction(controllerInstance.$doCheck)&&(controllerScope.$watch(function(){controllerInstance.$doCheck()}),controllerInstance.$doCheck()),isFunction(controllerInstance.$onDestroy)&&controllerScope.$on("$destroy",function(){controllerInstance.$onDestroy()})}),i=0,ii=preLinkFns.length;i<ii;i++)invokeLinkFn(linkFn=preLinkFns[i],linkFn.isolateScope?isolateScope:scope,$element,attrs,linkFn.require&&getControllers(linkFn.directiveName,linkFn.require,$element,elementControllers),transcludeFn);var scopeToChild=scope;for(newIsolateScopeDirective&&(newIsolateScopeDirective.template||null===newIsolateScopeDirective.templateUrl)&&(scopeToChild=isolateScope),childLinkFn&&childLinkFn(scopeToChild,linkNode.childNodes,void 0,boundTranscludeFn),i=postLinkFns.length-1;0<=i;i--)invokeLinkFn(linkFn=postLinkFns[i],linkFn.isolateScope?isolateScope:scope,$element,attrs,linkFn.require&&getControllers(linkFn.directiveName,linkFn.require,$element,elementControllers),transcludeFn);forEach(elementControllers,function(controller){var controllerInstance=controller.instance;isFunction(controllerInstance.$postLink)&&controllerInstance.$postLink()})}}function getControllers(directiveName,require,$element,elementControllers){var value;if(isString(require)){var match=require.match(REQUIRE_PREFIX_REGEXP),name=require.substring(match[0].length),inheritType=match[1]||match[3],optional="?"===match[2];if("^^"===inheritType?$element=$element.parent():value=(value=elementControllers&&elementControllers[name])&&value.instance,!value){var dataName="$"+name+"Controller";value="^^"===inheritType&&$element[0]&&$element[0].nodeType===NODE_TYPE_DOCUMENT?null:inheritType?$element.inheritedData(dataName):$element.data(dataName)}if(!value&&!optional)throw $compileMinErr("ctreq","Controller '{0}', required by directive '{1}', can't be found!",name,directiveName)}else if(isArray(require)){value=[];for(var i=0,ii=require.length;i<ii;i++)value[i]=getControllers(directiveName,require[i],$element,elementControllers)}else isObject(require)&&(value={},forEach(require,function(controller,property){value[property]=getControllers(directiveName,controller,$element,elementControllers)}));return value||null}function markDirectiveScope(directives,isolateScope,newScope){for(var j=0,jj=directives.length;j<jj;j++)directives[j]=inherit(directives[j],{$$isolateScope:isolateScope,$$newScope:newScope})}function addDirective(tDirectives,name,location,maxPriority,ignoreDirective,startAttrName,endAttrName){if(name===ignoreDirective)return null;var match=null;if(hasDirectives.hasOwnProperty(name))for(var directive,directives=$injector.get(name+"Directive"),i=0,ii=directives.length;i<ii;i++)if(directive=directives[i],(isUndefined(maxPriority)||maxPriority>directive.priority)&&-1!==directive.restrict.indexOf(location)){if(startAttrName&&(directive=inherit(directive,{$$start:startAttrName,$$end:endAttrName})),!directive.$$bindings){var bindings=directive.$$bindings=parseDirectiveBindings(directive,directive.name);isObject(bindings.isolateScope)&&(directive.$$isolateBindings=bindings.isolateScope)}tDirectives.push(directive),match=directive}return match}function directiveIsMultiElement(name){if(hasDirectives.hasOwnProperty(name))for(var directives=$injector.get(name+"Directive"),i=0,ii=directives.length;i<ii;i++)if(directives[i].multiElement)return!0;return!1}function mergeTemplateAttributes(dst,src){var srcAttr=src.$attr,dstAttr=dst.$attr;forEach(dst,function(value,key){"$"!==key.charAt(0)&&(src[key]&&src[key]!==value&&(value.length?value+=("style"===key?";":" ")+src[key]:value=src[key]),dst.$set(key,value,!0,srcAttr[key]))}),forEach(src,function(value,key){dst.hasOwnProperty(key)||"$"===key.charAt(0)||(dst[key]=value,"class"!==key&&"style"!==key&&(dstAttr[key]=srcAttr[key]))})}function compileTemplateUrl(directives,$compileNode,tAttrs,$rootElement,childTranscludeFn,preLinkFns,postLinkFns,previousCompileContext){var afterTemplateNodeLinkFn,afterTemplateChildLinkFn,linkQueue=[],beforeTemplateCompileNode=$compileNode[0],origAsyncDirective=directives.shift(),derivedSyncDirective=inherit(origAsyncDirective,{templateUrl:null,transclude:null,replace:null,$$originalDirective:origAsyncDirective}),templateUrl=isFunction(origAsyncDirective.templateUrl)?origAsyncDirective.templateUrl($compileNode,tAttrs):origAsyncDirective.templateUrl,templateNamespace=origAsyncDirective.templateNamespace;return $compileNode.empty(),$templateRequest(templateUrl).then(function(content){var compileNode,tempTemplateAttrs,$template,childBoundTranscludeFn;if(content=denormalizeTemplate(content),origAsyncDirective.replace){if($template=jqLiteIsTextNode(content)?[]:removeComments(wrapTemplate(templateNamespace,trim(content))),compileNode=$template[0],1!==$template.length||compileNode.nodeType!==NODE_TYPE_ELEMENT)throw $compileMinErr("tplrt","Template for directive '{0}' must have exactly one root element. {1}",origAsyncDirective.name,templateUrl);tempTemplateAttrs={$attr:{}},replaceWith($rootElement,$compileNode,compileNode);var templateDirectives=collectDirectives(compileNode,[],tempTemplateAttrs);isObject(origAsyncDirective.scope)&&markDirectiveScope(templateDirectives,!0),directives=templateDirectives.concat(directives),mergeTemplateAttributes(tAttrs,tempTemplateAttrs)}else compileNode=beforeTemplateCompileNode,$compileNode.html(content);for(directives.unshift(derivedSyncDirective),afterTemplateNodeLinkFn=applyDirectivesToNode(directives,compileNode,tAttrs,childTranscludeFn,$compileNode,origAsyncDirective,preLinkFns,postLinkFns,previousCompileContext),forEach($rootElement,function(node,i){
1node===compileNode&&($rootElement[i]=$compileNode[0])}),afterTemplateChildLinkFn=compileNodes($compileNode[0].childNodes,childTranscludeFn);linkQueue.length;){var scope=linkQueue.shift(),beforeTemplateLinkNode=linkQueue.shift(),linkRootElement=linkQueue.shift(),boundTranscludeFn=linkQueue.shift(),linkNode=$compileNode[0];if(!scope.$$destroyed){if(beforeTemplateLinkNode!==beforeTemplateCompileNode){var oldClasses=beforeTemplateLinkNode.className;previousCompileContext.hasElementTranscludeDirective&&origAsyncDirective.replace||(linkNode=jqLiteClone(compileNode)),replaceWith(linkRootElement,jqLite(beforeTemplateLinkNode),linkNode),safeAddClass(jqLite(linkNode),oldClasses)}childBoundTranscludeFn=afterTemplateNodeLinkFn.transcludeOnThisElement?createBoundTranscludeFn(scope,afterTemplateNodeLinkFn.transclude,boundTranscludeFn):boundTranscludeFn,afterTemplateNodeLinkFn(afterTemplateChildLinkFn,scope,linkNode,$rootElement,childBoundTranscludeFn)}}linkQueue=null}).catch(function(error){isError(error)&&$exceptionHandler(error)}),function(ignoreChildLinkFn,scope,node,rootElement,boundTranscludeFn){var childBoundTranscludeFn=boundTranscludeFn;scope.$$destroyed||(linkQueue?linkQueue.push(scope,node,rootElement,childBoundTranscludeFn):(afterTemplateNodeLinkFn.transcludeOnThisElement&&(childBoundTranscludeFn=createBoundTranscludeFn(scope,afterTemplateNodeLinkFn.transclude,boundTranscludeFn)),afterTemplateNodeLinkFn(afterTemplateChildLinkFn,scope,node,rootElement,childBoundTranscludeFn)))}}function byPriority(a,b){var diff=b.priority-a.priority;return 0!==diff?diff:a.name!==b.name?a.name<b.name?-1:1:a.index-b.index}function assertNoDuplicate(what,previousDirective,directive,element){function wrapModuleNameIfDefined(moduleName){return moduleName?" (module: "+moduleName+")":""}if(previousDirective)throw $compileMinErr("multidir","Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}",previousDirective.name,wrapModuleNameIfDefined(previousDirective.$$moduleName),directive.name,wrapModuleNameIfDefined(directive.$$moduleName),what,startingTag(element))}function wrapTemplate(type,template){switch(type=lowercase(type||"html")){case"svg":case"math":var wrapper=window.document.createElement("div");return wrapper.innerHTML="<"+type+">"+template+"</"+type+">",wrapper.childNodes[0].childNodes;default:return template}}function sanitizeSrcsetPropertyValue(value){return sanitizeSrcset($sce.valueOf(value),"ng-prop-srcset")}function addPropertyDirective(node,directives,attrName,propName){if(EVENT_HANDLER_ATTR_REGEXP.test(propName))throw $compileMinErr("nodomevents","Property bindings for HTML DOM event properties are disallowed");var nodeName=nodeName_(node),trustedContext=function(nodeName,propNormalizedName){var prop=propNormalizedName.toLowerCase();return PROP_CONTEXTS[nodeName+"|"+prop]||PROP_CONTEXTS["*|"+prop]}(nodeName,propName),sanitizer=identity;"srcset"!==propName||"img"!==nodeName&&"source"!==nodeName?trustedContext&&(sanitizer=$sce.getTrusted.bind($sce,trustedContext)):sanitizer=sanitizeSrcsetPropertyValue,directives.push({priority:100,compile:function(_,attr){var ngPropGetter=$parse(attr[attrName]),ngPropWatch=$parse(attr[attrName],function(val){return $sce.valueOf(val)});return{pre:function(scope,$element){function applyPropValue(){var propValue=ngPropGetter(scope);$element.prop(propName,sanitizer(propValue))}applyPropValue(),scope.$watch(ngPropWatch,applyPropValue)}}}})}function addEventDirective(directives,attrName,eventName){directives.push(createEventDirective($parse,$rootScope,$exceptionHandler,attrName,eventName,!1))}function addAttrInterpolateDirective(node,directives,value,name,isNgAttr){var nodeName=nodeName_(node),trustedContext=function(nodeName,attrNormalizedName){return"srcdoc"===attrNormalizedName?$sce.HTML:"src"===attrNormalizedName||"ngSrc"===attrNormalizedName?-1===["img","video","audio","source","track"].indexOf(nodeName)?$sce.RESOURCE_URL:$sce.MEDIA_URL:"xlinkHref"===attrNormalizedName?"image"===nodeName?$sce.MEDIA_URL:"a"===nodeName?$sce.URL:$sce.RESOURCE_URL:"form"===nodeName&&"action"===attrNormalizedName||"base"
1===nodeName&&"href"===attrNormalizedName||"link"===nodeName&&"href"===attrNormalizedName?$sce.RESOURCE_URL:"a"!==nodeName||"href"!==attrNormalizedName&&"ngHref"!==attrNormalizedName?void 0:$sce.URL}(nodeName,name),mustHaveExpression=!isNgAttr,allOrNothing=ALL_OR_NOTHING_ATTRS[name]||isNgAttr,interpolateFn=$interpolate(value,mustHaveExpression,trustedContext,allOrNothing);if(interpolateFn){if("multiple"===name&&"select"===nodeName)throw $compileMinErr("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",startingTag(node));if(EVENT_HANDLER_ATTR_REGEXP.test(name))throw $compileMinErr("nodomevents","Interpolations for HTML DOM event attributes are disallowed");directives.push({priority:100,compile:function(){return{pre:function(scope,element,attr){var $$observers=attr.$$observers||(attr.$$observers=createMap()),newValue=attr[name];newValue!==value&&(interpolateFn=newValue&&$interpolate(newValue,!0,trustedContext,allOrNothing),value=newValue),interpolateFn&&(attr[name]=interpolateFn(scope),($$observers[name]||($$observers[name]=[])).$$inter=!0,(attr.$$observers&&attr.$$observers[name].$$scope||scope).$watch(interpolateFn,function(newValue,oldValue){"class"===name&&newValue!==oldValue?attr.$updateClass(newValue,oldValue):attr.$set(name,newValue)}))}}}})}}function replaceWith($rootElement,elementsToRemove,newNode){var i,ii,firstElementToRemove=elementsToRemove[0],removeCount=elementsToRemove.length,parent=firstElementToRemove.parentNode;if($rootElement)for(i=0,ii=$rootElement.length;i<ii;i++)if($rootElement[i]===firstElementToRemove){$rootElement[i++]=newNode;for(var j=i,j2=j+removeCount-1,jj=$rootElement.length;j<jj;j++,j2++)j2<jj?$rootElement[j]=$rootElement[j2]:delete $rootElement[j];$rootElement.length-=removeCount-1,$rootElement.context===firstElementToRemove&&($rootElement.context=newNode);break}parent&&parent.replaceChild(newNode,firstElementToRemove);var fragment=window.document.createDocumentFragment();for(i=0;i<removeCount;i++)fragment.appendChild(elementsToRemove[i]);for(jqLite.hasData(firstElementToRemove)&&(jqLite.data(newNode,jqLite.data(firstElementToRemove)),jqLite(firstElementToRemove).off("$destroy")),jqLite.cleanData(fragment.querySelectorAll("*")),i=1;i<removeCount;i++)delete elementsToRemove[i];elementsToRemove[0]=newNode,elementsToRemove.length=1}function cloneAndAnnotateFn(fn,annotation){return extend(function(){return fn.apply(null,arguments)},fn,annotation)}function invokeLinkFn(linkFn,scope,$element,attrs,controllers,transcludeFn){try{linkFn(scope,$element,attrs,controllers,transcludeFn)}catch(e){$exceptionHandler(e,startingTag($element))}}function strictBindingsCheck(attrName,directiveName){if(strictComponentBindingsEnabled)throw $compileMinErr("missingattr","Attribute '{0}' of '{1}' is non-optional and must be set!",attrName,directiveName)}function initializeDirectiveBindings(scope,attrs,destination,bindings,directive){var changes,removeWatchCollection=[],initialChanges={};function recordChanges(key,currentValue,previousValue){isFunction(destination.$onChanges)&&!simpleCompare(currentValue,previousValue)&&(onChangesQueue||(scope.$$postDigest(flushOnChangesQueue),onChangesQueue=[]),changes||(changes={},onChangesQueue.push(triggerOnChangesHook)),changes[key]&&(previousValue=changes[key].previousValue),changes[key]=new SimpleChange(previousValue,currentValue))}function triggerOnChangesHook(){destination.$onChanges(changes),changes=void 0}return forEach(bindings,function(definition,scopeName){var lastValue,parentGet,parentSet,compare,removeWatch,attrName=definition.attrName,optional=definition.optional;switch(definition.mode){case"@":optional||hasOwnProperty.call(attrs,attrName)||(strictBindingsCheck(attrName,directive.name),destination[scopeName]=attrs[attrName]=void 0),removeWatch=attrs.$observe(attrName,function(value){if(isString(value)||isBoolean(value)){var oldValue=destination[scopeName];recordChanges(scopeName,value,oldValue),destination[scopeName]=value}}),attrs.$$observers[attrName].$$scope=scope,isString(lastValue=attrs[attrName])?destination[scopeName]=$interpolate(lastValue)(scope):isBoolean(lastValue)&&(destination[scopeName]=lastValue),initialChanges[scopeName]=new SimpleChange(_UNINITIALIZED_VALUE,destination[scopeName]),removeWatchCollection.push(removeWatch);break;case"=":if(!hasOwnProperty.call(attrs,attrName)){if(optional)break;strictBindingsCheck(attrName,directive.name),attrs[attrName]=void 0}if(optional&&!attrs[attrName])break;parentGet=$parse(attrs[attrName]),compare=parentGet.literal?equals:simpleCompare,parentSet=parentGet.assign||function(){throw lastValue=destination[scopeName]=parentGet(scope),$compileMinErr("nonassign","Expression '{0}' in attribute '{1}' used with directive '{2}' is non-assignable!",attrs[attrName],attrName,directive.name)},lastValue=destination[scopeName]=parentGet(scope);var parentValueWatch=function(parentValue){return compare(parentValue,destination[scopeName])||(compare(parentValue,lastValue)?parentSet(scope,parentValue=destination[scopeName]):destination[scopeName]=parentValue),lastValue=parentValue};parentValueWatch.$stateful=!0,removeWatch=definition.collection?scope.$watchCollection(attrs[attrName],parentValueWatch):scope.$watch($parse(attrs[attrName],parentValueWatch),null,parentGet.literal),removeWatchCollection.push(removeWatch);break;case"<":if(!hasOwnProperty.call(attrs,attrName)){if(optional)break;strictBindingsCheck(attrName,directive.name),attrs[attrName]=void 0}if(optional&&!attrs[attrName])break;var isLiteral=(parentGet=$parse(attrs[attrName])).literal,initialValue=destination[scopeName]=parentGet(scope);initialChanges[scopeName]=new SimpleChange(_UNINITIALIZED_VALUE,destination[scopeName]),removeWatch=scope[definition.collection?"$watchCollection":"$watch"](parentGet,function(newValue,oldValue){if(oldValue===newValue){if(oldValue===initialValue||isLiteral&&equals(oldValue,initialValue))return;oldValue=initialValue}recordChanges(scopeName,newValue,oldValue),destination[scopeName]=newValue}),removeWatchCollection.push(removeWatch);break;case"&":if(optional||hasOwnProperty.call(attrs,attrName)||strictBindingsCheck(attrName,directive.name),(parentGet=attrs.hasOwnProperty(attrName)?$parse(attrs[attrName]):noop)===noop&&optional)break;destination[scopeName]=function(locals){return parentGet(scope,locals)}}}),{initialChanges:initialChanges,removeWatches:removeWatchCollection.length&&function(){for(var i=0,ii=removeWatchCollection.length;i<ii;++i)removeWatchCollection[i]()}}}}]}function SimpleChange(previous,current){this.previousValue=previous,this.currentValue=current}
1$CompileProvider.$inject=["$provide","$$sanitizeUriProvider"],SimpleChange.prototype.isFirstChange=function(){return this.previousValue===_UNINITIALIZED_VALUE};var PREFIX_REGEXP=/^((?:x|data)[:\-_])/i,SPECIAL_CHARS_REGEXP=/[:\-_]+(.)/g;function directiveNormalize(name){return name.replace(PREFIX_REGEXP,"").replace(SPECIAL_CHARS_REGEXP,function(_,letter,offset){return offset?letter.toUpperCase():letter})}function tokenDifference(str1,str2){var values="",tokens1=str1.split(/\s+/),tokens2=str2.split(/\s+/);outer:for(var i=0;i<tokens1.length;i++){for(var token=tokens1[i],j=0;j<tokens2.length;j++)if(token===tokens2[j])continue outer;values+=(0<values.length?" ":"")+token}return values}function removeComments(jqNodes){var i=(jqNodes=jqLite(jqNodes)).length;if(i<=1)return jqNodes;for(;i--;){var node=jqNodes[i];(node.nodeType===NODE_TYPE_COMMENT||node.nodeType===NODE_TYPE_TEXT&&""===node.nodeValue.trim())&&splice.call(jqNodes,i,1)}return jqNodes}var $controllerMinErr=minErr("$controller"),CNTRL_REG=/^(\S+)(\s+as\s+([\w$]+))?$/;function $ControllerProvider(){var controllers={};this.has=function(name){return controllers.hasOwnProperty(name)},this.register=function(name,constructor){assertNotHasOwnProperty(name,"controller"),isObject(name)?extend(controllers,name):controllers[name]=constructor},this.$get=["$injector",function($injector){return function(expression,locals,later,ident){var instance,match,constructor,identifier;if(later=!0===later,ident&&isString(ident)&&(identifier=ident),isString(expression)){if(!(match=expression.match(CNTRL_REG)))throw $controllerMinErr("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",expression);if(constructor=match[1],identifier=identifier||match[3],!(expression=controllers.hasOwnProperty(constructor)?controllers[constructor]:function(obj,path,bindFnToScope){if(!path)return obj;for(var key,keys=path.split("."),lastInstance=obj,len=keys.length,i=0;i<len;i++)key=keys[i],obj&&(obj=(lastInstance=obj)[key]);return!bindFnToScope&&isFunction(obj)?bind(lastInstance,obj):obj}(locals.$scope,constructor,!0)))throw $controllerMinErr("ctrlreg","The controller with the name '{0}' is not registered.",constructor);assertArgFn(expression,constructor,!0)}if(later){var controllerPrototype=(isArray(expression)?expression[expression.length-1]:expression).prototype;return instance=Object.create(controllerPrototype||null),identifier&&addIdentifier(locals,identifier,instance,constructor||expression.name),extend(function(){var result=$injector.invoke(expression,instance,locals,constructor);return result!==instance&&(isObject(result)||isFunction(result))&&(instance=result,identifier&&addIdentifier(locals,identifier,instance,constructor||expression.name)),instance},{instance:instance,identifier:identifier})}return instance=$injector.instantiate(expression,locals,constructor),identifier&&addIdentifier(locals,identifier,instance,constructor||expression.name),instance};function addIdentifier(locals,identifier,instance,name){if(!locals||!isObject(locals.$scope))throw minErr("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",name,identifier);locals.$scope[identifier]=instance}}]}function $DocumentProvider(){this.$get=["$window",function(window){return jqLite(window.document)}]}function $$IsDocumentHiddenProvider(){this.$get=["$document","$rootScope",function($document,$rootScope){var doc=$document[0],hidden=doc&&doc.hidden;function changeListener(){hidden=doc.hidden}return $document.on("visibilitychange",changeListener),$rootScope.$on("$destroy",function(){$document.off("visibilitychange",changeListener)}),function(){return hidden}}]}function $ExceptionHandlerProvider(){this.$get=["$log",function($log){return function(exception,cause){$log.error.apply($log,arguments)}}]}var $$ForceReflowProvider=function(){this.$get=["$document",function($document){return function(domNode){return domNode?!domNode.nodeType&&domNode instanceof jqLite&&(domNode=domNode[0]):domNode=$document[0].body,domNode.offsetWidth+1}}]},APPLICATION_JSON="application/json",CONTENT_TYPE_APPLICATION_JSON={"Content-Type":APPLICATION_JSON+";charset=utf-8"},JSON_START=/^\[|^\{(?!\{)/,JSON_ENDS={"[":/]$/,"{":/}$/},JSON_PROTECTION_PREFIX=/^\)]\}',?\n/,$httpMinErr=minErr("$http");function serializeValue(v){return isObject(v)?isDate(v)?v.toISOString():toJson(v):v}function $HttpParamSerializerProvider(){this.$get=function(){return function(params){if(!params)return"";var parts=[];return forEachSorted(params,function(value,key){null===value||isUndefined(value)||isFunction(value)||(isArray(value)?forEach(value,function(v){parts.push(encodeUriQuery(key)+"="+encodeUriQuery(serializeValue(v)))}):parts.push(encodeUriQuery(key)+"="+encodeUriQuery(serializeValue(value))))}),parts.join("&")}}}function $HttpParamSerializerJQLikeProvider(){this.$get=function(){return function(params){if(!params)return"";var parts=[];return function serialize(toSerialize,prefix,topLevel){isArray(toSerialize)?forEach(toSerialize,function(value,index){serialize(value,prefix+"["+(isObject(value)?index:"")+"]")}):isObject(toSerialize)&&!isDate(toSerialize)?forEachSorted(toSerialize,function(value,key){serialize(value,prefix+(topLevel?"":"[")+key+(topLevel?"":"]"))}):(isFunction(toSerialize)&&(toSerialize=toSerialize()),parts.push(encodeUriQuery(prefix)+"="+(null==toSerialize?"":encodeUriQuery(serializeValue(toSerialize)))))}(params,"",!0),parts.join("&")}}}function defaultHttpResponseTransform(data,headers){if(isString(data)){var tempData=data.replace(JSON_PROTECTION_PREFIX,"").trim();if(tempData){var contentType=headers("Content-Type"),hasJsonContentType=contentType&&0===contentType.indexOf(APPLICATION_JSON);if(hasJsonContentType||(jsonStart=(str=tempData).match(JSON_START))&&JSON_ENDS[jsonStart[0]].test(str))try{data=fromJson(tempData)}catch(e){if(!hasJsonContentType)return data;throw $httpMinErr("baddata",'Data must be a valid JSON object. Received: "{0}". Parse error: "{1}"',data,e)}}}var str,jsonStart;return data}function parseHeaders(headers){var i,parsed=createMap();
1function fillInParsed(key,val){key&&(parsed[key]=parsed[key]?parsed[key]+", "+val:val)}return isString(headers)?forEach(headers.split("\n"),function(line){i=line.indexOf(":"),fillInParsed(lowercase(trim(line.substr(0,i))),trim(line.substr(i+1)))}):isObject(headers)&&forEach(headers,function(headerVal,headerKey){fillInParsed(lowercase(headerKey),trim(headerVal))}),parsed}function headersGetter(headers){var headersObj;return function(name){if(headersObj||(headersObj=parseHeaders(headers)),name){var value=headersObj[lowercase(name)];return void 0===value&&(value=null),value}return headersObj}}function transformData(data,headers,status,fns){return isFunction(fns)?fns(data,headers,status):(forEach(fns,function(fn){data=fn(data,headers,status)}),data)}function isSuccess(status){return 200<=status&&status<300}function $HttpProvider(){var defaults=this.defaults={transformResponse:[defaultHttpResponseTransform],transformRequest:[function(d){return!isObject(d)||(obj=d,"[object File]"===toString.call(obj))||function(obj){return"[object Blob]"===toString.call(obj)}(d)||function(obj){return"[object FormData]"===toString.call(obj)}(d)?d:toJson(d);var obj}],headers:{common:{Accept:"application/json, text/plain, */*"},post:shallowCopy(CONTENT_TYPE_APPLICATION_JSON),put:shallowCopy(CONTENT_TYPE_APPLICATION_JSON),patch:shallowCopy(CONTENT_TYPE_APPLICATION_JSON)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer",jsonpCallbackParam:"callback"},useApplyAsync=!1;this.useApplyAsync=function(value){return isDefined(value)?(useApplyAsync=!!value,this):useApplyAsync};var interceptorFactories=this.interceptors=[],xsrfWhitelistedOrigins=this.xsrfWhitelistedOrigins=[];this.$get=["$browser","$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector","$sce",function($browser,$httpBackend,$$cookieReader,$cacheFactory,$rootScope,$q,$injector,$sce){var defaultCache=$cacheFactory("$http");defaults.paramSerializer=isString(defaults.paramSerializer)?$injector.get(defaults.paramSerializer):defaults.paramSerializer;var reversedInterceptors=[];forEach(interceptorFactories,function(interceptorFactory){reversedInterceptors.unshift(isString(interceptorFactory)?$injector.get(interceptorFactory):$injector.invoke(interceptorFactory))});var parsedAllowedOriginUrls,urlIsAllowedOrigin=(parsedAllowedOriginUrls=[originUrl].concat(xsrfWhitelistedOrigins.map(urlResolve)),function(requestUrl){var parsedUrl=urlResolve(requestUrl);return parsedAllowedOriginUrls.some(urlsAreSameOrigin.bind(null,parsedUrl))});function $http(requestConfig){if(!isObject(requestConfig))throw minErr("$http")("badreq","Http request configuration must be an object. Received: {0}",requestConfig);if(!isString($sce.valueOf(requestConfig.url)))throw minErr("$http")("badreq","Http request configuration url must be a string or a $sce trusted object. Received: {0}",requestConfig.url);var config=extend({method:"get",transformRequest:defaults.transformRequest,transformResponse:defaults.transformResponse,paramSerializer:defaults.paramSerializer,jsonpCallbackParam:defaults.jsonpCallbackParam},requestConfig);config.headers=function(config){var defHeaderName,lowercaseDefHeaderName,reqHeaderName,defHeaders=defaults.headers,reqHeaders=extend({},config.headers);defHeaders=extend({},defHeaders.common,defHeaders[lowercase(config.method)]);defaultHeadersIteration:for(defHeaderName in defHeaders){for(reqHeaderName in lowercaseDefHeaderName=lowercase(defHeaderName),reqHeaders)if(lowercase(reqHeaderName)===lowercaseDefHeaderName)continue defaultHeadersIteration;reqHeaders[defHeaderName]=defHeaders[defHeaderName]}return function(headers,config){var headerContent,processedHeaders={};return forEach(headers,function(headerFn,header){isFunction(headerFn)?null!=(headerContent=headerFn(config))&&(processedHeaders[header]=headerContent):processedHeaders[header]=headerFn}),processedHeaders}(reqHeaders,shallowCopy(config))}(requestConfig),config.method=uppercase(config.method),config.paramSerializer=isString(config.paramSerializer)?$injector.get(config.paramSerializer):config.paramSerializer,$browser.$$incOutstandingRequestCount("$http");var requestInterceptors=[],responseInterceptors=[],promise=$q.resolve(config);return forEach(reversedInterceptors,function(interceptor){(interceptor.request||interceptor.requestError)&&requestInterceptors.unshift(interceptor.request,interceptor.requestError),(interceptor.response||interceptor.responseError)&&responseInterceptors.push(interceptor.response,interceptor.responseError)}),promise=(promise=chainInterceptors(promise=(promise=chainInterceptors(promise,requestInterceptors)).then(function(config){var headers=config.headers,reqData=transformData(config.data,headersGetter(headers),void 0,config.transformRequest);isUndefined(reqData)&&forEach(headers,function(value,header){"content-type"===lowercase(header)&&delete headers[header]});isUndefined(config.withCredentials)&&!isUndefined(defaults.withCredentials)&&(config.withCredentials=defaults.withCredentials);return function(config,reqData){var cache,cachedResp,deferred=$q.defer(),promise=deferred.promise,reqHeaders=config.headers,isJsonp="jsonp"===lowercase(config.method),url=config.url;isJsonp?url=$sce.getTrustedResourceUrl(url):isString(url)||(url=$sce.valueOf(url));url=function(url,serializedParams){return 0<serializedParams.length&&(url+=(-1===url.indexOf("?")?"?":"&")+serializedParams),url}(url,config.paramSerializer(config.params)),isJsonp&&(url=function(url,cbKey){var parts=url.split("?");if(2<parts.length)throw $httpMinErr("badjsonp",'Illegal use more than one "?", in url, "{1}"',url);return forEach(parseKeyValue(parts[1]),function(value,key){if("JSON_CALLBACK"===value)throw $httpMinErr("badjsonp",'Illegal use of JSON_CALLBACK in url, "{0}"',url);if(key===cbKey)throw $httpMinErr("badjsonp",'Illegal use of callback param, "{0}", in url, "{1}"',cbKey,url)}),url+=(-1===url.indexOf("?")?"?":"&")+cbKey+"=JSON_CALLBACK"}(url,config.jsonpCallbackParam));$http.pendingRequests.push(config),promise.then(removePendingReq,removePendingReq),!config.cache&&!defaults.cache||!1===config.cache||"GET"!==config.method&&"JSONP"!==config.method||(cache=isObject(config.cache)?config.cache:isObject(defaults.cache)?defaults.cache:defaultCache);cache&&(isDefined(cachedResp=cache.get(url))?isPromiseLike(cachedResp)?cachedResp.then(resolvePromiseWithResult,resolvePromiseWithResult):isArray(cachedResp)?resolvePromise(cachedResp[1],cachedResp[0],shallowCopy(cachedResp[2]),cachedResp[3],cachedResp[4]):resolvePromise(cachedResp,200,{},"OK","complete"):cache.put(url,promise));if(isUndefined(cachedResp)){var xsrfValue=urlIsAllowedOrigin(config.url)?$$cookieReader()[config.xsrfCookieName||defaults.xsrfCookieName]:void 0;xsrfValue&&(reqHeaders[config.xsrfHeaderName||defaults.xsrfHeaderName]=xsrfValue),$httpBackend(config.method,url,reqData,function(status,response,headersString,statusText,xhrStatus){cache&&(isSuccess(status)?cache.put(url,[status,response,parseHeaders(headersString),statusText,xhrStatus]):cache.remove(url));function resolveHttpPromise(){resolvePromise(response,status,headersString,statusText,xhrStatus)}useApplyAsync?$rootScope.$applyAsync(resolveHttpPromise):(resolveHttpPromise(),$rootScope.$$phase||$rootScope.$apply())},reqHeaders,config.timeout,config.withCredentials,config.responseType,createApplyHandlers(config.eventHandlers),createApplyHandlers(config.uploadEventHandlers))}return promise;function createApplyHandlers(eventHandlers){if(eventHandlers){var applyHandlers={};return forEach(eventHandlers,function(eventHandler,key){applyHandlers[key]=function(event){function callEventHandler(){eventHandler(event)}useApplyAsync?$rootScope.$applyAsync(callEventHandler):$rootScope.$$phase?callEventHandler():$rootScope.$apply(callEventHandler)}}),applyHandlers}}function resolvePromise(response,status,headers,statusText,xhrStatus){(isSuccess(status=-1<=status?status:0)?deferred.resolve:deferred.reject)({data:response,status:status,headers:headersGetter(headers),config:config,statusText:statusText,xhrStatus:xhrStatus})}function resolvePromiseWithResult(result){resolvePromise(result.data,result.status,shallowCopy(result.headers()),result.statusText,result.xhrStatus)}function removePendingReq(){var idx=$http.pendingRequests.indexOf(config);-1!==idx&&$http.pendingRequests.splice(idx,1)}}(config,reqData).then(transformResponse,transformResponse)}),responseInterceptors)).finally(function(){$browser.$$completeOutstandingRequest(noop,"$http")});function chainInterceptors(promise,interceptors){for(var i=0,ii=interceptors.length;i<ii;){var thenFn=interceptors[i++],rejectFn=interceptors[i++];promise=promise.then(thenFn,rejectFn)}return interceptors.length=0,promise}function transformResponse(response){var resp=extend({},response);return resp.data=transformData(response.data,response.headers,response.status,config.transformResponse),isSuccess(response.status)?resp:$q.reject(resp)}}return $http.pendingRequests=[],function(names){forEach(arguments,function(name){$http[name]=function(url,config){return $http(extend({},config||{},{method:name,url:url}))}})}("get","delete","head","jsonp"),function(name){forEach(arguments,function(name){$http[name]=function(url,data,config){return $http(extend({},config||{},{method:name,url:url,data:data}))}})}("post","put","patch"),$http.defaults=defaults,$http}]}
1function $xhrFactoryProvider(){this.$get=function(){return function(){return new window.XMLHttpRequest}}}function $HttpBackendProvider(){this.$get=["$browser","$jsonpCallbacks","$document","$xhrFactory",function($browser,$jsonpCallbacks,$document,$xhrFactory){return function($browser,createXhr,$browserDefer,callbacks,rawDocument){return function(method,url,post,callback,headers,timeout,withCredentials,responseType,eventHandlers,uploadEventHandlers){if(url=url||$browser.url(),"jsonp"===lowercase(method))var callbackPath=callbacks.createCallback(url),jsonpDone=function(url,callbackPath,done){url=url.replace("JSON_CALLBACK",callbackPath);var script=rawDocument.createElement("script"),callback=null;return script.type="text/javascript",script.src=url,script.async=!0,callback=function(event){script.removeEventListener("load",callback),script.removeEventListener("error",callback),rawDocument.body.removeChild(script),script=null;var status=-1,text="unknown";event&&("load"!==event.type||callbacks.wasCalled(callbackPath)||(event={type:"error"}),text=event.type,status="error"===event.type?404:200),done&&done(status,text)},script.addEventListener("load",callback),script.addEventListener("error",callback),rawDocument.body.appendChild(script),callback}(url,callbackPath,function(status,text){var response=200===status&&callbacks.getResponse(callbackPath);completeRequest(callback,status,response,"",text,"complete"),callbacks.removeCallback(callbackPath)});else{var xhr=createXhr(method,url),abortedByTimeout=!1;xhr.open(method,url,!0),forEach(headers,function(value,key){isDefined(value)&&xhr.setRequestHeader(key,value)}
1),xhr.onload=function(){var statusText=xhr.statusText||"",response="response"in xhr?xhr.response:xhr.responseText,status=1223===xhr.status?204:xhr.status;0===status&&(status=response?200:"file"===urlResolve(url).protocol?404:0),completeRequest(callback,status,response,xhr.getAllResponseHeaders(),statusText,"complete")};if(xhr.onerror=function(){completeRequest(callback,-1,null,null,"","error")},xhr.ontimeout=function(){completeRequest(callback,-1,null,null,"","timeout")},xhr.onabort=function(){completeRequest(callback,-1,null,null,"",abortedByTimeout?"timeout":"abort")},forEach(eventHandlers,function(value,key){xhr.addEventListener(key,value)}),forEach(uploadEventHandlers,function(value,key){xhr.upload.addEventListener(key,value)}),withCredentials&&(xhr.withCredentials=!0),responseType)try{xhr.responseType=responseType}catch(e){if("json"!==responseType)throw e}xhr.send(isUndefined(post)?null:post)}if(0<timeout)var timeoutId=$browserDefer(function(){timeoutRequest("timeout")},timeout);else isPromiseLike(timeout)&&timeout.then(function(){timeoutRequest(isDefined(timeout.$$timeoutId)?"timeout":"abort")});function timeoutRequest(reason){abortedByTimeout="timeout"===reason,jsonpDone&&jsonpDone(),xhr&&xhr.abort()}function completeRequest(callback,status,response,headersString,statusText,xhrStatus){isDefined(timeoutId)&&$browserDefer.cancel(timeoutId),jsonpDone=xhr=null,callback(status,response,headersString,statusText,xhrStatus)}}}($browser,$xhrFactory,$browser.defer,$jsonpCallbacks,$document[0])}]}var $interpolateMinErr=angular.$interpolateMinErr=minErr("$interpolate");function $InterpolateProvider(){var startSymbol="{{",endSymbol="}}";this.startSymbol=function(value){return value?(startSymbol=value,this):startSymbol},this.endSymbol=function(value){return value?(endSymbol=value,this):endSymbol},this.$get=["$parse","$exceptionHandler","$sce",function($parse,$exceptionHandler,$sce){var startSymbolLength=startSymbol.length,endSymbolLength=endSymbol.length,escapedStartRegexp=new RegExp(startSymbol.replace(/./g,escape),"g"),escapedEndRegexp=new RegExp(endSymbol.replace(/./g,escape),"g");function escape(ch){return"\\\\\\"+ch}function unescapeText(text){return text.replace(escapedStartRegexp,startSymbol).replace(escapedEndRegexp,endSymbol)}function constantWatchDelegate(scope,listener,objectEquality,constantInterp){var unwatch=scope.$watch(function(scope){return unwatch(),constantInterp(scope)},listener,objectEquality);return unwatch}function $interpolate(text,mustHaveExpression,trustedContext,allOrNothing){var contextAllowsConcatenation=trustedContext===$sce.URL||trustedContext===$sce.MEDIA_URL;if(!text.length||-1===text.indexOf(startSymbol)){if(mustHaveExpression&&!contextAllowsConcatenation)return;var unescapedText=unescapeText(text);contextAllowsConcatenation&&(unescapedText=$sce.getTrusted(trustedContext,unescapedText));var constantInterp=valueFn(unescapedText);return constantInterp.exp=text,constantInterp.expressions=[],constantInterp.$$watchDelegate=constantWatchDelegate,constantInterp}allOrNothing=!!allOrNothing;for(var startIndex,endIndex,parseFns,exp,singleExpression,index=0,expressions=[],textLength=text.length,concat=[],expressionPositions=[];index<textLength;){if(-1===(startIndex=text.indexOf(startSymbol,index))||-1===(endIndex=text.indexOf(endSymbol,startIndex+startSymbolLength))){index!==textLength&&concat.push(unescapeText(text.substring(index)));break}index!==startIndex&&concat.push(unescapeText(text.substring(index,startIndex))),exp=text.substring(startIndex+startSymbolLength,endIndex),expressions.push(exp),index=endIndex+endSymbolLength,expressionPositions.push(concat.length),concat.push("")}singleExpression=1===concat.length&&1===expressionPositions.length;var interceptor=contextAllowsConcatenation&&singleExpression?void 0:function(value){try{return value=trustedContext&&!contextAllowsConcatenation?$sce.getTrusted(trustedContext,value):$sce.valueOf(value),allOrNothing&&!isDefined(value)?value:stringify(value)}catch(err){$exceptionHandler($interpolateMinErr.interr(text,err))}};if(parseFns=expressions.map(function(exp){return $parse(exp,interceptor)}),!mustHaveExpression||expressions.length){var compute=function(values){for(var i=0,ii=expressions.length;i<ii;i++){if(allOrNothing&&isUndefined(values[i]))return;concat[expressionPositions[i]]=values[i]}return contextAllowsConcatenation?$sce.getTrusted(trustedContext,singleExpression?concat[0]:concat.join("")):(trustedContext&&1<concat.length&&$interpolateMinErr.throwNoconcat(text),concat.join(""))};return extend(function(context){var i=0,ii=expressions.length,values=new Array(ii);try{for(;i<ii;i++)values[i]=parseFns[i](context);return compute(values)}catch(err){$exceptionHandler($interpolateMinErr.interr(text,err))}},{exp:text,expressions:expressions,$$watchDelegate:function(scope,listener){var lastValue;return scope.$watchGroup(parseFns,function(values,oldValues){var currValue=compute(values);listener.call(this,currValue,values!==oldValues?lastValue:currValue,scope),lastValue=currValue})}})}}return $interpolate.startSymbol=function(){return startSymbol},$interpolate.endSymbol=function(){return endSymbol},$interpolate}]}$interpolateMinErr.throwNoconcat=function(text){throw $interpolateMinErr("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce",text)},$interpolateMinErr.interr=function(text,err){return $interpolateMinErr("interr","Can't interpolate: {0}\n{1}",text,err.toString())};var $intervalMinErr=minErr("$interval");function $IntervalProvider(){this.$get=["$$intervalFactory","$window",function($$intervalFactory,$window){var intervals={},clearIntervalFn=function(id){$window.clearInterval(id),delete intervals[id]},interval=$$intervalFactory(function(tick,delay,deferred){var id=$window.setInterval(tick,delay);return intervals[id]=deferred,id},clearIntervalFn);return interval.cancel=function(promise){if(!promise)return!1;if(!promise.hasOwnProperty("$$intervalId"))throw $intervalMinErr("badprom","`$interval.cancel()` called with a promise that was not generated by `$interval()`.");if(!intervals.hasOwnProperty(promise.$$intervalId))return!1;var id=promise.$$intervalId,deferred=intervals[id];return markQExceptionHandled(deferred.promise),deferred.reject("canceled"),clearIntervalFn(id),!0},interval}]}
1function $$IntervalFactoryProvider(){this.$get=["$browser","$q","$$q","$rootScope",function($browser,$q,$$q,$rootScope){return function(setIntervalFn,clearIntervalFn){return function(fn,delay,count,invokeApply){var hasParams=4<arguments.length,args=hasParams?sliceArgs(arguments,4):[],iteration=0,skipApply=isDefined(invokeApply)&&!invokeApply,deferred=(skipApply?$$q:$q).defer(),promise=deferred.promise;function callback(){hasParams?fn.apply(null,args):fn(iteration)}return count=isDefined(count)?count:0,promise.$$intervalId=setIntervalFn(function(){skipApply?$browser.defer(callback):$rootScope.$evalAsync(callback),deferred.notify(iteration++),0<count&&count<=iteration&&(deferred.resolve(iteration),clearIntervalFn(promise.$$intervalId)),skipApply||$rootScope.$apply()},delay,deferred,skipApply),promise}}}]}var $jsonpCallbacksProvider=function(){this.$get=function(){var callbacks=angular.callbacks,callbackMap={};return{createCallback:function(url){var callbackId="_"+(callbacks.$$counter++).toString(36),callbackPath="angular.callbacks."+callbackId,callback=function(callbackId){var callback=function(data){callback.data=data,callback.called=!0};return callback.id=callbackId,callback}(callbackId);return callbackMap[callbackPath]=callbacks[callbackId]=callback,callbackPath},wasCalled:function(callbackPath){return callbackMap[callbackPath].called},getResponse:function(callbackPath){return callbackMap[callbackPath].data},removeCallback:function(callbackPath){var callback=callbackMap[callbackPath];delete callbacks[callback.id],delete callbackMap[callbackPath]}}}},PATH_MATCH=/^([^?#]*)(\?([^#]*))?(#(.*))?$/,DEFAULT_PORTS={http:80,https:443,ftp:21},$locationMinErr=minErr("$location");function normalizePath(pathValue,searchValue,hashValue){var parts,search=(parts=[],forEach(searchValue,function(value,key){isArray(value)?forEach(value,function(arrayValue){parts.push(encodeUriQuery(key,!0)+(!0===arrayValue?"":"="+encodeUriQuery(arrayValue,!0)))}):parts.push(encodeUriQuery(key,!0)+(!0===value?"":"="+encodeUriQuery(value,!0)))}),parts.length?parts.join("&"):""),hash=hashValue?"#"+encodeUriSegment(hashValue):"";return function(path){for(var segments=path.split("/"),i=segments.length;i--;)segments[i]=encodeUriSegment(segments[i].replace(/%2F/g,"/"));return segments.join("/")}(pathValue)+(search?"?"+search:"")+hash}function parseAbsoluteUrl(absoluteUrl,locationObj){var parsedUrl=urlResolve(absoluteUrl);locationObj.$$protocol=parsedUrl.protocol,locationObj.$$host=parsedUrl.hostname,locationObj.$$port=toInt(parsedUrl.port)||DEFAULT_PORTS[parsedUrl.protocol]||null}var DOUBLE_SLASH_REGEX=/^\s*[\\/]{2,}/;function parseAppUrl(url,locationObj,html5Mode){if(DOUBLE_SLASH_REGEX.test(url))throw $locationMinErr("badpath",'Invalid url "{0}".',url);var prefixed="/"!==url.charAt(0);prefixed&&(url="/"+url);var match=urlResolve(url),path=prefixed&&"/"===match.pathname.charAt(0)?match.pathname.substring(1):match.pathname;locationObj.$$path=function(path,html5Mode){for(var segments=path.split("/"),i=segments.length;i--;)segments[i]=decodeURIComponent(segments[i]),html5Mode&&(segments[i]=segments[i].replace(/\//g,"%2F"));return segments.join("/")}(path,html5Mode),locationObj.$$search=parseKeyValue(match.search),locationObj.$$hash=decodeURIComponent(match.hash),locationObj.$$path&&"/"!==locationObj.$$path.charAt(0)&&(locationObj.$$path="/"+locationObj.$$path)}function startsWith(str,search){return str.slice(0,search.length)===search}function stripBaseUrl(base,url){if(startsWith(url,base))return url.substr(base.length)}function stripHash(url){var index=url.indexOf("#");return-1===index?url:url.substr(0,index)}function LocationHtml5Url(appBase,appBaseNoFile,basePrefix){this.$$html5=!0,basePrefix=basePrefix||"",parseAbsoluteUrl(appBase,this),this.$$parse=function(url){var pathUrl=stripBaseUrl(appBaseNoFile,url);if(!isString(pathUrl))throw $locationMinErr("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',url,appBaseNoFile);parseAppUrl(pathUrl,this,!0),this.$$path||(this.$$path="/"),this.$$compose()},this.$$normalizeUrl=function(url){return appBaseNoFile+url.substr(1)},this.$$parseLinkUrl=function(url,relHref){return relHref&&"#"===relHref[0]?(this.hash(relHref.slice(1)),!0):(isDefined(appUrl=stripBaseUrl(appBase,url))?(prevAppUrl=appUrl,rewrittenUrl=basePrefix&&isDefined(appUrl=stripBaseUrl(basePrefix,appUrl))?appBaseNoFile+(stripBaseUrl("/",appUrl)||appUrl):appBase+prevAppUrl):isDefined(appUrl=stripBaseUrl(appBaseNoFile,url))?rewrittenUrl=appBaseNoFile+appUrl:appBaseNoFile===url+"/"&&(rewrittenUrl=appBaseNoFile),rewrittenUrl&&this.$$parse(rewrittenUrl),!!rewrittenUrl);var appUrl,prevAppUrl,rewrittenUrl}}function LocationHashbangUrl(appBase,appBaseNoFile,hashPrefix){parseAbsoluteUrl(appBase,this),this.$$parse=function(url){var withoutHashUrl,withoutBaseUrl=stripBaseUrl(appBase,url)||stripBaseUrl(appBaseNoFile,url);isUndefined(withoutBaseUrl)||"#"!==withoutBaseUrl.charAt(0)?this.$$html5?withoutHashUrl=withoutBaseUrl:(withoutHashUrl="",isUndefined(withoutBaseUrl)&&(appBase=url,this.replace())):isUndefined(withoutHashUrl=stripBaseUrl(hashPrefix,withoutBaseUrl))&&(withoutHashUrl=withoutBaseUrl),parseAppUrl(withoutHashUrl,this,
1!1),this.$$path=function(path,url,base){var firstPathSegmentMatch,windowsFilePathExp=/^\/[A-Z]:(\/.*)/;startsWith(url,base)&&(url=url.replace(base,""));if(windowsFilePathExp.exec(url))return path;return(firstPathSegmentMatch=windowsFilePathExp.exec(path))?firstPathSegmentMatch[1]:path}(this.$$path,withoutHashUrl,appBase),this.$$compose()},this.$$normalizeUrl=function(url){return appBase+(url?hashPrefix+url:"")},this.$$parseLinkUrl=function(url,relHref){return stripHash(appBase)===stripHash(url)&&(this.$$parse(url),!0)}}function LocationHashbangInHtml5Url(appBase,appBaseNoFile,hashPrefix){this.$$html5=!0,LocationHashbangUrl.apply(this,arguments),this.$$parseLinkUrl=function(url,relHref){return relHref&&"#"===relHref[0]?(this.hash(relHref.slice(1)),!0):(appBase===stripHash(url)?rewrittenUrl=url:(appUrl=stripBaseUrl(appBaseNoFile,url))?rewrittenUrl=appBase+hashPrefix+appUrl:appBaseNoFile===url+"/"&&(rewrittenUrl=appBaseNoFile),rewrittenUrl&&this.$$parse(rewrittenUrl),!!rewrittenUrl);var rewrittenUrl,appUrl},this.$$normalizeUrl=function(url){return appBase+hashPrefix+url}}var locationPrototype={$$absUrl:"",$$html5:!1,$$replace:!1,$$compose:function(){this.$$url=normalizePath(this.$$path,this.$$search,this.$$hash),this.$$absUrl=this.$$normalizeUrl(this.$$url),this.$$urlUpdatedByLocation=!0},absUrl:locationGetter("$$absUrl"),url:function(url){if(isUndefined(url))return this.$$url;var match=PATH_MATCH.exec(url);return(match[1]||""===url)&&this.path(decodeURIComponent(match[1])),(match[2]||match[1]||""===url)&&this.search(match[3]||""),this.hash(match[5]||""),this},protocol:locationGetter("$$protocol"),host:locationGetter("$$host"),port:locationGetter("$$port"),path:locationGetterSetter("$$path",function(path){return"/"===(path=null!==path?path.toString():"").charAt(0)?path:"/"+path}),search:function(search,paramValue){switch(arguments.length){case 0:return this.$$search;case 1:if(isString(search)||isNumber(search))search=search.toString(),this.$$search=parseKeyValue(search);else{if(!isObject(search))throw $locationMinErr("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");forEach(search=copy(search,{}),function(value,key){null==value&&delete search[key]}),this.$$search=search}break;default:isUndefined(paramValue)||null===paramValue?delete this.$$search[search]:this.$$search[search]=paramValue}return this.$$compose(),this},hash:locationGetterSetter("$$hash",function(hash){return null!==hash?hash.toString():""}),replace:function(){return this.$$replace=!0,this}};function locationGetter(property){return function(){return this[property]}}function locationGetterSetter(property,preprocess){return function(value){return isUndefined(value)?this[property]:(this[property]=preprocess(value),this.$$compose(),this)}}function $LocationProvider(){var hashPrefix="!",html5Mode={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(prefix){return isDefined(prefix)?(hashPrefix=prefix,this):hashPrefix},this.html5Mode=function(mode){return isBoolean(mode)?(html5Mode.enabled=mode,this):isObject(mode)?(isBoolean(mode.enabled)&&(html5Mode.enabled=mode.enabled),isBoolean(mode.requireBase)&&(html5Mode.requireBase=mode.requireBase),(isBoolean(mode.rewriteLinks)||isString(mode.rewriteLinks))&&(html5Mode.rewriteLinks=mode.rewriteLinks),this):html5Mode},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function($rootScope,$browser,$sniffer,$rootElement,$window){var $location,LocationMode,appBase,url,baseHref=$browser.baseHref(),initialUrl=$browser.url();if(html5Mode.enabled){if(!baseHref&&html5Mode.requireBase)throw $locationMinErr("nobase","$location in HTML5 mode requires a <base> tag to be present!");appBase=(url=initialUrl).substring(0,url.indexOf("/",url.indexOf("//")+2))+(baseHref||"/"),LocationMode=$sniffer.history?LocationHtml5Url:LocationHashbangInHtml5Url}else appBase=stripHash(initialUrl),LocationMode=LocationHashbangUrl;var appBaseNoFile=function(url){return url.substr(0,stripHash(url).lastIndexOf("/")+1)}(appBase);($location=new LocationMode(appBase,appBaseNoFile,"#"+hashPrefix)).$$parseLinkUrl(initialUrl,initialUrl),$location.$$state=$browser.state();var IGNORE_URI_REGEXP=/^\s*(javascript|mailto):/i;function setBrowserUrlWithFallback(url,replace,state){var oldUrl=$location.url(),oldState=$location.$$state;try{$browser.url(url,replace,state),$location.$$state=$browser.state()}catch(e){throw $location.url(oldUrl),$location.$$state=oldState,e}}$rootElement.on("click",function(event){var rewriteLinks=html5Mode.rewriteLinks;if(rewriteLinks&&!event.ctrlKey&&!event.metaKey&&!event.shiftKey&&2!==event.which&&2!==event.button){for(var elm=jqLite(event.target);"a"!==nodeName_(elm[0]);
1)if(elm[0]===$rootElement[0]||!(elm=elm.parent())[0])return;if(!isString(rewriteLinks)||!isUndefined(elm.attr(rewriteLinks))){var absHref=elm.prop("href"),relHref=elm.attr("href")||elm.attr("xlink:href");isObject(absHref)&&"[object SVGAnimatedString]"===absHref.toString()&&(absHref=urlResolve(absHref.animVal).href),IGNORE_URI_REGEXP.test(absHref)||!absHref||elm.attr("target")||event.isDefaultPrevented()||$location.$$parseLinkUrl(absHref,relHref)&&(event.preventDefault(),$location.absUrl()!==$browser.url()&&$rootScope.$apply())}}}),$location.absUrl()!==initialUrl&&$browser.url($location.absUrl(),!0);var initializing=!0;return $browser.onUrlChange(function(newUrl,newState){startsWith(newUrl,appBaseNoFile)?($rootScope.$evalAsync(function(){var defaultPrevented,oldUrl=$location.absUrl(),oldState=$location.$$state;$location.$$parse(newUrl),$location.$$state=newState,defaultPrevented=$rootScope.$broadcast("$locationChangeStart",newUrl,oldUrl,newState,oldState).defaultPrevented,$location.absUrl()===newUrl&&(defaultPrevented?($location.$$parse(oldUrl),setBrowserUrlWithFallback(oldUrl,!1,$location.$$state=oldState)):(initializing=!1,afterLocationChange(oldUrl,oldState)))}),$rootScope.$$phase||$rootScope.$digest()):$window.location.href=newUrl}),$rootScope.$watch(function(){if(initializing||$location.$$urlUpdatedByLocation){$location.$$urlUpdatedByLocation=!1;var oldUrl=$browser.url(),newUrl=$location.absUrl(),oldState=$browser.state(),currentReplace=$location.$$replace,urlOrStateChanged=!((a=oldUrl)===(b=newUrl)||urlResolve(a).href===urlResolve(b).href)||$location.$$html5&&$sniffer.history&&oldState!==$location.$$state;(initializing||urlOrStateChanged)&&(initializing=!1,$rootScope.$evalAsync(function(){var newUrl=$location.absUrl(),defaultPrevented=$rootScope.$broadcast("$locationChangeStart",newUrl,oldUrl,$location.$$state,oldState).defaultPrevented;$location.absUrl()===newUrl&&(defaultPrevented?($location.$$parse(oldUrl),$location.$$state=oldState):(urlOrStateChanged&&setBrowserUrlWithFallback(newUrl,currentReplace,oldState===$location.$$state?null:$location.$$state),afterLocationChange(oldUrl,oldState)))}))}var a,b;$location.$$replace=!1}),$location;function afterLocationChange(oldUrl,oldState){$rootScope.$broadcast("$locationChangeSuccess",$location.absUrl(),oldUrl,$location.$$state,oldState)}}]}function $LogProvider(){var debug=!0,self=this;this.debugEnabled=function(flag){return isDefined(flag)?(debug=flag,this):debug},this.$get=["$window",function($window){var fn,formatStackTrace=msie||/\bEdge\//.test($window.navigator&&$window.navigator.userAgent);return{log:consoleLog("log"),info:consoleLog("info"),warn:consoleLog("warn"),error:consoleLog("error"),debug:(fn=consoleLog("debug"),function(){debug&&fn.apply(self,arguments)})};function consoleLog(type){var console=$window.console||{},logFn=console[type]||console.log||noop;return function(){var args=[];return forEach(arguments,function(arg){args.push(function(arg){return isError(arg)&&(arg.stack&&formatStackTrace?arg=arg.message&&-1===arg.stack.indexOf(arg.message)?"Error: "+arg.message+"\n"+arg.stack:arg.stack:arg.sourceURL&&(arg=arg.message+"\n"+arg.sourceURL+":"+arg.line)),arg}(arg))}),Function.prototype.apply.call(logFn,console,args)}}}]}forEach([LocationHashbangInHtml5Url,LocationHashbangUrl,LocationHtml5Url],function(Location){Location.prototype=Object.create(locationPrototype),Location.prototype.state=function(state){if(!arguments.length)return this.$$state;if(Location!==LocationHtml5Url||!this.$$html5)throw $locationMinErr("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=isUndefined(state)?null:state,this.$$urlUpdatedByLocation=!0,this}});var $parseMinErr=minErr("$parse"),objectValueOf={}.constructor.prototype.valueOf;function getStringValue(name){return name+""}var OPERATORS=createMap();forEach("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(operator){OPERATORS[operator]=!0});var ESCAPE={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},Lexer=function(options){this.options=options};Lexer.prototype={constructor:Lexer,lex:function(text){for(this.text=text,this.index=0,this.tokens=[];this.index<this.text.length;){var ch=this.text.charAt(this.index);if('"'===ch||"'"===ch)this.readString(ch);else if(this.isNumber(ch)||"."===ch&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdentifierStart(this.peekMultichar()))this.readIdent();else if(this.is(ch,"(){}[].,;:?"))this.tokens.push({index:this.index,text:ch}),this.index++;else if(this.isWhitespace(ch))this.index++;else{var ch2=ch+this.peek(),ch3=ch2+this.peek(2),op1=OPERATORS[ch],op2=OPERATORS[ch2],op3=OPERATORS[ch3];if(op1||op2||op3){var token=op3?ch3:op2?ch2:ch;this.tokens.push({index:this.index,text:token,operator:!0}),this.index+=token.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens},is:function(ch,chars){return-1!==chars.indexOf(ch)},peek:function(i){var num=i||1;return this.index+num<this.text.length&&this.text.charAt(this.index+num)},isNumber:function(ch){return"0"<=ch&&ch<="9"&&"string"==typeof ch},isWhitespace:function(ch){return" "===ch||"\r"===ch||"\t"===ch||"\n"===ch||"\v"===ch||"Â "===ch},isIdentifierStart:function(ch){return this.options.isIdentifierStart?this.options.isIdentifierStart(ch,this.codePointAt(ch)):this.isValidIdentifierStart(ch)},isValidIdentifierStart:function(ch){return"a"<=ch&&ch<="z"||"A"<=ch&&ch<="Z"||"_"===ch||"$"===ch},isIdentifierContinue:function(ch){return this.options.isIdentifierContinue?this.options.isIdentifierContinue(ch,this.codePointAt(ch)):this.isValidIdentifierContinue(ch)},isValidIdentifierContinue:function(ch,cp){return this.isValidIdentifierStart(ch,cp)||this.isNumber(ch)}
1,codePointAt:function(ch){return 1===ch.length?ch.charCodeAt(0):(ch.charCodeAt(0)<<10)+ch.charCodeAt(1)-56613888},peekMultichar:function(){var ch=this.text.charAt(this.index),peek=this.peek();if(!peek)return ch;var cp1=ch.charCodeAt(0),cp2=peek.charCodeAt(0);return 55296<=cp1&&cp1<=56319&&56320<=cp2&&cp2<=57343?ch+peek:ch},isExpOperator:function(ch){return"-"===ch||"+"===ch||this.isNumber(ch)},throwError:function(error,start,end){end=end||this.index;var colStr=isDefined(start)?"s "+start+"-"+this.index+" ["+this.text.substring(start,end)+"]":" "+end;throw $parseMinErr("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",error,colStr,this.text)},readNumber:function(){for(var number="",start=this.index;this.index<this.text.length;){var ch=lowercase(this.text.charAt(this.index));if("."===ch||this.isNumber(ch))number+=ch;else{var peekCh=this.peek();if("e"===ch&&this.isExpOperator(peekCh))number+=ch;else if(this.isExpOperator(ch)&&peekCh&&this.isNumber(peekCh)&&"e"===number.charAt(number.length-1))number+=ch;else{if(!this.isExpOperator(ch)||peekCh&&this.isNumber(peekCh)||"e"!==number.charAt(number.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:start,text:number,constant:!0,value:Number(number)})},readIdent:function(){var start=this.index;for(this.index+=this.peekMultichar().length;this.index<this.text.length;){var ch=this.peekMultichar();if(!this.isIdentifierContinue(ch))break;this.index+=ch.length}this.tokens.push({index:start,text:this.text.slice(start,this.index),identifier:!0})},readString:function(quote){var start=this.index;this.index++;for(var string="",rawString=quote,escape=!1;this.index<this.text.length;){var ch=this.text.charAt(this.index);if(rawString+=ch,escape){if("u"===ch){var hex=this.text.substring(this.index+1,this.index+5);hex.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+hex+"]"),this.index+=4,string+=String.fromCharCode(parseInt(hex,16))}else{string+=ESCAPE[ch]||ch}escape=!1}else if("\\"===ch)escape=!0;else{if(ch===quote)return this.index++,void this.tokens.push({index:start,text:rawString,constant:!0,value:string});string+=ch}this.index++}this.throwError("Unterminated quote",start)}};var AST=function(lexer,options){this.lexer=lexer,this.options=options};function ifDefined(v,d){return void 0!==v?v:d}function plusFn(l,r){return void 0===l?r:void 0===r?l:l+r}AST.Program="Program",AST.ExpressionStatement="ExpressionStatement",AST.AssignmentExpression="AssignmentExpression",AST.ConditionalExpression="ConditionalExpression",AST.LogicalExpression="LogicalExpression",AST.BinaryExpression="BinaryExpression",AST.UnaryExpression="UnaryExpression",AST.CallExpression="CallExpression",AST.MemberExpression="MemberExpression",AST.Identifier="Identifier",AST.Literal="Literal",AST.ArrayExpression="ArrayExpression",AST.Property="Property",AST.ObjectExpression="ObjectExpression",AST.ThisExpression="ThisExpression",AST.LocalsExpression="LocalsExpression",AST.NGValueParameter="NGValueParameter",AST.prototype={ast:function(text){this.text=text,this.tokens=this.lexer.lex(text);var value=this.program();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),value},program:function(){for(var body=[];;)if(0<this.tokens.length&&!this.peek("}",")",";","]")&&body.push(this.expressionStatement()),!this.expect(";"))return{type:AST.Program,body:body}},expressionStatement:function(){return{type:AST.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var left=this.expression();this.expect("|");)left=this.filter(left);return left},expression:function(){return this.assignment()},assignment:function(){var result=this.ternary();if(this.expect("=")){if(!isAssignable(result))throw $parseMinErr("lval","Trying to assign a value to a non l-value");result={type:AST.AssignmentExpression,left:result,right:this.assignment(),operator:"="}}return result},ternary:function(){var alternate,consequent,test=this.logicalOR();return this.expect("?")&&(alternate=this.expression(),this.consume(":"))?(consequent=this.expression(),{t
1ype:AST.ConditionalExpression,test:test,alternate:alternate,consequent:consequent}):test},logicalOR:function(){for(var left=this.logicalAND();this.expect("||");)left={type:AST.LogicalExpression,operator:"||",left:left,right:this.logicalAND()};return left},logicalAND:function(){for(var left=this.equality();this.expect("&&");)left={type:AST.LogicalExpression,operator:"&&",left:left,right:this.equality()};return left},equality:function(){for(var token,left=this.relational();token=this.expect("==","!=","===","!==");)left={type:AST.BinaryExpression,operator:token.text,left:left,right:this.relational()};return left},relational:function(){for(var token,left=this.additive();token=this.expect("<",">","<=",">=");)left={type:AST.BinaryExpression,operator:token.text,left:left,right:this.additive()};return left},additive:function(){for(var token,left=this.multiplicative();token=this.expect("+","-");)left={type:AST.BinaryExpression,operator:token.text,left:left,right:this.multiplicative()};return left},multiplicative:function(){for(var token,left=this.unary();token=this.expect("*","/","%");)left={type:AST.BinaryExpression,operator:token.text,left:left,right:this.unary()};return left},unary:function(){var token;return(token=this.expect("+","-","!"))?{type:AST.UnaryExpression,operator:token.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var primary,next;for(this.expect("(")?(primary=this.filterChain(),this.consume(")")):this.expect("[")?primary=this.arrayDeclaration():this.expect("{")?primary=this.object():this.selfReferential.hasOwnProperty(this.peek().text)?primary=copy(this.selfReferential[this.consume().text]):this.options.literals.hasOwnProperty(this.peek().text)?primary={type:AST.Literal,value:this.options.literals[this.consume().text]}:this.peek().identifier?primary=this.identifier():this.peek().constant?primary=this.constant():this.throwError("not a primary expression",this.peek());next=this.expect("(","[",".");)"("===next.text?(primary={type:AST.CallExpression,callee:primary,arguments:this.parseArguments()},this.consume(")")):"["===next.text?(primary={type:AST.MemberExpression,object:primary,property:this.expression(),computed:!0},this.consume("]")):"."===next.text?primary={type:AST.MemberExpression,object:primary,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return primary},filter:function(baseExpression){for(var args=[baseExpression],result={type:AST.CallExpression,callee:this.identifier(),arguments:args,filter:!0};this.expect(":");)args.push(this.expression());return result},parseArguments:function(){var args=[];if(")"!==this.peekToken().text)for(;args.push(this.filterChain()),this.expect(","););return args},identifier:function(){var token=this.consume();return token.identifier||this.throwError("is not a valid identifier",token),{type:AST.Identifier,name:token.text}},constant:function(){return{type:AST.Literal,value:this.consume().value}},arrayDeclaration:function(){var elements=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;elements.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:AST.ArrayExpression,elements:elements}},object:function(){var property,properties=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;property={type:AST.Property,kind:"init"},this.peek().constant?(property.key=this.constant(),property.computed=!1,this.consume(":"),property.value=this.expression()):this.peek().identifier?(property.key=this.identifier(),property.computed=!1,this.peek(":")?(this.consume(":"),property.value=this.expression()):property.value=property.key):this.peek("[")?(this.consume("["),property.key=this.expression(),this.consume("]"),property.computed=!0,this.consume(":"),property.value=this.expression()):this.throwError("invalid key",this.peek()),properties.push(property)}while(this.expect(","));return this.consume("}"),{type:AST.ObjectExpression,properties:properties}},throwError:function(msg,token){throw $parseMinErr("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",token.text,msg,token.index+1,this.text,this.text.substring(token.index))},consume:function(e1){if(0===this.tokens.length)throw $parseMinErr("ueoe","Unexpected end of expression: {0}",this.text);var token=this.expect(e1);return token||this.throwError("is unexpected, expecting ["+e1+"]",this.peek()),token},peekToken:function(){if(0===this.tokens.length)throw $parseMinErr("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(e1,e2,e3,e4){return this.peekAhead(0,e1,e2,e3,e4)},peekAhead:function(i,e1,e2,e3,e4){if(this.tokens.length>i){var token=this.tokens[i],t=token.text;if(t===e1||t===e2||t===e3||t===e4||!e1&&!e2&&!e3&&!e4)return token}return!1},expect:function(e1,e2,e3,e4){var token=this.peek(e1,e2,e3,e4);
1return!!token&&(this.tokens.shift(),token)},selfReferential:{this:{type:AST.ThisExpression},$locals:{type:AST.LocalsExpression}}};var PURITY_ABSOLUTE=1,PURITY_RELATIVE=2;function findConstantAndWatchExpressions(ast,$filter,parentIsPure){var allConstants,argsToWatch,isStatelessFilter,astIsPure=ast.isPure=function(node,parentIsPure){switch(node.type){case AST.MemberExpression:if(node.computed)return!1;break;case AST.UnaryExpression:return PURITY_ABSOLUTE;case AST.BinaryExpression:return"+"!==node.operator&&PURITY_ABSOLUTE;case AST.CallExpression:return!1}return void 0===parentIsPure?PURITY_RELATIVE:parentIsPure}(ast,parentIsPure);switch(ast.type){case AST.Program:allConstants=!0,forEach(ast.body,function(expr){findConstantAndWatchExpressions(expr.expression,$filter,astIsPure),allConstants=allConstants&&expr.expression.constant}),ast.constant=allConstants;break;case AST.Literal:ast.constant=!0,ast.toWatch=[];break;case AST.UnaryExpression:findConstantAndWatchExpressions(ast.argument,$filter,astIsPure),ast.constant=ast.argument.constant,ast.toWatch=ast.argument.toWatch;break;case AST.BinaryExpression:findConstantAndWatchExpressions(ast.left,$filter,astIsPure),findConstantAndWatchExpressions(ast.right,$filter,astIsPure),ast.constant=ast.left.constant&&ast.right.constant,ast.toWatch=ast.left.toWatch.concat(ast.right.toWatch);break;case AST.LogicalExpression:findConstantAndWatchExpressions(ast.left,$filter,astIsPure),findConstantAndWatchExpressions(ast.right,$filter,astIsPure),ast.constant=ast.left.constant&&ast.right.constant,ast.toWatch=ast.constant?[]:[ast];break;case AST.ConditionalExpression:findConstantAndWatchExpressions(ast.test,$filter,astIsPure),findConstantAndWatchExpressions(ast.alternate,$filter,astIsPure),findConstantAndWatchExpressions(ast.consequent,$filter,astIsPure),ast.constant=ast.test.constant&&ast.alternate.constant&&ast.consequent.constant,ast.toWatch=ast.constant?[]:[ast];break;case AST.Identifier:ast.constant=!1,ast.toWatch=[ast];break;case AST.MemberExpression:findConstantAndWatchExpressions(ast.object,$filter,astIsPure),ast.computed&&findConstantAndWatchExpressions(ast.property,$filter,astIsPure),ast.constant=ast.object.constant&&(!ast.computed||ast.property.constant),ast.toWatch=ast.constant?[]:[ast];break;case AST.CallExpression:isStatelessFilter=!!ast.filter&&function($filter,filterName){return!$filter(filterName).$stateful}($filter,ast.callee.name),allConstants=isStatelessFilter,argsToWatch=[],forEach(ast.arguments,function(expr){findConstantAndWatchExpressions(expr,$filter,astIsPure),allConstants=allConstants&&expr.constant,argsToWatch.push.apply(argsToWatch,expr.toWatch)}),ast.constant=allConstants,ast.toWatch=isStatelessFilter?argsToWatch:[ast];break;case AST.AssignmentExpression:findConstantAndWatchExpressions(ast.left,$filter,astIsPure),findConstantAndWatchExpressions(ast.right,$filter,astIsPure),ast.constant=ast.left.constant&&ast.right.constant,ast.toWatch=[ast];break;case AST.ArrayExpression:allConstants=!0,argsToWatch=[],forEach(ast.elements,function(expr){findConstantAndWatchExpressions(expr,$filter,astIsPure),allConstants=allConstants&&expr.constant,argsToWatch.push.apply(argsToWatch,expr.toWatch)}),ast.constant=allConstants,ast.toWatch=argsToWatch;break;case AST.ObjectExpression:allConstants=!0,argsToWatch=[],forEach(ast.properties,function(property){findConstantAndWatchExpressions(property.value,$filter,astIsPure),allConstants=allConstants&&property.value.constant,argsToWatch.push.apply(argsToWatch,property.value.toWatch),property.computed&&(findConstantAndWatchExpressions(property.key,$filter,!1),allConstants=allConstants&&property.key.constant,argsToWatch.push.apply(argsToWatch,property.key.toWatch))}),ast.constant=allConstants,ast.toWatch=argsToWatch;break;case AST.ThisExpression:case AST.LocalsExpression:ast.constant=!1,ast.toWatch=[]}}function getInputs(body){if(1===body.length){var lastExpression=body[0].expression,candidate=lastExpression.toWatch;return 1!==candidate.length?candidate:candidate[0]!==lastExpression?candidate:void 0}}function isAssignable(ast){return ast.type===AST.Identifier||ast.type===AST.Member
1Expression}function assignableAST(ast){if(1===ast.body.length&&isAssignable(ast.body[0].expression))return{type:AST.AssignmentExpression,left:ast.body[0].expression,right:{type:AST.NGValueParameter},operator:"="}}function ASTCompiler($filter){this.$filter=$filter}function ASTInterpreter($filter){this.$filter=$filter}function Parser(lexer,$filter,options){this.ast=new AST(lexer,options),this.astCompiler=options.csp?new ASTInterpreter($filter):new ASTCompiler($filter)}function getValueOf(value){return isFunction(value.valueOf)?value.valueOf():objectValueOf.call(value)}function $ParseProvider(){var identStart,identContinue,cache=createMap(),literals={true:!0,false:!1,null:null,undefined:void 0};this.addLiteral=function(literalName,literalValue){literals[literalName]=literalValue},this.setIdentifierFns=function(identifierStart,identifierContinue){return identStart=identifierStart,identContinue=identifierContinue,this},this.$get=["$filter",function($filter){var $parseOptions={csp:csp().noUnsafeEval,literals:copy(literals),isIdentifierStart:isFunction(identStart)&&identStart,isIdentifierContinue:isFunction(identContinue)&&identContinue};return $parse.$$getAst=function(exp){return new Parser(new Lexer($parseOptions),$filter,$parseOptions).getAst(exp).ast},$parse;function $parse(exp,interceptorFn){var parsedExpression,cacheKey;switch(typeof exp){case"string":if(exp=exp.trim(),!(parsedExpression=cache[cacheKey=exp]))parsedExpression=new Parser(new Lexer($parseOptions),$filter,$parseOptions).parse(exp),cache[cacheKey]=addWatchDelegate(parsedExpression);return addInterceptor(parsedExpression,interceptorFn);case"function":return addInterceptor(exp,interceptorFn);default:return addInterceptor(noop,interceptorFn)}}function expressionInputDirtyCheck(newValue,oldValueOfValue,compareObjectIdentity){return null==newValue||null==oldValueOfValue?newValue===oldValueOfValue:!("object"==typeof newValue&&"object"==typeof(newValue=getValueOf(newValue))&&!compareObjectIdentity)&&(newValue===oldValueOfValue||newValue!=newValue&&oldValueOfValue!=oldValueOfValue)}function inputsWatchDelegate(scope,listener,objectEquality,parsedExpression,prettyPrintExpression){var lastResult,inputExpressions=parsedExpression.inputs;if(1===inputExpressions.length){var oldInputValueOf=expressionInputDirtyCheck;return inputExpressions=inputExpressions[0],scope.$watch(function(scope){var newInputValue=inputExpressions(scope);return expressionInputDirtyCheck(newInputValue,oldInputValueOf,inputExpressions.isPure)||(lastResult=parsedExpression(scope,void 0,void 0,[newInputValue]),oldInputValueOf=newInputValue&&getValueOf(newInputValue)),lastResult},listener,objectEquality,prettyPrintExpression)}for(var oldInputValueOfValues=[],oldInputValues=[],i=0,ii=inputExpressions.length;i<ii;i++)oldInputValueOfValues[i]=expressionInputDirtyCheck,oldInputValues[i]=null;return scope.$watch(function(scope){for(var changed=!1,i=0,ii=inputExpressions.length;i<ii;i++){var newInputValue=inputExpressions[i](scope);(changed||(changed=!expressionInputDirtyCheck(newInputValue,oldInputValueOfValues[i],inputExpressions[i].isPure)))&&(oldInputValues[i]=newInputValue,oldInputValueOfValues[i]=newInputValue&&getValueOf(newInputValue))}return changed&&(lastResult=parsedExpression(scope,void 0,void 0,oldInputValues)),lastResult},listener,objectEquality,prettyPrintExpression)}function oneTimeWatchDelegate(scope,listener,objectEquality,parsedExpression,prettyPrintExpression){var unwatch,lastValue,isDone=parsedExpression.literal?isAllDefined:isDefined,exp=parsedExpression.$$intercepted||parsedExpression,post=parsedExpression.$$interceptor||identity,useInputs=parsedExpression.inputs&&!exp.inputs;return oneTimeWatch.literal=parsedExpression.literal,oneTimeWatch.constant=parsedExpression.constant,oneTimeWatch.inputs=parsedExpression.inputs,addWatchDelegate(oneTimeWatch),unwatch=scope.$watch(oneTimeWatch,listener,objectEquality,prettyPrintExpression);function unwatchIfDone(){isDone(lastValue)&&unwatch()}function oneTimeWatch(scope,locals,assign,inputs){return lastValue=useInputs&&inputs?inputs[0]:exp(scope,locals,assign,inputs),isDone(lastValue)&&scope.$$postDigest(unwatchIfDone),post(lastValue)}}function isAllDefined(value){var allDefined=!0;return forEach(value,function(val){isDefined(val)||(allDefined=!1)}),allDefined}function constantWatchDelegate(scope,listener,objectEquality,parsedExpression){var unwatch=scope.$watch(function(scope){return unwatch(),parsedExpression(scope)},listener,objectEquality);return unwatch}function addWatchDelegate(parsedExpression){return parsedExpression.constant?parsedExpression.$$watchDelegate=constantWatchDelegate:parsedExpression.oneTime?parsedExpression.$$watchDelegate=oneTimeWatchDelegate:parsedExpression.inputs&&(parsedExpression.$$watchDelegate=inputsWatchDelegate),parsedExpression}function addInterceptor(parsedExpression,interceptorFn){if(!interceptorFn)return parsedExpression;parsedExpression.$$interceptor&&(interceptorFn=function(first,second){function chainedInterceptor(value){return second(first(value))}return chainedInterceptor.$stateful=first.$stateful||second.$stateful,chainedInterceptor.$$pure=first.$$pure&&second.$$pure,chainedInterceptor}(parsedExpression.$$interceptor,interceptorFn),parsedExpression=parsedExpression.$$intercepted);var useInputs=!1,fn=function(scope,locals,assign,inputs){var value=useInputs&&inputs?input
1s[0]:parsedExpression(scope,locals,assign,inputs);return interceptorFn(value)};return fn.$$intercepted=parsedExpression,fn.$$interceptor=interceptorFn,fn.literal=parsedExpression.literal,fn.oneTime=parsedExpression.oneTime,fn.constant=parsedExpression.constant,interceptorFn.$stateful||(useInputs=!parsedExpression.inputs,fn.inputs=parsedExpression.inputs?parsedExpression.inputs:[parsedExpression],interceptorFn.$$pure||(fn.inputs=fn.inputs.map(function(e){return e.isPure===PURITY_RELATIVE?function(s){return e(s)}:e}))),addWatchDelegate(fn)}}]}function $QProvider(){var errorOnUnhandledRejections=!0;this.$get=["$rootScope","$exceptionHandler",function($rootScope,$exceptionHandler){return qFactory(function(callback){$rootScope.$evalAsync(callback)},$exceptionHandler,errorOnUnhandledRejections)}],this.errorOnUnhandledRejections=function(value){return isDefined(value)?(errorOnUnhandledRejections=value,this):errorOnUnhandledRejections}}function $$QProvider(){var errorOnUnhandledRejections=!0;this.$get=["$browser","$exceptionHandler",function($browser,$exceptionHandler){return qFactory(function(callback){$browser.defer(callback)},$exceptionHandler,errorOnUnhandledRejections)}],this.errorOnUnhandledRejections=function(value){return isDefined(value)?(errorOnUnhandledRejections=value,this):errorOnUnhandledRejections}}function qFactory(nextTick,exceptionHandler,errorOnUnhandledRejections){var $qMinErr=minErr("$q",TypeError),queueSize=0,checkQueue=[];function defer(){return new Deferred}function Deferred(){var promise=this.promise=new Promise;this.resolve=function(val){resolvePromise(promise,val)},this.reject=function(reason){rejectPromise(promise,reason)},this.notify=function(progress){notifyPromise(promise,progress)}}function Promise(){this.$$state={status:0}}function processChecks(){for(;!queueSize&&checkQueue.length;){var toCheck=checkQueue.shift();if(!isStateExceptionHandled(toCheck)){markQStateExceptionHandled(toCheck);var errorMessage="Possibly unhandled rejection: "+toDebugString(toCheck.value);isError(toCheck.value)?exceptionHandler(toCheck.value,errorMessage):exceptionHandler(errorMessage)}}}function scheduleProcessQueue(state){!errorOnUnhandledRejections||state.pending||2!==state.status||isStateExceptionHandled(state)||(0===queueSize&&0===checkQueue.length&&nextTick(processChecks),checkQueue.push(state)),!state.processScheduled&&state.pending&&(state.processScheduled=!0,++queueSize,nextTick(function(){!function(state){var fn,promise,pending;pending=state.pending,state.processScheduled=!1,state.pending=void 0;try{for(var i=0,ii=pending.length;i<ii;++i){markQStateExceptionHandled(state),promise=pending[i][0],fn=pending[i][state.status];try{isFunction(fn)?resolvePromise(promise,fn(state.value)):1===state.status?resolvePromise(promise,state.value):rejectPromise(promise,state.value)}catch(e){rejectPromise(promise,e),e&&!0===e.$$passToExceptionHandler&&exceptionHandler(e)}}}finally{--queueSize,errorOnUnhandledRejections&&0===queueSize&&nextTick(processChecks)}}(state)}))}function resolvePromise(promise,val){promise.$$state.status||(val===promise?$$reject(promise,$qMinErr("qcycle","Expected promise to be resolved with value other than itself '{0}'",val)):function $$resolve(promise,val){var then;var done=!1;try{(isObject(val)||isFunction(val))&&(then=val.then),isFunction(then)?(promise.$$state.status=-1,then.call(val,doResolve,doReject,doNotify)):(promise.$$state.value=val,promise.$$state.status=1,scheduleProcessQueue(promise.$$state))}catch(e){doReject(e)}function doResolve(val){done||(done=!0,$$resolve(promise,val))}function doReject(val){done||(done=!0,$$reject(promise,val))}function doNotify(progress){notifyPromise(promise,progress)}}(promise,val))}function rejectPromise(promise,reason){promise.$$state.status||$$reject(promise,reason)}function $$reject(promise,reason){promise.$$state.value=reason,promise.$$state.status=2,scheduleProcessQueue(promise.$$state)}function notifyPromise(promise,progress){var callbacks=promise.$$state.pending;promise.$$state.status<=0&&callbacks&&callbacks.length&&nextTick(function(){for(var callback,result,i=0,ii=callbacks.length;i<ii;i++){result=callbacks[i][0],callback=callbacks[i][3];try{notifyPromise(result,isFunction(callback)?callback(progress):progress)}catch(e){exceptionHandler(e)}}})}function reject(reason){var result=new Promise;return rejectPromise(result,reason),result}function handleCallback(value,resolver,callback){var callbackOutput=null;try{isFunction(callback)&&(callbackOutput=callback())}catch(e){return reject(e)}return isPromiseLike(callbackOutput)?callbackOutput.then(function(){return resolver(value)},reject):resolver(value)}function when(value,callback,errback,progressBack){var result=new Promise;return resolvePromise(result,value),result.then(callback,errback,progressBack)}extend(Promise.prototype,{then:function(onFulfilled,onRejected,progressBack){if(isUndefined(onFulfilled)&&isUndefined(onRejected)&&isUndefined(progressBack))return this;var result=new Promise;
1return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([result,onFulfilled,onRejected,progressBack]),0<this.$$state.status&&scheduleProcessQueue(this.$$state),result},catch:function(callback){return this.then(null,callback)},finally:function(callback,progressBack){return this.then(function(value){return handleCallback(value,resolve,callback)},function(error){return handleCallback(error,reject,callback)},progressBack)}});var resolve=when;function $Q(resolver){if(!isFunction(resolver))throw $qMinErr("norslvr","Expected resolverFn, got '{0}'",resolver);var promise=new Promise;return resolver(function(value){resolvePromise(promise,value)},function(reason){rejectPromise(promise,reason)}),promise}return $Q.prototype=Promise.prototype,$Q.defer=defer,$Q.reject=reject,$Q.when=when,$Q.resolve=resolve,$Q.all=function(promises){var result=new Promise,counter=0,results=isArray(promises)?[]:{};return forEach(promises,function(promise,key){counter++,when(promise).then(function(value){results[key]=value,--counter||resolvePromise(result,results)},function(reason){rejectPromise(result,reason)})}),0===counter&&resolvePromise(result,results),result},$Q.race=function(promises){var deferred=defer();return forEach(promises,function(promise){when(promise).then(deferred.resolve,deferred.reject)}),deferred.promise},$Q}function isStateExceptionHandled(state){return!!state.pur}function markQStateExceptionHandled(state){state.pur=!0}function markQExceptionHandled(q){markQStateExceptionHandled(q.$$state)}function $$RAFProvider(){this.$get=["$window","$timeout",function($window,$timeout){var requestAnimationFrame=$window.requestAnimationFrame||$window.webkitRequestAnimationFrame,cancelAnimationFrame=$window.cancelAnimationFrame||$window.webkitCancelAnimationFrame||$window.webkitCancelRequestAnimationFrame,rafSupported=!!requestAnimationFrame,raf=rafSupported?function(fn){var id=requestAnimationFrame(fn);return function(){cancelAnimationFrame(id)}}:function(fn){var timer=$timeout(fn,16.66,!1);return function(){$timeout.cancel(timer)}};return raf.supported=rafSupported,raf}]}function $RootScopeProvider(){var TTL=10,$rootScopeMinErr=minErr("$rootScope"),lastDirtyWatch=null,applyAsyncId=null;this.digestTtl=function(value){return arguments.length&&(TTL=value),TTL},this.$get=["$exceptionHandler","$parse","$browser",function($exceptionHandler,$parse,$browser){function destroyChildScope($event){$event.currentScope.$$destroyed=!0}function Scope(){this.$id=nextUid(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,(this.$root=this).$$destroyed=!1,this.$$suspended=!1,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$$isolateBindings=null}Scope.prototype={constructor:Scope,$new:function(isolate,parent){var child;return parent=parent||this,isolate?(child=new Scope).$root=this.$root:(this.$$ChildScope||(this.$$ChildScope=function(parent){function ChildScope(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=nextUid(),this.$$ChildScope=null,this.$$suspended=!1}return ChildScope.prototype=parent,ChildScope}(this)),child=new this.$$ChildScope),child.$parent=parent,child.$$prevSibling=parent.$$childTail,parent.$$childHead?(parent.$$childTail.$$nextSibling=child,parent.$$childTail=child):parent.$$childHead=parent.$$childTail=child,(isolate||parent!==this)&&child.$on("$destroy",destroyChildScope),child},$watch:function(watchExp,listener,objectEquality,prettyPrintExpression){var get=$parse(watchExp),fn=isFunction(listener)?listener:noop;if(get.$$watchDelegate)return get.$$watchDelegate(this,fn,objectEquality,get,watchExp);var scope=this,array=scope.$$watchers,watcher={fn:fn,last:initWatchVal,get:get,exp:prettyPrintExpression||watchExp,eq:!!objectEquality};return lastDirtyWatch=null,array||((array=scope.$$watchers=[]).$$digestWatchIndex=-1),array.unshift(watcher),array.$$digestWatchIndex++,incrementWatchersCount(this,1),function(){var index=arrayRemove(array,watcher);0<=index&&(incrementWatchersCount(scope,-1),index<array.$$digestWatchIndex&&array.$$digestWatchIndex--),lastDirtyWatch=null}},$watchGroup:function(watchExpressions,listener){var oldValues=new Array(watchExpressions.length),newValues=new Array(watchExpressions.length),deregisterFns=[],self=this,changeReactionScheduled=!1,firstRun=!0;if(!watchExpressions.length){var shouldCall=!0;return self.$evalAsync(function(){shouldCall&&listener(newValues,newValues,self)}),function(){shouldCall=!1}}if(1===watchExpressions.length)return this.$watch(watchExpressions[0],function(value,oldValue,scope){newValues[0]=value,oldValues[0]=oldValue,listener(newValues,value===oldValue?newValues:oldValues,scope)});function watchGroupAction(){changeReactionScheduled=!1;try{firstRun?(firstRun=!1,listener(newValues,newValues,self)):listener(newValues,oldValues,self)}finally{for(var i=0;i<watchExpressions.length;i++)oldValues[i]=newValues[i]}}return forEach(watchExpressions,function(expr,i){var unwatchFn=self.$watch(expr,function(value){newValues[i]=value,changeReactionScheduled||(changeReactionScheduled=!0,self.$evalAsync(watchGroupAction))});deregisterFns.push(unwatchFn)}),function(){for(;deregisterFns.length;)deregisterFns.shift()()}},$watchCollection:function(obj,listener){$watchCollectionInterceptor.$$pure=$parse(obj).literal,$watchCollectionInterceptor.$stateful=!$watchCollectionInterceptor.$$pure;var newValue,oldValue,veryOldValue,self=this,trackVeryOldValue=1<listener.length,changeDetected=0,changeDetector=$parse(obj,$watchCollectionInterceptor),internalArray=[],internalObject={},initRun=!0,oldLength=0;function $watchCollectionInterceptor(_value){var newLength,key,newItem,oldItem;if(!isUndefined(newValue=_value)){if(isObject(newValue))if(isArrayLike(newValue)){oldValue!==internalArray&&(oldLength=(oldValue=internalArray).length=0,changeDetected++),newLength=newValue.length,oldLength!==newLength&&(changeDetected++,oldValue.length=oldLength=newLength);for(var i=0;i<newLength;i++)oldItem=oldValue[i],newItem=newValue[i],oldItem!=oldItem&&newItem!=newItem||oldItem===newItem||(changeDetected++,oldValue[i]=newItem)}else{for(key in oldValue!==internalObject&&(oldValue=internalObject={},oldLength=0,changeDetected++),newLength=0,newValue)hasOwnProperty.call(newValue,key)&&(newLength++,newItem=newValue[key],oldItem=oldValue[key],key in oldValue?oldItem!=oldItem&&newItem!=newItem||oldItem===newItem||(changeDetected++,oldValue[key]=newItem):(oldLe
1ngth++,oldValue[key]=newItem,changeDetected++));if(newLength<oldLength)for(key in changeDetected++,oldValue)hasOwnProperty.call(newValue,key)||(oldLength--,delete oldValue[key])}else oldValue!==newValue&&(oldValue=newValue,changeDetected++);return changeDetected}}return this.$watch(changeDetector,function(){if(initRun?(initRun=!1,listener(newValue,newValue,self)):listener(newValue,veryOldValue,self),trackVeryOldValue)if(isObject(newValue))if(isArrayLike(newValue)){veryOldValue=new Array(newValue.length);for(var i=0;i<newValue.length;i++)veryOldValue[i]=newValue[i]}else for(var key in veryOldValue={},newValue)hasOwnProperty.call(newValue,key)&&(veryOldValue[key]=newValue[key]);else veryOldValue=newValue})},$digest:function(){var watch,value,last,watchers,dirty,next,current,logIdx,asyncTask,ttl=TTL,target=asyncQueue.length?$rootScope:this,watchLog=[];beginPhase("$digest"),$browser.$$checkUrlChange(),this===$rootScope&&null!==applyAsyncId&&($browser.defer.cancel(applyAsyncId),flushApplyAsync()),lastDirtyWatch=null;do{dirty=!1,current=target;for(var asyncQueuePosition=0;asyncQueuePosition<asyncQueue.length;asyncQueuePosition++){try{(0,(asyncTask=asyncQueue[asyncQueuePosition]).fn)(asyncTask.scope,asyncTask.locals)}catch(e){$exceptionHandler(e)}lastDirtyWatch=null}asyncQueue.length=0;traverseScopesLoop:do{if(watchers=!current.$$suspended&¤t.$$watchers)for(watchers.$$digestWatchIndex=watchers.length;watchers.$$digestWatchIndex--;)try{if(watch=watchers[watchers.$$digestWatchIndex])if((value=(0,watch.get)(current))===(last=watch.last)||(watch.eq?equals(value,last):isNumberNaN(value)&&isNumberNaN(last))){if(watch===lastDirtyWatch){dirty=!1;break traverseScopesLoop}}else dirty=!0,(lastDirtyWatch=watch).last=watch.eq?copy(value,null):value,(0,watch.fn)(value,last===initWatchVal?value:last,current),ttl<5&&(watchLog[logIdx=4-ttl]||(watchLog[logIdx]=[]),watchLog[logIdx].push({msg:isFunction(watch.exp)?"fn: "+(watch.exp.name||watch.exp.toString()):watch.exp,newVal:value,oldVal:last}))}catch(e){$exceptionHandler(e)}if(!(next=!current.$$suspended&¤t.$$watchersCount&¤t.$$childHead||current!==target&¤t.$$nextSibling))for(;current!==target&&!(next=current.$$nextSibling);)current=current.$parent}while(current=next);if((dirty||asyncQueue.length)&&!ttl--)throw clearPhase(),$rootScopeMinErr("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",TTL,watchLog)}while(dirty||asyncQueue.length);for(clearPhase();postDigestQueuePosition<postDigestQueue.length;)try{postDigestQueue[postDigestQueuePosition++]()}catch(e){$exceptionHandler(e)}postDigestQueue.length=postDigestQueuePosition=0,$browser.$$checkUrlChange()},$suspend:function(){this.$$suspended=!0},$isSuspended:function(){return this.$$suspended},$resume:function(){this.$$suspended=!1},$destroy:function(){if(!this.$$destroyed){var parent=this.$parent;for(var eventName in this.$broadcast("$destroy"),this.$$destroyed=!0,this===$rootScope&&$browser.$$applicationDestroyed(),incrementWatchersCount(this,-this.$$watchersCount),this.$$listenerCount)decrementListenerCount(this,this.$$listenerCount[eventName],eventName);parent&&parent.$$childHead===this&&(parent.$$childHead=this.$$nextSibling),parent&&parent.$$childTail===this&&(parent.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=noop,this.$on=this.$watch=this.$watchGroup=function(){return noop},this.$$listeners={},this.$$nextSibling=null,function cleanUpScope($scope){9===msie&&($scope.$$childHead&&cleanUpScope($scope.$$childHead),$scope.$$nextSibling&&cleanUpScope($scope.$$nextSibling)),$scope.$parent=$scope.$$nextSibling=$scope.$$prevSibling=$scope.$$childHead=$scope.$$childTail=$scope.$root=$scope.$$watchers=null}(this)}},$eval:function(expr,locals){return $parse(expr)(this,locals)},$evalAsync:function(expr,locals){$rootScope.$$phase||asyncQueue.length||$browser.defer(function(){asyncQueue.length&&$rootScope.$digest()},null,"$evalAsync"),asyncQueue.push({scope:this,fn:$parse(expr),locals:locals})},$$postDigest:function(fn){postDigestQueue.push(fn)},$apply:function(expr){try{beginPhase("$apply");try{return this.$eval(expr)}finally{clearPhase()}}catch(e){$exceptionHandler(e)}finally{try{$rootScope.$digest()}catch(e){throw $exceptionHandler(e),e}}},$applyAsync:function(expr){var scope=this;expr&&applyAsyncQueue.push(function(){scope.$eval(expr)}),expr=$parse(expr),null===applyAsyncId&&(applyAsyncId=$browser.defer(function(){$rootScope.$apply(flushApplyAsync)},null,"$applyAsync"))},$on:function(name,listener){var namedListeners=this.$$listeners[name];namedListeners||(this.$$listeners[name]=namedListeners=[]),namedListeners.push(listener);for(var current=this;current.$$listenerCount[name]||(current.$$listenerCount[name]=0),current.$$listenerCount[name]++,current=current.$parent;);var self=this;return function(){var indexOfListener=namedListeners.indexOf(listener);-1!==indexOfListener&&(delete namedListeners[indexOfListener],decrementListenerCount(self,1,name))}},$emit:function(name,args){var namedListeners,i,length,empty=[],scope=this,stopPropagation=!1,event={name:name,targetScope:scope,stopPropagation:function(){stopPropagation=!0},preventDefault:function(){event.defaultPrevented=!0},defaultPrevented:!1}
1,listenerArgs=concat([event],arguments,1);do{for(namedListeners=scope.$$listeners[name]||empty,event.currentScope=scope,i=0,length=namedListeners.length;i<length;i++)if(namedListeners[i])try{namedListeners[i].apply(null,listenerArgs)}catch(e){$exceptionHandler(e)}else namedListeners.splice(i,1),i--,length--;if(stopPropagation)break;scope=scope.$parent}while(scope);return event.currentScope=null,event},$broadcast:function(name,args){var current=this,next=this,event={name:name,targetScope:this,preventDefault:function(){event.defaultPrevented=!0},defaultPrevented:!1};if(!this.$$listenerCount[name])return event;for(var listeners,i,length,listenerArgs=concat([event],arguments,1);current=next;){for(i=0,length=(listeners=(event.currentScope=current).$$listeners[name]||[]).length;i<length;i++)if(listeners[i])try{listeners[i].apply(null,listenerArgs)}catch(e){$exceptionHandler(e)}else listeners.splice(i,1),i--,length--;if(!(next=current.$$listenerCount[name]&¤t.$$childHead||current!==this&¤t.$$nextSibling))for(;current!==this&&!(next=current.$$nextSibling);)current=current.$parent}return event.currentScope=null,event}};var $rootScope=new Scope,asyncQueue=$rootScope.$$asyncQueue=[],postDigestQueue=$rootScope.$$postDigestQueue=[],applyAsyncQueue=$rootScope.$$applyAsyncQueue=[],postDigestQueuePosition=0;return $rootScope;function beginPhase(phase){if($rootScope.$$phase)throw $rootScopeMinErr("inprog","{0} already in progress",$rootScope.$$phase);$rootScope.$$phase=phase}function clearPhase(){$rootScope.$$phase=null}function incrementWatchersCount(current,count){for(;current.$$watchersCount+=count,current=current.$parent;);}function decrementListenerCount(current,count,name){for(;current.$$listenerCount[name]-=count,0===current.$$listenerCount[name]&&delete current.$$listenerCount[name],current=current.$parent;);}function initWatchVal(){}function flushApplyAsync(){for(;applyAsyncQueue.length;)try{applyAsyncQueue.shift()()}catch(e){$exceptionHandler(e)}applyAsyncId=null}}]}function $$SanitizeUriProvider(){var aHrefSanitizationWhitelist=/^\s*(https?|s?ftp|mailto|tel|file):/,imgSrcSanitizationWhitelist=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(regexp){return isDefined(regexp)?(aHrefSanitizationWhitelist=regexp,this):aHrefSanitizationWhitelist},this.imgSrcSanitizationWhitelist=function(regexp){return isDefined(regexp)?(imgSrcSanitizationWhitelist=regexp,this):imgSrcSanitizationWhitelist},this.$get=function(){return function(uri,isMediaUrl){var regex=isMediaUrl?imgSrcSanitizationWhitelist:aHrefSanitizationWhitelist,normalizedVal=urlResolve(uri&&uri.trim()).href;return""===normalizedVal||normalizedVal.match(regex)?uri:"unsafe:"+normalizedVal}}}ASTCompiler.prototype={compile:function(ast){var self=this;this.state={nextId:0,filters:{},fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},findConstantAndWatchExpressions(ast,self.$filter);var assignable,extra="";if(this.stage="assign",assignable=assignableAST(ast)){this.state.computing="assign";var result=this.nextId();this.recurse(assignable,result),this.return_(result),extra="fn.assign="+this.generateFunction("assign","s,v,l")}var toWatch=getInputs(ast.body);self.stage="inputs",forEach(toWatch,function(watch,key){var fnKey="fn"+key;self.state[fnKey]={vars:[],body:[],own:{}},self.state.computing=fnKey;var intoId=self.nextId();self.recurse(watch,intoId),self.return_(intoId),self.state.inputs.push({name:fnKey,isPure:watch.isPure}),watch.watchId=key}),this.state.computing="fn",this.stage="main",this.recurse(ast);var fnString='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+extra+this.watchFns()+"return fn;",fn=new Function("$filter","getStringValue","ifDefined","plus",fnString)(this.$filter,getStringValue,ifDefined,plusFn);return this.state=this.stage=void 0,fn},USE:"use",STRICT:"strict",watchFns:function(){var result=[],inputs=this.state.inputs,self=this;return forEach(inputs,function(input){result.push("var "+input.name+"="+self.generateFunction(input.name,"s")),input.isPure&&result.push(input.name,".isPure="+JSON.stringify(input.isPure)+";")}),inputs.length&&result.push("fn.inputs=["+inputs.map(function(i){return i.name}).join(",")+"];"),result.join("")},generateFunction:function(name,params){return"function("+params+"){"+this.varsPrefix(name)+this.body(name)+"};"},filterPrefix:function(){var parts=[],self=this;return forEach(this.state.filters,function(id,filter){parts.push(id+"=$filter("+self.escape(filter)+")")}),parts.length?"var "+parts.join(",")+";":""},varsPrefix:function(section){return this.state[section].vars.length?"var "+this.state[section].vars.join(",")+";":""},body:function(section){return this.state[section].body.join("")},recurse:function(ast,intoId,nameId,recursionFn,create,skipWatchI
1dCheck){var left,right,args,expression,computed,self=this;if(recursionFn=recursionFn||noop,!skipWatchIdCheck&&isDefined(ast.watchId))return intoId=intoId||this.nextId(),void this.if_("i",this.lazyAssign(intoId,this.computedMember("i",ast.watchId)),this.lazyRecurse(ast,intoId,nameId,recursionFn,create,!0));switch(ast.type){case AST.Program:forEach(ast.body,function(expression,pos){self.recurse(expression.expression,void 0,void 0,function(expr){right=expr}),pos!==ast.body.length-1?self.current().body.push(right,";"):self.return_(right)});break;case AST.Literal:expression=this.escape(ast.value),this.assign(intoId,expression),recursionFn(intoId||expression);break;case AST.UnaryExpression:this.recurse(ast.argument,void 0,void 0,function(expr){right=expr}),expression=ast.operator+"("+this.ifDefined(right,0)+")",this.assign(intoId,expression),recursionFn(expression);break;case AST.BinaryExpression:this.recurse(ast.left,void 0,void 0,function(expr){left=expr}),this.recurse(ast.right,void 0,void 0,function(expr){right=expr}),expression="+"===ast.operator?this.plus(left,right):"-"===ast.operator?this.ifDefined(left,0)+ast.operator+this.ifDefined(right,0):"("+left+")"+ast.operator+"("+right+")",this.assign(intoId,expression),recursionFn(expression);break;case AST.LogicalExpression:intoId=intoId||this.nextId(),self.recurse(ast.left,intoId),self.if_("&&"===ast.operator?intoId:self.not(intoId),self.lazyRecurse(ast.right,intoId)),recursionFn(intoId);break;case AST.ConditionalExpression:intoId=intoId||this.nextId(),self.recurse(ast.test,intoId),self.if_(intoId,self.lazyRecurse(ast.alternate,intoId),self.lazyRecurse(ast.consequent,intoId)),recursionFn(intoId);break;case AST.Identifier:intoId=intoId||this.nextId(),nameId&&(nameId.context="inputs"===self.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",ast.name)+"?l:s"),nameId.computed=!1,nameId.name=ast.name),self.if_("inputs"===self.stage||self.not(self.getHasOwnProperty("l",ast.name)),function(){self.if_("inputs"===self.stage||"s",function(){create&&1!==create&&self.if_(self.isNull(self.nonComputedMember("s",ast.name)),self.lazyAssign(self.nonComputedMember("s",ast.name),"{}")),self.assign(intoId,self.nonComputedMember("s",ast.name))})},intoId&&self.lazyAssign(intoId,self.nonComputedMember("l",ast.name))),recursionFn(intoId);break;case AST.MemberExpression:left=nameId&&(nameId.context=this.nextId())||this.nextId(),intoId=intoId||this.nextId(),self.recurse(ast.object,left,void 0,function(){self.if_(self.notNull(left),function(){ast.computed?(right=self.nextId(),self.recurse(ast.property,right),self.getStringValue(right),create&&1!==create&&self.if_(self.not(self.computedMember(left,right)),self.lazyAssign(self.computedMember(left,right),"{}")),expression=self.computedMember(left,right),self.assign(intoId,expression),nameId&&(nameId.computed=!0,nameId.name=right)):(create&&1!==create&&self.if_(self.isNull(self.nonComputedMember(left,ast.property.name)),self.lazyAssign(self.nonComputedMember(left,ast.property.name),"{}")),expression=self.nonComputedMember(left,ast.property.name),self.assign(intoId,expression),nameId&&(nameId.computed=!1,nameId.name=ast.property.name))},function(){self.assign(intoId,"undefined")}),recursionFn(intoId)},!!create);break;case AST.CallExpression:intoId=intoId||this.nextId(),ast.filter?(right=self.filter(ast.callee.name),args=[],forEach(ast.arguments,function(expr){var argument=self.nextId();self.recurse(expr,argument),args.push(argument)}),expression=right+"("+args.join(",")+")",self.assign(intoId,expression),recursionFn(intoId)):(right=self.nextId(),left={},args=[],self.recurse(ast.callee,right,left,function(){self.if_(self.notNull(right),function(){forEach(ast.arguments,function(expr){self.recurse(expr,ast.constant?void 0:self.nextId(),void 0,function(argument){args.push(argument)})}),expression=left.name?self.member(left.context,left.name,left.computed)+"("+args.join(",")+")":right+"("+args.join(",")+")",self.assign(intoId,expression)},function(){self.assign(intoId,"undefined")}),recursionFn(intoId)}));break;case AST.AssignmentExpression:right=this.nextId(),left={},this.recurse(ast.left,void 0,left,function(){self.if_(self.notNull(left.context),function(){self.recurse(ast.right,right),expression=self.member(left.context,left.name,left.computed)+ast.operator+right,self.assign(intoId,expression),recursionFn(intoId||expression)})},1);break;case AST.ArrayExpression:args=[],forEach(ast.elements,function(expr){self.recurse(expr,ast.constant?void 0:self.nextId(),void 0,function(argument){args.push(argument)})}),expression="["+args.join(",")+"]",this.assign(intoId,expression),recursionFn(intoId||expression);break;
1case AST.ObjectExpression:computed=!(args=[]),forEach(ast.properties,function(property){property.computed&&(computed=!0)}),computed?(intoId=intoId||this.nextId(),this.assign(intoId,"{}"),forEach(ast.properties,function(property){property.computed?(left=self.nextId(),self.recurse(property.key,left)):left=property.key.type===AST.Identifier?property.key.name:""+property.key.value,right=self.nextId(),self.recurse(property.value,right),self.assign(self.member(intoId,left,property.computed),right)})):(forEach(ast.properties,function(property){self.recurse(property.value,ast.constant?void 0:self.nextId(),void 0,function(expr){args.push(self.escape(property.key.type===AST.Identifier?property.key.name:""+property.key.value)+":"+expr)})}),expression="{"+args.join(",")+"}",this.assign(intoId,expression)),recursionFn(intoId||expression);break;case AST.ThisExpression:this.assign(intoId,"s"),recursionFn(intoId||"s");break;case AST.LocalsExpression:this.assign(intoId,"l"),recursionFn(intoId||"l");break;case AST.NGValueParameter:this.assign(intoId,"v"),recursionFn(intoId||"v")}},getHasOwnProperty:function(element,property){var key=element+"."+property,own=this.current().own;return own.hasOwnProperty(key)||(own[key]=this.nextId(!1,element+"&&("+this.escape(property)+" in "+element+")")),own[key]},assign:function(id,value){if(id)return this.current().body.push(id,"=",value,";"),id},filter:function(filterName){return this.state.filters.hasOwnProperty(filterName)||(this.state.filters[filterName]=this.nextId(!0)),this.state.filters[filterName]},ifDefined:function(id,defaultValue){return"ifDefined("+id+","+this.escape(defaultValue)+")"},plus:function(left,right){return"plus("+left+","+right+")"},return_:function(id){this.current().body.push("return ",id,";")},if_:function(test,alternate,consequent){if(!0===test)alternate();else{var body=this.current().body;body.push("if(",test,"){"),alternate(),body.push("}"),consequent&&(body.push("else{"),consequent(),body.push("}"))}},not:function(expression){return"!("+expression+")"},isNull:function(expression){return expression+"==null"},notNull:function(expression){return expression+"!=null"},nonComputedMember:function(left,right){return/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(right)?left+"."+right:left+'["'+right.replace(/[^$_a-zA-Z0-9]/g,this.stringEscapeFn)+'"]'},computedMember:function(left,right){return left+"["+right+"]"},member:function(left,right,computed){return computed?this.computedMember(left,right):this.nonComputedMember(left,right)},getStringValue:function(item){this.assign(item,"getStringValue("+item+")")},lazyRecurse:function(ast,intoId,nameId,recursionFn,create,skipWatchIdCheck){var self=this;return function(){self.recurse(ast,intoId,nameId,recursionFn,create,skipWatchIdCheck)}},lazyAssign:function(id,value){var self=this;return function(){self.assign(id,value)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(c){return"\\u"+("0000"+c.charCodeAt(0).toString(16)).slice(-4)},escape:function(value){if(isString(value))return"'"+value.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(isNumber(value))return value.toString();if(!0===value)return"true";if(!1===value)return"false";if(null===value)return"null";if(void 0===value)return"undefined";throw $parseMinErr("esc","IMPOSSIBLE")},nextId:function(skip,init){var id="v"+this.state.nextId++;return skip||this.current().vars.push(id+(init?"="+init:"")),id},current:function(){return this.state[this.state.computing]}},ASTInterpreter.prototype={compile:function(ast){var assignable,assign,self=this;findConstantAndWatchExpressions(ast,self.$filter),(assignable=assignableAST(ast))&&(assign=this.recurse(assignable));var inputs,toWatch=getInputs(ast.body);toWatch&&(inputs=[],forEach(toWatch,function(watch,key){var input=self.recurse(watch);input.isPure=watch.isPure,watch.input=input,inputs.push(input),watch.watchId=key}));var expressions=[];forEach(ast.body,function(expression){expressions.push(self.recurse(expression.expression))});var fn=0===ast.body.length?noop:1===ast.body.length?expressions[0]:function(scope,locals){var lastValue;return forEach(expressions,function(exp){lastValue=exp(scope,locals)}),lastValue};return assign&&(fn.assign=function(scope,value,locals){return assign(scope,locals,value)}),inputs&&(fn.inputs=inputs),fn},recurse:function(ast,context,create){var left,right,args,self=this;if(ast.input)return this.inputs(ast.input,ast.watchId);switch(ast.type){case AST.Literal:return this.value(ast.value,context);case AST.UnaryExpression:return right=this.recurse(ast.argument),this["unary"+ast.operator](right,context);case AST.BinaryExpression:case AST.LogicalExpression:return left=this.recurse(ast.left),right=this.recurse(ast.right),this["binary"+ast.operator](left,right,context);case AST.ConditionalExpression:return this["ternary?:"](this.recurse(ast.test),this.recurse(ast.alternate),this.recurse(ast.consequent),context);case AST.Identifier:return self.identifier(ast.name,context,create);
vendor: 7,273 bytes, line 1
1case AST.MemberExpression:return left=this.recurse(ast.object,!1,!!create),ast.computed||(right=ast.property.name),ast.computed&&(right=this.recurse(ast.property)),ast.computed?this.computedMember(left,right,context,create):this.nonComputedMember(left,right,context,create);case AST.CallExpression:return args=[],forEach(ast.arguments,function(expr){args.push(self.recurse(expr))}),ast.filter&&(right=this.$filter(ast.callee.name)),ast.filter||(right=this.recurse(ast.callee,!0)),ast.filter?function(scope,locals,assign,inputs){for(var values=[],i=0;i<args.length;++i)values.push(args[i](scope,locals,assign,inputs));var value=right.apply(void 0,values,inputs);return context?{context:void 0,name:void 0,value:value}:value}:function(scope,locals,assign,inputs){var value,rhs=right(scope,locals,assign,inputs);if(null!=rhs.value){for(var values=[],i=0;i<args.length;++i)values.push(args[i](scope,locals,assign,inputs));value=rhs.value.apply(rhs.context,values)}return context?{value:value}:value};case AST.AssignmentExpression:return left=this.recurse(ast.left,!0,1),right=this.recurse(ast.right),function(scope,locals,assign,inputs){var lhs=left(scope,locals,assign,inputs),rhs=right(scope,locals,assign,inputs);return lhs.context[lhs.name]=rhs,context?{value:rhs}:rhs};case AST.ArrayExpression:return args=[],forEach(ast.elements,function(expr){args.push(self.recurse(expr))}),function(scope,locals,assign,inputs){for(var value=[],i=0;i<args.length;++i)value.push(args[i](scope,locals,assign,inputs));return context?{value:value}:value};case AST.ObjectExpression:return args=[],forEach(ast.properties,function(property){property.computed?args.push({key:self.recurse(property.key),computed:!0,value:self.recurse(property.value)}):args.push({key:property.key.type===AST.Identifier?property.key.name:""+property.key.value,computed:!1,value:self.recurse(property.value)})}),function(scope,locals,assign,inputs){for(var value={},i=0;i<args.length;++i)args[i].computed?value[args[i].key(scope,locals,assign,inputs)]=args[i].value(scope,locals,assign,inputs):value[args[i].key]=args[i].value(scope,locals,assign,inputs);return context?{value:value}:value};case AST.ThisExpression:return function(scope){return context?{value:scope}:scope};case AST.LocalsExpression:return function(scope,locals){return context?{value:locals}:locals};case AST.NGValueParameter:return function(scope,locals,assign){return context?{value:assign}:assign}}},"unary+":function(argument,context){return function(scope,locals,assign,inputs){var arg=argument(scope,locals,assign,inputs);return arg=isDefined(arg)?+arg:0,context?{value:arg}:arg}},"unary-":function(argument,context){return function(scope,locals,assign,inputs){var arg=argument(scope,locals,assign,inputs);return arg=isDefined(arg)?-arg:-0,context?{value:arg}:arg}},"unary!":function(argument,context){return function(scope,locals,assign,inputs){var arg=!argument(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary+":function(left,right,context){return function(scope,locals,assign,inputs){var arg=plusFn(left(scope,locals,assign,inputs),right(scope,locals,assign,inputs));return context?{value:arg}:arg}},"binary-":function(left,right,context){return function(scope,locals,assign,inputs){var lhs=left(scope,locals,assign,inputs),rhs=right(scope,locals,assign,inputs),arg=(isDefined(lhs)?lhs:0)-(isDefined(rhs)?rhs:0);return context?{value:arg}:arg}},"binary*":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)*right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary/":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)/right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary%":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)%right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary===":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)===right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary!==":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)!==right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary==":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)==right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary!=":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)!=right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary<":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)<right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary>":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)>right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary<=":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)<=right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary>=":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)>=right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary&&":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)&&right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary||":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)||right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"ternary?:":function(test,alternate,consequent,context){return function(scope,locals,assign,inputs){var arg=test(scope,locals,assign,inputs)?alternate(scope,locals,assign,inputs):consequent(scope,locals,assign,inputs);return context?{value:arg}:arg}},value:function(value,context){return function(){return context?{context:void 0,name:void 0,value:value}:value}},identifier:function(name,context,create){return function(scope,locals,assign,inputs){var base=locals&&name in locals?locals:scope;create&&1!==create&&base&&null==base[name]&&(base[name]={});var value=base?base[name]:void 0;return context?{context:base,name:name,value:value}:value}},computedMember:function(left,right,context,create){return function(scope,locals,assign,inputs){var rhs,value,lhs=left(scope,locals,assign,inputs);return null!=lhs&&(rhs=getStringValue(rhs=right(scope,locals,assign,inputs)),create&&1!==create&&lhs&&!lhs[rhs]&&(lhs[rhs]={}),value=lhs[rhs]),context?{context:lhs,name:rhs,value:value}:value}},nonComputedMember:function(left,right,context,create){return function(scope,locals,assign,inputs){var lhs=left(scope,locals,assign,inputs);create&&1!==create&&lhs&&null==lhs[right]&&(lhs[right]={});var value=null!=lhs?lhs[right]:void 0;return context?{context:lhs,name:right,value:value}:value}},inputs:function(input,watchId){return function(scope,value,locals,inputs){return input
1s?inputs[watchId]:input(scope,value,locals)}}},Parser.prototype={constructor:Parser,parse:function(text){var ast=this.getAst(text),fn=this.astCompiler.compile(ast.ast);return fn.literal=function(ast){return 0===ast.body.length||1===ast.body.length&&(ast.body[0].expression.type===AST.Literal||ast.body[0].expression.type===AST.ArrayExpression||ast.body[0].expression.type===AST.ObjectExpression)}(ast.ast),fn.constant=function(ast){return ast.constant}(ast.ast),fn.oneTime=ast.oneTime,fn},getAst:function(exp){var oneTime=!1;return":"===(exp=exp.trim()).charAt(0)&&":"===exp.charAt(1)&&(oneTime=!0,exp=exp.substring(2)),{ast:this.ast.ast(exp),oneTime:oneTime}}};var $sceMinErr=minErr("$sce"),SCE_CONTEXTS={HTML:"html",CSS:"css",MEDIA_URL:"mediaUrl",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},UNDERSCORE_LOWERCASE_REGEXP=/_([a-z])/g;function snakeToCamel(name){return name.replace(UNDERSCORE_LOWERCASE_REGEXP,fnCamelCaseReplace)}function adjustMatchers(matchers){var adjustedMatchers=[];return isDefined(matchers)&&forEach(matchers,function(matcher){adjustedMatchers.push(function(matcher){if("self"===matcher)return matcher;if(isString(matcher)){if(-1<matcher.indexOf("***"))throw $sceMinErr("iwcard","Illegal sequence *** in string matcher. String: {0}",matcher);return matcher=escapeForRegexp(matcher).replace(/\\\*\\\*/g,".*").replace(/\\\*/g,"[^:/.?&;]*"),new RegExp("^"+matcher+"$")}if(isRegExp(matcher))return new RegExp("^"+matcher.source+"$");throw $sceMinErr("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}(matcher))}),adjustedMatchers}function $SceDelegateProvider(){this.SCE_CONTEXTS=SCE_CONTEXTS;var resourceUrlWhitelist=["self"],resourceUrlBlacklist=[];this.resourceUrlWhitelist=function(value){return arguments.length&&(resourceUrlWhitelist=adjustMatchers(value)),resourceUrlWhitelist},this.resourceUrlBlacklist=function(value){return arguments.length&&(resourceUrlBlacklist=adjustMatchers(value)),resourceUrlBlacklist},this.$get=["$injector","$$sanitizeUri",function($injector,$$sanitizeUri){var htmlSanitizer=function(html){throw $sceMinErr("unsafe","Attempting to use an unsafe value in a safe context.")};function matchUrl(matcher,parsedUrl){return"self"===matcher?urlsAreSameOrigin(parsedUrl,originUrl)||function(requestUrl){return urlsAreSameOrigin(requestUrl,function(){if(window.document.baseURI)return window.document.baseURI;baseUrlParsingNode||((baseUrlParsingNode=window.document.createElement("a")).href=".",baseUrlParsingNode=baseUrlParsingNode.cloneNode(!1));return baseUrlParsingNode.href}())}(parsedUrl):!!matcher.exec(parsedUrl.href)}function generateHolderType(Base){var holderType=function(trustedValue){this.$$unwrapTrustedValue=function(){return trustedValue}};return Base&&(holderType.prototype=new Base),holderType.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},holderType.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},holderType}$injector.has("$sanitize")&&(htmlSanitizer=$injector.get("$sanitize"));var trustedValueHolderBase=generateHolderType(),byType={};return byType[SCE_CONTEXTS.HTML]=generateHolderType(trustedValueHolderBase),byType[SCE_CONTEXTS.CSS]=generateHolderType(trustedValueHolderBase),byType[SCE_CONTEXTS.MEDIA_URL]=generateHolderType(trustedValueHolderBase),byType[SCE_CONTEXTS.URL]=generateHolderType(byType[SCE_CONTEXTS.MEDIA_URL]),byType[SCE_CONTEXTS.JS]=generateHolderType(trustedValueHolderBase),byType[SCE_CONTEXTS.RESOURCE_URL]=generateHolderType(byType[SCE_CONTEXTS.URL]),{trustAs:function(type,trustedValue){var Constructor=byType.hasOwnProperty(type)?byType[type]:null;if(!Constructor)throw $sceMinErr("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",type,trustedValue);if(null===trustedValue||isUndefined(trustedValue)||""===trustedValue)return trustedValue;if("string"!=typeof trustedValue)throw $sceMinErr("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",type);return new Constructor(trustedValue)},getTrusted:function(type,maybeTrusted){if(null===maybeTrusted||isUndefined(maybeTrusted)||""===maybeTrusted)return maybeTrusted;var constructor=byType.hasOwnProperty(type)?byType[type]:null;if(constructor&&maybeTrusted instanceof constructor)return maybeTrusted.$$unwrapTrustedValue();if(isFunction(maybeTrusted.$$unwrapTrustedValue)&&(maybeTrusted=maybeTrusted.$$unwrapTrustedValue()),type===SCE_CONTEXTS.MEDIA_URL||type===SCE_CONTEXTS.URL)return $$sanitizeUri(maybeTrusted,type===SCE_CONTEXTS.MEDIA_URL);if(type===SCE_CONTEXTS.RESOURCE_URL){if(function(url){var i,n,parsedUrl=urlResolve(url.toString()),allowed=!1;for(i=0,n=resourceUrlWhitelist.length;i<n;i++)if(matchUrl(resourceUrlWhitelist[i],parsedUrl)){allowed=!0;break}if(allowed)for(i=0,n=resourceUrlBlacklist.length;i<n;i++)if(matchUrl(resourceUrlBlacklist[i],parsedUrl)){allowed=!1;break}return allowed}(maybeTrusted))return maybeTrusted;throw $sceMinErr("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}",maybeTrusted.toString())}if(type===SCE_CONTEXTS.HTML)return htmlSanitizer(maybeTrusted);throw $sceMinErr("unsafe","Attempting to use an unsafe value in a safe context.")}
1,valueOf:function(maybeTrusted){return maybeTrusted instanceof trustedValueHolderBase?maybeTrusted.$$unwrapTrustedValue():maybeTrusted}}}]}function $SceProvider(){var enabled=!0;this.enabled=function(value){return arguments.length&&(enabled=!!value),enabled},this.$get=["$parse","$sceDelegate",function($parse,$sceDelegate){if(enabled&&msie<8)throw $sceMinErr("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode. You can fix this by adding the text <!doctype html> to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.");var sce=shallowCopy(SCE_CONTEXTS);sce.isEnabled=function(){return enabled},sce.trustAs=$sceDelegate.trustAs,sce.getTrusted=$sceDelegate.getTrusted,sce.valueOf=$sceDelegate.valueOf,enabled||(sce.trustAs=sce.getTrusted=function(type,value){return value},sce.valueOf=identity),sce.parseAs=function(type,expr){var parsed=$parse(expr);return parsed.literal&&parsed.constant?parsed:$parse(expr,function(value){return sce.getTrusted(type,value)})};var parse=sce.parseAs,getTrusted=sce.getTrusted,trustAs=sce.trustAs;return forEach(SCE_CONTEXTS,function(enumValue,name){var lName=lowercase(name);sce[snakeToCamel("parse_as_"+lName)]=function(expr){return parse(enumValue,expr)},sce[snakeToCamel("get_trusted_"+lName)]=function(value){return getTrusted(enumValue,value)},sce[snakeToCamel("trust_as_"+lName)]=function(value){return trustAs(enumValue,value)}}),sce}]}function $SnifferProvider(){this.$get=["$window","$document",function($window,$document){var eventSupport={},hasHistoryPushState=!(!($window.nw&&$window.nw.process)&&$window.chrome&&($window.chrome.app&&$window.chrome.app.runtime||!$window.chrome.app&&$window.chrome.runtime&&$window.chrome.runtime.id))&&$window.history&&$window.history.pushState,android=toInt((/android (\d+)/.exec(lowercase(($window.navigator||{}).userAgent))||[])[1]),boxee=/Boxee/i.test(($window.navigator||{}).userAgent),document=$document[0]||{},bodyStyle=document.body&&document.body.style,transitions=!1,animations=!1;return bodyStyle&&(transitions=!!("transition"in bodyStyle||"webkitTransition"in bodyStyle),animations=!!("animation"in bodyStyle||"webkitAnimation"in bodyStyle)),{history:!(!hasHistoryPushState||android<4||boxee),hasEvent:function(event){if("input"===event&&msie)return!1;if(isUndefined(eventSupport[event])){var divElm=document.createElement("div");eventSupport[event]="on"+event in divElm}return eventSupport[event]},csp:csp(),transitions:transitions,animations:animations,android:android}}]}function $$TaskTrackerFactoryProvider(){this.$get=valueFn(function(log){return new TaskTracker(log)})}function TaskTracker(log){var taskCounts={},taskCallbacks=[],ALL_TASKS_TYPE=this.ALL_TASKS_TYPE="$$all$$",DEFAULT_TASK_TYPE=this.DEFAULT_TASK_TYPE="$$default$$";function getLastCallback(){var cbInfo=taskCallbacks.pop();return cbInfo&&cbInfo.cb}function getLastCallbackForType(taskType){for(var i=taskCallbacks.length-1;0<=i;--i){var cbInfo=taskCallbacks[i];if(cbInfo.type===taskType)return taskCallbacks.splice(i,1),cbInfo.cb}}this.completeTask=function(fn,taskType){taskType=taskType||DEFAULT_TASK_TYPE;try{fn()}finally{!function(taskType){taskCounts[taskType=taskType||DEFAULT_TASK_TYPE]&&(taskCounts[taskType]--,taskCounts[ALL_TASKS_TYPE]--)}(taskType);var countForType=taskCounts[taskType],countForAll=taskCounts[ALL_TASKS_TYPE];if(!countForAll||!countForType)for(var nextCb,getNextCallback=countForAll?getLastCallbackForType:getLastCallback;nextCb=getNextCallback(taskType);)try{nextCb()}catch(e){log.error(e)}}},this.incTaskCount=function(taskType){taskCounts[taskType=taskType||DEFAULT_TASK_TYPE]=(taskCounts[taskType]||0)+1,taskCounts[ALL_TASKS_TYPE]=(taskCounts[ALL_TASKS_TYPE]||0)+1},this.notifyWhenNoPendingTasks=function(callback,taskType){taskCounts[taskType=taskType||ALL_TASKS_TYPE]?taskCallbacks.push({type:taskType,cb:callback}):callback()}}var $templateRequestMinErr=minErr("$templateRequest");function $TemplateRequestProvider(){var httpOptions;this.httpOptions=function(val){return val?(httpOptions=val,this):httpOptions},this.$get=["$exceptionHandler","$templateCache","$http","$q","$sce",function($exceptionHandler,$templateCache,$http,$q,$sce){function handleRequestFn(tpl,ignoreRequestError){handleRequestFn.totalPendingRequests++,isString(tpl)&&!isUndefined($templateCache.get(tpl))||(tpl=$sce.getTrustedResourceUrl(tpl));var transformResponse=$http.defaults&&$http.defaults.transformResponse;return isArray(transformResponse)?transformResponse=transformResponse.filter(function(transformer){return transformer!==defaultHttpResponseTransform}):transformResponse===defaultHttpResponseTransform&&(transformResponse=null),$http.get(tpl,extend({cache:$templateCache,transformResponse:transformResponse},httpOptions)).finally(function(){handleRequestFn.totalPendingRequests--}).then(function(response){return $templateCache.put(tpl,response.data)},function(resp){ignoreRequestError||(resp=$templateRequestMinErr("tpload","Failed to load template: {0} (HTTP status: {1} {2})",tpl,resp.status,resp.statusText),$exceptionHandler(resp));return $q.reject(resp)})}return handleRequestFn.totalPendingRequests=0,handleRequestFn}]}
1function $$TestabilityProvider(){this.$get=["$rootScope","$browser","$location",function($rootScope,$browser,$location){var testability={findBindings:function(element,expression,opt_exactMatch){var bindings=element.getElementsByClassName("ng-binding"),matches=[];return forEach(bindings,function(binding){var dataBinding=angular.element(binding).data("$binding");dataBinding&&forEach(dataBinding,function(bindingName){opt_exactMatch?new RegExp("(^|\\s)"+escapeForRegexp(expression)+"(\\s|\\||$)").test(bindingName)&&matches.push(binding):-1!==bindingName.indexOf(expression)&&matches.push(binding)})}),matches},findModels:function(element,expression,opt_exactMatch){for(var prefixes=["ng-","data-ng-","ng\\:"],p=0;p<prefixes.length;++p){var selector="["+prefixes[p]+"model"+(opt_exactMatch?"=":"*=")+'"'+expression+'"]',elements=element.querySelectorAll(selector);if(elements.length)return elements}},getLocation:function(){return $location.url()},setLocation:function(url){url!==$location.url()&&($location.url(url),$rootScope.$digest())},whenStable:function(callback){$browser.notifyWhenNoOutstandingRequests(callback)}};return testability}]}var $timeoutMinErr=minErr("$timeout");function $TimeoutProvider(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function($rootScope,$browser,$q,$$q,$exceptionHandler){var deferreds={};function timeout(fn,delay,invokeApply){isFunction(fn)||(invokeApply=delay,delay=fn,fn=noop);var timeoutId,args=sliceArgs(arguments,3),skipApply=isDefined(invokeApply)&&!invokeApply,deferred=(skipApply?$$q:$q).defer(),promise=deferred.promise;return timeoutId=$browser.defer(function(){try{deferred.resolve(fn.apply(null,args))}catch(e){deferred.reject(e),$exceptionHandler(e)}finally{delete deferreds[promise.$$timeoutId]}skipApply||$rootScope.$apply()},delay,"$timeout"),promise.$$timeoutId=timeoutId,deferreds[timeoutId]=deferred,promise}return timeout.cancel=function(promise){if(!promise)return!1;if(!promise.hasOwnProperty("$$timeoutId"))throw $timeoutMinErr("badprom","`$timeout.cancel()` called with a promise that was not generated by `$timeout()`.");if(!deferreds.hasOwnProperty(promise.$$timeoutId))return!1;var id=promise.$$timeoutId,deferred=deferreds[id];return markQExceptionHandled(deferred.promise),deferred.reject("canceled"),delete deferreds[id],$browser.defer.cancel(id)},timeout}]}var baseUrlParsingNode,urlParsingNode=window.document.createElement("a"),originUrl=urlResolve(window.location.href);function urlResolve(url){if(!isString(url))return url;var href=url;return msie&&(urlParsingNode.setAttribute("href",href),href=urlParsingNode.href),urlParsingNode.setAttribute("href",href),{href:urlParsingNode.href,protocol:urlParsingNode.protocol?urlParsingNode.protocol.replace(/:$/,""):"",host:urlParsingNode.host,search:urlParsingNode.search?urlParsingNode.search.replace(/^\?/,""):"",hash:urlParsingNode.hash?urlParsingNode.hash.replace(/^#/,""):"",hostname:urlParsingNode.hostname,port:urlParsingNode.port,pathname:"/"===urlParsingNode.pathname.charAt(0)?urlParsingNode.pathname:"/"+urlParsingNode.pathname}}function urlsAreSameOrigin(url1,url2){return url1=urlResolve(url1),url2=urlResolve(url2),url1.protocol===url2.protocol&&url1.host===url2.host}function $WindowProvider(){this.$get=valueFn(window)}function $$CookieReader($document){var rawDocument=$document[0]||{},lastCookies={},lastCookieString="";function safeDecodeURIComponent(str){try{return decodeURIComponent(str)}catch(e){return str}}return function(){var cookieArray,cookie,i,index,name,currentCookieString=function(rawDocument){try{return rawDocument.cookie||""}catch(e){return""}}(rawDocument);if(currentCookieString!==lastCookieString)for(cookieArray=(lastCookieString=currentCookieString).split("; "),lastCookies={},i=0;i<cookieArray.length;i++)0<(index=(cookie=cookieArray[i]).indexOf("="))&&(name=safeDecodeURIComponent(cookie.substring(0,index)),isUndefined(lastCookies[name])&&(lastCookies[name]=safeDecodeURIComponent(cookie.substring(index+1))));return lastCookies}}function $$CookieReaderProvider(){this.$get=$$CookieReader}function $FilterProvider($provide){var suffix="Filter";function register(name,factory){if(isObject(name)){var filters={};return forEach(name,function(filter,key){filters[key]=register(key,filter)}),filters}return $provide.factory(name+suffix,factory)}this.register=register,this.$get=["$injector",function($injector){return function(name){return $injector.get(name+suffix)}}],register("currency",currencyFilter),register("date",dateFilter),register("filter",filterFilter),register("json",jsonFilter),register("limitTo",limitToFilter),register("lowercase",lowercaseFilter),register("number",numberFilter),register("orderBy",orderByFilter),register("uppercase",uppercaseFilter)}function filterFilter(){return function(array,expression,comparator,anyPropertyKey){if(!isArrayLike(array)){if(null==array)return array;throw minErr("filter")("notarray","Expected array but received: {0}",array)}var predicateFn,matchAgainstAnyProp;switch(anyPropertyKey=anyPropertyKey||"$",getTypeForFilter(expression)){case"function":predicateFn=expression;break;case"boolean":case"null":case"number":case"string":matchAgainstAnyProp=!0;case"object":predicateFn=function(expression,comparator,anyPropertyKey,matchAgainstAnyProp){var shouldMatchPrimitives=isObject(expression)&&anyPropertyKey in expression;!0===comparator?comparator=equals:isFunction(comparator)||(comparator=function(actual,expected){return!isUndefined(actual)&&(null===actual||null===expected?actual===expected:!(isObject(expected)||isObject(actual)&&!hasCustomToString(actual))&&(actual=lowercase(""+actual),expected=lowercase(""+expected),-1!==actual.indexOf(expected)))});return function(item){return shouldMatchPrimitives&&!isObject(item)?deepCompare(item,expression[anyPropertyKey],comparator,anyPropertyKey,!1):deepCompare(item,expression,comparator,anyPropertyKey,matchAgainstAnyProp)}}(expression,comparator,anyPropertyKey,matchAgainstAnyProp);break;default:return array}return Array.prototype.filter.call(array,predicateFn)}}function deepCompare(actual,expected,comparator,anyPropertyKey,matchAgainstAnyProp,dontMatchWholeObject){var actualType=getTypeForFilter(actual),expectedType=getTypeForFilter(expected);if("string"===expectedType&&"!"===expected.charAt(0))return!deepCompare(actual,expected.substring(1),comparator,anyPropertyKey,matchAgainstAnyProp);if(isArray(actual))return actual.some(function(item){return deepCompare(item,expected,comparator,anyPropertyKey,matchAgainstAnyProp)});switch(actualType){case"object":var key;if(matchAgainstAnyProp){for(key in actual)if(key.charAt&&"$"!==key.charAt(0)&&deepCompare(actual[key],expected,comparator,anyPropertyKey,!0))return!0;return!dontMatchWholeObject&&deepCompare(actual,expected,comparator,anyPropertyKey,!1)}if("object"!==expectedType)return comparator(actual,expected);for(key in expected){var expectedVal=expected[key];if(!isFunction(expectedVal)&&!isUndefined(expectedVal)){var matchAnyProperty=key===anyPropertyKey;if(!deepCompare(matchAnyProperty?actual:actual[key],expectedVal,comparator,anyPropertyKey,matchAnyProperty,matchAnyProperty))return!1}}return!0;case"function":return!1;default:return comparator(actual,expected)}}function getTypeForFilter(val){return null===val?"null":typeof val}$$CookieReader.$inject=["$document"],$FilterProvider.$inject=["$provide"];var MAX_DIGITS=22,DECIMAL_SEP=".",ZERO_CHAR="0";function currencyFilter($locale){var formats=$locale.NUMBER_FORMATS;return function(amount,currencySymbol,fractionSize){isUndefined(currencySymbol)&&(currencySymbol=formats.CURRENCY_SYM),isUndefined(fractionSize)&&(fractionSize=formats.PATTERNS[1].maxFrac);var currencySymbolRe=currencySymbol?/\u00A4/g:/\s*\u00A4\s*/g;return null==amount?amount:formatNumber(amount,formats.PATTERNS[1],formats.GROUP_SEP,formats.DECIMAL_SEP,fractionSize).replace(currencySymbolRe,currencySymbol)}}function numberFilter($locale){var formats=$locale.NUMBER_FORMATS;return function(number,fractionSize){return null==number?number:formatNumber(number,formats.PATTERNS[0],formats.GROUP_SEP,formats.DECIMAL_SEP,fractionSize)}}function formatNumber(number,pattern,groupSep,decimalSep,fractionSize){if(!isString(number)&&!isNumber(number)||isNaN(number))return"";var parsedNumber,isInfinity=!isFinite(number),isZero=!1,numStr=Math.abs(number)+"",formattedText="";if(isInfinity)formattedText="â";else{(function(parsedNumber,fractionSize,minFrac,maxFrac){var digits=parsedNumber.d,fractionLen=digits.length-parsedNumber.i,roun
1dAt=(fractionSize=isUndefined(fractionSize)?Math.min(Math.max(minFrac,fractionLen),maxFrac):+fractionSize)+parsedNumber.i,digit=digits[roundAt];if(0<roundAt){digits.splice(Math.max(parsedNumber.i,roundAt));for(var j=roundAt;j<digits.length;j++)digits[j]=0}else{fractionLen=Math.max(0,fractionLen),parsedNumber.i=1,digits.length=Math.max(1,roundAt=fractionSize+1),digits[0]=0;for(var i=1;i<roundAt;i++)digits[i]=0}if(5<=digit)if(roundAt-1<0){for(var k=0;roundAt<k;k--)digits.unshift(0),parsedNumber.i++;digits.unshift(1),parsedNumber.i++}else digits[roundAt-1]++;for(;fractionLen<Math.max(0,fractionSize);fractionLen++)digits.push(0);var carry=digits.reduceRight(function(carry,d,i,digits){return d+=carry,digits[i]=d%10,Math.floor(d/10)},0);carry&&(digits.unshift(carry),parsedNumber.i++)})(parsedNumber=function(numStr){var digits,numberOfIntegerDigits,i,j,zeros,exponent=0;for(-1<(numberOfIntegerDigits=numStr.indexOf(DECIMAL_SEP))&&(numStr=numStr.replace(DECIMAL_SEP,"")),0<(i=numStr.search(/e/i))?(numberOfIntegerDigits<0&&(numberOfIntegerDigits=i),numberOfIntegerDigits+=+numStr.slice(i+1),numStr=numStr.substring(0,i)):numberOfIntegerDigits<0&&(numberOfIntegerDigits=numStr.length),i=0;numStr.charAt(i)===ZERO_CHAR;i++);if(i===(zeros=numStr.length))digits=[0],numberOfIntegerDigits=1;else{for(zeros--;numStr.charAt(zeros)===ZERO_CHAR;)zeros--;for(numberOfIntegerDigits-=i,digits=[],j=0;i<=zeros;i++,j++)digits[j]=+numStr.charAt(i)}return MAX_DIGITS<numberOfIntegerDigits&&(digits=digits.splice(0,MAX_DIGITS-1),exponent=numberOfIntegerDigits-1,numberOfIntegerDigits=1),{d:digits,e:exponent,i:numberOfIntegerDigits}}(numStr),fractionSize,pattern.minFrac,pattern.maxFrac);var digits=parsedNumber.d,integerLen=parsedNumber.i,exponent=parsedNumber.e,decimals=[];for(isZero=digits.reduce(function(isZero,d){return isZero&&!d},!0);integerLen<0;)digits.unshift(0),integerLen++;0<integerLen?decimals=digits.splice(integerLen,digits.length):(decimals=digits,digits=[0]);var groups=[];for(digits.length>=pattern.lgSize&&groups.unshift(digits.splice(-pattern.lgSize,digits.length).join(""));digits.length>pattern.gSize;)groups.unshift(digits.splice(-pattern.gSize,digits.length).join(""));digits.length&&groups.unshift(digits.join("")),formattedText=groups.join(groupSep),decimals.length&&(formattedText+=decimalSep+decimals.join("")),exponent&&(formattedText+="e+"+exponent)}return number<0&&!isZero?pattern.negPre+formattedText+pattern.negSuf:pattern.posPre+formattedText+pattern.posSuf}function padNumber(num,digits,trim,negWrap){var neg="";for((num<0||negWrap&&num<=0)&&(negWrap?num=1-num:(num=-num,neg="-")),num=""+num;num.length<digits;)num=ZERO_CHAR+num;return trim&&(num=num.substr(num.length-digits)),neg+num}function dateGetter(name,size,offset,trim,negWrap){return offset=offset||0,function(date){var value=date["get"+name]();return(0<offset||-offset<value)&&(value+=offset),0===value&&-12===offset&&(value=12),padNumber(value,size,trim,negWrap)}}function dateStrGetter(name,shortForm,standAlone){return function(date,formats){var value=date["get"+name]();return formats[uppercase((standAlone?"STANDALONE":"")+(shortForm?"SHORT":"")+name)][value]}}function getFirstThursdayOfYear(year){var dayOfWeekOnFirst=new Date(year,0,1).getDay();return new Date(year,0,(dayOfWeekOnFirst<=4?5:12)-dayOfWeekOnFirst)}function weekGetter(size){return function(date){var datetime,firstThurs=getFirstThursdayOfYear(date.getFullYear()),diff=+(datetime=date,new Date(datetime.getFullYear(),datetime.getMonth(),datetime.getDate()+(4-datetime.getDay())))-+firstThurs;return padNumber(1+Math.round(diff/6048e5),size)}}function eraGetter(date,formats){return date.getFullYear()<=0?formats.ERAS[0]:formats.ERAS[1]}currencyFilter.$inject=["$locale"];var DATE_FORMATS={yyyy:dateGetter("FullYear",4,0,!(numberFilter.$inject=["$locale"]),!0),yy:dateGetter("FullYear",2,0,!0,!0),y:dateGetter("FullYear",1,0,!1,!0),MMMM:dateStrGetter("Month"),MMM:dateStrGetter("Month",!0),MM:dateGetter("Month",2,1),M:dateGetter("Month",1,1),LLLL:dateStrGetter("Month",!1,!0),dd:dateGetter("Date",2),d:dateGetter("Date",1),HH:dateGetter("Hours",2),H:dateGetter("Hours",1),hh:dateGetter("Hours",2,-12),h:dateGetter("Hours",1,-12),mm:dateGetter("Minutes",2),m:dateGetter("Minutes",1),ss:dateGetter("Seconds",2),s:dateGetter("Seconds",1),sss:dateGetter("Milliseconds",3),EEEE:dateStrGetter("Day"),EEE:dateStrGetter("Day",!0),a:function(date,formats){return date.getHours()<12?formats.AMPMS[0]:formats.AMPMS[1]},Z:function(date,formats,offset){var zone=-1*offset,paddedZone=0<=zone?"+":"";return paddedZone+=padNumber(Math[0<zone?"floor":"ceil"](zone/60),2)+padNumber(Math.abs(zone%60),2)},ww:weekGetter(2),w:weekGetter(1),G:eraGetter,GG:eraGetter,GGG:eraGetter,GGGG:function(date,formats){return date.getFullYear()<=0?formats.ERANAMES[0]:formats.ERANAMES[1]}}
1,DATE_FORMATS_SPLIT=/((?:[^yMLdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|m+|s+|a|Z|G+|w+))([\s\S]*)/,NUMBER_STRING=/^-?\d+$/;function dateFilter($locale){var R_ISO8601_STR=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(date,format,timezone){var fn,match,text="",parts=[];if(format=format||"mediumDate",format=$locale.DATETIME_FORMATS[format]||format,isString(date)&&(date=NUMBER_STRING.test(date)?toInt(date):function(string){var match;if(match=string.match(R_ISO8601_STR)){var date=new Date(0),tzHour=0,tzMin=0,dateSetter=match[8]?date.setUTCFullYear:date.setFullYear,timeSetter=match[8]?date.setUTCHours:date.setHours;match[9]&&(tzHour=toInt(match[9]+match[10]),tzMin=toInt(match[9]+match[11])),dateSetter.call(date,toInt(match[1]),toInt(match[2])-1,toInt(match[3]));var h=toInt(match[4]||0)-tzHour,m=toInt(match[5]||0)-tzMin,s=toInt(match[6]||0),ms=Math.round(1e3*parseFloat("0."+(match[7]||0)));return timeSetter.call(date,h,m,s,ms),date}return string}(date)),isNumber(date)&&(date=new Date(date)),!isDate(date)||!isFinite(date.getTime()))return date;for(;format;)format=(match=DATE_FORMATS_SPLIT.exec(format))?(parts=concat(parts,match,1)).pop():(parts.push(format),null);var dateTimezoneOffset=date.getTimezoneOffset();return timezone&&(dateTimezoneOffset=timezoneToOffset(timezone,dateTimezoneOffset),date=convertTimezoneToLocal(date,timezone,!0)),forEach(parts,function(value){fn=DATE_FORMATS[value],text+=fn?fn(date,$locale.DATETIME_FORMATS,dateTimezoneOffset):"''"===value?"'":value.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),text}}function jsonFilter(){return function(object,spacing){return isUndefined(spacing)&&(spacing=2),toJson(object,spacing)}}dateFilter.$inject=["$locale"];var lowercaseFilter=valueFn(lowercase),uppercaseFilter=valueFn(uppercase);function limitToFilter(){return function(input,limit,begin){return limit=Math.abs(Number(limit))===1/0?Number(limit):toInt(limit),isNumberNaN(limit)?input:(isNumber(input)&&(input=input.toString()),isArrayLike(input)?(begin=(begin=!begin||isNaN(begin)?0:toInt(begin))<0?Math.max(0,input.length+begin):begin,0<=limit?sliceFn(input,begin,begin+limit):0===begin?sliceFn(input,limit,input.length):sliceFn(input,Math.max(0,begin+limit),begin)):input)}}function sliceFn(input,begin,end){return isString(input)?input.slice(begin,end):slice.call(input,begin,end)}function orderByFilter($parse){return function(array,sortPredicate,reverseOrder,compareFn){if(null==array)return array;if(!isArrayLike(array))throw minErr("orderBy")("notarray","Expected array but received: {0}",array);isArray(sortPredicate)||(sortPredicate=[sortPredicate]),0===sortPredicate.length&&(sortPredicate=["+"]);var predicates=sortPredicate.map(function(predicate){var descending=1,get=identity;if(isFunction(predicate))get=predicate;else if(isString(predicate)&&("+"!==predicate.charAt(0)&&"-"!==predicate.charAt(0)||(descending="-"===predicate.charAt(0)?-1:1,predicate=predicate.substring(1)),""!==predicate&&(get=$parse(predicate)).constant)){var key=get();get=function(value){return value[key]}}return{get:get,descending:descending}}),descending=reverseOrder?-1:1,compare=isFunction(compareFn)?compareFn:defaultCompare,compareValues=Array.prototype.map.call(array,function(value,index){return{value:value,tieBreaker:{value:index,type:"number",index:index},predicateValues:predicates.map(function(predicate){return function(value,index){var type=typeof value;null===value?type="null":"object"===type&&(value=function(value){if(isFunction(value.valueOf)&&isPrimitive(value=value.valueOf()))return value;if(hasCustomToString(value)&&isPrimitive(value=value.toString()))return value;return value}(value));return{value:value,type:type,index:index}}(predicate.get(value),index)})}});return compareValues.sort(function(v1,v2){for(var i=0,ii=predicates.length;i<ii;i++){var result=compare(v1.predicateValues[i],v2.predicateValues[i]);if(result)return result*predicates[i].descending*descending}return(compare(v1.tieBreaker,v2.tieBreaker)||defaultCompare(v1.tieBreaker,v2.tieBreaker))*descending}),array=compareValues.map(function(item){return item.value})};function isPrimitive(value){switch(typeof value){case"number":case"boolean":case"string":return!0;default:return!1}}function defaultCompare(v1,v2){var result=0,type1=v1.type,type2=v2.type;if(type1===type2){var value1=v1.value,value2=v2.value;"string"===type1?(value1=value1.toLowerCase(),value2=value2.toLowerCase()):"object"===type1&&(isObject(value1)&&(value1=v1.index),isObject(value2)&&(value2=v2.index)),value1!==value2&&(result=value1<value2?-1:1)}else result="undefined"===type1?1:"undefined"===type2?-1:"null"===type1?1:"null"===type2?-1:type1<type2?-1:1;return result}}function ngDirective(directive){return isFunction(directive)&&(directive={link:directive}),directive.restrict=directive.restrict||"AC",valueFn(directive)}orderByFilter.$inject=["$parse"];var htmlAnchorDirective=valueFn({restrict:"E",compile:function(element,attr){if(!attr.href&&!attr.xlinkHref)return function(scope,element){if("a"===element[0].nodeName.toLowerCase()){var href="[object SVGAnimatedString]"===toString.call(element.prop("href"))?"xlink:href":"href";element.on("click",function(event){element.attr(href)||event.preventDefault()})}}}}),ngAttributeAliasDirectives={};forEach(BOOLEAN_ATTR,function(propName,attrName){if("multiple"!==propName){var normalized=directiveNormalize("ng-"+attrName),linkFn=defaultLinkFn;"checked"===propName&&(linkFn=function(scope,element,attr){attr.ngModel!==attr[normalized]&&defaultLinkFn(scope,0,attr)}),ngAttributeAliasDirectives[normalized]=function(){return{restrict:"A",priority:100,link:linkFn}}}function defaultLinkFn(scope,element,attr){scope.$watch(attr[normalized],function(value){attr.$set(attrName,!!value)})}}
1),forEach(ALIASED_ATTR,function(htmlAttr,ngAttr){ngAttributeAliasDirectives[ngAttr]=function(){return{priority:100,link:function(scope,element,attr){if("ngPattern"===ngAttr&&"/"===attr.ngPattern.charAt(0)){var match=attr.ngPattern.match(REGEX_STRING_REGEXP);if(match)return void attr.$set("ngPattern",new RegExp(match[1],match[2]))}scope.$watch(attr[ngAttr],function(value){attr.$set(ngAttr,value)})}}}}),forEach(["src","srcset","href"],function(attrName){var normalized=directiveNormalize("ng-"+attrName);ngAttributeAliasDirectives[normalized]=function(){return{priority:99,link:function(scope,element,attr){var propName=attrName,name=attrName;"href"===attrName&&"[object SVGAnimatedString]"===toString.call(element.prop("href"))&&(name="xlinkHref",attr.$attr[name]="xlink:href",propName=null),attr.$observe(normalized,function(value){value?(attr.$set(name,value),msie&&propName&&element.prop(propName,attr[name])):"href"===attrName&&attr.$set(name,null)})}}}});var nullFormCtrl={$addControl:noop,$getControls:valueFn([]),$$renameControl:function(control,name){control.$name=name},$removeControl:noop,$setValidity:noop,$setDirty:noop,$setPristine:noop,$setSubmitted:noop,$$setSubmitted:noop};function FormController($element,$attrs,$scope,$animate,$interpolate){this.$$controls=[],this.$error={},this.$$success={},this.$pending=void 0,this.$name=$interpolate($attrs.name||$attrs.ngForm||"")($scope),this.$dirty=!1,this.$pristine=!0,this.$valid=!0,this.$invalid=!1,this.$submitted=!1,this.$$parentForm=nullFormCtrl,this.$$element=$element,this.$$animate=$animate,setupValidity(this)}FormController.$inject=["$element","$attrs","$scope","$animate","$interpolate"],FormController.prototype={$rollbackViewValue:function(){forEach(this.$$controls,function(control){control.$rollbackViewValue()})},$commitViewValue:function(){forEach(this.$$controls,function(control){control.$commitViewValue()})},$addControl:function(control){assertNotHasOwnProperty(control.$name,"input"),this.$$controls.push(control),control.$name&&(this[control.$name]=control),control.$$parentForm=this},$getControls:function(){return shallowCopy(this.$$controls)},$$renameControl:function(control,newName){var oldName=control.$name;this[oldName]===control&&delete this[oldName],(this[newName]=control).$name=newName},$removeControl:function(control){control.$name&&this[control.$name]===control&&delete this[control.$name],forEach(this.$pending,function(value,name){this.$setValidity(name,null,control)},this),forEach(this.$error,function(value,name){this.$setValidity(name,null,control)},this),forEach(this.$$success,function(value,name){this.$setValidity(name,null,control)},this),arrayRemove(this.$$controls,control),control.$$parentForm=nullFormCtrl},$setDirty:function(){this.$$animate.removeClass(this.$$element,PRISTINE_CLASS),this.$$animate.addClass(this.$$element,DIRTY_CLASS),this.$dirty=!0,this.$pristine=!1,this.$$parentForm.$setDirty()},$setPristine:function(){this.$$animate.setClass(this.$$element,PRISTINE_CLASS,DIRTY_CLASS+" ng-submitted"),this.$dirty=!1,this.$pristine=!0,this.$submitted=!1,forEach(this.$$controls,function(control){control.$setPristine()})},$setUntouched:function(){forEach(this.$$controls,function(control){control.$setUntouched()})},$setSubmitted:function(){for(var rootForm=this;rootForm.$$parentForm&&rootForm.$$parentForm!==nullFormCtrl;)rootForm=rootForm.$$parentForm;rootForm.$$setSubmitted()},$$setSubmitted:function(){this.$$animate.addClass(this.$$element,"ng-submitted"),this.$submitted=!0,forEach(this.$$controls,function(control){control.$$setSubmitted&&control.$$setSubmitted()})}},addSetValidityMethod({clazz:FormController,set:function(object,property,controller){var list=object[property];list?-1===list.indexOf(controller)&&list.push(controller):object[property]=[controller]},unset:function(object,property,controller){var list=object[property];list&&(arrayRemove(list,controller),0===list.length&&delete object[property])}});var formDirectiveFactory=function(isNgForm){return["$timeout","$parse",function($timeout,$parse){return{name:"form",restrict:isNgForm?"EAC":"E",require:["form","^^?form"],controller:FormController,compile:function(formElement,attr){formElement.addClass(PRISTINE_CLASS).addClass(VALID_CLASS);var nameAttr=attr.name?"name":!(!isNgForm||!attr.ngForm)&&"ngForm";return{pre:function(scope,formElement,attr,ctrls){var controller=ctrls[0];if(!("action"in attr)){var handleFormSubmission=function(event){scope.$apply(function(){controller.$commitViewValue(),controller.$setSubmitted()}),event.preventDefault()};formElement[0].addEventListener("submit",handleFormSubmission),formElement.on("$destroy",function(){$timeout(function(){formElement[0].removeEventListener("submit",handleFormSubmission)},0,!1)})}(ctrls[1]||controller.$$parentForm).$addControl(controller);var setter=nameAttr?getSetter(controller.$name):noop;nameAttr&&(setter(scope,controller),attr.$observe(nameAttr,function(newValue){controller.$name!==newValue&&(setter(scope,void 0),controller.$$parentForm.$$renameControl(controller,newValue),(setter=getSetter(controller.$name))(scope,controller))})),formElement.on("$destroy",function(){controller.$$parentForm.$removeControl(controller),setter(scope,void 0),extend(controller,nullFormCtrl)})}}}};function getSetter(expression){return""===expression?$parse('this[""]').assign:$parse(expression).assign||noop}}]},formDirective=formDirectiveFactory(),ngFormDirective=formDirectiveFactory(!0);function setupValidity(instance){instance.$$classCache={},instance.$$classCache[INVALID_CLASS]=!(instance.$$classCache[VALID_CLASS]=instance.$$element.hasClass(VALID_CLASS))}function addSetValidityMethod(context){var clazz=context.clazz,set=context.set,unset=context.unset;function cachedToggleClass(ctrl,className,switchValue){switchValue&&!ctrl.$$classCache[className]?(ctrl.$$animate.addClass(ctrl.$$element,className),ctrl.$$classCache[className]=!0):!switchValue&&ctrl.$$classCache[className]&&(ctrl.$$animate.removeClass(ctrl.$$element,className),ctrl.$$classCache[className]=!1)}function toggleValidationCss(ctrl,validationErrorKey,isValid){validationErrorKey=vali
1dationErrorKey?"-"+snake_case(validationErrorKey,"-"):"",cachedToggleClass(ctrl,VALID_CLASS+validationErrorKey,!0===isValid),cachedToggleClass(ctrl,INVALID_CLASS+validationErrorKey,!1===isValid)}clazz.prototype.$setValidity=function(validationErrorKey,state,controller){var combinedState;isUndefined(state)?function(ctrl,name,value,controller){ctrl[name]||(ctrl[name]={});set(ctrl[name],value,controller)}(this,"$pending",validationErrorKey,controller):function(ctrl,name,value,controller){ctrl[name]&&unset(ctrl[name],value,controller);isObjectEmpty(ctrl[name])&&(ctrl[name]=void 0)}(this,"$pending",validationErrorKey,controller),isBoolean(state)?state?(unset(this.$error,validationErrorKey,controller),set(this.$$success,validationErrorKey,controller)):(set(this.$error,validationErrorKey,controller),unset(this.$$success,validationErrorKey,controller)):(unset(this.$error,validationErrorKey,controller),unset(this.$$success,validationErrorKey,controller)),this.$pending?(cachedToggleClass(this,"ng-pending",!0),this.$valid=this.$invalid=void 0,toggleValidationCss(this,"",null)):(cachedToggleClass(this,"ng-pending",!1),this.$valid=isObjectEmpty(this.$error),this.$invalid=!this.$valid,toggleValidationCss(this,"",this.$valid)),toggleValidationCss(this,validationErrorKey,combinedState=this.$pending&&this.$pending[validationErrorKey]?void 0:!this.$error[validationErrorKey]&&(!!this.$$success[validationErrorKey]||null)),this.$$parentForm.$setValidity(validationErrorKey,combinedState,this)}}
1function isObjectEmpty(obj){if(obj)for(var prop in obj)if(obj.hasOwnProperty(prop))return!1;return!0}var ISO_DATE_REGEXP=/^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/,URL_REGEXP=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:/?#]+|\[[a-f\d:]+])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,EMAIL_REGEXP=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,NUMBER_REGEXP=/^\s*(-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,DATE_REGEXP=/^(\d{4,})-(\d{2})-(\d{2})$/,DATETIMELOCAL_REGEXP=/^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,WEEK_REGEXP=/^(\d{4,})-W(\d\d)$/,MONTH_REGEXP=/^(\d{4,})-(\d\d)$/,TIME_REGEXP=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,PARTIAL_VALIDATION_EVENTS="keydown wheel mousedown",PARTIAL_VALIDATION_TYPES=createMap();forEach("date,datetime-local,month,time,week".split(","),function(type){PARTIAL_VALIDATION_TYPES[type]=!0});var inputType={text:function(scope,element,attr,ctrl,$sniffer,$browser){baseInputType(scope,element,attr,ctrl,$sniffer,$browser),stringBasedInputType(ctrl)},date:createDateInputType("date",DATE_REGEXP,createDateParser(DATE_REGEXP,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":createDateInputType("datetimelocal",DATETIMELOCAL_REGEXP,createDateParser(DATETIMELOCAL_REGEXP,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:createDateInputType("time",TIME_REGEXP,createDateParser(TIME_REGEXP,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:createDateInputType("week",WEEK_REGEXP,function(isoWeek,existingDate){if(isDate(isoWeek))return isoWeek;if(isString(isoWeek)){WEEK_REGEXP.lastIndex=0;var parts=WEEK_REGEXP.exec(isoWeek);if(parts){var year=+parts[1],week=+parts[2],hours=0,minutes=0,seconds=0,milliseconds=0,firstThurs=getFirstThursdayOfYear(year),addDays=7*(week-1);return existingDate&&(hours=existingDate.getHours(),minutes=existingDate.getMinutes(),seconds=existingDate.getSeconds(),milliseconds=existingDate.getMilliseconds()),new Date(year,0,firstThurs.getDate()+addDays,hours,minutes,seconds,milliseconds)}}return NaN},"yyyy-Www"),month:createDateInputType("month",MONTH_REGEXP,createDateParser(MONTH_REGEXP,["yyyy","MM"]),"yyyy-MM"),number:function(scope,element,attr,ctrl,$sniffer,$browser){var minVal,maxVal;badInputChecker(scope,element,attr,ctrl,"number"),numberFormatterParser(ctrl),baseInputType(scope,element,attr,ctrl,$sniffer,$browser),(isDefined(attr.min)||attr.ngMin)&&(ctrl.$validators.min=function(modelValue,viewValue){return ctrl.$isEmpty(viewValue)||isUndefined(minVal)||minVal<=viewValue},attr.$observe("min",function(val){minVal=parseNumberAttrVal(val),ctrl.$validate()}));(isDefined(attr.max)||attr.ngMax)&&(ctrl.$validators.max=function(modelValue,viewValue){return ctrl.$isEmpty(viewValue)||isUndefined(maxVal)||viewValue<=maxVal},attr.$observe("max",function(val){maxVal=parseNumberAttrVal(val),ctrl.$validate()}));if(isDefined(attr.step)||attr.ngStep){var stepVal;ctrl.$validators.step=function(modelValue,viewValue){return ctrl.$isEmpty(viewValue)||isUndefined(stepVal)||isValidForStep(viewValue,minVal||0,stepVal)},attr.$observe("step",function(val){stepVal=parseNumberAttrVal(val),ctrl.$validate()})}},url:function(scope,element,attr,ctrl,$sniffer,$browser){baseInputType(scope,element,attr,ctrl,$sniffer,$browser),stringBasedInputType(ctrl),ctrl.$validators.url=function(modelValue,viewValue){var value=modelValue||viewValue;return ctrl.$isEmpty(value)||URL_REGEXP.test(value)}},email:function(scope,element,attr,ctrl,$sniffer,$browser){baseInputType(scope,element,attr,ctrl,$sniffer,$browser),stringBasedInputType(ctrl),ctrl.$validators.email=function(modelValue,viewValue){var value=modelValue||viewValue;return ctrl.$isEmpty(value)||EMAIL_REGEXP.test(value)}},radio:function(scope,element,attr,ctrl){var doTrim=!attr.ngTrim||"false"!==trim(attr.ngTrim);isUndefined(attr.name)&&element.attr("name",nextUid());element.on("change",function(ev){var value;element[0].checked&&(value=attr.value,doTrim&&(value=trim(value)),ctrl.$setViewValue(value,ev&&ev.type))}),ctrl.$render=function(){var value=attr.value;doTrim&&(value=trim(value)),element[0].checked=value===ctrl.$viewValue},attr.$observe("value",ctrl.$render)},range:function(scope,element,attr,ctrl,$sniffer,$browser){badInputChecker(scope,element,attr,ctrl,"range"),numberFormatterParser(ctrl),baseInputType(scope,element,attr,ctrl,$sniffer,$browser);var supportsRange=ctrl.$$hasNativeValidators&&"range"===element[0].type,minVal=supportsRange?0:void 0,maxVal=supportsRange?100:void 0,stepVal=supportsRange?1:void 0,validity=element[0].validity,hasMinAttr=isDefined(attr.min),hasMaxAttr=isDefined(attr.max),hasStepAttr=isDefined(attr.step),originalRender=ctrl.$render;ctrl.$render=supportsRange&&isDefined(validity.rangeUnderflow)&&isDefined(validity.rangeOverflow)?function(){originalRender(),ctrl.$setViewValue(element.val())}:originalRender,hasMinAttr&&(ctrl.$validators.min=supportsRange?function(){return!0}:function(modelValue,viewValue){return ctrl.$isEmpty(viewValue)||isUndefined(minVal)||minVal<=v
1iewValue},setInitialValueAndObserver("min",function(val){if(minVal=parseNumberAttrVal(val),isNumberNaN(ctrl.$modelValue))return;if(supportsRange){var elVal=element.val();elVal<minVal&&(elVal=minVal,element.val(elVal)),ctrl.$setViewValue(elVal)}else ctrl.$validate()}));hasMaxAttr&&(ctrl.$validators.max=supportsRange?function(){return!0}:function(modelValue,viewValue){return ctrl.$isEmpty(viewValue)||isUndefined(maxVal)||viewValue<=maxVal},setInitialValueAndObserver("max",function(val){if(maxVal=parseNumberAttrVal(val),isNumberNaN(ctrl.$modelValue))return;if(supportsRange){var elVal=element.val();maxVal<elVal&&(element.val(maxVal),elVal=maxVal<minVal?minVal:maxVal),ctrl.$setViewValue(elVal)}else ctrl.$validate()}));hasStepAttr&&(ctrl.$validators.step=supportsRange?function(){return!validity.stepMismatch}:function(modelValue,viewValue){return ctrl.$isEmpty(viewValue)||isUndefined(stepVal)||isValidForStep(viewValue,minVal||0,stepVal)},setInitialValueAndObserver("step",function(val){if(stepVal=parseNumberAttrVal(val),isNumberNaN(ctrl.$modelValue))return;supportsRange&&ctrl.$viewValue!==element.val()?ctrl.$setViewValue(element.val()):ctrl.$validate()}));
1function setInitialValueAndObserver(htmlAttrName,changeFn){element.attr(htmlAttrName,attr[htmlAttrName]),attr.$observe(htmlAttrName,changeFn)}},checkbox:function(scope,element,attr,ctrl,$sniffer,$browser,$filter,$parse){var trueValue=parseConstantExpr($parse,scope,"ngTrueValue",attr.ngTrueValue,!0),falseValue=parseConstantExpr($parse,scope,"ngFalseValue",attr.ngFalseValue,!1);element.on("change",function(ev){ctrl.$setViewValue(element[0].checked,ev&&ev.type)}),ctrl.$render=function(){element[0].checked=ctrl.$viewValue},ctrl.$isEmpty=function(value){return!1===value},ctrl.$formatters.push(function(value){return equals(value,trueValue)}),ctrl.$parsers.push(function(value){return value?trueValue:falseValue})},hidden:noop,button:noop,submit:noop,reset:noop,file:noop};function stringBasedInputType(ctrl){ctrl.$formatters.push(function(value){return ctrl.$isEmpty(value)?value:value.toString()})}function baseInputType(scope,element,attr,ctrl,$sniffer,$browser){var timeout,type=lowercase(element[0].type);if(!$sniffer.android){var composing=!1;element.on("compositionstart",function(){composing=!0}),element.on("compositionupdate",function(ev){(isUndefined(ev.data)||""===ev.data)&&(composing=!1)}),element.on("compositionend",function(){composing=!1,listener()})}var listener=function(ev){if(timeout&&($browser.defer.cancel(timeout),timeout=null),!composing){var value=element.val(),event=ev&&ev.type;"password"===type||attr.ngTrim&&"false"===attr.ngTrim||(value=trim(value)),(ctrl.$viewValue!==value||""===value&&ctrl.$$hasNativeValidators)&&ctrl.$setViewValue(value,event)}};if($sniffer.hasEvent("input"))element.on("input",listener);else{var deferListener=function(ev,input,origValue){timeout||(timeout=$browser.defer(function(){timeout=null,input&&input.value===origValue||listener(ev)}))};element.on("keydown",function(event){var key=event.keyCode;91===key||15<key&&key<19||37<=key&&key<=40||deferListener(event,this,this.value)}),$sniffer.hasEvent("paste")&&element.on("paste cut drop",deferListener)}element.on("change",listener),PARTIAL_VALIDATION_TYPES[type]&&ctrl.$$hasNativeValidators&&type===attr.type&&element.on(PARTIAL_VALIDATION_EVENTS,function(ev){if(!timeout){var validity=this[VALIDITY_STATE_PROPERTY],origBadInput=validity.badInput,origTypeMismatch=validity.typeMismatch;timeout=$browser.defer(function(){timeout=null,validity.badInput===origBadInput&&validity.typeMismatch===origTypeMismatch||listener(ev)})}}),ctrl.$render=function(){var value=ctrl.$isEmpty(ctrl.$viewValue)?"":ctrl.$viewValue;element.val()!==value&&element.val(value)}}function createDateParser(regexp,mapping){return function(iso,previousDate){var parts,map;if(isDate(iso))return iso;if(isString(iso)){if('"'===iso.charAt(0)&&'"'===iso.charAt(iso.length-1)&&(iso=iso.substring(1,iso.length-1)),ISO_DATE_REGEXP.test(iso))return new Date(iso);if(regexp.lastIndex=0,parts=regexp.exec(iso)){parts.shift(),map=previousDate?{yyyy:previousDate.getFullYear(),MM:previousDate.getMonth()+1,dd:previousDate.getDate(),HH:previousDate.getHours(),mm:previousDate.getMinutes(),ss:previousDate.getSeconds(),sss:previousDate.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},forEach(parts,function(part,index){index<mapping.length&&(map[mapping[index]]=+part)});var date=new Date(map.yyyy,map.MM-1,map.dd,map.HH,map.mm,map.ss||0,1e3*map.sss||0);return map.yyyy<100&&date.setFullYear(map.yyyy),date}}return NaN}}function createDateInputType(type,regexp,parseDate,format){return function(scope,element,attr,ctrl,$sniffer,$browser,$filter){badInputChecker(scope,element,attr,ctrl,type),baseInputType(0,element,attr,ctrl,$sniffer,$browser);var previousDate,previousTimezone,minVal,maxVal,isTimeType="time"===type||"datetimelocal"===type;(ctrl.$parsers.push(function(value){return ctrl.$isEmpty(value)?null:regexp.test(value)?parseDateAndConvertTimeZoneToLocal(value,previousDate):void(ctrl.$$parserName=type)}),ctrl.$formatters.push(function(value){if(value&&!isDate(value))throw ngModelMinErr("datefmt","Expected `{0}` to be a date",value);if(isValidDate(value)){previousDate=value;var timezone=ctrl.$options.getOption("timezone");return timezone&&(previousDate=convertTimezoneToLocal(previousDate,previousTimezone=timezone,!0)),function(value,timezone){var targetFormat=format;isTimeType&&isString(ctrl.$options.getOption("timeSecondsFormat"))&&(targetFormat=format.replace("ss.sss",ctrl.$options.getOption("timeSecondsFormat")).replace(/:$/,""));var formatted=$filter("date")(value,targetFormat,timezone);isTimeType&&ctrl.$options.getOption("timeStripZeroSeconds")&&(formatted=formatted.replace(/(?::00)?(?:\.000)?$/,""));return formatted}(value,timezone)}return previousTimezone=previousDate=null,""}),isDefined(attr.min)||attr.ngMin)&&(ctrl.$validators.min=function(value){return!isValidDate(value)||isUndefined(minVal)||parseDate(value)>=minVal},attr.$observe("min",function(val){minVal=parseObservedDateValue(val),ctrl.$validate()}));(isDefined(attr.max)||attr.ngMax)&&(ctrl.$validators.max=function(value){return!isValidDate(value)||isUndefined(maxVal)||parseDate(value)<=maxVal},attr.$observe("max",function(val){maxVal=parseObservedDateValue(val),ctrl.$validate()}));function isValidDate(value){return value&&!(value.getTime&&value.getTime()!=value.getTime())}function parseObservedDateValue(val){return isDefined(val)&&!isDate(val)?parseDateAndConvertTimeZoneToLocal(val)||void 0:val}function parseDateAndConvertTimeZoneToLocal(value,previousDate){var timezone=ctrl.$options.getOption("timezone");previousTimezone&&previousTimezone!==timezone&&(previousDate=addDateMinutes(previousDate,timezoneToOffset(previousTimezone)));var parsedDate=parseDate(value,previousDate);return!isNaN(parsedDate)&&timezone&&(parsedDate=convertTimezoneToLocal(parsedDate,timezone)),parsedDate}}}function badInputChecker(scope,element,attr,ctrl,parserName){var node=element[0];(ctrl.$$hasNativeValidators=isObject(node.validity))&&ctrl.$parsers.push(function(value){var validity=element.prop(VALIDITY_STATE_PROPERTY)||{};if(!validity.badInput&&!validity.typeMismatch)return value;ctrl.$$parserName=parserName})}function numberFormatterParser(ctrl){ctrl.$parsers.push(function(value){return ctrl.$isEmpty(value)?null:NUMBER_REGEXP.test(value)?parseFloat(value):void(ctrl.$$parserName="number")}),ctrl.$formatters.push(function(value){if(!ctrl.$isEmpty(value)){if(!isNumber(value))throw ngModelMinErr("numfmt","Expected `{0}` to be a number",value);value=value.toString()}return value})}function parseNumberAttrVal(val){return isDefined(val)&&!isNumber(val)&&(val=parseFloat(val)),isNumberNaN(val)?void 0:val}function isNumberInteger(num){return(0|num)===num}function countDecimals(num){var numString=num.toString(),decimalSymbolIndex=numString.indexOf(".");if(-1!==decimalSymbolIndex)return numString.length-decimalSymbolIndex-1;if(-1<num&&num<1){var match=/e-(\d+)$/.exec(numString);if(match)return Number(match[1])}return 0}
1function isValidForStep(viewValue,stepBase,step){var value=Number(viewValue),isNonIntegerValue=!isNumberInteger(value),isNonIntegerStepBase=!isNumberInteger(stepBase),isNonIntegerStep=!isNumberInteger(step);if(isNonIntegerValue||isNonIntegerStepBase||isNonIntegerStep){var valueDecimals=isNonIntegerValue?countDecimals(value):0,stepBaseDecimals=isNonIntegerStepBase?countDecimals(stepBase):0,stepDecimals=isNonIntegerStep?countDecimals(step):0,decimalCount=Math.max(valueDecimals,stepBaseDecimals,stepDecimals),multiplier=Math.pow(10,decimalCount);value*=multiplier,stepBase*=multiplier,step*=multiplier,isNonIntegerValue&&(value=Math.round(value)),isNonIntegerStepBase&&(stepBase=Math.round(stepBase)),isNonIntegerStep&&(step=Math.round(step))}return(value-stepBase)%step==0}function parseConstantExpr($parse,context,name,expression,fallback){var parseFn;if(isDefined(expression)){if(!(parseFn=$parse(expression)).constant)throw ngModelMinErr("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",name,expression);return parseFn(context)}return fallback}var inputDirective=["$browser","$sniffer","$filter","$parse",function($browser,$sniffer,$filter,$parse){return{restrict:"E",require:["?ngModel"],link:{pre:function(scope,element,attr,ctrls){ctrls[0]&&(inputType[lowercase(attr.type)]||inputType.text)(scope,element,attr,ctrls[0],$sniffer,$browser,$filter,$parse)}}}}],CONSTANT_VALUE_REGEXP=/^(true|false|\d+)$/,ngValueDirective=function(){function updateElementValue(element,attr,value){var propValue=isDefined(value)?value:9===msie?"":null;element.prop("value",propValue),attr.$set("value",value)}return{restrict:"A",priority:100,compile:function(tpl,tplAttr){return CONSTANT_VALUE_REGEXP.test(tplAttr.ngValue)?function(scope,elm,attr){updateElementValue(elm,attr,scope.$eval(attr.ngValue))}:function(scope,elm,attr){scope.$watch(attr.ngValue,function(value){updateElementValue(elm,attr,value)})}}}},ngBindDirective=["$compile",function($compile){return{restrict:"AC",compile:function(templateElement){return $compile.$$addBindingClass(templateElement),function(scope,element,attr){$compile.$$addBindingInfo(element,attr.ngBind),element=element[0],scope.$watch(attr.ngBind,function(value){element.textContent=stringify(value)})}}}}],ngBindTemplateDirective=["$interpolate","$compile",function($interpolate,$compile){return{compile:function(templateElement){return $compile.$$addBindingClass(templateElement),function(scope,element,attr){var interpolateFn=$interpolate(element.attr(attr.$attr.ngBindTemplate));$compile.$$addBindingInfo(element,interpolateFn.expressions),element=element[0],attr.$observe("ngBindTemplate",function(value){element.textContent=isUndefined(value)?"":value})}}}}],ngBindHtmlDirective=["$sce","$parse","$compile",function($sce,$parse,$compile){return{restrict:"A",compile:function(tElement,tAttrs){var ngBindHtmlGetter=$parse(tAttrs.ngBindHtml),ngBindHtmlWatch=$parse(tAttrs.ngBindHtml,function(val){return $sce.valueOf(val)});return $compile.$$addBindingClass(tElement),function(scope,element,attr){$compile.$$addBindingInfo(element,attr.ngBindHtml),scope.$watch(ngBindHtmlWatch,function(){var value=ngBindHtmlGetter(scope);element.html($sce.getTrustedHtml(value)||"")})}}}}],ngChangeDirective=valueFn({restrict:"A",require:"ngModel",link:function(scope,element,attr,ctrl){ctrl.$viewChangeListeners.push(function(){scope.$eval(attr.ngChange)})}});function classDirective(name,selector){var indexWatchExpression;return name="ngClass"+name,["$parse",function($parse){return{restrict:"AC",link:function(scope,element,attr){var oldClassString,classCounts=element.data("$classCounts"),oldModulo=!0;function digestClassCounts(classArray,count){var classesToUpdate=[];return forEach(classArray,function(className){(0<count||classCounts[className])&&(classCounts[className]=(classCounts[className]||0)+count,classCounts[className]===+(0<count)&&classesToUpdate.push(className))}),classesToUpdate.join(" ")}classCounts||(classCounts=createMap(),element.data("$classCounts",classCounts)),"ngClass"!==name&&(indexWatchExpression||(indexWatchExpression=$parse("$index",function($index){return 1&$index})),scope.$watch(indexWatchExpression,function(newModulo){newModulo===selector?(classString=digestClassCounts(split(classString=oldClassString),1),attr.$addClass(classString)):function(classString){classString=digestClassCounts(split(classString),-1),attr.$removeClass(classString)}(oldClassString);var classString;oldModulo=newModulo})),scope.$watch($parse(attr[name],toClassString),function(newClassString){oldModulo===selector&&function(oldClassString,newClassString){var oldClassArray=split(oldClassString),newClassArray=split(newClassString),toRemoveArray=arrayDifference(oldClassArray,newClassArray),toAddArray=arrayDifference(newClassArray,oldClassArray),toRemoveString=digestClassCounts(toRemoveArray,-1),toAddString=digestClassCounts(toAddArray,1);attr.$addClass(toAddString),attr.$removeClass(toRemoveString)}(oldClassString,newClassString);oldClassString=newClassString})}}}];function arrayDifference(tokens1,tokens2){if(!tokens1||!tokens1.length)return[];if(!tokens2||!tokens2.length)return tokens1;var values=[];outer:for(var i=0;i<tokens1.length;i++){for(var token=tokens1[i],j=0;j<tokens2.length;j++)if(token===tokens2[j])continue outer;values.push(token)}return values}function split(classString){return classString&&classString.split(" ")}function toClassString(classValue){var classString=classValue;return isArray(classValue)?classString=classValue.map(toClassString).join(" "):isObject(classValue)&&(classString=Object.keys(classValue).filter(function(key){return classValue[key]}).join(" ")),classString}}var ngClassDirective=classDirective("",!0),ngClassOddDirective=classDirective("Odd",0),ngClassEvenDirective=classDirective("Even",1),ngCloakDirective=ngDirective({compile:function(element,attr){attr.$set("ngCloak",void 0),element.removeClass("ng-cloak")}}),ngControllerDirective=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],ngEventDirectives={},forceAsyncEvents={blur:!0,focus:!0};function createEventDirective($parse,$rootScope,$exceptionHandler,directiveName,eventName,forceAsync){return{restrict:"A",compile:function($element,attr){var fn=$parse(attr[directiveName]);return function(scope,element){element.on(eventName,function(event){var callback=function(){fn(scope,{$event:event})};if($rootScope.$$phase)if(forceAsync)scope.$evalAsync(callback);else try{callback()}catch(error){$exceptionHandler(error)}else scope.$apply(callback)})}}}}forEach("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(eventName){var directiveName=directiveNormalize("ng-"+eventName);ngEventDirectives[directiveName]=["$parse","$rootScope","$exceptionHandler",function($parse,$rootScope,$exceptionHandler){return createEventDirective($parse,$rootScope,$exceptionHandler,directiveName,eventName,forceAsyncEvents[eventName])}]});var ngIfDirective=["$animate","$compile",function($animate,$compile){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function($scope,$element,$attr,ctrl,$transclude){var block,childScope,previousElements;$scope.$watch($attr.ngIf,function(value){value?childScope||$transclude(function(clone,newScope){childScope=newScope,clone[clone.length++]=$compile.$$createComment("end ngIf",$attr.ngIf),block={clone:clone},$animate.enter(clone,$element.parent(),$element)}):(previousElements&&(previousElements.remove(),previousElements=null),childScope&&(childScope.$destroy(),childScope=null),block&&(previousElements=getBlockNodes(block.clone),$animate.leave(previousElements).done(function(response){!1!==response&&(previousElements=null)}),block=null))})}}}],ngIncludeDirective=["$templateRequest","$anchorScroll","$animate",function($templateRequest,$anchorScroll,$animate){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:angular.noop,compile:function(element,attr){var srcExp=attr.ngInclude||attr.src,onloadExp=attr.onload||"",autoScrollExp=attr.autoscroll;return function(scope,$element,$attr,ctrl,$transclude){var currentScope,previousElement,currentElement,changeCounter=0,cleanupLastIncludeContent=function(){previousElement&&(previousElement.remove(),previousElement=null),currentScope&&(currentScope.$destroy(),currentScope=null),currentElement&&($animate.leave(currentElement).done(function(response){!1!==response&&(previousElement=null)}),previousElement=currentElement,currentElement=null)};scope.$watch(srcExp,function(src){var afterAnimation=function(response){!1===response||!isDefined(autoScrollExp)||autoScrollExp&&!scope.$eval(autoScrollExp)||$anchorScroll()},thisChangeId=++changeCounter;src?($templateRequest(src,!0).then(function(response){if(!scope.$$destroyed&&thisCh
1angeId===changeCounter){var newScope=scope.$new();ctrl.template=response;var clone=$transclude(newScope,function(clone){cleanupLastIncludeContent(),$animate.enter(clone,null,$element).done(afterAnimation)});currentElement=clone,(currentScope=newScope).$emit("$includeContentLoaded",src),scope.$eval(onloadExp)}},function(){scope.$$destroyed||thisChangeId===changeCounter&&(cleanupLastIncludeContent(),scope.$emit("$includeContentError",src))}),scope.$emit("$includeContentRequested",src)):(cleanupLastIncludeContent(),ctrl.template=null)})}}}}],ngIncludeFillContentDirective=["$compile",function($compile){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(scope,$element,$attr,ctrl){if(toString.call($element[0]).match(/SVG/))return $element.empty(),void $compile(jqLiteBuildFragment(ctrl.template,window.document).childNodes)(scope,function(clone){$element.append(clone)},{futureParentElement:$element});$element.html(ctrl.template),$compile($element.contents())(scope)}}}],ngInitDirective=ngDirective({priority:450,compile:function(){return{pre:function(scope,element,attrs){scope.$eval(attrs.ngInit)}}}}),ngListDirective=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(scope,element,attr,ctrl){var ngList=attr.ngList||", ",trimValues="false"!==attr.ngTrim,separator=trimValues?trim(ngList):ngList;ctrl.$parsers.push(function(viewValue){if(!isUndefined(viewValue)){var list=[];return viewValue&&forEach(viewValue.split(separator),function(value){value&&list.push(trimValues?trim(value):value)}),list}}),ctrl.$formatters.push(function(value){if(isArray(value))return value.join(ngList)}),ctrl.$isEmpty=function(value){return!value||!value.length}}}},VALID_CLASS="ng-valid",INVALID_CLASS="ng-invalid",PRISTINE_CLASS="ng-pristine",DIRTY_CLASS="ng-dirty",ngModelMinErr=minErr("ngModel");function NgModelController($scope,$exceptionHandler,$attr,$element,$parse,$animate,$timeout,$q,$interpolate){var ctrl;this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=void 0,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=void 0,this.$name=$interpolate($attr.name||"",!1)($scope),this.$$parentForm=nullFormCtrl,this.$options=defaultModelOptions,this.$$updateEvents="",this.$$updateEventHandler=this.$$updateEventHandler.bind(this),this.$$parsedNgModel=$parse($attr.ngModel),this.$$parsedNgModelAssign=this.$$parsedNgModel.assign,this.$$ngModelGet=this.$$parsedNgModel,this.$$ngModelSet=this.$$parsedNgModelAssign,this.$$pendingDebounce=null,this.$$parserValid=void 0,this.$$parserName="parse",this.$$currentValidationRunId=0,this.$$scope=$scope,this.$$rootScope=$scope.$root,this.$$attr=$attr,this.$$element=$element,this.$$animate=$animate,this.$$timeout=$timeout,this.$$parse=$parse,this.$$q=$q,this.$$exceptionHandler=$exceptionHandler,setupValidity(this),(ctrl=this).$$scope.$watch(function(scope){var modelValue=ctrl.$$ngModelGet(scope);return modelValue===ctrl.$modelValue||ctrl.$modelValue!=ctrl.$modelValue&&modelValue!=modelValue||ctrl.$$setModelValue(modelValue),modelValue})}NgModelController.$inject=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$q","$interpolate"],NgModelController.prototype={$$initGetterSetters:function(){if(this.$options.getOption("getterSetter")){var invokeModelGetter=this.$$parse(this.$$attr.ngModel+"()"),invokeModelSetter=this.$$parse(this.$$attr.ngModel+"($$$p)");this.$$ngModelGet=function($scope){var modelValue=this.$$parsedNgModel($scope);return isFunction(modelValue)&&(modelValue=invokeModelGetter($scope)),modelValue},this.$$ngModelSet=function($scope,newValue){isFunction(this.$$parsedNgModel($scope))?invokeModelSetter($scope,{$$$p:newValue}):this.$$parsedNgModelAssign($scope,newValue)}}else if(!this.$$parsedNgModel.assign)throw ngModelMinErr("nonassign","Expression '{0}' is non-assignable. Element: {1}",this.$$attr.ngModel,startingTag(this.$$element))},$render:noop,$isEmpty:function(value){return isUndefined(value)||""===value||null===value||value!=value},$$updateEmptyClasses:function(value){this.$isEmpty(value)?(this.$$animate.removeClass(this.$$element,"ng-not-empty"),this.$$animate.addClass(this.$$element,"ng-empty")):(this.$$animate.removeClass(this.$$element,"ng-empty"),this.$$animate.addClass(this.$$element,"ng-not-empty"))},$setPristine:function(){this.$dirty=!1,this.$pristine=!0,this.$$animate.removeClass(this.$$element,DIRTY_CLASS),this.$$animate.addClass(this.$$element,PRISTINE_CLASS)},$setDirty:function(){this.$dirty=!0,this.$pristine=!1,this.$$animate.removeClass(this.$$element,PRISTINE_CLASS),this.$$animate.addClass(this.$$element,DIRTY_CLASS),this.$$parentForm.$setDirty()},$setUntouched:function(){this.$touched=!1,this.$untouched=!0,this.$$animate.setClass(this.$$element,"ng-untouched","ng-touched")},$setTouched:function(){this.$touched=!0,this.$untouched=!1,this.$$animate.setClass(this.$$element,"ng-touched","ng-untouched")},$rollbackViewValue:function(){this.$$timeout.cancel(this.$$pendingDebounce),this.$viewValue=this.$$lastCommittedViewValue,this.$render()},$validate:function(){if(!isNumberNaN(this.$modelValue)){var viewValue=this.$$lastCommittedViewValue,modelValue=this.$$rawModelValue,prevValid=this.$valid,prevModelValue=this.$modelValue,allowInvalid=this.$options.getOption("allowInvalid"),that=this;this.$$runValidators(modelValue,viewValue,function(allValid){allowInvalid||prevValid===allValid||(that.$modelValue=allValid?modelValue:void 0,that.$modelValue!==prevModelValue&&that.$$writeModelToScope())})}},$$runValidators:function(modelValue,viewValue,doneCallback){this.$$currentValidationRunId++;var syncValidatorsValid,validatorPromises,allValid,localValidationRunId=this.$$currentValidationRunId,that=this;(function(){var errorKey=that.$$parserName;{if(!isUndefined(that.$$parserValid))return that.$$parserValid||(forEach(that.$validators,function(v,name){setValidity(name,null)}
1),forEach(that.$asyncValidators,function(v,name){setValidity(name,null)})),setValidity(errorKey,that.$$parserValid),that.$$parserValid;setValidity(errorKey,null)}return!0})()?(syncValidatorsValid=!0,forEach(that.$validators,function(validator,name){var result=Boolean(validator(modelValue,viewValue));syncValidatorsValid=syncValidatorsValid&&result,setValidity(name,result)}),syncValidatorsValid||(forEach(that.$asyncValidators,function(v,name){setValidity(name,null)}),0)?(validatorPromises=[],allValid=!0,forEach(that.$asyncValidators,function(validator,name){var promise=validator(modelValue,viewValue);if(!isPromiseLike(promise))throw ngModelMinErr("nopromise","Expected asynchronous validator to return a promise but got '{0}' instead.",promise);setValidity(name,void 0),validatorPromises.push(promise.then(function(){setValidity(name,!0)},function(){setValidity(name,allValid=!1)}))}),validatorPromises.length?that.$$q.all(validatorPromises).then(function(){validationDone(allValid)},noop):validationDone(!0)):validationDone(!1)):validationDone(!1);function setValidity(name,isValid){localValidationRunId===that.$$currentValidationRunId&&that.$setValidity(name,isValid)}function validationDone(allValid){localValidationRunId===that.$$currentValidationRunId&&doneCallback(allValid)}},$commitViewValue:function(){var viewValue=this.$viewValue;this.$$timeout.cancel(this.$$pendingDebounce),(this.$$lastCommittedViewValue!==viewValue||""===viewValue&&this.$$hasNativeValidators)&&(this.$$updateEmptyClasses(viewValue),this.$$lastCommittedViewValue=viewValue,this.$pristine&&this.$setDirty(),this.$$parseAndValidate())},$$parseAndValidate:function(){var modelValue=this.$$lastCommittedViewValue,that=this;if(this.$$parserValid=!isUndefined(modelValue)||void 0,this.$setValidity(this.$$parserName,null),this.$$parserName="parse",this.$$parserValid)for(var i=0;i<this.$parsers.length;i++)if(isUndefined(modelValue=this.$parsers[i](modelValue))){this.$$parserValid=!1;break}isNumberNaN(this.$modelValue)&&(this.$modelValue=this.$$ngModelGet(this.$$scope));var prevModelValue=this.$modelValue,allowInvalid=this.$options.getOption("allowInvalid");function writeToModelIfNeeded(){that.$modelValue!==prevModelValue&&that.$$writeModelToScope()}this.$$rawModelValue=modelValue,allowInvalid&&(this.$modelValue=modelValue,writeToModelIfNeeded()),this.$$runValidators(modelValue,this.$$lastCommittedViewValue,function(allValid){allowInvalid||(that.$modelValue=allValid?modelValue:void 0,writeToModelIfNeeded())})},$$writeModelToScope:function(){this.$$ngModelSet(this.$$scope,this.$modelValue),forEach(this.$viewChangeListeners,function(listener){try{listener()}catch(e){this.$$exceptionHandler(e)}},this)},$setViewValue:function(value,trigger){this.$viewValue=value,this.$options.getOption("updateOnDefault")&&this.$$debounceViewValueCommit(trigger)},$$debounceViewValueCommit:function(trigger){var debounceDelay=this.$options.getOption("debounce");isNumber(debounceDelay[trigger])?debounceDelay=debounceDelay[trigger]:isNumber(debounceDelay.default)&&-1===this.$options.getOption("updateOn").indexOf(trigger)?debounceDelay=debounceDelay.default:isNumber(debounceDelay["*"])&&(debounceDelay=debounceDelay["*"]),this.$$timeout.cancel(this.$$pendingDebounce);var that=this;0<debounceDelay?this.$$pendingDebounce=this.$$timeout(function(){that.$commitViewValue()},debounceDelay):this.$$rootScope.$$phase?this.$commitViewValue():this.$$scope.$apply(function(){that.$commitViewValue()})},$overrideModelOptions:function(options){this.$options=this.$options.createChild(options),this.$$setUpdateOnEvents()},$processModelValue:function(){var viewValue=this.$$format();this.$viewValue!==viewValue&&(this.$$updateEmptyClasses(viewValue),this.$viewValue=this.$$lastCommittedViewValue=viewValue,this.$render(),this.$$runValidators(this.$modelValue,this.$viewValue,noop))},$$format:function(){for(var formatters=this.$formatters,idx=formatters.length,viewValue=this.$modelValue;idx--;)viewValue=formatters[idx](viewValue);return viewValue},$$setModelValue:function(modelValue){this.$modelValue=this.$$rawModelValue=modelValue,this.$$parserValid=void 0,this.$processModelValue()},$$setUpdateOnEvents:function(){this.$$updateEvents&&this.$$element.off(this.$$updateEvents,this.$$updateEventHandler),this.$$updateEvents=this.$options.getOption("updateOn"),this.$$updateEvents&&this.$$element.on(this.$$updateEvents,this.$$updateEventHandler)},$$updateEventHandler:function(ev){this.$$debounceViewValueCommit(ev&&ev.type)}},addSetValidityMethod({clazz:NgModelController,set:function(object,property){object[property]=!0},unset:function(object,property){delete object[property]}});var defaultModelOptions,ngModelDirective=["$rootScope",function($rootScope){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:NgModelController,priority:1,compile:function(element){return element.addClass(PRISTINE_CLASS).addClass("ng-untouched").addClass(VALID_CLASS),{pre:function(scope,element,attr,ctrls){var modelCtrl=ctrls[0],formCtrl=ctrls[1]||modelCtrl.$$parentForm,optionsCtrl=ctrls[2];optionsCtrl&&(modelCtrl.$options=optionsCtrl.$options),modelCtrl.$$initGetterSetters(),formCtrl.$addControl(modelCtrl),attr.$observe("name",function(newValue){modelCtrl.$name!==newValue&&modelCtrl.$$parentForm.$$renameControl(modelCtrl,newValue)}),scope.$on("$destroy",function(){modelCtrl.$$parentForm.$removeControl(modelCtrl)})},post:function(scope,element,attr,ctrls){var modelCtrl=ctrls[0];function setTouched(){modelCtrl.$setTouched()}modelCtrl.$$setUpdateOnEvents(),element.on("blur",function(){modelCtrl.$touched||($rootScope.$$phase?scope.$evalAsync(setTouched):scope.$apply(setTouched))})}}}}}],DEFAULT_REGEXP=/(\s+|^)default(\s+|$)/;function ModelOptions(options){this.$$options=options}ModelOptions.prototype={getOption:function(name){return this.$$options[name]},createChild:function(options){var inheritAll=!1;return forEach(options=extend({},options),function(option,key){"$inherit"===option?"*"===key?inheritAll=!0:(options[key]=this.$$options[key],"updateOn"===key&&(options.updateOnDefault=this.$$options.updateOnDefault)):"updateOn"===key&&(options.updateOnDefault=!1,options[key]=trim(option.replace(DEFAULT_REGEXP,function(){return options.updateOnDefault=!0," "})))},this),inheritAll&&(delete options["*"],defaults(options,this.$$options)),defaults(options,defaultModelOptions.$$options),new ModelOptions(options)}},defaultModelOptions=new ModelOptions({updateOn:"",updateOnDefault:!0,debounce:0,getterSetter:!1,allowInvalid:!1,timezone:null});var ngModelOptionsDirective=function(){function NgModelOptionsController($attrs,$scope){this.$$attrs=$attrs,this.$$scope=$scope}return NgModelOptionsController.$inject=["$attrs","$scope"],NgModelOptionsController.prototype={$onInit:function(){var parentOptions=this.parentCtrl?this.parentCtrl.$options:defaultModelOptions,modelOptionsDefinition=this.$$scope.$eval(this.$$attrs.ngModelOptions);this.$options=parentOptions.createChild(modelOptionsDefinition)}},{restrict:"A",priority:10,require:{parentCtrl:"?^^ngModelOptions"},bindToController:!0,controller:NgModelOptionsController}};function defaults(dst,src){forEach(src,function(value,key){isDefined(dst[key])||(dst[key]=value)})}var ngNonBindableDirective=ngDirective({terminal:!0,priority:1e3}),ngOptionsMinErr=minErr("ngOptions"),NG_OPTIONS_REGEXP=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([$\w][$\w]*)|(?:\(\s*([$\w][$\w]*)\s*,\s*([$\w][$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,ngOptionsDirective=["$compile","$document","$parse",function($compile,$document,$parse){var optionTemplate=window.document.createElement("option"),optGroupTemplate=window.document.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","ngModel"],link:{pre:function(scope,selectElement,attr,ctrls){ctrls[0].registerOption=noop},post:function(scope,selectElement,attr,ctrls){for(var selectCtrl=ctrls[0],ngModelCtrl=ctrls[1],multiple=attr.multiple,i=0,children=selectElement.children(),ii=children.length;i<ii;i++)if(""===children[i].value){selectCtrl.hasEmptyOption=!0,selectCtrl.emptyOption=children.eq(i);break}selectElement.empty();var options,providedEmptyOption=!!selectCtrl.emptyOption;jqLite(optionTemplate.cloneNode(!1)).val("?");var ngOptions=function(optionsExp,selectElement,scope){var match=optionsExp.match(NG_OPTIONS_REGEXP);if(!match)throw ngOptionsMinErr("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",optionsExp,startingTag(selectElement));var valueName=match[5]||match[7],keyName=match[6],selectAs=/ as /.test(match[0])&&match[1],trackBy=match[9],valueFn=$parse(match[2]?match[1]:valueName),viewValueFn=selectAs&&$parse(selectAs)||valueFn,trackByFn=trackBy&&$parse(trackBy),getTrackByValueFn=trackBy?function(value,locals){return trackByFn(scope,locals)}:function(value){return hashKey(value)},getTrackByValue=function(value,key){return getTrackByValueFn(value,getLocals(value,key))}
1,displayFn=$parse(match[2]||match[1]),groupByFn=$parse(match[3]||""),disableWhenFn=$parse(match[4]||""),valuesFn=$parse(match[8]),locals={},getLocals=keyName?function(value,key){return locals[keyName]=key,locals[valueName]=value,locals}:function(value){return locals[valueName]=value,locals};function Option(selectValue,viewValue,label,group,disabled){this.selectValue=selectValue,this.viewValue=viewValue,this.label=label,this.group=group,this.disabled=disabled}function getOptionValuesKeys(optionValues){var optionValuesKeys;if(!keyName&&isArrayLike(optionValues))optionValuesKeys=optionValues;else for(var itemKey in optionValuesKeys=[],optionValues)optionValues.hasOwnProperty(itemKey)&&"$"!==itemKey.charAt(0)&&optionValuesKeys.push(itemKey);return optionValuesKeys}return{trackBy:trackBy,getTrackByValue:getTrackByValue,getWatchables:$parse(valuesFn,function(optionValues){for(var watchedArray=[],optionValuesKeys=getOptionValuesKeys(optionValues=optionValues||[]),optionValuesLength=optionValuesKeys.length,index=0;index<optionValuesLength;index++){var key=optionValues===optionValuesKeys?index:optionValuesKeys[index],value=optionValues[key],locals=getLocals(value,key),selectValue=getTrackByValueFn(value,locals);if(watchedArray.push(selectValue),match[2]||match[1]){var label=displayFn(scope,locals);watchedArray.push(label)}if(match[4]){var disableWhen=disableWhenFn(scope,locals);watchedArray.push(disableWhen)}}return watchedArray}),getOptions:function(){for(var optionItems=[],selectValueMap={},optionValues=valuesFn(scope)||[],optionValuesKeys=getOptionValuesKeys(optionValues),optionValuesLength=optionValuesKeys.length,index=0;index<optionValuesLength;index++){var key=optionValues===optionValuesKeys?index:optionValuesKeys[index],value=optionValues[key],locals=getLocals(value,key),viewValue=viewValueFn(scope,locals),selectValue=getTrackByValueFn(viewValue,locals),optionItem=new Option(selectValue,viewValue,displayFn(scope,locals),groupByFn(scope,locals),disableWhenFn(scope,locals));optionItems.push(optionItem),selectValueMap[selectValue]=optionItem}return{items:optionItems,selectValueMap:selectValueMap,getOptionFromViewValue:function(value){return selectValueMap[getTrackByValue(value)]},getViewValueFromOption:function(option){return trackBy?copy(option.viewValue):option.viewValue}}}}}(attr.ngOptions,selectElement,scope),listFragment=$document[0].createDocumentFragment();function addOptionElement(option,parent){var optionElement=optionTemplate.cloneNode(!1);parent.appendChild(optionElement),function(option,element){(option.element=element).disabled=option.disabled,option.label!==element.label&&(element.label=option.label,element.textContent=option.label),element.value=option.selectValue}(option,optionElement)}function getAndUpdateSelectedOption(viewValue){var option=options.getOptionFromViewValue(viewValue),element=option&&option.element;return element&&!element.selected&&(element.selected=!0),option}selectCtrl.generateUnknownOptionValue=function(val){return"?"},multiple?(selectCtrl.writeValue=function(values){if(options){var selectedOptions=values&&values.map(getAndUpdateSelectedOption)||[];options.items.forEach(function(option){option.element.selected&&!includes(selectedOptions,option)&&(option.element.selected=!1)})}},selectCtrl.readValue=function(){var selectedValues=selectElement.val()||[],selections=[];return forEach(selectedValues,function(value){var option=options.selectValueMap[value];option&&!option.disabled&&selections.push(options.getViewValueFromOption(option))}),selections},ngOptions.trackBy&&scope.$watchCollection(function(){if(isArray(ngModelCtrl.$viewValue))return ngModelCtrl.$viewValue.map(function(value){return ngOptions.getTrackByValue(value)})},function(){ngModelCtrl.$render()})):(selectCtrl.writeValue=function(value){if(options){var selectedOption=selectElement[0].options[selectElement[0].selectedIndex],option=options.getOptionFromViewValue(value);selectedOption&&selectedOption.removeAttribute("selected"),option?(selectElement[0].value!==option.selectValue&&(selectCtrl.removeUnknownOption(),selectElement[0].value=option.selectValue,option.element.selected=!0),option.element.setAttribute("selected","selected")):selectCtrl.selectUnknownOrEmptyOption(value)}},selectCtrl.readValue=function(){var selectedOption=options.selectValueMap[selectElement.val()];return selectedOption&&!selectedOption.disabled?(selectCtrl.unselectEmptyOption(),selectCtrl.removeUnknownOption(),options.getViewValueFromOption(selectedOption)):null},ngOptions.trackBy&&scope.$watch(function(){return ngOptions.getTrackByValue(ngModelCtrl.$viewValue)},function(){ngModelCtrl.$render()}
1)),providedEmptyOption&&($compile(selectCtrl.emptyOption)(scope),selectElement.prepend(selectCtrl.emptyOption),selectCtrl.emptyOption[0].nodeType===NODE_TYPE_COMMENT?(selectCtrl.hasEmptyOption=!1,selectCtrl.registerOption=function(optionScope,optionEl){""===optionEl.val()&&(selectCtrl.hasEmptyOption=!0,selectCtrl.emptyOption=optionEl,selectCtrl.emptyOption.removeClass("ng-scope"),ngModelCtrl.$render(),optionEl.on("$destroy",function(){var needsRerender=selectCtrl.$isEmptyOptionSelected();selectCtrl.hasEmptyOption=!1,selectCtrl.emptyOption=void 0,needsRerender&&ngModelCtrl.$render()}))}):selectCtrl.emptyOption.removeClass("ng-scope")),scope.$watchCollection(ngOptions.getWatchables,function(){var previousValue=options&&selectCtrl.readValue();if(options)for(var i=options.items.length-1;0<=i;i--){var option=options.items[i];isDefined(option.group)?jqLiteRemove(option.element.parentNode):jqLiteRemove(option.element)}options=ngOptions.getOptions();var groupElementMap={};if(options.items.forEach(function(option){var groupElement;isDefined(option.group)?((groupElement=groupElementMap[option.group])||(groupElement=optGroupTemplate.cloneNode(!1),listFragment.appendChild(groupElement),groupElement.label=null===option.group?"null":option.group,groupElementMap[option.group]=groupElement),addOptionElement(option,groupElement)):addOptionElement(option,listFragment)}),selectElement[0].appendChild(listFragment),ngModelCtrl.$render(),!ngModelCtrl.$isEmpty(previousValue)){var nextValue=selectCtrl.readValue(),isNotPrimitive=ngOptions.trackBy||multiple;(isNotPrimitive?equals(previousValue,nextValue):previousValue===nextValue)||(ngModelCtrl.$setViewValue(nextValue),ngModelCtrl.$render())}})}}}}],ngPluralizeDirective=["$locale","$interpolate","$log",function($locale,$interpolate,$log){var BRACE=/{}/g,IS_WHEN=/^when(Minus)?(.+)$/;return{link:function(scope,element,attr){var lastCount,numberExp=attr.count,whenExp=attr.$attr.when&&element.attr(attr.$attr.when),offset=attr.offset||0,whens=scope.$eval(whenExp)||{},whensExpFns={},startSymbol=$interpolate.startSymbol(),endSymbol=$interpolate.endSymbol(),braceReplacement=startSymbol+number
1Exp+"-"+offset+endSymbol,watchRemover=angular.noop;function updateElementText(newText){element.text(newText||"")}forEach(attr,function(expression,attributeName){var tmpMatch=IS_WHEN.exec(attributeName);if(tmpMatch){var whenKey=(tmpMatch[1]?"-":"")+lowercase(tmpMatch[2]);whens[whenKey]=element.attr(attr.$attr[attributeName])}}),forEach(whens,function(expression,key){whensExpFns[key]=$interpolate(expression.replace(BRACE,braceReplacement))}),scope.$watch(numberExp,function(newVal){var count=parseFloat(newVal),countIsNaN=isNumberNaN(count);if(countIsNaN||count in whens||(count=$locale.pluralCat(count-offset)),!(count===lastCount||countIsNaN&&isNumberNaN(lastCount))){watchRemover();var whenExpFn=whensExpFns[count];isUndefined(whenExpFn)?(null!=newVal&&$log.debug("ngPluralize: no rule defined for '"+count+"' in "+whenExp),watchRemover=noop,updateElementText()):watchRemover=scope.$watch(whenExpFn,updateElementText),lastCount=count}})}}}],ngRefMinErr=minErr("ngRef"),ngRefDirective=["$parse",function($parse){return{priority:-1,restrict:"A",compile:function(tElement,tAttrs){var controllerName=directiveNormalize(nodeName_(tElement)),getter=$parse(tAttrs.ngRef),setter=getter.assign||function(){throw ngRefMinErr("nonassign",'Expression in ngRef="{0}" is non-assignable!',tAttrs.ngRef)};return function(scope,element,attrs){var refValue;if(attrs.hasOwnProperty("ngRefRead")){if("$element"===attrs.ngRefRead)refValue=element;else if(!(refValue=element.data("$"+attrs.ngRefRead+"Controller")))throw ngRefMinErr("noctrl",'The controller for ngRefRead="{0}" could not be found on ngRef="{1}"',attrs.ngRefRead,tAttrs.ngRef)}else refValue=element.data("$"+controllerName+"Controller");setter(scope,refValue=refValue||element),element.on("$destroy",function(){getter(scope)===refValue&&setter(scope,null)})}}}}],ngRepeatDirective=["$parse","$animate","$compile",function($parse,$animate,$compile){var ngRepeatMinErr=minErr("ngRepeat"),updateScope=function(scope,index,valueIdentifier,value,keyIdentifier,key,arrayLength){scope[valueIdentifier]=value,keyIdentifier&&(scope[keyIdentifier]=key),scope.$index=index,scope.$first=0===index,scope.$last=index===arrayLength-1,scope.$middle=!(scope.$first||scope.$last),scope.$odd=!(scope.$even=0==(1&index))},getBlockStart=function(block){return block.clone[0]},getBlockEnd=function(block){return block.clone[block.clone.length-1]};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function($element,$attr){var expression=$attr.ngRepeat,ngRepeatEndComment=$compile.$$createComment("end ngRepeat",expression),match=expression.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!match)throw ngRepeatMinErr("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",expression);var lhs=match[1],rhs=match[2],aliasAs=match[3],trackByExp=match[4];if(!(match=lhs.match(/^(?:(\s*[$\w]+)|\(\s*([$\w]+)\s*,\s*([$\w]+)\s*\))$/)))throw ngRepeatMinErr("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",lhs);var trackByExpGetter,trackByIdExpFn,trackByIdArrayFn,trackByIdObjFn,valueIdentifier=match[3]||match[1],keyIdentifier=match[2];if(aliasAs&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(aliasAs)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(aliasAs)))throw ngRepeatMinErr("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",aliasAs);var hashFnLocals={$id:hashKey};return trackByExp?trackByExpGetter=$parse(trackByExp):(trackByIdArrayFn=function(key,value){return hashKey(value)},trackByIdObjFn=function(key){return key}),function($scope,$element,$attr,ctrl,$transclude){trackByExpGetter&&(trackByIdExpFn=function(key,value,index){return keyIdentifier&&(hashFnLocals[keyIdentifier]=key),hashFnLocals[valueIdentifier]=value,hashFnLocals.$index=index,trackByExpGetter($scope,hashFnLocals)});var lastBlockMap=createMap();$scope.$watchCollection(rhs,function(collection){var index,length,nextNode,collectionLength,key,value,trackById,trackByIdFn,
1collectionKeys,block,nextBlockOrder,elementsToRemove,previousNode=$element[0],nextBlockMap=createMap();if(aliasAs&&($scope[aliasAs]=collection),isArrayLike(collection))collectionKeys=collection,trackByIdFn=trackByIdExpFn||trackByIdArrayFn;else for(var itemKey in trackByIdFn=trackByIdExpFn||trackByIdObjFn,collectionKeys=[],collection)hasOwnProperty.call(collection,itemKey)&&"$"!==itemKey.charAt(0)&&collectionKeys.push(itemKey);for(collectionLength=collectionKeys.length,nextBlockOrder=new Array(collectionLength),index=0;index<collectionLength;index++)if(key=collection===collectionKeys?index:collectionKeys[index],value=collection[key],trackById=trackByIdFn(key,value,index),lastBlockMap[trackById])block=lastBlockMap[trackById],delete lastBlockMap[trackById],nextBlockMap[trackById]=block,nextBlockOrder[index]=block;else{if(nextBlockMap[trackById])throw forEach(nextBlockOrder,function(block){block&&block.scope&&(lastBlockMap[block.id]=block)}),ngRepeatMinErr("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",expression,trackById,value);nextBlockOrder[index]={id:trackById,scope:void 0,clone:void 0},nextBlockMap[trackById]=!0}for(var blockKey in lastBlockMap){if(elementsToRemove=getBlockNodes((block=lastBlockMap[blockKey]).clone),$animate.leave(elementsToRemove),elementsToRemove[0].parentNode)for(index=0,length=elementsToRemove.length;index<length;index++)elementsToRemove[index].$$NG_REMOVED=!0;block.scope.$destroy()}for(index=0;index<collectionLength;index++)if(key=collection===collectionKeys?index:collectionKeys[index],value=collection[key],(block=nextBlockOrder[index]).scope){for(nextNode=previousNode;(nextNode=nextNode.nextSibling)&&nextNode.$$NG_REMOVED;);getBlockStart(block)!==nextNode&&$animate.move(getBlockNodes(block.clone),null,previousNode),previousNode=getBlockEnd(block),updateScope(block.scope,index,valueIdentifier,value,keyIdentifier,key,collectionLength)}else $transclude(function(clone,scope){block.scope=scope;var endNode=ngRepeatEndComment.cloneNode(!1);clone[clone.length++]=endNode,$animate.enter(clone,null,previousNode),previousNode=endNode,block.clone=clone,nextBlockMap[block.id]=block,updateScope(block.scope,index,valueIdentifier,value,keyIdentifier,key,collectionLength)});lastBlockMap=nextBlockMap})}}}}],ngShowDirective=["$animate",function($animate){return{restrict:"A",multiElement:!0,link:function(scope,element,attr){scope.$watch(attr.ngShow,function(value){$animate[value?"removeClass":"addClass"](element,"ng-hide",{tempClasses:"ng-hide-animate"})})}}}],ngHideDirective=["$animate",function($animate){return{restrict:"A",multiElement:!0,link:function(scope,element,attr){scope.$watch(attr.ngHide,function(value){$animate[value?"addClass":"removeClass"](element,"ng-hide",{tempClasses:"ng-hide-animate"})})}}}],ngStyleDirective=ngDirective(function(scope,element,attr){scope.$watchCollection(attr.ngStyle,function(newStyles,oldStyles){oldStyles&&newStyles!==oldStyles&&forEach(oldStyles,function(val,style){element.css(style,"")}),newStyles&&element.css(newStyles)})}),ngSwitchDirective=["$animate","$compile",function($animate,$compile){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(scope,element,attr,ngSwitchController){var watchExpr=attr.ngSwitch||attr.on,selectedTranscludes=[],selectedElements=[],previousLeaveAnimations=[],selectedScopes=[],spliceFactory=function(array,index){return function(response){!1!==response&&array.splice(index,1)}};scope.$watch(watchExpr,function(value){for(var i,ii;previousLeaveAnimations.length;)$animate.cancel(previousLeaveAnimations.pop());for(i=0,ii=selectedScopes.length;i<ii;++i){var selected=getBlockNodes(selectedElements[i].clone);selectedScopes[i].$destroy(),(previousLeaveAnimations[i]=$animate.leave(selected)).done(spliceFactory(previousLeaveAnimations,i))}selectedElements.length=0,selectedScopes.length=0,(selectedTranscludes=ngSwitchController.cases["!"+value]||ngSwitchController.cases["?"])&&forEach(selectedTranscludes,function(selectedTransclude){selectedTransclude.transclude(function(caseElement,selectedScope){selectedScopes.push(selectedScope);var anchor=selectedTransclude.element;caseElement[caseElement.length++]=$compile.$$createComment("end ngSwitchWhen");var block={clone:caseElement};selectedElements.push(block),$animate.enter(caseElement,anchor.parent(),anchor)})})})}}}],ngSwitchWhenDirective=ngDirective({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(scope,element,attrs,ctrl,$transclude){forEach(attrs.ngSwitchWhen.split(attrs.ngSwitchWhenSeparator).sort().filter(function(element,index,array){return array[index-1]!==element}),function(whenCase){ctrl.cases["!"+whenCase]=ctrl.cases["!"+whenCase]||[],ctrl.cases["!"+whenCase].push({transclude:$transclude,element:element})})}}),ngSwitchDefaultDirective=ngDirective({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(scope,element,attr,ctrl,$transclude){ctrl.cases["?"]=ctrl.cases["?"]||[],ctrl.cases["?"].push({transclude:$transclude,element:element})}}),ngTranscludeMinErr=minErr("ngTransclude"),ngTranscludeDirective=["$compile",function($compile){return{restrict:"EAC",compile:function(tElement){var fallbackLinkFn=$compile(tElement.contents());return tElement.empty(),function($scope,$element,$attrs,controller,$transclude){if(!$transclude)throw ngTranscludeMinErr("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",startingTag($element));$attrs.ngTransclude===$attrs.$attr.ngTransclude&&($attrs.ngTransclude="");var slotName=$attrs.ngTransclude||$attrs.ngTranscludeSlot;function useFallbackContent(){fallbackLinkFn($scope,function(clone){$element.append(clone)})}$transclude(function(clone,transcludedScope){clone.length&&function(nodes){for(var i=0,ii=nodes.length;i<ii;i++){var node=nodes[i];if(node.nodeType!==NODE_TYPE_TEXT||node.nodeValue.trim())return!0}}(clone)?$element.append(clone):(useFallbackContent(),transcludedScope.$destroy())},null,slotName),slotName&&!$transclude.isSlotFilled(slotName)&&useFallbackContent()}}}}],scriptDirective=["$templateCache",function($templateCache){return{restrict:"E",terminal:!0,compile:function(element,attr){if("text/ng-template"===attr.type){var templateUrl=attr.id,text=element[0].text;$templateCache.put(templateUrl,text)}}}}],noopNgModelController={$setViewValue:noop,$render:noop};function setOptionSelectedStatus(optionEl,value){optionEl.prop("selected",value),optionEl.attr("selected",value)}var SelectController=["$element","$scope",function($element,$scope){var self=this,optionsMap=new NgMap;self.selectValueMap={},self.ngModelCtrl=noopNgModelController,self.multiple=!1,self.unknownOption=jqLite(window.document.createElement("option")),self.hasEmptyOption=!1,self.emptyOption=void 0,self.renderUnknownOption=function(val){var unknownVal=self.generateUnknownOptionValue(val);
1self.unknownOption.val(unknownVal),$element.prepend(self.unknownOption),setOptionSelectedStatus(self.unknownOption,!0),$element.val(unknownVal)},self.updateUnknownOption=function(val){var unknownVal=self.generateUnknownOptionValue(val);self.unknownOption.val(unknownVal),setOptionSelectedStatus(self.unknownOption,!0),$element.val(unknownVal)},self.generateUnknownOptionValue=function(val){return"? "+hashKey(val)+" ?"},self.removeUnknownOption=function(){self.unknownOption.parent()&&self.unknownOption.remove()},self.selectEmptyOption=function(){self.emptyOption&&($element.val(""),setOptionSelectedStatus(self.emptyOption,!0))},self.unselectEmptyOption=function(){self.hasEmptyOption&&setOptionSelectedStatus(self.emptyOption,!1)},$scope.$on("$destroy",function(){self.renderUnknownOption=noop}),self.readValue=function(){var val=$element.val(),realVal=val in self.selectValueMap?self.selectValueMap[val]:val;return self.hasOption(realVal)?realVal:null},self.writeValue=function(value){var currentlySelectedOption=$element[0].options[$element[0].selectedIndex];if(currentlySelectedOption&&setOptionSelectedStatus(jqLite(currentlySelectedOption),!1),self.hasOption(value)){self.removeUnknownOption();var hashedVal=hashKey(value);$element.val(hashedVal in self.selectValueMap?hashedVal:value);var selectedOption=$element[0].options[$element[0].selectedIndex];setOptionSelectedStatus(jqLite(selectedOption),!0)}else self.selectUnknownOrEmptyOption(value)},self.addOption=function(value,element){if(element[0].nodeType!==NODE_TYPE_COMMENT){assertNotHasOwnProperty(value,'"option value"'),""===value&&(self.hasEmptyOption=!0,self.emptyOption=element);var count=optionsMap.get(value)||0;optionsMap.set(value,count+1),scheduleRender()}},self.removeOption=function(value){var count=optionsMap.get(value);count&&(1===count?(optionsMap.delete(value),""===value&&(self.hasEmptyOption=!1,self.emptyOption=void 0)):optionsMap.set(value,count-1))},self.hasOption=function(value){return!!optionsMap.get(value)},self.$hasEmptyOption=function(){return self.hasEmptyOption},self.$isUnknownOptionSelected=function(){return $element[0].options[0]===self.unknownOption[0]},self.$isEmptyOptionSelected=function(){return self.hasEmptyOption&&$element[0].options[$element[0].selectedIndex]===self.emptyOption[0]};var renderScheduled=!(self.selectUnknownOrEmptyOption=function(value){null==value&&self.emptyOption?(self.removeUnknownOption(),self.selectEmptyOption()):self.unknownOption.parent().length?self.updateUnknownOption(value):self.renderUnknownOption(value)});function scheduleRender(){renderScheduled||(renderScheduled=!0,$scope.$$postDigest(function(){render
1Scheduled=!1,self.ngModelCtrl.$render()}))}var updateScheduled=!1;function scheduleViewValueUpdate(renderAfter){updateScheduled||(updateScheduled=!0,$scope.$$postDigest(function(){$scope.$$destroyed||(updateScheduled=!1,self.ngModelCtrl.$setViewValue(self.readValue()),renderAfter&&self.ngModelCtrl.$render())}))}self.registerOption=function(optionScope,optionElement,optionAttrs,interpolateValueFn,interpolateTextFn){if(optionAttrs.$attr.ngValue){var oldVal,hashedVal=NaN;optionAttrs.$observe("value",function(newVal){var removal,previouslySelected=optionElement.prop("selected");isDefined(hashedVal)&&(self.removeOption(oldVal),delete self.selectValueMap[hashedVal],removal=!0),hashedVal=hashKey(newVal),oldVal=newVal,self.selectValueMap[hashedVal]=newVal,self.addOption(newVal,optionElement),optionElement.attr("value",hashedVal),removal&&previouslySelected&&scheduleViewValueUpdate()})}else interpolateValueFn?optionAttrs.$observe("value",function(newVal){var removal;self.readValue();var previouslySelected=optionElement.prop("selected");isDefined(oldVal)&&(self.removeOption(oldVal),removal=!0),oldVal=newVal,self.addOption(newVal,optionElement),removal&&previouslySelected&&scheduleViewValueUpdate()}):interpolateTextFn?optionScope.$watch(interpolateTextFn,function(newVal,oldVal){optionAttrs.$set("value",newVal);var previouslySelected=optionElement.prop("selected");oldVal!==newVal&&self.removeOption(oldVal),self.addOption(newVal,optionElement),oldVal&&previouslySelected&&scheduleViewValueUpdate()}):self.addOption(optionAttrs.value,optionElement);optionAttrs.$observe("disabled",function(newVal){("true"===newVal||newVal&&optionElement.prop("selected"))&&(self.multiple?scheduleViewValueUpdate(!0):(self.ngModelCtrl.$setViewValue(null),self.ngModelCtrl.$render()))}),optionElement.on("$destroy",function(){var currentValue=self.readValue(),removeValue=optionAttrs.value;self.removeOption(removeValue),scheduleRender(),(self.multiple&¤tValue&&-1!==currentValue.indexOf(removeValue)||currentValue===removeValue)&&scheduleViewValueUpdate(!0)})}}],selectDirective=function(){return{restrict:"E",require:["select","?ngModel"],controller:SelectController,priority:1,link:{pre:function(scope,element,attr,ctrls){var selectCtrl=ctrls[0],ngModelCtrl=ctrls[1];if(!ngModelCtrl)return void(selectCtrl.registerOption=noop);if(selectCtrl.ngModelCtrl=ngModelCtrl,element.on("change",function(){selectCtrl.removeUnknownOption(),scope.$apply(function(){ngModelCtrl.$setViewValue(selectCtrl.readValue())})}),attr.multiple){selectCtrl.multiple=!0,selectCtrl.readValue=function(){var array=[];return forEach(element.find("option"),function(option){if(option.selected&&!option.disabled){var val=option.value;array.push(val in selectCtrl.selectValueMap?selectCtrl.selectValueMap[val]:val)}}),array},selectCtrl.writeValue=function(value){forEach(element.find("option"),function(option){var shouldBeSelected=!!value&&(includes(value,option.value)||includes(value,selectCtrl.selectValueMap[option.value])),currentlySelected=option.selected;shouldBeSelected!==currentlySelected&&setOptionSelectedStatus(jqLite(option),shouldBeSelected)})};var lastView,lastViewRef=NaN;scope.$watch(function(){lastViewRef!==ngModelCtrl.$viewValue||equals(lastView,ngModelCtrl.$viewValue)||(lastView=shallowCopy(ngModelCtrl.$viewValue),ngModelCtrl.$render()),lastViewRef=ngModelCtrl.$viewValue}),ngModelCtrl.$isEmpty=function(value){return!value||0===value.length}}},post:function(scope,element,attrs,ctrls){var ngModelCtrl=ctrls[1];if(!ngModelCtrl)return;var selectCtrl=ctrls[0];ngModelCtrl.$render=function(){selectCtrl.writeValue(ngModelCtrl.$viewValue)}}}}},optionDirective=["$interpolate",function($interpolate){return{restrict:"E",priority:100,compile:function(element,attr){var interpolateValueFn,interpolateTextFn;return isDefined(attr.ngValue)||(isDefined(attr.value)?interpolateValueFn=$interpolate(attr.value,!0):(interpolateTextFn=$interpolate(element.text(),!0))||attr.$set("value",element.text())),function(scope,element,attr){var parent=element.parent(),selectCtrl=parent.data("$selectController")||parent.parent().data("$selectController");selectCtrl&&selectCtrl.registerOption(scope,element,attr,interpolateValueFn,interpolateTextFn)}}}}],requiredDirective=function(){return{restrict:"A",require:"?ngModel",link:function(scope,elm,attr,ctrl){ctrl&&(attr.required=!0,ctrl.$validators.required=function(modelValue,viewValue){return!attr.required||!ctrl.$isEmpty(viewValue)},attr.$observe("required",function(){ctrl.$validate()}))}}},patternDirective=function(){return{restrict:"A",require:"?ngModel",link:function(scope,elm,attr,ctrl){if(ctrl){var regexp,patternExp=attr.ngPattern||attr.pattern;attr.$observe("pattern",function(regex){if(isString(regex)&&0<regex.length&&(regex=new RegExp("^"+regex+"$")),regex&&!regex.test)throw minErr("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",patternExp,regex,startingTag(elm));regexp=regex||void 0,ctrl.$validate()}),ctrl.$validators.pattern=function(modelValue,viewValue){return ctrl.$isEmpty(viewValue)||isUndefined(regexp)||regexp.test(viewValue)}}}}},maxlengthDirective=function(){return{restrict:"A",require:"?ngModel",link:function(scope,elm,attr,ctrl){if(ctrl){var maxlength=-1;attr.$observe("maxlength",function(value){var intVal=toInt(value);maxlength=isNumberNaN(intVal)?-1:intVal,ctrl.$validate()}),ctrl.$validators.maxlength=function(modelValue,viewValue){return maxlength<0||ctrl.$isEmpty(viewValue)||viewValue.length<=maxlength}}}}},minlengthDirective=function(){return{restrict:"A",require:"?ngModel",link:function(scope,elm,attr,ctrl){if(ctrl){var minlength=0;attr.$observe("minlength",function(value){minlength=toInt(value)||0,ctrl.$validate()}),ctrl.$validators.minlength=function(modelValue,viewValue){return ctrl.$isEmpty(viewValue)||viewValue.length>=minlength}}}}};window.angular.bootstrap?window.console&&console.log("WARNING: Tried to load AngularJS more than once."):(!function(){var originalCleanData;if(!bindJQueryFired){var jqName=jq();(jQuery=isUndefined(jqName)?window.jQuery:jqName?window[jqName]:void 0)&&jQuery.fn.on?extend((jqLite=jQuery).fn,{scope:JQLitePrototype.scope,isolateScope:JQLitePrototype.isolateScope,controller:JQLitePrototype.controller,injector:JQLitePrototype.injector,inheritedData:JQLitePrototype.inheritedData}):jqLite=JQLite,originalCleanData=jqLite.cleanData,jqLite.cleanData=function(elems){for(var events,elem,i=0;null!=(elem=elems[i]);i++)(events=(jqLite._data(elem)||{}).events)&&events.$destroy&&jqLite(elem).triggerHandler("$destroy");originalCleanData(elems)},angular.element=jqLite,bindJQueryFired=!0}}(),function(angular){extend(angular,{errorHandlingConfig:errorHandlingConfig,bootstrap:bootstrap,copy:copy,extend:extend,merge:merge,equals:equals,element:jqLite,forEach:forEach,injector:createInjector,noop:noop,bind:bind,toJson:toJson,fromJson:fromJson,identity:identity,isUndefined:isUndefined,isDefined:isDefined,isString:isString,isFunction:isFunction,isObject:isObject,isNumber:isNumber,isElement:isElement,isArray:isArray,version:version,isDate:isDate,callbacks:{$$counter:0},getTestability:getTestability,reloadWithDebugInfo:reloadWithDebugInfo,$$minErr:minErr,$$csp:csp,$$encodeUriSegment:encodeUriSegment,$$encodeUriQuery:encodeUriQuery,$$lowercase:lowercase,$$stringify:stringify,$$uppercase:uppercase}),(angularModule=function(window){var $injectorMinErr=minErr("$injector"),ngMinErr=minErr("ng");function ensure(obj,name,factory){return obj[name]||(obj[name]=factory())}var angular=ensure(window,"angular",Object);return angular.$$minErr=angular.$$minErr||minErr,ensure(angular,"module",function(){var modules={};return function(name,requires,configFn){var info={};return function(name,context){if("hasOwnProperty"===name)throw ngMinErr("badname","hasOwnProperty is not a valid {0} name",context)}(name,"module"),requires&&modules.hasOwnProperty(name)&&(modules[name]=null),ensure(modules,name,function(){if(!requires)throw $injectorMinErr("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",n
1ame);var invokeQueue=[],configBlocks=[],runBlocks=[],config=invokeLater("$injector","invoke","push",configBlocks),moduleInstance={_invokeQueue:invokeQueue,_configBlocks:configBlocks,_runBlocks:runBlocks,info:function(value){if(isDefined(value)){if(!isObject(value))throw ngMinErr("aobj","Argument '{0}' must be an object","value");return info=value,this}return info},requires:requires,name:name,provider:invokeLaterAndSetModuleName("$provide","provider"),factory:invokeLaterAndSetModuleName("$provide","factory"),service:invokeLaterAndSetModuleName("$provide","service"),value:invokeLater("$provide","value"),constant:invokeLater("$provide","constant","unshift"),decorator:invokeLaterAndSetModuleName("$provide","decorator",configBlocks),animation:invokeLaterAndSetModuleName("$animateProvider","register"),filter:invokeLaterAndSetModuleName("$filterProvider","register"),controller:invokeLaterAndSetModuleName("$controllerProvider","register"),directive:invokeLaterAndSetModuleName("$compileProvider","directive"),component:invokeLaterAndSetModuleName("$compileProvider","component"),config:config,run:function(block){return runBlocks.push(block),this}};return configFn&&config(configFn),moduleInstance;function invokeLater(provider,method,insertMethod,queue){return queue||(queue=invokeQueue),function(){return queue[insertMethod||"push"]([provider,method,arguments]),moduleInstance}}function invokeLaterAndSetModuleName(provider,method,queue){return queue||(queue=invokeQueue),function(recipeName,factoryFunction){return factoryFunction&&isFunction(factoryFunction)&&(factoryFunction.$$moduleName=name),queue.push([provider,method,arguments]),moduleInstance}}})}})}(window))("ng",["ngLocale"],["$provide",function($provide){$provide.provider({$$sanitizeUri:$$SanitizeUriProvider}),$provide.provider("$compile",$CompileProvider).directive({a:htmlAnchorDirective,input:inputDirective,textarea:inputDirective,form:formDirective,script:scriptDirective,select:selectDirective,option:optionDirective,ngBind:ngBindDirective,ngBindHtml:ngBindHtmlDirective,ngBindTemplate:ngBindTemplateDirective,ngClass:ngClassDirective,ngClassEven:ngClassEvenDirective,ngClassOdd:ngClassOddDirective,ngCloak:ngCloakDirective,ngController:ngControllerDirective,ngForm:ngFormDirective,ngHide:ngHideDirective,ngIf:ngIfDirective,ngInclude:ngIncludeDirective,ngInit:ngInitDirective,ngNonBindable:ngNonBindableDirective,ngPluralize:ngPluralizeDirective,ngRef:ngRefDirective,ngRepeat:ngRepeatDirective,ngShow:ngShowDirective,ngStyle:ngStyleDirective,ngSwitch:ngSwitchDirective,ngSwitchWhen:ngSwitchWhenDirective,ngSwitchDefault:ngSwitchDefaultDirective,ngOptions:ngOptionsDirective,ngTransclude:ngTranscludeDirective,ngModel:ngModelDirective,ngList:ngListDirective,ngChange:ngChangeDirective,pattern:patternDirective,ngPattern:patternDirective,required:requiredDirective,ngRequired:requiredDirective,minlength:minlengthDirective,ngMinlength:minlengthDirective,maxlength:maxlengthDirective,ngMaxlength:maxlengthDirective,ngValue:ngValueDirective,ngModelOptions:ngModelOptionsDirective}).directive({ngInclude:ngIncludeFillContentDirective}).directive(ngAttributeAliasDirectives).directive(ngEventDirectives),$provide.provider({$anchorScroll:$AnchorScrollProvider,$animate:$AnimateProvider,$animateCss:$CoreAnimateCssProvider,$$animateJs:$$CoreAnimateJsProvider,$$animateQueue:$$CoreAnimateQueueProvider,$$AnimateRunner:$$AnimateRunnerFactoryProvider,$$animateAsyncRun:$$AnimateAsyncRunFactoryProvider,$browser:$BrowserProvider,$cacheFactory:$CacheFactoryProvider,$controller:$ControllerProvider,$document:$DocumentProvider,$$isDocumentHidden:$$IsDocumentHiddenProvider,$exceptionHandler:$ExceptionHandlerProvider,$filter:$FilterProvider,$$forceReflow:$$ForceReflowProvider,$interpolate:$InterpolateProvider,$interval:$IntervalProvider,$$intervalFactory:$$IntervalFactoryProvider,$http:$HttpProvider,$httpParamSerializer:$HttpParamSerializerProvider,$httpParamSerializerJQLike:$HttpParamSerializerJQLikeProvider,$httpBackend:$HttpBackendProvider,$xhrFactory:$xhrFactoryProvider,$jsonpCallbacks:$jsonpCallbacksProvider,$location:$LocationProvider,$log:$LogProvider,$parse:$ParseProvider,$rootScope:$RootScopeProvider,$q:$QProvider,$$q:$$QProvider,$sce:$SceProvider,$sceDelegate:$SceDelegateProvider,$sniffer:$SnifferProvider,$$taskTrackerFactory:$$TaskTrackerFactoryProvi
1der,$templateCache:$TemplateCacheProvider,$templateRequest:$TemplateRequestProvider,$$testability:$$TestabilityProvider,$timeout:$TimeoutProvider,$window:$WindowProvider,$$rAF:$$RAFProvider,$$jqLite:$$jqLiteProvider,$$Map:$$MapProvider,$$cookieReader:$$CookieReaderProvider})}]).info({angularVersion:"1.7.3"})}(angular),angular.module("ngLocale",[],["$provide",function($provide){var PLURAL_CATEGORY_ONE="one",PLURAL_CATEGORY_OTHER="other";$provide.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],SHORTDAY:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],SHORTMONTH:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],STANDALONEMONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a",short:"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-¤",negSuf:"",posPre:"¤",posSuf:""}]},id:"en-us",localeID:"en_US",pluralCat:function(n,opt_precision){var i=0|n,vf=function(n,opt_precision){var v=opt_precision;void 0===v&&(v=Math.min(function(n){var i=(n+="").indexOf(".");return-1==i?0:n.length-i-1}(n),3));var base=Math.pow(10,v);return{v:v,f:(n*base|0)%base}}(n,opt_precision);return 1==i&&0==vf.v?PLURAL_CATEGORY_ONE:PLURAL_CATEGORY_OTHER}})}]),jqLite(function(){angularInit(window.document,bootstrap)}))}(window),!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>'),angular.module("ngLocale",[],["$provide",function($provide){var PLURAL_CATEGORY_ONE="one",PLURAL_CATEGORY_FEW="few",PLURAL_CATEGORY_MANY="many",PLURAL_CATEGORY_OTHER="other";$provide.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:["niedziela","poniedziaÅek","wtorek","Åroda","czwartek","piÄ
tek","sobota"],ERANAMES:["przed naszÄ
erÄ
","naszej ery"],ERAS:["p.n.e.","n.e."],FIRSTDAYOFWEEK:0,MONTH:["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","wrzeÅnia","października","listopada","grudnia"],SHORTDAY:["niedz.","pon.","wt.","År.","czw.","pt.","sob."],SHORTMONTH:["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru"],STANDALONEMONTH:["styczeÅ","luty","marzec","kwiecieÅ","maj","czerwiec","lipiec","sierpieÅ","wrzesieÅ","październik","listopad","grudzieÅ"],WEEKENDRANGE:[5,6],fullDate:"EEEE, d MMMM y",longDate:"d MMMM y",medium:"d MMM y HH:mm:ss",mediumDate:"d MMM y",mediumTime:"HH:mm:ss",short:"dd.MM.y HH:mm",shortDate:"dd.MM.y",shortTime:"HH:mm"},NUMBER_FORMATS:{CURRENCY_SYM:"zÅ",DECIMAL_SEP:",",GROUP_SEP:" ",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-",negSuf:" ¤",posPre:"",posSuf:" ¤"}]},id:"pl",localeID:"pl",pluralCat:function(n,opt_precision){var i=0|n,vf=function(n,opt_precision){var v=opt_precision;void 0===v&&(v=Math.min(function(n){var i=(n+="").indexOf(".");return-1==i?0:n.length-i-1}(n),3));var base=Math.pow(10,v);return{v:v,f:(n*base|0)%base}}(n,opt_precision);return 1==i&&0==vf.v?PLURAL_CATEGORY_ONE:0==vf.v&&2<=i%10&&i%10<=4&&(i%100<12||14<i%100)?PLURAL_CATEGORY_FEW:0==vf.v&&1!=i&&0<=i%10&&i%10<=1||0==vf.v&&5<=i%10&&i%10<=9||0==vf.v&&12<=i%100&&i%100<=14?PLURAL_CATEGORY_MANY:PLURAL_CATEGORY_OTHER}})}]),function(window,angular){"use strict";function $$CookieWriter($document,$log,$browser){var cookiePath=$browser.baseHref(),rawDocument=$document[0];return function(name,value,options){rawDocument.cookie=function(name,value,options){var path,expires;expires=(options=options||{}).expires,path=angular.isDefined(options.path)?options.path:cookiePath,angular.isUndefined(value)&&(expires="Thu, 01 Jan 1970 00:00:00 GMT",value=""),angular.isString(expires)&&(expires=new Date(expires));var str=encodeURIComponent(name)+"="+encodeURIComponent(value);str+=path?";path="+path:"",str+=options.domain?";domain="+options.domain:"",str+=expires?";expires="+expires.toUTCString():"",str+=options.secure?";secure":"";var cookieLength=(str+=options.samesite?";samesite="+options.samesite:"").length+1;return 4096<cookieLength&&$log.warn("Cookie '"+name+"' possibly not set or overflowed because it was too large ("+cookieLength+" > 4096 bytes)!"),str}(name,value,options)}}angular.module("ngCookies",["ng"]).info({angularVersion:"1.7.3"}).provider("$cookies",[function(){var defaults=this.defaults={};function calcOptions(options){return options?angular.extend({},defaults,options):defaults}this.$get=["$$cookieReader","$$cookieWriter",function($$cookieReader,$$cookieWriter){return{get:function(key){return $$cookieReader()[key]},getObject:function(key){var value=this.get(key);return value?angular.fromJson(value):value},getAll:function(){return $$cookieReader()},put:function(key,value,options){$$cookieWriter(key,value,calcOptions(options))},putObject:function(key,value,options){this.put(key,angular.toJson(value),options)},remove:function(key,options){$$cookieWriter(key,void 0,calcOptions(options))}}}]}]),$$CookieWriter.$inject=["$document","$log","$browser"],angular.module("ngCookies").provider("$$cookieWriter",function(){this.$get=$$CookieWriter})}(window,window.angular),function(window,angular){"use strict";var TRANSITION_PROP,TRANSITIONEND_EVENT,ANIMATION_PROP,ANIMATIONEND_EVENT,ELEMENT_NODE=1,ADD_CLASS_SUFFIX="-add",REMOVE_CLASS_SUFFIX="-remove",EVENT_CLASS_PREFIX="ng-";TRANSITIONEND_EVENT=void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend?("-webkit-",TRANSITION_PROP="WebkitTransition","webkitTransitionEnd transitionend"):(TRANSITION_PROP="transition","transitionend"),ANIMATIONEND_EVENT=void 0===window.onanimationend&&void 0!==window.onwebkitanimationend?("-webkit-",ANIMATION_PROP="WebkitAnimation","webkitAnimationEnd animationend"):(ANIMATION_PROP="animation","animationend");var ANIMATION_PLAYSTATE_KEY="PlayState",ANIMATION_DELAY_PROP=ANIMATION_PROP+"Delay",ANIMATION_DURATION_PROP=ANIMATION_PROP+"Duration",TRANSITION_DELAY_PROP=TRANSITION_PROP+"Delay",TRANSITION_DURATION_PROP=TRANSITION_PROP+"Duration",ngMinErr=angular.$$minErr("ng");function assertArg(arg,name,reason){if(!arg)throw ngMinErr("areq","Argument '{0}' is {1}",name||"?",reason||"required");return arg}function mergeClasses(a,b){return a||b?a?b?(isArray(a)&&(a=a.join(" ")),isArray(b)&&(b=b.join(" ")),a+" "+b):a:b:""}function pendClasses(classes,fix,isPrefix){var className="";
1return classes=isArray(classes)?classes:classes&&isString(classes)&&classes.length?classes.split(/\s+/):[],forEach(classes,function(klass,i){klass&&0<klass.length&&(className+=0<i?" ":"",className+=isPrefix?fix+klass:klass+fix)}),className}function stripCommentsFromElement(element){if(element instanceof jqLite)switch(element.length){case 0:return element;case 1:if(element[0].nodeType===ELEMENT_NODE)return element;break;default:return jqLite(extractElementNode(element))}if(element.nodeType===ELEMENT_NODE)return jqLite(element)}function extractElementNode(element){if(!element[0])return element;for(var i=0;i<element.length;i++){var elm=element[i];if(elm.nodeType===ELEMENT_NODE)return elm}}function applyAnimationClassesFactory($$jqLite){return function(element,options){options.addClass&&(!function($$jqLite,element,className){forEach(element,function(elm){$$jqLite.addClass(elm,className)})}($$jqLite,element,options.addClass),options.addClass=null),options.removeClass&&(!function($$jqLite,element,className){forEach(element,function(elm){$$jqLite.removeClass(elm,className)})}($$jqLite,element,options.removeClass),options.removeClass=null)}}function prepareAnimationOptions(options){if(!(options=options||{}).$$prepared){var domOperation=options.domOperation||noop;options.domOperation=function(){options.$$domOperationFired=!0,domOperation(),domOperation=noop},options.$$prepared=!0}return options}function applyAnimationStyles(element,options){applyAnimationFromStyles(element,options),applyAnimationToStyles(element,options)}function applyAnimationFromStyles(element,options){options.from&&(element.css(options.from),options.from=null)}function applyAnimationToStyles(element,options){options.to&&(element.css(options.to),options.to=null)}function mergeAnimationDetails(element,oldAnimation,newAnimation){var target=oldAnimation.options||{},newOptions=newAnimation.options||{},toAdd=(target.addClass||"")+" "+(newOptions.addClass||""),toRemove=(target.removeClass||"")+" "+(newOptions.removeClass||""),classes=function(existing,toAdd,toRemove){var flags={};existing=splitClassesToLookup(existing),toAdd=splitClassesToLookup(toAdd),forEach(toAdd,function(value,key){flags[key]=1}),toRemove=splitClassesToLookup(toRemove),forEach(toRemove,function(value,key){flags[key]=1===flags[key]?null:-1});var classes={addClass:"",removeClass:""};function splitClassesToLookup(classes){isString(classes)&&(classes=classes.split(" "));var obj={};return forEach(classes,function(klass){klass.length&&(obj[klass]=!0)}),obj}return forEach(flags,function(val,klass){var prop,allow;1===val?(prop="addClass",allow=!existing[klass]||existing[klass+REMOVE_CLASS_SUFFIX]):-1===val&&(prop="removeClass",allow=existing[klass]||existing[klass+ADD_CLASS_SUFFIX]),allow&&(classes[prop].length&&(classes[prop]+=" "),classes[prop]+=klass)}),classes}(element.attr("class"),toAdd,toRemove);newOptions.preparationClasses&&(target.preparationClasses=concatWithSpace(newOptions.preparationClasses,target.preparationClasses),delete newOptions.preparationClasses);var realDomOperation=target.domOperation!==noop?target.domOperation:null;return extend(target,newOptions),realDomOperation&&(target.domOperation=realDomOperation),classes.addClass?target.addClass=classes.addClass:target.addClass=null,classes.removeClass?target.removeClass=classes.removeClass:target.removeClass=null,oldAnimation.addClass=target.addClass,oldAnimation.removeClass=target.removeClass,target}function getDomNode(element){return element instanceof jqLite?element[0]:element}function blockTransitions(node,duration){var value=duration?"-"+duration+"s":"";return applyInlineStyle(node,[TRANSITION_DELAY_PROP,value]),[TRANSITION_DELAY_PROP,value]}function blockKeyframeAnimations(node,applyBlock){var value=applyBlock?"paused":"",key=ANIMATION_PROP+ANIMATION_PLAYSTATE_KEY;return applyInlineStyle(node,[key,value]),[key,value]}function applyInlineStyle(node,styleTuple){var prop=styleTuple[0],value=styleTuple[1];node.style[prop]=value}function concatWithSpace(a,b){return a?b?a+" "+b:a:b}var $$AnimateChildrenDirective=["$interpolate",function($interpolate){return{link:function(scope,element,attrs){var val=attrs.ngAnimateChildren;function setData(value){value="on"===value||"true"===value,element.data("$$ngAnimateChildren",value)}isString(val)&&0===val.length?element.data("$$ngAnimateChildren",!0):(setData($interpolate(val)(scope)),attrs.$observe("ngAnimateChildren",setData))}}}],DETECT_CSS_PROPERTIES={transitionDuration:TRANSITION_DURATION_PROP,transitionDelay:TRANSITION_DELAY_PROP,transitionProperty:TRANSITION_PROP+"Property",animationDuration:ANIMATION_DURATION_PROP,animationDelay:ANIMATION_DELAY_PROP,animationIterationCount:ANIMATION_PROP+"IterationCount"},DETECT_STAGGER_CSS_PROPERTIES={transitionDuration:TRANSITION_DURATION_PROP,transitionDelay:TRANSITION_DELAY_PROP,animationDuration:ANIMATION_DURATION_PROP,animationDelay:ANIMATION_DELAY_PROP};function getCssDelayStyle(delay,isKeyframeAnimation){return[isKeyframeAnimation?ANIMATION_DELAY_PROP:TRANSITION_DELAY_PROP,delay+"s"]}function computeCssStyles($window,element,properties){var styles=Object.create(null),detectedStyles=$window.getComputedStyle(element)||{};return forEach(properties,function(formalStyleName,actualStyleName){var maxValue,values,val=detectedStyles[formalStyleName];if(val){var c=val.charAt(0);("-"===c||"+"===c||0<=c)&&(maxValue=0,values=val.split(/\s*,\s*/),forEac
1h(values,function(value){"s"===value.charAt(value.length-1)&&(value=value.substring(0,value.length-1)),value=parseFloat(value)||0,maxValue=maxValue?Math.max(value,maxValue):value}),val=maxValue),0===val&&(val=null),styles[actualStyleName]=val}}),styles}function truthyTimingValue(val){return 0===val||null!=val}function getCssTransitionDurationStyle(duration,applyOnlyDuration){var style=TRANSITION_PROP,value=duration+"s";return applyOnlyDuration?style+="Duration":value+=" linear all",[style,value]}function registerRestorableStyles(backup,node,properties){forEach(properties,function(prop){backup[prop]=isDefined(backup[prop])?backup[prop]:node.style.getPropertyValue(prop)})}var copy,extend,forEach,isArray,isDefined,isElement,isFunction,isObject,isString,isUndefined,jqLite,noop,$AnimateCssProvider=["$animateProvider",function($animateProvider){this.$get=["$window","$$jqLite","$$AnimateRunner","$timeout","$$animateCache","$$forceReflow","$sniffer","$$rAFScheduler","$$animateQueue",function($window,$$jqLite,$$AnimateRunner,$timeout,$$animateCache,$$forceReflow,$sniffer,$$rAFScheduler,$$animateQueue){var applyAnimationClasses=applyAnimationClassesFactory($$jqLite);var rafWaitQueue=[];function waitUntilQuiet(callback){rafWaitQueue.push(callback),$$rAFScheduler.waitUntilQuiet(function(){$$animateCache.flush();for(var pageWidth=$$forceReflow(),i=0;i<rafWaitQueue.length;i++)rafWaitQueue[i](pageWidth);rafWaitQueue.length=0})}function computeTimings(node,className,cacheKey,allowNoDuration){var timings=function(node,className,cacheKey,allowNoDuration,properties){var timings=$$animateCache.get(cacheKey);timings||"infinite"===(timings=computeCssStyles($window,node,properties)).animationIterationCount&&(timings.animationIterationCount=1);var hasDuration=allowNoDuration||0<timings.transitionDuration||0<timings.animationDuration;return $$animateCache.put(cacheKey,timings,hasDuration),timings}(node,0,cacheKey,allowNoDuration,DETECT_CSS_PROPERTIES),aD=timings.animationDelay,tD=timings.transitionDelay;return timings.maxDelay=aD&&tD?Math.max(aD,tD):aD||tD,timings.maxDuration=Math.max(timings.animationDuration*timings.animationIterationCount,timings.transitionDuration),timings}return function(element,initialOptions){var options=initialOptions||{};options.$$prepared||(options=prepareAnimationOptions(copy(options)));var restoreStyles={},node=getDomNode(element);if(!node||!node.parentNode||!$$animateQueue.enabled())return closeAndReturnNoopAnimator();var animationClosed,animationPaused,animationCompleted,runner,runnerHost,maxDelay,maxDelayTime,maxDuration,maxDurationTime,startTime,temporaryStyles=[],styles=(element.attr("class"),function(options){var styles={};return options&&(options.to||options.from)&&(styles.to=options.to,styles.from=options.from),styles}(options)),events=[];if(0===options.duration||!$sniffer.animations&&!$sniffer.transitions)return closeAndReturnNoopAnimator();var method=options.event&&isArray(options.event)?options.event.join(" "):options.event,isStructural=method&&options.structural,structuralClassName="",addRemoveClassName="";isStructural?structuralClassName=pendClasses(method,EVENT_CLASS_PREFIX,!0):method&&(structuralClassName=method),options.addClass&&(addRemoveClassName+=pendClasses(options.addClass,ADD_CLASS_SUFFIX)),options.removeClass&&(addRemoveClassName.length&&(addRemoveClassName+=" "),addRemoveClassName+=pendClasses(options.removeClass,REMOVE_CLASS_SUFFIX)),options.applyClassesEarly&&addRemoveClassName.length&&applyAnimationClasses(element,options);var preparationClasses=[structuralClassName,addRemoveClassName].join(" ").trim(),hasToStyles=styles.to&&0<Object.keys(styles.to).length;if(!(0<(options.keyframeStyle||"").length)&&!hasToStyles&&!preparationClasses)return closeAndReturnNoopAnimator();var stagger,applyOnlyDuration,cacheKey=$$animateCache.cacheKey(node,method,options.addClass,options.removeClass);if($$animateCache.containsCachedAnimationWithoutDuration(cacheKey))return preparationClasses=null,closeAndReturnNoopAnimator();if(0<options.stagger){var staggerVal=parseFloat(options.stagger);stagger={transitionDelay:staggerVal,animationDelay:staggerVal,transitionDuration:0,animationDuration:0}}else stagger=function(node,className,cacheKey,properties){var stagger,staggerCacheKey="stagger-"+cacheKey;if(0<$$animateCache.count(cacheKey)&&!(stagger=$$animateCache.get(staggerCacheKey))){var staggerClassName=pendClasses(className,"-stagger");$$jqLite.addClass(node,staggerClassName),(stagger=computeCssStyles($window,node,properties)).animationDuration=Math.max(stagger.animationDuration,0),stagger.transitionDuration=Math.max(stagger.transitionDuration,0),$$jqLite.removeClass(node,staggerClassName),$$animateCache.put(staggerCacheKey,stagger,!0)}return stagger||{}}(node,preparationClasses,cacheKey,DETECT_STAGGER_CSS_PROPERTIES);if(options.$$skipPreparationClasses||$$jqLite.addClass(element,preparationClasses),options.transitionStyle){var transitionStyle=[TRANSITION_PROP,options.transitionStyle];applyInlineStyle(node,transitionStyle),temporaryStyles.push(transitionStyle)}if(0<=options.duration){applyOnlyDuration=0<node.style[TRANSITION_PROP].length;var durationStyle=getCssTransitionDurationStyle(options.duration,applyOnlyDuration);applyInlineStyle(node,durationStyle),temporaryStyles.push(durationStyle)}if(options.keyframeStyle){var keyframeStyle=[ANIMATION_PROP,options.keyframeStyle];
1applyInlineStyle(node,keyframeStyle),temporaryStyles.push(keyframeStyle)}var itemIndex=stagger?0<=options.staggerIndex?options.staggerIndex:$$animateCache.count(cacheKey):0,isFirst=0===itemIndex;isFirst&&!options.skipBlocking&&blockTransitions(node,9999);var timings=computeTimings(node,0,cacheKey,!isStructural),relativeDelay=timings.maxDelay;maxDelay=Math.max(relativeDelay,0),maxDuration=timings.maxDuration;var flags={};if(flags.hasTransitions=0<timings.transitionDuration,flags.hasAnimations=0<timings.animationDuration,flags.hasTransitionAll=flags.hasTransitions&&"all"===timings.transitionProperty,flags.applyTransitionDuration=hasToStyles&&(flags.hasTransitions&&!flags.hasTransitionAll||flags.hasAnimations&&!flags.hasTransitions),flags.applyAnimationDuration=options.duration&&flags.hasAnimations,flags.applyTransitionDelay=truthyTimingValue(options.delay)&&(flags.applyTransitionDuration||flags.hasTransitions),flags.applyAnimationDelay=truthyTimingValue(options.delay)&&flags.hasAnimations,flags.recalculateTimingStyles=0<addRemoveClassName.length,(flags.applyTransitionDuration||flags.applyAnimationDuration)&&(maxDuration=options.duration?parseFloat(options.duration):maxDuration,flags.applyTransitionDuration&&(flags.hasTransitions=!0,timings.transitionDuration=maxDuration,applyOnlyDuration=0<node.style[TRANSITION_PROP+"Property"].length,temporaryStyles.push(getCssTransitionDurationStyle(maxDuration,applyOnlyDuration))),flags.applyAnimationDuration&&(flags.hasAnimations=!0,timings.animationDuration=maxDuration,temporaryStyles.push([ANIMATION_DURATION_PROP,maxDuration+"s"]))),0===maxDuration&&!flags.recalculateTimingStyles)return closeAndReturnNoopAnimator();var delayStyle,activeClasses=pendClasses(preparationClasses,"-active");null!=options.delay&&("boolean"!=typeof options.delay&&(delayStyle=parseFloat(options.delay),maxDelay=Math.max(delayStyle,0)),flags.applyTransitionDelay&&temporaryStyles.push(getCssDelayStyle(delayStyle)),flags.applyAnimationDelay&&temporaryStyles.push(getCssDelayStyle(delayStyle,!0)));return null==options.duration&&0<timings.transitionDuration&&(flags.recalculateTimingStyles=flags.recalculateTimingStyles||isFirst),maxDelayTime=1e3*maxDelay,maxDurationTime=1e3*maxDuration,options.skipBlocking||(flags.blockTransition=0<timings.transitionDuration,flags.blockKeyframeAnimation=0<timings.animationDuration&&0<stagger.animationDelay&&0===stagger.animationDuration),options.from&&(options.cleanupStyles&®isterRestorableStyles(restoreStyles,node,Object.keys(options.from)),applyAnimationFromStyles(element,options)),flags.blockTransition||flags.blockKeyframeAnimation?applyBlocking(maxDuration):options.skipBlocking||blockTransitions(node,!1),{$$willAnimate:!0,end:endFn,start:function(){if(!animationClosed)return runner=new $$AnimateRunner(runnerHost={end:endFn,cancel:cancelFn,resume:null,pause:null}),waitUntilQuiet(start),runner}};function endFn(){close()}function cancelFn(){close(!0)}function close(rejected){if(!(animationClosed||animationCompleted&&animationPaused)){animationPaused=!(animationClosed=!0),preparationClasses&&!options.$$skipPreparationClasses&&$$jqLite.removeClass(element,preparationClasses),activeClasses&&$$jqLite.removeClass(element,activeClasses),blockKeyframeAnimations(node,!1),blockTransitions(node,!1),forEach(temporaryStyles,function(entry){node.style[entry[0]]=""}),applyAnimationClasses(element,options),applyAnimationStyles(element,options),Object.keys(restoreStyles).length&&forEach(restoreStyles,function(value,prop){value?node.style.setProperty(prop,value):node.style.removeProperty(prop)}),options.onDone&&options.onDone(),events&&events.length&&element.off(events.join(" "),onAnimationProgress);var animationTimerData=element.data("$$animateCss");animationTimerData&&($timeout.cancel(animationTimerData[0].timer),element.removeData("$$animateCss")),runner&&runner.complete(!rejected)}}function applyBlocking(duration){flags.blockTransition&&blockTransitions(node,duration),flags.blockKeyframeAnimation&&blockKeyframeAnimations(node,!!duration)}function closeAndReturnNoopAnimator(){return runner=new $$AnimateRunner({end:endFn,cancel:cancelFn}),waitUntilQuiet(noop),close(),{$$willAnimate:!1,start:function(){return runner},end:endFn}}function onAnimationProgress(event){event.stopPropagation();var ev=event.originalEvent||event;if(ev.target===node){var timeStamp=ev.$manualTimeStamp||Date.now(),elapsedTime=parseFloat(ev.elapsedTime.toFixed(3));Math.max(timeStamp-startTime,0)>=maxDelayTime&&maxDuration<=elapsedTime&&(animationCompleted=!0,close())}}
1function start(){if(!animationClosed)if(node.parentNode){var playPause=function(playAnimation){if(animationCompleted)animationPaused&&playAnimation&&(animationPaused=!1,close());else if(animationPaused=!playAnimation,timings.animationDuration){var value=blockKeyframeAnimations(node,animationPaused);animationPaused?temporaryStyles.push(value):(val=value,index=(arr=temporaryStyles).indexOf(val),0<=val&&arr.splice(index,1))}var arr,val,index},maxStagger=0<itemIndex&&(timings.transitionDuration&&0===stagger.transitionDuration||timings.animationDuration&&0===stagger.animationDuration)&&Math.max(stagger.animationDelay,stagger.transitionDelay);maxStagger?$timeout(triggerAnimationStart,Math.floor(maxStagger*itemIndex*1e3),!1):triggerAnimationStart(),runnerHost.resume=function(){playPause(!0)},runnerHost.pause=function(){playPause(!1)}}else close();function triggerAnimationStart(){if(!animationClosed){if(applyBlocking(!1),forEach(temporaryStyles,function(entry){var key=entry[0],value=entry[1];node.style[key]=value}),applyAnimationClasses(element,options),$$jqLite.addClass(element,activeClasses),flags.recalculateTimingStyles){if(node.getAttribute("class")+" "+preparationClasses,cacheKey=$$animateCache.cacheKey(node,method,options.addClass,options.removeClass),timings=computeTimings(node,0,cacheKey,!1),relativeDelay=timings.maxDelay,maxDelay=Math.max(relativeDelay,0),0===(maxDuration=timings.maxDuration))return void close();flags.hasTransitions=0<timings.transitionDuration,flags.hasAnimations=0<timings.animationDuration}if(flags.applyAnimationDelay&&(relativeDelay="boolean"!=typeof options.delay&&truthyTimingValue(options.delay)?parseFloat(options.delay):relativeDelay,maxDelay=Math.max(relativeDelay,0),timings.animationDelay=relativeDelay,delayStyle=getCssDelayStyle(relativeDelay,!0),temporaryStyles.push(delayStyle),node.style[delayStyle[0]]=delayStyle[1]),maxDelayTime=1e3*maxDelay,maxDurationTime=1e3*maxDuration,options.easing){var easeProp,easeVal=options.easing;flags.hasTransitions&&(easeProp=TRANSITION_PROP+"TimingFunction",temporaryStyles.push([easeProp,easeVal]),node.style[easeProp]=easeVal),flags.hasAnimations&&(easeProp=ANIMATION_PROP+"TimingFunction",temporaryStyles.push([easeProp,easeVal]),node.style[easeProp]=easeVal)}timings.transitionDuration&&events.push(TRANSITIONEND_EVENT),timings.animationDuration&&events.push(ANIMATIONEND_EVENT),startTime=Date.now();var timerTime=maxDelayTime+1.5*maxDurationTime,endTime=startTime+timerTime,animationsData=element.data("$$animateCss")||[],setupFallbackTimer=!0;if(animationsData.length){var currentTimerData=animationsData[0];(setupFallbackTimer=endTime>currentTimerData.expectedEndTime)?$timeout.cancel(currentTimerData.timer):animationsData.push(close)}if(setupFallbackTimer){var timer=$timeout(onAnimationExpired,timerTime,!1);animationsData[0]={timer:timer,expectedEndTime:endTime},animationsData.push(close),element.data("$$animateCss",animationsData)}events.length&&element.on(events.join(" "),onAnimationProgress),options.to&&(options.cleanupStyles&®isterRestorableStyles(restoreStyles,node,Object.keys(options.to)),applyAnimationToStyles(element,options))}}function onAnimationExpired(){var animationsData=element.data("$$animateCss");if(animationsData){for(var i=1;i<animationsData.length;i++)animationsData[i]();element.removeData("$$animateCss")}}}}}]}],$$AnimateCssDriverProvider=["$$animationProvider",function($$animationProvider){$$animationProvider.drivers.push("$$animateCssDriver");this.$get=["$animateCss","$rootScope","$$AnimateRunner","$rootElement","$sniffer","$$jqLite","$document",function($animateCss,$rootScope,$$AnimateRunner,$rootElement,$sniffer,$$jqLite,$document){if(!$sniffer.animations&&!$sniffer.transitions)return noop;var node,bodyNode=$document[0].body,rootNode=getDomNode($rootElement),rootBodyElement=jqLite((node=rootNode).parentNode&&11===node.parentNode.nodeType||bodyNode.contains(rootNode)?rootNode:bodyNode);return function(animationDetails){return animationDetails.from&&animationDetails.to?function(from,to,classes,anchors){var fromAnimation=prepareRegularAnimation(from),toAnimation=prepareRegularAnimation(to),anchorAnimations=[];if(forEach(anchors,function(anchor){var animator=function(classe
1s,outAnchor,inAnchor){var clone=jqLite(getDomNode(outAnchor).cloneNode(!0)),startingClasses=filterCssClasses(getClassVal(clone));outAnchor.addClass("ng-animate-shim"),inAnchor.addClass("ng-animate-shim"),clone.addClass("ng-anchor"),rootBodyElement.append(clone);var animatorIn,animator,animatorOut=(animator=$animateCss(clone,{addClass:"ng-anchor-out",delay:!0,from:calculateAnchorStyles(outAnchor)})).$$willAnimate?animator:null;if(!animatorOut&&!(animatorIn=prepareInAnimation()))return end();var startingAnimator=animatorOut||animatorIn;return{start:function(){var runner,currentAnimation=startingAnimator.start();return currentAnimation.done(function(){if(currentAnimation=null,!animatorIn&&(animatorIn=prepareInAnimation()))return(currentAnimation=animatorIn.start()).done(function(){currentAnimation=null,end(),runner.complete()}),currentAnimation;end(),runner.complete()}),runner=new $$AnimateRunner({end:endFn,cancel:endFn});function endFn(){currentAnimation&¤tAnimation.end()}}};function calculateAnchorStyles(anchor){var styles={},coords=getDomNode(anchor).getBoundingClientRect();return forEach(["width","height","top","left"],function(key){var value=coords[key];switch(key){case"top":value+=bodyNode.scrollTop;break;case"left":value+=bodyNode.scrollLeft}styles[key]=Math.floor(value)+"px"}),styles}function getClassVal(element){return element.attr("class")||""}function prepareInAnimation(){var endingClasses=filterCssClasses(getClassVal(inAnchor)),toAdd=getUniqueValues(endingClasses,startingClasses),toRemove=getUniqueValues(startingClasses,endingClasses),animator=$animateCss(clone,{to:calculateAnchorStyles(inAnchor),addClass:"ng-anchor-in "+toAdd,removeClass:"ng-anchor-out "+toRemove,delay:!0});return animator.$$willAnimate?animator:null}function end(){clone.remove(),outAnchor.removeClass("ng-animate-shim"),inAnchor.removeClass("ng-animate-shim")}}(0,anchor.out,anchor.in);animator&&anchorAnimations.push(animator)}),!fromAnimation&&!toAnimation&&0===anchorAnimations.length)return;return{start:function(){var animationRunners=[];fromAnimation&&animationRunners.push(fromAnimation.start()),toAnimation&&animationRunners.push(toAnimation.start()),forEach(anchorAnimations,function(animation){animationRunners.push(animation.start())});var runner=new $$AnimateRunner({end:endFn,cancel:endFn});return $$AnimateRunner.all(animationRunners,function(status){runner.complete(status)}),runner;function endFn(){forEach(animationRunners,function(runner){runner.end()})}}}}(animationDetails.from,animationDetails.to,animationDetails.classes,animationDetails.anchors):prepareRegularAnimation(animationDetails)};function filterCssClasses(classes){return classes.replace(/\bng-\S+\b/g,"")}function getUniqueValues(a,b){return isString(a)&&(a=a.split(" ")),isString(b)&&(b=b.split(" ")),a.filter(function(val){return-1===b.indexOf(val)}).join(" ")}function prepareRegularAnimation(animationDetails){var element=animationDetails.element,options=animationDetails.options||{};animationDetails.structural&&(options.event=animationDetails.event,options.structural=!0,options.applyClassesEarly=!0,"leave"===animationDetails.event&&(options.onDone=options.domOperation)),options.preparationClasses&&(options.event=concatWithSpace(options.event,options.preparationClasses));var animator=$animateCss(element,options);return animator.$$willAnimate?animator:null}}]}],$$AnimateJsProvider=["$animateProvider",function($animateProvider){this.$get=["$injector","$$AnimateRunner","$$jqLite",function($injector,$$AnimateRunner,$$jqLite){var applyAnimationClasses=applyAnimationClassesFactory($$jqLite);return function(element,event,classes,options){var animationClosed=!1;3===arguments.length&&isObject(classes)&&(options=classes,classes=null),options=prepareAnimationOptions(options),classes||(classes=element.attr("class")||"",options.addClass&&(classes+=" "+options.addClass),options.removeClass&&(classes+=" "+options.removeClass));var before,after,afterFn,beforeFn,runner,classesToAdd=options.addClass,classesToRemove=options.removeClass,animations=function(classes){classes=isArray(classes)?classes:classe
1s.split(" ");for(var matches=[],flagMap={},i=0;i<classes.length;i++){var klass=classes[i],animationFactory=$animateProvider.$$registeredAnimations[klass];animationFactory&&!flagMap[klass]&&(matches.push($injector.get(animationFactory)),flagMap[klass]=!0)}return matches}(classes);animations.length&&(afterFn="leave"===event?(beforeFn="leave","afterLeave"):(beforeFn="before"+event.charAt(0).toUpperCase()+event.substr(1),event),"enter"!==event&&"move"!==event&&(before=packageAnimations(element,event,options,animations,beforeFn)),after=packageAnimations(element,event,options,animations,afterFn));if(before||after)return{$$willAnimate:!0,end:function(){return runner?runner.end():(close(),(runner=new $$AnimateRunner).complete(!0)),runner},start:function(){if(runner)return runner;var closeActiveAnimations;runner=new $$AnimateRunner;var chain=[];return before&&chain.push(function(fn){closeActiveAnimations=before(fn)}),chain.length?chain.push(function(fn){applyOptions(),fn(!0)}):applyOptions(),after&&chain.push(function(fn){closeActiveAnimations=after(fn)}),runner.setHost({end:function(){endAnimations()},cancel:function(){endAnimations(!0)}}),$$AnimateRunner.chain(chain,onComplete),runner;function onComplete(success){close(),runner.complete(success)}function endAnimations(cancelled){animationClosed||((closeActiveAnimations||noop)(cancelled),onComplete(cancelled))}}};function applyOptions(){options.domOperation(),applyAnimationClasses(element,options)}function close(){animationClosed=!0,applyOptions(),applyAnimationStyles(element,options)}function groupEventedAnimations(element,event,options,animations,fnName){var operations=[];return forEach(animations,function(ani){var animation=ani[fnName];animation&&operations.push(function(){var runner,endProgressCb,resolved=!1,onAnimationComplete=function(rejected){resolved||(resolved=!0,(endProgressCb||noop)(rejected),runner.complete(!rejected))};return runner=new $$AnimateRunner({end:function(){onAnimationComplete()},cancel:function(){onAnimationComplete(!0)}}),endProgressCb=function(fn,element,event,options,onDone){var args;switch(event){case"animate":args=[element,options.from,options.to,onDone];break;case"setClass":args=[element,classesToAdd,classesToRemove,onDone];break;case"addClass":args=[element,classesToAdd,onDone];break;case"removeClass":args=[element,classesToRemove,onDone];break;default:args=[element,onDone]}args.push(options);var value=fn.apply(fn,args);if(value)if(isFunction(value.start)&&(value=value.start()),value instanceof $$AnimateRunner)value.done(onDone);else if(isFunction(value))return value;return noop}(animation,element,event,options,function(result){onAnimationComplete(!1===result)}),runner})}),operations}function packageAnimations(element,event,options,animations,fnName){var a,b,operations=groupEventedAnimations(element,event,options,animations,fnName);0===operations.length&&("beforeSetClass"===fnName?(a=groupEventedAnimations(element,"removeClass",options,animations,"beforeRemoveClass"),b=groupEventedAnimations(element,"addClass",options,animations,"beforeAddClass")):"setClass"===fnName&&(a=groupEventedAnimations(element,"removeClass",options,animations,"removeClass"),b=groupEventedAnimations(element,"addClass",options,animations,"addClass")),a&&(operations=operations.concat(a)),b&&(operations=operations.concat(b)));if(0!==operations.length)return function(callback){var runners=[];return operations.length&&forEach(operations,function(animateFn){runners.push(animateFn())}),runners.length?$$AnimateRunner.all(runners,callback):callback(),function(reject){forEach(runners,function(runner){reject?runner.cancel():runner.end()})}}}}}]}],$$AnimateJsDriverProvider=["$$animationProvider",function($$animationProvider){$$animationProvider.drivers.push("$$animateJsDriver"),this.$get=["$$animateJs","$$AnimateRunner",function($$animateJs,$$AnimateRunner){return function(animationDetails){if(animationDetails.from&&animationDetails.to){var fromAnimation=prepareAnimation(animationDetails.from),toAnimation=prepareAnimation(animationDetails.to);if(!fromAnimation&&!toAnimation)return;return{start:function(){var animationRunners=[];fromAnimation&&animationRunners.push(fromAnimation.start()),toAnimation&&animationRunners.push(toAnimation.start()),$$AnimateRunner.all(animationRunners,function(status){runner.complete(status)});var runner=new $$AnimateRunner({end:endFnFactory(),cancel:endFnFactory()});return runner;function endFnFactory(){return function(){forEach(animationRunners,function(runner){runner.end()})}}}}}
1return prepareAnimation(animationDetails)};function prepareAnimation(animationDetails){var element=animationDetails.element,event=animationDetails.event,options=animationDetails.options,classes=animationDetails.classes;return $$animateJs(element,event,classes,options)}}]}],$$AnimateQueueProvider=["$animateProvider",function($animateProvider){var ONE_SPACE=" ",rules=this.rules={skip:[],cancel:[],join:[]};function getEventData(options){return{addClass:options.addClass,removeClass:options.removeClass,from:options.from,to:options.to}}function hasMatchingClasses(newClassString,currentClassString){if(newClassString&¤tClassString){var currentClassMap=function(classString){if(!classString)return null;var keys=classString.split(ONE_SPACE),map=Object.create(null);return forEach(keys,function(key){map[key]=!0}),map}(currentClassString);return newClassString.split(ONE_SPACE).some(function(className){return currentClassMap[className]})}}function isAllowed(ruleType,currentAnimation,previousAnimation){return rules[ruleType].some(function(fn){return fn(currentAnimation,previousAnimation)})}function hasAnimationClasses(animation,and){var a=0<(animation.addClass||"").length,b=0<(animation.removeClass||"").length;return and?a&&b:a||b}rules.join.push(function(newAnimation,currentAnimation){return!newAnimation.structural&&hasAnimationClasses(newAnimation)}),rules.skip.push(function(newAnimation,currentAnimation){return!newAnimation.structural&&!hasAnimationClasses(newAnimation)}),rules.skip.push(function(newAnimation,currentAnimation){return"leave"===currentAnimation.event&&newAnimation.structural}),rules.skip.push(function(newAnimation,currentAnimation){return currentAnimation.structural&&2===currentAnimation.state&&!newAnimation.structural}),rules.cancel.push(function(newAnimation,currentAnimation){return currentAnimation.structural&&newAnimation.structural}),rules.cancel.push(function(newAnimation,currentAnimation){return 2===currentAnimation.state&&newAnimation.structural}),rules.cancel.push(function(newAnimation,currentAnimation){if(currentAnimation.structural)return!1;var nA=newAnimation.addClass,nR=newAnimation.removeClass,cA=currentAnimation.addClass,cR=currentAnimation.removeClass;return!(isUndefined(nA)&&isUndefined(nR)||isUndefined(cA)&&isUndefined(cR))&&(hasMatchingClasses(nA,cR)||hasMatchingClasses(nR,cA))}),this.$get=["$$rAF","$rootScope","$rootElement","$document","$$Map","$$animation","$$AnimateRunner","$templateRequest","$$jqLite","$$forceReflow","$$isDocumentHidden",function($$rAF,$rootScope,$rootElement,$document,$$Map,$$animation,$$AnimateRunner,$templateRequest,$$jqLite,$$forceReflow,$$isDocumentHidden){var activeAnimationsLookup=new $$Map,disabledElementsLookup=new $$Map,animationsEnabled=null;function removeFromDisabledElementsLookup(evt){disabledElementsLookup.delete(evt.target)}var deregisterWatch=$rootScope.$watch(function(){return 0===$templateRequest.totalPendingRequests},function(isEmpty){isEmpty&&(deregisterWatch(),$rootScope.$$postDigest(function(){$rootScope.$$postDigest(function(){null===animationsEnabled&&(animationsEnabled=!0)})}))}),callbackRegistry=Object.create(null),customFilter=$animateProvider.customFilter(),classNameFilter=$animateProvider.classNameFilter(),returnTrue=function(){return!0},isAnimatableByFilter=customFilter||returnTrue,isAnimatableClassName=classNameFilter?function(node,options){var className=[node.getAttribute("class"),options.addClass,options.removeClass].join(" ");return classNameFilter.test(className)}:returnTrue,applyAnimationClasses=applyAnimationClassesFactory($$jqLite);function normalizeAnimationDetails(element,animation){return mergeAnimationDetails(element,animation,{})}var contains=window.Node.prototype.contains||function(arg){return this===arg||!!(16&this.compareDocumentPosition(arg))};function filterFromRegistry(list,matchContainer,matchCallback){var containerNode=extractElementNode(matchContainer);return list.filter(function(entry){return!(entry.node===containerNode&&(!matchCallback||entry.callback===matchCallback))})}function cleanupEventListeners(phase,node){"close"!==phase||node.parentNode||$animate.off(node)}var $animate={on:function(event,container,callback){var node=extractElementNode(container);callbackRegistry[event]=callbackRegistry[event]||[],callbackRegistry[event].push({node:node,callback:callback}),jqLite(container).on("$destroy",function(){activeAnimationsLookup.get(node)||$animate.off(event,container,callback)})},off:function(event,container,callback){if(1!==arguments.length||isString(event)){var entries=callbackRegistry[event];entries&&(callbackRegistry[event]=1===arguments.length?null:filterFromRegistry(entries,container,callback))}else for(var eventType in container=event,callbackRegistry)callbackRegistry[eventType]=filterFromRegistry(callbackRegistry[eventType],container)},pin:function(element,parentElement){assertArg(isElement(element),"element","not an element"),assertArg(isElement(parentElement),"parentElement","not an element"),element.data("$ngAnimatePin",parentElement)},push:function(element,event,options,domOperation){return(options=options||{}).domOperation=domOperation,function(originalElement,event,initialOptions){var options=copy(initialOptions),element=stripCommentsFromElement(originalElement),node=getDomNode(element),parentNode=node&&node.parentNode;options=prepareAnimationOptions(options);var runner=new $$AnimateRunner,runInNextPostDigestOrNow=(postDigestCalled=!1,function(fn){postDigestCalled?fn():$rootScope.$$postDigest(function(){postDigestCalled=!0,fn()})});var postDigestCalled;isArray(options.addClass)&&(options.addClass=options.addClass.join(" "));options.addClass&&!isString(options.addClass)&&(options.addClass=null);isArray(options.removeClass)&&(options.removeClass=options.removeClass.join(" "));options.removeClass&&!isString(options.removeClass)&&(options.removeClass=null);
1options.from&&!isObject(options.from)&&(options.from=null);options.to&&!isObject(options.to)&&(options.to=null);if(!(animationsEnabled&&node&&isAnimatableByFilter(node,event,initialOptions)&&isAnimatableClassName(node,options)))return close(),runner;var isStructural=0<=["enter","move","leave"].indexOf(event),documentHidden=$$isDocumentHidden(),skipAnimations=documentHidden||disabledElementsLookup.get(node),existingAnimation=!skipAnimations&&activeAnimationsLookup.get(node)||{},hasExistingAnimation=!!existingAnimation.state;skipAnimations||hasExistingAnimation&&1===existingAnimation.state||(skipAnimations=!function(node,parentNode,event){var animateChildren,bodyNode=$document[0].body,rootNode=getDomNode($rootElement),bodyNodeDetected=node===bodyNode||"HTML"===node.nodeName,rootNodeDetected=node===rootNode,parentAnimationDetected=!1,elementDisabled=disabledElementsLookup.get(node),parentHost=jqLite.data(node,"$ngAnimatePin");parentHost&&(parentNode=getDomNode(parentHost));for(;parentNode&&(rootNodeDetected||(rootNodeDetected=parentNode===rootNode),parentNode.nodeType===ELEMENT_NODE);){var details=activeAnimationsLookup.get(parentNode)||{};if(!parentAnimationDetected){var parentNodeDisabled=disabledElementsLookup.get(parentNode);if(!0===parentNodeDisabled&&!1!==elementDisabled){elementDisabled=!0;break}!1===parentNodeDisabled&&(elementDisabled=!1),parentAnimationDetected=details.structural}if(isUndefined(animateChildren)||!0===animateChildren){var value=jqLite.data(parentNode,"$$ngAnimateChildren");isDefined(value)&&(animateChildren=value)}if(parentAnimationDetected&&!1===animateChildren)break;if(bodyNodeDetected||(bodyNodeDetected=parentNode===bodyNode),bodyNodeDetected&&rootNodeDetected)break;parentNode=rootNodeDetected||!(parentHost=jqLite.data(parentNode,"$ngAnimatePin"))?parentNode.parentNode:getDomNode(parentHost)}return(!parentAnimationDetected||animateChildren)&&!0!==elementDisabled&&rootNodeDetected&&bodyNodeDetected}(node,parentNode));if(skipAnimations)return documentHidden&¬ifyProgress(runner,event,"start",getEventData(options)),close(),documentHidden&¬ifyProgress(runner,event,"close",getEventData(options)),runner;isStructural&&function(node){var children=node.querySelectorAll("[data-ng-animate]");forEach(children,function(child){var state=parseInt(child.getAttribute("data-ng-animate"),10),animationDetails=activeAnimationsLookup.get(child);if(animationDetails)switch(state){case 2:animationDetails.runner.end();case 1:activeAnimationsLookup.delete(child)}})}(node);var newAnimation={structural:isStructural,element:element,event:event,addClass:options.addClass,removeClass:options.removeClass,close:close,options:options,runner:runner};if(hasExistingAnimation){var skipAnimationFlag=isAllowed("skip",newAnimation,existingAnimation);if(skipAnimationFlag)return 2===existingAnimation.state?(close(),runner):(mergeAnimationDetails(element,existingAnimation,newAnimation),existingAnimation.runner);var cancelAnimationFlag=isAllowed("cancel",newAnimation,existingAnimation);if(cancelAnimationFlag)if(2===existingAnimation.state)existingAnimation.runner.end();else{if(!existingAnimation.structural)return mergeAnimationDetails(element,existingAnimation,newAnimation),existingAnimation.runner;existingAnimation.close()}else{var joinAnimationFlag=isAllowed("join",newAnimation,existingAnimation);if(joinAnimationFlag){if(2!==existingAnimation.state)return function($$jqLite,element,event,options){var classes="";event&&(classes=pendClasses(event,EVENT_CLASS_PREFIX,!0)),options.addClass&&(classes=concatWithSpace(classes,pendClasses(options.addClass,ADD_CLASS_SUFFIX))),options.removeClass&&(classes=concatWithSpace(classes,pendClasses(options.removeClass,REMOVE_CLASS_SUFFIX))),classes.length&&(options.preparationClasses=classes,element.addClass(classe
1s))}(0,element,isStructural?event:null,options),event=newAnimation.event=existingAnimation.event,options=mergeAnimationDetails(element,existingAnimation,newAnimation),existingAnimation.runner;normalizeAnimationDetails(element,newAnimation)}}}else normalizeAnimationDetails(element,newAnimation);var isValidAnimation=newAnimation.structural;isValidAnimation||(isValidAnimation="animate"===newAnimation.event&&0<Object.keys(newAnimation.options.to||{}).length||hasAnimationClasses(newAnimation));if(!isValidAnimation)return close(),clearElementAnimationState(node),runner;var counter=(existingAnimation.counter||0)+1;return newAnimation.counter=counter,markElementAnimationState(node,1,newAnimation),$rootScope.$$postDigest(function(){element=stripCommentsFromElement(originalElement);var animationDetails=activeAnimationsLookup.get(node),animationCancelled=!animationDetails;animationDetails=animationDetails||{};var isValidAnimation=0<(element.parent()||[]).length&&("animate"===animationDetails.event||animationDetails.structural||hasAnimationClasses(animationDetails));if(animationCancelled||animationDetails.counter!==counter||!isValidAnimation)return animationCancelled&&(applyAnimationClasses(element,options),applyAnimationStyles(element,options)),(animationCancelled||isStructural&&animationDetails.event!==event)&&(options.domOperation(),runner.end()),void(isValidAnimation||clearElementAnimationState(node));event=!animationDetails.structural&&hasAnimationClasses(animationDetails,!0)?"setClass":animationDetails.event,markElementAnimationState(node,2);var realRunner=$$animation(element,event,animationDetails.options);runner.setHost(realRunner),notifyProgress(runner,event,"start",getEventData(options)),realRunner.done(function(status){close(!status);var animationDetails=activeAnimationsLookup.get(node);animationDetails&&animationDetails.counter===counter&&clearElementAnimationState(node),notifyProgress(runner,event,"close",getEventData(options))})}),runner;function notifyProgress(runner,event,phase,data){runInNextPostDigestOrNow(function(){var callbacks=function(targetParentNode,targetNode,event){var matches=[],entries=callbackRegistry[event];return entries&&forEach(entries,function(entry){contains.call(entry.node,targetNode)?matches.push(entry.callback):"leave"===event&&contains.call(entry.node,targetParentNode)&&matches.push(entry.callback)}),matches}(parentNode,node,event);callbacks.length?$$rAF(function(){forEach(callbacks,function(callback){callback(element,phase,data)}),cleanupEventListeners(phase,node)}):cleanupEventListeners(phase,node)}),runner.progress(event,phase,data)}function close(reject){!function(element,options){options.preparationClasses&&(element.removeClass(options.preparationClasses),options.preparationClasses=null),options.activeClasses&&(element.removeClass(options.activeClasses),options.activeClasses=null)}(element,options),applyAnimationClasses(element,options),applyAnimationStyles(element,options),options.domOperation(),runner.complete(!reject)}}(element,event,options)},enabled:function(element,bool){var argCount=arguments.length;if(0===argCount)bool=!!animationsEnabled;else if(isElement(element)){var node=getDomNode(element);1===argCount?bool=!disabledElementsLookup.get(node):(disabledElementsLookup.has(node)||jqLite(element).on("$destroy",removeFromDisabledElementsLookup),disabledElementsLookup.set(node,!bool))}else bool=animationsEnabled=!!element;return bool}};return $animate;function clearElementAnimationState(node){node.removeAttribute("data-ng-animate"),activeAnimationsLookup.delete(node)}function markElementAnimationState(node,state,details){(details=details||{}).state=state,node.setAttribute("data-ng-animate",state);var oldValue=activeAnimationsLookup.get(node),newValue=oldValue?extend(oldValue,details):details;activeAnimationsLookup.set(node,newValue)}}]}],$$AnimationProvider=["$animateProvider",function($animateProvider){var drivers=this.drivers=[],RUNNER_STORAGE_KEY="$$animationRunner";function getRunner(element){return element.data(RUNNER_STORAGE_KEY)}this.$get=["$$jqLite","$rootScope","$injector","$$AnimateRunner","$$Map","$$rAFScheduler","$$animateCache",function($$jqLite,$rootScope,$injector,$$AnimateRunner,$$Map,$$rAFScheduler,$$animateCache){var animationQueue=[],applyAnimationClasses=applyAnimationClassesFactory($$jqLite);return function(element,event,options){var node=getDomNode(element);options=prepareAnimationOptions(options);var isStructural=0<=["enter","move","leave"].indexOf(event),runner=new $$AnimateRunner({end:function(){close()},cancel:function(){close(!0)}});if(!drivers.length)return close(),runner;var classes=mergeClasses(element.attr("class"),mergeClasses(options.addClass,options.removeClass)),tempClasse
1s=options.tempClasses;return tempClasses&&(classes+=" "+tempClasses,options.tempClasses=null),isStructural&&element.data("$$animatePrepareClasses","ng-"+event+"-prepare"),function(element,runner){element.data(RUNNER_STORAGE_KEY,runner)}(element,runner),animationQueue.push({element:element,classes:classes,event:event,structural:isStructural,options:options,beforeStart:function(){tempClasses=(tempClasses?tempClasses+" ":"")+"ng-animate",$$jqLite.addClass(element,tempClasses);var prepareClassName=element.data("$$animatePrepareClasses");prepareClassName&&($$jqLite.removeClass(element,prepareClassName),prepareClassName=null)},close:close}),element.on("$destroy",handleDestroyedElement),1<animationQueue.length||$rootScope.$$postDigest(function(){var animations=[];forEach(animationQueue,function(entry){getRunner(entry.element)?animations.push(entry):entry.close()}),animationQueue.length=0;var groupedAnimations=function(animations){var preparedAnimations=[],refLookup={};forEach(animations,function(animation,index){var element=animation.element,node=getDomNode(element),event=animation.event,enterOrMove=0<=["enter","move"].indexOf(event),anchorNodes=animation.structural?function(node){var items=node.hasAttribute("ng-animate-ref")?[node]:node.querySelectorAll("[ng-animate-ref]"),anchors=[];return forEach(items,function(node){var attr=node.getAttribute("ng-animate-ref");attr&&attr.length&&anchors.push(node)}),anchors}(node):[];if(anchorNodes.length){var direction=enterOrMove?"to":"from";forEach(anchorNodes,function(anchor){var key=anchor.getAttribute("ng-animate-ref");refLookup[key]=refLookup[key]||{},refLookup[key][direction]={animationID:index,element:jqLite(anchor)}})}else preparedAnimations.push(animation)});var usedIndicesLookup={},anchorGroups={};return forEach(refLookup,function(operations,key){var from=operations.from,to=operations.to;if(from&&to){var fromAnimation=animations[from.animationID],toAnimation=animations[to.animationID],lookupKey=from.animationID.toString();if(!anchorGroups[lookupKey]){var group=anchorGroups[lookupKey]={structural:!0,beforeStart:function(){fromAnimation.beforeStart(),toAnimation.beforeStart()},close:function(){fromAnimation.close(),toAnimation.close()}
1,classes:function(a,b){a=a.split(" "),b=b.split(" ");for(var matches=[],i=0;i<a.length;i++){var aa=a[i];if("ng-"!==aa.substring(0,3))for(var j=0;j<b.length;j++)if(aa===b[j]){matches.push(aa);break}}return matches.join(" ")}(fromAnimation.classes,toAnimation.classes),from:fromAnimation,to:toAnimation,anchors:[]};group.classes.length?preparedAnimations.push(group):(preparedAnimations.push(fromAnimation),preparedAnimations.push(toAnimation))}anchorGroups[lookupKey].anchors.push({out:from.element,in:to.element})}else{var index=from?from.animationID:to.animationID,indexKey=index.toString();usedIndicesLookup[indexKey]||(usedIndicesLookup[indexKey]=!0,preparedAnimations.push(animations[index]))}}),preparedAnimations}(animations),toBeSortedAnimations=[];forEach(groupedAnimations,function(animationEntry){var element=animationEntry.from?animationEntry.from.element:animationEntry.element,extraClasses=options.addClass;extraClasses=(extraClasses?extraClasses+" ":"")+"ng-animate";var cacheKey=$$animateCache.cacheKey(node,event,extraClasses,options.removeClass);toBeSortedAnimations.push({element:element,domNode:getDomNode(element),fn:function(){var startAnimationFn,closeFn=animationEntry.close;if($$animateCache.containsCachedAnimationWithoutDuration(cacheKey))closeFn();else{if(animationEntry.beforeStart(),getRunner(animationEntry.anchors?animationEntry.from.element||animationEntry.to.element:animationEntry.element)){var operation=function(animationDetails){for(var i=drivers.length-1;0<=i;i--){var driverName=drivers[i],factory=$injector.get(driverName),driver=factory(animationDetails);if(driver)return driver}}(animationEntry);operation&&(startAnimationFn=operation.start)}if(startAnimationFn){var animationRunner=startAnimationFn();animationRunner.done(function(status){closeFn(!status)}),function(animation,newRunner){animation.from&&animation.to?(update(animation.from.element),update(animation.to.element)):update(animation.element);function update(element){var runner=getRunner(element);runner&&runner.setHost(newRunner)}}(animationEntry,animationRunner)}else closeFn()}}})});for(var finalAnimations=function(animations){var i,tree={children:[]},lookup=new $$Map;for(i=0;i<animations.length;i++){var animation=animations[i];lookup.set(animation.domNode,animations[i]={domNode:animation.domNode,element:animation.element,fn:animation.fn,children:[]})}for(i=0;i<animations.length;i++)processNode(animations[i]);return function(tree){var i,result=[],queue=[];for(i=0;i<tree.children.length;i++)queue.push(tree.children[i]);var remainingLevelEntries=queue.length,nextLevelEntries=0,row=[];for(i=0;i<queue.length;i++){var entry=queue[i];remainingLevelEntries<=0&&(remainingLevelEntries=nextLevelEntries,nextLevelEntries=0,result.push(row),row=[]),row.push(entry),entry.children.forEach(function(childEntry){nextLevelEntries++,queue.push(childEntry)}),remainingLevelEntries--}return row.length&&result.push(row),result}(tree);function processNode(entry){if(entry.processed)return entry;entry.processed=!0;var parentEntry,elementNode=entry.domNode,parentNode=elementNode.parentNode;for(lookup.set(elementNode,entry);parentNode;){if(parentEntry=lookup.get(parentNode)){parentEntry.processed||(parentEntry=processNode(parentEntry));break}parentNode=parentNode.parentNode}return(parentEntry||tree).children.push(entry),entry}}(toBeSortedAnimations),i=0;i<finalAnimations.length;i++)for(var innerArray=finalAnimations[i],j=0;j<innerArray.length;j++){var entry=innerArray[j],element=entry.element;if(finalAnimations[i][j]=entry.fn,0!==i){var prepareClassName=element.data("$$animatePrepareClasses");prepareClassName&&$$jqLite.addClass(element,prepareClassName)}else element.removeData("$$animatePrepareClasses")}$$rAFScheduler(finalAnimations)}),runner;function handleDestroyedElement(){var runner=getRunner(element);!runner||"leave"===event&&options.$$domOperationFired||runner.end()}function close(rejected){element.off("$destroy",handleDestroyedElement),function(element){element.removeData(RUNNER_STORAGE_KEY)}(element),applyAnimationClasses(element,options),applyAnimationStyles(element,options),options.domOperation(),tempClasse
1s&&$$jqLite.removeClass(element,tempClasses),runner.complete(!rejected)}}}]}];angular.module("ngAnimate",[],function(){noop=angular.noop,copy=angular.copy,extend=angular.extend,jqLite=angular.element,forEach=angular.forEach,isArray=angular.isArray,isString=angular.isString,isObject=angular.isObject,isUndefined=angular.isUndefined,isDefined=angular.isDefined,isFunction=angular.isFunction,isElement=angular.isElement}).info({angularVersion:"1.7.3"}).directive("ngAnimateSwap",["$animate",function($animate){return{restrict:"A",transclude:"element",terminal:!0,priority:600,link:function(scope,$element,attrs,ctrl,$transclude){var previousElement,previousScope;scope.$watchCollection(attrs.ngAnimateSwap||attrs.for,function(value){previousElement&&$animate.leave(previousElement),previousScope&&(previousScope.$destroy(),previousScope=null),(value||0===value)&&$transclude(function(clone,childScope){previousElement=clone,previousScope=childScope,$animate.enter(clone,null,$element)})})}}}]).directive("ngAnimateChildren",$$AnimateChildrenDirective).factory("$$rAFScheduler",["$$rAF",function($$rAF){var queue,cancelFn;function scheduler(tasks){queue=queue.concat(tasks),nextTick()}return queue=scheduler.queue=[],scheduler.waitUntilQuiet=function(fn){cancelFn&&cancelFn(),cancelFn=$$rAF(function(){cancelFn=null,fn(),nextTick()})},scheduler;function nextTick(){if(queue.length){for(var items=queue.shift(),i=0;i<items.length;i++)items[i]();cancelFn||$$rAF(function(){cancelFn||nextTick()})}}}]).provider("$$animateQueue",$$AnimateQueueProvider).provider("$$animateCache",function(){var KEY="$$ngAnimateParentKey",parentCounter=0,cache=Object.create(null);this.$get=[function(){return{cacheKey:function(node,method,addClass,removeClass){var parentNode=node.parentNode,parts=[parentNode[KEY]||(parentNode[KEY]=++parentCounter),method,node.getAttribute("class")];return addClass&&parts.push(addClass),removeClass&&parts.push(removeClass),parts.join(" ")},containsCachedAnimationWithoutDuration:function(key){var entry=cache[key];return entry&&!entry.isValid||!1},flush:function(){cache=Object.create(null)},count:function(key){var entry=cache[key];return entry?entry.total:0},get:function(key){var entry=cache[key];return entry&&entry.value},put:function(key,value,isValid){cache[key]?(cache[key].total++,cache[key].value=value):cache[key]={total:1,value:value,isValid:isValid}}}}]}).provider("$$animation",$$AnimationProvider).provider("$animateCss",$AnimateCssProvider).provider("$$animateCssDriver",$$AnimateCssDriverProvider).provider("$$animateJs",$$AnimateJsProvider).provider("$$animateJsDriver",$$AnimateJsDriverProvider)}(window,window.angular),function(window,angular){"use strict";var forEach,isArray,isString,jqLite;function ngMessageDirectiveFactory(isDefault){return["$animate",function($animate){return{restrict:"AE",transclude:"element",priority:1,terminal:!0,require:"^^ngMessages",link:function(scope,element,attrs,ngMessagesCtrl,$transclude){var commentNode,records,staticExp,dynamicExp,currentElement,messageCtrl;if(!isDefault){commentNode=element[0],staticExp=attrs.ngMessage||attrs.when;var assignRecords=function(items){records=items?isArray(items)?items:items.split(/[\s,]+/):null,ngMessagesCtrl.reRender()};(dynamicExp=attrs.ngMessageExp||attrs.whenExp)?(assignRecords(scope.$eval(dynamicExp)),scope.$watchCollection(dynamicExp,assignRecords)):assignRecords(staticExp)}ngMessagesCtrl.register(commentNode,messageCtrl={test:function(name){return function(collection,key){if(collection)return isArray(collection)?0<=collection.indexOf(key):collection.hasOwnProperty(key)}(records,name)},attach:function(){currentElement||$transclude(function(elm,newScope){$animate.enter(elm,null,element);var $$attachId=(currentElement=elm).$$attachId=ngMessagesCtrl.getAttachId();currentElement.on("$destroy",function(){currentElement&¤tElement.$$attachId===$$attachId&&(ngMessagesCtrl.deregister(commentNode,isDefault),messageCtrl.detach()),newScope.$destroy()})})},detach:function(){if(currentElement){var elm=currentElement;currentElement=null,$animate.leave(elm)}}},isDefault),scope.$on("$destroy",function(){ngMessagesCtrl.deregister(commentNode,isDefault)})}}}]}angular.module("ngMessages",[],function(){forEach=angular.forEach,isArray=angular.isArray,isString=angular.isString,jq
1Lite=angular.element}).info({angularVersion:"1.7.3"}).directive("ngMessages",["$animate",function($animate){return{require:"ngMessages",restrict:"AE",controller:["$element","$scope","$attrs",function($element,$scope,$attrs){var ctrl=this,latestKey=0,nextAttachId=0;this.getAttachId=function(){return nextAttachId++};var renderLater,cachedCollection,messages=this.messages={};function findPreviousMessage(parent,comment){for(var prevNode=comment,parentLookup=[];prevNode&&prevNode!==parent;){var prevKey=prevNode.$$ngMessageNode;if(prevKey&&prevKey.length)return messages[prevKey];prevNode.childNodes.length&&-1===parentLookup.indexOf(prevNode)?(parentLookup.push(prevNode),prevNode=prevNode.childNodes[prevNode.childNodes.length-1]):prevNode.previousSibling?prevNode=prevNode.previousSibling:(prevNode=prevNode.parentNode,parentLookup.push(prevNode))}}this.render=function(collection){renderLater=!1,cachedCollection=collection=collection||{};for(var multiple=isAttrTruthy($scope,$attrs.ngMessagesMultiple)||isAttrTruthy($scope,$attrs.multiple),unmatchedMessages=[],matchedKeys={},truthyKeys=0,messageItem=ctrl.head,messageFound=!1,totalMessages=0;null!=messageItem;){totalMessages++;var messageCtrl=messageItem.message,messageUsed=!1;messageFound||forEach(collection,function(value,key){if(truthy(value)&&!messageUsed&&(truthyKeys++,messageCtrl.test(key))){if(matchedKeys[key])return;matchedKeys[key]=!0,messageUsed=!0,messageCtrl.attach()}}),messageUsed?messageFound=!multiple:unmatchedMessages.push(messageCtrl),messageItem=messageItem.next}forEach(unmatchedMessages,function(messageCtrl){messageCtrl.detach()});var messageMatched=unmatchedMessages.length!==totalMessages,attachDefault=ctrl.default&&!messageMatched&&0<truthyKeys;attachDefault?ctrl.default.attach():ctrl.default&&ctrl.default.detach(),messageMatched||attachDefault?$animate.setClass($element,"ng-active","ng-inactive"):$animate.setClass($element,"ng-inactive","ng-active")},$scope.$watchCollection($attrs.ngMessages||$attrs.for,ctrl.render),this.reRender=function(){renderLater||(renderLater=!0,$scope.$evalAsync(function(){renderLater&&cachedCollection&&ctrl.render(cachedCollection)}))},this.register=function(comment,messageCtrl,isDefault){if(isDefault)ctrl.default=messageCtrl;else{var nextKey=latestKey.toString();messages[nextKey]={message:messageCtrl},function(parent,comment,key){var messageNode=messages[key];if(ctrl.head){var match=findPreviousMessage(parent,comment);match?(messageNode.next=match.next,match.next=messageNode):(messageNode.next=ctrl.head,ctrl.head=messageNode)}else ctrl.head=messageNode}($element[0],comment,nextKey),comment.$$ngMessageNode=nextKey,latestKey++}ctrl.reRender()},this.deregister=function(comment,isDefault){if(isDefault)delete ctrl.default;else{var key=comment.$$ngMessageNode;delete comment.$$ngMessageNode,function(parent,comment,key){var messageNode=messages[key];if(!messageNode)return;var match=findPreviousMessage(parent,comment);match?match.next=messageNode.next:ctrl.head=messageNode.next}($element[0],comment,key),delete messages[key]}ctrl.reRender()}}]};function isAttrTruthy(scope,attr){return isString(attr)&&0===attr.length||truthy(scope.$eval(attr))}function truthy(val){return isString(val)?val.length:!!val}}]).directive("ngMessagesInclude",["$templateRequest","$document","$compile",function($templateRequest,$document,$compile){return{restrict:"AE",require:"^^ngMessages",link:function($scope,element,attrs){var src=attrs.ngMessagesInclude||attrs.src;$templateRequest(src).then(function(html){$scope.$$destroyed||(isString(html)&&!html.trim()?replaceElementWithMarker(element,src):$compile(html)($scope,function(contents){element.after(contents),replaceElementWithMarker(element,src)}))})}};function replaceElementWithMarker(element,src){var comment=$compile.$$createComment?$compile.$$createComment("ngMessagesInclude",src):$document[0].createComment(" ngMessagesInclude: "+src+" "),marker=jqLite(comment);element.after(marker),element.remove()}}]).directive("ngMessage",ngMessageDirectiveFactory()).directive("ngMessageExp",ngMessageDirectiveFactory()).directive("ngMessageDefault",ngMessageDirectiveFactory(!0))}(window,window.angular),function(window,angular){"use strict";var ngAriaModule=angular.module("ngAria",["ng"]).info({angularVersion:"1.7.3"}).provider("$aria",function(){var config={ariaHidden:!0,ariaChecked:!0,ariaReadonly:!0,ariaDisabled:!0,ariaRequired:!0,ariaInvalid:!0,ariaValue:!0,tabindex:!0,bindKeydown:!0,bindRoleForClick:!0};function watchExpr(attrName,ariaAttr,nodeBlackList,negate){return function(scope,elem,attr){if(!attr.hasOwnProperty("ngAriaDisable")){var ariaCamelName=attr.$normalize(ariaAttr);!config[ariaCamelName]||isNodeOneOf(elem,nodeBlackList)||attr[ariaCamelName]||scope.$watch(attr[attrName],function(boolVal){boolVal=negate?!boolVal:!!boolVal,elem.attr(ariaAttr,boolVal)})}}}this.config=function(newConfig){config=angular.extend(config,newConfig)}
1,this.$get=function(){return{config:function(key){return config[key]},$$watchExpr:watchExpr}}}),nodeBlackList=["BUTTON","A","INPUT","TEXTAREA","SELECT","DETAILS","SUMMARY"],isNodeOneOf=function(elem,nodeTypeArray){if(-1!==nodeTypeArray.indexOf(elem[0].nodeName))return!0};ngAriaModule.directive("ngShow",["$aria",function($aria){return $aria.$$watchExpr("ngShow","aria-hidden",[],!0)}]).directive("ngHide",["$aria",function($aria){return $aria.$$watchExpr("ngHide","aria-hidden",[],!1)}]).directive("ngValue",["$aria",function($aria){return $aria.$$watchExpr("ngValue","aria-checked",nodeBlackList,!1)}]).directive("ngChecked",["$aria",function($aria){return $aria.$$watchExpr("ngChecked","aria-checked",nodeBlackList,!1)}]).directive("ngReadonly",["$aria",function($aria){return $aria.$$watchExpr("ngReadonly","aria-readonly",nodeBlackList,!1)}]).directive("ngRequired",["$aria",function($aria){return $aria.$$watchExpr("ngRequired","aria-required",nodeBlackList,!1)}]).directive("ngModel",["$aria",function($aria){function shouldAttachAttr(attr,normalizedAttr,elem,allowBlacklistEls){return $aria.config(normalizedAttr)&&!elem.attr(attr)&&(allowBlacklistEls||!isNodeOneOf(elem,nodeBlackList))&&("hidden"!==elem.attr("type")||"INPUT"!==elem[0].nodeName)}function shouldAttachRole(role,elem){return!elem.attr("role")&&elem.attr("type")===role&&!isNodeOneOf(elem,nodeBlackList)}return{restrict:"A",require:"ngModel",priority:200,compile:function(elem,attr){if(!attr.hasOwnProperty("ngAriaDisable")){var shape=function(attr,elem){var type=attr.type,role=attr.role;return"checkbox"===(type||role)||"menuitemcheckbox"===role?"checkbox":"radio"===(type||role)||"menuitemradio"===role?"radio":"range"===type||"progressbar"===role||"slider"===role?"range":""}(attr);return{post:function(scope,elem,attr,ngModel){var needsTabIndex=shouldAttachAttr("tabindex","tabindex",elem,!1);function ngAriaWatchModelValue(){return ngModel.$modelValue}switch(shape){case"radio":case"checkbox":shouldAttachRole(shape,elem)&&elem.attr("role",shape),shouldAttachAttr("aria-checked","ariaChecked",elem,!1)&&scope.$watch(ngAriaWatchModelValue,"radio"===shape?function(newVal){var boolVal=attr.value==ngModel.$viewValue;elem.attr("aria-checked",boolVal)}:function(){elem.attr("aria-checked",!ngModel.$isEmpty(ngModel.$viewValue))}),needsTabIndex&&elem.attr("tabindex",0);break;case"range":if(shouldAttachRole(shape,elem)&&elem.attr("role","slider"),$aria.config("ariaValue")){var needsAriaValuemin=!elem.attr("aria-valuemin")&&(attr.hasOwnProperty("min")||attr.hasOwnProperty("ngMin")),needsAriaValuemax=!elem.attr("aria-valuemax")&&(attr.hasOwnProperty("max")||attr.hasOwnProperty("ngMax")),needsAriaValuenow=!elem.attr("aria-valuenow");needsAriaValuemin&&attr.$observe("min",function(newVal){elem.attr("aria-valuemin",newVal)}),needsAriaValuemax&&attr.$observe("max",function(newVal){elem.attr("aria-valuemax",newVal)}),needsAriaValuenow&&scope.$watch(ngAriaWatchModelValue,function(newVal){elem.attr("aria-valuenow",newVal)})}needsTabIndex&&elem.attr("tabindex",0)}!attr.hasOwnProperty("ngRequired")&&ngModel.$validators.required&&shouldAttachAttr("aria-required","ariaRequired",elem,!1)&&attr.$observe("required",function(){elem.attr("aria-required",!!attr.required)}),shouldAttachAttr("aria-invalid","ariaInvalid",elem,!0)&&scope.$watch(function(){return ngModel.$invalid},function(newVal){elem.attr("aria-invalid",!!newVal)})}}}}}}]).directive("ngDisabled",["$aria",function($aria){return $aria.$$watchExpr("ngDisabled","aria-disabled",nodeBlackList,!1)}]).directive("ngMessages",function(){return{restrict:"A",require:"?ngMessages",link:function(scope,elem,attr,ngMessages){attr.hasOwnProperty("ngAriaDisable")||elem.attr("aria-live")||elem.attr("aria-live","assertive")}}}).directive("ngClick",["$aria","$parse",function($aria,$parse){return{restrict:"A",compile:function(elem,attr){if(!attr.hasOwnProperty("ngAriaDisable")){var fn=$parse(attr.ngClick);return function(scope,elem,attr){isNodeOneOf(elem,nodeBlackList)||($aria.config("bindRoleForClick")&&!elem.attr("role")&&elem.attr("role","button"),$aria.config("tabindex")&&!elem.attr("tabindex")&&elem.attr("tabindex",0),!$aria.config("bindKeydown")||attr.ngKeydown||attr.ngKeypress||attr.ngKeyup||elem.on("key
1down",function(event){var keyCode=event.which||event.keyCode;13!==keyCode&&32!==keyCode||(event.preventDefault(),scope.$apply(function(){fn(scope,{$event:event})}))}))}}}}}]).directive("ngDblclick",["$aria",function($aria){return function(scope,elem,attr){attr.hasOwnProperty("ngAriaDisable")||!$aria.config("tabindex")||elem.attr("tabindex")||isNodeOneOf(elem,nodeBlackList)||elem.attr("tabindex",0)}}])}(window,window.angular),function(window,angular,undefined){"use strict";angular.module("ngMaterial",["ng","ngAnimate","ngAria","material.core","material.core.animate","material.core.gestures","material.core.interaction","material.core.layout","material.core.meta","material.core.theming.palette","material.core.theming","material.components.autocomplete","material.components.backdrop","material.components.bottomSheet","material.components.button","material.components.card","material.components.checkbox","material.components.chips","material.components.colors","material.components.content","material.components.datepicker","material.components.dialog","material.components.divider","material.components.fabActions","material.components.fabShared","material.components.fabSpeedDial","material.components.fabToolbar","material.components.gridList","material.components.icon","material.components.input","material.components.list","material.components.menu","material.components.menuBar","material.components.navBar","material.components.panel","material.components.progressCircular","material.components.progressLinear","material.components.radioButton","material.components.select","material.components.showHide","material.components.sidenav","material.components.slider","material.components.sticky","material.components.subheader","material.components.swipe","material.components.switch","material.components.tabs","material.components.toast","material.components.toolbar","material.components.tooltip","material.components.truncate","material.components.virtualRepeat","material.components.whiteframe"]),function(){function DetectNgTouch($log,$injector){if($injector.has("$swipe")){$log.warn("You are using the ngTouch module. \nAngularJS Material already has mobile click, tap, and swipe support... \nngTouch is not supported with AngularJS Material!")}}function MdCoreConfigure($provide,$mdThemingProvider){$provide.decorator("$$rAF",["$delegate",rAFDecorator]),$provide.decorator("$q",["$delegate",qDecorator]),$mdThemingProvider.theme("default").primaryPalette("indigo").accentPalette("pink").warnPalette("deep-orange").backgroundPalette("grey")}function rAFDecorator($delegate){return $delegate.throttle=function(cb){var queuedArgs,alreadyQueued,queueCb,context;return function(){queuedArgs=arguments,context=this,queueCb=cb,alreadyQueued||(alreadyQueued=!0,$delegate(function(){queueCb.apply(context,Array.prototype.slice.call(queuedArgs)),alreadyQueued=!1}))}},$delegate}function qDecorator($delegate){return $delegate.resolve||($delegate.resolve=$delegate.when),$delegate}DetectNgTouch.$inject=["$log","$injector"],MdCoreConfigure.$inject=["$provide","$mdThemingProvider"],rAFDecorator.$inject=["$delegate"],qDecorator.$inject=["$delegate"],angular.module("material.core",["ngAnimate","material.core.animate","material.core.layout","material.core.interaction","material.core.gestures","material.core.theming"]).config(MdCoreConfigure).run(DetectNgTouch)}(),function(){function MdAutofocusDirective($parse){return{restrict:"A",link:{pre:function(scope,element,attr){var attrExp=attr.mdAutoFocus||attr.mdAutofocus||attr.mdSidenavFocus;updateExpression($parse(attrExp)(scope)),attrExp&&scope.$watch(attrExp,updateExpression);function updateExpression(value){angular.isUndefined(value)&&(value=!0),element.toggleClass("md-autofocus",!!value)}}}}}MdAutofocusDirective.$inject=["$parse"],angular.module("material.core").directive("mdAutofocus",MdAutofocusDirective)}(),angular.module("material.core").factory("$mdColorUtil",function(){return{rgbaToHex:function(color){return((color=color.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===color.length?"#"+("0"+parseInt(color[1],10).toString(16)).slice(-2)+("0"+parseInt(color[2],10).toString(16)).slice(-2)+("0"+parseInt(color[3],10).toString(16)).slice(-2):"").toUpperCase()},hexToRgba:function(color){var hex="#"===color[0]?color.substr(1):color,dig=hex.length/3,red=hex.substr(0,dig),green=hex.substr(dig,dig),blue=hex.substr(2*dig);return 1===dig&&(red+=red,green+=green,blue+=blue),"rgba("+parseInt(red,16)+","+parseInt(green,16)+","+parseInt(blue,16)+",0.1)"},rgbToRgba:function(color){return color.replace(")",", 0.1)").replace("(","a(")},rgbaToRgb:function(color){return color?color.replace("rgba","rgb").replace(/,[^),]+\)/,")"):"rgb(0,0,0)"}}}),angular.module("material.core").factory("$mdConstant",function(){var prefixTestEl=document.createElement("div"),vendorPrefix=function(testElement){var prop,match,vendorRegex=/^(Moz|webkit|ms)(?=[A-Z])/;for(prop in testElement.style)if(match=vendorRegex.exec(prop))return match[0]}(prefixTestEl),isWebkit=/webkit/i.test(vendorPrefix),SPECIAL_CHARS_REGEXP=/([:\-_]+(.))/g;function vendorProperty(name){var prefixedName=vendorPrefix+"-"+name,ucPrefix=prefixedName.replace(SPECIAL_CHARS_REGEXP,function(matches,separator,letter,offset){return offset?letter.toUpperCase():letter}),lcPrefix=ucPrefix.charAt(0).toLowerCase()+ucPrefix.substring(1);return hasStyleProperty(prefixTestEl,name)?name:hasStyleProperty(prefixTestEl,ucPrefix)?ucPrefix:h
vendor: 4,532 bytes, line 1
1asStyleProperty(prefixTestEl,lcPrefix)?lcPrefix:name}function hasStyleProperty(testElement,property){return angular.isDefined(testElement.style[property])}var self={isInputKey:function(e){return 31<=e.keyCode&&e.keyCode<=90},isNumPadKey:function(e){return 3===e.location&&97<=e.keyCode&&e.keyCode<=105},isMetaKey:function(e){return 91<=e.keyCode&&e.keyCode<=93},isFnLockKey:function(e){return 112<=e.keyCode&&e.keyCode<=145},isNavigationKey:function(e){var kc=self.KEY_CODE,NAVIGATION_KEYS=[kc.SPACE,kc.ENTER,kc.UP_ARROW,kc.DOWN_ARROW];return-1!=NAVIGATION_KEYS.indexOf(e.keyCode)},hasModifierKey:function(e){return e.ctrlKey||e.metaKey||e.altKey},ELEMENT_MAX_PIXELS:1533917,BEFORE_NG_ARIA:210,KEY_CODE:{COMMA:188,SEMICOLON:186,ENTER:13,ESCAPE:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT_ARROW:37,UP_ARROW:38,RIGHT_ARROW:39,DOWN_ARROW:40,TAB:9,BACKSPACE:8,DELETE:46},CSS:{TRANSITIONEND:"transitionend"+(isWebkit?" webkitTransitionEnd":""),ANIMATIONEND:"animationend"+(isWebkit?" webkitAnimationEnd":""),TRANSFORM:vendorProperty("transform"),TRANSFORM_ORIGIN:vendorProperty("transformOrigin"),TRANSITION:vendorProperty("transition"),TRANSITION_DURATION:vendorProperty("transitionDuration"),ANIMATION_PLAY_STATE:vendorProperty("animationPlayState"),ANIMATION_DURATION:vendorProperty("animationDuration"),ANIMATION_NAME:vendorProperty("animationName"),ANIMATION_TIMING:vendorProperty("animationTimingFunction"),ANIMATION_DIRECTION:vendorProperty("animationDirection")},MEDIA:{xs:"(max-width: 599px)","gt-xs":"(min-width: 600px)",sm:"(min-width: 600px) and (max-width: 959px)","gt-sm":"(min-width: 960px)",md:"(min-width: 960px) and (max-width: 1279px)","gt-md":"(min-width: 1280px)",lg:"(min-width: 1280px) and (max-width: 1919px)","gt-lg":"(min-width: 1920px)",xl:"(min-width: 1920px)",landscape:"(orientation: landscape)",portrait:"(orientation: portrait)",print:"print"},MEDIA_PRIORITY:["xl","gt-lg","lg","gt-md","md","gt-sm","sm","gt-xs","xs","landscape","portrait","print"]};return self}),function(){function MdIterator(items,reloop){var trueFn=function(){return!0};items&&!angular.isArray(items)&&(items=Array.prototype.slice.call(items)),reloop=!!reloop;var _items=items||[];return{items:function(){return[].concat(_items)},count:function(){return _items.length},inRange:inRange,contains:contains,indexOf:indexOf,itemAt:function(index){return inRange(index)?_items[index]:null},findBy:function(key,val){return _items.filter(function(item){return item[key]===val})},add:function(item,index){if(!item)return-1;angular.isNumber(index)||(index=_items.length);return _items.splice(index,0,item),indexOf(item)},remove:function(item){contains(item)&&_items.splice(indexOf(item),1)},first:first,last:last,next:angular.bind(null,findSubsequentItem,!1),previous:angular.bind(null,findSubsequentItem,!0),hasPrevious:function(item){return!!item&&inRange(indexOf(item)-1)},hasNext:function(item){return!!item&&inRange(indexOf(item)+1)}};function inRange(index){return _items.length&&-1<index&&index<_items.length}function indexOf(item){return _items.indexOf(item)}function contains(item){return item&&-1<indexOf(item)}function first(){return _items.length?_items[0]:null}function last(){return _items.length?_items[_items.length-1]:null}function findSubsequentItem(backwards,item,validate,limit){validate=validate||trueFn;for(var curIndex=indexOf(item);;){if(!inRange(curIndex))return null;var nextIndex=curIndex+(backwards?-1:1),foundItem=null;if(inRange(nextIndex)?foundItem=_items[nextIndex]:reloop&&(nextIndex=indexOf(foundItem=backwards?last():first())),null===foundItem||nextIndex===limit)return null;if(validate(foundItem))return foundItem;angular.isUndefined(limit)&&(limit=nextIndex),curIndex=nextIndex}}}angular.module("material.core").config(["$provide",function($provide){$provide.decorator("$mdUtil",["$delegate",function($delegate){return $delegate.iterator=MdIterator,$delegate}])}])}(),function(){function mdMediaFactory($mdConstant,$rootScope,$window){var queries={},mqls={},results={},normalizeCache={};return $mdMedia.getResponsiveAttribute=function(attrs,attrName){for(var i=0;i<$mdConstant.MEDIA_PRIORITY.length;i++){var mediaName=$mdConstant.MEDIA_PRIORITY[i];if(mqls[queries[mediaName]].matches){var normalizedName=getNormalizedName(attrs,attrName+"-"+mediaName);if(attrs[normalizedName])return attrs[normalizedName]}}return attrs[getNormalizedName(attrs,attrName)]},$mdMedia.getQuery=function(name){return mqls[name]},$mdMedia.watchResponsiveAttributes=function(attrNames,attrs,watchFn){var unwatchFns=[];
vendor: 16,253 bytes, line 1
1return attrNames.forEach(function(attrName){var normalizedName=getNormalizedName(attrs,attrName);for(var mediaName in angular.isDefined(attrs[normalizedName])&&unwatchFns.push(attrs.$observe(normalizedName,angular.bind(void 0,watchFn,null))),$mdConstant.MEDIA)normalizedName=getNormalizedName(attrs,attrName+"-"+mediaName),angular.isDefined(attrs[normalizedName])&&unwatchFns.push(attrs.$observe(normalizedName,angular.bind(void 0,watchFn,mediaName)))}),function(){unwatchFns.forEach(function(fn){fn()})}},$mdMedia;function $mdMedia(query){var validated=queries[query];angular.isUndefined(validated)&&(validated=queries[query]=function(query){return $mdConstant.MEDIA[query]||("("!==query.charAt(0)?"("+query+")":query)}(query));var result=results[validated];return angular.isUndefined(result)&&(result=function(query){var result=mqls[query];result||(result=mqls[query]=$window.matchMedia(query));return result.addListener(onQueryChange),results[result.media]=!!result.matches}(validated)),result}function onQueryChange(query){$rootScope.$evalAsync(function(){results[query.media]=!!query.matches})}function getNormalizedName(attrs,attrName){return normalizeCache[attrName]||(normalizeCache[attrName]=attrs.$normalize(attrName))}}mdMediaFactory.$inject=["$mdConstant","$rootScope","$window"],angular.module("material.core").factory("$mdMedia",mdMediaFactory)}(),function(){function MdPrefixer(initialAttributes,buildSelector){var PREFIXES=["data","x"];return initialAttributes?buildSelector?_buildSelector(initialAttributes):_buildList(initialAttributes):{buildList:_buildList,buildSelector:_buildSelector,hasAttribute:function(element,attribute){if(!(element=_getNativeElement(element)))return!1;for(var prefixedAttrs=_buildList(attribute),i=0;i<prefixedAttrs.length;i++)if(element.hasAttribute(prefixedAttrs[i]))return!0;return!1},removeAttribute:function(element,attribute){if(!(element=_getNativeElement(element)))return;_buildList(attribute).forEach(function(prefixedAttribute){element.removeAttribute(prefixedAttribute)})}};function _buildList(attributes){return(attributes=angular.isArray(attributes)?attributes:[attributes]).forEach(function(item){PREFIXES.forEach(function(prefix){attributes.push(prefix+"-"+item)})}),attributes}function _buildSelector(attributes){return _buildList(attributes=angular.isArray(attributes)?attributes:[attributes]).map(function(item){return"["+item+"]"}).join(",")}function _getNativeElement(element){if((element=element[0]||element).nodeType)return element}}angular.module("material.core").config(["$provide",function($provide){$provide.decorator("$mdUtil",["$delegate",function($delegate){return $delegate.prefixer=MdPrefixer,$delegate}])}])}(),function(){UtilFactory.$inject=["$document","$timeout","$compile","$rootScope","$$mdAnimate","$interpolate","$log","$rootElement","$window","$$rAF"];var isIos,isAndroid,isFirefox,nextUniqueId=0;if(window.navigator){var userAgent=window.navigator.userAgent||window.navigator.vendor||window.opera;isIos=userAgent.match(/ipad|iphone|ipod/i),isAndroid=userAgent.match(/android/i),isFirefox=userAgent.match(/(firefox|minefield)/i)}function UtilFactory($document,$timeout,$compile,$rootScope,$$mdAnimate,$interpolate,$log,$rootElement,$window,$$rAF){var startSymbol=$interpolate.startSymbol(),endSymbol=$interpolate.endSymbol(),usesStandardSymbols="{{"===startSymbol&&"}}"===endSymbol;document.contains||(document.contains=function(node){return document.body.contains(node)});var hasComputedStyle=function(target,key,expectedVal){var hasValue=!1;if(target&&target.length){var computedStyles=$window.getComputedStyle(target[0]);hasValue=angular.isDefined(computedStyles[key])&&(!expectedVal||computedStyles[key]==expectedVal)}return hasValue};function validateCssValue(value){return value?function(value){return-1<String(value).indexOf("px")}(value)||function(value){return-1<String(value).indexOf("%")}(value)?value:value+"px":"0"}var $mdUtil={dom:{},isIos:isIos,isAndroid:isAndroid,now:window.performance&&window.performance.now?angular.bind(window.performance,window.performance.now):Date.now||function(){return(new Date).getTime()},getModelOption:function(ngModelCtrl,optionName){if(ngModelCtrl.$options){var $options=ngModelCtrl.$options;return $options.getOption?$options.getOption(optionName):$options[optionName]}},isRtl:function(attrs){switch(angular.isDefined(attrs)&&attrs.hasOwnProperty("dir")&&attrs.dir){case"ltr":return!1;case"rtl":return!0}return"rtl"===$document[0].dir||"rtl"===$document[0].body.dir},bidi:function(element,property,lValue,rValue){var ltr=!this.isRtl();if(0==arguments.length)return ltr?"ltr":"rtl";var elem=angular.element(element);ltr&&angular.isDefined(lValue)?elem.css(property,validateCssValue(lValue)):!ltr&&angular.isDefined(rValue)&&elem.css(property,validateCssValue(rValue))},bidiProperty:function(element,lProperty,rProperty,value){var ltr=!this.isRtl(),elem=angular.element(element);ltr&&angular.isDefined(lProperty)?(elem.css(lProperty,validateCssValue(value)),elem.css(rProperty,"")):!ltr&&angular.isDefined(rProperty)&&(elem.css(rProperty,validateCssValue(value)),elem.css(lProperty,""))},clientRect:function(element,offsetParent,isOffsetRect){var node=getNode(element);offsetParent=getNode(offsetParent||node.offsetParent||document.body);var nodeRect=node.getBoundingClientRect(),offsetRect=isOffsetRect?offsetParent.getBoundingClientRect():{left:0,top:0,width:0,height:0};return{left:nodeRect.left-offsetRect.left,top:nodeRect.top-offsetRect.top,width:nodeRect.width,height:nodeRect.height}},offsetRect:function(element,offsetParent){return $mdUtil.clientRect(element,offsetParent,!0)},nodesToArray:function(nodes){var i,results=[];for(nodes=nodes||[],i=0;i<nodes.length;++i)results.push(nodes.item(i));return results},getViewportTop:function(){return $mdUtil.disableScrollAround._count&&$mdUtil.disableScrollAround._viewPortTop?$mdUtil.disableScrollAround._viewPortTop:$window.scrollY||$window.pageYOffset||0},findFocusTarget:function(containerEl,attributeVal){var elToFocus,AUTO_FOCUS=this.prefixer("md-autofocus",!0);return(elToFocus=scanForFocusable(containerEl,attributeVal||AUTO_FOCUS))||(elToFocus=scanForFocusable(containerEl,AUTO_FOCUS)),elToFocus;function scanForFocusable(target,selector){var elFound,items=target[0].querySelectorAll(selector);return items&&items.length&&items.length&&angular.forEach(items,function(it){(it=angular.element(it)).hasClass("md-autofocus")&&(elFound=it)}),elFound}},disableScrollAround:function(element,parent,options){if(options=options||{},$mdUtil.disableScrollAround._count=Math.max(0,$mdUtil.disableScrollAround._count||0),$mdUtil.disableScrollAround._count++,$mdUtil.disableScrollAround._restoreScroll)return $mdUtil.disableScrollAround._restoreScroll;var body=$document[0].body,restoreBody=function(){var documentElement=$document[0].documentElement,prevDocumentStyle=documentElement.style.cssText||"",prevBodyStyle=body.style.cssText||"",viewportTop=$mdUtil.getViewportTop();$mdUtil.disableScrollAround._viewPortTop=viewportTop;var clientWidth=body.clientWidth,hasVerticalScrollbar=body.scrollHeight>body.clientHeight+1,scrollElement=0<documentElement.scrollTop?documentElement:body;hasVerticalScrollbar&&angular.element(body).css({position:"fixed",width:"100%",top:-viewportTop+"px"});body.clientWidth<clientWidth&&(body.style.overflow="hidden");return function(){body.style.cssText=prevBodyStyle,documentElement.style.cssText=prevDocumentStyle,scrollElement.scrollTop=viewportTop}}(),restoreElement=function(elementToDisable,scrollMaskOptions){var scrollMask,wrappedElementToDisable=angular.element(elementToDisable||body);scrollMaskOptions.disableScrollMask?scrollMask=wrappedElementToDisable:(scrollMask=angular.element('<div class="md-scroll-mask"> <div class="md-scroll-mask-bar"></div></div>'),wrappedElementToDisable.append(scrollMask));function preventDefault($event){$event.preventDefault()}return scrollMask.on("wheel touchmove",preventDefault),function(){scrollMask.off("wheel touchmove",preventDefault),!scrollMaskOptions.disableScrollMask&&scrollMask[0].parentNode&&scrollMask[0].parentNode.removeChild(scrollMask[0])}}(parent,options);return $mdUtil.disableScrollAround._restoreScroll=function(){--$mdUtil.disableScrollAround._count<=0&&(delete $mdUtil.disableScrollAround._viewPortTop,restoreBody(),restoreElement(),delete $mdUtil.disableScrollAround._restoreScroll)}},enableScrolling:function(){var restoreFn=this.disableScrollAround._restoreScroll;restoreFn&&restoreFn()},floatingScrollbars:function(){if(void 0===this.floatingScrollbars.cached){var tempNode=angular.element("<div><div></div></div>").css({width:"100%","z-index":-1,position:"absolute",height:"35px","overflow-y":"scroll"});tempNode.children().css("height","60px"),$document[0].body.appendChild(tempNode[0]),this.floatingScrollbars.cached=tempNode[0].offsetWidth===tempNode[0].childNodes[0].offsetWidth,tempNode.remove()}return this.floatingScrollbars.cached},forceFocus:function(element){var node=element[0]||element;document.addEventListener("click",function focusOnClick(ev){ev.target===node&&ev.$focus&&(node.focus(),ev.stopImmediatePropagation(),ev.preventDefault(),node.removeEventListener("click",focusOnClick))},!0);var newEvent=document.createEvent("MouseEvents");newEvent.initMouseEvent("click",!1,!0,window,{},0,0,0,0,!1,!1,!1,!1,0,null),newEvent.$material=!0,newEvent.$focus=!0,node.dispatchEvent(newEvent)},createBackdrop:function(scope,addClass){return $compile($mdUtil.supplant('<md-backdrop class="{0}">',[addClass]))(scope)},supplant:function(template,values,pattern){return pattern=pattern||/\{([^{}]*)\}/g,template.replace(pattern,function(a,b){var p=b.split("."),r=values;try{for(var s in p)p.hasOwnProperty(s)&&(r=r[p[s]])}catch(e){r=a}return"string"==typeof r||"number"==typeof r?r:a})},fakeNgModel:function(){return{$fake:!0,$setTouched:angular.noop,$setViewValue:function(value){this.$viewValue=value,this.$render(value),this.$viewChangeListeners.forEach(function(cb){cb()})},$isEmpty:function(value){return 0===(""+value).length},$parsers:[],$formatters:[],$viewChangeListeners:[],$render:angular.noop}},debounce:function(func,wait,scope,invokeApply){var timer;return function(){var context=scope,args=Array.prototype.slice.call(arguments);$timeout.cancel(timer),timer=$timeout(function(){timer=void 0,func.apply(context,args)},wait||10,invokeApply)}},throttle:function(func,delay){var recent;return function(){var args=arguments,now=$mdUtil.now();(!recent||delay<now-recent)&&(func.apply(this,args),recent=now)}},time:function(cb){var start=$mdUtil.now();return cb(),$mdUtil.now()-start},valueOnUse:function(scope,key,getter){var value=null,args=Array.prototype.slice.call(arguments),params=3<args.length?args.slice(3):[];Object.defineProperty(scope,key,{get:function(){return null===value&&(value=getter.apply(scope,params)),value}})},nextUid:function(){return""+nextUniqueId++},disconnectScope:function(scope){if(scope&&scope.$root!==scope&&!scope.$$destroyed){var parent=scope.$parent;scope.$$disconnected=!0,parent.$$childHead===scope&&(parent.$$childHead=scope.$$nextSibling),parent.$$childTail===scope&&(parent.$$childTail=scope.$$prevSibling),scope.$$prevSibling&&(scope.$$prevSibling.$$nextSibling=scope.$$nextSibling),scope.$$nextSibling&&(scope.$$nextSibling.$$prevSibling=scope.$$prevSibling),scope.$$nextSibling=scope.$$prevSibling=null}},reconnectScope:function(scope){if(scope&&scope.$root!==scope&&scope.$$disconnected){var child=scope,parent=child.$parent;child.$$disconnected=!1,child.$$prevSibling=parent.$$childTail,parent.$$childHead?(parent.$$childTail.$$nextSibling=child,parent.$$childTail=child):parent.$$childHead=parent.$$childTail=child}},getSiblings:function(element,tagName){var upperCasedTagName=tagName.toUpperCase();return element instanceof angular.element&&(element=element[0]),Array.prototype.filter.call(element.parentNode.children,function(node){return element!==node&&node.tagName.toUpperCase()===upperCasedTagName}).map(function(sibling){return angular.element(sibling)})},getClosest:function(el,validateWith,onlyParent){if(angular.isString(validateWith)){var tagName=validateWith.toUpperCase();validateWith=function(el){return el.nodeName.toUpperCase()===tagName}}if(el instanceof angular.element&&(el=el[0]),onlyParent&&(el=el.parentNode),!el)return null;do{if(validateWith(el))return el}while(el=el.parentNode);return null},elementContains:function(node,child){return(window.Node&&window.Node.prototype&&Node.prototype.contains?angular.bind(node,node.contains):angular.bind(node,function(arg){return node===child||!!(16&this.compareDocumentPosition(arg))}))(child)},extractElementByName:function(element,nodeName,scanDeep,warnNotFound){var found=scanTree(element);return!found&&warnNotFound&&$log.warn($mdUtil.supplant("Unable to find node '{0}' in element '{1}'.",[nodeName,element[0].outerHTML])),angular.element(found||element);function scanTree(element){return function(element){if(element)for(var i=0,len=element.length;i<len;i++)if(element[i].nodeName.toLowerCase()===nodeName)return element[i];return null}(element)||(scanDeep?function(element){var found;if(element)for(var i=0,len=element.length;i<len;i++){var target=element[i];if(!found)for(var j=0,numChild=target.childNodes.length;j<numChild;j++)found=found||scanTree([target.childNodes[j]])}return found}(element):null)}},initOptionalProperties:function(scope,attr,defaults){defaults=defaults||{},angular.forEach(scope.$$isolateBindings,function(binding,key){if(binding.optional&&angular.isUndefined(scope[key])){var attrIsDefined=angular.isDefined(attr[binding.attrName]);scope[key]=angular.isDefined(defaults[key])?defaults[key]:attrIsDefined}})},nextTick:function(callback,digest,scope){var nextTick=$mdUtil.nextTick,timeout=nextTick.timeout,queue=nextTick.queue||[];return queue.push({scope:scope,callback:callback}),null==digest&&(digest=!0),nextTick.digest=nextTick.digest||digest,nextTick.queue=queue,timeout||(nextTick.timeout=$timeout(function(){var queue=nextTick.queue,digest=nextTick.digest;nextTick.queue=[],nextTick.timeout=null,nextTick.digest=!1,queue.forEach(function(queueItem){queueItem.scope&&queueItem.scope.$$destroyed||queueItem.callback()}),digest&&$rootScope.$digest()},0,!1))},processTemplate:function(template){return usesStandardSymbols?template:template&&angular.isString(template)?template.replace(/\{\{/g,startSymbol).replace(/}}/g,endSymbol):template},getParentWithPointerEvents:function(element){for(var parent=element.parent();hasComputedStyle(parent,"pointer-events","none");)parent=parent.parent();return parent},getNearestContentElement:function(element){for(var current=element.parent()[0];current&¤t!==$rootElement[0]&¤t!==document.body&&"MD-CONTENT"!==current.nodeName.toUpperCase();)current=current.parentNode;return current},checkStickySupport:function(){var stickyProp,testEl=angular.element("<div>");$document[0].body.appendChild(testEl[0]);for(var stickyProps=["sticky","-webkit-sticky"],i=0;i<stickyProps.length;++i)if(testEl.css({position:stickyProps[i],top:0,"z-index":2}),testEl.css("position")==stickyProps[i]){stickyProp=stickyProps[i];break}return testEl.remove(),stickyProp},parseAttributeBoolean:function(value,negatedCheck){return""===value||!!value&&(!1===negatedCheck||"false"!==value&&"0"!==value)},hasComputedStyle:hasComputedStyle,isParentFormSubmitted:function(element){var parent=$mdUtil.getClosest(element,"form"),form=parent?angular.element(parent).controller("form"):null;return!!form&&form.$submitted},animateScrollTo:function(element,scrollEnd,duration){var scrollStart=element.scrollTop,scrollChange=scrollEnd-scrollStart,scrollingDown=scrollStart<scrollEnd,startTime=$mdUtil.now();$$rAF(function scrollChunk(){var newPosition=(easeDuration=duration||1e3,currentTime=$mdUtil.now()-startTime,function(currentTime,start,change,duration){if(duration<currentTime)return start+change;var ts=(currentTime/=duration)*currentTime;return start+change*(ts*currentTime*-2+3*ts)}(currentTime,scrollStart,scrollChange,easeDuration));var easeDuration,currentTime;element.scrollTop=newPosition;(scrollingDown?newPosition<scrollEnd:scrollEnd<newPosition)&&$$rAF(scrollChunk)})},uniq:function(array){if(array)return array.filter(function(value,index,self){return self.indexOf(value)===index})}
vendor: 4,597 bytes, line 1
1,getInnerHTML:function(element){var serializer=new XMLSerializer;return Array.prototype.map.call(element.childNodes,function(child){return serializer.serializeToString(child)}).join("")},getOuterHTML:function(element){return(new XMLSerializer).serializeToString(element)},msie:window.document.documentMode,getTouchAction:function(){for(var testEl=document.createElement("div"),vendorPrefixes=["","webkit","Moz","MS","ms","o"],i=0;i<vendorPrefixes.length;i++){var prefix=vendorPrefixes[i],property=prefix?prefix+"TouchAction":"touchAction";if(angular.isDefined(testEl.style[property]))return property}},getEventPath:function(event){for(var path=[],currentTarget=event.target;currentTarget;)path.push(currentTarget),currentTarget=currentTarget.parentElement;return-1===path.indexOf(window)&&-1===path.indexOf(document)&&path.push(document),-1===path.indexOf(window)&&path.push(window),path},sanitize:function(term){return term?term.replace(/[\\^$*+?.()|{}[]/g,"\\$&"):term},isDisabled:function(element){return element.hasAttribute("disabled")},isVisible:function(element){return $mdUtil.hasGeometry(element)&&"visible"===getComputedStyle(element).visibility},isTabbable:function(element){var frameElement=$mdUtil.getFrameElement($mdUtil.getWindow(element));if(frameElement){if(-1===$mdUtil.getTabIndexValue(frameElement))return!1;if(!$mdUtil.isVisible(frameElement))return!1}var nodeName=element.nodeName.toLowerCase(),tabIndexValue=$mdUtil.getTabIndexValue(element);return element.hasAttribute("contenteditable")?-1!==tabIndexValue:"iframe"!==nodeName&&"object"!==nodeName&&(!(isIos&&!$mdUtil.isPotentiallyTabbableIOS(element))&&("audio"===nodeName?!!element.hasAttribute("controls")&&-1!==tabIndexValue:"video"===nodeName?-1!==tabIndexValue&&(null!==tabIndexValue||(isFirefox||element.hasAttribute("controls"))):0<=element.tabIndex))},isFocusable:function(element){return $mdUtil.isPotentiallyFocusable(element)&&!$mdUtil.isDisabled(element)&&$mdUtil.isVisible(element)},isPotentiallyFocusable:function(element){return!$mdUtil.isHiddenInput(element)&&($mdUtil.isNativeFormElement(element)||$mdUtil.isAnchorWithHref(element)||element.hasAttribute("contenteditable")||$mdUtil.hasValidTabIndex(element))},isPotentiallyTabbableIOS:function(element){var nodeName=element.nodeName.toLowerCase(),inputType="input"===nodeName&&element.type;return"text"===inputType||"password"===inputType||"select"===nodeName||"textarea"===nodeName},getTabIndexValue:function(element){if(!$mdUtil.hasValidTabIndex(element))return null;var tabIndex=parseInt(element.getAttribute("tabindex")||"",10);return isNaN(tabIndex)?-1:tabIndex},hasValidTabIndex:function(element){if(!element.hasAttribute("tabindex")||void 0===element.tabIndex)return!1;var tabIndex=element.getAttribute("tabindex");return"-32768"!=tabIndex&&!(!tabIndex||isNaN(parseInt(tabIndex,10)))},hasGeometry:function(element){return!!(element.offsetWidth||element.offsetHeight||"function"==typeof element.getClientRects&&element.getClientRects().length)},getFrameElement:function(window){try{return window.frameElement}catch(error){return null}},getWindow:function(node){return node.ownerDocument&&node.ownerDocument.defaultView||window},isNativeFormElement:function(element){var nodeName=element.nodeName.toLowerCase();return"input"===nodeName||"select"===nodeName||"button"===nodeName||"textarea"===nodeName},isHiddenInput:function(element){return $mdUtil.isInputElement(element)&&"hidden"==element.type},isAnchorWithHref:function(element){return $mdUtil.isAnchorElement(element)&&element.hasAttribute("href")},isInputElement:function(element){return"input"==element.nodeName.toLowerCase()},isAnchorElement:function(element){return"a"==element.nodeName.toLowerCase()},getFirstTabbableElement:function(root){if($mdUtil.isFocusable(root)&&$mdUtil.isTabbable(root))return root;for(var children=root.children||root.childNodes,i=0;i<children.length;i++){var tabbableChild=children[i].nodeType===$document[0].ELEMENT_NODE?$mdUtil.getFirstTabbableElement(children[i]):null;if(tabbableChild)return tabbableChild}return null},getLastTabbableElement:function(root){if($mdUtil.isFocusable(root)&&$mdUtil.isTabbable(root))return root;for(var children=root.children||root.childNodes,i=children.length-1;0<=i;i--){var tabbableChild=children[i].nodeType===$document[0].ELEMENT_NODE?$mdUtil.getLastTabbableElement(children[i]):null;if(tabbableChild)return tabbableChild}return null}};return $mdUtil.dom.animator=$$mdAnimate($mdUtil),$mdUtil;function getNode(el){return el[0]||el}}angular.module("material.core").factory("$mdUtil",UtilFactory),angular.element.prototype.focu
vendor: 4,439 bytes, line 1
1s=angular.element.prototype.focus||function(){return this.length&&this[0].focus(),this},angular.element.prototype.blur=angular.element.prototype.blur||function(){return this.length&&this[0].blur(),this}}(),angular.module("material.core").factory("$$mdAnimate",["$q","$timeout","$mdConstant","$animateCss",function($q,$timeout,$mdConstant,$animateCss){return function($mdUtil){return function($mdUtil,$q,$timeout,$mdConstant,$animateCss){var self;return self={translate3d:function(target,from,to,options){return $animateCss(target,{from:from,to:to,addClass:options.transitionInClass,removeClass:options.transitionOutClass,duration:options.duration}).start().then(function(){return reverseTranslate});function reverseTranslate(newFrom){return $animateCss(target,{to:newFrom||from,addClass:options.transitionOutClass,removeClass:options.transitionInClass,duration:options.duration}).start()}},waitTransitionEnd:function(element,opts){var TIMEOUT=3e3;return $q(function(resolve,reject){var styles;("0s"===(styles=(styles=(opts=opts||{}).cachedTransitionStyles)||window.getComputedStyle(element[0])).transitionDuration||!styles.transition&&!styles.transitionProperty)&&(TIMEOUT=0);var timer=$timeout(finished,opts.timeout||TIMEOUT);function finished(ev){ev&&ev.target!==element[0]||(ev&&$timeout.cancel(timer),element.off($mdConstant.CSS.TRANSITIONEND,finished),resolve())}element.on($mdConstant.CSS.TRANSITIONEND,finished)})},calculateTransformValues:function(element,originator){var container,parent,origin=originator.element,bounds=originator.bounds;if(origin||bounds){var originBnds=origin?self.clientRect(origin)||(container=element?element.parent():null,(parent=container?container.parent():null)?self.clientRect(parent):null):self.copyRect(bounds),dialogRect=self.copyRect(element[0].getBoundingClientRect()),dialogCenterPt=self.centerPointFor(dialogRect),originCenterPt=self.centerPointFor(originBnds);return{centerX:originCenterPt.x-dialogCenterPt.x,centerY:originCenterPt.y-dialogCenterPt.y,scaleX:Math.round(100*Math.min(.5,originBnds.width/dialogRect.width))/100,scaleY:Math.round(100*Math.min(.5,originBnds.height/dialogRect.height))/100}}return{centerX:0,centerY:0,scaleX:.5,scaleY:.5}},calculateZoomToOrigin:function(element,originator){var buildZoom=angular.bind(null,$mdUtil.supplant,"translate3d( {centerX}px, {centerY}px, 0 ) scale( {scaleX}, {scaleY} )");return buildZoom(self.calculateTransformValues(element,originator))},calculateSlideToOrigin:function(element,originator){var buildSlide=angular.bind(null,$mdUtil.supplant,"translate3d( {centerX}px, {centerY}px, 0 )");return buildSlide(self.calculateTransformValues(element,originator))},toCss:function(raw){var css={};return angular.forEach(raw,function(value,key){if(!angular.isUndefined(value))if(0<="left top right bottom width height x y min-width min-height max-width max-height".indexOf(key))css[key]=value+"px";else switch(key){case"transition":convertToVendor(key,$mdConstant.CSS.TRANSITION,value);break;case"transform":convertToVendor(key,$mdConstant.CSS.TRANSFORM,value);break;case"transformOrigin":convertToVendor(key,$mdConstant.CSS.TRANSFORM_ORIGIN,value);break;case"font-size":css["font-size"]=value}}),css;function convertToVendor(key,vendor,value){angular.forEach(vendor.split(" "),function(key){css[key]=value})}},toTransformCss:function(transform,addTransition,transition){var css={};return angular.forEach($mdConstant.CSS.TRANSFORM.split(" "),function(key){css[key]=transform}),addTransition&&(transition=transition||"all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important",css.transition=transition),css},copyRect:function(source,destination){return source?(destination=destination||{},angular.forEach("left top right bottom width height".split(" "),function(key){destination[key]=Math.round(source[key])}),destination.width=destination.width||destination.right-destination.left,destination.height=destination.height||destination.bottom-destination.top,destination):null},clientRect:function(element){var rect,bounds=angular.element(element)[0].getBoundingClientRect();return(rect=bounds)&&0<rect.width&&0<rect.height?self.copyRect(bounds):null},centerPointFor:function(targetRect){return targetRect?{x:Math.round(targetRect.left+targetRect.width/2),y:Math.round(targetRect.top+targetRect.height/2)}:{x:0,y:0}}}}($mdUtil,$q,$timeout,$mdConstant,$animateCss)}}]),4<=angular.version.minor?angular.module("material.core.animate",[]):function(){var forEac
vendor: 5,790 bytes, line 1
1h=angular.forEach,WEBKIT=angular.isDefined(document.documentElement.style.WebkitAppearance),PREFIX=WEBKIT?"-webkit-":"",TRANSITION_EVENTS=(WEBKIT?"webkitTransitionEnd ":"")+"transitionend",ANIMATION_EVENTS=(WEBKIT?"webkitAnimationEnd ":"")+"animationend",$$AnimateRunnerFactory=["$q","$$rAFMutex",function($q,$$rAFMutex){function AnimateRunner(host){this.setHost(host),this._doneCallbacks=[],this._runInAnimationFrame=$$rAFMutex(),this._state=0}return AnimateRunner.prototype={setHost:function(host){this.host=host||{}},done:function(fn){2===this._state?fn():this._doneCallbacks.push(fn)},progress:angular.noop,getPromise:function(){if(!this.promise){var self=this;this.promise=$q(function(resolve,reject){self.done(function(status){!1===status?reject():resolve()})})}return this.promise},then:function(resolveHandler,rejectHandler){return this.getPromise().then(resolveHandler,rejectHandler)},catch:function(handler){return this.getPromise().catch(handler)},finally:function(handler){return this.getPromise().finally(handler)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(response){var self=this;0===self._state&&(self._state=1,self._runInAnimationFrame(function(){self._resolve(response)}))},_resolve:function(response){2!==this._state&&(forEach(this._doneCallbacks,function(fn){fn(response)}),this._doneCallbacks.length=0,this._state=2)}},AnimateRunner.all=function(runners,callback){var count=0,status=!0;function onProgress(response){status=status&&response,++count===runners.length&&callback(status)}forEach(runners,function(runner){runner.done(onProgress)})},AnimateRunner}];function camelCase(str){return str.replace(/-[a-z]/g,function(str){return str.charAt(1).toUpperCase()})}angular.module("material.core.animate",[]).factory("$$forceReflow",["$document",function($document){return function(){return $document[0].body.clientWidth+1}}]).factory("$$AnimateRunner",$$AnimateRunnerFactory).factory("$$rAFMutex",["$$rAF",function($$rAF){return function(){var passed=!1;return $$rAF(function(){passed=!0}),function(fn){passed?fn():$$rAF(fn)}}}]).factory("$animateCss",["$window","$$rAF","$$AnimateRunner","$$forceReflow","$$jqLite","$timeout","$animate",function($window,$$rAF,$$AnimateRunner,$$forceReflow,$$jqLite,$timeout,$animate){function applyClasses(element,options){options.addClass&&($$jqLite.addClass(element,options.addClass),options.addClass=null),options.removeClass&&($$jqLite.removeClass(element,options.removeClass),options.removeClass=null)}function parseMaxTime(str){var maxValue=0,values=(str||"").split(/\s*,\s*/);return forEach(values,function(value){"s"==value.charAt(value.length-1)&&(value=value.substring(0,value.length-1)),value=parseFloat(value)||0,maxValue=maxValue?Math.max(value,maxValue):value}),maxValue}var cancelLastRAFRequest,rafWaitQueue=[];function applyAnimationFromStyles(element,options){options.from&&(element.css(options.from),options.from=null)}function applyAnimationToStyles(element,options){options.to&&(element.css(options.to),options.to=null)}function getDomNode(element){for(var i=0;i<element.length;i++)if(1===element[i].nodeType)return element[i]}function blockTransition(element,bool){var node=getDomNode(element),key=camelCase(PREFIX+"transition-delay");node.style[key]=bool?"-9999s":""}return function(element,options){var temporaryStyles=[],node=getDomNode(element),areAnimationsAllowed=node&&$animate.enabled(),hasCompleteStyles=!1,hasCompleteClasses=!1;areAnimationsAllowed&&(options.transitionStyle&&temporaryStyles.push([PREFIX+"transition",options.transitionStyle]),options.keyframeStyle&&temporaryStyles.push([PREFIX+"animation",options.keyframeStyle]),options.delay&&temporaryStyles.push([PREFIX+"transition-delay",options.delay+"s"]),options.duration&&temporaryStyles.push([PREFIX+"transition-duration",options.duration+"s"]),hasCompleteStyles=options.keyframeStyle||options.to&&(0<options.duration||options.transitionStyle),hasCompleteClasses=!!options.addClass||!!options.removeClass,blockTransition(element,!0));var hasCompleteAnimation=areAnimationsAllowed&&(hasCompleteStyles||hasCompleteClasses);applyAnimationFromStyles(element,options);var events,eventFn,animationClosed=!1;return{close:$window.close,start:function(){var callback,runner=new $$AnimateRunner;return callback=function(){if(blockTransition(element,!1),!hasCompleteAnimation)return close();forEach(temporaryStyles,function(entry){var key=entry[0],value=entry[1];node.style[camelCase(key)]=value}),applyClasses(element,options);var timings=function(element){var node=getDomNode(element),cs=$window.getComputedStyle(node),tdr=parseMaxTime(cs[prop("transitionDuration")]),adr=parseMaxTime(cs[prop("animationDuration")]),tdy=parseMaxTime(cs[prop("transitionDelay")]),ady=parseMaxTime(cs[prop("animationDelay")]);adr*=parseInt(cs[prop("animationIterationCount")],10)||1;var duration=Math.max(adr,tdr),delay=Math.max(ady,tdy);return{duration:duration,delay:delay,animationDuration:adr,transitionDuration:tdr,animationDelay:ady,transitionDelay:tdy};function prop(key){return WEBKIT?"Webkit"+key.charAt(0).toUpperCase()+key.substr(1):key}}(element);if(0===timings.duration)return close();var moreStyles=[];options.easing&&(timings.transitionDuration&&moreStyles.push([PREFIX+"transition-timing-function",options.easing]),timings.animationDuration&&moreStyles.push([PREFIX+"animation-timing-function",options.easing])),options.delay&&timings.animationDelay&&moreStyles.push([PREFIX+"animation-delay",options.delay+"s"]),options.duration&&timings.animationDuration&&moreStyles.push([PREFIX+"animation-duration",options.duration+"s"]),forEac
vendor: 32,696 bytes, line 1
1h(moreStyles,function(entry){var key=entry[0],value=entry[1];node.style[camelCase(key)]=value,temporaryStyles.push(entry)});var maxDelayTime=1e3*timings.delay,maxDuration=timings.duration,maxDurationTime=1e3*maxDuration,startTime=Date.now();events=[],timings.transitionDuration&&events.push(TRANSITION_EVENTS),timings.animationDuration&&events.push(ANIMATION_EVENTS),events=events.join(" "),eventFn=function(event){event.stopPropagation();var ev=event.originalEvent||event,timeStamp=ev.timeStamp||Date.now(),elapsedTime=parseFloat(ev.elapsedTime.toFixed(3));Math.max(timeStamp-startTime,0)>=maxDelayTime&&maxDuration<=elapsedTime&&close()},element.on(events,eventFn),applyAnimationToStyles(element,options),$timeout(close,maxDelayTime+1.5*maxDurationTime,!1)},cancelLastRAFRequest&&cancelLastRAFRequest(),rafWaitQueue.push(callback),cancelLastRAFRequest=$$rAF(function(){cancelLastRAFRequest=null;for(var pageWidth=$$forceReflow(),i=0;i<rafWaitQueue.length;i++)rafWaitQueue[i](pageWidth);rafWaitQueue.length=0}),runner;function close(){if(!animationClosed)return animationClosed=!0,events&&eventFn&&element.off(events,eventFn),applyClasses(element,options),function(element,options){applyAnimationFromStyles(element,options),applyAnimationToStyles(element,options)}(element,options),forEach(temporaryStyles,function(entry){node.style[camelCase(entry[0])]=""}),runner.complete(!0),runner}}}}}])}(),function(){function MdAriaService($$rAF,$log,$window,$interpolate){var showWarnings=this.showWarnings;return{expect:expect,expectAsync:expectAsync,expectWithText:function(element,attrName){var content=getText(element)||"";-1<content.indexOf($interpolate.startSymbol())?expectAsync(element,attrName,function(){return getText(element)}):expect(element,attrName,content)},expectWithoutText:function(element,attrName){var content=getText(element);-1<content.indexOf($interpolate.startSymbol())||content||expect(element,attrName,content)},getText:getText,hasAriaLabel:hasAriaLabel,parentHasAriaLabel:function parentHasAriaLabel(element,level){level=level||1;var node=angular.element(element)[0]||element;if(!node.parentNode)return!1;if(performCheck(node.parentNode))return!0;level--;if(level)return parentHasAriaLabel(node.parentNode,level);return!1;function performCheck(parentNode){if(!hasAriaLabel(parentNode))return!1;if(parentNode.hasAttribute("role"))switch(parentNode.getAttribute("role").toLowerCase()){case"command":case"definition":case"directory":case"grid":case"list":case"listitem":case"log":case"marquee":case"menu":case"menubar":case"note":case"presentation":case"separator":case"scrollbar":case"status":case"tablist":return!1}switch(parentNode.tagName.toLowerCase()){case"abbr":case"acronym":case"address":case"applet":case"audio":case"b":case"bdi":case"bdo":case"big":case"blockquote":case"br":case"canvas":case"caption":case"center":case"cite":case"code":case"col":case"data":case"dd":case"del":case"dfn":case"dir":case"div":case"dl":case"em":case"embed":case"fieldset":case"figcaption":case"font":case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":case"hgroup":case"html":case"i":case"ins":case"isindex":case"kbd":case"keygen":case"label":case"legend":case"li":case"map":case"mark":case"menu":case"object":case"ol":case"output":case"pre":case"presentation":case"q":case"rt":case"ruby":case"samp":case"small":case"source":case"span":case"status":case"strike":case"strong":case"sub":case"sup":case"svg":case"tbody":case"td":case"th":case"thead":case"time":case"tr":case"track":case"tt":case"ul":case"var":return!1}return!0}}};function expect(element,attrName,defaultValue){var node=angular.element(element)[0]||element;!node||node.hasAttribute(attrName)&&0!==node.getAttribute(attrName).length||function(node,attrName){var hasChildren=node.hasChildNodes(),hasAttr=!1;if(hasChildren)for(var children=node.childNodes,i=0;i<children.length;i++){var child=children[i];1===child.nodeType&&child.hasAttribute(attrName)&&(void 0,"none"!==((el=child).currentStyle?el.currentStyle:$window.getComputedStyle(el)).display&&(hasAttr=!0))}var el;return hasAttr}(node,attrName)||((defaultValue=angular.isString(defaultValue)?defaultValue.trim():"").length?element.attr(attrName,defaultValue):showWarnings&&$log.warn('ARIA: Attribute "',attrName,'", required for accessibility, is missing on node:',node))}function expectAsync(element,attrName,defaultValueGetter){$$rAF(function(){expect(element,attrName,defaultValueGetter())})}function getText(element){element=element[0]||element;for(var node,walker=document.createTreeWalker(element,NodeFilter.SHOW_TEXT,null,!1),text="";node=walker.nextNode();)isAriaHiddenNode(node)||(text+=node.textContent);return text.trim()||"";function isAriaHiddenNode(node){for(;node.parentNode&&(node=node.parentNode)!==element;)if(node.getAttribute&&"true"===node.getAttribute("aria-hidden"))return!0}}function hasAriaLabel(element){var node=angular.element(element)[0]||element;return!!node.hasAttribute&&(node.hasAttribute("aria-label")||node.hasAttribute("aria-labelledby")||node.hasAttribute("aria-describedby"))}}MdAriaService.$inject=["$$rAF","$log","$window","$interpolate"],angular.module("material.core").provider("$mdAria",function(){var config={showWarnings:!0};return{disableWarnings:function(){config.showWarnings=!1},$get:["$$rAF","$log","$window","$interpolate",function($$rAF,$log,$window,$interpolate){return MdAriaService.apply(config,arguments)}]}})}(),function(){function MdCompilerProvider(){function MdCompilerService($q,$templateRequest,$injector,$compile,$controller){this.$q=$q,this.$templateRequest=$templateRequest,this.$injector=$injector,this.$compile=$compile,this.$controller=$controller}this.$get=["$q","$templateRequest","$injector","$compile","$controller",function($q,$templateRequest,$injector,$compile,$controller){return new MdCompilerService($q,$templateRequest,$injector,$compile,$controller)}],MdCompilerService.prototype.compile=function(options){return options.contentElement?this._prepareContentElement(options):this._compileTemplate(options)},MdCompilerService.prototype._prepareContentElement=function(options){var contentElement=this._fetchContentElement(options);return this.$q.resolve({element:contentElement.element,cleanup:contentElement.restore,locals:{},link:function(){return contentElement.element}})},MdCompilerService.prototype._compileTemplate=function(options){var self=this,templateUrl=options.templateUrl,template=options.template||"",resolve=angular.extend({},options.resolve),locals=angular.extend({},options.locals),transformTemplate=options.transformTemplate||angular.identity;return angular.forEach(resolve,function(value,key){angular.isString(value)?resolve[key]=self.$injector.get(value):resolve[key]=self.$injector.invoke(value)}),angular.extend(resolve,locals),resolve.$$ngTemplate=templateUrl?this.$templateRequest(templateUrl):this.$q.when(template),this.$q.all(resolve).then(function(locals){var template=transformTemplate(locals.$$ngTemplate,options),element=options.element||angular.element("<div>").html(template.trim()).contents();return self._compileElement(locals,element,options)})},MdCompilerService.prototype._compileElement=function(locals,element,options){var self=this,ngLinkFn=this.$compile(element),compileData={element:element,cleanup:element.remove.bind(element),locals:locals,link:function(scope){if(locals.$scope=scope,options.controller){var injectLocals=angular.extend({},locals,{$element:element}),ctrl=self._createController(options,injectLocals,locals);angular.isFunction(ctrl.$onDestroy)&&scope.$on("$destroy",function(){angular.isFunction(ctrl.$onDestroy)&&ctrl.$onDestroy()}),element.data("$ngControllerController",ctrl),element.children().data("$ngControllerController",ctrl),compileData.controller=ctrl}return ngLinkFn(scope)}};return compileData},MdCompilerService.prototype._createController=function(options,injectLocals,locals){var ctrl=this.$controller(options.controller,injectLocals);return options.bindToController&&angular.extend(ctrl,locals),options.controllerAs&&(injectLocals.$scope[options.controllerAs]=ctrl),angular.isFunction(ctrl.$onInit)&&ctrl.$onInit(),ctrl},MdCompilerService.prototype._fetchContentElement=function(options){var restoreFn,contentEl=options.contentElement;return restoreFn=angular.isString(contentEl)?createRestoreFn(contentEl=document.querySelector(contentEl)):(contentEl=contentEl[0]||contentEl,document.contains(contentEl)?createRestoreFn(contentEl):function(){contentEl.parentNode&&contentEl.parentNode.removeChild(contentEl)}),{element:angular.element(contentEl),restore:restoreFn};function createRestoreFn(element){var parent=element.parentNode,nextSibling=element.nextElementSibling;return function(){nextSibling?parent.insertBefore(element,nextSibling):parent.appendChild(element)}}}}angular.module("material.core").provider("$mdCompiler",MdCompilerProvider),MdCompilerProvider.$inject=["$compileProvider"]}(),function(){MdGesture.$inject=["$$MdGestureHandler","$$rAF","$timeout","$mdUtil"];var pointer,lastPointer,HANDLERS={},maxClickDistance=6,forceSkipClickHijack=!(attachToDocument.$inject=["$mdGesture","$$MdGestureHandler","$mdUtil"]),disableAllGestures=!1,lastLabelClickPos=null,isInitialized=!1;function MdGestureProvider(){}function MdGesture($$MdGestureHandler,$$rAF,$timeout,$mdUtil){var touchActionProperty=$mdUtil.getTouchAction(),hasJQuery=void 0!==window.jQuery&&angular.element===window.jQuery,self={handler:function(name,definition){var handler=new $$MdGestureHandler(name);return angular.extend(handler,definition),HANDLERS[name]=handler,self},register:function(element,handlerName,options){var handler=HANDLERS[handlerName.replace(/^\$md./,"")];if(handler)return handler.registerElement(element,options);throw new Error("Failed to register element with handler "+handlerName+". Available handlers: "+Object.keys(HANDLERS).join(", "))},isAndroid:$mdUtil.isAndroid,isIos:$mdUtil.isIos,isHijackingClicks:($mdUtil.isIos||$mdUtil.isAndroid)&&!hasJQuery&&!forceSkipClickHijack};function checkDistanceAndEmit(eventName){return function(ev,pointer){pointer.distance<this.state.options.maxDistance&&this.dispatchEvent(ev,eventName,pointer)}}return self.isHijackingClicks&&(self.handler("click",{options:{maxDistance:maxClickDistance},onEnd:checkDistanceAndEmit("click")}),self.handler("focus",{options:{maxDistance:maxClickDistance},onEnd:function(ev,pointer){pointer.distance<this.state.options.maxDistance&&canFocus(ev.target)&&(this.dispatchEvent(ev,"focus",pointer),ev.target.focus())}}),self.handler("mouseup",{options:{maxDistance:maxClickDistance},onEnd:checkDistanceAndEmit("mouseup")}),self.handler("mousedown",{onStart:function(ev){this.dispatchEvent(ev,"mousedown")}})),self.handler("press",{onStart:function(ev,pointer){this.dispatchEvent(ev,"$md.pressdown")},onEnd:function(ev,pointer){this.dispatchEvent(ev,"$md.pressup")}}).handler("hold",{options:{maxDistance:6,delay:500},onCancel:function(){$timeout.cancel(this.state.timeout)},onStart:function(ev,pointer){if(!this.state.registeredParent)return this.cancel();this.state.pos={x:pointer.x,y:pointer.y},this.state.timeout=$timeout(angular.bind(this,function(){this.dispatchEvent(ev,"$md.hold"),this.cancel()}),this.state.options.delay,!1)},onMove:function(ev,pointer){touchActionProperty||"touchmove"!==ev.type||ev.preventDefault();var dx=this.state.pos.x-pointer.x,dy=this.state.pos.y-pointer.y;Math.sqrt(dx*dx+dy*dy)>this.options.maxDistance&&this.cancel()},onEnd:function(){this.onCancel()}}).handler("drag",{options:{minDistance:6,horizontal:!0,cancelMultiplier:1.5},onSetup:function(element,options){touchActionProperty&&(this.oldTouchAction=element[0].style[touchActionProperty],element[0].style[touchActionProperty]=options.horizontal?"pan-y":"pan-x")},onCleanup:function(element){this.oldTouchAction?element[0].style[touchActionProperty]=this.oldTouchAction:element[0].style[touchActionProperty]=null},onStart:function(ev){this.state.registeredParent||this.cancel()},onMove:function(ev,pointer){var shouldStartDrag,shouldCancel;touchActionProperty||"touchmove"!==ev.type||ev.preventDefault(),this.state.dragPointer?this.dispatchDragMove(ev):(shouldCancel=this.state.options.horizontal?(shouldStartDrag=Math.abs(pointer.distanceX)>this.state.options.minDistance,Math.abs(pointer.distanceY)>this.state.options.minDistance*this.state.options.cancelMultiplier):(shouldStartDrag=Math.abs(pointer.distanceY)>this.state.options.minDistance,Math.abs(pointer.distanceX)>this.state.options.minDistance*this.state.options.cancelMultiplier),shouldStartDrag?(this.state.dragPointer=makeStartPointer(ev),updatePointerState(ev,this.state.dragPointer),this.dispatchEvent(ev,"$md.dragstart",this.state.dragPointer)):shouldCancel&&this.cancel())},dispatchDragMove:$$rAF.throttle(function(ev){this.state.isRunning&&(updatePointerState(ev,this.state.dragPointer),this.dispatchEvent(ev,"$md.drag",this.state.dragPointer))}),onEnd:function(ev,pointer){this.state.dragPointer&&(updatePointerState(ev,this.state.dragPointer),this.dispatchEvent(ev,"$md.dragend",this.state.dragPointer))}}).handler("swipe",{options:{minVelocity:.65,minDistance:10},onEnd:function(ev,pointer){var eventType;Math.abs(pointer.velocityX)>this.state.options.minVelocity&&Math.abs(pointer.distanceX)>this.state.options.minDistance?(eventType="left"==pointer.directionX?"$md.swipeleft":"$md.swiperight",this.dispatchEvent(ev,eventType)):Math.abs(pointer.velocityY)>this.state.options.minVelocity&&Math.abs(pointer.distanceY)>this.state.options.minDistance&&(eventType="up"==pointer.directionY?"$md.swipeup":"$md.swipedown",this.dispatchEvent(ev,eventType))}})}function GestureHandler(name){this.name=name,this.state={}}function attachToDocument($mdGesture,$$MdGestureHandler,$mdUtil){if(!disableAllGestures){!isInitialized&&$mdGesture.isHijackingClicks&&(document.addEventListener("click",function(ev){var isKeyClick;isKeyClick=$mdUtil.isIos?angular.isDefined(ev.webkitForce)&&0===ev.webkitForce:0===ev.clientX&&0===ev.clientY;isKeyClick||ev.$material||ev.isIonicTap||isInputEventFromLabelClick(ev)?(lastLabelClickPos=null,"label"===ev.target.tagName.toLowerCase()&&(lastLabelClickPos={x:ev.x,y:ev.y})):(ev.preventDefault(),ev.stopPropagation(),lastLabelClickPos=null)},!0),document.addEventListener("mouseup",mouseInputHijacker,!0),document.addEventListener("mousedown",mouseInputHijacker,!0),document.addEventListener("focus",mouseInputHijacker,!0),isInitialized=!0);angular.element(document).on("mousedown touchstart pointerdown",function(ev){if(pointer)return;var now=+Date.now();if(lastPointer&&!typesMatch(ev,lastPointer)&&now-lastPointer.endTime<1500)return;pointer=makeStartPointer(ev),runHandlers("start",ev)}).on("mousemove touchmove pointermove",function(ev){if(!pointer||!typesMatch(ev,pointer))return;updatePointerState(ev,pointer),runHandlers("move",ev)}).on("mouseup mouseleave touchend touchcancel pointerup pointercancel",function(ev){if(!pointer||!typesMatch(ev,pointer))return;updatePointerState(ev,pointer),pointer.endTime=+Date.now(),"pointercancel"!==ev.type&&runHandlers("end",ev);lastPointer=pointer,pointer=null}).on("$$mdGestureReset",function(){lastPointer=pointer=null})}function mouseInputHijacker(ev){!ev.clientX&&!ev.clientY||ev.$material||ev.isIonicTap||isInputEventFromLabelClick(ev)||"mousedown"===ev.type&&(canFocus(ev.target)||canFocus(document.activeElement))||(ev.preventDefault(),ev.stopPropagation())}function runHandlers(handlerEvent,event){var handler;for(var name in HANDLERS)(handler=HANDLERS[name])instanceof $$MdGestureHandler&&("start"===handlerEvent&&handler.cancel(),handler[handlerEvent](event,pointer))}}function makeStartPointer(ev){var point=getEventPoint(ev),startPointer={startTime:+Date.now(),target:ev.target,type:ev.type.charAt(0)};return startPointer.startX=startPointer.x=point.pageX,startPointer.startY=startPointer.y=point.pageY,startPointer}function typesMatch(ev,pointer){return ev&&pointer&&ev.type.charAt(0)===pointer.type}function isInputEventFromLabelClick(event){return lastLabelClickPos&&lastLabelClickPos.x===event.x&&lastLabelClickPos.y===event.y}function updatePointerState(ev,pointer){var point=getEventPoint(ev),x=pointer.x=point.pageX,y=pointer.y=point.pageY;pointer.distanceX=x-pointer.startX,pointer.distanceY=y-pointer.startY,pointer.distance=Math.sqrt(pointer.distanceX*pointer.distanceX+pointer.distanceY*pointer.distanceY),pointer.directionX=0<pointer.distanceX?"right":pointer.distanceX<0?"left":"",pointer.directionY=0<pointer.distanceY?"down":pointer.distanceY<0?"up":"",pointer.duration=+Date.now()-pointer.startTime,pointer.velocityX=pointer.distanceX/pointer.duration,pointer.velocityY=pointer.distanceY/pointer.duration}function getEventPoint(ev){return(ev=ev.originalEvent||ev).touches&&ev.touches[0]||ev.changedTouches&&ev.changedTouches[0]||ev}function canFocus(element){return!!element&&"-1"!==element.getAttribute("tabindex")&&!element.hasAttribute("disabled")&&(element.hasAttribute("tabindex")||element.hasAttribute("href")||element.isContentEditable||-1!==["INPUT","SELECT","BUTTON","TEXTAREA","VIDEO","AUDIO"].indexOf(element.nodeName))}angular.module("material.core.gestures",[]).provider("$mdGesture",MdGestureProvider).factory("$$MdGestureHandler",function(){var hasJQuery=void 0!==window.jQuery&&angular.element===window.jQuery;return GestureHandler.prototype={options:{},dispatchEvent:hasJQuery?function(srcEvent,eventType,eventPointer){eventPointer=eventPointer||pointer;var eventObj=new angular.element.Event(eventType);eventObj.$material=!0,eventObj.pointer=eventPointer,eventObj.srcEvent=srcEvent,angular.extend(eventObj,{clientX:eventPointer.x,clientY:eventPointer.y,screenX:eventPointer.x,screenY:eventPointer.y,pageX:eventPointer.x,pageY:eventPointer.y,ctrlKey:srcEvent.ctrlKey,altKey:srcEvent.altKey,shiftKey:srcEvent.shiftKey,metaKey:srcEvent.metaKey}),angular.element(eventPointer.target).trigger(eventObj)}:function(srcEvent,eventType,eventPointer){var eventObj;eventPointer=eventPointer||pointer,"click"===eventType||"mouseup"===eventType||"mousedown"===eventType?"function"==typeof window.MouseEvent?eventObj=new MouseEvent(eventType,{bubbles:!0,cancelable:!0,screenX:Number(srcEvent.screenX),screenY:Number(srcEvent.screenY),clientX:Number(eventPointer.x),clientY:Number(eventPointer.y),ctrlKey:srcEvent.ctrlKey,altKey:srcEvent.altKey,shiftKey:srcEvent.shiftKey,metaKey:srcEvent.metaKey,button:srcEvent.button,buttons:srcEvent.buttons,relatedTarget:srcEvent.relatedTarget||null}):(eventObj=document.createEvent("MouseEvents")).initMouseEvent(eventType,!0,!0,window,srcEvent.detail,eventPointer.x,eventPointer.y,eventPointer.x,eventPointer.y,srcEvent.ctrlKey,srcEvent.altKey,srcEvent.shiftKey,srcEvent.metaKey,srcEvent.button,srcEvent.relatedTarget||null):"function"==typeof window.CustomEvent?eventObj=new CustomEvent(eventType,{bubbles:!0,cancelable:!0,detail:{}}):(eventObj=document.createEvent("CustomEvent")).initCustomEvent(eventType,!0,!0,{}),eventObj.$material=!0,eventObj.pointer=eventPointer,eventObj.srcEvent=srcEvent,eventPointer.target.dispatchEvent(eventObj)},onSetup:angular.noop,onCleanup:angular.noop,onStart:angular.noop,onMove:angular.noop,onEnd:angular.noop,onCancel:angular.noop,start:function(ev,pointer){if(!this.state.isRunning){var parentTarget=this.getNearestParent(ev.target),parentTargetOptions=parentTarget&&parentTarget.$mdGesture[this.name]||{};this.state={isRunning:!0,options:angular.extend({},this.options,parentTargetOptions),registeredParent:parentTarget},this.onStart(ev,pointer)}},move:function(ev,pointer){this.state.isRunning&&this.onMove(ev,pointer)},end:function(ev,pointer){this.state.isRunning&&(this.state.isRunning=!1,this.onEnd(ev,pointer))},cancel:function(ev,pointer){this.onCancel(ev,pointer),this.state={}},getNearestParent:function(node){for(var current=node;current;){if((current.$mdGesture||{})[this.name])return current;current=current.parentNode}return null},registerElement:function(element,options){var self=this;return element[0].$mdGesture=element[0].$mdGesture||{},element[0].$mdGesture[this.name]=options||{},element.on("$destroy",onDestroy),self.onSetup(element,options||{}),onDestroy;function onDestroy(){delete element[0].$mdGesture[self.name],element.off("$destroy",onDestroy),self.onCleanup(element,options||{})}}},GestureHandler}).run(attachToDocument),MdGestureProvider.prototype={disableAll:function(){disableAllGestures=!0},skipClickHijack:function(){return forceSkipClickHijack=!0},setMaxClickDistance:function(clickDistance){maxClickDistance=parseInt(clickDistance)},$get:["$$MdGestureHandler","$$rAF","$timeout","$mdUtil",function($$MdGestureHandler,$$rAF,$timeout,$mdUtil){return new MdGesture($$MdGestureHandler,$$rAF,$timeout,$mdUtil)}]}}(),function(){function MdInteractionService($timeout,$mdUtil,$rootScope){this.$timeout=$timeout,this.$mdUtil=$mdUtil,this.$rootScope=$rootScope,this.pointerEvent="MSPointerEvent"in window?"MSPointerDown":"PointerEvent"in window?"pointerdown":null,this.bodyElement=angular.element(document.body),this.isBuffering=!1,this.bufferTimeout=null,this.lastInteractionType=null,this.lastInteractionTime=null,this.inputHandler=this.onInputEvent.bind(this),this.bufferedInputHandler=this.onBufferInputEvent.bind(this),this.inputEventMap={keydown:"keyboard",mousedown:"mouse",mouseenter:"mouse",touchstart:"touch",pointerdown:"pointer",MSPointerDown:"pointer"},this.iePointerMap={2:"touch",3:"touch",4:"mouse"},this.initializeEvents(),this.$rootScope.$on("$destroy",this.deregister.bind(this))}MdInteractionService.$inject=["$timeout","$mdUtil","$rootScope"],angular.module("material.core.interaction",[]).service("$mdInteraction",MdInteractionService),MdInteractionService.prototype.deregister=function(){this.bodyElement.off("keydown mousedown",this.inputHandler),"ontouchstart"in document.documentElement&&this.bodyElement.off("touchstart",this.bufferedInputHandler),this.pointerEvent&&this.bodyElement.off(this.pointerEvent,this.inputHandler)},MdInteractionService.prototype.initializeEvents=function(){this.bodyElement.on("keydown mousedown",this.inputHandler),"ontouchstart"in document.documentElement&&this.bodyElement.on("touchstart",this.bufferedInputHandler),this.pointerEvent&&this.bodyElement.on(this.pointerEvent,this.inputHandler)},MdInteractionService.prototype.onInputEvent=function(event){if(!this.isBuffering){var type=this.inputEventMap[event.type];"pointer"===type&&(type=this.iePointerMap[event.pointerType]||event.pointerType),this.lastInteractionType=type,this.lastInteractionTime=this.$mdUtil.now()}},MdInteractionService.prototype.onBufferInputEvent=function(event){this.$timeout.cancel(this.bufferTimeout),this.onInputEvent(event),this.isBuffering=!0,this.bufferTimeout=this.$timeout(function(){this.isBuffering=!1}.bind(this),650,!1)},MdInteractionService.prototype.getLastInteractionType=function(){return this.lastInteractionType},MdInteractionService.prototype.isUserInvoked=function(checkDelay){var delay=angular.isNumber(checkDelay)?checkDelay:15;return this.lastInteractionTime>=this.$mdUtil.now()-delay}}(),angular.module("material.core").provider("$$interimElement",function(){return InterimElementFactory.$inject=["$document","$q","$rootScope","$timeout","$rootElement","$animate","$mdUtil","$mdCompiler","$mdTheming","$injector","$exceptionHandler"],createInterimElementProvider.$get=InterimElementFactory,createInterimElementProvider;function createInterimElementProvider(interimFactoryName){factory.$inject=["$$interimElement","$injector"];var EXPOSED_METHODS=["onHide","onShow","onRemove"],customMethods={},providerConfig={presets:{}},provider={setDefaults:function(definition){return providerConfig.optionsFactory=definition.options,providerConfig.methods=(definition.methods||[]).concat(EXPOSED_METHODS),provider},addPreset:function(name,definition){if((definition=definition||{}).methods=definition.methods||[],definition.options=definition.options||function(){return{}},/^cancel|hide|show$/.test(name))throw new Error("Preset '"+name+"' in "+interimFactoryName+" is reserved!");if(-1<definition.methods.indexOf("_options"))throw new Error("Method '_options' in "+interimFactoryName+" is reserved!");return providerConfig.presets[name]={methods:definition.methods.concat(EXPOSED_METHODS),optionsFactory:definition.options,argOption:definition.argOption},provider},addMethod:function(name,fn){return customMethods[name]=fn,provider},$get:factory};return provider.addPreset("build",{methods:["controller","controllerAs","resolve","multiple","template","templateUrl","themable","transformTemplate","parent","contentElement"]}),provider;function factory($$interimElement,$injector){var defaultMethods,defaultOptions,interimElementService=$$interimElement(),publicService={hide:interimElementService.hide,cancel:interimElementService.cancel,show:function(opts){return(opts=opts||{})._options&&(opts=opts._options),interimElementService.show(angular.extend({},defaultOptions,opts))},destroy:function(opts){return interimElementService.destroy(opts)}};return defaultMethods=providerConfig.methods||[],defaultOptions=invokeFactory(providerConfig.optionsFactory,{}),angular.forEach(customMethods,function(fn,name){publicService[name]=fn}),angular.forEach(providerConfig.presets,function(definition,name){var presetDefaults=invokeFactory(definition.optionsFactory,{}),presetMethods=(definition.methods||[]).concat(defaultMethods);function Preset(opts){this._options=angular.extend({},presetDefaults,opts)}if(angular.extend(presetDefaults,{$type:name}),angular.forEach(presetMethods,function(name){Preset.prototype[name]=function(value){return this._options[name]=value,this}}),definition.argOption){var methodName="show"+name.charAt(0).toUpperCase()+name.slice(1);publicService[methodName]=function(arg){var config=publicService[name](arg);return publicService.show(config)}}publicService[name]=function(arg){return arguments.length&&definition.argOption&&!angular.isObject(arg)&&!angular.isArray(arg)?(new Preset)[definition.argOption](arg):new Preset(arg)}}),publicService;function invokeFactory(factory,defaultVal){var locals={};return locals[interimFactoryName]=publicService,$injector.invoke(factory||function(){return defaultVal},{},locals)}}}function InterimElementFactory($document,$q,$rootScope,$timeout,$rootElement,$animate,$mdUtil,$mdCompiler,$mdTheming,$injector,$exceptionHandler){return function(){var service,showPromises=[],hidePromises=[],showingInterims=[];return service={show:function(options){var interimElement=new InterimElement((options=options||{})||{}),hideAction=options.multiple?$q.resolve():$q.all(showPromises);options.multiple||(hideAction=hideAction.then(function(){var promiseArray=hidePromises.concat(showingInterims.map(service.cancel));return $q.all(promiseArray)}));var showAction=hideAction.then(function(){return interimElement.show().then(function(){showingInterims.push(interimElement)}).catch(function(reason){return reason}).finally(function(){showPromises.splice(showPromises.indexOf(showAction),1)})});return showPromises.push(showAction),interimElement.deferred.promise.catch(function(fault){return fault instanceof Error&&$exceptionHandler(fault),fault}),interimElement.deferred.promise},hide:waitForInterim(function(reason,options){return(options=options||{}).closeAll?$q.all(showingInterims.slice().reverse().map(closeElement)):void 0!==options.closeTo?$q.all(showingInterims.slice(options.closeTo).map(closeElement)):closeElement(showingInterims[showingInterims.length-1]);function closeElement(interim){if(!interim)return $q.when(reason);var hideAction=interim.remove(reason,!1,options||{}).catch(function(reason){return reason}).finally(function(){hidePromises.splice(hidePromises.indexOf(hideAction),1)});return showingInterims.splice(showingInterims.indexOf(interim),1),hidePromises.push(hideAction),interim.deferred.promise}}),cancel:waitForInterim(function(reason,options){var interim=showingInterims.pop();if(!interim)return $q.when(reason);var cancelAction=interim.remove(reason,!0,options||{}).catch(function(reason){return reason}).finally(function(){hidePromises.splice(hidePromises.indexOf(cancelAction),1)});return hidePromises.push(cancelAction),interim.deferred.promise.catch(angular.noop)}),destroy:function(targetEl){var interim=targetEl?null:showingInterims.shift(),parentEl=angular.element(targetEl).length&&angular.element(targetEl)[0].parentNode;if(parentEl){var filtered=showingInterims.filter(function(entry){return entry.options.element[0]===parentEl});filtered.length&&(interim=filtered[0],showingInterims.splice(showingInterims.indexOf(interim),1))}return interim?interim.remove(!1,!1,{$destroy:!0}):$q.when(!1)},$injector_:$injector};function waitForInterim(callbackFn){return function(){var fnArguments=arguments;return showingInterims.length?callbackFn.apply(service,fnArguments):showPromises.length?showPromises[0].finally(function(){return callbackFn.apply(service,fnArguments)}):$q.when("No interim elements currently showing up.")}}function InterimElement(options){var self,element,showAction=$q.when(!0);return options=function(options){return(options=options||{}).template&&(options.template=$mdUtil.processTemplate(options.template)),angular.extend({preserveScope:!1,cancelAutoHide:angular.noop,scope:options.scope||$rootScope.$new(options.isolateScope),onShow:function(scope,element,options){return $animate.enter(element,options.parent)},onRemove:function(scope,element){return element&&$animate.leave(element)||$q.when()}},options)}(options),self={options:options,deferred:$q.defer(),show:function(){return $q(function(resolve,reject){function rejectAll(fault){self.deferred.reject(fault),reject(fault)}options.onCompiling&&options.onCompiling(options),function(options){return(options.skipCompile?null:$mdCompiler.compile(options))||$q(function(resolve){resolve({locals:{},link:function(){return options.element}})})}(options).then(function(compiledData){element=function(compileData,options){angular.extend(compileData.locals,options);var element=compileData.link(options.scope);return options.element=element,options.parent=function(element,options){var el,parent=options.parent;return((parent=angular.isFunction(parent)?parent(options.scope,element,options):angular.isString(parent)?angular.element($document[0].querySelector(parent)):angular.element(parent))||{}).length?parent:($rootElement[0]&&$rootElement[0].querySelector&&(el=$rootElement[0].querySelector(":not(svg) > body")),el||(el=$rootElement[0]),"#comment"===el.nodeName&&(el=$document[0].body),angular.element(el))}(element,options),options.themable&&$mdTheming(element),element}(compiledData,options),options.cleanupElement=compiledData.cleanup,showAction=function(element,options,controller){var notifyShowing=options.onShowing||angular.noop,notifyComplete=options.onComplete||angular.noop;try{notifyShowing(options.scope,element,options,controller)}catch(e){return $q.reject(e)}return $q(function(resolve,reject){try{$q.when(options.onShow(options.scope,element,options)).then(function(){notifyComplete(options.scope,element,options),startAutoHide(),resolve(element)},reject)}catch(e){reject(e.message)}})}(element,options,compiledData.controller).then(resolve,rejectAll)}).catch(rejectAll)})},remove:function(response,isCancelled,opts){return element?((options=angular.extend(options||{},opts||{})).cancelAutoHide&&options.cancelAutoHide(),options.element.triggerHandler("$mdInterimElementRemove"),!0===options.$destroy?hideElement(options.element,options).then(function(){isCancelled&&rejectAll(response)||resolveAll(response)}):($q.when(showAction).finally(function(){hideElement(options.element,options).then(function(){isCancelled?rejectAll(response):resolveAll(response)},rejectAll)}),self.deferred.promise)):$q.when(!1);function resolveAll(response){self.deferred.resolve(response)}function rejectAll(fault){self.deferred.reject(fault)}}};function startAutoHide(){var autoHideTimer,cancelAutoHide=angular.noop;options.hideDelay&&(autoHideTimer=$timeout(service.hide,options.hideDelay),cancelAutoHide=function(){$timeout.cancel(autoHideTimer)}),options.cancelAutoHide=function(){cancelAutoHide(),options.cancelAutoHide=void 0}}function hideElement(element,options){var announceRemoving=options.onRemoving||angular.noop;return $q(function(resolve,reject){try{var action=$q.when(options.onRemove(options.scope,element,options)||!0);announceRemoving(element,action),options.$destroy?(resolve(element),!options.preserveScope&&options.scope&&action.then(function(){options.scope.$destroy()})):action.then(function(){!options.preserveScope&&options.scope&&options.scope.$destroy(),resolve(element)},reject)}catch(e){reject(e.message)}})}}}}}),function(){var $mdUtil,$interpolate,$log,SUFFIXES=/(-gt)?-(sm|md|lg|print)/g,WHITESPACE=/\s+/g,FLEX_OPTIONS=["grow","initial","auto","
1none","noshrink","nogrow"],LAYOUT_OPTIONS=["row","column"],ALIGNMENT_MAIN_AXIS=["","start","center","end","stretch","space-around","space-between"],ALIGNMENT_CROSS_AXIS=["","start","center","end","stretch"],config={enabled:!0,breakpoints:[]};function detectDisabledLayouts(){var isDisabled=!!document.querySelector("[md-layouts-disabled]");config.enabled=!isDisabled}function disableLayoutDirective(){return config.enabled=!1,{restrict:"A",priority:"900"}}function attributeWithoutValue(className){return["$mdUtil","$interpolate","$log",function(_$mdUtil_,_$interpolate_,_$log_){return $mdUtil=_$mdUtil_,$interpolate=_$interpolate_,$log=_$log_,{restrict:"A",compile:function(element,attr){var linkFn;return config.enabled&&(validateAttributeValue(className,getNormalizedAttrValue(className,attr,""),buildUpdateFn(0,className,attr)),translateToCssClass(0,element),linkFn=translateToCssClass),linkFn||angular.noop}}}];function translateToCssClass(scope,element){element.addClass(className)}}function validateAttributeUsage(className,attr,element,$log){var usage,nodeName=element[0].nodeName.toLowerCase();switch(className.replace(SUFFIXES,"")){case"flex":"md-button"!==nodeName&&"fieldset"!==nodeName||(usage="<"+nodeName+" "+className+"></"+nodeName+">",$log.warn($mdUtil.supplant("Markup '{0}' may not work as expected in IE Browsers. Consult '{1}' for details.",[usage,"https://github.com/philipwalton/flexbugs#9-some-html-elements-cant-be-flex-containers"])))}}function validateAttributeValue(className,value,updateFn){var origValue=value;if(!needsInterpolation(value)){switch(className.replace(SUFFIXES,"")){case"layout":findIn(value,LAYOUT_OPTIONS)||(value=LAYOUT_OPTIONS[0]);break;case"flex":findIn(value,FLEX_OPTIONS)||isNaN(value)&&(value="");break;case"flex-offset":case"flex-order":value&&!isNaN(+value)||(value="0");break;case"layout-align":var axis=function(attrValue){var values,axis={main:"start",cross:"stretch"};return 0!==(attrValue=attrValue||"").indexOf("-")&&0!==attrValue.indexOf(" ")||(attrValue="none"+attrValue),(values=attrValue.toLowerCase().trim().replace(WHITESPACE,"-").split("-")).length&&"space"===values[0]&&(values=[values[0]+"-"+values[1],values[2]]),0<values.length&&(axis.main=values[0]||axis.main),1<values.length&&(axis.cross=values[1]||axis.cross),ALIGNMENT_MAIN_AXIS.indexOf(axis.main)<0&&(axis.main="start"),ALIGNMENT_CROSS_AXIS.indexOf(axis.cross)<0&&(axis.cross="stretch"),axis}(value);value=$mdUtil.supplant("{main}-{cross}",axis);break;case"layout-padding":case"layout-margin":case"layout-fill":case"layout-wrap":case"layout-nowrap":value=""}value!==origValue&&(updateFn||angular.noop)(value)}return value?value.trim():""}function buildUpdateFn(element,className,attrs){return function(fallback){needsInterpolation(fallback)||(attrs[attrs.$normalize(className)]=fallback)}}function needsInterpolation(value){return-1<(value||"").indexOf($interpolate.startSymbol())}function getNormalizedAttrValue(className,attrs,defaultVal){var normalizedAttr=attrs.$normalize(className);return attrs[normalizedAttr]?attrs[normalizedAttr].trim().replace(WHITESPACE,"-"):defaultVal||null}function findIn(item,list,replaceWith){item=replaceWith&&item?item.replace(WHITESPACE,replaceWith):item;var found=!1;return item&&list.forEach(function(it){it=replaceWith?it.replace(WHITESPACE,replaceWith):it,found=found||it===item}),found}!function(module){var className,PREFIX_REGEXP=/^((?:x|data)[:\-_])/i,SPECIAL_CHARS_REGEXP=/([:\-_]+(.))/g,API_WITH_VALUES=["layout","flex","flex-order","flex-offset","layout-align"],API_NO_VALUES=["show","hide","layout-padding","layout-margin"];function directiveNormalize(name){return name.replace(PREFIX_REGEXP,"").replace(SPECIAL_CHARS_REGEXP,function(_,separator,letter,offset){return offset?letter.toUpperCase():letter})}angular.forEach(["","xs","gt-xs","sm","gt-sm","md","gt-md","lg","gt-lg","xl","print"],function(mqb){angular.forEach(API_WITH_VALUES,function(name){var fullName=mqb?name+"-"+mqb:name;module.directive(directiveNormalize(fullName),function(className){return["$mdUtil","$interpolate","$log",function(_$mdUtil_,_$interpolate_,_$log_){return $mdUtil=_$mdUtil_,$interpolate=_$interpolate_,$log=_$log_,{restrict:"A",compile:function(element,attr){var linkFn;return config.enabled&&(validateAttributeUsage(className,0,element,$log),validateAttributeValue(className,getNormalizedAttrValue(className,attr,""),buildUp
vendor: 23,850 bytes, line 1
1dateFn(0,className,attr)),linkFn=translateWithValueToCssClass),linkFn||angular.noop}}}];function translateWithValueToCssClass(scope,element,attrs){var updateFn=function(element,className){var lastClass;return function(newValue){var value=validateAttributeValue(className,newValue||"");angular.isDefined(value)&&(lastClass&&element.removeClass(lastClass),lastClass=value?className+"-"+value.trim().replace(WHITESPACE,"-"):className,element.addClass(lastClass))}}(element,className),unwatch=attrs.$observe(attrs.$normalize(className),updateFn);updateFn(getNormalizedAttrValue(className,attrs,"")),scope.$on("$destroy",function(){unwatch()})}}(fullName))}),angular.forEach(API_NO_VALUES,function(name){var fullName=mqb?name+"-"+mqb:name;module.directive(directiveNormalize(fullName),attributeWithoutValue(fullName))})}),module.provider("$$mdLayout",function(){return{$get:angular.noop,validateAttributeValue:validateAttributeValue,validateAttributeUsage:validateAttributeUsage,disableLayouts:function(isDisabled){config.enabled=!0!==isDisabled}}}).directive("mdLayoutCss",disableLayoutDirective).directive("ngCloak",(className="ng-cloak",["$timeout",function($timeout){return{restrict:"A",priority:-10,compile:function(element){return config.enabled?(element.addClass(className),function(scope,element){$timeout(function(){element.removeClass(className)},10,!1)}):angular.noop}}}])).directive("layoutWrap",attributeWithoutValue("layout-wrap")).directive("layoutNowrap",attributeWithoutValue("layout-nowrap")).directive("layoutNoWrap",attributeWithoutValue("layout-no-wrap")).directive("layoutFill",attributeWithoutValue("layout-fill")).config(detectDisabledLayouts)}(angular.module("material.core.layout",["ng"]))}(),function(){function MdLiveAnnouncer($timeout){this._$timeout=$timeout,this._liveElement=this._createLiveElement(),this._announceTimeout=100}MdLiveAnnouncer.$inject=["$timeout"],angular.module("material.core").service("$mdLiveAnnouncer",MdLiveAnnouncer),MdLiveAnnouncer.prototype.announce=function(message,politeness){politeness||(politeness="polite");var self=this;self._liveElement.textContent="",self._liveElement.setAttribute("aria-live",politeness),self._$timeout(function(){self._liveElement.textContent=message},self._announceTimeout,!1)},MdLiveAnnouncer.prototype._createLiveElement=function(){var liveEl=document.createElement("div");return liveEl.classList.add("md-visually-hidden"),liveEl.setAttribute("role","status"),liveEl.setAttribute("aria-atomic","true"),liveEl.setAttribute("aria-live","polite"),document.body.appendChild(liveEl),liveEl}}(),angular.module("material.core.meta",[]).provider("$$mdMeta",function(){var head=angular.element(document.head),metaElements={};function mapExistingElement(name){if(metaElements[name])return!0;var element=document.getElementsByName(name)[0];return!!element&&(metaElements[name]=angular.element(element),!0)}var module={setMeta:function(name,content){if(mapExistingElement(name),metaElements[name])metaElements[name].attr("content",content);else{var newMeta=angular.element('<meta name="'+name+'" content="'+content+'"/>');head.append(newMeta),metaElements[name]=newMeta}return function(){metaElements[name].attr("content",""),metaElements[name].remove(),delete metaElements[name]}},getMeta:function(name){if(!mapExistingElement(name))throw Error("$$mdMeta: could not find a meta tag with the name '"+name+"'");return metaElements[name].attr("content")}};return angular.extend({},module,{$get:function(){return module}})}),function(){function ComponentRegistry($log,$q){var self,instances=[],pendings={};return self={notFoundError:function(handle,msgContext){$log.error((msgContext||"")+"No instance found for handle",handle)},getInstances:function(){return instances},get:function(handle){if(!isValidID(handle))return null;var i,j,instance;for(i=0,j=instances.length;i<j;i++)if((instance=instances[i]).$$mdHandle===handle)return instance;return null},register:function(instance,handle){return handle?(instance.$$mdHandle=handle,instances.push(instance),(dfd=pendings[handle])&&(dfd.forEach(function(promise){promise.resolve(instance)}),delete pendings[handle]),function(){var index=instances.indexOf(instance);-1!==index&&instances.splice(index,1)}):angular.noop;var dfd},when:function(handle){if(isValidID(handle)){var deferred=$q.defer(),instance=self.get(handle);return instance?deferred.resolve(instance):(void 0===pendings[handle]&&(pendings[handle]=[]),pendings[handle].push(deferred)),deferred.promise}return $q.reject("Invalid `md-component-id` value.")}};function isValidID(handle){return handle&&""!==handle}}ComponentRegistry.$inject=["$log","$q"],angular.module("material.core").factory("$mdComponentRegistry",ComponentRegistry)}(),function(){function MdButtonInkRipple($mdInkRipple){return{attach:function(scope,element,options){return options=angular.extend(function(element){return element.hasClass("md-icon-button")?{isMenuItem:element.hasClass("md-menu-item"),fitRipple:!0,center:!0}:{isMenuItem:element.hasClass("md-menu-item"),dimBackground:!0}}(element),options),$mdInkRipple.attach(scope,element,options)}}}MdButtonInkRipple.$inject=["$mdInkRipple"],angular.module("material.core").factory("$mdButtonInkRipple",MdButtonInkRipple)}(),function(){function MdCheckboxInkRipple($mdInkRipple){return{attach:function(scope,element,options){return $mdInkRipple.attach(scope,element,angular.extend({center:!0,dimBackground:!1,fitRipple:!0},options))}}}MdCheckboxInkRipple.$inject=["$mdInkRipple"],angular.module("material.core").factory("$mdCheckboxInkRipple",MdCheckboxInkRipple)}(),function(){function MdListInkRipple($mdInkRipple){return{attach:function(scope,element,options){return $mdInkRipple.attach(scope,element,angular.extend({center:!1,dimBackground:!0,outline:!1,rippleSize:"full"},options))}}}MdListInkRipple.$inject=["$mdInkRipple"],angular.module("material.core").factory("$mdListInkRipple",MdListInkRipple)}(),function(){InkRippleCtrl.$inject=["$scope","$element","rippleOptions","$window","$timeout","$mdUtil","$mdColorUtil"],InkRippleDirective.$inject=["$mdButtonInkRipple","$mdCheckboxInkRipple"],angular.module("material.core").provider("$mdInkRipple",function(){var isDisabledGlobally=!1;return{disableInkRipple:function(){isDisabledGlobally=!0},$get:["$injector",function($injector){return{attach:function(scope,element,options){return isDisabledGlobally||element.controller("mdNoInk")?angular.noop:$injector.instantiate(InkRippleCtrl,{$scope:scope,$element:element,rippleOptions:options})}}}]}}).directive("mdInkRipple",InkRippleDirective).directive("mdNoInk",attrNoDirective).directive("mdNoBar",attrNoDirective).directive("mdNoStretch",attrNoDirective);function InkRippleDirective($mdButtonInkRipple,$mdCheckboxInkRipple){return{controller:angular.noop,link:function(scope,element,attr){attr.hasOwnProperty("mdInkRippleCheckbox")?$mdCheckboxInkRipple.attach(scope,element):$mdButtonInkRipple.attach(scope,element)}}}function InkRippleCtrl($scope,$element,rippleOptions,$window,$timeout,$mdUtil,$mdColorUtil){this.$window=$window,this.$timeout=$timeout,this.$mdUtil=$mdUtil,this.$mdColorUtil=$mdColorUtil,this.$scope=$scope,this.$element=$element,this.options=rippleOptions,this.mousedown=!1,this.ripples=[],this.timeout=null,this.lastRipple=null,$mdUtil.valueOnUse(this,"container",this.createContainer),this.$element.addClass("md-ink-ripple"),($element.controller("mdInkRipple")||{}).createRipple=angular.bind(this,this.createRipple),($element.controller("mdInkRipple")||{}).setColor=angular.bind(this,this.color),this.bindEvents()}function autoCleanup(self,cleanupFn){(self.mousedown||self.lastRipple)&&(self.mousedown=!1,self.$mdUtil.nextTick(angular.bind(self,cleanupFn),!1))}function attrNoDirective(){return{controller:angular.noop}}InkRippleCtrl.prototype.color=function(value){var items,elem,self=this;return angular.isDefined(value)&&(self._color=self._parseColor(value)),self._color||self._parseColor(self.inkRipple())||self._parseColor((items=self.options&&self.options.colorElement?self.options.colorElement:[],(elem=items.length?items[0]:self.$element[0])?self.$window.getComputedStyle(elem).color:"rgb(0,0,0)"))},InkRippleCtrl.prototype.calculateColor=function(){return this.color()},InkRippleCtrl.prototype._parseColor=function(color,multiplier){multiplier=multiplier||1;var colorUtil=this.$mdColorUtil;if(color)return 0===color.indexOf("rgba")?color.replace(/\d?\.?\d*\s*\)\s*$/,(.1*multiplier).toString()+")"):0===color.indexOf("rgb")?colorUtil.rgbToRgba(color):0===color.indexOf("#")?colorUtil.hexToRgba(color):void 0},InkRippleCtrl.prototype.bindEvents=function(){this.$element.on("mousedown",angular.bind(this,this.handleMousedown)),this.$element.on("mouseup touchend",angular.bind(this,this.handleMouseup)),this.$element.on("mouseleave",angular.bind(this,this.handleMouseup)),this.$element.on("touchmove",angular.bind(this,this.handleTouchmove))},InkRippleCtrl.prototype.handleMousedown=function(event){if(!this.mousedown)if(event.hasOwnProperty("originalEvent")&&(event=event.originalEvent),this.mousedown=!0,this.options.center)this.createRipple(this.container.prop("clientWidth")/2,this.container.prop("clientWidth")/2);else if(event.srcElement!==this.$element[0]){var layerRect=this.$element[0].getBoundingClientRect(),layerX=event.clientX-layerRect.left,layerY=event.clientY-layerRect.top;this.createRipple(layerX,layerY)}else this.createRipple(event.offsetX,event.offsetY)},InkRippleCtrl.prototype.handleMouseup=function(){this.$timeout(function(){autoCleanup(this,this.clearRipples)}.bind(this))},InkRippleCtrl.prototype.handleTouchmove=function(){autoCleanup(this,this.deleteRipples)},InkRippleCtrl.prototype.deleteRipples=function(){for(var i=0;i<this.ripples.length;i++)this.ripples[i].remove()},InkRippleCtrl.prototype.clearRipples=function(){for(var i=0;i<this.ripples.length;i++)this.fadeInComplete(this.ripples[i])},InkRippleCtrl.prototype.createContainer=function(){var container=angular.element('<div class="md-ripple-container"></div>');return this.$element.append(container),container},InkRippleCtrl.prototype.clearTimeout=function(){this.timeout&&(this.$timeout.cancel(this.timeout),this.timeout=null)},InkRippleCtrl.prototype.isRippleAllowed=function(){var element=this.$element[0];do{if(!element.tagName||"BODY"===element.tagName)break;if(element&&angular.isFunction(element.hasAttribute)){if(element.hasAttribute("disabled"))return!1;if("false"===this.inkRipple()||"0"===this.inkRipple())return!1}}while(element=element.parentNode);return!0},InkRippleCtrl.prototype.inkRipple=function(){return this.$element.attr("md-ink-ripple")},InkRippleCtrl.prototype.createRipple=function(left,top){if(this.isRippleAllowed()){var ctrl=this,colorUtil=ctrl.$mdColorUtil,ripple=angular.element('<div class="md-ripple"></div>'),width=this.$element.prop("clientWidth"),height=this.$element.prop("clientHeight"),x=2*Math.max(Math.abs(width-left),left),y=2*Math.max(Math.abs(height-top),top),size=function(fit,x,y){return fit?Math.max(x,y):Math.sqrt(Math.pow(x,2)+Math.pow(y,2))}(this.options.fitRipple,x,y),color=this.calculateColor();ripple.css({left:left+"px",top:top+"px",background:"black",width:size+"px",height:size+"px",backgroundColor:colorUtil.rgbaToRgb(color),borderColor:colorUtil.rgbaToRgb(color)}),this.lastRipple=ripple,this.clearTimeout(),this.timeout=this.$timeout(function(){ctrl.clearTimeout(),ctrl.mousedown||ctrl.fadeInComplete(ripple)},157.5,!1),this.options.dimBackground&&this.container.css({backgroundColor:color}),this.container.append(ripple),this.ripples.push(ripple),ripple.addClass("md-ripple-placed"),this.$mdUtil.nextTick(function(){ripple.addClass("md-ripple-scaled md-ripple-active"),ctrl.$timeout(function(){ctrl.clearRipples()},450,!1)},!1)}},InkRippleCtrl.prototype.fadeInComplete=function(ripple){this.lastRipple===ripple&&(this.timeout||this.mousedown)||this.removeRipple(ripple)},InkRippleCtrl.prototype.removeRipple=function(ripple){var ctrl=this;this.ripples.indexOf(ripple)<0||(this.ripples.splice(this.ripples.indexOf(ripple),1),ripple.removeClass("md-ripple-active"),ripple.addClass("md-ripple-remove"),0===this.ripples.length&&this.container.css({backgroundColor:""}),this.$timeout(function(){ctrl.fadeOutComplete(ripple)},450,!1))},InkRippleCtrl.prototype.fadeOutComplete=function(ripple){ripple.remove(),this.lastRipple=null}}(),function(){function MdTabInkRipple($mdInkRipple){return{attach:function(scope,element,options){return $mdInkRipple.attach(scope,element,angular.extend({center:!1,dimBackground:!0,outline:!1,rippleSize:"full"},options))}}}MdTabInkRipple.$inject=["$mdInkRipple"],angular.module("material.core").factory("$mdTabInkRipple",MdTabInkRipple)}(),angular.module("material.core.theming.palette",[]).constant("$mdColorPalette",{red:{50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 400 500 600 A100 A200 A400",contrastStrongLightColors:"700 800 900 A700"},pink:{50:"#fce4ec",100:"#f8bbd0",200:"#f48fb1",300:"#f06292",400:"#ec407a",500:"#e91e63",600:"#d81b60",700:"#c2185b",800:"#ad1457",900:"#880e4f",A100:"#ff80ab",A200:"#ff4081",A400:"#f50057",A700:"#c51162",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 400 A100 A200 A400",contrastStrongLightColors:"500 600 700 800 900 A700"},purple:{50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 A100 A200 A400",contrastStrongLightColors:"400 500 600 700 800 900 A700"},"deep-purple":{50:"#ede7f6",100:"#d1c4e9",200:"#b39ddb",300:"#9575cd",400:"#7e57c2",500:"#673ab7",600:"#5e35b1",700:"#512da8",800:"#4527a0",900:"#311b92",A100:"#b388ff",A200:"#7c4dff",A400:"#651fff",A700:"#6200ea",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 A100",contrastStrongLightColors:"400 500 600 700 800 900 A200 A400 A700"},indigo:{50:"#e8eaf6",100:"#c5cae9",200:"#9fa8da",300:"#7986cb",400:"#5c6bc0",500:"#3f51b5",600:"#3949ab",700:"#303f9f",800:"#283593",900:"#1a237e",A100:"#8c9eff",A200:"#536dfe",A400:"#3d5afe",A700:"#304ffe",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 A100 A200",contrastStrongLightColors:"400 500 600 700 800 900 A400 A700"},blue:{50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 400 500 600 A100 A200",contrastStrongLightColors:"700 800 900 A400 A700"},"light-blue":{50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea",contrastDefaultColor:"dark",contrastStrongLightColors:"800 900 A700"},cyan:{50:"#e0f7fa",100:"#b2ebf2",200:"#80deea",300:"#4dd0e1",400:"#26c6da",500:"#00bcd4",600:"#00acc1",700:"#0097a7",800:"#00838f",900:"#006064",A100:"#84ffff",A200:"#18ffff",A400:"#00e5ff",A700:"#00b8d4",contrastDefaultColor:"dark",contrastStrongLightColors:"800 900"},teal:{50:"#e0f2f1",100:"#b2dfdb",200:"#80cbc4",300:"#4db6ac",400:"#26a69a",500:"#009688",600:"#00897b",700:"#00796b",800:"#00695c",900:"#004d40",A100:"#a7ffeb",A200:"#64ffda",A400:"#1de9b6",A700:"#00bfa5",contrastDefaultColor:"dark",contrastStrongLightColors:"600 700 800 900"},green:{50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853",contrastDefaultColor:"dark",contrastStrongLightColors:"700 800 900"},"light-green":{50:"#f1f8e9",100:"#dcedc8",200:"#c5e1a5",300:"#aed581",400:"#9ccc65",500:"#8bc34a",600:"#7cb342",700:"#689f38",800:"#558b2f",900:"#33691e",A100:"#ccff90",A200:"#b2ff59",A400:"#76ff03",A700:"#64dd17",contrastDefaultColor:"dark",contrastStrongLightColors:"800 900"},lime:{50:"#f9fbe7",100:"#f0f4c3",200:"#e6ee9c",300:"#dce775",400:"#d4e157",500:"#cddc39",600:"#c0ca33",700:"#afb42b",800:"#9e9d24",900:"#827717",A100:"#f4ff81",A200:"#eeff41",A400:"#c6ff00",A700:"#aeea00",contrastDefaultColor:"dark",contrastStrongLightColors:"900"},yellow:{50:"#fffde7",100:"#fff9c4",200:"#fff59d",300:"#fff176",400:"#ffee58",500:"#ffeb3b",600:"#fdd835",700:"#fbc02d",800:"#f9a825",900:"#f57f17",A100:"#ffff8d",A200:"#ffff00",A400:"#ffea00",A700:"#ffd600",contrastDefaultColor:"dark"},amber:{50:"#fff8e1",100:"#ffecb3",200:"#ffe082",300:"#ffd54f",400:"#ffca28",500:"#ffc107",600:"#ffb300",700:"#ffa000",800:"#ff8f00",900:"#ff6f00",A100:"#ffe57f",A200:"#ffd740",A400:"#ffc400",A700:"#ffab00",contrastDefaultColor:"dark"},orange:{50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00",contrastDefaultColor:"dark",contrastStrongLightColors:"900"},"deep-orange":{50:"#fbe9e7",100:"#ffccbc",200:"#ffab91",300:"#ff8a65",400:"#ff7043",500:"#ff5722",600:"#f4511e",700:"#e64a19",800:"#d84315",900:"#bf360c",A100:"#ff9e80",A200:"#ff6e40",A400:"#ff3d00",A700:"#dd2c00",contrastDefaultColor:"dark",contrastStrongLightColors:"800 900 A400 A700"},brown:{50:"#efebe9",100:"#d7ccc8",200:"#bcaaa4",300:"#a1887f",400:"#8d6e63",500:"#795548",600:"#6d4c41",700:"#5d4037",800:"#4e342e",900:"#3e2723",A100:"#d7ccc8",A200:"#bcaaa4",A400:"#8d6e63",A700:"#5d4037",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 A100 A200",contrastStrongLightColors:"400 500 600 700 800 900 A400 A700"},grey:{50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#ffffff",A200:"#000000",A400:"#303030",A700:"#616161",contrastDefaultColor:"dark",contrastLightColors:"700 800 900 A200 A400 A700",contrastStrongLightColors:"600"},"blue-grey":{50:"#eceff1",100:"#cfd8dc",200:"#b0bec5",300:"#90a4ae",400:"#78909c",500:"#607d8b",600:"#546e7a",700:"#455a64",800:"#37474f",900:"#263238",A100:"#cfd8dc",A200:"#b0bec5",A400:"#78909c",A700:"#455a64",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 400 A100 A200 A400",contrastStrongLightColors:"500 600 700 800 900 A700"}}),function(angular){function detectDisabledThemes($mdThemingProvider){var isDisabled=!!document.querySelector("[md-themes-disabled]");$mdThemingProvider.disableTheming(isDisabled)}detectDisabledThemes.$inject=["$mdThemingProvider"],ThemingDirective.$inject=["$mdTheming","$interpolate","$parse","$mdUtil","$q","$log"],ThemableDirective.$inject=["$mdTheming"],ThemingProvider.$inject=["$mdColorPalette","$$mdMetaProvider"],generateAllThemes.$inject=["$injector","$mdTheming"],angular.module("material.core.theming",["material.core.theming.palette","material.core.meta"]).directive("mdTheme",ThemingDirective).directive("mdThemable",ThemableDirective).directive("mdThemesDisabled",function(){return themeConfig.disableTheming=!0,{restrict:"A",priority:"900"}}).provider("$mdTheming",ThemingProvider).config(detectDisabledThemes).run(generateAllThemes);var PALETTES,GENERATED={},DARK_FOREGROUND={name:"dark"},LIGHT_FOREGROUND={name:"light"},DARK_SHADOW="1px 1px 0px rgba(0,0,0,0.4), -1px -1px 0px rgba(0,0,0,0.4)",LIGHT_SHADOW="",DARK_CONTRAST_COLOR=colorToRgbaArray("rgba(0,0,0,0.87)"),LIGHT_CONTRAST_COLOR=colorToRgbaArray("rgba(255,255,255,0.87)"),STRONG_LIGHT_CONTRAST_COLOR=colorToRgbaArray("rgb(255,255,255)"),THEME_COLOR_TYPES=["primary","accent","warn","background"],DEFAULT_COLOR_TYPE="primary",LIGHT_DEFAULT_HUES={accent:{default:"A200","hue-1":"A100","hue-2":"A400","hue-3":"A700"},background:{default:"50","hue-1":"A100","hue-2":"100","hue-3":"300"}},DARK_DEFAULT_HUES={background:{default:"A400","hue-1":"800","hue-2":"900","hue-3":"A200"}},DARK_CONTRAST_OPACITY={icon:.54,secondary:.54,disabled:.38,hint:.38,divider:.12},LIGHT_CONTRAST_OPACITY={icon:.87,secondary:.7,disabled:.5,hint:.5,divider:.12},STRONG_LIGHT_CONTRAST_OPACITY={icon:1,secondary:.7,disabled:.5,hint:.5,divider:.12};THEME_COLOR_TYPES.forEach(function(colorType){var defaultDefaultHues={default:"500","hue-1":"300","hue-2":"800","hue-3":"A100"};LIGHT_DEFAULT_HUES[colorType]||(LIGHT_DEFAULT_HUES[colorType]=defaultDefaultHues),DARK_DEFAULT_HUES[colorType]||(DARK_DEFAULT_HUES[colorType]=defaultDefaultHues)});var VALID_HUE_VALUES=["50","100","200","300","400","500","600","700","800","900","A100","A200","A400","A700"],themeConfig={disableTheming:!1,generateOnDemand:!1,registeredStyles:[],nonce:null};function ThemingProvider($mdColorPalette,$$mdMetaProvider){ThemingService.$inject=["$rootScope","$mdUtil","$q","$log"];var themingProvider,THEMES={},alwaysWatchTheme=!(PALETTES={}),defaultTheme="default";angular.extend(PALETTES,$mdColorPalette);var enableBrowserColor=function(options){var theme=(options=angular.isObject(options)?options:{}).theme||"default",hue=options.hue||"800",palette=PALETTES[options.palette]||PALETTES[THEMES[theme].colors[options.palette||"primary"].name],color=angular.isObject(palette[hue])?palette[hue].hex:palette[hue];return"#"!==color.substr(0,1)&&(color="#"+color),function(color){var removeChrome=$$mdMetaProvider.setMeta("theme-color",color),removeWindows=$$mdMetaProvider.setMeta("msapplication-navbutton-color",color);return function(){removeChrome(),removeWindows()}}(color)};return themingProvider={definePalette:function(name,map){return map=map||{},PALETTES[name]=checkPaletteValid(name,map),themingProvider},extendPalette:function(name,map){return checkPaletteValid(name,angular.extend({},PALETTES[name]||{},map))},theme:registerTheme,configuration:function(){return angular.extend({},themeConfig,{defaultTheme:defaultTheme,alwaysWatchTheme:alwaysWatchTheme,registeredStyles:[].concat(themeConfig.registeredStyles)})},disableTheming:function(isDisabled){themeConfig.disableTheming=angular.isUndefined(isDisabled)||!!isDisabled},registerStyles:function(styles){themeConfig.registeredStyles.push(styles)},setNonce:function(nonceValue){themeConfig.nonce=nonceValue},generateThemesOnDemand:function(onDemand){themeConfig.generateOnDemand=onDemand},setDefaultTheme:function(theme){defaultTheme=theme},alwaysWatchTheme:function(alwaysWatch){alwaysWatchTheme=alwaysWatch},enableBrowserColor:enableBrowserColor,$get:ThemingService,_LIGHT_DEFAULT_HUES:LIGHT_DEFAULT_HUES,_DARK_DEFAULT_HUES:DARK_DEFAULT_HUES,_PALETTES:PALETTES,_THEMES:THEMES,_parseRules:parseRules,_rgba:rgba};function checkPaletteValid(name,map){var missingColors=VALID_HUE_VALUES.filter(function(field){return!map[field]});if(missingColors.length)throw new Error("Missing colors %1 in palette %2!".replace("%1",missingColors.join(", ")).replace("%2",name));return map}function registerTheme(name,inheritFrom){if(THEMES[name])return THEMES[name];var parentTheme="string"==typeof(inheritFrom=inheritFrom||"default")?THEMES[inheritFrom]:inheritFrom,theme=new Theme(name);return parentTheme&&angular.forEach(parentTheme.colors,function(color,colorType){theme.colors[colorType]={name:color.name,hues:angular.extend({},color.hues)}}),THEMES[name]=theme}function Theme(name){var self=this;function setDark(isDark){if((isDark=0===arguments.length||!!isDark)!==self.isDark){self.isDark=isDark,self.foregroundPalette=self.isDark?LIGHT_FOREGROUND:DARK_FOREGROUND,self.foregroundShadow=self.isDark?DARK_SHADOW:LIGHT_SHADOW;var newDefaultHues=self.isDark?DARK_DEFAULT_HUES:LIGHT_DEFAULT_HUES,oldDefaultHues=self.isDark?LIGHT_DEFAULT_HUES:DARK_DEFAULT_HUES;return angular.forEach(newDefaultHues,function(newDefaults,colorType){var color=self.colors[colorType],oldDefaults=oldDefaultHues[colorType];
vendor: 5,188 bytes, line 1
1if(color)for(var hueName in color.hues)color.hues[hueName]===oldDefaults[hueName]&&(color.hues[hueName]=newDefaults[hueName])}),self}}self.name=name,self.colors={},(self.dark=setDark)(!1),THEME_COLOR_TYPES.forEach(function(colorType){var defaultHues=(self.isDark?DARK_DEFAULT_HUES:LIGHT_DEFAULT_HUES)[colorType];self[colorType+"Palette"]=function(paletteName,hues){var color=self.colors[colorType]={name:paletteName,hues:angular.extend({},defaultHues,hues)};return Object.keys(color.hues).forEach(function(name){if(!defaultHues[name])throw new Error("Invalid hue name '%1' in theme %2's %3 color %4. Available hue names: %4".replace("%1",name).replace("%2",self.name).replace("%3",paletteName).replace("%4",Object.keys(defaultHues).join(", ")))}),Object.keys(color.hues).map(function(key){return color.hues[key]}).forEach(function(hueValue){if(-1===VALID_HUE_VALUES.indexOf(hueValue))throw new Error("Invalid hue value '%1' in theme %2's %3 color %4. Available hue values: %5".replace("%1",hueValue).replace("%2",self.name).replace("%3",colorType).replace("%4",paletteName).replace("%5",VALID_HUE_VALUES.join(", ")))}),self}})}function ThemingService($rootScope,$mdUtil,$q,$log){var applyTheme=function(scope,el){void 0===el&&(el=scope,scope=void 0),void 0===scope&&(scope=$rootScope),applyTheme.inherit(el,el)};return Object.defineProperty(applyTheme,"THEMES",{get:function(){return angular.extend({},THEMES)}}),Object.defineProperty(applyTheme,"PALETTES",{get:function(){return angular.extend({},PALETTES)}}),Object.defineProperty(applyTheme,"ALWAYS_WATCH",{get:function(){return alwaysWatchTheme}}),applyTheme.inherit=function(el,parent){var ctrl=parent.controller("mdTheme")||el.data("$mdThemeController"),scope=el.scope();if(updateThemeClass(ctrl&&ctrl.$mdTheme||("default"===defaultTheme?"":defaultTheme)),ctrl){var watchTheme=alwaysWatchTheme||ctrl.$shouldWatch||$mdUtil.parseAttributeBoolean(el.attr("md-theme-watch"));if(watchTheme||ctrl.isAsyncTheme){var clearNameWatcher=function(){unwatch&&(unwatch(),unwatch=void 0)},unwatch=ctrl.registerChanges(function(name){updateThemeClass(name),watchTheme||clearNameWatcher()});scope?scope.$on("$destroy",clearNameWatcher):el.on("$destroy",clearNameWatcher)}}function updateThemeClass(theme){if(theme){registered(theme)||$log.warn("Attempted to use unregistered theme '"+theme+"'. Register it with $mdThemingProvider.theme().");var oldTheme=el.data("$mdThemeName");oldTheme&&el.removeClass("md-"+oldTheme+"-theme"),el.addClass("md-"+theme+"-theme"),el.data("$mdThemeName",theme),ctrl&&el.data("$mdThemeController",ctrl)}}},applyTheme.registered=registered,applyTheme.defaultTheme=function(){return defaultTheme},applyTheme.generateTheme=function(name){generateTheme(THEMES[name],name,themeConfig.nonce)},applyTheme.defineTheme=function(name,options){options=options||{};var theme=registerTheme(name);return options.primary&&theme.primaryPalette(options.primary,options.primaryHues),options.accent&&theme.accentPalette(options.accent,options.accentHues),options.warn&&theme.warnPalette(options.warn,options.warnHues),options.background&&theme.backgroundPalette(options.background,options.backgroundHues),options.dark&&theme.dark(),this.generateTheme(name),$q.resolve(name)},applyTheme.setBrowserColor=enableBrowserColor,applyTheme;function registered(themeName){return void 0===themeName||""===themeName||void 0!==applyTheme.THEMES[themeName]}}}function ThemingDirective($mdTheming,$interpolate,$parse,$mdUtil,$q,$log){return{priority:101,link:{pre:function(scope,el,attrs){var registeredCallbacks=[],startSymbol=$interpolate.startSymbol(),endSymbol=$interpolate.endSymbol(),theme=attrs.mdTheme.trim(),hasInterpolation=theme.substr(0,startSymbol.length)===startSymbol&&theme.lastIndexOf(endSymbol)===theme.length-endSymbol.length,oneTimeBind="::"===attrs.mdTheme.split(startSymbol).join("").split(endSymbol).join("").trim().substr(0,"::".length),getTheme=function(){var interpolation=$interpolate(attrs.mdTheme)(scope);return $parse(interpolation)(scope)||interpolation},ctrl={isAsyncTheme:angular.isFunction(getTheme())||angular.isFunction(getTheme().then),registerChanges:function(cb,context){return context&&(cb=angular.bind(context,cb)),registeredCallbacks.push(cb),function(){var index=registeredCallbacks.indexOf(cb);-1<index&®isteredCallbacks.splice(index,1)}},$setTheme:function(theme){$mdTheming.registered(theme)||$log.warn("attempted to use unregistered theme '"+theme+"'"),ctrl.$mdTheme=theme;for(var i=registeredCallbacks.length;i--;)registeredCallbacks[i](theme)},$shouldWatch:$mdUtil.parseAttributeBoolean(el.attr("md-theme-watch"))||$mdTheming.ALWAYS_WATCH||hasInterpolation&&!oneTimeBind};el.data("$mdThemeController",ctrl);var setParsedTheme=function(theme){if("string"==typeof theme)return ctrl.$setTheme(theme);$q.when(angular.isFunction(theme)?theme():theme).then(function(name){ctrl.$setTheme(name)})};setParsedTheme(getTheme());var unwatch=scope.$watch(getTheme,function(theme){theme&&(setParsedTheme(theme),ctrl.$shouldWatch||unwatch())})}}}}function ThemableDirective($mdTheming){return $mdTheming}function parseRules(theme,colorType,rules){!function(theme,colorType){if(!PALETTES[(theme.colors[colorType]||{}
vendor: 16,975 bytes, line 1
1).name])throw new Error("You supplied an invalid color palette for theme %1's %2 palette. Available palettes: %3".replace("%1",theme.name).replace("%2",colorType).replace("%3",Object.keys(PALETTES).join(", ")))}(theme,colorType),rules=rules.replace(/THEME_NAME/g,theme.name);var themeNameRegex=new RegExp("\\.md-"+theme.name+"-theme","g"),hueRegex=new RegExp("(['\"])?{{\\s*([a-zA-Z]+)-?(color|default)?-?(contrast)?-?((?:\\d\\.?\\d*)|(?:[a-zA-Z]+))?\\s*}}([\"'])?","g"),defaultBgHue=theme.colors.background.hues.default,defaultBgContrastType=PALETTES[theme.colors.background.name][defaultBgHue].contrastType;rules=rules.replace(/'?"?{{\s*([a-zA-Z]+)-(A?\d+|hue-[0-3]|shadow|default)-?(contrast)?-?((?:\d\.?\d*)|(?:[a-zA-Z]+))?\s*}}'?"?/g,function(match,colorType,hue,contrast,opacity){var regexColorType=colorType;if("foreground"===colorType){if("shadow"===hue)return theme.foregroundShadow;if(theme.foregroundPalette[hue])return rgba(colorToRgbaArray(theme.foregroundPalette[hue]));if(theme.foregroundPalette[1])return rgba(colorToRgbaArray(theme.foregroundPalette[1]));if(colorType="background",contrast="contrast",!opacity&&hue)switch(hue){case"2":opacity="secondary";break;case"3":opacity="disabled";break;case"4":opacity="divider"}hue="default"}0!==hue.indexOf("hue")&&"default"!==hue||(hue=theme.colors[colorType].hues[hue]);var colorDetails=PALETTES[theme.colors[colorType].name][hue]||"";if("background"===colorType&&contrast&&"foreground"!==regexColorType&&colorDetails.contrastType===defaultBgContrastType)switch(opacity){case"secondary":case"icon":if(theme.foregroundPalette[2])return rgba(colorToRgbaArray(theme.foregroundPalette[2]));break;case"disabled":case"hint":if(theme.foregroundPalette[3])return rgba(colorToRgbaArray(theme.foregroundPalette[3]));break;case"divider":if(theme.foregroundPalette[4])return rgba(colorToRgbaArray(theme.foregroundPalette[4]));break;default:if(theme.foregroundPalette[1])return rgba(colorToRgbaArray(theme.foregroundPalette[1]))}return contrast&&opacity&&(opacity=colorDetails.opacity[opacity]||opacity),rgba(colorDetails[contrast?"contrast":"value"],opacity)});var generatedRules=[];return angular.forEach(["default","hue-1","hue-2","hue-3"],function(hueName){var newRule=rules.replace(hueRegex,function(match,_,matchedColorType,hueType,contrast,opacity){var color=theme.colors[matchedColorType],palette=PALETTES[color.name],hueValue=color.hues[hueName];return contrast&&opacity&&(opacity=palette[hueValue].opacity[opacity]||opacity),rgba(palette[hueValue]["color"===hueType?"value":"contrast"],opacity)});"default"!==hueName&&(newRule=newRule.replace(themeNameRegex,".md-"+theme.name+"-theme.md-"+hueName)),"default"===theme.name&&(newRule=newRule.replace(/((?:\s|>|\.|\w|-|:|\(|\)|\[|]|"|'|=)*)\.md-default-theme((?:\s|>|\.|\w|-|:|\(|\)|\[|]|"|'|=)*)/g,function(match,start,end){return match+", "+start+end})),generatedRules.push(newRule)}),generatedRules}var rulesByType={};function generateAllThemes($injector,$mdTheming){var head=document.head,firstChild=head?head.firstElementChild:null,themeCss=!themeConfig.disableTheming&&$injector.has("$MD_THEME_CSS")?$injector.get("$MD_THEME_CSS"):"";if(themeCss+=themeConfig.registeredStyles.join(""),firstChild&&0!==themeCss.length){angular.forEach(PALETTES,function(palette){var defaultContrast=palette.contrastDefaultColor,lightColors=palette.contrastLightColors||[],strongLightColors=palette.contrastStrongLightColors||[],darkColors=palette.contrastDarkColors||[];"string"==typeof lightColors&&(lightColors=lightColors.split(" ")),"string"==typeof strongLightColors&&(strongLightColors=strongLightColors.split(" ")),"string"==typeof darkColors&&(darkColors=darkColors.split(" ")),delete palette.contrastDefaultColor,delete palette.contrastLightColors,delete palette.contrastStrongLightColors,delete palette.contrastDarkColors,angular.forEach(palette,function(hueValue,hueName){if(!angular.isObject(hueValue)){var rgbValue=colorToRgbaArray(hueValue);if(!rgbValue)throw new Error("Color %1, in palette %2's hue %3, is invalid. Hex or rgb(a) color expected.".replace("%1",hueValue).replace("%2",palette.name).replace("%3",hueName));var contrastType=function(hueName){return("light"===defaultContrast?-1===darkColors.indexOf(hueName):-1!==lightColors.indexOf(hueName)||-1!==strongLightColors.indexOf(hueName))?-1===strongLightColors.indexOf(hueName)?"light":"strongLight":"dark"}(hueName);palette[hueName]={hex:palette[hueName],value:rgbValue,contrastType:contrastType,contrast:function(contrastType){switch(contrastType){default:case"strongLight":return STRONG_LIGHT_CONTRAST_COLOR;case"light":return LIGHT_CONTRAST_COLOR;case"dark":return DARK_CONTRAST_COLOR}}(contrastType),opacity:function(contrastType){switch(contrastType){default:case"strongLight":return STRONG_LIGHT_CONTRAST_OPACITY;case"light":return LIGHT_CONTRAST_OPACITY;case"dark":return DARK_CONTRAST_OPACITY}}(contrastType)}}})});var rules=function(themeCss){for(var result=[],currentRule="",openedCurlyBrackets=0,closedCurlyBrackets=0,i=0;i<themeCss.length;i++){var character=themeCss.charAt(i);if("'"===character||'"'===character){var textInQuotes=themeCss.substring(i,themeCss.indexOf(character,i+1));currentRule+=textInQuotes,i+=textInQuotes.length}else currentRule+=character,"}"===character?++closedCurlyBrackets===openedCurlyBrackets&&(openedCurlyBrackets=closedCurlyBrackets=0,result.push(currentRule),currentRule=""):"{"===character&&openedCurlyBrackets++}return""!==currentRule&&result.push(currentRule),result}(themeCss).map(function(rule){return rule.trim()});THEME_COLOR_TYPES.forEach(function(type){rulesByType[type]=""}),rules.forEach(function(rule){for(var type,i=0;type=THEME_COLOR_TYPES[i];i++)if(-1<rule.indexOf(".md-"+type))return rulesByType[type]+=rule;for(i=0;type=THEME_COLOR_TYPES[i];i++)if(-1<rule.indexOf(type))return rulesByType[type]+=rule;return rulesByType[DEFAULT_COLOR_TYPE]+=rule}),themeConfig.generateOnDemand||angular.forEach($mdTheming.THEMES,function(theme){GENERATED[theme.name]||"default"!==$mdTheming.defaultTheme()&&"default"===theme.name||generateTheme(theme,theme.name,themeConfig.nonce)})}}function generateTheme(theme,name,nonce){var head=document.head,firstChild=head?head.firstElementChild:null;GENERATED[name]||(THEME_COLOR_TYPES.forEach(function(colorType){for(var styleStrings=parseRules(theme,colorType,rulesByType[colorType]);styleStrings.length;){var styleContent=styleStrings.shift();if(styleContent){var style=document.createElement("style");style.setAttribute("md-theme-style",""),nonce&&style.setAttribute("nonce",nonce),style.appendChild(document.createTextNode(styleContent)),head.insertBefore(style,firstChild)}}}),GENERATED[theme.name]=!0)}function colorToRgbaArray(clr){if(angular.isArray(clr)&&3===clr.length)return clr;if(/^rgb/.test(clr))return clr.replace(/(^\s*rgba?\(|\)\s*$)/g,"").split(",").map(function(value,i){return 3===i?parseFloat(value):parseInt(value,10)});if("#"===clr.charAt(0)&&(clr=clr.substring(1)),/^([a-fA-F0-9]{3}){1,2}$/g.test(clr)){var dig=clr.length/3,red=clr.substr(0,dig),grn=clr.substr(dig,dig),blu=clr.substr(2*dig);return 1===dig&&(red+=red,grn+=grn,blu+=blu),[parseInt(red,16),parseInt(grn,16),parseInt(blu,16)]}}function rgba(rgbArray,opacity){return rgbArray?(4===rgbArray.length&&(rgbArray=angular.copy(rgbArray),opacity?rgbArray.pop():opacity=rgbArray.pop()),opacity&&("number"==typeof opacity||"string"==typeof opacity&&opacity.length)?"rgba("+rgbArray.join(",")+","+opacity+")":"rgb("+rgbArray.join(",")+")"):"rgb('0,0,0')"}}(window.angular),angular.module("material.components.autocomplete",["material.core","material.components.icon","material.components.virtualRepeat"]),function(){MdAutocompleteCtrl.$inject=["$scope","$element","$mdUtil","$mdConstant","$mdTheming","$window","$animate","$rootElement","$attrs","$q","$log","$mdLiveAnnouncer"],angular.module("material.components.autocomplete").controller("MdAutocompleteCtrl",MdAutocompleteCtrl);var ITEM_HEIGHT=48,MAX_ITEMS=5,MENU_PADDING=8,INPUT_PADDING=2,MODE_STANDARD="standard",MODE_VIRTUAL="virtual";function MdAutocompleteCtrl($scope,$element,$mdUtil,$mdConstant,$mdTheming,$window,$animate,$rootElement,$attrs,$q,$log,$mdLiveAnnouncer){var key,handler,defaultValue,ctrl=this,itemParts=$scope.itemsExpr.split(/ in /i),itemExpr=itemParts[1],elements=null,cache={},noBlur=!1,selectedItemWatchers=[],hasFocus=!1,fetchesInProgress=0,enableWrapScroll=null,inputModelCtrl=null,debouncedOnResize=$mdUtil.debounce(function(){ctrl.hidden||positionDropdown()}),mode=MODE_VIRTUAL;ctrl.documentElement=angular.element(document.documentElement),key="hidden",handler=function(hidden,oldHidden){var scrollContainerElement;elements&&(scrollContainerElement=angular.element(elements.scrollContainer));!hidden&&oldHidden?(positionDropdown(),reportMessages(!0,ReportType.Count|ReportType.Selected),elements&&($mdUtil.disableScrollAround(elements.scrollContainer),element=elements.wrap,(elementToDisable=angular.element(element)).on("wheel touchmove",preventDefault),enableWrapScroll=function(){elementToDisable.off("wheel touchmove",preventDefault)},$mdUtil.isIos&&(ctrl.documentElement.on("touchend",handleTouchOutsidePanel),scrollContainerElement&&scrollContainerElement.on("touchstart touchmove touchend",stopPropagation)),ctrl.index=getDefaultIndex(),$mdUtil.nextTick(function(){updateActiveOption(),updateScroll()}))):hidden&&!oldHidden&&($mdUtil.isIos&&(ctrl.documentElement.off("touchend",handleTouchOutsidePanel),scrollContainerElement&&scrollContainerElement.off("touchstart touchmove touchend",stopPropagation)),$mdUtil.enableScrolling(),enableWrapScroll&&(enableWrapScroll(),enableWrapScroll=null));var element,elementToDisable},defaultValue=!0,Object.defineProperty(ctrl,key,{get:function(){return defaultValue},set:function(newValue){var oldValue=defaultValue;handler(defaultValue=newValue,oldValue)}}),ctrl.scope=$scope,ctrl.parent=$scope.$parent,ctrl.itemName=itemParts[0],ctrl.matches=[],ctrl.loading=!1,ctrl.hidden=!0,ctrl.index=-1,ctrl.activeOption=null,ctrl.id=$mdUtil.nextUid(),ctrl.isDisabled=null,ctrl.isRequired=null,ctrl.isReadonly=null,ctrl.hasNotFound=!1,ctrl.selectedMessage=$scope.selectedMessage||"selected",ctrl.noMatchMessage=$scope.noMatchMessage||"There are no matches available.",ctrl.singleMatchMessage=$scope.singleMatchMessage||"There is 1 match available.",ctrl.multipleMatchStartMessage=$scope.multipleMatchStartMessage||"There are ",ctrl.multipleMatchEndMessage=$scope.multipleMatchEndMessage||" matches available.",ctrl.defaultEscapeOptions="clear",ctrl.keydown=function(event){switch(event.keyCode){case $mdConstant.KEY_CODE.DOWN_ARROW:if(ctrl.loading||hasSelection())return;event.stopPropagation(),event.preventDefault(),ctrl.index=ctrl.index+1>ctrl.matches.length-1?0:Math.min(ctrl.index+1,ctrl.matches.length-1),$mdUtil.nextTick(updateActiveOption),updateScroll();break;case $mdConstant.KEY_CODE.UP_ARROW:if(ctrl.loading||hasSelection())return;event.stopPropagation(),event.preventDefault(),ctrl.index=ctrl.index-1<0?ctrl.matches.length-1:Math.max(0,ctrl.index-1),$mdUtil.nextTick(updateActiveOption),updateScroll();break;case $mdConstant.KEY_CODE.TAB:if(onListLeave(),ctrl.hidden||ctrl.loading||ctrl.index<0||ctrl.matches.length<1)return;select(ctrl.index);break;case $mdConstant.KEY_CODE.ENTER:if(ctrl.hidden||ctrl.loading||ctrl.index<0||ctrl.matches.length<1)return;if(hasSelection())return;event.stopImmediatePropagation(),event.preventDefault(),select(ctrl.index);break;case $mdConstant.KEY_CODE.ESCAPE:if(event.preventDefault(),!(hasEscapeOption("blur")||!ctrl.hidden||ctrl.loading||hasEscapeOption("clear")&&$scope.searchText))return;event.stopPropagation(),clearSelectedItem(),$scope.searchText&&hasEscapeOption("clear")&&clearSearchText(),ctrl.hidden=!0,hasEscapeOption("blur")&&doBlur(!0)}},ctrl.blur=function($event){hasFocus=!1,noBlur?angular.isObject($event)&&$event.stopImmediatePropagation():(ctrl.hidden=shouldHide(),evalAttr("ngBlur",{$event:$event}))},ctrl.focus=function($event){hasFocus=!0,isSearchable()&&isMinLengthMet()&&handleQuery();ctrl.hidden=shouldHide(),evalAttr("ngFocus",{$event:$event})},ctrl.clear=function($event){$event&&$event.stopPropagation();clearSelectedItem(),clearSearchText()},ctrl.select=select,ctrl.listEnter=function(){noBlur=!0},ctrl.listLeave=onListLeave,ctrl.focusInput=focusInputElement,ctrl.getCurrentDisplayValue=getCurrentDisplayValue,ctrl.registerSelectedItemWatcher=function(cb){-1===selectedItemWatchers.indexOf(cb)&&selectedItemWatchers.push(cb)},ctrl.unregisterSelectedItemWatcher=function(cb){var i=selectedItemWatchers.indexOf(cb);-1!==i&&selectedItemWatchers.splice(i,1)},ctrl.notFoundVisible=notFoundVisible,ctrl.loadingIsVisible=function(){return ctrl.loading&&!hasSelection()},ctrl.positionDropdown=positionDropdown;var wait,ReportType={Count:1,Selected:2};return $mdUtil.initOptionalProperties($scope,$attrs,{searchText:"",selectedItem:null,clearButton:!1,disableVirtualRepeat:!1}),$mdTheming($element),wait=parseInt($scope.delay,10)||0,$attrs.$observe("disabled",function(value){ctrl.isDisabled=$mdUtil.parseAttributeBoolean(value,!1)}),$attrs.$observe("required",function(value){ctrl.isRequired=$mdUtil.parseAttributeBoolean(value,!1)}),$attrs.$observe("readonly",function(value){ctrl.isReadonly=$mdUtil.parseAttributeBoolean(value,!1)}),$scope.$watch("searchText",wait?$mdUtil.debounce(handleSearchText,wait):handleSearchText),$scope.$watch("selectedItem",selectedItemChange),angular.element($window).on("resize",debouncedOnResize),$scope.$on("$destroy",cleanup),void $mdUtil.nextTick(function(){var snapWrap;snapWrap=function(){var element,value;for(element=$element;element.length&&(value=element.attr("md-autocomplete-snap"),!angular.isDefined(value));element=element.parent());if(element.length)return{snap:element[0],wrap:"width"===value.toLowerCase()?element[0]:$element.find("md-autocomplete-wrap")[0]};var wrap=$element.find("md-autocomplete-wrap")[0];return{snap:wrap,wrap:wrap}}(),(elements={main:$element[0],scrollContainer:$element[0].querySelector(".md-virtual-repeat-container, .md-standard-list-container"),scroller:$element[0].querySelector(".md-virtual-repeat-scroller, .md-standard-list-scroller"),ul:$element.find("ul")[0],input:$element.find("input")[0],wrap:snapWrap.wrap,snap:snapWrap.snap,root:document.body}).li=elements.ul.getElementsByTagName("li"),elements.$=function(elements){var obj={};for(var key in elements)elements.hasOwnProperty(key)&&(obj[key]=angular.element(elements[key]));return obj}(elements),mode=elements.scrollContainer.classList.contains("md-standard-list-container")?MODE_STANDARD:MODE_VIRTUAL,inputModelCtrl=elements.$.input.controller("ngModel"),elements.$.root.length&&($mdTheming(elements.$.scrollContainer),elements.$.scrollContainer.detach(),elements.$.root.append(elements.$.scrollContainer),$animate.pin&&$animate.pin(elements.$.scrollContainer,$rootElement)),$element.on("touchstart",focusInputElement),$scope.autofocus&&$element.on("focus",focusInputElement),$scope.inputAriaDescribedBy&&elements.input.setAttribute("aria-describedby",$scope.inputAriaDescribedBy),$scope.floatingLabel||($scope.inputAriaLabel?elements.input.setAttribute("aria-label",$scope.inputAriaLabel):$scope.inputAriaLabelledBy?elements.input.setAttribute("aria-labelledby",$scope.inputAriaLabelledBy):$scope.placeholder&&elements.input.setAttribute("aria-label",$scope.placeholder))});function updateModelValidators(){$scope.requireMatch&&inputModelCtrl&&inputModelCtrl.$setValidity("md-require-match",!!$scope.selectedItem||!$scope.searchText)}function positionDropdown(){if(!elements)return $mdUtil.nextTick(positionDropdown,!1,$scope);var styles,dropdownHeight=($scope.dropdownItems||MAX_ITEMS)*ITEM_HEIGHT,hrect=elements.wrap.getBoundingClientRect(),vrect=elements.snap.getBoundingClientRect(),root=elements.root.getBoundingClientRect(),top=vrect.bottom-root.top,bot=root.bottom-vrect.top,left=hrect.left-root.left,width=hrect.width,offset=function(){var offset=0,inputContainer=$element.find("md-input-container");if(inputContainer.length){var input=inputContainer.find("input");offset=inputContainer.prop("offsetHeight"),offset-=input.prop("offsetTop"),offset-=input.prop("offsetHeight"),offset+=inputContainer.prop("offsetTop")}return offset}(),position=$scope.dropdownPosition,bottomSpace=root.bottom-vrect.bottom-MENU_PADDING+$mdUtil.getViewportTop(),topSpace=vrect.top-MENU_PADDING;position||(position=dropdownHeight<bottomSpace?"bottom":dropdownHeight<topSpace?"top":bottomSpace<topSpace?"top":"bottom"),$attrs.mdFloatingLabel&&(left+=INPUT_PADDING,width-=2*INPUT_PADDING),styles={left:left+"px",minWidth:width+"px",maxWidth:Math.max(hrect.right-root.left,root.right-hrect.left)-MENU_PADDING+"px"},"top"===position?(styles.top="auto",styles.bottom=bot+"px",styles.maxHeight=Math.min(dropdownHeight,topSpace)+"px"):(bottomSpace=root.bottom-hrect.bottom-MENU_PADDING+$mdUtil.getViewportTop(),styles.top=top-offset+"px",styles.bottom="auto",styles.maxHeight=Math.min(dropdownHeight,bottomSpace)+"px"),elements.$.scrollC
vendor: 5,684 bytes, line 1
1ontainer.css(styles),$mdUtil.nextTick(function(){var dropdown=elements.scrollContainer.getBoundingClientRect(),styles={};dropdown.right>root.right&&(styles.left=hrect.right-dropdown.width+"px");elements.$.scrollContainer.css(styles)},!1,$scope)}function focusInputElement(){elements.input.focus()}function updateActiveOption(){var selectedOption=elements.scroller.querySelector(".selected");ctrl.activeOption=selectedOption?selectedOption.id:null}function cleanup(){if(ctrl.hidden||$mdUtil.enableScrolling(),angular.element($window).off("resize",debouncedOnResize),elements){angular.forEach(["ul","scroller","scrollContainer","input"],function(key){elements.$[key].remove()})}}function preventDefault($event){$event.preventDefault()}function stopPropagation($event){$event.stopPropagation()}function handleTouchOutsidePanel($event){doBlur(ctrl.hidden=!0)}function onListLeave(){hasFocus||ctrl.hidden||elements.input.focus(),noBlur=!1,ctrl.hidden=shouldHide()}function selectedItemChange(selectedItem,previousSelectedItem){updateModelValidators(),selectedItem?getDisplayValue(selectedItem).then(function(val){$scope.searchText=val,function(selectedItem,previousSelectedItem){selectedItemWatchers.forEach(function(watcher){watcher(selectedItem,previousSelectedItem)})}(selectedItem,previousSelectedItem)}):previousSelectedItem&&$scope.searchText&&getDisplayValue(previousSelectedItem).then(function(displayValue){angular.isString($scope.searchText)&&displayValue.toString().toLowerCase()===$scope.searchText.toLowerCase()&&($scope.searchText="")}),selectedItem!==previousSelectedItem&&angular.isFunction($scope.itemChange)&&$scope.itemChange(getItemAsNameVal($scope.selectedItem))}function handleSearchText(searchText,previousSearchText){ctrl.index=getDefaultIndex(),searchText!==previousSearchText&&(updateModelValidators(),getDisplayValue($scope.selectedItem).then(function(val){searchText!==val&&($scope.selectedItem=null,searchText!==previousSearchText&&angular.isFunction($scope.textChange)&&$scope.textChange(),isMinLengthMet()?handleQuery():(setLoading(!(ctrl.matches=[])),reportMessages(!0,ReportType.Count)))}))}function doBlur(forceBlur){forceBlur&&(hasFocus=noBlur=!1),elements.input.blur()}function getMinLength(){return angular.isNumber($scope.minLength)?$scope.minLength:1}function getDisplayValue(item){return $q.when(function(item){return item&&$scope.itemText?$scope.itemText(getItemAsNameVal(item)):null}(item)||item).then(function(itemText){return itemText&&!angular.isString(itemText)&&$log.warn("md-autocomplete: Could not resolve display value to a string. Please check the `md-item-text` attribute."),itemText})}function getItemAsNameVal(item){if(item){var locals={};return ctrl.itemName&&(locals[ctrl.itemName]=item),locals}}function getDefaultIndex(){return $scope.autoselect?0:-1}function setLoading(value){ctrl.loading!==value&&(ctrl.loading=value),ctrl.hidden=shouldHide()}function shouldHide(){return!function(){{if(ctrl.isReadonly)return!1;if(!isSearchable())return!1}return isMinLengthMet()&&hasMatches()||notFoundVisible()}()}function isSearchable(){return!(ctrl.loading&&!hasMatches())&&(!hasSelection()&&!!hasFocus)}function hasEscapeOption(option){return angular.isString($scope.escapeOptions)?-1!==$scope.escapeOptions.toLowerCase().indexOf(option):-1!==ctrl.defaultEscapeOptions.indexOf(option)}function hasMatches(){return!!ctrl.matches.length}function hasSelection(){return!!ctrl.scope.selectedItem}function getCurrentDisplayValue(){return getDisplayValue(ctrl.matches[ctrl.index])}function isMinLengthMet(){return($scope.searchText||"").length>=getMinLength()}function select(index){$mdUtil.nextTick(function(){getDisplayValue(ctrl.matches[index]).then(function(val){var ngModel=elements.$.input.controller("ngModel");$mdLiveAnnouncer.announce(val+" "+ctrl.selectedMessage,"assertive"),ngModel.$setViewValue(val),ngModel.$render()}).finally(function(){$scope.selectedItem=ctrl.matches[index],setLoading(!1)})},!1)}function clearSelectedItem(){ctrl.index=-1,$mdUtil.nextTick(updateActiveOption),ctrl.matches=[]}function clearSearchText(){setLoading(!0),$scope.searchText="";var eventObj=document.createEvent("CustomEvent");eventObj.initCustomEvent("change",!0,!0,{value:""}),elements.input.dispatchEvent(eventObj),elements.input.blur(),$scope.searchText="",elements.input.focus()}function reportMessages(isPolite,types){var politeness=isPolite?"polite":"assertive",messages=[];types&ReportType.Selected&&-1!==ctrl.index&&messages.push(getCurrentDisplayValue()),types&ReportType.Count&&messages.push($q.resolve(function(){switch(ctrl.matches.length){case 0:return ctrl.noMatchMessage;case 1:return ctrl.singleMatchMessage;default:return ctrl.multipleMatchStartMessage+ctrl.matches.length+ctrl.multipleMatchEndMessage}}())),$q.all(messages).then(function(data){$mdLiveAnnouncer.announce(data.join(" "),politeness)})}function updateScroll(){var selected,containerHeight,top,bottom,scrollTop;elements.li[0]&&(mode===MODE_STANDARD?(selected=elements.li[Math.max(0,ctrl.index)],containerHeight=elements.scrollContainer.offsetHeight,top=selected&&selected.offsetTop||0,bottom=top+selected.clientHeight,scrollTop=elements.scrollContainer.scrollTop,top<scrollTop?scrollTo(top):scrollTop+containerHeight<bottom&&scrollTo(bottom-containerHeight)):function(){var optionHeight=elements.li[0].offsetHeight,top=optionHeight*Math.max(0,ctrl.index),bottom=top+optionHeight,containerHeight=elements.scroller.clientHeight,scrollTop=elements.scroller.scrollTop;top<scrollTop?scrollTo(top):scrollTop+containerHeight<bottom&&scrollTo(bottom-containerHeight)}())}function scrollTo(offset){mode===MODE_STANDARD?elements.scrollContainer.scrollTop=offset:elements.$.scrollC
vendor: 9,456 bytes, line 1
1ontainer.controller("mdVirtualRepeatContainer").scrollTo(offset)}function notFoundVisible(){var textLength=(ctrl.scope.searchText||"").length;return ctrl.hasNotFound&&!hasMatches()&&(!ctrl.loading||0!==fetchesInProgress)&&textLength>=getMinLength()&&(hasFocus||noBlur)&&!hasSelection()}function handleQuery(){var searchText=$scope.searchText||"",term=searchText.toLowerCase();!$scope.noCache&&cache[term]?handleResults(cache[term]):function(searchText){var items=$scope.$parent.$eval(itemExpr),term=searchText.toLowerCase(),isList=angular.isArray(items),isPromise=!!items.then;function onResultsRetrieved(matches){cache[term]=matches,(searchText||"")===($scope.searchText||"")&&handleResults(matches)}isList?onResultsRetrieved(items):isPromise&&function(items){items&&(items=$q.when(items),fetchesInProgress++,setLoading(!0),$mdUtil.nextTick(function(){items.then(onResultsRetrieved).finally(function(){0==--fetchesInProgress&&setLoading(!1)})},!0,$scope))}(items)}(searchText),ctrl.hidden=shouldHide()}function handleResults(results){var searchText,matches,item;ctrl.matches=results,ctrl.hidden=shouldHide(),ctrl.loading&&setLoading(!1),$scope.selectOnMatch&&(searchText=$scope.searchText,matches=ctrl.matches,item=matches[0],1===matches.length&&getDisplayValue(item).then(function(displayValue){var isMatching=searchText===displayValue;$scope.matchInsensitive&&!isMatching&&(isMatching=searchText.toLowerCase()===displayValue.toLowerCase()),isMatching&&select(0)})),positionDropdown(),reportMessages(!0,ReportType.Count)}function evalAttr(attr,locals){$attrs[attr]&&$scope.$parent.$eval($attrs[attr],locals||{})}}}(),function(){function MdAutocomplete($$mdSvgRegistry){var REPEAT_VIRTUAL="virtual",REPEAT_MODES=["standard",REPEAT_VIRTUAL];function getRepeatMode(modeStr){return modeStr?(modeStr=modeStr.toLowerCase(),-1<REPEAT_MODES.indexOf(modeStr)?modeStr:REPEAT_VIRTUAL):REPEAT_VIRTUAL}return{controller:"MdAutocompleteCtrl",controllerAs:"$mdAutocompleteCtrl",scope:{inputName:"@mdInputName",inputMinlength:"@mdInputMinlength",inputMaxlength:"@mdInputMaxlength",searchText:"=?mdSearchText",selectedItem:"=?mdSelectedItem",itemsExpr:"@mdItems",itemText:"&mdItemText",placeholder:"@placeholder",inputAriaDescribedBy:"@?inputAriaDescribedby",inputAriaLabelledBy:"@?inputAriaLabelledby",inputAriaLabel:"@?inputAriaLabel",noCache:"=?mdNoCache",requireMatch:"=?mdRequireMatch",selectOnMatch:"=?mdSelectOnMatch",matchInsensitive:"=?mdMatchCaseInsensitive",itemChange:"&?mdSelectedItemChange",textChange:"&?mdSearchTextChange",minLength:"=?mdMinLength",delay:"=?mdDelay",autofocus:"=?mdAutofocus",floatingLabel:"@?mdFloatingLabel",autoselect:"=?mdAutoselect",menuClass:"@?mdMenuClass",menuContainerClass:"@?mdMenuContainerClass",inputClass:"@?mdInputClass",inputId:"@?mdInputId",escapeOptions:"@?mdEscapeOptions",dropdownItems:"=?mdDropdownItems",dropdownPosition:"@?mdDropdownPosition",clearButton:"=?mdClearButton",selectedMessage:"@?mdSelectedMessage",noMatchMessage:"@?mdNoMatchMessage",singleMatchMessage:"@?mdSingleMatchMessage",multipleMatchStartMessage:"@?mdMultipleMatchStartMessage",multipleMatchEndMessage:"@?mdMultipleMatchEndMessage",mdMode:"=?mdMode"},compile:function(tElement,tAttrs){var input=tElement.find("input");return["md-select-on-focus","md-no-asterisk","ng-trim","ng-pattern"].forEach(function(attribute){var attrValue=tAttrs[tAttrs.$normalize(attribute)];null!==attrValue&&input.attr(attribute,attrValue)}),function(scope,element,attrs,ctrl){ctrl.hasNotFound=!!element.attr("md-has-not-found"),angular.isDefined(attrs.mdClearButton)||scope.floatingLabel||(scope.clearButton=!0),scope.mdMode=getRepeatMode(attrs.mdMode),element.on("click touchstart touchend",function(event){event.stopPropagation()})}},template:function(element,attr){var templateTag,template,noItemsTemplate=(templateTag=element.find("md-not-found").detach(),(template=templateTag.length?templateTag.html():"")?'<li ng-if="$mdAutocompleteCtrl.notFoundVisible()" class="md-autocomplete-suggestion" md-autocomplete-parent-scope>'+template+"</li>":""),itemTemplate=function(){var templateTag=element.find("md-item-template").detach(),html=templateTag.length?templateTag.html():element.html();templateTag.length||element.empty();return"<md-autocomplete-parent-scope md-autocomplete-replace>"+html+"</md-autocomplete-parent-scope>"}(),leftover=element.html(),tabindex=attr.tabindex;return noItemsTemplate&&element.attr("md-has-not-found",!0),element.attr("tabindex","-1")," <md-autocomplete-wrap ng-class=\"{ 'md-whiteframe-z1': !floatingLabel, 'md-menu-showing': !$mdAutocompleteCtrl.hidden, 'md-show-clear-button': !!clearButton }\"> "+(attr.mdFloatingLabel?' <md-input-container ng-if="floatingLabel"> <label>{{floatingLabel}}</label> <input type="text" '+(null!=tabindex?'tabindex="'+tabindex+'"':"")+' id="{{inputId || \'fl-input-\' + $mdAutocompleteCtrl.id}}" name="{{inputName || \'fl-input-\' + $mdAutocompleteCtrl.id }}" ng-class="::inputClass" autocomplete="off" ng-required="$mdAutocompleteCtrl.isRequired" ng-readonly="$mdAutocompleteCtrl.isReadonly" ng-minlength="inputMinlength" ng-maxlength="inputMaxlength" ng-disabled="$mdAutocompleteCtrl.isDisabled" ng-model="$mdAutocompleteCtrl.scope.searchText" ng-model-options="{ allowInvalid: true }" ng-mousedown="$mdAutocompleteCtrl.focusInput()" ng-keydown="$mdAutocompleteCtrl.keydown($event)" ng-blur="$mdAutocompleteCtrl.blur($event)" ng-focus="$mdAutocompleteCtrl.focus($event)" aria-label="{{floatingLabel}}" ng-attr-aria-autocomplete="{{$mdAutocompleteCtrl.isDisabled ? undefined : \'list\'}}" ng-attr-role="{{$mdAutocompleteCtrl.isDisabled ? undefined : \'combobox\'}}" aria-haspopup="{{!$mdAutocompleteCtrl.isDisabled}}" aria-expanded="{{!$mdAutocompleteCtrl.hidden}}" ng-attr-aria-owns="{{$mdAutocompleteCtrl.hidden || $mdAutocompleteCtrl.isDisabled ? undefined : \'ul-\' + $mdAutocompleteCtrl.id}}" ng-attr-aria-activedescendant="{{!$mdAutocompleteCtrl.hidden && $mdAutocompleteCtrl.activeOption ? $mdAutocompleteCtrl.activeOption : undefined}}"> <div md-autocomplete-parent-scope md-autocomplete-replace>'+leftover+"</div> </md-input-container>":' <input type="text" '+(null!=tabindex?'tabindex="'+tabindex+'"':"")+' id="{{inputId || \'input-\' + $mdAutocompleteCtrl.id}}" name="{{inputName || \'input-\' + $mdAutocompleteCtrl.id }}" ng-class="::inputClass" ng-if="!floatingLabel" autocomplete="off" ng-required="$mdAutocompleteCtrl.isRequired" ng-disabled="$mdAutocompleteCtrl.isDisabled" ng-readonly="$mdAutocompleteCtrl.isReadonly" ng-minlength="inputMinlength" ng-maxlength="inputMaxlength" ng-model="$mdAutocompleteCtrl.scope.searchText" ng-mousedown="$mdAutocompleteCtrl.focusInput()" ng-keydown="$mdAutocompleteCtrl.keydown($event)" ng-blur="$mdAutocompleteCtrl.blur($event)" ng-focus="$mdAutocompleteCtrl.focus($event)" placeholder="{{placeholder}}" aria-label="{{placeholder}}" ng-attr-aria-autocomplete="{{$mdAutocompleteCtrl.isDisabled ? undefined : \'list\'}}" ng-attr-role="{{$mdAutocompleteCtrl.isDisabled ? undefined : \'combobox\'}}" aria-haspopup="{{!$mdAutocompleteCtrl.isDisabled}}" aria-expanded="{{!$mdAutocompleteCtrl.hidden}}" ng-attr-aria-owns="{{$mdAutocompleteCtrl.hidden || $mdAutocompleteCtrl.isDisabled ? undefined : \'ul-\' + $mdAutocompleteCtrl.id}}" ng-attr-aria-activedescendant="{{!$mdAutocompleteCtrl.hidden && $mdAutocompleteCtrl.activeOption ? $mdAutocompleteCtrl.activeOption : undefined}}">')+' <button type="button" aria-label="Clear Input" tabindex="0" ng-if="clearButton && $mdAutocompleteCtrl.scope.searchText" ng-click="$mdAutocompleteCtrl.clear($event)"><md-icon md-svg-src="'+$$mdSvgRegistry.mdClose+'"></md-icon></button> <md-progress-linear class="'+(attr.mdFloatingLabel?"md-inline":"")+'" ng-if="$mdAutocompleteCtrl.loadingIsVisible()" md-mode="indeterminate"></md-progress-linear> '+function(menuContainerClass,repeatMode){if(menuContainerClass=menuContainerClass?" "+menuContainerClass:"",isVirtualRepeatDisabled(repeatMode))return' <div ng-hide="$mdAutocompleteCtrl.hidden" class="md-standard-list-container md-autocomplete-suggestions-container md-whiteframe-z1'+menuContainerClass+'" ng-class="{ \'md-not-found\': $mdAutocompleteCtrl.notFoundVisible() }" ng-mouseenter="$mdAutocompleteCtrl.listEnter()" ng-mouseleave="$mdAutocompleteCtrl.listLeave()" role="presentation"> <div class="md-standard-list-scroller" role="presentation">';return' <md-virtual-repeat-container md-auto-shrink md-auto-shrink-m
1in="1" ng-hide="$mdAutocompleteCtrl.hidden" class="md-virtual-repeat-container md-autocomplete-suggestions-container md-whiteframe-z1'+menuContainerClass+'" ng-class="{ \'md-not-found\': $mdAutocompleteCtrl.notFoundVisible() }" ng-mouseenter="$mdAutocompleteCtrl.listEnter()" ng-mouseleave="$mdAutocompleteCtrl.listLeave()" role="presentation">'}(attr.mdMenuContainerClass,attr.mdMode)+' <ul class="md-autocomplete-suggestions" ng-class="::menuClass" id="ul-{{$mdAutocompleteCtrl.id}}" ng-mouseup="$mdAutocompleteCtrl.focusInput()" role="listbox"> <li class="md-autocomplete-suggestion" '+(isVirtualRepeatDisabled(attr.mdMode)?"ng-repeat":"md-virtual-repeat")+' ="item in $mdAutocompleteCtrl.matches" ng-class="{ selected: $index === $mdAutocompleteCtrl.index }" ng-attr-id="{{\'md-option-\' + $mdAutocompleteCtrl.id + \'-\' + $index}}" ng-click="$mdAutocompleteCtrl.select($index)" role="option" aria-setsize="{{$mdAutocompleteCtrl.matches.length}}" aria-posinset="{{$index+1}}" aria-selected="{{$index === $mdAutocompleteCtrl.index ? true : false}}" md-extra-name="$mdAutocompleteCtrl.itemName"> '+itemTemplate+" </li>"+noItemsTemplate+" </ul> "+function(repeatMode){return isVirtualRepeatDisabled(repeatMode)?" </div> </div> </div>":"</md-virtual-repeat-container>"}(attr.mdMode)+" </md-autocomplete-wrap>";function isVirtualRepeatDisabled(repeatMode){return getRepeatMode(repeatMode)!==REPEAT_VIRTUAL}}}}MdAutocomplete.$inject=["$$mdSvgRegistry"],angular.module("material.components.autocomplete").directive("mdAutocomplete",MdAutocomplete)}(),function(){function MdAutocompleteItemScopeDirective($compile,$mdUtil){return{restrict:"AE",compile:function(tElement,tAttr,transclude){return function(scope,element,attr){var scopeDigesting,newScopeDigesting,ctrl=scope.$mdAutocompleteCtrl,newScope=ctrl.parent.$new(),itemName=ctrl.itemName;function watchVariable(variable,alias){newScope[alias]=scope[variable],scope.$watch(variable,function(value){$mdUtil.nextTick(function(){newScope[alias]=value})})}watchVariable("$index","$index"),watchVariable("item",itemName),newScopeDigesting=scopeDigesting=!1,scope.$watch(function(){newScopeDigesting||scopeDigesting||(scopeDigesting=!0,scope.$$postDigest(function(){newScopeDigesting||newScope.$digest(),scopeDigesting=newScopeDigesting=!1}))}),newScope.$watch(function(){newScopeDigesting=!0}),transclude(newScope,function(clone){element.after(clone)})}},terminal:!0,transclude:"element"}}MdAutocompleteItemScopeDirective.$inject=["$compile","$mdUtil"],angular.module("material.components.autocomplete").directive("mdAutocompleteParentScope",MdAutocompleteItemScopeDirective)}(),function(){function MdHighlightCtrl($scope,$element,$attrs,$mdUtil){this.$scope=$scope,this.$element=$element,this.$attrs=$attrs,this.$mdUtil=$mdUtil,this.regex=null}MdHighlightCtrl.$inject=["$scope","$element","$attrs","$mdUtil"],angular.module("material.components.autocomplete").controller("MdHighlightCtrl",MdHighlightCtrl),MdHighlightCtrl.prototype.init=function(unsafeTermFn,unsafeContentFn){this.flags=this.$attrs.mdHighlightFlags||"",this.unregisterFn=this.$scope.$watch(function($scope){return{term:unsafeTermFn($scope),contentText:unsafeContentFn($scope)}}.bind(this),this.onRender.bind(this),!0),this.$element.on("$destroy",this.unregisterFn)},MdHighlightCtrl.prototype.onRender=function(state,prevState){var contentText=state.contentText;null!==this.regex&&state.term===prevState.term||(this.regex=this.createRegex(state.term,this.flags)),state.term?this.applyRegex(contentText):this.$element.text(contentText)},MdHighlightCtrl.prototype.applyRegex=function(text){var tokens=this.resolveTokens(text);this.$element.empty(),tokens.forEach(function(token){if(token.isMatch){var tokenEl=angular.element('<span class="highlight">').text(token.text);this.$element.append(tokenEl)}else this.$element.append(document.createTextNode(token))}.bind(this))},MdHighlightCtrl.prototype.resolveTokens=function(string){var tokens=[],lastIndex=0;return string.replace(this.regex,function(match,index){appendToken(lastIndex,index),tokens.push({text:match,isMatch:!0}),lastIndex=index+match.length}),appendToken(lastIndex),tokens;function appendToken(from,to){var targetText=string.slice(from,to);targetText&&tokens.push(targetText)}},MdHighlightCtrl.prototype.createRegex=function(term,flags){var startFlag="",endFlag="",regexTerm=this.$mdUtil.sanitize(term);return 0<=flags.indexOf("^")&&(startFlag="^"),0<=flags.indexOf("$")&&(endFlag="$"),new RegExp(startFlag+regexTerm+endFlag,flags.replace(/[$^]/g,""))}}(),function(){function MdHighlight($interpolate,$parse){return{terminal:!0,controller:"MdHighlightCtrl",compile:function(tElement,tAttr){var termExpr=$parse(tAttr.mdHighlightText),unsafeContentExpr=$interpolate(tElement.html());return function(scope,element,attr,ctrl){ctrl.init(termExpr,unsafeContentExpr)}}}}MdHighlight.$inject=["$interpolate","$parse"],angular.module("material.components.autocomplete").directive("mdHighlightText",MdHighlight)}(),angular.module("material.components.backdrop",["material.core"]).directive("mdBackdrop",["$mdTheming","$mdUtil","$animate","$rootElement","$window","$log","$$rAF","$document",function($mdTheming,$mdUtil,$animate,$rootElement,$window,$log,$$rAF,$document){return{restrict:"E",link:function(scope,element,attrs){var bodyStyles;
vendor: 46,069 bytes, line 1
1function resize(){var viewportHeight=parseInt(bodyStyles.height,10)+Math.abs(parseInt(bodyStyles.top,10));element.css("height",viewportHeight+"px")}$animate.pin&&$animate.pin(element,$rootElement),$$rAF(function(){if("fixed"===(bodyStyles=$window.getComputedStyle($document[0].body)).position){var resizeHandler=$mdUtil.debounce(function(){bodyStyles=$window.getComputedStyle($document[0].body),resize()},60,null,!1);resize(),angular.element($window).on("resize",resizeHandler),scope.$on("$destroy",function(){angular.element($window).off("resize",resizeHandler)})}var parent=element.parent();if(parent.length){"BODY"===parent[0].nodeName&&element.css("position","fixed");var styles=$window.getComputedStyle(parent[0]);"static"===styles.position&&$log.warn("<md-backdrop> may not work properly in a scrolled, static-positioned parent container."),$mdTheming.inherit(element,parent)}})}}}]),function(){function MdBottomSheetDirective($mdBottomSheet){return{restrict:"E",link:function(scope,element){element.addClass("_md"),scope.$on("$destroy",function(){$mdBottomSheet.destroy()})}}}function MdBottomSheetProvider($$interimElementProvider){bottomSheetDefaults.$inject=["$animate","$mdConstant","$mdUtil","$mdTheming","$mdBottomSheet","$rootElement","$mdGesture","$log"];var CLOSING_VELOCITY=.5,PADDING=80;return $$interimElementProvider("$mdBottomSheet").setDefaults({methods:["disableParentScroll","escapeToClose","clickOutsideToClose"],options:bottomSheetDefaults});function bottomSheetDefaults($animate,$mdConstant,$mdUtil,$mdTheming,$mdBottomSheet,$rootElement,$mdGesture,$log){var backdrop;return{themable:!0,onShow:function(scope,element,options){if((element=$mdUtil.extractElementByName(element,"md-bottom-sheet")).attr("tabindex","-1"),element.hasClass("ng-cloak")){$log.warn("$mdBottomSheet: using `<md-bottom-sheet ng-cloak>` will affect the bottom-sheet opening animations.",element[0])}options.isLockedOpen?(options.clickOutsideToClose=!1,options.escapeToClose=!1):options.cleanupGestures=function(element,parent){var deregister=$mdGesture.register(parent,"drag",{horizontal:!1});return parent.on("$md.dragstart",onDragStart).on("$md.drag",onDrag).on("$md.dragend",onDragEnd),function(){deregister(),parent.off("$md.dragstart",onDragStart),parent.off("$md.drag",onDrag),parent.off("$md.dragend",onDragEnd)};function onDragStart(){element.css($mdConstant.CSS.TRANSITION_DURATION,"0ms")}function onDrag(ev){var transform=ev.pointer.distanceY;transform<5&&(transform=Math.max(-PADDING,transform/2)),element.css($mdConstant.CSS.TRANSFORM,"translate3d(0,"+(PADDING+transform)+"px,0)")}function onDragEnd(ev){if(0<ev.pointer.distanceY&&(20<ev.pointer.distanceY||Math.abs(ev.pointer.velocityY)>CLOSING_VELOCITY)){var distanceRemaining=element.prop("offsetHeight")-ev.pointer.distanceY,transitionDuration=Math.min(distanceRemaining/ev.pointer.velocityY*.75,500);element.css($mdConstant.CSS.TRANSITION_DURATION,transitionDuration+"ms"),$mdUtil.nextTick($mdBottomSheet.cancel,!0)}else element.css($mdConstant.CSS.TRANSITION_DURATION,""),element.css($mdConstant.CSS.TRANSFORM,"")}}(element,options.parent);options.disableBackdrop||((backdrop=$mdUtil.createBackdrop(scope,"md-bottom-sheet-backdrop md-opaque"))[0].tabIndex=-1,options.clickOutsideToClose&&backdrop.on("click",function(){$mdUtil.nextTick($mdBottomSheet.cancel,!0)}),$mdTheming.inherit(backdrop,options.parent),$animate.enter(backdrop,options.parent,null));$mdTheming.inherit(element,options.parent),options.disableParentScroll&&(options.restoreScroll=$mdUtil.disableScrollAround(element,options.parent));return $animate.enter(element,options.parent,backdrop).then(function(){var focusable=$mdUtil.findFocusTarget(element)||angular.element(element[0].querySelector("button")||element[0].querySelector("a")||element[0].querySelector($mdUtil.prefixer("ng-click",!0)))||backdrop;options.escapeToClose&&(options.rootElementKeyupCallback=function(e){e.keyCode===$mdConstant.KEY_CODE.ESCAPE&&$mdUtil.nextTick($mdBottomSheet.cancel,!0)},$rootElement.on("keyup",options.rootElementKeyupCallback),focusable&&focusable.focus())})},onRemove:function(scope,element,options){options.disableBackdrop||$animate.leave(backdrop);return $animate.leave(element).then(function(){options.disableParentScroll&&(options.restoreScroll(),delete options.restoreScroll),options.cleanupGestures&&options.cleanupGestures()})},disableBackdrop:!1,escapeToClose:!0,clickOutsideToClose:!0,disableParentScroll:!0,isLockedOpen:!1}}}MdBottomSheetDirective.$inject=["$mdBottomSheet"],MdBottomSheetProvider.$inject=["$$interimElementProvider"],angular.module("material.components.bottomSheet",["material.core","material.components.backdrop"]).directive("mdBottomSheet",MdBottomSheetDirective).provider("$mdBottomSheet",MdBottomSheetProvider)}(),function(){function MdAnchorDirective($mdTheming){return{restrict:"E",link:function(scope,element){$mdTheming(element)}}}function MdButtonDirective($mdButtonInkRipple,$mdTheming,$mdAria,$mdInteraction){return{restrict:"EA",replace:!0,transclude:!0,template:function(element,attr){{if(isAnchor(attr))return'<a class="md-button" ng-transclude></a>';var btnType=void 0===attr.type?"button":attr.type;return'<button class="md-button" type="'+btnType+'" ng-transclude></button>'}},link:function(scope,element,attr){$mdTheming(element),$mdButtonInkRipple.attach(scope,element),$mdAria.expectWithoutText(element,"aria-label"),isAnchor(attr)&&angular.isDefined(attr.ngDisabled)&&!element.hasClass("_md-nav-button")&&scope.$watch(attr.ngDisabled,function(isDisabled){element.attr("tabindex",isDisabled?-1:0)});element.on("click",function(e){!0===attr.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}),element.hasClass("md-no-focus")||(element.on("focus",function(){$mdInteraction.isUserInvoked()&&"keyboard"!==$mdInteraction.getLastInteractionType()||element.addClass("md-focused")}),element.on("blur",function(){element.removeClass("md-focused")}))}};function isAnchor(attr){return angular.isDefined(attr.href)||angular.isDefined(attr.ngHref)||angular.isDefined(attr.ngLink)||angular.isDefined(attr.uiSref)}}MdButtonDirective.$inject=["$mdButtonInkRipple","$mdTheming","$mdAria","$mdInteraction"],MdAnchorDirective.$inject=["$mdTheming"],angular.module("material.components.button",["material.core"]).directive("mdButton",MdButtonDirective).directive("a",MdAnchorDirective)}(),function(){function mdCardDirective($mdTheming){return{restrict:"E",link:function($scope,$element,attr){$element.addClass("_md"),$mdTheming($element)}}}mdCardDirective.$inject=["$mdTheming"],angular.module("material.components.card",["material.core"]).directive("mdCard",mdCardDirective)}(),function(){function MdCheckboxDirective(inputDirective,$mdAria,$mdConstant,$mdTheming,$mdUtil,$mdInteraction){return inputDirective=inputDirective[0],{restrict:"E",transclude:!0,require:["^?mdInputContainer","?ngModel","?^form"],priority:$mdConstant.BEFORE_NG_ARIA,template:'<div class="md-container" md-ink-ripple md-ink-ripple-checkbox><div class="md-icon"></div></div><div ng-transclude class="md-label"></div>',compile:function(tElement,tAttrs){return tAttrs.$set("tabindex",tAttrs.tabindex||"0"),tAttrs.$set("type","checkbox"),tAttrs.$set("role",tAttrs.type),tElement.addClass("md-auto-horizontal-margin"),{pre:function(scope,element){element.on("click",function(e){this.hasAttribute("disabled")&&e.stopImmediatePropagation()})},post:function(scope,element,attr,ctrls){var isIndeterminate,expr,htmlAttr,valueOpts,containerCtrl=ctrls[0],ngModelCtrl=ctrls[1]||$mdUtil.fakeNgModel(),formCtrl=ctrls[2],labelHasLink=0<element.find("a").length;if(labelHasLink){var labelId="label-"+$mdUtil.nextUid();attr.$set("aria-labelledby",labelId);var label=element.children()[1];angular.element(label).remove(),label.removeAttribute("ng-transclude"),label.className="md-checkbox-link-label",label.setAttribute("id",labelId),element.after(label);var externalLabel=element.next();externalLabel.on("click",listener)}if(containerCtrl){var isErrorGetter=containerCtrl.isErrorGetter||function(){return ngModelCtrl.$invalid&&(ngModelCtrl.$touched||formCtrl&&formCtrl.$submitted)};containerCtrl.input=element,scope.$watch(isErrorGetter,containerCtrl.setInvalid)}function listener(ev){element[0].hasAttribute("disabled")||scope.skipToggle||"A"===ev.target.tagName||scope.$apply(function(){var viewValue=attr.ngChecked&&attr.ngClick?attr.checked:!ngModelCtrl.$viewValue;ngModelCtrl.$setViewValue(viewValue,ev&&ev.type),ngModelCtrl.$render()})}function setIndeterminateState(newValue){(isIndeterminate=!1!==newValue)&&element.attr("aria-checked","mixed"),element.toggleClass("md-indeterminate",isIndeterminate),ngModelCtrl.$render()}$mdTheming(element),element.children().on("focus",function(){element.focus()}),$mdUtil.parseAttributeBoolean(attr.mdIndeterminate)&&(setIndeterminateState(),scope.$watch(attr.mdIndeterminate,setIndeterminateState)),attr.ngChecked&&scope.$watch(scope.$eval.bind(scope,attr.ngChecked),function(value){ngModelCtrl.$setViewValue(value),ngModelCtrl.$render()}),expr="ngDisabled",htmlAttr="tabindex",valueOpts={true:"-1",false:attr.tabindex},attr[expr]&&scope.$watch(attr[expr],function(val){valueOpts[val]&&element.attr(htmlAttr,valueOpts[val])}),labelHasLink||$mdAria.expectWithText(element,"aria-label"),inputDirective.link.pre(scope,{on:angular.noop,0:{}},attr,[ngModelCtrl]),element.on("click",listener).on("keypress",function(ev){var submit,form,keyCode=ev.which||ev.keyCode;switch(ev.preventDefault(),keyCode){case $mdConstant.KEY_CODE.SPACE:element.addClass("md-focused"),listener(ev);break;case $mdConstant.KEY_CODE.ENTER:(form=$mdUtil.getClosest(ev.target,"form"))&&(submit=form.querySelector('button[type="submit"]:enabled, input[type="submit"]:enabled'))&&submit.click()}}).on("focus",function(){"keyboard"===$mdInteraction.getLastInteractionType()&&element.addClass("md-focused")}).on("blur",function(){element.removeClass("md-focused")}),ngModelCtrl.$render=function(){var checked=!!ngModelCtrl.$viewValue&&!isIndeterminate;element.toggleClass("md-checked",checked),isIndeterminate||(checked?element.attr("aria-checked","true"):element.attr("aria-checked","false"))}}}}}}MdCheckboxDirective.$inject=["inputDirective","$mdAria","$mdConstant","$mdTheming","$mdUtil","$mdInteraction"],angular.module("material.components.checkbox",["material.core"]).directive("mdCheckbox",MdCheckboxDirective)}(),angular.module("material.components.chips",["material.core","material.components.autocomplete"]),function(){function MdChipCtrl($scope,$element,$mdConstant,$timeout,$mdUtil){this.$scope=$scope,this.$element=$element,this.$mdConstant=$mdConstant,this.$timeout=$timeout,this.$mdUtil=$mdUtil,this.isEditing=!1,this.parentController=void 0,this.enableChipEdit=!1}MdChipCtrl.$inject=["$scope","$element","$mdConstant","$timeout","$mdUtil"],angular.module("material.components.chips").controller("MdChipCtrl",MdChipCtrl),MdChipCtrl.prototype.init=function(controller){this.parentController=controller,this.enableChipEdit=this.parentController.enableChipEdit,this.enableChipEdit&&(this.$element.on("keydown",this.chipKeyDown.bind(this)),this.$element.on("dblclick",this.chipMouseDoubleClick.bind(this)),this.getChipContent().addClass("_md-chip-content-edit-is-enabled"))},MdChipCtrl.prototype.getChipContent=function(){var chipContents=this.$element[0].getElementsByClassName("md-chip-content");return angular.element(chipContents[0])},MdChipCtrl.prototype.getContentElement=function(){var contentElement=angular.element(this.getChipContent().children()[0]);return contentElement&&0!==contentElement.length||(contentElement=angular.element(this.getChipContent().contents()[0])),contentElement},MdChipCtrl.prototype.getChipIndex=function(){return parseInt(this.$element.attr("index"))},MdChipCtrl.prototype.goOutOfEditMode=function(){if(this.isEditing){this.isEditing=!1,this.$element.removeClass("_md-chip-editing"),this.getChipContent()[0].contentEditable="false";var chipIndex=this.getChipIndex(),content=this.getContentElement().text();content?(this.parentController.updateChipContents(chipIndex,content),this.$mdUtil.nextTick(function(){this.parentController.selectedChip===chipIndex&&this.parentController.focusChip(chipIndex)}.bind(this))):this.parentController.removeChipAndFocusInput(chipIndex)}},MdChipCtrl.prototype.selectNodeContents=function(node){var range,selection;document.body.createTextRange?((range=document.body.createTextRange()).moveToElementText(node),range.select()):window.getSelection&&(selection=window.getSelection(),(range=document.createRange()).selectNodeContents(node),selection.removeAllRanges(),selection.addRange(range))},MdChipCtrl.prototype.goInEditMode=function(){this.isEditing=!0,this.$element.addClass("_md-chip-editing"),this.getChipContent()[0].contentEditable="true",this.getChipContent().on("blur",function(){this.goOutOfEditMode()}.bind(this)),this.selectNodeContents(this.getChipContent()[0])},MdChipCtrl.prototype.chipKeyDown=function(event){this.isEditing||event.keyCode!==this.$mdConstant.KEY_CODE.ENTER&&event.keyCode!==this.$mdConstant.KEY_CODE.SPACE?this.isEditing&&event.keyCode===this.$mdConstant.KEY_CODE.ENTER&&(event.preventDefault(),this.goOutOfEditMode()):(event.preventDefault(),this.goInEditMode())},MdChipCtrl.prototype.chipMouseDoubleClick=function(){this.enableChipEdit&&!this.isEditing&&this.goInEditMode()}}(),function(){function MdChip($mdTheming,$mdUtil,$compile,$timeout){return{restrict:"E",require:["^?mdChips","mdChip"],link:function(scope,element,attr,ctrls){var chipsController=ctrls.shift(),chipController=ctrls.shift(),chipContentElement=angular.element(element[0].querySelector(".md-chip-content"));$mdTheming(element),chipsController&&(chipController.init(chipsController),chipContentElement.on("blur",function(){chipsController.resetSelectedChip(),chipsController.$scope.$applyAsync()}));$timeout(function(){chipsController&&chipsController.shouldFocusLastChip&&chipsController.focusLastChipThenInput()})},controller:"MdChipCtrl"}}MdChip.$inject=["$mdTheming","$mdUtil","$compile","$timeout"],angular.module("material.components.chips").directive("mdChip",MdChip)}(),function(){function MdChipRemove($timeout){return{restrict:"A",require:"^mdChips",scope:!1,link:function(scope,element,attr,ctrl){element.on("click",function(){scope.$apply(function(){ctrl.removeChip(scope.$$replacedScope.$index)})}),$timeout(function(){element.attr({tabindex:"-1","aria-hidden":"true"}),element.find("button").attr("tabindex","-1")})}}}MdChipRemove.$inject=["$timeout"],angular.module("material.components.chips").directive("mdChipRemove",MdChipRemove)}(),function(){function MdChipTransclude($compile){return{restrict:"EA",terminal:!0,link:function(scope,element,attr){var ctrl=scope.$parent.$mdChipsCtrl,newScope=ctrl.parent.$new(!1,ctrl.parent);newScope.$$replacedScope=scope,newScope.$chip=scope.$chip,newScope.$index=scope.$index;var newHtml=(newScope.$mdChipsCtrl=ctrl).$scope.$eval(attr.mdChipTransclude);element.html(newHtml),$compile(element.contents())(newScope)},scope:!1}}MdChipTransclude.$inject=["$compile"],angular.module("material.components.chips").directive("mdChipTransclude",MdChipTransclude)}(),function(){MdChipsCtrl.$inject=["$scope","$attrs","$mdConstant","$log","$element","$timeout","$mdUtil","$mdLiveAnnouncer","$exceptionHandler"];var DEFAULT_CHIP_APPEND_DELAY=300;function MdChipsCtrl($scope,$attrs,$mdConstant,$log,$element,$timeout,$mdUtil,$mdLiveAnnouncer,$exceptionHandler){this.$timeout=$timeout,this.$mdConstant=$mdConstant,this.$scope=$scope,this.parent=$scope.$parent,this.$mdUtil=$mdUtil,this.$log=$log,this.$mdLiveAnnouncer=$mdLiveAnnouncer,this.$exceptionHandler=$exceptionHandler,this.$element=$element,this.$attrs=$attrs,this.ngModelCtrl=null,this.userInputNgModelCtrl=null,this.autocompleteCtrl=null,this.userInputElement=null,this.items=[],this.selectedChip=-1,this.enableChipEdit=$mdUtil.parseAttributeBoolean($attrs.mdEnableChipEdit),this.addOnBlur=$mdUtil.parseAttributeBoolean($attrs.mdAddOnBlur),this.inputClass="",this.inputAriaLabel="Chips input.",this.containerHint="Chips container. Use arrow keys to select chips.",this.containerEmptyHint="Chips container. Enter the text area, then type text, and press enter to add a chip.",this.deleteHint="Press delete to remove this chip.",this.deleteButtonLabel="Remove",this.chipBuffer="",this.useTransformChip=!1,this.useOnAdd=!1,this.useOnRemove=!1,this.wrapperId="",this.contentIds=[],this.ariaTabIndex=null,this.chipAppendDelay=DEFAULT_CHIP_APPEND_DELAY,this.deRegister=[],this.addedMessage="added",this.removedMessage="removed",this.init()}angular.module("material.components.chips").controller("MdChipsCtrl",MdChipsCtrl),MdChipsCtrl.prototype.init=function(){var ctrl=this;this.wrapperId="_md-chips-wrapper-"+this.$mdUtil.nextUid(),this.$element.attr("ng-model")||this.setupStaticChips(),this.deRegister.push(this.$scope.$watchCollection("$mdChipsCtrl.items",function(){ctrl.setupInputAria(),ctrl.setupWrapperAria()})),this.deRegister.push(this.$attrs.$observe("mdChipAppendDelay",function(newValue){ctrl.chipAppendDelay=parseInt(newValue)||DEFAULT_CHIP_APPEND_DELAY}))},MdChipsCtrl.prototype.$onDestroy=function(){for(var $destroyFn;$destroyFn=this.deRegister.pop();)$destroyFn.call(this)},MdChipsCtrl.prototype.setupInputAria=function(){var input=this.$element.find("input");input&&(input.attr("role","textbox"),input.attr("aria-multiline",!0),this.inputAriaDescribedBy&&input.attr("aria-describedby",this.inputAriaDescribedBy),this.inputAriaLabelledBy?(input.attr("aria-labelledby",this.inputAriaLabelledBy),input.removeAttr("aria-label")):input.attr("aria-label",this.inputAriaLabel))},MdChipsCtrl.prototype.setupWrapperAria=function(){var ctrl=this,wrapper=this.$element.find("md-chips-wrap");this.items&&this.items.length?(wrapper.attr("role","listbox"),this.contentIds=this.items.map(function(){return ctrl.wrapperId+"-chip-"+ctrl.$mdUtil.nextUid()}),wrapper.attr("aria-owns",this.contentIds.join(" ")),wrapper.attr("aria-label",this.containerHint)):(wrapper.removeAttr("role"),wrapper.removeAttr("aria-owns"),wrapper.attr("aria-label",this.containerEmptyHint))},MdChipsCtrl.prototype.setupStaticChips=function(){var i,staticChips,ctrl=this,wrapper=this.$element.find("md-chips-wrap");this.$timeout(function(){for(wrapper.attr("role","list"),staticChips=wrapper[0].children,i=0;i<staticChips.length;i++)staticChips[i].setAttribute("role","listitem"),staticChips[i].setAttribute("aria-setsize",staticChips.length);ctrl.inputAriaDescribedBy&&wrapper.attr("aria-describedby",ctrl.inputAriaDescribedBy),ctrl.inputAriaLabelledBy?(wrapper.attr("aria-labelledby",ctrl.inputAriaLabelledBy),wrapper.removeAttr("aria-label")):wrapper.attr("aria-label",ctrl.inputAriaLabel)},10)},MdChipsCtrl.prototype.inputKeydown=function(event){var chipBuffer=this.getChipBuffer();if(!(this.autocompleteCtrl&&event.isDefaultPrevented&&event.isDefaultPrevented())){if(event.keyCode===this.$mdConstant.KEY_CODE.BACKSPACE){if(0!==this.getCursorPosition(event.target))return;return event.preventDefault(),event.stopPropagation(),void(this.items.length&&this.selectAndFocusChipSafe(this.items.length-1))}if((!this.separatorKeys||this.separatorKeys.length<1)&&(this.separatorKeys=[this.$mdConstant.KEY_CODE.ENTER]),-1!==this.separatorKeys.indexOf(event.keyCode)){if(this.autocompleteCtrl&&this.requireMatch||!chipBuffer)return;if(event.preventDefault(),this.hasMaxChipsReached())return;return this.appendChip(chipBuffer.trim()),this.resetChipBuffer(),!1}}},MdChipsCtrl.prototype.getCursorPosition=function(element){try{if(element.selectionStart===element.selectionEnd)return element.selectionStart}catch(e){if(!element.value)return 0}},MdChipsCtrl.prototype.updateChipContents=function(chipIndex,chipContents){0<=chipIndex&&chipIndex<this.items.length&&(this.items[chipIndex]=chipContents,this.updateNgModel(!0))},MdChipsCtrl.prototype.isEditingChip=function(){return!!this.$element[0].querySelector("._md-chip-editing")},MdChipsCtrl.prototype._isChipObject=function(chip){return angular.isObject(chip)},MdChipsCtrl.prototype.isRemovable=function(){return!!this.ngModelCtrl&&(this.readonly?this.removable:!angular.isDefined(this.removable)||this.removable)},MdChipsCtrl.prototype.chipKeydown=function(event){if(!this.getChipBuffer()&&!this.isEditingChip())switch(event.keyCode){case this.$mdConstant.KEY_CODE.BACKSPACE:case this.$mdConstant.KEY_CODE.DELETE:if(this.selectedChip<0)return;if(event.preventDefault(),!this.isRemovable())return;this.removeAndSelectAdjacentChip(this.selectedChip,event);break;case this.$mdConstant.KEY_CODE.LEFT_ARROW:event.preventDefault(),(this.selectedChip<0||this.readonly&&0===this.selectedChip)&&(this.selectedChip=this.items.length),this.items.length&&this.selectAndFocusChipSafe(this.selectedChip-1);break;case this.$mdConstant.KEY_CODE.RIGHT_ARROW:event.preventDefault(),this.selectAndFocusChipSafe(this.selectedChip+1);break;case this.$mdConstant.KEY_CODE.ESCAPE:case this.$mdConstant.KEY_CODE.TAB:if(this.selectedChip<0)return;event.preventDefault(),this.onFocus()}},MdChipsCtrl.prototype.getPlaceholder=function(){return this.items&&this.items.length&&(""===this.secondaryPlaceholder||this.secondaryPlaceholder)?this.secondaryPlaceholder:this.placeholder},MdChipsCtrl.prototype.removeAndSelectAdjacentChip=function(index,event){var self=this,selIndex=self.getAdjacentChipIndex(index);this.$element[0].querySelector("md-chips-wrap"),this.$element[0].querySelector('md-chip[index="'+index+'"]');self.removeChip(index,event),self.$timeout(function(){self.$timeout(function(){self.selectAndFocusChipSafe(selIndex)})})},MdChipsCtrl.prototype.resetSelectedChip=function(){this.selectedChip=-1,this.ariaTabIndex=null},MdChipsCtrl.prototype.getAdjacentChipIndex=function(index){var len=this.items.length-1;return 0===len?-1:index===len?index-1:index},MdChipsCtrl.prototype.appendChip=function(newChip){if(this.shouldFocusLastChip=!this.addOnBlur,this.useTransformChip&&this.transformChip){var transformedChip=this.transformChip({$chip:newChip});angular.isDefined(transformedChip)&&(newChip=transformedChip)}if(angular.isObject(newChip)&&this.items.some(function(item){return angular.equals(newChip,item)}))return;if(!(null==newChip||this.items.indexOf(newChip)+1)){var index=this.items.push(newChip)-1;this.updateNgModel();var chipContent=angular.isObject(newChip)?"":newChip;this.$mdLiveAnnouncer.announce(chipContent+" "+this.addedMessage,"assertive"),this.useOnAdd&&this.onAdd&&this.onAdd({$chip:newChip,$index:index})}},MdChipsCtrl.prototype.useTransformChipExpression=function(){this.useTransformChip=!0},MdChipsCtrl.prototype.useOnAddExpression=function(){this.useOnAdd=!0},MdChipsCtrl.prototype.useOnRemoveExpression=function(){this.useOnRemove=!0},MdChipsCtrl.prototype.useOnSelectExpression=function(){this.useOnSelect=!0},MdChipsCtrl.prototype.getChipBuffer=function(){var chipBuffer=this.userInputElement?this.userInputNgModelCtrl?this.userInputNgModelCtrl.$viewValue:this.userInputElement[0].value:this.chipBuffer;return angular.isString(chipBuffer)?chipBuffer:""},MdChipsCtrl.prototype.resetChipBuffer=function(){this.userInputElement?this.userInputNgModelCtrl?(this.userInputNgModelCtrl.$setViewValue(""),this.userInputNgModelCtrl.$render()):this.userInputElement[0].value="":this.chipBuffer=""},MdChipsCtrl.prototype.hasMaxChipsReached=function(){return angular.isString(this.maxChips)&&(this.maxChips=parseInt(this.maxChips,10)||0),0<this.maxChips&&this.items.length>=this.maxChips},MdChipsCtrl.prototype.validateModel=function(){this.ngModelCtrl.$setValidity("md-max-chips",!this.hasMaxChipsReached()),this.ngModelCtrl.$validate()},MdChipsCtrl.prototype.updateNgModel=function(skipValidation){skipValidation||this.validateModel(),angular.forEach(this.ngModelCtrl.$viewChangeListeners,function(listener){try{listener()}catch(e){this.$exceptionHandler(e)}})},MdChipsCtrl.prototype.removeChip=function(index,event){var removed=this.items.splice(index,1);this.updateNgModel(),this.ngModelCtrl.$setDirty();var chipContent=angular.isObject(removed[0])?"":removed[0];this.$mdLiveAnnouncer.announce(chipContent+" "+this.removedMessage,"assertive"),removed&&removed.length&&this.useOnRemove&&this.onRemove&&this.onRemove({$chip:removed[0],$index:index,$event:event})},MdChipsCtrl.prototype.removeChipAndFocusInput=function(index,$event){this.removeChip(index,$event),this.autocompleteCtrl?(this.autocompleteCtrl.hidden=!0,this.$mdUtil.nextTick(this.onFocus.bind(this))):this.onFocus()},MdChipsCtrl.prototype.selectAndFocusChipSafe=function(index){if(!this.items.length||-1===index)return this.focusInput();if(index>=this.items.length){if(!this.readonly)return this.onFocus();index=0}index=Math.max(index,0),index=Math.min(index,this.items.length-1),this.selectChip(index),this.focusChip(index)},MdChipsCtrl.prototype.focusLastChipThenInput=function(){var ctrl=this;ctrl.shouldFocusLastChip=!1,ctrl.focusChip(this.items.length-1),ctrl.$timeout(function(){ctrl.focusInput()},ctrl.chipAppendDelay)},MdChipsCtrl.prototype.focusInput=function(){this.selectChip(-1),this.onFocus()},MdChipsCtrl.prototype.selectChip=function(index){-1<=index&&index<=this.items.length?(this.selectedChip=index,this.useOnSelect&&this.onSelect&&this.onSelect({$chip:this.items[index]})):this.$log.warn("Selected Chip index out of bounds; ignoring.")},MdChipsCtrl.prototype.focusChip=function(index){var chipContent=this.$element[0].querySelector('md-chip[index="'+index+'"] .md-chip-content');this.ariaTabIndex=index,chipContent.focus()},MdChipsCtrl.prototype.configureNgModel=function(ngModelCtrl){this.ngModelCtrl=ngModelCtrl;var self=this;ngModelCtrl.$isEmpty=function(value){return!value||0===value.length},ngModelCtrl.$render=function(){self.items=self.ngModelCtrl.$viewValue}},MdChipsCtrl.prototype.onFocus=function(){var input=this.$element[0].querySelector("input");input&&input.focus(),this.resetSelectedChip()},MdChipsCtrl.prototype.onInputFocus=function(){this.inputHasFocus=!0,this.setupInputAria(),this.resetSelectedChip()},MdChipsCtrl.prototype.onInputBlur=function(){this.inputHasFocus=!1,this.shouldAddOnBlur()&&(this.appendChip(this.getChipBuffer().trim()),this.resetChipBuffer())},MdChipsCtrl.prototype.configureInput=function(inputElement){var ngModelCtrl=inputElement.controller("ngModel"),ctrl=this;ngModelCtrl&&(this.deRegister.push(this.$scope.$watch(function(){return ngModelCtrl.$touched},function(isTouched){isTouched&&ctrl.ngModelCtrl.$setTouched()})),this.deRegister.push(this.$scope.$watch(function(){return ngModelCtrl.$dirty},function(isDirty){isDirty&&ctrl.ngModelCtrl.$setDirty()})))},MdChipsCtrl.prototype.configureUserInput=function(inputElement){var ngModelCtrl=(this.userInputElement=inputElement).controller("ngModel");ngModelCtrl!==this.ngModelCtrl&&(this.userInputNgModelCtrl=ngModelCtrl);var scope=this.$scope,ctrl=this,scopeApplyFn=function(event,fn){scope.$evalAsync(angular.bind(ctrl,fn,event))};inputElement.attr({tabindex:0}).on("keydown",function(event){scopeApplyFn(event,ctrl.inputKeydown)}).on("focus",function(event){scopeApplyFn(event,ctrl.onInputFocus)}).on("blur",function(event){scopeApplyFn(event,ctrl.onInputBlur)})},MdChipsCtrl.prototype.configureAutocomplete=function(ctrl){ctrl&&(this.autocompleteCtrl=ctrl,this.$element.attr("container-empty-hint")||(this.containerEmptyHint="Chips container with autocompletion. Enter the text area, type text to search, and then use the up and down arrow keys to select an option. Press enter to add the selected option as a chip.",this.setupWrapperAria()),ctrl.registerSelectedItemWatcher(angular.bind(this,function(item){if(item){if(this.hasMaxChipsReached())return;this.appendChip(item),this.resetChipBuffer()}})),this.$element.find("input").on("focus",angular.bind(this,this.onInputFocus)).on("blur",angular.bind(this,this.onInputBlur)))},MdChipsCtrl.prototype.shouldAddOnBlur=function(){this.validateModel();var chipBuffer=this.getChipBuffer().trim(),isModelValid=this.ngModelCtrl.$isEmpty(this.ngModelCtrl.$modelValue)||this.ngModelCtrl.$valid,isAutocompleteShowing=this.autocompleteCtrl&&!this.autocompleteCtrl.hidden;return this.userInputNgModelCtrl&&(isModelValid=isModelValid&&this.userInputNgModelCtrl.$valid),this.addOnBlur&&!this.requireMatch&&chipBuffer&&isModelValid&&!isAutocompleteShowing},MdChipsCtrl.prototype.hasFocus=function(){return this.inputHasFocus||0<=this.selectedChip},MdChipsCtrl.prototype.contentIdFor=function(index){return this.contentIds[index]}}(),function(){MdChips.$inject=["$mdTheming","$mdUtil","$compile","$log","$timeout","$$mdSvgRegistry"],angular.module("material.components.chips").directive("mdChips",MdChips);var MD_CHIPS_TEMPLATE=' <md-chips-wrap id="{{$mdChipsCtrl.wrapperId}}" tabindex="{{$mdChipsCtrl.readonly ? 0 : -1}}" ng-keydown="$mdChipsCtrl.chipKeydown($event)" ng-class="{ \'md-focused\': $mdChipsCtrl.hasFocus(), \'md-readonly\': !$mdChipsCtrl.ngModelCtrl || $mdChipsCtrl.readonly, \'md-removable\': $mdChipsCtrl.isRemovable() }" class="md-chips"> <md-chip ng-repeat="$chip in $mdChipsCtrl.items" index="{{$index}}" ng-class="{\'md-focused\': $mdChipsCtrl.selectedChip == $index, \'md-readonly\': !$mdChipsCtrl.ngModelCtrl || $mdChipsCtrl.readonly}"> <div class="md-chip-content" tabindex="{{$mdChipsCtrl.ariaTabIndex === $index ? 0 : -1}}" id="{{$mdChipsCtrl.contentIdFor($index)}}" role="option" aria-selected="{{$mdChipsCtrl.selectedChip === $index}}" aria-setsize="{{$mdChipsCtrl.items.length}}" aria-posinset="{{$index+1}}" ng-click="!$mdChipsCtrl.readonly && $mdChipsCtrl.focusChip($index)" aria-label="{{$mdChipsCtrl._isChipObject($chip) ? \'\' : $chip + \'. \'}}{{$mdChipsCtrl.isRemovable() ? \'\' + $mdChipsCtrl.deleteHint : \'\'}}" ng-focus="!$mdChipsCtrl.readonly && $mdChipsCtrl.selectChip($index)" md-chip-transclude="$mdChipsCtrl.chipContentsTemplate"></div> <div ng-if="$mdChipsCtrl.isRemovable()" class="md-chip-remove-container" tabindex="-1" md-chip-transclude="$mdChipsCtrl.chipRemoveTemplate"></div> </md-chip> <div class="md-chip-input-container" ng-if="!$mdChipsCtrl.readonly && $mdChipsCtrl.ngModelCtrl"> <div md-chip-transclude="$mdChipsCtrl.chipInputTemplate"></div> </div> </md-chips-wrap>',CHIP_INPUT_TEMPLATE=' <input class="md-input{{ $mdChipsCtrl.inputClass ? \' \' + $mdChipsCtrl.inputClass: \'\'}}" tabindex="0" aria-label="{{$mdChipsCtrl.inputAriaLabel}}" placeholder="{{$mdChipsCtrl.getPlaceholder()}}" ng-model="$mdChipsCtrl.chipBuffer" ng-focus="$mdChipsCtrl.onInputFocus()" ng-blur="$mdChipsCtrl.onInputBlur()" ng-keydown="$mdChipsCtrl.inputKeydown($event)">',CHIP_DEFAULT_TEMPLATE=" <span>{{$chip}}</span>",CHIP_REMOVE_TEMPLATE=' <button class="md-chip-remove" ng-if="$mdChipsCtrl.isRemovable()" ng-click="$mdChipsCtrl.removeChipAndFocusInput($$replacedScope.$index, $event)" type="button" tabindex="-1" aria-label="{{$mdChipsCtrl.deleteButtonLabel}}{{$mdChipsCtrl._isChipObject($chip) ? \'\' : \' \' + $chip}}"> <md-icon md-svg-src="{{$mdChipsCtrl.mdCloseIcon}}" aria-hidden="true"></md-icon> </button>';function MdChips($mdTheming,$mdUtil,$compile,$log,$timeout,$$mdSvgRegistry){var templates={chips:$mdUtil.processTemplate(MD_CHIPS_TEMPLATE),input:$mdUtil.processTemplate(CHIP_INPUT_TEMPLATE),default:$mdUtil.processTemplate(CHIP_DEFAULT_TEMPLATE),remove:$mdUtil.processTemplate(CHIP_REMOVE_TEMPLATE)};return{template:function(element,attrs){return attrs.$mdUserTemplate=element.clone(),templates.chips},require:["mdChips"],restrict:"E",controller:"MdChipsCtrl",controllerAs:"$mdChipsCtrl",bindToController:!0,compile:function(element,attr){var userTemplate=attr.$mdUserTemplate;attr.$mdUserTemplate=null;var chipTemplate=getTemplateByQuery("md-chips>md-chip-template"),chipRemoveTemplate=getTemplateByQuery($mdUtil.prefixer().buildList("md-chip-remove").map(function(attr){return"md-chips>*["+attr+"]"}).join(","))||templates.remove,chipContentsTemplate=chipTemplate||templates.default,chipInputTemplate=getTemplateByQuery("md-chips>md-autocomplete")||getTemplateByQuery("md-chips>input")||templates.input,staticChips=userTemplate.find("md-chip");userTemplate[0].querySelector("md-chip-template>*[md-chip-remove]")&&$log.warn("invalid placement of md-chip-remove within md-chip-template.");function getTemplateByQuery(query){if(attr.ngModel){var element=userTemplate[0].querySelector(query);return element&&element.outerHTML}}return function(scope,element,attrs,controllers){$mdUtil.initOptionalProperties(scope,attr),$mdTheming(element);var mdChipsCtrl=controllers[0];if(chipTemplate&&(mdChipsCtrl.enableChipEdit=!1),mdChipsCtrl.chipContentsTemplate=chipContentsTemplate,mdChipsCtrl.chipRemoveTemplate=chipRemoveTemplate,mdChipsCtrl.chipInputTemplate=chipInputTemplate,mdChipsCtrl.mdCloseIcon=$$mdSvgRegistry.mdCancel,element.attr({tabindex:-1}).on("focus",function(){mdChipsCtrl.onFocus()}).on("click",function(){mdChipsCtrl.readonly||-1!==mdChipsCtrl.selectedChip||mdChipsCtrl.onFocus()}),attr.ngModel&&(mdChipsCtrl.configureNgModel(element.controller("ngModel")),attrs.mdTransformChip&&mdChipsCtrl.useTransformChipExpression(),attrs.mdOnAdd&&mdChipsCtrl.useOnAddExpression(),attrs.mdOnRemove&&mdChipsCtrl.useOnRemoveExpression(),attrs.mdOnSelect&&mdChipsCtrl.useOnSelectExpression(),chipInputTemplate!==templates.input&&scope.$watch("$mdChipsCtrl.readonly",function(readonly){readonly||$mdUtil.nextTick(function(){if(0===chipInputTemplate.indexOf("<md-autocomplete")){var autocompleteEl=element.find("md-autocomplete");mdChipsCtrl.configureAutocomplete(autocompleteEl.controller("mdAutocomplete"))}mdChipsCtrl.configureUserInput(element.find("input"))})}),$mdUtil.nextTick(function(){var input=element.find("input");input&&(mdChipsCtrl.configureInput(input),input.toggleClass("md-input",!0))})),0<staticChips.length){var compiledStaticChips=$compile(staticChips.clone())(scope.$parent);$timeout(function(){element.find("md-chips-wrap").prepend(compiledStaticChips)})}}},scope:{readonly:"=?readonly",removable:"=?mdRemovable",placeholder:"@?",secondaryPlaceholder:"@?",maxChips:"@?mdMaxChips",transformChip:"&mdTransformChip",onAdd:"&?mdOnAdd",onRemove:"&?mdOnRemove",addedMessage:"@?mdAddedMessage",removedMessage:"@?mdRemovedMessage",onSelect:"&?mdOnSelect",inputClass:"@?mdInputClass",inputAriaDescribedBy:"@?inputAriaDescribedby",inputAriaLabelledBy:"@?inputAriaLabelledby",inputAriaLabel:"@?",containerHint:"@?",containerEmptyHint:"@?",deleteHint:"@?",deleteButtonLabel:"@?",separatorKeys:"=?mdSeparatorKeys",requireMatch:"=?mdRequireMatch",chipAppendDelayString:"@?mdChipAppendDelay",ngChange:"&?"}}}}(),function(){function MdContactChipsCtrl($attrs,$element,$timeout){this.$element=$element,this.$attrs=$attrs,this.$timeout=$timeout,this.selectedItem=null,this.searchText="",this.deRegister=[],this.init()}MdContactChipsCtrl.$inject=["$attrs","$element","$timeout"],angular.module("material.components.chips").controller("MdContactChipsCtrl",MdContactChipsCtrl),MdContactChipsCtrl.prototype.init=function(){var ctrl=this,deRegister=this.deRegister,element=this.$element;this.$timeout(function(){deRegister.push(element.find("md-chips").controller("mdChips").$scope.$watchCollection("$mdChipsCtrl.items",function(){ctrl.setupChipsAria(),ctrl.setupAutocompleteAria()}))})},MdContactChipsCtrl.prototype.setupChipsAria=function(){var chips=this.$element.find("md-chips"),chipsCtrl=chips.controller("mdChips");this.removedMessage&&(chipsCtrl.removedMessage=this.removedMessage),this.containerHint&&(chipsCtrl.containerHint=this.containerHint),this.containerEmptyHint&&(chips.attr("container-empty-hint",this.containerEmptyHint),chipsCtrl.containerEmptyHint=this.containerEmptyHint),this.deleteHint&&(chipsCtrl.deleteHint=this.deleteHint),this.inputAriaLabel&&(chipsCtrl.inputAriaLabel=this.inputAriaLabel),this.inputClass&&(chipsCtrl.inputClass=this.inputClass)},MdContactChipsCtrl.prototype.setupAutocompleteAria=function(){var autocompleteInput=this.$element.find("md-chips-wrap").find("md-autocomplete").find("input");this.inputAriaDescribedBy&&autocompleteInput.attr("aria-describedby",this.inputAriaDescribedBy),this.inputAriaLabelledBy&&(autocompleteInput.removeAttr("aria-label"),autocompleteInput.attr("aria-labelledby",this.inputAriaLabelledBy))},MdContactChipsCtrl.prototype.queryContact=function(searchText){return this.contactQuery({$query:searchText})},MdContactChipsCtrl.prototype.inputKeydown=function(event){if(this.separatorKeys&&!(this.separatorKeys.indexOf(event.keyCode)<0)){event.stopPropagation(),event.preventDefault();var autocompleteCtrl=angular.element(event.target).controller("mdAutocomplete");autocompleteCtrl.select(autocompleteCtrl.index)}},MdContactChipsCtrl.prototype.itemName=function(item){return item[this.contactName]},MdContactChipsCtrl.prototype.$onDestroy=function(){for(var $destroyFn;$destroyFn=this.deRegister.pop();)$destroyFn.call(this)}}(),function(){MdContactChips.$inject=["$mdTheming","$mdUtil"],angular.module("material.components.chips").directive("mdContactChips",MdContactChips);var MD_CONTACT_CHIPS_TEMPLATE=' <md-chips class="md-contact-chips" ng-model="$mdContactChipsCtrl.contacts" ng-change="$mdContactChipsCtrl.ngChange($mdContactChipsCtrl.contacts)" md-require-match="$mdContactChipsCtrl.requireMatch" md-max-chips="{{$mdContactChipsCtrl.maxChips}}" md-chip-append-delay="{{$mdContactChipsCtrl.chipAppendDelay}}" md-separator-keys="$mdContactChipsCtrl.separatorKeys" md-autocomplete-snap> <md-autocomplete md-menu-class="md-contact-chips-suggestions" md-selected-item="$mdContactChipsCtrl.selectedItem" md-search-text="$mdContactChipsCtrl.searchText" md-items="item in $mdContactChipsCtrl.queryContact($mdContactChipsCtrl.searchText)" md-item-text="$mdContactChipsCtrl.itemName(item)" md-no-cache="true" md-min-length="$mdContactChipsCtrl.minLength" md-autoselect ng-attr-md-input-class="{{$mdContactChipsCtrl.inputClass}}" ng-keydown="$mdContactChipsCtrl.inputKeydown($event)" placeholder="{{$mdContactChipsCtrl.contacts.length === 0 ? $mdContactChipsCtrl.placeholder : $mdContactChipsCtrl.secondaryPlaceholder}}"> <div class="md-contact-suggestion"> <img ng-src="{{item[$mdContactChipsCtrl.contactImage]}}" alt="{{item[$mdContactChipsCtrl.contactName]}}" ng-if="item[$mdContactChipsCtrl.contactImage]" /> <span class="md-contact-name" md-highlight-text="$mdContactChipsCtrl.searchText" md-highlight-flags="{{$mdContactChipsCtrl.highlightFlags}}"> {{item[$mdContactChipsCtrl.contactName]}} </span> <span class="md-contact-email" >{{item[$mdContactChipsCtrl.contactEmail]}}</span> </div> </md-autocomplete> <md-chip-template> <div class="md-contact-avatar"> <img ng-src="{{$chip[$mdContactChipsCtrl.contactImage]}}" alt="{{$chip[$mdContactChipsCtrl.contactName]}}" ng-if="$chip[$mdContactChipsCtrl.contactImage]" /> </div> <div class="md-contact-name"> {{$chip[$mdContactChipsCtrl.contactName]}} </div> </md-chip-template> </md-chips>';function MdContactChips($mdTheming,$mdUtil){return{template:function(element,attrs){return MD_CONTACT_CHIPS_TEMPLATE},restrict:"E",controller:"MdContactChipsCtrl",controllerAs:"$mdContactChipsCtrl",bindToController:!0,compile:function(element,attr){return function(scope,element,attrs,controllers){var contactChipsController=controllers;$mdUtil.initOptionalProperties(scope,attr),$mdTheming(element),element.attr("tabindex","-1"),attrs.$observe("mdChipAppendDelay",function(newValue){contactChipsController.chipAppendDelay=newValue})}},scope:{contactQuery:"&mdContacts",placeholder:"@?",secondaryPlaceholder:"@?",contactName:"@mdContactName",contactImage:"@mdContactImage",contactEmail:"@mdContactEmail",contacts:"=ngModel",ngChange:"&?",requireMatch:"=?mdRequireMatch",minLength:"=?mdMinLength",maxChips:"=?mdMaxChips",highlightFlags:"@?mdHighlightFlags",chipAppendDelay:"@?mdChipAppendDelay",separatorKeys:"=?mdSeparatorKeys",removedMessage:"@?mdRemovedMessage",inputClass:"@?mdInputClass",inputAriaDescribedBy:"@?inputAriaDescribedby",inputAriaLabelledBy:"@?inputAriaLabelledby",inputAriaLabel:"@?",containerHint:"@?",containerEmptyHint:"@?",deleteHint:"@?"}}}}(),function(){MdColorsDirective.$inject=["$mdColors","$mdUtil","$log","$parse"],MdColorsService.$inject=["$mdTheming","$mdUtil","$log"];var STATIC_COLOR_EXPRESSION=/^{((\s|,)*?["'a-zA-Z-]+?\s*?:\s*?(['"])[a-zA-Z0-9-.]*(['"]))+\s*}$/,colorPalettes=null;function MdColorsService($mdTheming,$mdUtil,$log){return colorPalettes=colorPalettes||Object.keys($mdTheming.PALETTES),{applyThemeColors:function(element,colorExpression){try{colorExpression&&element.css((rgbColors={},hasColorProperty=(themeColors=colorExpression).hasOwnProperty("color"),angular.forEach(themeColors,function(value,key){var color=extractColorOptions(value),hasBackground=-1<key.indexOf("background");rgbColors[key]=parseColor(color),hasBackground&&!hasColorProperty&&(rgbColors.color=parseColor(color,!0))}),rgbColors))}catch(e){$log.error(e.message)}var themeColors,rgbColors,hasColorProperty},getThemeColor:function(expression){return parseColor(extractColorOptions(expression))},hasTheme:function(expression){return angular.isDefined($mdTheming.THEMES[expression.split("-")[0]])}};function parseColor(color,contrast){contrast=contrast||!1;var rgbValues=$mdTheming.PALETTES[color.palette][color.hue];return rgbValues=contrast?rgbValues.contrast:rgbValues.value,$mdUtil.supplant("rgba({0}, {1}, {2}, {3})",[rgbValues[0],rgbValues[1],rgbValues[2],rgbValues[3]||color.opacity])}function extractColorOptions(expression){var parts=expression.split("-"),theme=angular.isDefined($mdTheming.THEMES[parts[0]])?parts.splice(0,1)[0]:$mdTheming.defaultTheme();return{theme:theme,palette:function(parts,theme){var isTwoWord=1<parts.length&&-1!==colorPalettes.indexOf(parts[1]),palette=parts[0].replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();if(isTwoWord&&(palette=parts[0]+"-"+parts.splice(1,1)),-1===colorPalettes.indexOf(palette)){var scheme=$mdTheming.THEMES[theme].colors[palette];if(!scheme)throw new Error($mdUtil.supplant("mdColors: couldn't find '{palette}' in the palettes.",{palette:palette}));palette=scheme.name}return palette}(parts,theme),hue:function(parts,theme){var themeColors=$mdTheming.THEMES[theme].colors;if("hue"!==parts[1])return parts[1]||themeColors[parts[0]in themeColors?parts[0]:"primary"].hues.default;var hueNumber=parseInt(parts.splice(2,1)[0],10);if(hueNumber<1||3<hueNumber)throw new Error($mdUtil.supplant("mdColors: 'hue-{hueNumber}' is not a valid hue, can be only 'hue-1', 'hue-2' and 'hue-3'",{hueNumber:hueNumber}));if(parts[1]="hue-"+hueNumber,parts[0]in themeColors)return themeColors[parts[0]].hues[parts[1]];throw new Error($mdUtil.supplant("mdColors: 'hue-x' can only be used with [{availableThemes}], but was used with '{usedTheme}'",{availableThemes:Object.keys(themeColors).join(", "),usedTheme:parts[0]}))}(parts,theme),opacity:parts[2]||1}}}function MdColorsDirective($mdColors,$mdUtil,$log,$parse){return{restrict:"A",require:["^?mdTheme"],compile:function(tElem,tAttrs){var shouldWatch=function(){var rawColorExpression=tAttrs.mdColors,bindOnce=-1<rawColorExpression.indexOf("::"),isStatic=!!bindOnce||STATIC_COLOR_EXPRESSION.test(tAttrs.mdColors);tAttrs.mdColors=rawColorExpression.replace("::","");var hasWatchAttr=angular.isDefined(tAttrs.mdColorsWatch);return!bindOnce&&!isStatic&&(!hasWatchAttr||$mdUtil.parseAttributeBoolean(tAttrs.mdColorsWatch))}();return function(scope,element,attrs,ctrl){var mdThemeController=ctrl[0],lastColors={},parseColors=function(theme){"string"!=typeof theme&&(theme=""),attrs.mdColors||(attrs.mdColors="{}");var colors=$parse(attrs.mdColors)(scope);return mdThemeController&&Object.keys(colors).forEach(function(prop){var color=colors[prop];$mdColors.hasTheme(color)||(colors[prop]=(theme||mdThemeController.$mdTheme)+"-"+color)}),cleanElement(colors),colors},cleanElement=function(colors){if(!angular.equals(colors,lastColors)){var keys=Object.keys(lastColors);lastColors.background&&!keys.color&&keys.push("color"),keys.forEach(function(key){element.css(key,"")})}lastColors=colors},unregisterChanges=angular.noop;mdThemeController&&(unregisterChanges=mdThemeController.registerChanges(function(theme){$mdColors.applyThemeColors(element,parseColors(theme))})),scope.$on("$destroy",function(){unregisterChanges()});try{shouldWatch?scope.$watch(parseColors,angular.bind(this,$mdColors.applyThemeColors,element),!0):$mdColors.applyThemeColors(element,parseColors())}catch(e){$log.error(e.message)}}}}}angular.module("material.components.colors",["material.core"]).directive("mdColors",MdColorsDirective).service("$mdColors",MdColorsService)}(),function(){function mdContentDirective($mdTheming){return{restrict:"E",controller:["$scope","$element",function($scope,$element){this.$scope=$scope,this.$element=$element}],link:function(scope,element){var node;element.addClass("_md"),$mdTheming(element),scope.$broadcast("$mdContentLoaded",element),node=element[0],angular.element(node).on("$md.pressdown",function(ev){"t"===ev.pointer.type&&(ev.$materialScrollFixed||(ev.$materialScrollFixed=!0,0===node.scrollTop?node.scrollTop=1:node.scrollHeight===node.scrollTop+node.offsetHeight&&(node.scrollTop-=1)))})}}}mdContentDirective.$inject=["$mdTheming"],angular.module("material.components.c
1ontent",["material.core"]).directive("mdContent",mdContentDirective)}(),angular.module("material.components.datepicker",["material.core","material.components.icon","material.components.virtualRepeat"]),function(){function calendarDirective(inputDirective){return{template:function(tElement,tAttr){return'<div ng-switch="calendarCtrl.currentView" '+(tAttr.hasOwnProperty("ngIf")?"":'ng-if="calendarCtrl.isInitialized"')+'><md-calendar-year ng-switch-when="year"></md-calendar-year><md-calendar-month ng-switch-default></md-calendar-month></div>'},scope:{minDate:"=mdMinDate",maxDate:"=mdMaxDate",dateFilter:"=mdDateFilter",monthFilter:"=mdMonthFilter",_mode:"@mdMode",_currentView:"@mdCurrentView"},require:["ngModel","mdCalendar"],controller:CalendarCtrl,controllerAs:"calendarCtrl",bindToController:!0,link:function(scope,element,attrs,controllers){var ngModelCtrl=controllers[0];controllers[1].configureNgModel(ngModelCtrl,inputDirective)}}}CalendarCtrl.$inject=["$element","$scope","$$mdDateUtil","$mdUtil","$mdConstant","$mdTheming","$$rAF","$attrs","$mdDateLocale","$filter","$document"],calendarDirective.$inject=["inputDirective"],angular.module("material.components.datepicker").directive("mdCalendar",calendarDirective);var nextUniqueId=0,MODE_MAP={day:"month",month:"year"};function CalendarCtrl($element,$scope,$$mdDateUtil,$mdUtil,$mdConstant,$mdTheming,$$rAF,$attrs,$mdDateLocale,$filter,$document){$mdTheming($element),this.$element=$element,this.$scope=$scope,this.$attrs=$attrs,this.dateUtil=$$mdDateUtil,this.$mdUtil=$mdUtil,this.keyCode=$mdConstant.KEY_CODE,this.$$rAF=$$rAF,this.$mdDateLocale=$mdDateLocale,this.ngDateFilter=$filter("date"),this.today=this.dateUtil.createDateAtMidnight(),this.ngModelCtrl=void 0,this.SELECTED_DATE_CLASS="md-calendar-selected-date",this.TODAY_CLASS="md-calendar-date-today",this.FOCUSED_DATE_CLASS="md-focus",this.id=nextUniqueId++,this.displayDate=null,this.mode=null,this.selectedDate=null,this.firstRenderableDate=null,this.lastRenderableDate=null,this.isInitialized=!1,this.width=0,this.scrollbarWidth=0,this.standaloneMode=!1,$attrs.tabindex||$element.attr("tabindex","-1");var handleKeyElement,boundKeyHandler=angular.bind(this,this.handleKeyEvent);(handleKeyElement=$element.parent().hasClass("md-datepicker-calendar")?angular.element($document[0].body):(this.standaloneMode=!0,$element)).on("keydown",boundKeyHandler),$scope.$on("$destroy",function(){handleKeyElement.off("keydown",boundKeyHandler)}),1===angular.version.major&&angular.version.minor<=4&&this.$onInit()}CalendarCtrl.prototype.$onInit=function(){this._mode&&MODE_MAP.hasOwnProperty(this._mode)?(this.currentView=MODE_MAP[this._mode],this.mode=this._mode):(this.currentView=this._currentView||"month",this.mode=null),this.minDate&&this.minDate>this.$mdDateLocale.firstRenderableDate?this.firstRenderableDate=this.minDate:this.firstRenderableDate=this.$mdDateLocale.firstRenderableDate,this.maxDate&&this.maxDate<this.$mdDateLocale.lastRenderableDate?this.lastRenderableDate=this.maxDate:this.lastRenderableDate=this.$mdDateLocale.lastRenderableDate},CalendarCtrl.prototype.configureNgModel=function(ngModelCtrl,inputDirective){var self=this;self.ngModelCtrl=ngModelCtrl,this.$attrs.$set("type","date"),inputDirective[0].link.pre(this.$scope,{on:angular.noop,val:angular.noop,0:{}},this.$attrs,[ngModelCtrl]),ngModelCtrl.$render=function(){var convertedDate,value=this.$viewValue;self.dateUtil.isValidDate(value)||(convertedDate=self.dateUtil.removeLocalTzAndReparseDate(new Date(value)),self.dateUtil.isValidDate(convertedDate)&&(value=convertedDate)),self.$scope.$broadcast("md-calendar-parent-changed",value),self.selectedDate||(self.selectedDate=value),self.displayDate||(self.displayDate=self.selectedDate||self.today)},self.$mdUtil.nextTick(function(){self.isInitialized=!0})},CalendarCtrl.prototype.setNgModelValue=function(date){var timezone=this.$mdUtil.getModelOption(this.ngModelCtrl,"timezone"),value=this.dateUtil.createDateAtMidnight(date);return this.focusDate(value),this.$scope.$emit("md-calendar-change",value),null==timezone||value.getTimezoneOffset()<0?this.ngModelCtrl.$setViewValue(this.ngDateFilter(value,"yyyy-MM-dd"),"default"):this.ngModelCtrl.$setViewValue(this.ngDateFilter(value,"yyyy-MM-dd",timezone),"default"),this.ngModelCtrl.$render(),value},CalendarCtrl.prototype.setCurrentView=function(newView,time){var self=this;self.$mdUtil.nextTick(function(){self.currentView=newView,time&&(self.displayDate=angular.isDate(time)?time:new Date(time))})}
vendor: 4,778 bytes, line 1
1,CalendarCtrl.prototype.focusDate=function(date){if(this.dateUtil.isValidDate(date)){var previousFocus=this.$element[0].querySelector("."+this.FOCUSED_DATE_CLASS);previousFocus&&previousFocus.classList.remove(this.FOCUSED_DATE_CLASS);var cellId=this.getDateId(date,this.currentView),cell=document.getElementById(cellId);cell&&(cell.classList.add(this.FOCUSED_DATE_CLASS),cell.focus(),this.displayDate=date)}else{var rootElement=this.$element[0].querySelector("[ng-switch]");rootElement&&rootElement.focus()}},CalendarCtrl.prototype.changeSelectedDate=function(date){var selectedDateClass=this.SELECTED_DATE_CLASS,prevDateCell=this.$element[0].querySelector("."+selectedDateClass);if(prevDateCell&&(prevDateCell.classList.remove(selectedDateClass),prevDateCell.setAttribute("aria-selected","false")),date){var dateCell=document.getElementById(this.getDateId(date,this.currentView));dateCell&&(dateCell.classList.add(selectedDateClass),dateCell.setAttribute("aria-selected","true"))}this.selectedDate=date},CalendarCtrl.prototype.getActionFromKeyEvent=function(event){var keyCode=this.keyCode;switch(event.which){case keyCode.ENTER:return"select";case keyCode.RIGHT_ARROW:return"move-right";case keyCode.LEFT_ARROW:return"move-left";case keyCode.DOWN_ARROW:return event.metaKey?"move-page-down":"move-row-down";case keyCode.UP_ARROW:return event.metaKey?"move-page-up":"move-row-up";case keyCode.PAGE_DOWN:return"move-page-down";case keyCode.PAGE_UP:return"move-page-up";case keyCode.HOME:return"start";case keyCode.END:return"end";default:return null}},CalendarCtrl.prototype.handleKeyEvent=function(event){var self=this;this.$scope.$apply(function(){if(event.which===self.keyCode.ESCAPE||event.which===self.keyCode.TAB&&!self.standaloneMode)return self.$scope.$emit("md-calendar-close"),void(event.which===self.keyCode.TAB&&event.preventDefault());if(event.which!==self.keyCode.TAB||!self.standaloneMode){var action=self.getActionFromKeyEvent(event);action&&(event.preventDefault(),event.stopPropagation(),self.$scope.$broadcast("md-calendar-parent-action",action))}})},CalendarCtrl.prototype.hideVerticalScrollbar=function(childCtrl){var self=this,element=childCtrl.$element[0],scrollMask=element.querySelector(".md-calendar-scroll-mask");function setWidth(){var width=self.width||340,scrollbarWidth=self.scrollbarWidth,scroller=childCtrl.calendarScroller;scrollMask.style.width=width+"px",scroller.style.width=width+scrollbarWidth+"px",scroller.style.paddingRight=scrollbarWidth+"px"}0<self.width?setWidth():self.$$rAF(function(){var scroller=childCtrl.calendarScroller;self.scrollbarWidth=scroller.offsetWidth-scroller.clientWidth,self.width=element.querySelector("table").offsetWidth,setWidth()})},CalendarCtrl.prototype.getDateId=function(date,namespace){if(!namespace)throw new Error("A namespace for the date id has to be specified.");return["md",this.id,namespace,date.getFullYear(),date.getMonth(),date.getDate()].join("-")},CalendarCtrl.prototype.updateVirtualRepeat=function(){var scope=this.$scope,virtualRepeatResizeListener=scope.$on("$md-resize-enable",function(){scope.$$phase||scope.$apply(),virtualRepeatResizeListener()})}}(),function(){CalendarMonthCtrl.$inject=["$element","$scope","$animate","$q","$$mdDateUtil","$mdDateLocale"],angular.module("material.components.datepicker").directive("mdCalendarMonth",function(){return{template:'<table aria-hidden="true" class="md-calendar-day-header"><thead></thead></table><div class="md-calendar-scroll-mask"><md-virtual-repeat-container class="md-calendar-scroll-container" md-offset-size="'+(TBODY_SINGLE_ROW_HEIGHT-TBODY_HEIGHT)+'"><table role="grid" tabindex="0" class="md-calendar" aria-readonly="true"><tbody md-calendar-month-body role="rowgroup" md-virtual-repeat="i in monthCtrl.items" md-month-offset="$index" class="md-calendar-month" md-start-index="monthCtrl.getSelectedMonthIndex()" md-item-size="'+TBODY_HEIGHT+'"><tr aria-hidden="true" md-force-height="\''+TBODY_HEIGHT+"px'\"></tr></tbody></table></md-virtual-repeat-container></div>",require:["^^mdCalendar","mdCalendarMonth"],controller:CalendarMonthCtrl,controllerAs:"monthCtrl",bindToController:!0,link:function(scope,element,attrs,controllers){var calendarCtrl=controllers[0],monthCtrl=controllers[1];monthCtrl.initialize(calendarCtrl)}}});var TBODY_HEIGHT=265,TBODY_SINGLE_ROW_HEIGHT=45;function CalendarMonthCtrl($element,$scope,$animate,$q,$$mdDateUtil,$mdDateLocale){this.$element=$element,this.$scope=$scope,this.$animate=$animate,this.$q=$q,this.dateUtil=$$mdDateUtil,this.dateLocale=$mdDateLocale,this.calendarScroller=$element[0].querySelector(".md-virtual-repeat-scroller"),this.isInitialized=!1,this.isMonthTransitionInProgress=!1;var self=this;this.cellClickHandler=function(){var timestamp=$$mdDateUtil.getTimestampFromNode(this);
vendor: 4,533 bytes, line 1
1self.$scope.$apply(function(){self.calendarCtrl.setNgModelValue(new Date(timestamp))})},this.headerClickHandler=function(){self.calendarCtrl.setCurrentView("year",$$mdDateUtil.getTimestampFromNode(this))}}CalendarMonthCtrl.prototype.initialize=function(calendarCtrl){this.items={length:this.dateUtil.getMonthDistance(calendarCtrl.firstRenderableDate,calendarCtrl.lastRenderableDate)+2},this.calendarCtrl=calendarCtrl,this.attachScopeListeners(),calendarCtrl.updateVirtualRepeat(),calendarCtrl.ngModelCtrl&&calendarCtrl.ngModelCtrl.$render()},CalendarMonthCtrl.prototype.getSelectedMonthIndex=function(){var calendarCtrl=this.calendarCtrl;return this.dateUtil.getMonthDistance(calendarCtrl.firstRenderableDate,calendarCtrl.displayDate||calendarCtrl.selectedDate||calendarCtrl.today)},CalendarMonthCtrl.prototype.changeDisplayDate=function(date){if(!this.isInitialized)return this.buildWeekHeader(),this.calendarCtrl.hideVerticalScrollbar(this),this.isInitialized=!0,this.$q.when();if(!this.dateUtil.isValidDate(date)||this.isMonthTransitionInProgress)return this.$q.when();this.isMonthTransitionInProgress=!0;var animationPromise=this.animateDateChange(date);this.calendarCtrl.displayDate=date;var self=this;return animationPromise.then(function(){self.isMonthTransitionInProgress=!1}),animationPromise},CalendarMonthCtrl.prototype.animateDateChange=function(date){if(this.dateUtil.isValidDate(date)){var monthDistance=this.dateUtil.getMonthDistance(this.calendarCtrl.firstRenderableDate,date);this.calendarScroller.scrollTop=monthDistance*TBODY_HEIGHT}return this.$q.when()},CalendarMonthCtrl.prototype.buildWeekHeader=function(){for(var firstDayOfWeek=this.dateLocale.firstDayOfWeek,shortDays=this.dateLocale.shortDays,row=document.createElement("tr"),i=0;i<7;i++){var th=document.createElement("th");th.textContent=shortDays[(i+firstDayOfWeek)%7],row.appendChild(th)}this.$element.find("thead").append(row)},CalendarMonthCtrl.prototype.attachScopeListeners=function(){var self=this;self.$scope.$on("md-calendar-parent-changed",function(event,value){self.calendarCtrl.changeSelectedDate(value),self.changeDisplayDate(value)}),self.$scope.$on("md-calendar-parent-action",angular.bind(this,this.handleKeyEvent))},CalendarMonthCtrl.prototype.handleKeyEvent=function(event,action){var calendarCtrl=this.calendarCtrl,displayDate=calendarCtrl.displayDate;if("select"===action)calendarCtrl.setNgModelValue(displayDate);else{var date=null,dateUtil=this.dateUtil;switch(action){case"move-right":date=dateUtil.incrementDays(displayDate,1);break;case"move-left":date=dateUtil.incrementDays(displayDate,-1);break;case"move-page-down":date=dateUtil.incrementMonths(displayDate,1);break;case"move-page-up":date=dateUtil.incrementMonths(displayDate,-1);break;case"move-row-down":date=dateUtil.incrementDays(displayDate,7);break;case"move-row-up":date=dateUtil.incrementDays(displayDate,-7);break;case"start":date=dateUtil.getFirstDateOfMonth(displayDate);break;case"end":date=dateUtil.getLastDateOfMonth(displayDate)}date&&(date=this.dateUtil.clampDate(date,calendarCtrl.minDate,calendarCtrl.maxDate),this.changeDisplayDate(date).then(function(){calendarCtrl.focusDate(date)}))}}}(),function(){function mdCalendarMonthBodyDirective($compile,$$mdSvgRegistry){var ARROW_ICON=$compile('<md-icon md-svg-src="'+$$mdSvgRegistry.mdTabsArrow+'"></md-icon>')({})[0];return{require:["^^mdCalendar","^^mdCalendarMonth","mdCalendarMonthBody"],scope:{offset:"=mdMonthOffset"},controller:CalendarMonthBodyCtrl,controllerAs:"mdMonthBodyCtrl",bindToController:!0,link:function(scope,element,attrs,controllers){var calendarCtrl=controllers[0],monthCtrl=controllers[1],monthBodyCtrl=controllers[2];monthBodyCtrl.calendarCtrl=calendarCtrl,monthBodyCtrl.monthCtrl=monthCtrl,monthBodyCtrl.arrowIcon=ARROW_ICON.cloneNode(!0),scope.$watch(function(){return monthBodyCtrl.offset},function(offset){angular.isNumber(offset)&&monthBodyCtrl.generateContent()})}}}function CalendarMonthBodyCtrl($element,$$mdDateUtil,$mdDateLocale){this.$element=$element,this.dateUtil=$$mdDateUtil,this.dateLocale=$mdDateLocale,this.monthCtrl=null,this.calendarCtrl=null,this.offset=null,this.focusAfterAppend=null}mdCalendarMonthBodyDirective.$inject=["$compile","$$mdSvgRegistry"],CalendarMonthBodyCtrl.$inject=["$element","$$mdDateUtil","$mdDateLocale"],angular.module("material.components.datepicker").directive("mdCalendarMonthBody",mdCalendarMonthBodyDirective),CalendarMonthBodyCtrl.prototype.generateContent=function(){var date=this.dateUtil.incrementMonths(this.calendarCtrl.firstRen
vendor: 8,640 bytes, line 1
1derableDate,this.offset);this.$element.empty().append(this.buildCalendarForMonth(date)),this.focusAfterAppend&&(this.focusAfterAppend.classList.add(this.calendarCtrl.FOCUSED_DATE_CLASS),this.focusAfterAppend=null)},CalendarMonthBodyCtrl.prototype.buildDateCell=function(opt_date){var monthCtrl=this.monthCtrl,calendarCtrl=this.calendarCtrl,cell=document.createElement("td");if(cell.tabIndex=-1,cell.classList.add("md-calendar-date"),cell.setAttribute("role","gridcell"),opt_date){cell.setAttribute("tabindex","-1"),cell.setAttribute("aria-label",this.dateLocale.longDateFormatter(opt_date)),cell.id=calendarCtrl.getDateId(opt_date,"month"),cell.setAttribute("data-timestamp",opt_date.getTime()),this.dateUtil.isSameDay(opt_date,calendarCtrl.today)&&cell.classList.add(calendarCtrl.TODAY_CLASS),this.dateUtil.isValidDate(calendarCtrl.selectedDate)&&this.dateUtil.isSameDay(opt_date,calendarCtrl.selectedDate)&&(cell.classList.add(calendarCtrl.SELECTED_DATE_CLASS),cell.setAttribute("aria-selected","true"));var cellText=this.dateLocale.dates[opt_date.getDate()];if(this.isDateEnabled(opt_date)){var selectionIndicator=document.createElement("span");selectionIndicator.classList.add("md-calendar-date-selection-indicator"),selectionIndicator.textContent=cellText,cell.appendChild(selectionIndicator),cell.addEventListener("click",monthCtrl.cellClickHandler),calendarCtrl.displayDate&&this.dateUtil.isSameDay(opt_date,calendarCtrl.displayDate)&&(this.focusAfterAppend=cell)}else cell.classList.add("md-calendar-date-disabled"),cell.textContent=cellText}return cell},CalendarMonthBodyCtrl.prototype.isDateEnabled=function(opt_date){return this.dateUtil.isDateWithinRange(opt_date,this.calendarCtrl.minDate,this.calendarCtrl.maxDate)&&(!angular.isFunction(this.calendarCtrl.dateFilter)||this.calendarCtrl.dateFilter(opt_date))},CalendarMonthBodyCtrl.prototype.buildDateRow=function(rowNumber){var row=document.createElement("tr");return row.setAttribute("role","row"),row.setAttribute("aria-label",this.dateLocale.weekNumberFormatter(rowNumber)),row},CalendarMonthBodyCtrl.prototype.buildCalendarForMonth=function(opt_dateInMonth){var date=this.dateUtil.isValidDate(opt_dateInMonth)?opt_dateInMonth:new Date,firstDayOfMonth=this.dateUtil.getFirstDateOfMonth(date),firstDayOfTheWeek=this.getLocaleDay_(firstDayOfMonth),numberOfDaysInMonth=this.dateUtil.getNumberOfDaysInMonth(date),monthBody=document.createDocumentFragment(),rowNumber=1,row=this.buildDateRow(rowNumber);monthBody.appendChild(row);var isFinalMonth=this.offset===this.monthCtrl.items.length-1,blankCellOffset=0,monthLabelCell=document.createElement("td"),monthLabelCellContent=document.createElement("span"),calendarCtrl=this.calendarCtrl;if(monthLabelCellContent.textContent=this.dateLocale.monthHeaderFormatter(date),monthLabelCell.appendChild(monthLabelCellContent),monthLabelCell.classList.add("md-calendar-month-label"),calendarCtrl.maxDate&&firstDayOfMonth>calendarCtrl.maxDate?monthLabelCell.classList.add("md-calendar-month-label-disabled"):calendarCtrl.mode||(monthLabelCell.addEventListener("click",this.monthCtrl.headerClickHandler),monthLabelCell.setAttribute("data-timestamp",firstDayOfMonth.getTime()),monthLabelCell.setAttribute("aria-label",this.dateLocale.monthFormatter(date)),monthLabelCell.classList.add("md-calendar-label-clickable"),monthLabelCell.appendChild(this.arrowIcon.cloneNode(!0))),firstDayOfTheWeek<=2){monthLabelCell.setAttribute("colspan","7");var monthLabelRow=this.buildDateRow();if(monthLabelRow.appendChild(monthLabelCell),monthBody.insertBefore(monthLabelRow,row),isFinalMonth)return monthBody}else blankCellOffset=3,monthLabelCell.setAttribute("colspan","3"),row.appendChild(monthLabelCell);for(var i=blankCellOffset;i<firstDayOfTheWeek;i++)row.appendChild(this.buildDateCell());for(var dayOfWeek=firstDayOfTheWeek,iterationDate=firstDayOfMonth,d=1;d<=numberOfDaysInMonth;d++){if(7===dayOfWeek){if(isFinalMonth)return monthBody;dayOfWeek=0,rowNumber++,row=this.buildDateRow(rowNumber),monthBody.appendChild(row)}iterationDate.setDate(d);var cell=this.buildDateCell(iterationDate);row.appendChild(cell),dayOfWeek++}for(;row.childNodes.length<7;)row.appendChild(this.buildDateCell());for(;monthBody.childNodes.length<6;){for(var whitespaceRow=this.buildDateRow(),j=0;j<7;j++)whitespaceRow.appendChild(this.buildDateCell());monthBody.appendChild(whitespaceRow)}return monthBody},CalendarMonthBodyCtrl.prototype.getLocaleDay_=function(date){return(date.getDay()+(7-this.dateLocale.firstDayOfWeek))%7}}(),function(){CalendarYearCtrl.$inject=["$element","$scope","$animate","$q","$$mdDateUtil","$mdUtil"],angular.module("material.components.datepicker").directive("mdCalendarYear",function(){return{template:'<div class="md-calendar-scroll-mask"><md-virtual-repeat-container class="md-calendar-scroll-container"><table role="grid" tabindex="0" class="md-calendar" aria-readonly="true"><tbody md-calendar-year-body role="rowgroup" md-virtual-repeat="i in yearCtrl.items" md-year-offset="$index" class="md-calendar-year" md-start-index="yearCtrl.getFocusedYearIndex()" md-item-size="'+TBODY_HEIGHT+'"><tr aria-hidden="true" md-force-height="\''+TBODY_HEIGHT+"px'\"></tr></tbody></table></md-virtual-repeat-container></div>",require:["^^mdCalendar","mdCalendarYear"],controller:CalendarYearCtrl,controllerAs:"yearCtrl",bindToController:!0,link:function(scope,element,attrs,controllers){var calendarCtrl=controllers[0],yearCtrl=controllers[1];yearCtrl.initialize(calendarCtrl)}}});var TBODY_HEIGHT=88;function CalendarYearCtrl($element,$scope,$animate,$q,$$mdDateUtil,$mdUtil){this.$element=$element,this.$scope=$scope,this.$animate=$animate,this.$q=$q,this.dateUtil=$$mdDateUtil,this.calendarScroller=$element[0].querySelector(".md-virtual-repeat-scroller"),this.isInitialized=!1,this.isMonthTransitionInProgress=!1,this.$mdUtil=$mdUtil;var self=this;this.cellClickHandler=function(){self.onTimestampSelected($$mdDateUtil.getTimestampFromNode(this))}}CalendarYearCtrl.prototype.initialize=function(calendarCtrl){this.items={length:this.dateUtil.getYearDistance(calendarCtrl.firstRenderableDate,calendarCtrl.lastRenderableDate)+1},this.calendarCtrl=calendarCtrl,this.attachScopeListeners(),calendarCtrl.updateVirtualRepeat(),calendarCtrl.ngModelCtrl&&calendarCtrl.ngModelCtrl.$render()},CalendarYearCtrl.prototype.getFocusedYearIndex=function(){var calendarCtrl=this.calendarCtrl;return this.dateUtil.getYearDistance(calendarCtrl.firstRenderableDate,calendarCtrl.displayDate||calendarCtrl.selectedDate||calendarCtrl.today)},CalendarYearCtrl.prototype.changeDate=function(date){if(!this.isInitialized)return this.calendarCtrl.hideVerticalScrollbar(this),this.isInitialized=!0,this.$q.when();if(this.dateUtil.isValidDate(date)&&!this.isMonthTransitionInProgress){var self=this,animationPromise=this.animateDateChange(date);return self.isMonthTransitionInProgress=!0,self.calendarCtrl.displayDate=date,animationPromise.then(function(){self.isMonthTransitionInProgress=!1})}},CalendarYearCtrl.prototype.animateDateChange=function(date){if(this.dateUtil.isValidDate(date)){var monthDistance=this.dateUtil.getYearDistance(this.calendarCtrl.firstRenderableDate,date);this.calendarScroller.scrollTop=monthDistance*TBODY_HEIGHT}return this.$q.when()},CalendarYearCtrl.prototype.handleKeyEvent=function(event,action){var self=this,calendarCtrl=self.calendarCtrl,displayDate=calendarCtrl.displayDate;if("select"===action)self.changeDate(displayDate).then(function(){self.onTimestampSelected(displayDate)});else{var date=null,dateUtil=self.dateUtil;switch(action){case"move-right":date=dateUtil.incrementMonths(displayDate,1);break;case"move-left":date=dateUtil.incrementMonths(displayDate,-1);break;case"move-row-down":date=dateUtil.incrementMonths(displayDate,6);break;case"move-row-up":date=dateUtil.incrementMonths(displayDate,-6)}if(date){var min=calendarCtrl.minDate?dateUtil.getFirstDateOfMonth(calendarCtrl.minDate):null,max=calendarCtrl.maxDate?dateUtil.getFirstDateOfMonth(calendarCtrl.maxDate):null;date=dateUtil.getFirstDateOfMonth(self.dateUtil.clampDate(date,min,max)),self.changeDate(date).then(function(){calendarCtrl.focusDate(date)})}}},CalendarYearCtrl.prototype.attachScopeListeners=function(){var self=this;self.$scope.$on("md-calendar-parent-changed",function(event,value){self.calendarCtrl.changeSelectedDate(value?self.dateUtil.getFirstDateOfMonth(value):value),self.changeDate(value)}),self.$scope.$on("md-calendar-parent-action",angular.bind(self,self.handleKeyEvent))},CalendarYearCtrl.prototype.onTimestampSelected=function(timestamp){var calendarCtrl=this.calendarCtrl;calendarCtrl.mode?this.$mdUtil.nextTick(function(){calendarCtrl.
vendor: 5,264 bytes, line 1
1setNgModelValue(new Date(timestamp))}):calendarCtrl.setCurrentView("month",timestamp)}}(),function(){function CalendarYearBodyCtrl($element,$$mdDateUtil,$mdDateLocale){this.$element=$element,this.dateUtil=$$mdDateUtil,this.dateLocale=$mdDateLocale,this.calendarCtrl=null,this.yearCtrl=null,this.offset=null,this.focusAfterAppend=null}CalendarYearBodyCtrl.$inject=["$element","$$mdDateUtil","$mdDateLocale"],angular.module("material.components.datepicker").directive("mdCalendarYearBody",function(){return{require:["^^mdCalendar","^^mdCalendarYear","mdCalendarYearBody"],scope:{offset:"=mdYearOffset"},controller:CalendarYearBodyCtrl,controllerAs:"mdYearBodyCtrl",bindToController:!0,link:function(scope,element,attrs,controllers){var calendarCtrl=controllers[0],yearCtrl=controllers[1],yearBodyCtrl=controllers[2];yearBodyCtrl.calendarCtrl=calendarCtrl,yearBodyCtrl.yearCtrl=yearCtrl,scope.$watch(function(){return yearBodyCtrl.offset},function(offset){angular.isNumber(offset)&&yearBodyCtrl.generateContent()})}}}),CalendarYearBodyCtrl.prototype.generateContent=function(){var date=this.dateUtil.incrementYears(this.calendarCtrl.firstRenderableDate,this.offset);this.$element.empty().append(this.buildCalendarForYear(date)),this.focusAfterAppend&&(this.focusAfterAppend.classList.add(this.calendarCtrl.FOCUSED_DATE_CLASS),this.focusAfterAppend=null)},CalendarYearBodyCtrl.prototype.buildMonthCell=function(year,month){var calendarCtrl=this.calendarCtrl,yearCtrl=this.yearCtrl,cell=this.buildBlankCell(),firstOfMonth=new Date(year,month,1);cell.setAttribute("aria-label",this.dateLocale.monthFormatter(firstOfMonth)),cell.id=calendarCtrl.getDateId(firstOfMonth,"year"),cell.setAttribute("data-timestamp",String(firstOfMonth.getTime())),this.dateUtil.isSameMonthAndYear(firstOfMonth,calendarCtrl.today)&&cell.classList.add(calendarCtrl.TODAY_CLASS),this.dateUtil.isValidDate(calendarCtrl.selectedDate)&&this.dateUtil.isSameMonthAndYear(firstOfMonth,calendarCtrl.selectedDate)&&(cell.classList.add(calendarCtrl.SELECTED_DATE_CLASS),cell.setAttribute("aria-selected","true"));var cellText=this.dateLocale.shortMonths[month];if(!this.dateUtil.isMonthWithinRange(firstOfMonth,calendarCtrl.minDate,calendarCtrl.maxDate)||angular.isFunction(calendarCtrl.monthFilter)&&!calendarCtrl.monthFilter(firstOfMonth))cell.classList.add("md-calendar-date-disabled"),cell.textContent=cellText;else{var selectionIndicator=document.createElement("span");selectionIndicator.classList.add("md-calendar-date-selection-indicator"),selectionIndicator.textContent=cellText,cell.appendChild(selectionIndicator),cell.addEventListener("click",yearCtrl.cellClickHandler),calendarCtrl.displayDate&&this.dateUtil.isSameMonthAndYear(firstOfMonth,calendarCtrl.displayDate)&&(this.focusAfterAppend=cell)}return cell},CalendarYearBodyCtrl.prototype.buildBlankCell=function(){var cell=document.createElement("td");return cell.tabIndex=-1,cell.classList.add("md-calendar-date"),cell.setAttribute("role","gridcell"),cell.setAttribute("tabindex","-1"),cell},CalendarYearBodyCtrl.prototype.buildCalendarForYear=function(date){var i,year=date.getFullYear(),yearBody=document.createDocumentFragment(),firstRow=document.createElement("tr"),labelCell=document.createElement("td");for(labelCell.className="md-calendar-month-label",labelCell.textContent=String(year),firstRow.appendChild(labelCell),i=0;i<6;i++)firstRow.appendChild(this.buildMonthCell(year,i));yearBody.appendChild(firstRow);var secondRow=document.createElement("tr");for(secondRow.appendChild(this.buildBlankCell()),i=6;i<12;i++)secondRow.appendChild(this.buildMonthCell(year,i));return yearBody.appendChild(secondRow),yearBody}}(),angular.module("material.components.datepicker").config(["$provide",function($provide){function DateLocaleProvider(){this.months=null,this.shortMonths=null,this.days=null,this.shortDays=null,this.dates=null,this.firstDayOfWeek=0,this.formatDate=null,this.parseDate=null,this.monthHeaderFormatter=null,this.weekNumberFormatter=null,this.longDateFormatter=null,this.isDateComplete=null,this.msgCalendar="",this.msgOpenCalendar=""}(DateLocaleProvider.prototype.$get=function($locale,$filter){for(var defaultShortDays=$locale.DATETIME_FORMATS.SHORTDAY.map(function(day){return day.substring(0,1)}),defaultDates=Array(32),i=1;i<=31;i++)defaultDates[i]=i;var defaultFirstRenderableDate=new Date(1880,0,1),defaultLastRendereableDate=new Date(defaultFirstRenderableDate.getFullYear()+250,0,1),service={months:this.months||$locale.DATETIME_FORMATS.MONTH,shortMonths:this.shortMonths||$locale.DATETIME_FORMATS.SHORTMONTH,days:this.days||$locale.DATETIME_FORMATS.DAY,shortDays:this.shortDays||defaultShortDays,dates:this.dates||defaultDates,firstDayOfWeek:this.firstDayOfWeek||0,formatDate:this.formatDate||function(date,timezone){if(!date)return"";var localeTime=date.toLocaleTimeString(),formatDate=date;return 0!==date.getHours()||-1===localeTime.indexOf("11:")&&-1===localeTime.indexOf("23:")||(formatDate=new Date(date.getFullYear(),date.getMonth(),date.getDate(),1,0,0)),$filter("date")(formatDate,"M/d/yyyy",timezone)},parseDate:this.parseDate||function(dateString){return new Date(dateString)},isDateComplete:this.isDateComplete||function(dateString){return dateString=dateString.trim(),/^(([a-zA-Z]{3,}|[0-9]{1,4}
vendor: 6,608 bytes, line 1
1)([ .,]+|[/-])){2}([a-zA-Z]{3,}|[0-9]{1,4})$/.test(dateString)},monthHeaderFormatter:this.monthHeaderFormatter||function(date){return service.shortMonths[date.getMonth()]+" "+date.getFullYear()},monthFormatter:this.monthFormatter||function(date){return service.months[date.getMonth()]+" "+date.getFullYear()},weekNumberFormatter:this.weekNumberFormatter||function(number){return"Week "+number},longDateFormatter:this.longDateFormatter||function(date){return[service.days[date.getDay()],service.months[date.getMonth()],service.dates[date.getDate()],date.getFullYear()].join(" ")},msgCalendar:this.msgCalendar||"Calendar",msgOpenCalendar:this.msgOpenCalendar||"Open calendar",firstRenderableDate:this.firstRenderableDate||defaultFirstRenderableDate,lastRenderableDate:this.lastRenderableDate||defaultLastRendereableDate};return service}).$inject=["$locale","$filter"],$provide.provider("$mdDateLocale",new DateLocaleProvider)}]),angular.module("material.components.datepicker").factory("$$mdDateUtil",["$mdDateLocale",function($mdDateLocale){return{getFirstDateOfMonth:getFirstDateOfMonth,getNumberOfDaysInMonth:getNumberOfDaysInMonth,getDateInNextMonth:getDateInNextMonth,getDateInPreviousMonth:getDateInPreviousMonth,isInNextMonth:function(startDate,endDate){return isSameMonthAndYear(getDateInNextMonth(startDate),endDate)},isInPreviousMonth:function(startDate,endDate){var previousMonth=getDateInPreviousMonth(startDate);return isSameMonthAndYear(endDate,previousMonth)},getDateMidpoint:function(d1,d2){return createDateAtMidnight((d1.getTime()+d2.getTime())/2)},isSameMonthAndYear:isSameMonthAndYear,getWeekOfMonth:function(date){var firstDayOfMonth=getFirstDateOfMonth(date);return Math.floor((firstDayOfMonth.getDay()+date.getDate()-1)/7)},incrementDays:function(date,numberOfDays){return new Date(date.getFullYear(),date.getMonth(),date.getDate()+numberOfDays)},incrementMonths:incrementMonths,getLastDateOfMonth:function(date){return new Date(date.getFullYear(),date.getMonth(),getNumberOfDaysInMonth(date))},isSameDay:function(d1,d2){return d1.getDate()==d2.getDate()&&isSameMonthAndYear(d1,d2)},getMonthDistance:function(start,end){return 12*(end.getFullYear()-start.getFullYear())+(end.getMonth()-start.getMonth())},isValidDate:isValidDate,setDateTimeToMidnight:setDateTimeToMidnight,createDateAtMidnight:createDateAtMidnight,isDateWithinRange:function(date,minDate,maxDate){var dateAtMidnight=createDateAtMidnight(date),minDateAtMidnight=isValidDate(minDate)?createDateAtMidnight(minDate):null,maxDateAtMidnight=isValidDate(maxDate)?createDateAtMidnight(maxDate):null;return(!minDateAtMidnight||minDateAtMidnight<=dateAtMidnight)&&(!maxDateAtMidnight||dateAtMidnight<=maxDateAtMidnight)},incrementYears:function(date,numberOfYears){return incrementMonths(date,12*numberOfYears)},getYearDistance:function(start,end){return end.getFullYear()-start.getFullYear()},clampDate:function(date,minDate,maxDate){var boundDate=date;return minDate&&date<minDate&&(boundDate=new Date(minDate.getTime())),maxDate&&maxDate<date&&(boundDate=new Date(maxDate.getTime())),boundDate},getTimestampFromNode:function(node){if(node&&node.hasAttribute("data-timestamp"))return Number(node.getAttribute("data-timestamp"))},isMonthWithinRange:function(date,minDate,maxDate){var month=date.getMonth(),year=date.getFullYear();return(!minDate||minDate.getFullYear()<year||minDate.getMonth()<=month)&&(!maxDate||maxDate.getFullYear()>year||maxDate.getMonth()>=month)},removeLocalTzAndReparseDate:function(value){var dateValue,formattedDate;return dateValue=new Date(value.getTime()+6e4*value.getTimezoneOffset()),formattedDate=$mdDateLocale.formatDate(dateValue),$mdDateLocale.parseDate(formattedDate)}};function getFirstDateOfMonth(date){return new Date(date.getFullYear(),date.getMonth(),1)}function getNumberOfDaysInMonth(date){return new Date(date.getFullYear(),date.getMonth()+1,0).getDate()}function getDateInNextMonth(date){return new Date(date.getFullYear(),date.getMonth()+1,1)}function getDateInPreviousMonth(date){return new Date(date.getFullYear(),date.getMonth()-1,1)}function isSameMonthAndYear(d1,d2){return d1.getFullYear()===d2.getFullYear()&&d1.getMonth()===d2.getMonth()}function incrementMonths(date,numberOfMonths){var dateInTargetMonth=new Date(date.getFullYear(),date.getMonth()+numberOfMonths,1),numberOfDaysInMonth=getNumberOfDaysInMonth(dateInTargetMonth);return numberOfDaysInMonth<date.getDate()?dateInTargetMonth.setDate(numberOfDaysInMonth):dateInTargetMonth.setDate(date.getDate()),dateInTargetMonth}function isValidDate(date){return date&&date.getTime&&!isNaN(date.getTime())}function setDateTimeToMidnight(date){isValidDate(date)&&date.setHours(0,0,0,0)}function createDateAtMidnight(opt_value){var date;return setDateTimeToMidnight(date=angular.isDate(opt_value)?opt_value:angular.isNumber(opt_value)?new Date(opt_value):new Date),date}}]),function(){function datePickerDirective($$mdSvgRegistry,$mdUtil,$mdAria,inputDirective){return{template:function(tElement,tAttrs){var hiddenIcons=tAttrs.mdHideIcons,inputAriaDescribedby=tAttrs.inputAriaDescribedby,inputAriaLabelledby=tAttrs.inputAriaLabelledby,ariaLabelValue=tAttrs.ariaLabel||tAttrs.mdPlaceholder,ngModelOptions=tAttrs.ngModelOptions,calendarButton="all"===hiddenIcons||"calendar"===hiddenIcons?"":'<md-button class="md-datepicker-button md-icon-button" type="button" tabindex="-1" aria-hidden="true" ng-click="ctrl.openCalendarPane($event)"><md-icon class="md-datepicker-calendar-icon" aria-label="md-calendar" md-svg-src="'+$$mdSvgRegistry.mdCalendar+'"></md-icon></md-button>',triangleButton="";return"all"!==hiddenIcons&&"triangle"!==hiddenIcons&&(triangleButton='<md-button type="button" md-no-ink class="md-datepicker-triangle-button md-icon-button" ng-click="ctrl.openCalendarPane($event)" aria-label="{{::ctrl.locale.msgOpenCalendar}}"><div class="md-datepicker-expand-triangle"></div></md-button>',tElement.addClass(HAS_TRIANGLE_ICON_CLASS)),calendarButton+'<div class="md-datepicker-input-container" ng-class="{\'md-datepicker-focused\': ctrl.isFocused}"><input '+(ariaLabelValue?'aria-label="'+ariaLabelValue+'" ':"")+(inputAriaDescribedby?'aria-describedby="'+inputAriaDescribedby+'" ':"")+(inputAriaLabelledby?'aria-labelledby="'+inputAriaLabelledby+'" ':"")+'class="md-datepicker-input" aria-haspopup="dialog" ng-focus="ctrl.setFocused(true)" ng-blur="ctrl.setFocused(false)"> '+triangleButton+'</div><div class="md-datepicker-calendar-pane md-whiteframe-z1" id="{{::ctrl.calendarPaneId}}"><div class="md-datepicker-input-mask"><div class="md-datepicker-input-mask-opaque"></div></div><div class="md-datepicker-calendar">
vendor: 6,706 bytes, line 1
1<md-calendar role="dialog" aria-label="{{::ctrl.locale.msgCalendar}}" md-current-view="{{::ctrl.currentView}}" md-mode="{{::ctrl.mode}}" md-min-date="ctrl.minDate" md-max-date="ctrl.maxDate" md-date-filter="ctrl.dateFilter" md-month-filter="ctrl.monthFilter" '+(ngModelOptions?'ng-model-options="'+ngModelOptions+'" ':"")+'ng-model="ctrl.date" ng-if="ctrl.isCalendarOpen"></md-calendar></div></div>'},require:["ngModel","mdDatepicker","?^mdInputContainer","?^form"],scope:{minDate:"=mdMinDate",maxDate:"=mdMaxDate",placeholder:"@mdPlaceholder",currentView:"@mdCurrentView",mode:"@mdMode",dateFilter:"=mdDateFilter",monthFilter:"=mdMonthFilter",isOpen:"=?mdIsOpen",debounceInterval:"=mdDebounceInterval",dateLocale:"=mdDateLocale"},controller:DatePickerCtrl,controllerAs:"ctrl",bindToController:!0,link:function(scope,element,attr,controllers){var ngModelCtrl=controllers[0],mdDatePickerCtrl=controllers[1],mdInputContainer=controllers[2],parentForm=controllers[3],mdNoAsterisk=$mdUtil.parseAttributeBoolean(attr.mdNoAsterisk);if(mdDatePickerCtrl.configureNgModel(ngModelCtrl,mdInputContainer,inputDirective),mdInputContainer){var spacer=element[0].querySelector(".md-errors-spacer");spacer&&element.after(angular.element("<div>").append(spacer)),mdInputContainer.setHasPlaceholder(attr.mdPlaceholder),mdInputContainer.input=element,mdInputContainer.element.addClass(INPUT_CONTAINER_CLASS).toggleClass(HAS_CALENDAR_ICON_CLASS,"calendar"!==attr.mdHideIcons&&"all"!==attr.mdHideIcons),mdInputContainer.label?mdNoAsterisk||attr.$observe("required",function(value){mdInputContainer.label.toggleClass("md-required",!!value)}):$mdAria.expect(element,"aria-label",attr.mdPlaceholder),scope.$watch(mdInputContainer.isErrorGetter||function(){return ngModelCtrl.$invalid&&(ngModelCtrl.$touched||parentForm&&parentForm.$submitted)},mdInputContainer.setInvalid)}else if(parentForm)var parentSubmittedWatcher=scope.$watch(function(){return parentForm.$submitted},function(isSubmitted){isSubmitted&&(mdDatePickerCtrl.updateErrorState(),parentSubmittedWatcher())})}}}DatePickerCtrl.$inject=["$scope","$element","$attrs","$window","$mdConstant","$mdTheming","$mdUtil","$mdDateLocale","$$mdDateUtil","$$rAF","$filter","$timeout"],datePickerDirective.$inject=["$$mdSvgRegistry","$mdUtil","$mdAria","inputDirective"],angular.module("material.components.datepicker").directive("mdDatepicker",datePickerDirective);var OPEN_CLASS="md-datepicker-open",INPUT_CONTAINER_CLASS="_md-datepicker-floating-label",HAS_CALENDAR_ICON_CLASS="_md-datepicker-has-calendar-icon",HAS_TRIANGLE_ICON_CLASS="_md-datepicker-has-triangle-icon",IS_MOBILE_REGEX=/ipad|iphone|ipod|android/i;function DatePickerCtrl($scope,$element,$attrs,$window,$mdConstant,$mdTheming,$mdUtil,$mdDateLocale,$$mdDateUtil,$$rAF,$filter,$timeout){this.$window=$window,this.dateUtil=$$mdDateUtil,this.$mdConstant=$mdConstant,this.$mdUtil=$mdUtil,this.$$rAF=$$rAF,this.$mdDateLocale=$mdDateLocale,this.$timeout=$timeout,this.documentElement=angular.element(document.documentElement),this.ngModelCtrl=null,this.inputElement=$element[0].querySelector("input"),this.ngInputElement=angular.element(this.inputElement),this.inputContainer=$element[0].querySelector(".md-datepicker-input-container"),this.calendarPane=$element[0].querySelector(".md-datepicker-calendar-pane"),this.calendarButton=$element[0].querySelector(".md-datepicker-button"),this.inputMask=angular.element($element[0].querySelector(".md-datepicker-input-mask-opaque")),this.$element=$element,this.$attrs=$attrs,this.$scope=$scope,this.date=null,this.isFocused=!1,this.isDisabled=void 0,this.setDisabled($element[0].disabled||angular.isString($attrs.disabled)),this.isCalendarOpen=!1,this.openOnFocus=$attrs.hasOwnProperty("mdOpenOnFocus"),this.mdInputContainer=null,this.calendarPaneOpenedFrom=null,this.calendarPaneId="md-date-pane-"+$mdUtil.nextUid(),this.bodyClickHandler=angular.bind(this,this.handleBodyClick),this.windowEventName=IS_MOBILE_REGEX.test(navigator.userAgent||navigator.vendor||window.opera)?"orientationchange":"resize",this.windowEventHandler=$mdUtil.debounce(angular.bind(this,this.closeCalendarPane),100),this.windowBlurHandler=angular.bind(this,this.handleWindowBlur),this.ngDateFilter=$filter("date"),this.leftMargin=20,this.topMargin=null,$attrs.tabindex?(this.ngInputElement.attr("tabindex",$attrs.tabindex),$attrs.$set("tabindex",null)):$attrs.$set("tabindex","-1"),$attrs.$set("aria-owns",this.calendarPaneId),$mdTheming($element),$mdTheming(angular.element(this.calendarPane));var self=this;$scope.$on("$destroy",function(){self.detachCalendarPane()}),$attrs.mdIsOpen&&$scope.$watch("ctrl.isOpen",function(shouldBeOpen){shouldBeOpen?self.openCalendarPane({target:self.inputElement}):self.closeCalendarPane()}),1===angular.version.major&&angular.version.minor<=4&&this.$onInit()}DatePickerCtrl.prototype.$onInit=function(){this.locale=this.dateLocale?angular.extend({},this.$mdDateLocale,this.dateLocale):this.$mdDateLocale,this.installPropertyInterceptors(),this.attachChangeListeners(),this.attachInteractionListeners()},DatePickerCtrl.prototype.configureNgModel=function(ngModelCtrl,mdInputContainer,inputDirective){this.ngModelCtrl=ngModelCtrl,this.mdInputContainer=mdInputContainer,this.$attrs.$set("type","date"),inputDirective[0].link.pre(this.$scope,{on:angular.noop,val:angular.noop,0:{}},this.$attrs,[ngModelCtrl]);var self=this;self.ngModelCtrl.$formatters.push(function(value){var parsedValue=angular.isDefined(value)?value:null;if(!(value instanceof Date)&&(parsedValue=Date.parse(value),!isNaN(parsedValue)&&angular.isNumber(parsedValue)&&(value=new Date(parsedValue)),value&&!(value instanceof Date)))throw Error("The ng-model for md-datepicker must be a Date instance or a value that can be parsed into a date. Currently the model is of type: "+typeof value);return self.onExternalChange(value),value}),ngModelCtrl.$viewChangeListeners.unshift(angular.bind(this,this.updateErrorState));var updateOn=self.$mdUtil.getModelOption(ngModelCtrl,"updateOn");updateOn&&this.ngInputElement.on(updateOn,angular.bind(this.$element,this.$element.triggerHandler,updateOn))},DatePickerCtrl.prototype.attachChangeListeners=function(){var self=this;self.$scope.$on("md-calendar-change",function(event,date){self.setModelValue(date),self.onExternalChange(date),self.closeCalendarPane()}),self.ngInputElement.on("input",angular.bind(self,self.resizeInputElement));var debounceInterval=angular.isDefined(this.debounceInterval)?this.debounceInterval:500;self.ngInputElement.on("input",self.$mdUtil.debounce(self.handleInputEvent,debounceInterval,self))},DatePickerCtrl.prototype.attachInteractionListeners=function(){var self=this,$scope=this.$scope,keyCodes=this.$mdConstant.KEY_CODE;
vendor: 10,814 bytes, line 1
1self.ngInputElement.on("keydown",function(event){event.altKey&&event.keyCode===keyCodes.DOWN_ARROW&&(self.openCalendarPane(event),$scope.$digest())}),self.openOnFocus&&(self.ngInputElement.on("focus",angular.bind(self,self.openCalendarPane)),self.ngInputElement.on("click",function(event){event.stopPropagation()}),self.ngInputElement.on("pointerdown",function(event){event.target&&event.target.setPointerCapture&&event.target.setPointerCapture(event.pointerId)}),angular.element(self.$window).on("blur",self.windowBlurHandler),$scope.$on("$destroy",function(){angular.element(self.$window).off("blur",self.windowBlurHandler)})),$scope.$on("md-calendar-close",function(){self.closeCalendarPane()})},DatePickerCtrl.prototype.installPropertyInterceptors=function(){var self=this;if(this.$attrs.ngDisabled){var scope=this.$scope.$parent;scope&&scope.$watch(this.$attrs.ngDisabled,function(isDisabled){self.setDisabled(isDisabled)})}Object.defineProperty(this,"placeholder",{get:function(){return self.inputElement.placeholder},set:function(value){self.inputElement.placeholder=value||""}})},DatePickerCtrl.prototype.setDisabled=function(isDisabled){this.isDisabled=isDisabled,this.inputElement.disabled=isDisabled,this.calendarButton&&(this.calendarButton.disabled=isDisabled)},DatePickerCtrl.prototype.updateErrorState=function(opt_date){var date;if(date=opt_date?new Date(opt_date.valueOf()):angular.isString(this.ngModelCtrl.$modelValue)?new Date(this.ngModelCtrl.$modelValue):angular.copy(this.ngModelCtrl.$modelValue),this.clearErrorState(),this.dateUtil.isValidDate(date)){if(date=this.dateUtil.createDateAtMidnight(date),this.dateUtil.isValidDate(this.minDate)){var minDate=this.dateUtil.createDateAtMidnight(this.minDate);this.ngModelCtrl.$setValidity("mindate",minDate<=date)}if(this.dateUtil.isValidDate(this.maxDate)){var maxDate=this.dateUtil.createDateAtMidnight(this.maxDate);this.ngModelCtrl.$setValidity("maxdate",date<=maxDate)}angular.isFunction(this.dateFilter)&&this.ngModelCtrl.$setValidity("filtered",this.dateFilter(date)),angular.isFunction(this.monthFilter)&&this.ngModelCtrl.$setValidity("filtered",this.monthFilter(date))}else this.ngModelCtrl.$setValidity("valid",null==date);var input=this.inputElement.value,parsedDate=this.locale.parseDate(input);!this.isInputValid(input,parsedDate)&&this.ngModelCtrl.$valid&&this.ngModelCtrl.$setValidity("valid",null==date),angular.element(this.inputContainer).toggleClass("md-datepicker-invalid",this.ngModelCtrl.$invalid&&(this.ngModelCtrl.$touched||this.ngModelCtrl.$submitted))},DatePickerCtrl.prototype.isInputValid=function(inputString,parsedDate){return""===inputString||this.dateUtil.isValidDate(parsedDate)&&this.locale.isDateComplete(inputString)&&this.isDateEnabled(parsedDate)},DatePickerCtrl.prototype.clearErrorState=function(){this.inputContainer.classList.remove("md-datepicker-invalid"),["mindate","maxdate","filtered","valid"].forEach(function(field){this.ngModelCtrl.$setValidity(field,!0)},this)},DatePickerCtrl.prototype.resizeInputElement=function(){this.inputElement.size=this.inputElement.value.length+3},DatePickerCtrl.prototype.handleInputEvent=function(){var inputString=this.inputElement.value,parsedDate=inputString?this.locale.parseDate(inputString):null;this.dateUtil.setDateTimeToMidnight(parsedDate),this.isInputValid(inputString,parsedDate)&&(this.setModelValue(parsedDate),this.date=parsedDate),this.updateErrorState(parsedDate)},DatePickerCtrl.prototype.isDateEnabled=function(opt_date){return this.dateUtil.isDateWithinRange(opt_date,this.minDate,this.maxDate)&&(!angular.isFunction(this.dateFilter)||this.dateFilter(opt_date))&&(!angular.isFunction(this.monthFilter)||this.monthFilter(opt_date))},DatePickerCtrl.prototype.attachCalendarPane=function(){var calendarPane=this.calendarPane,body=document.body;calendarPane.style.transform="",this.$element.addClass(OPEN_CLASS),this.mdInputContainer&&this.mdInputContainer.element.addClass(OPEN_CLASS),angular.element(body).addClass("md-datepicker-is-showing");var elementRect=this.inputContainer.getBoundingClientRect(),bodyRect=body.getBoundingClientRect();(!this.topMargin||this.topMargin<0)&&(this.topMargin=(this.inputMask.parent().prop("clientHeight")-this.ngInputElement.prop("clientHeight"))/2);var paneTop=elementRect.top-bodyRect.top-this.topMargin,paneLeft=elementRect.left-bodyRect.left-this.leftMargin,viewportTop=bodyRect.top<0&&0===document.body.scrollTop?-bodyRect.top:document.body.scrollTop,viewportLeft=bodyRect.left<0&&0===document.body.scrollLeft?-bodyRect.left:document.body.scrollLeft,viewportBottom=viewportTop+this.$window.innerHeight,viewportRight=viewportLeft+this.$window.innerWidth;if(this.inputMask.css({position:"absolute",left:this.leftMargin+"px",top:this.topMargin+"px",width:elementRect.width-1+"px",height:elementRect.height-2+"px"}),viewportRight<paneLeft+360){if(0<viewportRight-360)paneLeft=viewportRight-360;else{paneLeft=viewportLeft;var scale=this.$window.innerWidth/360;calendarPane.style.transform="scale("+scale+")"}calendarPane.classList.add("md-datepicker-pos-adjusted")}viewportBottom<paneTop+368&&viewportTop<viewportBottom-368&&(paneTop=viewportBottom-368,calendarPane.classList.add("md-datepicker-pos-adjusted")),calendarPane.style.left=paneLeft+"px",calendarPane.style.top=paneTop+"px",document.body.appendChild(calendarPane),this.$$rAF(function(){calendarPane.classList.add("md-pane-open")})},DatePickerCtrl.prototype.detachCalendarPane=function(){this.$element.removeClass(OPEN_CLASS),this.mdInputContainer&&this.mdInputContainer.element.removeClass(OPEN_CLASS),angular.element(document.body).removeClass("md-datepicker-is-showing"),this.calendarPane.classList.remove("md-pane-open"),this.calendarPane.classList.remove("md-datepicker-pos-adjusted"),this.isCalendarOpen&&this.$mdUtil.enableScrolling(),this.calendarPane.parentNode&&this.calendarPane.parentNode.removeChild(this.calendarPane)},DatePickerCtrl.prototype.openCalendarPane=function(event){if(this.isCalendarOpen||this.isDisabled||this.inputFocusedOnWindowBlur)this.inputFocusedOnWindowBlur&&this.resetInputFocused();else{this.isCalendarOpen=this.isOpen=!0,this.calendarPaneOpenedFrom=event.target,this.$mdUtil.disableScrollAround(this.calendarPane),this.attachCalendarPane(),this.focusCalendar(),this.evalAttr("ngFocus");var self=this;this.$mdUtil.nextTick(function(){self.documentElement.on("click touchstart",self.bodyClickHandler)},!1),window.addEventListener(this.windowEventName,this.windowEventHandler)}},DatePickerCtrl.prototype.closeCalendarPane=function(){if(this.isCalendarOpen){var self=this;self.detachCalendarPane(),self.ngModelCtrl.$setTouched(),self.evalAttr("ngBlur"),self.documentElement.off("click touchstart",self.bodyClickHandler),window.removeEventListener(self.windowEventName,self.windowEventHandler),self.calendarPaneOpenedFrom.focus(),self.calendarPaneOpenedFrom=null,self.openOnFocus?self.$timeout(reset):reset()}function reset(){self.isCalendarOpen=self.isOpen=!1}},DatePickerCtrl.prototype.getCalendarCtrl=function(){return angular.element(this.calendarPane.querySelector("md-calendar")).controller("mdCalendar")},DatePickerCtrl.prototype.focusCalendar=function(){var self=this;this.$mdUtil.nextTick(function(){self.getCalendarCtrl().focusDate(self.date)},!1)},DatePickerCtrl.prototype.setFocused=function(isFocused){isFocused||this.ngModelCtrl.$setTouched(),this.openOnFocus||this.evalAttr(isFocused?"ngFocus":"ngBlur"),this.isFocused=isFocused},DatePickerCtrl.prototype.handleBodyClick=function(event){this.isCalendarOpen&&(this.$mdUtil.getClosest(event.target,"md-calendar")||this.closeCalendarPane(),this.$scope.$digest())},DatePickerCtrl.prototype.handleWindowBlur=function(){this.inputFocusedOnWindowBlur=document.activeElement===this.inputElement},DatePickerCtrl.prototype.resetInputFocused=function(){this.inputFocusedOnWindowBlur=!1},DatePickerCtrl.prototype.evalAttr=function(attr){this.$attrs[attr]&&this.$scope.$parent.$eval(this.$attrs[attr])},DatePickerCtrl.prototype.setModelValue=function(value){var timezone=this.$mdUtil.getModelOption(this.ngModelCtrl,"timezone");null==timezone||null==value||value.getTimezoneOffset()<0?this.ngModelCtrl.$setViewValue(this.ngDateFilter(value,"yyyy-MM-dd"),"default"):this.ngModelCtrl.$setViewValue(this.ngDateFilter(value,"yyyy-MM-dd",timezone),"default")},DatePickerCtrl.prototype.onExternalChange=function(value){var self=this,timezone=this.$mdUtil.getModelOption(this.ngModelCtrl,"timezone");this.dateUtil.isValidDate(value)&&null!=timezone&&0<=value.getTimezoneOffset()?this.date=this.dateUtil.removeLocalTzAndReparseDate(value):this.date=value,null==timezone||null==value||value.getTimezoneOffset()<0?this.inputElement.value=this.locale.formatDate(value):this.inputElement.value=this.locale.formatDate(value,timezone),this.mdInputContainer&&this.mdInputContainer.setHasValue(!!value),this.resizeInputElement(),this.$mdUtil.nextTick(function(){self.updateErrorState()},!1,self.$scope)}}(),function(){function MdDialogDirective($$rAF,$mdTheming,$mdDialog){return{restrict:"E",link:function(scope,element){element.addClass("_md"),$mdTheming(element),$$rAF(function(){var images,content=element[0].querySelector("md-dialog-content");function addOverflowClass(){element.toggleClass("md-content-overflow",content.scrollHeight>content.clientHeight)}content&&(images=content.getElementsByTagName("img"),addOverflowClass(),angular.element(images).on("load",addOverflowClass)),scope.$on("$destroy",function(){$mdDialog.destroy(element)})})}}}function MdDialogProvider($$interimElementProvider){var topFocusTrap,bottomFocusTrap,removeFocusTrap;return MdDialogController.$inject=["$mdDialog","$mdConstant"],dialogDefaultOptions.$inject=["$mdDialog","$mdAria","$mdUtil","$mdConstant","$animate","$document","$window","$rootElement","$log","$injector","$mdTheming","$interpolate","$mdInteraction"],$$interimElementProvider("$mdDialog").setDefaults({methods:["disableParentScroll","hasBackdrop","clickOutsideToClose","escapeToClose","targetEvent","closeTo","openFrom","parent","fullscreen","multiple"],options:dialogDefaultOptions}).addPreset("alert",{methods:["title","htmlContent","textContent","ariaLabel","ok","theme","css"],options:advancedDialogOptions}).addPreset("confirm",{methods:["title","htmlContent","textContent","ariaLabel","ok","cancel","theme","css"],options:advancedDialogOptions}).addPreset("prompt",{methods:["title","htmlContent","textContent","initialValue","placeholder","ariaLabel","ok","cancel","theme","css","required"],options:advancedDialogOptions});function advancedDialogOptions(){return{template:['<md-dialog md-theme="{{ dialog.theme || dialog.defaultTheme }}" aria-label="{{ dialog.ariaLabel }}" ng-class="dialog.css">',' <md-dialog-content class="md-dialog-content" role="document" tabIndex="-1">',' <h2 class="md-title">{{ dialog.title }}</h2>
vendor: 5,122 bytes, line 1
1',' <div ng-if="::dialog.mdHtmlContent" class="md-dialog-content-body" ',' ng-bind-html="::dialog.mdHtmlContent"></div>',' <div ng-if="::!dialog.mdHtmlContent" class="md-dialog-content-body">'," <p>{{::dialog.mdTextContent}}</p>"," </div>",' <md-input-container md-no-float ng-if="::dialog.$type == \'prompt\'" class="md-prompt-input-container">',' <input ng-keypress="dialog.keypress($event)" md-autofocus ng-model="dialog.result" placeholder="{{::dialog.placeholder}}" ng-required="dialog.required">'," </md-input-container>"," </md-dialog-content>"," <md-dialog-actions>",' <md-button ng-if="dialog.$type === \'confirm\' || dialog.$type === \'prompt\'" ng-click="dialog.abort()" class="md-primary md-cancel-button">'," {{ dialog.cancel }}"," </md-button>",' <md-button ng-click="dialog.hide()" class="md-primary md-confirm-button" md-autofocus="dialog.$type===\'alert\'" ng-disabled="dialog.required && !dialog.result">'," {{ dialog.ok }}"," </md-button>"," </md-dialog-actions>","</md-dialog>"].join("").replace(/\s\s+/g,""),controller:MdDialogController,controllerAs:"dialog",bindToController:!0}}function MdDialogController($mdDialog,$mdConstant){this.$onInit=function(){var isPrompt="prompt"===this.$type;isPrompt&&this.initialValue&&(this.result=this.initialValue),this.hide=function(){$mdDialog.hide(!isPrompt||this.result)},this.abort=function(){$mdDialog.cancel()},this.keypress=function($event){var invalidPrompt=isPrompt&&this.required&&!angular.isDefined(this.result);$event.keyCode!==$mdConstant.KEY_CODE.ENTER||invalidPrompt||$mdDialog.hide(this.result)}}}function dialogDefaultOptions($mdDialog,$mdAria,$mdUtil,$mdConstant,$animate,$document,$window,$rootElement,$log,$injector,$mdTheming,$interpolate,$mdInteraction){return{hasBackdrop:!0,isolateScope:!0,onCompiling:function(options){options.defaultTheme=$mdTheming.defaultTheme(),function(options){var targetEl;options.targetEvent&&options.targetEvent.target&&(targetEl=angular.element(options.targetEvent.target));var themeCtrl=targetEl&&targetEl.controller("mdTheme");if(options.hasTheme=!!themeCtrl,!options.hasTheme)return;options.themeWatch=themeCtrl.$shouldWatch;var theme=options.theme||themeCtrl.$mdTheme;theme&&(options.scope.theme=theme);var unwatch=themeCtrl.registerChanges(function(newTheme){options.scope.theme=newTheme,options.themeWatch||unwatch()})}(options)},onShow:function(scope,element,options){angular.element($document[0].body).addClass("md-dialog-is-showing");var dialogElement=element.find("md-dialog");if(dialogElement.hasClass("ng-cloak")){$log.warn("$mdDialog: using `<md-dialog ng-cloak>` will affect the dialog opening animations.",element[0])}return function(options){function getBoundingClientRect(element,orig){var source=angular.element(element||{});if(source&&source.length){var hasFn=angular.isFunction(source[0].getBoundingClientRect);return angular.extend(orig||{},{element:hasFn?source:void 0,bounds:hasFn?source[0].getBoundingClientRect():angular.extend({},{top:0,left:0,height:0,width:0},source[0]),focus:angular.bind(source,source.focus)})}}function getDomElement(element,defaultElement){return angular.isString(element)&&(element=$document[0].querySelector(element)),angular.element(element||defaultElement)}options.origin=angular.extend({element:null,bounds:null,focus:angular.noop},options.origin||{}),options.parent=getDomElement(options.parent,$rootElement),options.closeTo=getBoundingClientRect(getDomElement(options.closeTo)),options.openFrom=getBoundingClientRect(getDomElement(options.openFrom)),options.targetEvent&&(options.origin=getBoundingClientRect(options.targetEvent.target,options.origin),options.originInteraction=$mdInteraction.getLastInteractionType())}(options),function(element,options){var role="alert"===options.$type?"alertdialog":"dialog",dialogContent=element.find("md-dialog-content"),existingDialogId=element.attr("id"),dialogContentId="dialogContent_"+(existingDialogId||$mdUtil.nextUid());element.attr({role:role,tabIndex:"-1"}),0===dialogContent.length&&(dialogContent=element,existingDialogId&&(dialogContentId=existingDialogId)),dialogContent.attr("id",dialogContentId),element.attr("aria-describedby",dialogContentId),options.ariaLabel?$mdAria.expect(element,"aria-label",options.ariaLabel):$mdAria.expectAsync(element,"aria-label",function(){if(options.title)return options.title;var words=dialogContent.text().split(/\s+/);return 3<words.length&&(words=words.slice(0,3).concat("...")),words.join(" ")}),(topFocusTrap=document.createElement("div")).classList.add("md-dialog-focus-trap"),topFocusTrap.tabIndex=0,bottomFocusTrap=topFocusTrap.cloneNode(!1);var focusHandler=function(event){if(event.target&&event.target.nextSibling&&"MD-DIALOG"===event.target.nextSibling.nodeName){var lastFocusableElement=$mdUtil.getLastTabbableElement(element[0]);angular.isElement(lastFocusableElement)&&lastFocusableElement.focus()}else element.focus()};topFocusTrap.addEventListener("focus",focusHandler),bottomFocusTrap.addEventListener("focus",focusHandler),removeFocusTrap=function(){to
vendor: 8,736 bytes, line 1
1pFocusTrap.removeEventListener("focus",focusHandler),bottomFocusTrap.removeEventListener("focus",focusHandler),topFocusTrap&&topFocusTrap.parentNode&&topFocusTrap.parentNode.removeChild(topFocusTrap),bottomFocusTrap&&bottomFocusTrap.parentNode&&bottomFocusTrap.parentNode.removeChild(bottomFocusTrap)},element[0].parentNode.insertBefore(topFocusTrap,element[0]),element.after(bottomFocusTrap)}(dialogElement,options),function(scope,element,options){options.disableParentScroll&&(options.restoreScroll=$mdUtil.disableScrollAround(element,options.parent)),options.hasBackdrop&&(options.backdrop=$mdUtil.createBackdrop(scope,"md-dialog-backdrop md-opaque"),$animate.enter(options.backdrop,options.parent)),options.hideBackdrop=function($destroy){options.backdrop&&($destroy?options.backdrop.remove():$animate.leave(options.backdrop)),options.disableParentScroll&&(options.restoreScroll&&options.restoreScroll(),delete options.restoreScroll),options.hideBackdrop=null}}(scope,element,options),function(element,options){var window=angular.element($window),onWindowResize=$mdUtil.debounce(function(){stretchDialogContainerToViewport(element,options)},60),removeListeners=[],smartClose=function(){var closeFn="alert"===options.$type?$mdDialog.hide:$mdDialog.cancel;$mdUtil.nextTick(closeFn,!0)};if(options.escapeToClose){var parentTarget=options.parent,keyHandlerFn=function(ev){ev.keyCode===$mdConstant.KEY_CODE.ESCAPE&&(ev.stopImmediatePropagation(),ev.preventDefault(),smartClose())};element.on("keydown",keyHandlerFn),parentTarget.on("keydown",keyHandlerFn),removeListeners.push(function(){element.off("keydown",keyHandlerFn),parentTarget.off("keydown",keyHandlerFn)})}if(window.on("resize",onWindowResize),removeListeners.push(function(){window.off("resize",onWindowResize)}),options.clickOutsideToClose){var sourceElem,target=element,mousedownHandler=function(ev){sourceElem=ev.target},mouseupHandler=function(ev){sourceElem===target[0]&&ev.target===target[0]&&(ev.stopPropagation(),ev.preventDefault(),smartClose())};target.on("mousedown",mousedownHandler),target.on("mouseup",mouseupHandler),removeListeners.push(function(){target.off("mousedown",mousedownHandler),target.off("mouseup",mouseupHandler)})}options.deactivateListeners=function(){removeListeners.forEach(function(removeFn){removeFn()}),options.deactivateListeners=null}}(element,options),function(container,options){options.parent.append(container),options.reverseContainerStretch=stretchDialogContainerToViewport(container,options);var dialogEl=container.find("md-dialog"),animator=$mdUtil.dom.animator,buildTranslateToOrigin=animator.calculateZoomToOrigin,translateOptions={transitionInClass:"md-transition-in",transitionOutClass:"md-transition-out"},from=animator.toTransformCss(buildTranslateToOrigin(dialogEl,options.openFrom||options.origin)),to=animator.toTransformCss("");return dialogEl.toggleClass("md-dialog-fullscreen",!!options.fullscreen),animator.translate3d(dialogEl,from,to,translateOptions).then(function(animateReversal){return options.reverseAnimate=function(){return delete options.reverseAnimate,options.closeTo?(translateOptions={transitionInClass:"md-transition-out",transitionOutClass:"md-transition-in"},from=to,to=animator.toTransformCss(buildTranslateToOrigin(dialogEl,options.closeTo)),animator.translate3d(dialogEl,from,to,translateOptions)):animateReversal(to=animator.toTransformCss(buildTranslateToOrigin(dialogEl,options.origin)))},options.clearAnimate=function(){return delete options.clearAnimate,dialogEl.removeClass([translateOptions.transitionOutClass,translateOptions.transitionInClass].join(" ")),animator.translate3d(dialogEl,to,animator.toTransformCss(""),{})},!0})}(element,options).then(function(){!function(element,options){var isHidden=!0;function walkDOM(element){for(var elements=function(element){for(var elem,parents=[];element.parentNode;){if(element===document.body)return parents;for(var children=element.parentNode.children,i=0;i<children.length;i++)element===children[i]||(elem=children[i],-1!==["SCRIPT","STYLE"].indexOf(elem.nodeName))||children[i].hasAttribute("aria-live")||parents.push(children[i]);element=element.parentNode}return parents}(element),i=0;i<elements.length;i++)elements[i].setAttribute("aria-hidden",isHidden)}walkDOM(element[0]),options.unlockScreenReader=function(){isHidden=!1,walkDOM(element[0]),options.unlockScreenReader=null}}(element,options),function(){if(options.focusOnOpen){var target=$mdUtil.findFocusTarget(element)||element[0].querySelector(".dialog-close, md-dialog-actions button:last-child")||dialogElement;target.focus()}}()})},onShowing:function(scope,element,options,controller){if(controller){var mdHtmlContent=controller.htmlContent||options.htmlContent||"",mdTextContent=controller.textContent||options.textContent||"";if(mdHtmlContent&&!$injector.has("$sanitize"))throw Error("The ngSanitize module must be loaded in order to use htmlContent.");if(mdHtmlContent&&mdTextContent)throw Error("md-dialog cannot have both `htmlContent` and `textContent`");controller.mdHtmlContent=mdHtmlContent,controller.mdTextContent=mdTextContent}},onRemove:function(scope,element,options){options.deactivateListeners(),options.unlockScreenReader(),options.hideBackdrop(options.$destroy),removeFocusTrap&&(removeFocusTrap(),removeFocusTrap=null);return options.$destroy?detachAndClean():function(container,options){return options.reverseAnimate().then(function(){options.contentElement&&options.clearAnimate()})}(0,options).then(detachAndClean);function detachAndClean(){angular.element($document[0].body).removeClass("md-dialog-is-showing"),options.contentElement&&options.reverseContainerStretch(),options.cleanupElement(),options.$destroy||"keyboard"!==options.originInteraction||options.origin.focus()}},clickOutsideToClose:!1,escapeToClose:!0,targetEvent:null,closeTo:null,openFrom:null,focusOnOpen:!0,disableParentScroll:!0,autoWrap:!0,fullscreen:!1,transformTemplate:function(template,options){var startSymbol=$interpolate.startSymbol(),endSymbol=$interpolate.endSymbol(),theme=startSymbol+(options.themeWatch?"":"::")+"theme"+endSymbol;return'<div class="md-dialog-container" tabindex="-1" '+(options.hasTheme?'md-theme="'+theme+'"':"")+">"+function(template){return options.autoWrap&&!/<\/md-dialog>/g.test(template)?"<md-dialog>"+(template||"")+"</md-dialog>":template||""}(template)+"</div>"}};function stretchDialogContainerToViewport(container,options){var isFixed="fixed"===$window.getComputedStyle($document[0].body).position,backdrop=options.backdrop?$window.getComputedStyle(options.backdrop[0]):null,height=backdrop?Math.min($document[0].body.clientHeight,Math.ceil(Math.abs(parseInt(backdrop.height,10)))):0,previousStyles={top:container.css("top"),height:container.css("height")},parentTop=Math.abs(options.parent[0].getBoundingClientRect().top);return container.css({top:(isFixed?parentTop:0)+"px",height:height?height+"px":"100%"}),function(){container.css(previousStyles)}}}}MdDialogDirective.$inject=["$$rAF","$mdTheming","$mdDialog"],MdDialogProvider.$inject=["$$interimElementProvider"],angular.module("material.components.dialog",["material.core","material.components.backdrop"]).directive("mdDialog",MdDialogDirective).provider("$mdDialog",MdDialogProvider)}(),function(){function MdDividerDirective($mdTheming){return{restrict:"E",link:$mdTheming}}MdDividerDirective.$inject=["$mdTheming"],angular.module("material.components.divider",["material.core"]).directive("mdDivider",MdDividerDirective)}(),function(){function MdFabActionsDirective($mdUtil){return{restrict:"E",require:["^?mdFabSpeedDial","^?mdFabToolbar"],compile:function(element,attributes){var actionItemButtons,children=element.children(),hasNgRepeat=$mdUtil.prefixer().hasAttribute(children,"ng-repeat");actionItemButtons=element.find("md-button"),angular.forEach(actionItemButtons,function(button){button.setAttribute("tabindex",-1)}),hasNgRepeat?children.addClass("md-fab-action-item"):children.wrap('<div class="md-fab-action-item">')}}}MdFabActionsDirective.$inject=["$mdUtil"],angular.module("material.components.fabActions",["material.core"]).directive("mdFabActions",MdFabActionsDirective)}(),function(){function MdFabController($scope,$element,$animate,$mdUtil,$mdConstant,$timeout){var closeTimeout,ctrl=this,initialAnimationAttempts=0;function parseEvents(event){"click"==event.type&&function(event){var element,closestButton=event.target?(element=event.target,$mdUtil.getClosest(element,"button")||$mdUtil.getClosest(element,"md-button")):null;closestButton&&!closestButton.disabled&&function(element){return $mdUtil.getClosest(element,"md-fab-trigger")}(event.target)&&ctrl.toggle(),function(element){return $mdUtil.getClosest(element,"md-fab-actions")}(event.target)&&ctrl.close()}
vendor: 4,676 bytes, line 1
1(event),"focusout"!=event.type||closeTimeout||(closeTimeout=$timeout(function(){ctrl.close()},100,!1)),"focusin"==event.type&&closeTimeout&&($timeout.cancel(closeTimeout),closeTimeout=null)}function resetActionIndex(){ctrl.currentActionIndex=-1}function fireInitialAnimations(){0<$element[0].scrollHeight?$animate.addClass($element,"_md-animations-ready").then(function(){$element.removeClass("md-animations-waiting")}):initialAnimationAttempts<10&&($timeout(fireInitialAnimations,100),initialAnimationAttempts+=1)}function disableKeyboard(){$element.off("keydown",keyPressed),angular.element(document).off("click touchend",checkForOutsideClick)}function checkForOutsideClick(event){if(event.target){var closestTrigger=$mdUtil.getClosest(event.target,"md-fab-trigger"),closestActions=$mdUtil.getClosest(event.target,"md-fab-actions");closestTrigger||closestActions||ctrl.close()}}function keyPressed(event){switch(event.which){case $mdConstant.KEY_CODE.ESCAPE:return ctrl.close(),event.preventDefault(),!1;case $mdConstant.KEY_CODE.LEFT_ARROW:return function(event){"left"===ctrl.direction?doActionNext(event):doActionPrev(event)}(event),!1;case $mdConstant.KEY_CODE.UP_ARROW:return function(event){"down"===ctrl.direction?doActionPrev(event):doActionNext(event)}(event),!1;case $mdConstant.KEY_CODE.RIGHT_ARROW:return function(event){"left"===ctrl.direction?doActionPrev(event):doActionNext(event)}(event),!1;case $mdConstant.KEY_CODE.DOWN_ARROW:return function(event){"up"===ctrl.direction?doActionPrev(event):doActionNext(event)}(event),!1;case $mdConstant.KEY_CODE.TAB:return function(event){event.shiftKey?doActionPrev(event):doActionNext(event)}(event),!1}}function doActionPrev(event){focusAction(event,-1)}function doActionNext(event){focusAction(event,1)}function focusAction(event,direction){var actions=getActionsElement()[0].querySelectorAll(".md-fab-action-item"),previousActionIndex=ctrl.currentActionIndex;ctrl.currentActionIndex=ctrl.currentActionIndex+direction,ctrl.currentActionIndex=Math.min(actions.length-1,ctrl.currentActionIndex),ctrl.currentActionIndex=Math.max(0,ctrl.currentActionIndex),(event.which!==$mdConstant.KEY_CODE.TAB||previousActionIndex!==ctrl.currentActionIndex)&&(angular.element(actions[ctrl.currentActionIndex]).children()[0].focus(),event.preventDefault(),event.stopImmediatePropagation())}function getActionsElement(){return $element.find("md-fab-actions")}ctrl.open=function(){$scope.$evalAsync("ctrl.isOpen = true")},ctrl.close=function(){$scope.$evalAsync("ctrl.isOpen = false"),$element.find("md-fab-trigger")[0].focus()},ctrl.toggle=function(){$scope.$evalAsync("ctrl.isOpen = !ctrl.isOpen")},ctrl.$onInit=function(){var eventTypes,trigger,actions;ctrl.direction=ctrl.direction||"down",ctrl.isOpen=ctrl.isOpen||!1,resetActionIndex(),$element.addClass("md-animations-waiting"),eventTypes=["click","focusin","focusout"],angular.forEach(eventTypes,function(eventType){$element.on(eventType,parseEvents)}),$scope.$on("$destroy",function(){angular.forEach(eventTypes,function(eventType){$element.off(eventType,parseEvents)}),disableKeyboard()}),$scope.$watch("ctrl.direction",function(newDir,oldDir){$animate.removeClass($element,"md-"+oldDir),$animate.addClass($element,"md-"+newDir),resetActionIndex()}),$scope.$watch("ctrl.isOpen",function(isOpen){resetActionIndex(),trigger&&actions||(trigger=$element.find("md-fab-trigger"),actions=getActionsElement()),isOpen?($element.on("keydown",keyPressed),$mdUtil.nextTick(function(){angular.element(document).on("click touchend",checkForOutsideClick)})):disableKeyboard();var toAdd=isOpen?"md-is-open":"",toRemove=isOpen?"":"md-is-open";trigger.attr("aria-haspopup",!0),trigger.attr("aria-expanded",isOpen),actions.attr("aria-hidden",!isOpen),$animate.setClass($element,toAdd,toRemove)}),fireInitialAnimations()},1===angular.version.major&&angular.version.minor<=4&&this.$onInit()}MdFabController.$inject=["$scope","$element","$animate","$mdUtil","$mdConstant","$timeout"],angular.module("material.components.fabShared",["material.core"]).controller("MdFabController",MdFabController)}(),function(){MdFabSpeedDialFlingAnimation.$inject=["$timeout"],MdFabSpeedDialScaleAnimation.$inject=["$timeout"];var cssAnimationDuration=300;function MdFabSpeedDialFlingAnimation($timeout){function delayDone(done){$timeout(done,cssAnimationDuration,!1)}function runAnimation(element){if(!element.hasClass("md-animations-waiting")||element.hasClass("_md-animations-ready")){var el=element[0],ctrl=element.controller("mdFabSpeedDial"),items=el.querySelectorAll(".md-fab-action-item"),triggerElement=el.querySelector("md-fab-trigger"),variablesElement=el.querySelector("._md-css-variables"),startZIndex=
vendor: 17,943 bytes, line 1
1parseInt(window.getComputedStyle(variablesElement).zIndex);angular.forEach(items,function(item,index){var styles=item.style;styles.transform=styles.webkitTransform="",styles.transitionDelay="",styles.opacity=ctrl.isOpen?1:0,styles.zIndex=items.length-index+startZIndex}),triggerElement.style.zIndex=startZIndex+items.length+1,ctrl.isOpen||angular.forEach(items,function(item,index){var newPosition,axis,styles=item.style,triggerItemHeightOffset=(triggerElement.clientHeight-item.clientHeight)/2,triggerItemWidthOffset=(triggerElement.clientWidth-item.clientWidth)/2;switch(ctrl.direction){case"up":newPosition=item.scrollHeight*(index+1)+triggerItemHeightOffset,axis="Y";break;case"down":newPosition=-(item.scrollHeight*(index+1)+triggerItemHeightOffset),axis="Y";break;case"left":newPosition=item.scrollWidth*(index+1)+triggerItemWidthOffset,axis="X";break;case"right":newPosition=-(item.scrollWidth*(index+1)+triggerItemWidthOffset),axis="X"}var newTranslate="translate"+axis+"("+newPosition+"px)";styles.transform=styles.webkitTransform=newTranslate})}}return{addClass:function(element,className,done){element.hasClass("md-fling")?(runAnimation(element),delayDone(done)):done()},removeClass:function(element,className,done){runAnimation(element),delayDone(done)}}}function MdFabSpeedDialScaleAnimation($timeout){function delayDone(done){$timeout(done,cssAnimationDuration,!1)}function runAnimation(element){var el=element[0],ctrl=element.controller("mdFabSpeedDial"),items=el.querySelectorAll(".md-fab-action-item"),variablesElement=el.querySelector("._md-css-variables"),startZIndex=parseInt(window.getComputedStyle(variablesElement).zIndex);angular.forEach(items,function(item,index){var styles=item.style,offsetDelay=65*index;styles.opacity=ctrl.isOpen?1:0,styles.transform=styles.webkitTransform=ctrl.isOpen?"scale(1)":"scale(0)",styles.transitionDelay=(ctrl.isOpen?offsetDelay:items.length-offsetDelay)+"ms",styles.zIndex=items.length-index+startZIndex})}return{addClass:function(element,className,done){runAnimation(element),delayDone(done)},removeClass:function(element,className,done){runAnimation(element),delayDone(done)}}}angular.module("material.components.fabSpeedDial",["material.core","material.components.fabShared","material.components.fabActions"]).directive("mdFabSpeedDial",function(){return{restrict:"E",scope:{direction:"@?mdDirection",isOpen:"=?mdOpen"},bindToController:!0,controller:"MdFabController",controllerAs:"ctrl",link:function(scope,element){element.prepend('<div class="_md-css-variables"></div>')}}}).animation(".md-fling",MdFabSpeedDialFlingAnimation).animation(".md-scale",MdFabSpeedDialScaleAnimation).service("mdFabSpeedDialFlingAnimation",MdFabSpeedDialFlingAnimation).service("mdFabSpeedDialScaleAnimation",MdFabSpeedDialScaleAnimation)}(),function(){function MdFabToolbarAnimation(){function runAnimation(element,className,done){if(className){var el=element[0],ctrl=element.controller("mdFabToolbar"),backgroundElement=el.querySelector(".md-fab-toolbar-background"),triggerElement=el.querySelector("md-fab-trigger button"),toolbarElement=el.querySelector("md-toolbar"),iconElement=el.querySelector("md-fab-trigger button md-icon"),actions=element.find("md-fab-actions").children();if(triggerElement&&backgroundElement){var color=window.getComputedStyle(triggerElement).getPropertyValue("background-color"),width=el.offsetWidth,scale=(el.offsetHeight,width/triggerElement.offsetWidth*2);backgroundElement.style.backgroundColor=color,backgroundElement.style.borderRadius=width+"px",ctrl.isOpen?(toolbarElement.style.pointerEvents="inherit",backgroundElement.style.width=triggerElement.offsetWidth+"px",backgroundElement.style.height=triggerElement.offsetHeight+"px",backgroundElement.style.transform="scale("+scale+")",backgroundElement.style.transitionDelay="0ms",iconElement&&(iconElement.style.transitionDelay=".3s"),angular.forEach(actions,function(action,index){action.style.transitionDelay=25*(actions.length-index)+"ms"})):(toolbarElement.style.pointerEvents="none",backgroundElement.style.transform="scale(1)",backgroundElement.style.top="0",element.hasClass("md-right")&&(backgroundElement.style.left="0",backgroundElement.style.right=null),element.hasClass("md-left")&&(backgroundElement.style.right="0",backgroundElement.style.left=null),backgroundElement.style.transitionDelay="200ms",iconElement&&(iconElement.style.transitionDelay="0ms"),angular.forEach(actions,function(action,index){action.style.transitionDelay=200+25*index+"ms"}))}}}return{addClass:function(element,className,done){runAnimation(element,className),done()},removeClass:function(element,className,done){runAnimation(element,className),done()}}}angular.module("material.components.fabToolbar",["material.core","material.components.fabShared","material.components.fabActions"]).directive("mdFabToolbar",function(){return{restrict:"E",transclude:!0,template:'<div class="md-fab-toolbar-wrapper"> <div class="md-fab-toolbar-content" ng-transclude></div></div>',scope:{direction:"@?mdDirection",isOpen:"=?mdOpen"},bindToController:!0,controller:"MdFabController",controllerAs:"ctrl",link:function(scope,element,attributes){element.addClass("md-fab-toolbar"),element.find("md-fab-trigger").find("button").prepend('<div class="md-fab-toolbar-background"></div>')}}}).animation(".md-fab-toolbar",MdFabToolbarAnimation).service("mdFabToolbarAnimation",MdFabToolbarAnimation)}(),function(){function GridListDirective($interpolate,$mdConstant,$mdGridLayout,$mdMedia,$mdUtil){return{restrict:"E",controller:GridListController,scope:{mdOnLayout:"&"},link:function(scope,element,attrs,ctrl){element.addClass("_md"),element.attr("role","list"),ctrl.layoutDelegate=function(tilesInvalidated){var tiles=[].filter.call(element.children(),function(ele){return"MD-GRID-TILE"==ele.tagName&&!ele.$$mdDestroyed}),props={tileSpans:(tileElements=tiles,[].map.call(tileElements,function(ele){var ctrl=angular.element(ele).controller("mdGridTile");return{row:parseInt($mdMedia.getResponsiveAttribute(ctrl.$attrs,"md-rowspan"),10)||1,col:parseInt($mdMedia.getResponsiveAttribute(ctrl.$attrs,"md-colspan"),10)||1}})),colCount:function(){var colCount=parseInt($mdMedia.getResponsiveAttribute(attrs,"md-cols"),10);if(isNaN(colCount))throw"md-grid-list: md-cols attribute was not found, or contained a non-numeric value";return colCount}(),rowMode:getRowMode(),rowHeight:function(){var rowHeight=$mdMedia.getResponsiveAttribute(attrs,"md-row-height");if(!rowHeight)throw"md-grid-list: md-row-height attribute was not found";switch(getRowMode()){case"fixed":return applyDefaultUnit(rowHeight);case"ratio":var whRatio=rowHeight.split(":");return parseFloat(whRatio[0])/parseFloat(whRatio[1]);case"fit":return 0}}(),gutter:applyDefaultUnit($mdMedia.getResponsiveAttribute(attrs,"md-gutter")||1)};var tileElements;if(!tilesInvalidated&&angular.equals(props,lastLayoutProps))return;var performance=$mdGridLayout(props.colCount,props.tileSpans,tiles).map(function(tilePositions,rowCount){return{grid:{element:element,style:function(colCount,rowCount,gutter,rowMode,rowHeight){var style={};switch(rowMode){case"fixed":style.height=DIMENSION({unit:rowHeight,span:rowCount,gutter:gutter}),style.paddingBottom="";break;case"ratio":var hGutterShare=1===colCount?0:(colCount-1)/colCount,hShare=1/colCount*100,vShare=hShare*(1/rowHeight),vUnit=UNIT({share:vShare,gutterShare:hGutterShare,gutter:gutter});style.height="",style.paddingBottom=DIMENSION({unit:vUnit,span:rowCount,gutter:gutter})}return style}(props.colCount,rowCount,props.gutter,props.rowMode,props.rowHeight)},tiles:tilePositions.map(function(ps,i){return{element:angular.element(tiles[i]),style:function(position,spans,colCount,rowCount,gutter,rowMode,rowHeight){var hShare=1/colCount*100,hGutterShare=(colCount-1)/colCount,hUnit=UNIT({share:hShare,gutterShare:hGutterShare,gutter:gutter}),style=$mdUtil.isRtl(attrs)?{right:POSITION({unit:hUnit,offset:position.col,gutter:gutter}),width:DIMENSION({unit:hUnit,span:spans.col,gutter:gutter}),paddingTop:"",marginTop:"",top:"",height:""}:{left:POSITION({unit:hUnit,offset:position.col,gutter:gutter}),width:DIMENSION({unit:hUnit,span:spans.col,gutter:gutter}),paddingTop:"",marginTop:"",top:"",height:""};switch(rowMode){case"fixed":style.top=POSITION({unit:rowHeight,offset:position.row,gutter:gutter}),style.height=DIMENSION({unit:rowHeight,span:spans.row,gutter:gutter});break;case"ratio":var vShare=hShare/rowHeight,vUnit=UNIT({share:vShare,gutterShare:hGutterShare,gutter:gutter});style.paddingTop=DIMENSION({unit:vUnit,span:spans.row,gutter:gutter}),style.marginTop=POSITION({unit:vUnit,offset:position.row,gutter:gutter});break;case"fit":var vGutterShare=(rowCount-1)/rowCount;vUnit=UNIT({share:vShare=1/rowCount*100,gutterShare:vGutterShare,gutter:gutter}),style.top=POSITION({unit:vUnit,offset:position.row,gutter:gutter}),style.height=DIMENSION({unit:vUnit,span:spans.row,gutter:gutter})}return style}(ps.position,ps.spans,props.colCount,rowCount,props.gutter,props.rowMode,props.rowHeight)}})}}).reflow().performance();scope.mdOnLayout({$event:{performance:performance}}),lastLayoutProps=props};var lastLayoutProps,invalidateLayout=angular.bind(ctrl,ctrl.invalidateLayout),unwatchAttrs=function(){for(var mediaName in $mdConstant.MEDIA)$mdMedia(mediaName),$mdMedia.getQuery($mdConstant.MEDIA[mediaName]).addListener(invalidateLayout);return $mdMedia.watchResponsiveAttributes(["md-cols","md-row-height","md-gutter"],attrs,layoutIfMediaMatch)}();function layoutIfMediaMatch(mediaName){null==mediaName?ctrl.invalidateLayout():$mdMedia(mediaName)&&ctrl.invalidateLayout()}scope.$on("$destroy",function(){for(var mediaName in ctrl.layoutDelegate=angular.noop,unwatchAttrs(),$mdConstant.MEDIA)$mdMedia.getQuery($mdConstant.MEDIA[mediaName]).removeListener(invalidateLayout)});var startSymbol=$interpolate.startSymbol(),endSymbol=$interpolate.endSymbol();function expr(exprStr){return startSymbol+exprStr+endSymbol}var UNIT=$interpolate(expr("share")+"% - ("+expr("gutter")+" * "+expr("gutterShare")+")"),POSITION=$interpolate("calc(("+expr("unit")+" + "+expr("gutter")+") * "+expr("offset")+")"),DIMENSION=$interpolate("calc(("+expr("unit")+") * "+expr("span")+" + ("+expr("span")+" - 1) * "+expr("gutter")+")");function getRowMode(){var rowHeight=$mdMedia.getResponsiveAttribute(attrs,"md-row-height");if(!rowHeight)throw"md-grid-list: md-row-height attribute was not found";return"fit"==rowHeight?"fit":-1!==rowHeight.indexOf(":")?"ratio":"fixed"}function applyDefaultUnit(val){return/\D$/.test(val)?val:val+"px"}}}}function GridListController($mdUtil){this.layoutInvalidated=!1,this.tilesInvalidated=!1,this.$timeout_=$mdUtil.nextTick,this.layoutDelegate=angular.noop}function GridLayoutFactory($mdUtil){var defaultAnimator=GridTileAnimator;return GridLayout.animateWith=function(customAnimator){defaultAnimator=angular.isFunction(customAnimator)?customAnimator:GridTileAnimator},GridLayout;function GridLayout(colCount,tileSpans){var self,layoutInfo,gridStyles,layoutTime,mapTime,reflowTime;return layoutTime=$mdUtil.time(function(){layoutInfo=function(colCount,tileSpans){var curCol=0,curRow=0,spaceTracker=function(){for(var tracker=[],i=0;i<colCount;i++)tracker.push(0);return tracker}();return{positioning:tileSpans.map(function(spans,i){return{spans:spans,position:function(spans,i){if(spans.col>colCount)throw"md-grid-list: Tile at position "+i+" has a colspan ("+spans.col+") that exceeds the column count ("+colCount+")";var start=0,end=0;for(;end-start<spans.col;)colCount<=curCol?nextRow():-1!==(start=spaceTracker.indexOf(0,curCol))&&-1!==(end=findEnd(start+1))?curCol=end+1:(start=end=0,nextRow());return adjustRow(start,spans.col,spans.row),curCol=start+spans.col,{col:start,row:curRow}}(spans,i)}}),rowCount:curRow+Math.max.apply(Math,spaceTracker)};function nextRow(){curRow++,adjustRow(curCol=0,colCount,-1)}function adjustRow(from,cols,by){for(var i=from;i<from+cols;i++)spaceTracker[i]=Math.max(spaceTracker[i]+by,0)}function findEnd(start){var i;for(i=start;i<spaceTracker.length;i++)if(0!==spaceTracker[i])return i;if(i===spaceTracker.length)return i}}(colCount,tileSpans)}),self={layoutInfo:function(){return layoutInfo},map:function(updateFn){return mapTime=$mdUtil.time(function(){var info=self.layoutInfo();gridStyles=updateFn(info.positioning,info.rowCount)}),self},reflow:function(animatorFn){return reflowTime=$mdUtil.time(function(){(animatorFn||defaultAnimator)(gridStyles.grid,gridStyles.tiles)}),self},performance:function(){return{tileCount:tileSpans.length,layoutTime:layoutTime,mapTime:mapTime,reflowTime:reflowTime,totalTime:layoutTime+mapTime+reflowTime}}}}function GridTileAnimator(grid,tiles){grid.element.css(grid.style),tiles.forEach(function(t){t.element.css(t.style)})}}function GridTileDirective($mdMedia){return{restrict:"E",require:"^mdGridList",template:"<figure ng-transclude></figure>",transclude:!0,scope:{},controller:["$attrs",function($attrs){this.$attrs=$attrs}],link:function(scope,element,attrs,gridCtrl){element.attr("role","listitem");var unwatchAttrs=$mdMedia.watchResponsiveAttributes(["md-colspan","md-rowspan"],attrs,angular.bind(gridCtrl,gridCtrl.invalidateLayout));gridCtrl.invalidateTiles(),scope.$on("$destroy",function(){element[0].$$mdDestroyed=!0,unwatchAttrs(),gridCtrl.invalidateLayout()}),angular.isDefined(scope.$parent.$index)&&scope.$watch(function(){return scope.$parent.$index},function(newIdx,oldIdx){newIdx!==oldIdx&&gridCtrl.invalidateTiles()})}}}function GridTileCaptionDirective(){return{template:"<figcaption ng-transclude></figcaption>",transclude:!0}}GridListController.$inject=["$mdUtil"],GridLayoutFactory.$inject=["$mdUtil"],GridListDirective.$inject=["$interpolate","$mdConstant","$mdGridLayout","$mdMedia","$mdUtil"],GridTileDirective.$inject=["$mdMedia"],angular.module("material.components.gridList",["material.core"]).directive("mdGridList",GridListDirective).directive("mdGridTile",GridTileDirective).directive("mdGridTileFooter",GridTileCaptionDirective).directive("mdGridTileHeader",GridTileCaptionDirective).factory("$mdGridLayout",GridLayoutFactory),GridListController.prototype={invalidateTiles:function(){this.tilesInvalidated=!0,this.invalidateLayout()},invalidateLayout:function(){this.layoutInvalidated||(this.layoutInvalidated=!0,this.$timeout_(angular.bind(this,this.layout)))},layout:function(){try{this.layoutDelegate(this.tilesInvalidated)}finally{this.layoutInvalidated=!1,this.tilesInvalidated=!1}}}}(),angular.module("material.components.icon",["material.core"]),angular.module("material.components.icon").directive("mdIcon",["$mdIcon","$mdTheming","$mdAria","$sce",function($mdIcon,$mdTheming,$mdAria,$sce){return{restrict:"E",link:function(scope,element,attr){$mdTheming(element);var lastFontIcon=attr.mdFontIcon,lastFontSet=$mdIcon.fontSet(attr.mdFontSet);attr.mdSvgIcon||attr.mdSvgSrc||(attr.mdFontIcon&&element.addClass("md-font "+attr.mdFontIcon),element.addClass(lastFontSet)),attr.$observe("mdFontIcon",fontIconChanged),attr.$observe("mdFontSet",fontIconChanged),attr.role||($mdAria.expect(element,"role","img"),attr.role="img"),element[0].hasAttribute("aria-label")&&""===attr.ariaLabel&&element.attr("aria-hidden",!0),"img"!==attr.role||attr.ariaHidden||$mdAria.hasAriaLabel(element)||(element[0].hasAttribute("alt")&&""===attr.alt?element.attr("aria-hidden",!0):attr.alt?$mdAria.expect(element,"aria-label",attr.alt):$mdAria.parentHasAriaLabel(element,2)?$mdAria.expect(element,"aria-hidden","true"):attr.mdFontIcon||attr.mdSvgIcon||element.text()?$mdAria.expect(element,"aria-label",attr.mdFontIcon||attr.mdSvgIcon||element.text()):$mdAria.expect(element,"aria-hidden","true"));var attrName=attr.$normalize(attr.$attr.mdSvgIcon||attr.$attr.mdSvgSrc||"");function fontIconChanged(){if(!attr.mdSvgIcon&&!attr.mdSvgSrc){attr.mdFontIcon&&(element.removeClass(lastFontIcon),element.addClass(attr.mdFontIcon),lastFontIcon=attr.mdFontIcon);var fontSet=$mdIcon.fontSet(attr.mdFontSet);lastFontSet!==fontSet&&(element.removeClass(lastFontSet),element.addClass(fontSet),lastFontSet=fontSet)}}attrName&&attr.$observe(attrName,function(attrVal){element.empty(),attrVal&&$mdIcon(attrVal).then(function(svg){element.empty(),element.append(svg)})})}}}]),function(){MdIconService.$inject=["config","$templateRequest","$q","$log","$mdUtil","$sce"],angular.module("material.components.icon").constant("$$mdSvgRegistry",{mdTabsArrow:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTUuNCw3LjQgMTQsNiA4LDEyIDE0LDE4IDE1LjQsMTYuNiAxMC44LDEyICIvPjwvZz48L3N2Zz4=",mdClose:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwYXRoIGQ9Ik0xOSA2LjQxbC0xLjQxLTEuNDEtNS41OSA1LjU5LTUuNTktNS41OS0xLjQxIDEuNDEgNS41OSA1LjU5LTUuNTkgNS41OSAxLjQxIDEuNDEgNS41OS01LjU5IDUuNTkgNS41OSAxLjQxLTEuNDEtNS41OS01LjU5eiIvPjwvZz48L3N2Zz4=",mdCancel:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwYXRoIGQ9Ik0xMiAyYy01LjUzIDAtMTAgNC40Ny0xMCAxMHM0LjQ3IDEwIDEwIDEwIDEwLTQuNDcgMTAtMTAtNC40Ny0xMC0xMC0xMHptNSAxMy41OWwtMS40MSAxLjQxLTMuNTktMy41OS0zLjU5IDMuNTktMS40MS0xLjQxIDMuNTktMy41OS0zLjU5LTMuNTkgMS40MS0xLjQxIDMuNTkgMy41OSAzLjU5LTMuNTkgMS40MSAxLjQxLTMuNTkgMy41OSAzLjU5IDMuNTl6Ii8+PC9nPjwvc3ZnPg==",mdMenu:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0zLDZIMjFWOEgzVjZNMywxMUgyMVYxM0gzVjExTTMsMTZIMjFWMThIM1YxNloiIC8+PC9zdmc+",mdToggleArrow:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNDggNDgiPjxwYXRoIGQ9Ik0yNCAxNmwtMTIgMTIgMi44MyAyLjgzIDkuMTctOS4xNyA5LjE3IDkuMTcgMi44My0yLjgzeiIvPjxwYXRoIGQ9Ik0wIDBoNDh2NDhoLTQ4eiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==",mdCalendar:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgM2gtMVYxaC0ydjJIOFYxSDZ2Mkg1Yy0xLjExIDAtMS45OS45LT
1EuOTkgMkwzIDE5YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTZINVY4aDE0djExek03IDEwaDV2NUg3eiIvPjwvc3ZnPg==",mdChecked:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwYXRoIGQ9Ik05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXoiLz48L2c+PC9zdmc+"}).provider("$mdIcon",MdIconProvider);var config={defaultViewBoxSize:24,defaultFontSet:"material-icons",fontSets:[]};function MdIconProvider(){}function ConfigurationItem(url,viewBoxSize){this.url=url,this.viewBoxSize=viewBoxSize||config.defaultViewBoxSize}function MdIconService(config,$templateRequest,$q,$log,$mdUtil,$sce){var iconCache={},svgCache={},urlRegex=/[-\w@:%+.~#?&//=]{2,}\.[a-z]{2,4}\b(\/[-\w@:%+.~#?&//=]*)?/i,dataUrlRegex=/^data:image\/svg\+xml[\s*;\w\-=]*?(base64)?,(.*)$/i;return Icon.prototype={clone:function(){return this.element.cloneNode(!0)},prepare:function(){var viewBoxSize=this.config?this.config.viewBoxSize:config.defaultViewBoxSize;angular.forEach({fit:"",height:"100%",width:"100%",preserveAspectRatio:"xMidYMid meet",viewBox:this.element.getAttribute("viewBox")||"0 0 "+viewBoxSize+" "+viewBoxSize,focusable:!1},function(val,attr){this.element.setAttribute(attr,val)},this)}},getIcon.fontSet=function(alias){if(angular.isUndefined(alias)||!alias||!alias.length)return config.defaultFontSet;var result=alias;return angular.forEach(config.fontSets,function(fontSet){fontSet.alias===alias&&(result=fontSet.fontSet||result)}),result},getIcon;function getIcon(id){return id=id||"",angular.isString(id)||(id=$sce.getTrustedUrl(id)),iconCache[id]?$q.when(transformClone(iconCache[id])):urlRegex.test(id)||dataUrlRegex.test(id)?loadByURL(id).then(cacheIcon(id)):(-1===id.indexOf(":")&&(id="$default:"+id),(config[id]?loadByID:loadFromIconSet)(id).then(cacheIcon(id)))}function transformClone(cacheElement){var cacheSuffix,svgUrlQuerySelector,i,xlinkHrefValue,clone=cacheElement.clone(),newUid=$mdUtil.nextUid(),svgUrlAttributes=["clip-path","color-profile","cursor","fill","filter","href","marker-start","marker-mid","marker-end","mask","stroke","style","vector-effect"],isIeSvg=void 0===clone.innerHTML;if(!isFinite(Number(newUid)))throw new Error("Unsafe and unexpected non-number result from $mdUtil.nextUid().");return cacheSuffix="_cache"+newUid,clone.id&&(clone.id+=cacheSuffix),angular.forEach(clone.querySelectorAll("[id]"),function(descendantElem){for(svgUrlQuerySelector="",i=0;i<svgUrlAttributes.length;i++)svgUrlQuerySelector+="["+svgUrlAttributes[i]+'="url(#'+descendantElem.id+')"]',i+1<svgUrlAttributes.length&&(svgUrlQuerySelector+=", ");angular.forEach(clone.querySelectorAll(svgUrlQuerySelector),function(refItem){updateSvgIdReferences(descendantElem,refItem,isIeSvg,newUid)}),angular.forEach(clone.querySelectorAll("style"),function(refItem){updateSvgIdReferences(descendantElem,refItem,isIeSvg,newUid)}),angular.forEach(clone.querySelectorAll("[*|href]:not([href])"),function(refItem){(xlinkHrefValue=refItem.getAttribute("xlink:href"))&&(xlinkHrefValue=xlinkHrefValue.replace("#"+descendantElem.id,"#"+descendantElem.id+cacheSuffix),refItem.setAttribute("xlink:href",xlinkHrefValue))}),descendantElem.id+=cacheSuffix}),clone}function updateSvgIdReferences(referencedElement,referencingElement,isIeSvg,newUid){var svgElement,cacheSuffix;if(!isFinite(Number(newUid)))throw new Error("Unsafe and unexpected non-number result for newUid.");cacheSuffix="_cache"+newUid,isIeSvg?(svgElement=(svgElement=$mdUtil.getOuterHTML(referencingElement)).replace("url(#"+referencedElement.id+")","url(#"+referencedElement.id+cacheSuffix+")"),referencingElement.textContent=angular.element(svgElement)[0].innerHTML):referencingElement.outerHTML=referencingElement.outerHTML.replace("url(#"+referencedElement.id+")","url(#"+referencedElement.id+cacheSuffix+")")}function cacheIcon(id){return function(icon){var target;return iconCache[id]=(target=icon,angular.isDefined(target.element)&&angular.isDefined(target.config)?icon:new Icon(icon,config[id])),transformClone(iconCache[id])}}function loadByID(id){var iconConfig=config[id];return loadByURL(iconConfig.url).then(function(icon){return new Icon(icon,iconConfig)})}function loadFromIconSet(id){var setName=id.substring(0,id.lastIndexOf(":"))||"$default",iconSetConfig=config[setName];return iconSetConfig?loadByURL(iconSetConfig.url).then(function(set){var iconName=id.slice(id.lastIndexOf(":")+1),icon=set.querySelector("#"+iconName);return icon?new Icon(icon,iconSetConfig):announceIdNotFound(id)}):announceIdNotFound(id);function announceIdNotFound(id){var msg="icon "+id+" not found";return $log.warn(msg),$q.reject(msg||id)}}function loadByURL(url){return dataUrlRegex.test(url)?function(url){var results=dataUrlRegex.exec(url),data=/base64/i.test(url)?window.atob(results[2]):results[2];return $q.when(angular.element(data)[0])}(url):function(url){return $q(function(resolve,reject){$templateRequest(url,!0).then(function(response){svgCache[url]||(svgCac
vendor: 11,361 bytes, line 1
1he[url]=angular.element("<div>").append(response)[0].querySelector("svg")),resolve(svgCache[url])},function(err){var msg=angular.isString(err)?err:err.message||err.data||err.statusText;$log.warn(msg),reject(err)})})}(url)}function Icon(el,config){if(el&&"symbol"===el.tagName.toLowerCase()){var viewbox=el.getAttribute("viewBox");el=el.innerHTML?angular.element('<svg xmlns="http://www.w3.org/2000/svg">').html(el.innerHTML)[0]:angular.element('<svg xmlns="http://www.w3.org/2000/svg">').append($mdUtil.getInnerHTML(el))[0],viewbox&&el.setAttribute("viewBox",viewbox)}el&&"svg"!==el.tagName.toLowerCase()&&(el=angular.element('<svg xmlns="http://www.w3.org/2000/svg">').append(el.cloneNode(!0))[0]),el.getAttribute("xmlns")||el.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.element=el,this.config=config,this.prepare()}}MdIconProvider.prototype={icon:function(id,url,viewBoxSize){return-1==id.indexOf(":")&&(id="$default:"+id),config[id]=new ConfigurationItem(url,viewBoxSize),this},iconSet:function(id,url,viewBoxSize){return config[id]=new ConfigurationItem(url,viewBoxSize),this},defaultIconSet:function(url,viewBoxSize){return config.$default||(config.$default=new ConfigurationItem(url,viewBoxSize)),config.$default.viewBoxSize=viewBoxSize||config.defaultViewBoxSize,this},defaultViewBoxSize:function(viewBoxSize){return config.defaultViewBoxSize=viewBoxSize,this},fontSet:function(alias,className){return config.fontSets.push({alias:alias,fontSet:className||alias}),this},defaultFontSet:function(className){return config.defaultFontSet=className||"",this},defaultIconSize:function(iconSize){return config.defaultIconSize=iconSize,this},$get:["$templateRequest","$q","$log","$mdUtil","$sce",function($templateRequest,$q,$log,$mdUtil,$sce){return MdIconService(config,$templateRequest,$q,$log,$mdUtil,$sce)}]}}(),function(){mdInputContainerDirective.$inject=["$mdTheming","$parse","$$rAF"],inputTextareaDirective.$inject=["$mdUtil","$window","$mdAria","$timeout","$mdGesture"],mdMaxlengthDirective.$inject=["$animate","$mdUtil"],placeholderDirective.$inject=["$compile"],ngMessageDirective.$inject=["$mdUtil"],mdSelectOnFocusDirective.$inject=["$document","$timeout"],mdInputInvalidMessagesAnimation.$inject=["$$AnimateRunner","$animateCss","$mdUtil"],ngMessagesAnimation.$inject=["$$AnimateRunner","$animateCss","$mdUtil"],ngMessageAnimation.$inject=["$$AnimateRunner","$animateCss","$mdUtil","$log"];var inputModule=angular.module("material.components.input",["material.core"]).directive("mdInputContainer",mdInputContainerDirective).directive("label",function(){return{restrict:"E",require:"^?mdInputContainer",link:function(scope,element,attr,containerCtrl){!containerCtrl||attr.mdNoFloat||element.hasClass("md-container-ignore")||(containerCtrl.label=element,scope.$on("$destroy",function(){containerCtrl.label=null}))}}}).directive("input",inputTextareaDirective).directive("textarea",inputTextareaDirective).directive("mdMaxlength",mdMaxlengthDirective).directive("placeholder",placeholderDirective).directive("ngMessages",function(){return{restrict:"EA",link:function(scope,element,attrs,inputContainer){if(!inputContainer)return;element.toggleClass("md-input-messages-animation",!0),element.toggleClass("md-auto-hide",!0),("false"==attrs.mdAutoHide||function(attrs){return visibilityDirectives.some(function(attr){return attrs[attr]})}(attrs))&&element.toggleClass("md-auto-hide",!1)},require:"^^?mdInputContainer"}}).directive("ngMessage",ngMessageDirective).directive("ngMessageExp",ngMessageDirective).directive("mdSelectOnFocus",mdSelectOnFocusDirective).animation(".md-input-invalid",mdInputInvalidMessagesAnimation).animation(".md-input-messages-animation",ngMessagesAnimation).animation(".md-input-message-animation",ngMessageAnimation);function mdInputContainerDirective($mdTheming,$parse,$$rAF){ContainerCtrl.$inject=["$scope","$element","$attrs","$animate"];var INPUT_TAGS=["INPUT","TEXTAREA","SELECT","MD-SELECT"],LEFT_SELECTORS=INPUT_TAGS.reduce(function(selectors,isel){return selectors.concat(["md-icon ~ "+isel,".md-icon ~ "+isel])},[]).join(","),RIGHT_SELECTORS=INPUT_TAGS.reduce(function(selectors,isel){return selectors.concat([isel+" ~ md-icon",isel+" ~ .md-icon"])},[]).join(",");return{restrict:"E",compile:function(tElement){var hasLeftIcon=tElement[0].querySelector(LEFT_SELECTORS),hasRightIcon=tElement[0].querySelector(RIGHT_SELECTORS);return function(scope,element){$mdTheming(element),(hasLeftIcon||hasRightIcon)&&$$rAF(function(){var iconNotRemoved=element[0].querySelector("md-icon")||element[0].querySelector(".md-icon");hasLeftIcon&&iconNotRemoved&&element.addClass("md-icon-left"),hasRightIcon&&iconNotRemoved&&element.addClass("md-icon-right")})}},controller:ContainerCtrl};function ContainerCtrl($scope,$element,$attrs,$animate){var self=this;$element.addClass("md-auto-horizontal-margin"),self.isErrorGetter=$attrs.mdIsError&&$parse($attrs.mdIsError),self.delegateClick=function(){self.input.focus()},self.element=$element,self.setFocused=function(isFocused){$element.toggleClass("md-input-focused",!!isFocused)},self.setHasValue=function(hasValue){$element.toggleClass("md-input-has-value",!!hasValue)},self.setHasPlaceholder=function(hasPlaceholder){$element.toggleClass("md-input-has-placeholder",!!hasPlaceholder)},self.setInvalid=function(isInvalid){isInvalid?$animate.addClass($element,"md-input-invalid"):$animate.removeClass($element,"md-input-invalid")},$scope.$watch(function(){return self.label&&self.input},function(hasLabelAndInput){hasLabelAndInput&&!self.label.attr("for")&&self.label.attr("for",self.input.attr("id"))})}}function inputTextareaDirective($mdUtil,$window,$mdAria,$timeout,$mdGesture){return{restrict:"E",require:["^?mdInputContainer","?ngModel","?^form"],link:function(scope,element,attr,ctrls){var containerCtrl=ctrls[0],hasNgModel=!!ctrls[1],ngModelCtrl=ctrls[1]||$mdUtil.fakeNgModel(),parentForm=ctrls[2],isReadonly=angular.isDefined(attr.readonly),mdNoAsterisk=$mdUtil.parseAttributeBoolean(attr.mdNoAsterisk),tagName=element[0].tagName.toLowerCase();if(!containerCtrl)return;{if("hidden"===attr.type)return void element.attr("aria-hidden","true");if(containerCtrl.input){if(containerCtrl.input[0].contains(element[0]))return;throw new Error("<md-input-container> can only have *one* <input>, <textarea> or <md-select> child element!")}}containerCtrl.input=element,containerCtrl.label&&attr.$observe("required",function(value){containerCtrl.label&&containerCtrl.label.toggleClass("md-required",value&&!mdNoAsterisk)});var errorsSpacer=angular.element('<div class="md-errors-spacer">');element.after(errorsSpacer);var placeholderText=angular.isString(attr.placeholder)?attr.placeholder.trim():"";containerCtrl.label||placeholderText.length||$mdAria.expect(element,"aria-label");element.addClass("md-input"),element.attr("id")||element.attr("id","input_"+$mdUtil.nextUid());"input"===tagName&&"number"===attr.type&&attr.min&&attr.max&&!attr.step?element.attr("step","any"):"textarea"===tagName&&function(){var isAutogrowing=!attr.hasOwnProperty("mdNoAutogrow");if(function(){if(!attr.hasOwnProperty("mdNoResize")){var handle=angular.element('<div class="md-resize-handle"></div>'),isDragging=!1,startHeight=0,container=containerCtrl.element,dragGestureHandler=$mdGesture.register(handle,"drag",{horizontal:!1});element.wrap('<div class="md-resize-wrapper">').after(handle),handle.on("mousedown",onMouseDown),container.on("$md.dragstart",onDragStart).on("$md.drag",onDrag).on("$md.dragend",onDragEnd),scope.$on("$destroy",function(){handle.off("mousedown",onMouseDown).remove(),container.off("$md.dragstart",onDragStart).off("$md.drag",onDrag).off("$md.dragend",onDragEnd),dragGestureHandler(),dragGestureHandler=container=handle=null})}function onMouseDown(ev){ev.preventDefault(),isDragging=!0,ev.clientY,startHeight=parseFloat(element.css("height"))||element.prop("offsetHeight")}function onDragStart(ev){isDragging&&(ev.preventDefault(),disableAutogrow(),container.addClass("md-input-resized"))}function onDrag(ev){isDragging&&element.css("height",startHeight+ev.pointer.distanceY+"px")}function onDragEnd(ev){isDragging&&(isDragging=!1,container.removeClass("md-input-resized"))}}(),!isAutogrowing)return;var minRows=attr.hasOwnProperty("rows")?parseInt(attr.rows):NaN,maxRows=attr.hasOwnProperty("maxRows")?parseInt(attr.maxRows):NaN,scopeResizeListener=scope.$on("md-resize-textarea",growTextarea),lineHeight=null,node=element[0];$timeout(function(){$mdUtil.nextTick(growTextarea)},10,!1),element.on("input",growTextarea),hasNgModel&&ngModelCtrl.$formatters.push(formattersListener);minRows||element.attr("rows",1);function growTextarea(){element.attr("rows",1).css("height","auto").addClass("md-no-flex");var offsetHeight,line,height=(offsetHeight=node.offsetHeight,line=node.scrollHeight-offsetHeight,offsetHeight+Math.max(line,0));if(!lineHeight){var originalPadding=element[0].style.padding||"";lineHeight=element.css("padding",0).prop("offsetHeight"),element[0].style.padding=originalPadding}if(minRows&&lineHeight&&(height=Math.max(height,lineHeight*minRows)),maxRows&&lineHeight){var maxHeight=lineHeight*maxRows;maxHeight<height?(element.attr("md-no-autogrow",""),height=maxHeight):element.removeAttr("md-no-autogrow")}lineHeight&&element.attr("rows",Math.round(height/lineHeight)),element.css("height",height+"px").removeClass("md-no-flex")}function formattersListener(value){return $mdUtil.nextTick(growTextarea),value}function disableAutogrow(){if(isAutogrowing&&(isAutogrowing=!1,angular.element($window).off("resize",growTextarea),scopeResizeListener&&scopeResizeListener(),element.attr("md-no-autogrow","").off("input",growTextarea),hasNgModel)){var listenerIndex=ngModelCtrl.$formatters.indexOf(formattersListener);-1<listenerIndex&&ngModelCtrl.$formatters.splice(listenerIndex,1)}}if(angular.element($window).on("resize",growTextarea),scope.$on("$destroy",disableAutogrow),attr.hasOwnProperty("mdDetectHidden")){var handleHiddenChange=(wasHidden=!1,function(){var isHidden=0===node.offsetHeight;!1===isHidden&&!0===wasHidden&&growTextarea(),wasHidden=isHidden});scope.$watch(function(){return $mdUtil.nextTick(handleHiddenChange,!1),!0})}var wasHidden}();hasNgModel||inputCheckValue();var isErrorGetter=containerCtrl.isErrorGetter||function(){return ngModelCtrl.$invalid&&(ngModelCtrl.$touched||parentForm&&parentForm.$submitted)};scope.$watch(isErrorGetter,containerCtrl.setInvalid),attr.ngValue&&attr.$observe("value",inputCheckValue);ngModelCtrl.$parsers.push(ngModelPipelineCheckValue),ngModelCtrl.$formatters.push(ngModelPipelineCheckValue),element.on("input",inputCheckValue),isReadonly||element.on("focus",function(ev){$mdUtil.nextTick(function(){containerCtrl.setFocused(!0)})}).on("blur",function(ev){$mdUtil.nextTick(function(){containerCtrl.setFocused(!1),inputCheckValue()})});function ngModelPipelineCheckValue(arg){return containerCtrl.setHasValue(!ngModelCtrl.$isEmpty(arg)),arg}function inputCheckValue(){containerCtrl.setHasValue(0<element.val().length||(element[0].validity||{}).badInput)}scope.$on("$destroy",function(){containerCtrl.setFocused(!1),containerCtrl.setHasValue(!1),containerCtrl.input=null})}}}function mdMaxlengthDirective($animate,$mdUtil){return{restrict:"A",require:["ngModel","^mdInputContainer"],link:function(scope,element,attr,ctrls){var maxlength=parseInt(attr.mdMaxlength);isNaN(maxlength)&&(maxlength=-1);
vendor: 5,309 bytes, line 1
1var charCountEl,errorsSpacer,ngModelCtrl=ctrls[0],containerCtrl=ctrls[1],ngTrim=!angular.isDefined(attr.ngTrim)||$mdUtil.parseAttributeBoolean(attr.ngTrim),isPasswordInput="password"===attr.type;function calculateInputValueLength(value){return null==(value=ngTrim&&!isPasswordInput&&angular.isString(value)?value.trim():value)&&(value=""),String(value).length}function renderCharCount(){charCountEl&&charCountEl.parent()&&charCountEl.text(calculateInputValueLength(element.val())+" / "+maxlength)}scope.$watch(attr.mdMaxlength,function(value){maxlength=value}),ngModelCtrl.$validators["md-maxlength"]=function(modelValue,viewValue){if(!angular.isNumber(maxlength)||maxlength<0)return!0;renderCharCount();var elementVal=element.val()||viewValue;return null==elementVal&&(elementVal=""),elementVal=ngTrim&&!isPasswordInput&&angular.isString(elementVal)?elementVal.trim():elementVal,String(elementVal).length<=maxlength},ngModelCtrl.$isEmpty=function(value){return 0===calculateInputValueLength(value)},$mdUtil.nextTick(function(){errorsSpacer=angular.element(containerCtrl.element[0].querySelector(".md-errors-spacer")),charCountEl=angular.element('<div class="md-char-counter">'),errorsSpacer.append(charCountEl),attr.$observe("ngTrim",function(value){ngTrim=!angular.isDefined(value)||$mdUtil.parseAttributeBoolean(value)}),scope.$watch(attr.mdMaxlength,function(value){angular.isNumber(value)&&0<value?(charCountEl.parent().length||$animate.enter(charCountEl,errorsSpacer),renderCharCount()):$animate.leave(charCountEl)})})}}}function placeholderDirective($compile){return{restrict:"A",require:"^^?mdInputContainer",priority:200,link:{pre:function(scope,element,attr,inputContainer){if(!inputContainer)return;var label=inputContainer.element.find("label"),noFloat=inputContainer.element.attr("md-no-float");if(label&&label.length||""===noFloat||scope.$eval(noFloat))return void inputContainer.setHasPlaceholder(!0);if("MD-SELECT"!==element[0].nodeName){var newLabel=angular.element('<label ng-click="delegateClick()" tabindex="-1" aria-hidden="true">'+attr.placeholder+"</label>");attr.$set("placeholder",null),inputContainer.element.addClass("md-icon-float").prepend(newLabel),$compile(newLabel)(scope)}}}}}function mdSelectOnFocusDirective($document,$timeout){return{restrict:"A",link:function(scope,element,attr){if("INPUT"!==element[0].nodeName&&"TEXTAREA"!==element[0].nodeName)return;var preventMouseUp=!1;function onFocus(){$timeout(function(){$document[0].activeElement===element[0]&&element[0].select(),preventMouseUp=!1},1,!(preventMouseUp=!0))}function onMouseUp(event){preventMouseUp&&event.preventDefault()}element.on("focus",onFocus).on("mouseup",onMouseUp),scope.$on("$destroy",function(){element.off("focus",onFocus).off("mouseup",onMouseUp)})}}}window._mdMocksIncluded&&inputModule.service("$$mdInput",function(){return{messages:{getElement:getMessagesElement}}}).service("mdInputInvalidAnimation",mdInputInvalidMessagesAnimation).service("mdInputMessagesAnimation",ngMessagesAnimation).service("mdInputMessageAnimation",ngMessageAnimation);var $$AnimateRunner,$animateCss,$mdUtil,visibilityDirectives=["ngIf","ngShow","ngHide","ngSwitchWhen","ngSwitchDefault"];function ngMessageDirective($mdUtil){return{restrict:"EA",compile:function(tElement){if(isInsideInputContainer(tElement))initMessageElement(tElement);else if(function(){var nextNode=tElement[0];for(;nextNode=nextNode.parentNode;)if(nextNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE)return!0;return!1}())return function(scope,element){isInsideInputContainer(element)&&initMessageElement(tElement)};function isInsideInputContainer(element){return!!$mdUtil.getClosest(element,"md-input-container")}function initMessageElement(element){element.toggleClass("md-input-message-animation",!0)}},priority:100}}function mdInputInvalidMessagesAnimation($$AnimateRunner,$animateCss,$mdUtil){return saveSharedServices($$AnimateRunner,$animateCss,$mdUtil),{addClass:function(element,className,done){showInputMessages(element,done)}}}function ngMessagesAnimation($$AnimateRunner,$animateCss,$mdUtil){return saveSharedServices($$AnimateRunner,$animateCss,$mdUtil),{enter:function(element,done){showInputMessages(element,done)},leave:function(element,done){hideInputMessages(element,done)},addClass:function(element,className,done){"ng-hide"==className?hideInputMessages(element,done):done()},removeClass:function(element,className,done){"ng-hide"==className?showInputMessages(element,done):done()}}}function ngMessageAnimation($$AnimateRunner,$animateCss,$mdUtil,$log){return saveSharedServices($$AnimateRunner,$animateCss,$mdUtil),{enter:function(element,done){showMessage(element).start().done(done)},leave:function(element,done){hideMessage(element).start().done(done)}}}function showInputMessages(element,done){var animator,animators=[],messages=getMessagesElement(element),children=messages.children();0!=messages.length&&0!=children.length?(angular.forEach(children,function(child){animator=showMessage(angular.element(child)),animators.push(animator.start())}),$$AnimateRunner.all(animators,done)):done()}function hideInputMessages(element,done){var animator,animators=[],messages=getMessagesElement(element),children=messages.children();0!=messages.length&&0!=children.length?(angular.forEach(children,function(child){animator=hideMessage(
vendor: 9,520 bytes, line 1
1angular.element(child)),animators.push(animator.start())}),$$AnimateRunner.all(animators,done)):done()}function showMessage(element){var height=parseInt(window.getComputedStyle(element[0]).height),topMargin=parseInt(window.getComputedStyle(element[0]).marginTop),messages=getMessagesElement(element),container=function(element){return element.controller("mdInputContainer").element}(element);return-height<topMargin||messages.hasClass("md-auto-hide")&&!container.hasClass("md-input-invalid")?$animateCss(element,{}):$animateCss(element,{event:"enter",structural:!0,from:{opacity:0,"margin-top":-height+"px"},to:{opacity:1,"margin-top":"0"},duration:.3})}function hideMessage(element){var height=element[0].offsetHeight,styles=window.getComputedStyle(element[0]);return 0===parseInt(styles.opacity)?$animateCss(element,{}):$animateCss(element,{event:"leave",structural:!0,from:{opacity:1,"margin-top":0},to:{opacity:0,"margin-top":-height+"px"},duration:.3})}function getMessagesElement(element){return element.hasClass("md-input-messages-animation")?element:element.hasClass("md-input-message-animation")?angular.element($mdUtil.getClosest(element,function(node){return node.classList.contains("md-input-messages-animation")})):angular.element(element[0].querySelector(".md-input-messages-animation"))}function saveSharedServices(_$$AnimateRunner_,_$animateCss_,_$mdUtil_){$$AnimateRunner=_$$AnimateRunner_,$animateCss=_$animateCss_,$mdUtil=_$mdUtil_}}(),function(){function mdListDirective($mdTheming){return{restrict:"E",compile:function(tEl){return tEl[0].setAttribute("role","list"),$mdTheming}}}function mdListItemDirective($mdAria,$mdConstant,$mdUtil,$timeout){var proxiedTypes=["md-checkbox","md-switch","md-menu"];return{restrict:"E",controller:"MdListController",compile:function(tElement,tAttrs){var hasProxiedElement,proxyElement,secondaryItemsWrapper,secondaryItems=tElement[0].querySelectorAll(".md-secondary"),itemContainer=tElement;if(tElement[0].setAttribute("role","listitem"),tAttrs.ngClick||tAttrs.ngDblclick||tAttrs.ngHref||tAttrs.href||tAttrs.uiSref||tAttrs.ngAttrUiSref)wrapIn("button");else if(!tElement.hasClass("md-no-proxy")){for(var i=0;i<proxiedTypes.length;++i)if(null!==(proxyElement=tElement[0].querySelector(proxiedTypes[i]))){hasProxiedElement=!0;break}hasProxiedElement?wrapIn("div"):tElement.addClass("md-no-proxy")}function wrapIn(type){if("div"===type)(itemContainer=angular.element('<div class="md-no-style md-list-item-inner">')).append(tElement.contents()),tElement.addClass("md-proxy-focus");else{itemContainer=angular.element('<div class="md-button md-no-style"> <div class="md-list-item-inner"></div></div>');var buttonWrap=angular.element('<md-button class="md-no-style"></md-button>');if(moveAttributes(tElement[0],buttonWrap[0]),!buttonWrap.attr("aria-label")){buttonWrap.attr("aria-label",$mdAria.getText(tElement));var listItemInner=itemContainer[0].querySelector(".md-list-item-inner");listItemInner&&listItemInner.setAttribute("aria-hidden","true")}tElement.hasClass("md-no-focus")&&buttonWrap.addClass("md-no-focus"),itemContainer.prepend(buttonWrap),itemContainer.children().eq(1).append(tElement.contents()),tElement.addClass("_md-button-wrap")}tElement[0].setAttribute("tabindex","-1"),tElement.append(itemContainer)}function moveAttributes(source,destination,extraAttrs){var copiedAttrs=$mdUtil.prefixer(["ng-if","ng-click","ng-dblclick","aria-label","ng-disabled","ui-sref","href","ng-href","rel","target","ng-attr-ui-sref","ui-sref-opts","download"]);extraAttrs&&(copiedAttrs=copiedAttrs.concat($mdUtil.prefixer(extraAttrs))),angular.forEach(copiedAttrs,function(attr){source.hasAttribute(attr)&&(destination.setAttribute(attr,source.getAttribute(attr)),source.removeAttribute(attr))})}function hasClickEvent(element){for(var attr=element.attributes,i=0;i<attr.length;i++)if("ngClick"===tAttrs.$normalize(attr[i].name))return!0;return!1}return secondaryItemsWrapper=angular.element('<div class="md-secondary-container">'),angular.forEach(secondaryItems,function(secondaryItem){!function(secondaryItem,container){if(secondaryItem&&("MD-BUTTON"!==(nodeName=secondaryItem.nodeName.toUpperCase())&&"BUTTON"!==nodeName)&&secondaryItem.hasAttribute("ng-click")){$mdAria.expect(secondaryItem,"aria-label");var buttonWrapper=angular.element('<md-button class="md-secondary md-icon-button">');moveAttributes(secondaryItem,buttonWrapper[0],["ng-if","ng-hide","ng-show"]),secondaryItem.setAttribute("tabindex","-1"),buttonWrapper.append(secondaryItem),secondaryItem=buttonWrapper[0]}var nodeName;secondaryItem&&(!hasClickEvent(secondaryItem)||!tAttrs.ngClick&&function(element){return-1!==proxiedTypes.indexOf(element.nodeName.toLowerCase())}(secondaryItem))&&angular.element(secondaryItem).removeClass("md-secondary"),tElement.addClass("md-with-secondary"),container.append(secondaryItem)}(secondaryItem,secondaryItemsWrapper)}),itemContainer.append(secondaryItemsWrapper),function(){for(var toggle,toggleTypes=["md-switch","md-checkbox"],i=0;i<toggleTypes.length;++i)if((toggle=tElement.find(toggleTypes[i])[0])&&!toggle.hasAttribute("aria-label")){var labelElement=tElement.find("p")[0];if(labelElement||(labelElement=tElement.find("span")[0]),!labelElement)return;toggle.setAttribute("aria-label","Toggle "+labelElement.textContent)}}(),hasProxiedElement&&"MD-MENU"===proxyElement.nodeName&&function(){var menuEl=angular.element(proxyElement),isEndAligned=menuEl.parent().hasClass("md-secondary-container")||proxyElement.parentNode.firstElementChild!==proxyElement,xAxisPosition="left";isEndAligned&&(xAxisPosition="right");menuEl.attr("md-position-mode")||menuEl.attr("md-position-mode",xAxisPosition+" target");var menuOpenButton=menuEl.children().eq(0);hasClickEvent(menuOpenButton[0])||menuOpenButton.attr("ng-click","$mdMenu.open($event)");menuOpenButton.attr("aria-label")||menuOpenButton.attr("aria-label","Open List Menu")}(),function($scope,$element,$attr,ctrl){$element.addClass("_md");var proxies=[],firstElement=$element[0].firstElementChild,clickChild=$element.hasClass("_md-button-wrap")?firstElement.firstElementChild:firstElement,hasClick=clickChild&&hasClickEvent(clickChild),noProxies=$element.hasClass("md-no-proxy");firstElement&&firstElement.children&&!hasClick&&!noProxies&&angular.forEach(proxiedTypes,function(type){angular.forEach(firstElement.querySelectorAll(type+":not(.md-secondary)"),function(child){proxies.push(child)})}),(1===proxies.length||hasClick)&&($element.addClass("md-clickable"),hasClick||ctrl.attachRipple($scope,angular.element($element[0].querySelector(".md-no-style")))),proxies.length&&angular.forEach(proxies,function(proxy){proxy=angular.element(proxy),$scope.mouseActive=!1,proxy.on("mousedown",function(){$scope.mouseActive=!0,$timeout(function(){$scope.mouseActive=!1},100)}).on("focus",function(){!1===$scope.mouseActive&&$element.addClass("md-focused"),proxy.on("blur",function proxyOnBlur(){$element.removeClass("md-focused"),proxy.off("blur",proxyOnBlur)})})});var clickChildKeypressListener=function(keypressEvent){if("INPUT"!==keypressEvent.target.nodeName&&"TEXTAREA"!==keypressEvent.target.nodeName&&!keypressEvent.target.isContentEditable){var keyCode=keypressEvent.which||keypressEvent.keyCode;keyCode===$mdConstant.KEY_CODE.SPACE&&clickChild&&(clickChild.click(),keypressEvent.preventDefault(),keypressEvent.stopPropagation())}};hasClick||proxies.length||clickChild&&clickChild.addEventListener("keypress",clickChildKeypressListener);$element.off("click"),$element.off("keypress"),$element.off("keydown"),1===proxies.length&&clickChild&&$element.children().eq(0).on("click",function(clickEvent){if(!function(event){var forbiddenControls=["md-slider"],eventBubblePath=$mdUtil.getEventPath(event);if(!eventBubblePath||0===eventBubblePath.length)return-1!==forbiddenControls.indexOf(event.target.tagName.toLowerCase());for(var maxPath=eventBubblePath.indexOf($element.children()[0]),i=0;i<maxPath;i++)if(-1!==forbiddenControls.indexOf(eventBubblePath[i].tagName.toLowerCase()))return!0;return!1}(clickEvent)){var parentButton=$mdUtil.getClosest(clickEvent.target,"BUTTON");!parentButton&&clickChild.contains(clickEvent.target)&&angular.forEach(proxies,function(proxy){clickEvent.target===proxy||proxy.contains(clickEvent.target)||("MD-MENU"===proxy.nodeName&&(proxy=proxy.children[0]),angular.element(proxy).triggerHandler("click"))})}});$scope.$on("$destroy",function(){clickChild&&clickChild.removeEventListener("keypress",clickChildKeypressListener)})}}}}function MdListController($scope,$element,$mdListInkRipple){this.attachRipple=function(scope,element){$mdListInkRipple.attach(scope,element,{})}}MdListController.$inject=["$scope","$element","$mdListInkRipple"],mdListDirective.$inject=["$mdTheming"],mdListItemDirective.$inject=["$mdAria","$mdConstant","$mdUtil","$timeout"],angular.module("material.components.list",["material.core"]).controller("MdListController",MdListController).directive("mdList",mdListDirective).directive("mdListItem",mdListItemDirective)}(),angular.module("material.components.menu",["material.core","material.components.backdrop"]),function(){function MenuController($mdMenu,$attrs,$element,$scope,$mdUtil,$timeout,$rootScope,$q,$log){var menuContainer,triggerElement,prefixer=$mdUtil.prefixer(),self=this;this.nestLevel=parseInt($attrs.mdNestLevel,10)||0,this.init=function(setMenuContainer,opts){opts=opts||{},menuContainer=setMenuContainer,(triggerElement=$element[0].querySelector(prefixer.buildSelector(["ng-click","ng-mouseenter"]))).setAttribute("aria-expanded","fal
1se"),this.isInMenuBar=opts.isInMenuBar,this.mdMenuBarCtrl=opts.mdMenuBarCtrl,this.nestedMenus=$mdUtil.nodesToArray(menuContainer[0].querySelectorAll(".md-nested-menu")),menuContainer.on("$mdInterimElementRemove",function(){self.isOpen=!1,$mdUtil.nextTick(function(){self.onIsOpenChanged(self.isOpen)})}),$mdUtil.nextTick(function(){self.onIsOpenChanged(self.isOpen)});var menuContainerId="menu_container_"+$mdUtil.nextUid();menuContainer.attr("id",menuContainerId),angular.element(triggerElement).attr({"aria-owns":menuContainerId,"aria-haspopup":"true"}),$scope.$on("$destroy",angular.bind(this,function(){this.disableHoverListener(),$mdMenu.destroy()})),menuContainer.on("$destroy",function(){$mdMenu.destroy()})};var openMenuTimeout,menuItems,deregisterScopeListeners=[];this.enableHoverListener=function(){deregisterScopeListeners.push($rootScope.$on("$mdMenuOpen",function(event,el){menuContainer[0].contains(el[0])&&(self.currentlyOpenMenu=el.controller("mdMenu"),self.isAlreadyOpening=!1,self.currentlyOpenMenu.registerContainerProxy(self.triggerContainerProxy.bind(self)))})),deregisterScopeListeners.push($rootScope.$on("$mdMenuClose",function(event,el){menuContainer[0].contains(el[0])&&(self.currentlyOpenMenu=void 0)})),(menuItems=angular.element($mdUtil.nodesToArray(menuContainer[0].children[0].children))).on("mouseenter",self.handleMenuItemHover),menuItems.on("mouseleave",self.handleMenuItemMouseLeave)},this.disableHoverListener=function(){for(;deregisterScopeListeners.length;)deregisterScopeListeners.shift()();menuItems&&menuItems.off("mouseenter",self.handleMenuItemHover),menuItems&&menuItems.off("mouseleave",self.handleMenuItemMouseLeave)},this.handleMenuItemHover=function(event){if(!self.isAlreadyOpening){var nestedMenu=event.target.querySelector("md-menu")||$mdUtil.getClosest(event.target,"MD-MENU");openMenuTimeout=$timeout(function(){if(nestedMenu&&(nestedMenu=angular.element(nestedMenu).controller("mdMenu")),self.currentlyOpenMenu&&self.currentlyOpenMenu!=nestedMenu){var closeTo=self.nestLevel+1;self.currentlyOpenMenu.close(!0,{closeTo:closeTo}),self.isAlreadyOpening=!!nestedMenu,nestedMenu&&nestedMenu.open()}else nestedMenu&&!nestedMenu.isOpen&&nestedMenu.open&&(self.isAlreadyOpening=!!nestedMenu,nestedMenu&&nestedMenu.open())},nestedMenu?100:250);var focusableTarget=event.currentTarget.querySelector(".md-button:not([disabled])");focusableTarget&&focusableTarget.focus()}},this.handleMenuItemMouseLeave=function(){openMenuTimeout&&($timeout.cancel(openMenuTimeout),openMenuTimeout=void 0)},this.open=function(ev){ev&&ev.stopPropagation(),ev&&ev.preventDefault(),self.isOpen||(self.enableHoverListener(),self.isOpen=!0,$mdUtil.nextTick(function(){self.onIsOpenChanged(self.isOpen)}),(triggerElement=triggerElement||(ev?ev.target:$element[0])).setAttribute("aria-expanded","true"),$scope.$emit("$mdMenuOpen",$element),$mdMenu.show({scope:$scope,mdMenuCtrl:self,nestLevel:self.nestLevel,element:menuContainer,target:triggerElement,preserveElement:!0,parent:"body"}).finally(function(){triggerElement.setAttribute("aria-expanded","false"),self.disableHoverListener()}))},this.onIsOpenChanged=function(isOpen){isOpen?(menuContainer.attr("aria-hidden","false"),$element[0].classList.add("md-open"),angular.forEach(self.nestedMenus,function(el){el.classList.remove("md-open")})):(menuContainer.attr("aria-hidden","true"),$element[0].classList.remove("md-open")),$scope.$mdMenuIsOpen=self.isOpen},this.focusMenuContainer=function(){var focusTarget=menuContainer[0].querySelector(prefixer.buildSelector(["md-menu-focus-target","md-autofocus"]));focusTarget||(focusTarget=menuContainer[0].querySelector(".md-button:not([disabled])")),focusTarget.focus()},this.registerContainerProxy=function(handler){this.containerProxy=handler},this.triggerContainerProxy=function(ev){this.containerProxy&&this.containerProxy(ev)},this.destroy=function(){return self.isOpen?$mdMenu.destroy():$q.when(!1)},this.close=function(skipFocus,closeOpts){if(self.isOpen){self.isOpen=!1,$mdUtil.nextTick(function(){self.onIsOpenChanged(self.isOpen)});var eventDetails=angular.extend({},closeOpts,{skipFocus:skipFocus});if($scope.$emit("$mdMenuClose",$element,eventDetails),$mdMenu.hide(null,closeOpts),!skipFocus){var el=self.restoreFocusTo||$element.find("button")[0];el instanceof angular.element&&(el=el[0]),el&&el.focus()}}},this.positionMode=function(){var attachment=($attrs.mdPositionMode||"target").split(" ");return 1===attachment.length&&attachment.push(attachment[0]),{left:attachment[0],top:attachment[1]}},this.offsets=function(){var position=($attrs.mdOffset||"0 0").split(" ").map(parseFloat);if(2===position.length)return{left:position[0],top:position[1]};if(1===position.length)return{top:position[0],left:position[0]};throw Error("Invalid offsets specified. Please follow format <x, y> or <n>")},$scope.$mdMenu={open:this.open,close:this.close}}MenuController.$inject=["$mdMenu","$attrs","$element","$scope","$mdUtil","$timeout","$rootScope","$q","$log"],angular.module("material.components.menu").controller("mdMenuCtrl",MenuController)}(),function(){function MenuDirective($mdUtil){return{restrict:"E",require:["mdMenu","?^mdMenuBar"],controller:"mdMenuCtrl",scope:!0,compile:function(templateElement){templateElement.addClass("md-menu");var triggerEl=templateElement.children()[0],prefixer=$mdUtil.prefixer();prefixer.hasAttribute(triggerEl,"ng-click")||(triggerEl=triggerEl.querySelector(prefixer.buildSelector(["ng-click","ng-mouseenter"]))||triggerEl);var isButtonTrigger="MD-BUTTON"===triggerEl.nodeName||"BUTTON"===triggerEl.nodeName;triggerEl&&isButtonTrigger&&!triggerEl.hasAttribute("type")&&triggerEl.setAttribute("type","button");if(!triggerEl)throw Error("Invalid HTML for md-menu: Expected the menu to have a trigger element.");if(2!==templateElement.children().length)throw Error("Invalid HTML for md-menu: Expected two children elements. The second element must have a `md-menu-content` element.");triggerEl&&triggerEl.setAttribute("aria-haspopup","true");var nestedMenus=templateElement[0].querySelectorAll("md-menu"),nestingDepth=parseInt(templateElement[0].getAttribute("md-nest-level"),10)||0;nestedMenus&&angular.forEach($mdUtil.nodesToArray(nestedMenus),function(menuEl){menuEl.hasAttribute("md-position-mode")||menuEl.setAttribute("md-position-mode","cascade"),menuEl.classList.add("_md-nested-menu"),menuEl.setAttribute("md-nest-level",nestingDepth+1)});return link}};function link(scope,element,attr,ctrls){var mdMenuCtrl=ctrls[0],isInMenuBar=!!ctrls[1],mdMenuBarCtrl=ctrls[1],menuContainer=angular.element('<div class="_md md-open-menu-container md-whiteframe-z2"></div>'),menuContents=element.children()[1];element.addClass("_md"),menuContents.hasAttribute("role")||menuContents.setAttribute("role","menu"),menuContainer.append(menuContents),element.on("$destroy",function(){menuContainer.remove()}),element.append(menuContainer),menuContainer[0].style.display="none",mdMenuCtrl.init(menuContainer,{isInMenuBar:isInMenuBar,mdMenuBarCtrl:mdMenuBarCtrl})}}MenuDirective.$inject=["$mdUtil"],angular.module("material.components.menu").directive("mdMenu",MenuDirective)}(),function(){function MenuProvider($$interimElementProvider){menuDefaultOptions.$inject=["$mdUtil","$mdTheming","$mdConstant","$document","$window","$q","$$rAF","$animateCss","$animate","$log"];var MENU_EDGE_MARGIN=8;return $$interimElementProvider("$mdMenu").setDefaults({methods:["target"],options:menuDefaultOptions});function menuDefaultOptions($mdUtil,$mdTheming,$mdConstant,$document,$window,$q,$$rAF,$animateCss,$animate,$log){var prefixer=$mdUtil.prefixer(),animator=$mdUtil.dom.animator;return{parent:"body",onShow:function(scope,element,opts){(function(){if(!opts.target)throw Error("$mdMenu.show() expected a target to animate from in options.target");angular.extend(opts,{alreadyOpen:!1,isRemoved:!1,target:angular.element(opts.target),parent:angular.element(opts.parent),menuContentEl:angular.element(element[0].querySelector("md-menu-content"))})})(),opts.menuContentEl[0]?$mdTheming.inherit(opts.menuContentEl,opts.target):$log.warn("$mdMenu: Menu elements should always contain a `md-menu-content` element,otherwise interactivity features will not work properly.",element);return opts.cleanupResizing=(target=element,options=opts,repositionMenu=$$rAF.throttle(function(){if(!opts.isRemoved){var position=calculateMenuPosition(target,options);target.css(animator.toCss(position))}}),$window.addEventListener("resize",repositionMenu),$window.addEventListener("orientationchange",repositionMenu),function(){$window.removeEventListener("resize",repositionMenu),$window.removeEventListener("orientationchange",repositionMenu)}),opts.hideBackdrop=function(scope,element,options){return options.nestLevel?angular.noop:(options.disableParentScroll&&!$mdUtil.getClosest(options.target,"MD-DIALOG")?options.restoreScroll=$mdUtil.disableScrollAround(options.element,options.parent):options.disableParentScroll=!1,options.hasBackdrop&&(options.backdrop=$mdUtil.createBackdrop(scope,"md-menu-backdrop md-click-catcher"),$animate.enter(options.backdrop,options.backdropParent||$document[0].body)),function(){options.backdrop&&options.backdrop.remove(),options.disableParentScroll&&options.restoreScroll()})}(scope,0,opts),(opts.parent.append(element),element[0].style.display="",$q(function(resolve){var position=calculateMenuPosition(element,opts);element.removeClass("md-leave"),$animateCss(element,{addClass:"md-active",from:animator.toCss(position),to:animator.toCss({transform:""})}).start().then(resolve)})).then(function(response){return opts.alreadyOpen=!0,opts.cleanupInteraction=function(){if(!opts.menuContentEl[0])return angular.noop;
vendor: 23,402 bytes, line 1
1opts.menuContentEl.on("keydown",onMenuKeyDown),opts.menuContentEl[0].addEventListener("click",captureClickListener,!0);var focusTarget=opts.menuContentEl[0].querySelector(prefixer.buildSelector(["md-menu-focus-target","md-autofocus"]));if(!focusTarget)for(var childrenLen=opts.menuContentEl[0].children.length,childIndex=0;childIndex<childrenLen;childIndex++){var child=opts.menuContentEl[0].children[childIndex];if(focusTarget=child.querySelector(".md-button:not([disabled])"))break;if(child.firstElementChild&&!child.firstElementChild.disabled&&!child.firstElementChild.getAttribute("disabled")){focusTarget=child.firstElementChild;break}}return focusTarget&&focusTarget.focus(),function(){opts.menuContentEl.off("keydown",onMenuKeyDown),opts.menuContentEl[0].removeEventListener("click",captureClickListener,!0)};function onMenuKeyDown(ev){var handled;switch(ev.keyCode){case $mdConstant.KEY_CODE.ESCAPE:opts.nestLevel?opts.mdMenuCtrl.close():opts.mdMenuCtrl.close(!1,{closeAll:!0}),handled=!0;break;case $mdConstant.KEY_CODE.TAB:opts.mdMenuCtrl.close(!1,{closeAll:!0}),handled=!1;break;case $mdConstant.KEY_CODE.UP_ARROW:focusMenuItem(ev,opts.menuContentEl,opts,-1)||opts.nestLevel||opts.mdMenuCtrl.triggerContainerProxy(ev),handled=!0;break;case $mdConstant.KEY_CODE.DOWN_ARROW:focusMenuItem(ev,opts.menuContentEl,opts,1)||opts.nestLevel||opts.mdMenuCtrl.triggerContainerProxy(ev),handled=!0;break;case $mdConstant.KEY_CODE.LEFT_ARROW:opts.nestLevel?opts.mdMenuCtrl.close():opts.mdMenuCtrl.triggerContainerProxy(ev),handled=!0;break;case $mdConstant.KEY_CODE.RIGHT_ARROW:var parentMenu=$mdUtil.getClosest(ev.target,"MD-MENU");parentMenu&&parentMenu!=opts.parent[0]?ev.target.click():opts.mdMenuCtrl.triggerContainerProxy(ev),handled=!0}handled&&(ev.preventDefault(),ev.stopImmediatePropagation())}function captureClickListener(e){var target=e.target;do{if(target==opts.menuContentEl[0])return;if((hasAnyAttribute(target,["ng-click","ng-href","ui-sref"])||"BUTTON"==target.nodeName||"MD-BUTTON"==target.nodeName)&&!hasAnyAttribute(target,["md-prevent-menu-close"])){var closestMenu=$mdUtil.getClosest(target,"MD-MENU");target.hasAttribute("disabled")||closestMenu&&closestMenu!=opts.parent[0]||scope.$apply(function(){opts.mdMenuCtrl.close(!0,{closeAll:!0})});break}}while(target=target.parentNode);function hasAnyAttribute(target,attrs){if(!target)return!1;for(var attr,i=0;attr=attrs[i];++i)if(prefixer.hasAttribute(target,attr))return!0;return!1}}}(),opts.cleanupBackdrop=opts.backdrop?(opts.backdrop.on("click",onBackdropClick),function(){opts.backdrop.off("click",onBackdropClick)}):angular.noop,element.addClass("md-clickable"),response});var target,options,repositionMenu;function onBackdropClick(event){event.preventDefault(),event.stopPropagation(),scope.$apply(function(){opts.mdMenuCtrl.close(!0,{closeAll:!0})})}},onRemove:function(scope,element,opts){return opts.cleanupInteraction(),opts.cleanupBackdrop(),opts.cleanupResizing(),opts.hideBackdrop(),element.removeClass("md-clickable"),!0===opts.$destroy?detachAndClean():$animateCss(element,{addClass:"md-leave"}).start().then(detachAndClean);function detachAndClean(){element.removeClass("md-active"),function(element,opts){opts.preserveElement?toNode(element).style.display="none":toNode(element).parentNode===toNode(opts.parent)&&toNode(opts.parent).removeChild(toNode(element))}(element,opts),opts.alreadyOpen=!1}},hasBackdrop:!0,disableParentScroll:!0,skipCompile:!0,preserveScope:!0,multiple:!0,themable:!0};function focusMenuItem(e,menuEl,opts,direction){for(var didFocus,currentItem=$mdUtil.getClosest(e.target,"MD-MENU-ITEM"),items=$mdUtil.nodesToArray(menuEl[0].children),i=items.indexOf(currentItem)+direction;0<=i&&i<items.length;i+=direction){if(didFocus=attemptFocus(items[i].querySelector(".md-button")))break}return didFocus}function attemptFocus(el){if(el&&-1!=el.getAttribute("tabindex"))return el.focus(),$document[0].activeElement==el}function calculateMenuPosition(el,opts){var alignTarget,containerNode=el[0],openMenuNode=el[0].firstElementChild,openMenuNodeRect=openMenuNode.getBoundingClientRect(),boundryNodeRect=$document[0].body.getBoundingClientRect(),menuStyle=$window.getComputedStyle(openMenuNode),originNode=opts.target[0].querySelector(prefixer.buildSelector("md-menu-origin"))||opts.target[0],originNodeRect=originNode.getBoundingClientRect(),bounds={left:boundryNodeRect.left+MENU_EDGE_MARGIN,top:Math.max(boundryNodeRect.top,0)+MENU_EDGE_MARGIN,bottom:Math.max(boundryNodeRect.bottom,Math.max(boundryNodeRect.top,0)+boundryNodeRect.height)-MENU_EDGE_MARGIN,right:boundryNodeRect.right-MENU_EDGE_MARGIN},alignTargetRect={top:0,left:0,right:0,bottom:0},existingOffsets={top:0,left:0,right:0,bottom:0},positionMode=opts.mdMenuCtrl.positionMode();"target"!==positionMode.top&&"target"!==positionMode.left&&"target-right"!==positionMode.left||(alignTarget=function(){for(var i=0;i<openMenuNode.children.length;++i)if("none"!=$window.getComputedStyle(openMenuNode.children[i]).display)return openMenuNode.children[i]}())&&(alignTargetRect=(alignTarget=(alignTarget=alignTarget.firstElementChild||alignTarget).querySelector(prefixer.buildSelector("md-menu-align-target"))||alignTarget).getBoundingClientRect(),existingOffsets={top:parseFloat(containerNode.style.top||0),left:parseFloat(containerNode.style.left||0)});var position={},transformOrigin="top ";switch(positionMode.top){case"target":position.top=existingOffsets.top+originNodeRect.top-alignTargetRect.top;break;case"cascade":position.top=originNodeRect.top-parseFloat(menuStyle.paddingTop)-originNode.style.top;break;case"bottom":position.top=originNodeRect.top+originNodeRect.height;break;default:throw new Error('Invalid target mode "'+positionMode.top+'" specified for md-menu on Y axis.')}var rtl=$mdUtil.isRtl(el);switch(positionMode.left){case"target":position.left=existingOffsets.left+originNodeRect.left-alignTargetRect.left,transformOrigin+=rtl?"right":"left";break;case"target-left":position.left=originNodeRect.left,transformOrigin+="left";break;case"target-right":position.left=originNodeRect.right-openMenuNodeRect.width+(openMenuNodeRect.right-alignTargetRect.right),transformOrigin+="right";break;case"cascade":var willFitRight=rtl?originNodeRect.left-openMenuNodeRect.width<bounds.left:originNodeRect.right+openMenuNodeRect.width<bounds.right;position.left=willFitRight?originNodeRect.right-originNode.style.left:originNodeRect.left-originNode.style.left-openMenuNodeRect.width,transformOrigin+=willFitRight?"left":"right";break;case"right":rtl?(position.left=originNodeRect.right-originNodeRect.width,transformOrigin+="left"):(position.left=originNodeRect.right-openMenuNodeRect.width,transformOrigin+="right");break;case"left":rtl?(position.left=originNodeRect.right-openMenuNodeRect.width,transformOrigin+="right"):(position.left=originNodeRect.left,transformOrigin+="left");break;default:throw new Error('Invalid target mode "'+positionMode.left+'" specified for md-menu on X axis.')}var pos,offsets=opts.mdMenuCtrl.offsets();position.top+=offsets.top,position.left+=offsets.left,(pos=position).top=Math.max(Math.min(pos.top,bounds.bottom-containerNode.offsetHeight),bounds.top),pos.left=Math.max(Math.min(pos.left,bounds.right-containerNode.offsetWidth),bounds.left);var scaleX=Math.round(100*Math.min(originNodeRect.width/containerNode.offsetWidth,1))/100,scaleY=Math.round(100*Math.min(originNodeRect.height/containerNode.offsetHeight,1))/100;return{top:Math.round(position.top),left:Math.round(position.left),transform:opts.alreadyOpen?void 0:$mdUtil.supplant("scale({0},{1})",[scaleX,scaleY]),transformOrigin:transformOrigin}}}function toNode(el){return el instanceof angular.element&&(el=el[0]),el}}MenuProvider.$inject=["$$interimElementProvider"],angular.module("material.components.menu").provider("$mdMenu",MenuProvider)}(),angular.module("material.components.menuBar",["material.core","material.components.icon","material.components.menu"]),function(){MenuBarController.$inject=["$scope","$rootScope","$element","$attrs","$mdConstant","$document","$mdUtil","$timeout"],angular.module("material.components.menuBar").controller("MenuBarController",MenuBarController);var BOUND_MENU_METHODS=["handleKeyDown","handleMenuHover","scheduleOpenHoveredMenu","cancelScheduledOpen"];function MenuBarController($scope,$rootScope,$element,$attrs,$mdConstant,$document,$mdUtil,$timeout){this.$element=$element,this.$attrs=$attrs,this.$mdConstant=$mdConstant,this.$mdUtil=$mdUtil,this.$document=$document,this.$scope=$scope,this.$rootScope=$rootScope,this.$timeout=$timeout;var self=this;angular.forEach(BOUND_MENU_METHODS,function(methodName){self[methodName]=angular.bind(self,self[methodName])})}MenuBarController.prototype.init=function(){var $element=this.$element,$mdUtil=this.$mdUtil,$scope=this.$scope,self=this,deregisterFns=[];$element.on("keydown",this.handleKeyDown),this.parentToolbar=$mdUtil.getClosest($element,"MD-TOOLBAR"),deregisterFns.push(this.$rootScope.$on("$mdMenuOpen",function(event,el){-1!=self.getMenus().indexOf(el[0])&&($element[0].classList.add("md-open"),el[0].classList.add("md-open"),self.currentlyOpenMenu=el.controller("mdMenu"),self.currentlyOpenMenu.registerContainerProxy(self.handleKeyDown),self.enableOpenOnHover())})),deregisterFns.push(this.$rootScope.$on("$mdMenuClose",function(event,el,opts){var rootMenus=self.getMenus();-1!=rootMenus.indexOf(el[0])&&($element[0].classList.remove("md-open"),el[0].classList.remove("md-open"));var ctrl=angular.element(el[0]).controller("mdMenu");if(ctrl.isInMenuBar&&ctrl.mdMenuBarCtrl===self){for(var parentMenu=el[0];parentMenu&&-1==rootMenus.indexOf(parentMenu);)parentMenu=$mdUtil.getClosest(parentMenu,"MD-MENU",!0);parentMenu&&(opts.skipFocus||parentMenu.querySelector("button:not([disabled])").focus(),self.currentlyOpenMenu=void 0),self.disableOpenOnHover(),self.setKeyboardMode(!0)}})),$scope.$on("$destroy",function(){for(self.disableOpenOnHover();deregisterFns.length;)deregisterFns.shift()()}),this.setKeyboardMode(!0)},MenuBarController.prototype.setKeyboardMode=function(enabled){enabled?this.$element[0].classList.add("md-keyboard-mode"):this.$element[0].classList.remove("md-keyboard-mode")},MenuBarController.prototype.enableOpenOnHover=function(){if(!this.openOnHoverEnabled){var self=this;self.openOnHoverEnabled=!0,self.parentToolbar&&(self.parentToolbar.classList.add("md-has-open-menu"),self.$mdUtil.nextTick(function(){angular.element(self.parentToolbar).on("click",self.handleParentClick)},!1)),angular.element(self.getMenus()).on("mouseenter",self.handleMenuHover)}},MenuBarController.prototype.handleMenuHover=function(e){this.setKeyboardMode(!1),this.openOnHoverEnabled&&this.scheduleOpenHoveredMenu(e)},MenuBarController.prototype.disableOpenOnHover=function(){this.openOnHoverEnabled&&(this.openOnHoverEnabled=!1,this.parentToolbar&&(this.parentToolbar.classList.remove("md-has-open-menu"),angular.element(this.parentToolbar).off("click",this.handleParentClick)),angular.element(this.getMenus()).off("mouseenter",this.handleMenuHover))},MenuBarController.prototype.scheduleOpenHoveredMenu=function(e){var menuCtrl=angular.element(e.currentTarget).controller("mdMenu");this.setKeyboardMode(!1),this.scheduleOpenMenu(menuCtrl)},MenuBarController.prototype.scheduleOpenMenu=function(menuCtrl){var self=this,$timeout=this.$timeout;menuCtrl!=self.currentlyOpenMenu&&($timeout.cancel(self.pendingMenuOpen),self.pendingMenuOpen=$timeout(function(){self.pendingMenuOpen=void 0,self.currentlyOpenMenu&&self.currentlyOpenMenu.close(!0,{closeAll:!0}),menuCtrl.open()},200,!1))},MenuBarController.prototype.handleKeyDown=function(e){var handled,newMenu,newMenuCtrl,keyCodes=this.$mdConstant.KEY_CODE,currentMenu=this.currentlyOpenMenu,wasOpen=currentMenu&¤tMenu.isOpen;switch(this.setKeyboardMode(!0),e.keyCode){case keyCodes.DOWN_ARROW:currentMenu?currentMenu.focusMenuContainer():this.openFocusedMenu(),handled=!0;break;case keyCodes.UP_ARROW:currentMenu&¤tMenu.close(),handled=!0;break;case keyCodes.LEFT_ARROW:newMenu=this.focusMenu(-1),wasOpen&&(newMenuCtrl=angular.element(newMenu).controller("mdMenu"),this.scheduleOpenMenu(newMenuCtrl)),handled=!0;break;case keyCodes.RIGHT_ARROW:newMenu=this.focusMenu(1),wasOpen&&(newMenuCtrl=angular.element(newMenu).controller("mdMenu"),this.scheduleOpenMenu(newMenuCtrl)),handled=!0}handled&&(e&&e.preventDefault&&e.preventDefault(),e&&e.stopImmediatePropagation&&e.stopImmediatePropagation())},MenuBarController.prototype.focusMenu=function(direction){var menus=this.getMenus(),focusedIndex=this.getFocusedMenuIndex();-1==focusedIndex&&(focusedIndex=this.getOpenMenuIndex());var changed=!1;if(-1==focusedIndex?changed=!(focusedIndex=0):(direction<0&&0<focusedIndex||0<direction&&focusedIndex<menus.length-direction)&&(focusedIndex+=direction,changed=!0),changed)return menus[focusedIndex].querySelector("button").focus(),menus[focusedIndex]},MenuBarController.prototype.openFocusedMenu=function(){var menu=this.getFocusedMenu();menu&&angular.element(menu).controller("mdMenu").open()},MenuBarController.prototype.getMenus=function(){var $element=this.$element;return this.$mdUtil.nodesToArray($element[0].children).filter(function(el){return"MD-MENU"==el.nodeName})},MenuBarController.prototype.getFocusedMenu=function(){return this.getMenus()[this.getFocusedMenuIndex()]},MenuBarController.prototype.getFocusedMenuIndex=function(){var focusedEl=this.$mdUtil.getClosest(this.$document[0].activeElement,"MD-MENU");return focusedEl?this.getMenus().indexOf(focusedEl):-1},MenuBarController.prototype.getOpenMenuIndex=function(){for(var menus=this.getMenus(),i=0;i<menus.length;++i)if(menus[i].classList.contains("md-open"))return i;return-1},MenuBarController.prototype.handleParentClick=function(event){var openMenu=this.querySelector("md-menu.md-open");openMenu&&!openMenu.contains(event.target)&&angular.element(openMenu).controller("mdMenu").close(!0,{closeAll:!0})}}(),function(){function MenuBarDirective($mdUtil,$mdTheming){return{restrict:"E",require:"mdMenuBar",controller:"MenuBarController",compile:function(templateEl,templateAttrs){return templateAttrs.ariaRole||templateEl[0].setAttribute("role","menubar"),angular.forEach(templateEl[0].children,function(menuEl){if("MD-MENU"==menuEl.nodeName){menuEl.hasAttribute("md-position-mode")||(menuEl.setAttribute("md-position-mode","left bottom"),menuEl.querySelector("button, a, md-button").setAttribute("role","menuitem"));var contentEls=$mdUtil.nodesToArray(menuEl.querySelectorAll("md-menu-content"));angular.forEach(contentEls,function(contentEl){contentEl.classList.add("md-menu-bar-menu"),contentEl.classList.add("md-dense"),contentEl.hasAttribute("width")||contentEl.setAttribute("width",5)})}}),templateEl.find("md-menu-item").addClass("md-in-menu-bar"),function(scope,el,attr,ctrl){el.addClass("_md"),$mdTheming(scope,el),ctrl.init()}}}}MenuBarDirective.$inject=["$mdUtil","$mdTheming"],angular.module("material.components.menuBar").directive("mdMenuBar",MenuBarDirective)}(),angular.module("material.components.menuBar").directive("mdMenuDivider",function(){return{restrict:"E",compile:function(templateEl,templateAttrs){templateAttrs.role||templateEl[0].setAttribute("role","separator")}}}),function(){function MenuItemController($scope,$element,$attrs){this.$element=$element,this.$attrs=$attrs,this.$scope=$scope}MenuItemController.$inject=["$scope","$element","$attrs"],angular.module("material.components.menuBar").controller("MenuItemController",MenuItemController),MenuItemController.prototype.init=function(ngModel){var $element=this.$element,$attrs=this.$attrs;this.ngModel=ngModel,"checkbox"!=$attrs.type&&"radio"!=$attrs.type||(this.mode=$attrs.type,this.iconEl=$element[0].children[0],this.buttonEl=$element[0].children[1],ngModel&&this.initClickListeners())},MenuItemController.prototype.clearNgAria=function(){var el=this.$element[0];angular.forEach(["role","tabindex","aria-invalid","aria-checked"],function(attr){el.removeAttribute(attr)})},MenuItemController.prototype.initClickListeners=function(){var self=this,ngModel=this.ngModel,$scope=this.$scope,$attrs=this.$attrs,mode=(this.$element,this.mode);this.handleClick=angular.bind(this,this.handleClick);var icon=this.iconEl,button=angular.element(this.buttonEl),handleClick=this.handleClick;function setDisabled(disabled){disabled?button.off("click",handleClick):button.on("click",handleClick)}$attrs.$observe("disabled",setDisabled),setDisabled($attrs.disabled),ngModel.$render=function(){self.clearNgAria(),!function(){{if("radio"!=mode)return ngModel.$modelValue;var val=$attrs.ngValue?$scope.$eval($attrs.ngValue):$attrs.value;return ngModel.$modelValue==val}}()?(icon.style.display="none",button.attr("aria-checked","false")):(icon.style.display="",button.attr("aria-checked","true"))},$scope.$$postDigest(ngModel.$render)},MenuItemController.prototype.handleClick=function(e){var newVal,mode=this.mode,ngModel=this.ngModel,$attrs=this.$attrs;"checkbox"==mode?newVal=!ngModel.$modelValue:"radio"==mode&&(newVal=$attrs.ngValue?this.$scope.$eval($attrs.ngValue):$attrs.value),ngModel.$setViewValue(newVal),ngModel.$render()}}(),function(){function MenuItemDirective($mdUtil,$mdConstant,$$mdSvgRegistry){return{controller:"MenuItemController",require:["mdMenuItem","?ngModel"],priority:$mdConstant.BEFORE_NG_ARIA,compile:function(templateEl,templateAttrs){var attribute,attributes,type=templateAttrs.type;if("checkbox"!==type&&"radio"!==type||!templateEl.hasClass("md-in-menu-bar"))setDefault("role","menuitem",templateEl[0].querySelector("md-button, button, a"));else{var text=templateEl[0].textContent,buttonEl=angular.element('<md-button type="button"></md-button>'),iconTemplate='<md-icon md-svg-src="'+$$mdSvgRegistry.mdChecked+'"></md-icon>';buttonEl.html(text),buttonEl.attr("tabindex","0"),angular.isDefined(templateAttrs.mdPreventMenuClose)&&buttonEl.attr("md-prevent-menu-close",templateAttrs.mdPreventMenuClose),templateEl.html(""),templateEl.append(angular.element(iconTemplate)),templateEl.append(buttonEl),templateEl.addClass("md-indent").removeClass("md-in-menu-bar"),setDefault("role","checkbox"===type?"menuitemcheckbox":"menuitemradio",buttonEl),attribute="ng-disabled",attributes=$mdUtil.prefixer(attribute),angular.forEach(attributes,function(attr){if(templateEl[0].hasAttribute(attr)){var val=templateEl[0].getAttribute(attr);buttonEl[0].setAttribute(attr,val),templateEl[0].removeAttribute(attr)}})}return function(scope,el,attrs,ctrls){var ctrl=ctrls[0],ngModel=ctrls[1];ctrl.init(ngModel)};function setDefault(attr,val,el){(el=el||templateEl)instanceof angular.element&&(el=el[0]),el.hasAttribute(attr)||el.setAttribute(attr,val)}}}}MenuItemDirective.$inject=["$mdUtil","$mdConstant","$$mdSvgRegistry"],angular.module("material.components.menuBar").directive("mdMenuItem",MenuItemDirective)}(),function(){function MdNavBar($mdAria,$mdTheming,$window,$mdUtil){return{restrict:"E",transclude:!0,controller:MdNavBarController,controllerAs:"ctrl",bindToController:!0,scope:{mdSelectedNavItem:"=?",mdNoInkBar:"=?",navBarAriaLabel:"@?"},template:'<div class="md-nav-bar"><nav role="navigation"><ul class="_md-nav-bar-list" ng-transclude role="tablist" ng-focus="ctrl.onFocus()" aria-label="{{ctrl.navBarAriaLabel}}"></ul></nav><md-nav-ink-bar ng-hide="ctrl.mdNoInkBar"></md-nav-ink-bar></div>',link:function(scope,element,attrs,ctrl){function onResize(){ctrl.width!==$window.innerWidth&&(ctrl.updateSelectedTabInkBar(),ctrl.width=$window.innerWidth,scope.$digest())}ctrl.width=$window.innerWidth,angular.element($window).on("resize",$mdUtil.debounce(onResize,300)),scope.$on("$destroy",function(){angular.element($window).off("resize",onResize)}),$mdTheming(element),ctrl.navBarAriaLabel||$mdAria.expectAsync(element,"aria-label",angular.noop)}}}function MdNavBarController($element,$scope,$timeout,$mdConstant){this._$timeout=$timeout,this._$scope=$scope,this._$mdConstant=$mdConstant,this.mdSelectedNavItem,this.navBarAriaLabel,this._navBarEl=$element[0],this._inkbar;var self=this,deregisterTabWatch=this._$scope.$watch(function(){return self._navBarEl.querySelectorAll("._md-nav-button").length},function(newLength){0<newLength&&(self._initTabs(),deregisterTabWatch())})}function MdNavItem($mdAria,$$rAF,$mdUtil,$window){return{restrict:"E",require:["mdNavItem","^mdNavBar"],controller:MdNavItemController,bindToController:!0,controllerAs:"ctrl",replace:!0,transclude:!0,template:function(tElement,tAttrs){var navigationAttribute,buttonTemplate,hasNavClick=tAttrs.mdNavClick,hasNavHref=tAttrs.mdNavHref,hasNavSref=tAttrs.mdNavSref,hasSrefOpts=tAttrs.srefOpts;if(1<(hasNavClick?1:0)+(hasNavHref?1:0)+(hasNavSref?1:0))throw Error("Please do not specify more than one of the md-nav-click, md-nav-href, or md-nav-sref attributes per nav-item directive.");if(null!=hasNavClick)navigationAttribute='ng-click="ctrl.mdNavClick()"';else if(null!=hasNavHref)navigationAttribute='ng-href="{{ctrl.mdNavHref}}"';else{if(null==hasNavSref)throw Error("Please specify at least one of the md-nav-click, md-nav-href, or md-nav-sref attributes per nav-item directive.");navigationAttribute='ui-sref="{{ctrl.mdNavSref}}"'}return navigationAttribute&&(buttonTemplate='<md-button class="_md-nav-button md-accent" ng-class="ctrl.getNgClassMap()" ng-blur="ctrl.setFocused(false)" ng-disabled="ctrl.disabled" tabindex="-1" role="tab" ng-attr-aria-label="{{ctrl.navItemAriaLabel ? ctrl.navItemAriaLabel : undefined}}" aria-selected="{{ctrl.isSelected()}}" '+(hasSrefOpts?'ui-sref-opts="{{ctrl.srefOpts}}" ':"")+navigationAttribute+'><span ng-transclude class="_md-nav-button-text"></span></md-button>'),'<li class="md-nav-item" role="presentation">'+(buttonTemplate||"")+"</li>"},scope:{mdNavClick:"&?",mdNavHref:"@?",mdNavSref:"@?",srefOpts:"=?",name:"@",navItemAriaLabel:"@?"},link:function(scope,element,attrs,controllers){var disconnect,mdNavItem,mdNavBar,navButton;$$rAF(function(){if(mdNavItem=controllers[0],mdNavBar=controllers[1],navButton=angular.element(element[0].querySelector("._md-nav-button")),mdNavItem.name||(mdNavItem.name=angular.element(element[0].querySelector("._md-nav-button-text")).text().trim()),navButton.on("keydown",function($event){mdNavBar.onKeydown($event)}),navButton.on("focus",function(){mdNavItem._focused=!0}),navButton.on("click",function(){mdNavBar.mdSelectedNavItem=mdNavItem.name,scope.$apply()}),mdNavItem.disabled=$mdUtil.parseAttributeBoolean(attrs.disabled,!1),"MutationObserver"in $window){var targetNode=element[0],observer=new MutationObserver(function(mutationList){$mdUtil.nextTick(function(){mdNavItem.disabled=$mdUtil.parseAttributeBoolean(attrs[mutationList[0].attributeName],!1)})});observer.observe(targetNode,{attributes:!0,attributeFilter:["disabled"]}),disconnect=observer.disconnect.bind(observer)}else attrs.$observe("disabled",function(value){mdNavItem.disabled=$mdUtil.parseAttributeBoolean(value,!1)});mdNavItem.navItemAriaLabel||$mdAria.expectWithText(navButton,"aria-label")}),scope.$on("destroy",function(){navButton.off("keydown"),navButton.off("focus"),navButton.off("click"),disconnect()})}}}function MdNavItemController($element){this._$element=$element,this.mdNavClick,this.mdNavHref,this.mdNavSref,this.srefOpts,this.name,this.navItemAriaLabel,this._selected=!1,this.isFocused=!1}MdNavBar.$inject=["$mdAria","$mdTheming","$window","$mdUtil"],MdNavBarController.$inject=["$element","$scope","$timeout","$mdConstant"],MdNavItem.$inject=["$mdAria","$$rAF","$mdUtil","$
1window"],MdNavItemController.$inject=["$element"],angular.module("material.components.navBar",["material.core"]).controller("MdNavBarController",MdNavBarController).directive("mdNavBar",MdNavBar).controller("MdNavItemController",MdNavItemController).directive("mdNavItem",MdNavItem),MdNavBarController.prototype._initTabs=function(){this._inkbar=angular.element(this._navBarEl.querySelector("md-nav-ink-bar"));var self=this;this._$timeout(function(){self._updateTabs(self.mdSelectedNavItem,null)}),this._$scope.$watch("ctrl.mdSelectedNavItem",function(newValue,oldValue){self._$timeout(function(){self._updateTabs(newValue,oldValue)})})},MdNavBarController.prototype._updateTabs=function(newValue,oldValue){var self=this,tabs=this._getTabs(),sameTab=newValue===oldValue;if(tabs){var newIndex=-1,newTab=this._getTabByName(newValue),oldTab=this._getTabByName(oldValue);oldTab&&oldTab.setSelected(!1),newTab&&(newTab.setSelected(!0),newIndex=tabs.indexOf(newTab)),this._$timeout(function(){self._updateInkBarStyles(newTab,newIndex),newTab&&oldTab&&!sameTab&&self._moveFocus(oldTab,newTab)})}},MdNavBarController.prototype._updateInkBarStyles=function(tab,newIndex){if(this._inkbar.css({display:newIndex<0?"none":""}),tab){var tabEl=tab.getButtonEl(),left=tabEl.offsetLeft,tabWidth=tabEl.offsetWidth,navBarWidth=this._navBarEl.getBoundingClientRect().width,scale=tabWidth/navBarWidth,translate=left/navBarWidth*100;this._inkbar.css({transform:"translateX("+translate+"%) scaleX("+scale+")"})}},MdNavBarController.prototype.updateSelectedTabInkBar=function(){this._updateInkBarStyles(this._getSelectedTab())},MdNavBarController.prototype._getTabs=function(){var controllers=Array.prototype.slice.call(this._navBarEl.querySelectorAll(".md-nav-item")).map(function(el){return angular.element(el).controller("mdNavItem")});return controllers.indexOf(void 0)?controllers:[]},MdNavBarController.prototype._getTabByName=function(name){return this._findTab(function(tab){return tab.getName()===name})},MdNavBarController.prototype._getSelectedTab=function(){return this._findTab(function(tab){return tab.isSelected()})},MdNavBarController.prototype.getFocusedTab=function(){return this._findTab(function(tab){return tab.hasFocus()})},MdNavBarController.prototype._findTab=function(fn,startIndex){var i,tabs=this._getTabs();for(null==startIndex&&(startIndex=0),i=startIndex;i<tabs.length;i++)if(fn(tabs[i]))return tabs[i];return null},MdNavBarController.prototype._findTabReverse=function(fn,startIndex){var tabs=this._getTabs();null==startIndex&&(startIndex=tabs.length-1);for(var i=startIndex;0<=i;i--)if(fn(tabs[i]))return tabs[i];return null},MdNavBarController.prototype.onFocus=function(){var tab=this._getSelectedTab();tab&&!tab.isFocused&&tab.setFocused(!0)},MdNavBarController.prototype._moveFocus=function(oldTab,newTab){oldTab.setFocused(!1),newTab.setFocused(!0)},MdNavBarController.prototype._focusFirstTab=function(){if(this._getTabs()){var tabToFocus=this._findTab(function(tab){return tab._isEnabled()});tabToFocus&&this._moveFocus(this.getFocusedTab(),tabToFocus)}},MdNavBarController.prototype._focusLastTab=function(){if(this._getTabs()){var tabToFocus=this._findTabReverse(function(tab){return tab._isEnabled()});tabToFocus&&this._moveFocus(this.getFocusedTab(),tabToFocus)}},MdNavBarController.prototype._focusNextTab=function(focusedTabIndex){if(this._getTabs()){var tabToFocus=this._findTab(function(tab){return tab._isEnabled()},focusedTabIndex+1);tabToFocus?this._moveFocus(this.getFocusedTab(),tabToFocus):this._focusFirstTab()}},MdNavBarController.prototype._focusPreviousTab=function(focusedTabIndex){if(this._getTabs()){var tabToFocus=this._findTabReverse(function(tab){return tab._isEnabled()},focusedTabIndex-1);tabToFocus?this._moveFocus(this.getFocusedTab(),tabToFocus):this._focusLastTab()}},MdNavBarController.prototype.onKeydown=function(e){var keyCodes=this._$mdConstant.KEY_CODE,tabs=this._getTabs(),focusedTab=this.getFocusedTab();if(focusedTab&&tabs){var focusedTabIndex=tabs.indexOf(focusedTab);switch(e.keyCode){case keyCodes.UP_ARROW:case keyCodes.LEFT_ARROW:e.preventDefault(),this._focusPreviousTab(focusedTabIndex);break;case keyCodes.DOWN_ARROW:case keyCodes.RIGHT_ARROW:e.preventDefault(),this._focusNextTab(focusedTabIndex);break;
vendor: 6,978 bytes, line 1
1case keyCodes.SPACE:case keyCodes.ENTER:this._$timeout(function(){focusedTab.getButtonEl().click()});break;case keyCodes.HOME:e.preventDefault(),this._focusFirstTab();break;case keyCodes.END:e.preventDefault(),this._focusLastTab()}}},MdNavItemController.prototype.getNgClassMap=function(){return{"md-active":this._selected,"md-primary":this._selected,"md-unselected":!this._selected,"md-focused":this.isFocused}},MdNavItemController.prototype.getName=function(){return this.name},MdNavItemController.prototype.getButtonEl=function(){return this._$element[0].querySelector("._md-nav-button")},MdNavItemController.prototype.setSelected=function(isSelected){(this._selected=isSelected)?this.getButtonEl().setAttribute("tabindex","0"):this.getButtonEl().setAttribute("tabindex","-1")},MdNavItemController.prototype.isSelected=function(){return this._selected},MdNavItemController.prototype.setFocused=function(isFocused){(this.isFocused=isFocused)&&this.getButtonEl().focus()},MdNavItemController.prototype.hasFocus=function(){return this.isFocused},MdNavItemController.prototype._isEnabled=function(){return!this._$element.attr("disabled")}}(),function(){MdPanelService.$inject=["presets","$rootElement","$rootScope","$injector","$window"],angular.module("material.components.panel",["material.core","material.components.backdrop"]).provider("$mdPanel",function(){return{definePreset:definePreset,getAllPresets:getAllPresets,clearPresets:clearPresets,$get:["$rootElement","$rootScope","$injector","$window",function($rootElement,$rootScope,$injector,$window){return new MdPanelService(_presets,$rootElement,$rootScope,$injector,$window)}]}});var MD_PANEL_Z_INDEX=80,FOCUS_TRAP_TEMPLATE=angular.element('<div class="_md-panel-focus-trap" tabindex="0"></div>'),_presets={};function definePreset(name,preset){if(!name||!preset)throw new Error("mdPanelProvider: The panel preset definition is malformed. The name and preset object are required.");if(_presets.hasOwnProperty(name))throw new Error("mdPanelProvider: The panel preset you have requested has already been defined.");delete preset.id,delete preset.position,delete preset.animation,_presets[name]=preset}function getAllPresets(){return angular.copy(_presets)}function clearPresets(){_presets={}}function coerceToArray(value){return angular.isString(value)&&(value=[value]),value}function MdPanelService(presets,$rootElement,$rootScope,$injector,$window){this._defaultConfigOptions={bindToController:!0,clickOutsideToClose:!1,disableParentScroll:!1,escapeToClose:!1,focusOnOpen:!0,fullscreen:!1,hasBackdrop:!1,propagateContainerEvents:!1,transformTemplate:angular.bind(this,this._wrapTemplate),trapFocus:!1,zIndex:MD_PANEL_Z_INDEX},this._config={},this._presets=presets,this._$rootElement=$rootElement,this._$rootScope=$rootScope,this._$injector=$injector,this._$window=$window,this._$mdUtil=this._$injector.get("$mdUtil"),this._trackedPanels={},this._groups=Object.create(null),this.animation=MdPanelAnimation.animation,this.xPosition=MdPanelPosition.xPosition,this.yPosition=MdPanelPosition.yPosition,this.interceptorTypes=MdPanelRef.interceptorTypes,this.closeReasons=MdPanelRef.closeReasons,this.absPosition=MdPanelPosition.absPosition}function MdPanelRef(config,$injector){this._$q=$injector.get("$q"),this._$mdCompiler=$injector.get("$mdCompiler"),this._$mdConstant=$injector.get("$mdConstant"),this._$mdUtil=$injector.get("$mdUtil"),this._$mdTheming=$injector.get("$mdTheming"),this._$rootScope=$injector.get("$rootScope"),this._$animate=$injector.get("$animate"),this._$mdPanel=$injector.get("$mdPanel"),this._$log=$injector.get("$log"),this._$window=$injector.get("$window"),this._$$rAF=$injector.get("$$rAF"),this.id=config.id,this.config=config,this.panelContainer=void 0,this.panelEl=void 0,this.innerWrapper=void 0,this.isAttached=!1,this._removeListeners=[],this._topFocusTrap=void 0,this._bottomFocusTrap=void 0,this._backdropRef=void 0,this._restoreScroll=null,this._interceptors=Object.create(null),this._compilerCleanup=null,this._restoreCache={styles:"",classes:""}}function MdPanelPosition($injector){this._$window=$injector.get("$window"),this._isRTL=$injector.get("$mdUtil").isRtl(),this._$mdConstant=$injector.get("$mdConstant"),this._absolute=!1,this._relativeToEl=void 0,this._top="",this._bottom="",this._left="",this._right="",this._translateX=[],this._translateY=[],this._positions=[],this._actualPosition=void 0}function MdPanelAnimation($injector){this._$mdUtil=$injector.get("$mdUtil"),this._openFrom,this._closeTo,this._animationClass="",this._openDuration,this._closeDuration,this._rawDuration}function getElement(el){var queryResult=angular.isString(el)?document.querySelector(el):el;return angular.element(queryResult)}function validatePosition(positionMap,value){if(null!==value&&!angular.isUndefined(value)){for(var key,positionKeys=Object.keys(positionMap),positionValues=[],i=0;key=positionKeys[i];i++){var position=positionMap[key];if(positionValues.push(position),position===value)return}throw new Error("Panel position only accepts the following values:\n"+positionValues.join(" | "))}}function addUnits(value){return angular.isNumber(value)?value+"px":value}MdPanelService.prototype.create=function(preset,config){if("string"==typeof preset?preset=this._getPresetByName(preset):"object"!=typeof preset||!angular.isUndefined(config)&&config||(config=preset,preset={}),preset=preset||{},config=config||{},angular.isDefined(config.id)&&this._trackedPanels[config.id]){var trackedPanel=this._trackedPanels[config.id];return angular.extend(trackedPanel.config,config),trackedPanel}this._config=angular.extend({id:config.id||"panel_"+this._$mdUtil.nextUid(),scope:this._$rootScope.$new(!0),attachTo:this._$rootElement},this._defaultConfigOptions,config,preset);var panelRef=new MdPanelRef(this._config,this._$injector);return this._trackedPanels[this._config.id]=panelRef,this._config.groupName&&(this._config.groupName=coerceToArray(this._config.groupName),angular.forEach(this._config.groupName,function(group){panelRef.addToGroup(group)})),this._config.scope.$on("$destroy",angular.bind(panelRef,panelRef.detach)),panelRef},MdPanelService.prototype.open=function(preset,config){var panelRef=this.create(preset,config);return panelRef.open().then(function(){return panelRef})},MdPanelService.prototype._getPresetByName=function(preset){if(!this._presets[preset])throw new Error("mdPanel: The panel preset configuration that you requested does not exist. Use the $mdPanelProvider to create a preset before requesting one.");return this._presets[preset]},MdPanelService.prototype.newPanelPosition=function(){return new MdPanelPosition(this._$injector)},MdPanelService.prototype.newPanelAnimation=function(){return new MdPanelAnimation(this._$injector)},MdPanelService.prototype.newPanelGroup=function(groupName,config){return this._groups[groupName]||(config=config||{},this._groups[groupName]={panels:[],openPanels:[],maxOpen:0<config.maxOpen?config.maxOpen:1/0}),this._groups[groupName]}
vendor: 6,532 bytes, line 1
1,MdPanelService.prototype.setGroupMaxOpen=function(groupName,maxOpen){if(!this._groups[groupName])throw new Error("mdPanel: Group does not exist yet. Call newPanelGroup().");this._groups[groupName].maxOpen=maxOpen},MdPanelService.prototype._openCountExceedsMaxOpen=function(groupName){if(this._groups[groupName]){var group=this._groups[groupName];return 0<group.maxOpen&&group.openPanels.length>group.maxOpen}return!1},MdPanelService.prototype._closeFirstOpenedPanel=function(groupName){var group=this._groups[groupName];group&&group.openPanels.length&&group.openPanels[0].close()},MdPanelService.prototype._wrapTemplate=function(origTemplate){return'<div class="md-panel-outer-wrapper"><div class="md-panel-inner-wrapper _md-panel-offscreen"><div class="md-panel _md-panel-offscreen">'+(origTemplate||"")+"</div></div></div>"},MdPanelService.prototype._wrapContentElement=function(contentElement){var outerWrapper=angular.element('<div class="md-panel-outer-wrapper"><div class="md-panel-inner-wrapper _md-panel-offscreen"></div></div>');return contentElement.addClass("md-panel _md-panel-offscreen"),outerWrapper.children().eq(0).append(contentElement),outerWrapper},MdPanelRef.interceptorTypes={CLOSE:"onClose"},MdPanelRef.prototype.open=function(){var self=this;return this._$q(function(resolve,reject){var done=self._done(resolve,self),show=self._simpleBind(self.show,self);self.attach().then(show).then(function(){self.config.groupName&&(self.config.groupName=coerceToArray(self.config.groupName),angular.forEach(self.config.groupName,function(group){self._$mdPanel._openCountExceedsMaxOpen(group)&&self._$mdPanel._closeFirstOpenedPanel(group)}))}).then(done).catch(reject)})},MdPanelRef.prototype.close=function(closeReason){var self=this;return this._$q(function(resolve,reject){self._callInterceptors(MdPanelRef.interceptorTypes.CLOSE).then(function(){var done=self._done(resolve,self),detach=self._simpleBind(self.detach,self),onCloseSuccess=self.config.onCloseSuccess||angular.noop;onCloseSuccess=angular.bind(self,onCloseSuccess,self,closeReason),self.hide().then(detach).then(done).then(onCloseSuccess).catch(reject)},reject)})},MdPanelRef.prototype.attach=function(){if(this.isAttached&&this.panelEl)return this._$q.when(this);var self=this;return this._$q(function(resolve,reject){var done=self._done(resolve,self),onDomAdded=self.config.onDomAdded||angular.noop;self._$q.all([self._createBackdrop(),self._createPanel().then(function(response){return self.isAttached=!0,self._addEventListeners(),response}).catch(reject)]).then(onDomAdded).then(done).catch(reject)})},MdPanelRef.prototype.detach=function(){if(!this.isAttached)return this._$q.when(this);var self=this,onDomRemoved=self.config.onDomRemoved||angular.noop;return this._restoreScroll&&(this._restoreScroll(),this._restoreScroll=null),this._$q(function(resolve,reject){var done=self._done(resolve,self);self._$q.all([(self._removeEventListeners(),self._topFocusTrap&&self._topFocusTrap.parentNode&&self._topFocusTrap.parentNode.removeChild(self._topFocusTrap),self._bottomFocusTrap&&self._bottomFocusTrap.parentNode&&self._bottomFocusTrap.parentNode.removeChild(self._bottomFocusTrap),self._restoreCache.classes&&(self.panelEl[0].className=self._restoreCache.classes),self.panelEl[0].style.cssText=self._restoreCache.styles||"",self._compilerCleanup(),self.panelContainer.remove(),self.isAttached=!1,self._$q.when(self)),!self._backdropRef||self._backdropRef.detach()]).then(onDomRemoved).then(done).catch(reject)})},MdPanelRef.prototype.destroy=function(){var self=this;this.config.groupName&&(this.config.groupName=coerceToArray(this.config.groupName),angular.forEach(this.config.groupName,function(group){self.removeFromGroup(group)})),this.config.scope.$destroy(),this.config.locals=null,this.config.onDomAdded=null,this.config.onDomRemoved=null,this.config.onRemoving=null,this.config.onOpenComplete=null,this._interceptors=void 0},MdPanelRef.prototype.show=function(){if(!this.panelContainer)return this._$q(function(resolve,reject){reject("mdPanel: Panel does not exist yet. Call open() or attach().")});if(!this.panelContainer.hasClass("_md-panel-hidden"))return this._$q.when(this);var self=this;return this._$q(function(resolve,reject){var done=self._done(resolve,self),onOpenComplete=self.config.onOpenComplete||angular.noop;self._$q.all([self._backdropRef?self._backdropRef.show():self,(self.panelContainer.removeClass("_md-panel-hidden"),self._animateOpen()).then(function(){self._focusOnOpen()},reject)]).then(onOpenComplete).then(function(){self.config.groupName&&(self.config.groupName=coerceToArray(self.config.groupName),angular.forEach(self.config.groupName,function(group){(group=self._$mdPanel._groups[group])&&group.openPanels.push(self)}))}).then(done).catch(reject)})},MdPanelRef.prototype.hide=function(){if(!this.panelContainer)return this._$q(function(resolve,reject){reject("mdPanel: Panel does not exist yet. Call open() or attach().")});if(this.panelContainer.hasClass("_md-panel-hidden"))return this._$q.when(this);var self=this;return this._$q(function(resolve,reject){var done=self._done(resolve,self),onRemoving=self.config.onRemoving||angular.noop;self._$q.all([self._backdropRef?self._backdropRef.hide():self,self._animateClose().then(onRemoving).then(function(){self.panelContainer.addClass("_md-panel-hidden")}).then(function(){var index;self.config.groupName&&(self.config.groupName=coerceToArray(self.config.groupName),angular.forEach(self.config.groupName,function(group){group=self._$mdPanel._groups[group],-1<(index=group.openPanels.indexOf(self))&&group.openPanels.splice(index,1)}))}).then(function(){var origin=self.config.origin;origin&&getElement(origin).focus()}).catch(reject)]).then(done,reject)})},MdPanelRef.prototype._compile=function(){var self=this;return self._$mdCompiler.compile(self.config).then(function(compileData){var config=self.config;if(config.contentElement){var panelEl=compileData.element;self._restoreCache.styles=panelEl[0].style.cssText,self._restoreCache.classes=panelEl[0].className,self.panelContainer=self._$mdPanel._wrapContentElement(panelEl),self.panelEl=panelEl}else self.panelContainer=compileData.link(config.scope),self.panelEl=angular.element(self.panelContainer[0].querySelector(".md-panel"));return self.innerWrapper=angular.element(self.panelContainer[0].querySelector(".md-panel-inner-wrapper")),self._compilerCleanup=compileData.cleanup,getElement(self.config.attachTo).append(self.panelContainer),self})},MdPanelRef.prototype._createPanel=function(){var self=this;
vendor: 6,215 bytes, line 1
1return this._$q(function(resolve,reject){self.config.locals||(self.config.locals={}),(self.config.locals.mdPanelRef=self)._compile().then(function(){self.config.disableParentScroll&&(self._restoreScroll=self._$mdUtil.disableScrollAround(null,self.panelContainer,{disableScrollMask:!0})),self.config.panelClass&&self.panelEl.addClass(self.config.panelClass),self.config.propagateContainerEvents&&(self.panelContainer.css("pointer-events","none"),self.panelEl.css("pointer-events","all")),self._$animate.pin&&self._$animate.pin(self.panelContainer,getElement(self.config.attachTo)),self._configureTrapFocus(),self._addStyles().then(function(){resolve(self)},reject)},reject)})},MdPanelRef.prototype._addStyles=function(){var self=this;return this._$q(function(resolve){self.panelContainer.css("z-index",self.config.zIndex),self.innerWrapper.css("z-index",self.config.zIndex+1);var hideAndResolve=function(){self._setTheming(),self.panelEl.removeClass("_md-panel-offscreen"),self.innerWrapper.removeClass("_md-panel-offscreen"),self.panelContainer.addClass("_md-panel-hidden"),resolve(self)};if(self.config.fullscreen)return self.panelEl.addClass("_md-panel-fullscreen"),void hideAndResolve();self.config.position?self._$rootScope.$$postDigest(function(){self._updatePosition(!0),self._setTheming(),resolve(self)}):hideAndResolve()})},MdPanelRef.prototype._setTheming=function(){this._$mdTheming(this.panelEl),this._$mdTheming(this.panelContainer)},MdPanelRef.prototype.updatePosition=function(position){if(!this.panelContainer)throw new Error("mdPanel: Panel does not exist yet. Call open() or attach().");this.config.position=position,this._updatePosition()},MdPanelRef.prototype._updatePosition=function(init){var positionConfig=this.config.position;positionConfig&&(positionConfig._setPanelPosition(this.innerWrapper),init&&(this.panelEl.removeClass("_md-panel-offscreen"),this.innerWrapper.removeClass("_md-panel-offscreen"),this.panelContainer.addClass("_md-panel-hidden")),this.innerWrapper.css(MdPanelPosition.absPosition.TOP,positionConfig.getTop()),this.innerWrapper.css(MdPanelPosition.absPosition.BOTTOM,positionConfig.getBottom()),this.innerWrapper.css(MdPanelPosition.absPosition.LEFT,positionConfig.getLeft()),this.innerWrapper.css(MdPanelPosition.absPosition.RIGHT,positionConfig.getRight()))},MdPanelRef.prototype._focusOnOpen=function(){if(this.config.focusOnOpen){var self=this;this._$rootScope.$$postDigest(function(){(self._$mdUtil.findFocusTarget(self.panelEl)||self.panelEl).focus()})}},MdPanelRef.prototype._createBackdrop=function(){if(this.config.hasBackdrop){if(!this._backdropRef){var backdropAnimation=this._$mdPanel.newPanelAnimation().openFrom(this.config.attachTo).withAnimation({open:"_md-opaque-enter",close:"_md-opaque-leave"});this.config.animation&&backdropAnimation.duration(this.config.animation._rawDuration);var backdropConfig={animation:backdropAnimation,attachTo:this.config.attachTo,focusOnOpen:!1,panelClass:"_md-panel-backdrop",zIndex:this.config.zIndex-1};this._backdropRef=this._$mdPanel.create(backdropConfig)}if(!this._backdropRef.isAttached)return this._backdropRef.attach()}},MdPanelRef.prototype._addEventListeners=function(){this._configureEscapeToClose(),this._configureClickOutsideToClose(),this._configureScrollListener()},MdPanelRef.prototype._removeEventListeners=function(){this._removeListeners&&this._removeListeners.forEach(function(removeFn){removeFn()}),this._removeListeners=[]},MdPanelRef.prototype._configureEscapeToClose=function(){if(this.config.escapeToClose){var parentTarget=getElement(this.config.attachTo),self=this,keyHandlerFn=function(ev){ev.keyCode===self._$mdConstant.KEY_CODE.ESCAPE&&(ev.stopPropagation(),ev.preventDefault(),self.close(MdPanelRef.closeReasons.ESCAPE))};this.panelContainer.on("keydown",keyHandlerFn),parentTarget.on("keydown",keyHandlerFn),this._removeListeners.push(function(){self.panelContainer.off("keydown",keyHandlerFn),parentTarget.off("keydown",keyHandlerFn)})}},MdPanelRef.prototype._configureClickOutsideToClose=function(){if(this.config.clickOutsideToClose){var sourceEl,target=this.config.propagateContainerEvents?angular.element(document.body):this.panelContainer,mousedownHandler=function(ev){sourceEl=ev.target},self=this,mouseupHandler=function(ev){self.config.propagateContainerEvents?sourceEl===self.panelEl[0]||self.panelEl[0].contains(sourceEl)||self.close():sourceEl===target[0]&&ev.target===target[0]&&(ev.stopPropagation(),ev.preventDefault(),self.close(MdPanelRef.closeReasons.CLICK_OUTSIDE))};target.on("mousedown",mousedownHandler),target.on("mouseup",mouseupHandler),this._removeListeners.push(function(){target.off("mousedown",mousedownHandler),target.off("mouseup",mouseupHandler)})}},MdPanelRef.prototype._configureScrollListener=function(){if(!this.config.disableParentScroll){var updatePosition=angular.bind(this,this._updatePosition),debouncedUpdatePosition=this._$$rAF.throttle(updatePosition),self=this,onScroll=function(){debouncedUpdatePosition()};this._$window.addEventListener("scroll",onScroll,!0),this._removeListeners.push(function(){self._$window.removeEventListener("scroll",onScroll,!0)})}},MdPanelRef.prototype._configureTrapFocus=function(){if(this.panelEl.attr("tabIndex","-1"),this.config.trapFocus){var element=this.panelEl;this._topFocusTrap=FOCUS_TRAP_TEMPLATE.clone()[0],this._bottomFocusTrap=FOCUS_TRAP_TEMPLATE.clone()[0];var focusHandler=function(){element.focus()};this._topFocusTrap.addEventListener("focus",focusHandler),this._bottomFocusTrap.addEventListener("focus",focusHandler),this._removeListeners.push(this._simpleBind(function(){this._topFocusTrap.removeEventListener("focus",focusHandler),this._bottomFocusTrap.removeEventListener("focus",focusHandler)},this)),element[0].parentNode.insertBefore(this._topFocusTrap,element[0]),element.after(this._bottomFocusTrap)}},MdPanelRef.prototype.updateAnimation=function(animation){this.config.animation=animation,this._backdropRef&&this._backdropRef.config.animation.duration(animation._rawDuration)},MdPanelRef.prototype._animateOpen=function(){this.panelContainer.addClass("md-panel-is-showing");var animationConfig=this.config.animation;if(!animationConfig)return this.panelContainer.addClass("_md-panel-sh
1own"),this._$q.when(this);var self=this;return this._$q(function(resolve){var done=self._done(resolve,self);animationConfig.animateOpen(self.panelEl).then(done,function(){self._$log.warn("mdPanel: MdPanel Animations failed. Showing panel without animating."),done()})})},MdPanelRef.prototype._animateClose=function(){var self=this,animationConfig=this.config.animation;return animationConfig?this._$q(function(resolve){var done=function(){self.panelContainer.removeClass("md-panel-is-showing"),self.panelEl.css("transform",""),resolve(self)};animationConfig.animateClose(self.panelEl).then(done,function(){self._$log.warn("mdPanel: MdPanel Animations failed. Hiding panel without animating."),done()})}):(this.panelContainer.removeClass("md-panel-is-showing"),this.panelContainer.removeClass("_md-panel-shown"),this._$q.when(this))},MdPanelRef.prototype.registerInterceptor=function(type,callback){var error=null;if(angular.isString(type)?angular.isFunction(callback)||(error="Interceptor callback must be a function, instead got "+typeof callback):error="Interceptor type must be a string, instead got "+typeof type,error)throw new Error("MdPanel: "+error);var interceptors=this._interceptors[type]=this._interceptors[type]||[];return-1===interceptors.indexOf(callback)&&interceptors.push(callback),this},MdPanelRef.prototype.removeInterceptor=function(type,callback){var index=this._interceptors[type]?this._interceptors[type].indexOf(callback):-1;return-1<index&&this._interceptors[type].splice(index,1),this},MdPanelRef.prototype.removeAllInterceptors=function(type){return type?this._interceptors[type]=[]:this._interceptors=Object.create(null),this},MdPanelRef.prototype._callInterceptors=function(type){var self=this,$q=self._$q;return(self._interceptors&&self._interceptors[type]||[]).reduceRight(function(promise,interceptor){var response=interceptor&&angular.isFunction(interceptor.then)?interceptor:null;return promise.then(function(){if(!response)try{response=interceptor(self)}catch(e){response=$q.reject(e)}return response})},$q.resolve(self))},MdPanelRef.prototype._simpleBind=function(callback,self){return function(value){return callback.apply(self,value)}},MdPanelRef.prototype._done=function(callback,self){return function(){callback(self)}},MdPanelRef.prototype.addToGroup=function(groupName){this._$mdPanel._groups[groupName]||this._$mdPanel.newPanelGroup(groupName);var group=this._$mdPanel._groups[groupName];group.panels.indexOf(this)<0&&group.panels.push(this)},MdPanelRef.prototype.removeFromGroup=function(groupName){if(!this._$mdPanel._groups[groupName])throw new Error("mdPanel: The group "+groupName+" does not exist.");var group=this._$mdPanel._groups[groupName],index=group.panels.indexOf(this);-1<index&&group.panels.splice(index,1)},MdPanelRef.closeReasons={CLICK_OUTSIDE:"clickOutsideToClose",ESCAPE:"escapeToClose"},MdPanelPosition.xPosition={CENTER:"center",ALIGN_START:"align-start",ALIGN_END:"align-end",OFFSET_START:"offset-start",OFFSET_END:"offset-end"},MdPanelPosition.yPosition={CENTER:"center",ALIGN_TOPS:"align-tops",ALIGN_BOTTOMS:"align-bottoms",ABOVE:"above",BELOW:"below"},MdPanelPosition.absPosition={TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},MdPanelPosition.viewportMargin=8,MdPanelPosition.prototype.absolute=function(){return this._absolute=!0,this},MdPanelPosition.prototype._setPosition=function(position,value){if(position===MdPanelPosition.absPosition.RIGHT||position===MdPanelPosition.absPosition.LEFT)this._left=this._right="";else{if(position!==MdPanelPosition.absPosition.BOTTOM&&position!==MdPanelPosition.absPosition.TOP){var positions=Object.keys(MdPanelPosition.absPosition).join().toLowerCase();throw new Error("mdPanel: Position must be one of "+positions+".")}this._top=this._bottom=""}return this["_"+position]=angular.isString(value)?value:"0",this},MdPanelPosition.prototype.top=function(top){return this._setPosition(MdPanelPosition.absPosition.TOP,top)},MdPanelPosition.prototype.bottom=function(bottom){return this._setPosition(MdPanelPosition.absPosition.BOTTOM,bottom)},MdPanelPosition.prototype.start=function(start){var position=this._isRTL?MdPanelPosition.absPosition.RIGHT:MdPanelPosition.absPosition.LEFT;return this._setPosition(position,start)}
vendor: 29,485 bytes, line 1
1,MdPanelPosition.prototype.end=function(end){var position=this._isRTL?MdPanelPosition.absPosition.LEFT:MdPanelPosition.absPosition.RIGHT;return this._setPosition(position,end)},MdPanelPosition.prototype.left=function(left){return this._setPosition(MdPanelPosition.absPosition.LEFT,left)},MdPanelPosition.prototype.right=function(right){return this._setPosition(MdPanelPosition.absPosition.RIGHT,right)},MdPanelPosition.prototype.centerHorizontally=function(){return this._left="50%",this._right="",this._translateX=["-50%"],this},MdPanelPosition.prototype.centerVertically=function(){return this._top="50%",this._bottom="",this._translateY=["-50%"],this},MdPanelPosition.prototype.center=function(){return this.centerHorizontally().centerVertically()},MdPanelPosition.prototype.relativeTo=function(element){return this._absolute=!1,this._relativeToEl=getElement(element),this},MdPanelPosition.prototype.addPanelPosition=function(xPosition,yPosition){if(!this._relativeToEl)throw new Error("mdPanel: addPanelPosition can only be used with relative positioning. Set relativeTo first.");return validatePosition(MdPanelPosition.xPosition,xPosition),validatePosition(MdPanelPosition.yPosition,yPosition),this._positions.push({x:xPosition,y:yPosition}),this},MdPanelPosition.prototype.withOffsetX=function(offsetX){return this._translateX.push(addUnits(offsetX)),this},MdPanelPosition.prototype.withOffsetY=function(offsetY){return this._translateY.push(addUnits(offsetY)),this},MdPanelPosition.prototype.getTop=function(){return this._top},MdPanelPosition.prototype.getBottom=function(){return this._bottom},MdPanelPosition.prototype.getLeft=function(){return this._left},MdPanelPosition.prototype.getRight=function(){return this._right},MdPanelPosition.prototype.getTransform=function(){return(this._reduceTranslateValues("translateX",this._translateX)+" "+this._reduceTranslateValues("translateY",this._translateY)).trim()},MdPanelPosition.prototype._setTransform=function(el){return el.css(this._$mdConstant.CSS.TRANSFORM,this.getTransform())},MdPanelPosition.prototype._isOnscreen=function(el){var left=parseInt(this.getLeft()),top=parseInt(this.getTop());if(this._translateX.length||this._translateY.length){var offsets=function(el,property){var transform=getComputedStyle(el[0]||el)[property],openIndex=transform.indexOf("("),closeIndex=transform.lastIndexOf(")"),output={x:0,y:0};if(-1<openIndex&&-1<closeIndex){var parsedValues=transform.substring(openIndex+1,closeIndex).split(", ").slice(-2);output.x=parseInt(parsedValues[0]),output.y=parseInt(parsedValues[1])}return output}(el,this._$mdConstant.CSS.TRANSFORM);left+=offsets.x,top+=offsets.y}var right=left+el[0].offsetWidth,bottom=top+el[0].offsetHeight;return 0<=left&&0<=top&&bottom<=this._$window.innerHeight&&right<=this._$window.innerWidth},MdPanelPosition.prototype.getActualPosition=function(){return this._actualPosition},MdPanelPosition.prototype._reduceTranslateValues=function(translateFn,values){return values.map(function(translation){var translationValue=angular.isFunction(translation)?addUnits(translation(this)):translation;return translateFn+"("+translationValue+")"},this).join(" ")},MdPanelPosition.prototype._setPanelPosition=function(el){if(el.removeClass("_md-panel-position-adjusted"),this._absolute)this._setTransform(el);else{if(this._actualPosition)return this._calculatePanelPosition(el,this._actualPosition),this._setTransform(el),void this._constrainToViewport(el);for(var i=0;i<this._positions.length;i++)if(this._actualPosition=this._positions[i],this._calculatePanelPosition(el,this._actualPosition),this._setTransform(el),this._isOnscreen(el))return;this._constrainToViewport(el)}},MdPanelPosition.prototype._constrainToViewport=function(el){var margin=MdPanelPosition.viewportMargin,initialTop=this._top,initialLeft=this._left;if(this.getTop()){var top=parseInt(this.getTop()),bottom=el[0].offsetHeight+top,viewportHeight=this._$window.innerHeight;top<margin?this._top=margin+"px":viewportHeight<bottom&&(this._top=top-(bottom-viewportHeight+margin)+"px")}if(this.getLeft()){var left=parseInt(this.getLeft()),right=el[0].offsetWidth+left,viewportWidth=this._$window.innerWidth;left<margin?this._left=margin+"px":viewportWidth<right&&(this._left=left-(right-viewportWidth+margin)+"px")}el.toggleClass("_md-panel-position-adjusted",this._top!==initialTop||this._left!==initialLeft)},MdPanelPosition.prototype._reverseXPosition=function(position){if(position===MdPanelPosition.xPosition.CENTER)return position;return-1<position.indexOf("start")?position.replace("start","end"):position.replace("end","start")},MdPanelPosition.prototype._bidi=function(position){return this._isRTL?this._reverseXPosition(position):position},MdPanelPosition.prototype._calculatePanelPosition=function(el,position){var panelBounds=el[0].getBoundingClientRect(),panelWidth=Math.max(panelBounds.width,el[0].clientWidth),panelHeight=Math.max(panelBounds.height,el[0].clientHeight),targetBounds=this._relativeToEl[0].getBoundingClientRect(),targetLeft=targetBounds.left,targetRight=targetBounds.right,targetWidth=targetBounds.width;switch(this._bidi(position.x)){case MdPanelPosition.xPosition.OFFSET_START:this._left=targetLeft-panelWidth+"px";break;case MdPanelPosition.xPosition.ALIGN_END:this._left=targetRight-panelWidth+"px";break;case MdPanelPosition.xPosition.CENTER:var left=targetLeft+.5*targetWidth-.5*panelWidth;this._left=left+"px";break;case MdPanelPosition.xPosition.ALIGN_START:this._left=targetLeft+"px";break;case MdPanelPosition.xPosition.OFFSET_END:this._left=targetRight+"px"}var targetTop=targetBounds.top,targetBottom=targetBounds.bottom,targetHeight=targetBounds.height;switch(position.y){case MdPanelPosition.yPosition.ABOVE:this._top=targetTop-panelHeight+"px";break;case MdPanelPosition.yPosition.ALIGN_BOTTOMS:this._top=targetBottom-panelHeight+"px";break;case MdPanelPosition.yPosition.CENTER:var top=targetTop+.5*targetHeight-.5*panelHeight;this._top=top+"px";break;case MdPanelPosition.yPosition.ALIGN_TOPS:this._top=targetTop+"px";break;case MdPanelPosition.yPosition.BELOW:this._top=targetBottom+"px"}},MdPanelAnimation.animation={SLIDE:"md-panel-animate-slide",SCALE:"md-panel-animate-scale",FADE:"md-panel-animate-fade"},MdPanelAnimation.prototype.openFrom=function(openFrom){return openFrom=openFrom.target?openFrom.target:openFrom,this._openFrom=this._getPanelAnimationTarget(openFrom),this._closeTo||(this._closeTo=this._openFrom),this},MdPanelAnimation.prototype.closeTo=function(closeTo){return this._closeTo=this._getPanelAnimationTarget(closeTo),this},MdPanelAnimation.prototype.duration=function(duration){return duration&&(angular.isNumber(duration)?this._openDuration=this._closeDuration=toSeconds(duration):angular.isObject(duration)&&(this._openDuration=toSeconds(duration.open),this._closeDuration=toSeconds(duration.close))),this._rawDuration=duration,this;function toSeconds(value){if(angular.isNumber(value))return value/1e3}},MdPanelAnimation.prototype._getPanelAnimationTarget=function(location){return angular.isDefined(location.top)||angular.isDefined(location.left)?{element:void 0,bounds:{top:location.top||0,left:location.left||0}}:this._getBoundingClientRect(getElement(location))},MdPanelAnimation.prototype.withAnimation=function(cssClass){return this._animationClass=cssClass,this},MdPanelAnimation.prototype.animateOpen=function(panelEl){var animator=this._$mdUtil.dom.animator;this._fixBounds(panelEl);var animationOptions={},panelTransform=panelEl[0].style.transform||"",openFrom=animator.toTransformCss(panelTransform),openTo=animator.toTransformCss(panelTransform);switch(this._animationClass){case MdPanelAnimation.animation.SLIDE:panelEl.css("opacity","1"),animationOptions={transitionInClass:"_md-panel-animate-enter",transitionOutClass:"_md-panel-animate-leave"};var openSlide=animator.calculateSlideToOrigin(panelEl,this._openFrom)||"";openFrom=animator.toTransformCss(openSlide+" "+panelTransform);break;case MdPanelAnimation.animation.SCALE:animationOptions={transitionInClass:"_md-panel-animate-enter"};var openScale=animator.calculateZoomToOrigin(panelEl,this._openFrom)||"";openFrom=animator.toTransformCss(panelTransform+" "+openScale);break;case MdPanelAnimation.animation.FADE:animationOptions={transitionInClass:"_md-panel-animate-enter"};break;default:animationOptions=angular.isString(this._animationClass)?{transitionInClass:this._animationClass}:{transitionInClass:this._animationClass.open,transitionOutClass:this._animationClass.close}}return animationOptions.duration=this._openDuration,animator.translate3d(panelEl,openFrom,openTo,animationOptions)},MdPanelAnimation.prototype.animateClose=function(panelEl){var animator=this._$mdUtil.dom.animator,reverseAnimationOptions={},panelTransform=panelEl[0].style.transform||"",closeFrom=animator.toTransformCss(panelTransform),closeTo=animator.toTransformCss(panelTransform);switch(this._animationClass){case MdPanelAnimation.animation.SLIDE:panelEl.css("opacity","1"),reverseAnimationOptions={transitionInClass:"_md-panel-animate-leave",transitionOutClass:"_md-panel-animate-enter _md-panel-animate-leave"};var closeSlide=animator.calculateSlideToOrigin(panelEl,this._closeTo)||"";closeTo=animator.toTransformCss(closeSlide+" "+panelTransform);break;case MdPanelAnimation.animation.SCALE:reverseAnimationOptions={transitionInClass:"_md-panel-animate-scale-out _md-panel-animate-leave",transitionOutClass:"_md-panel-animate-scale-out _md-panel-animate-enter _md-panel-animate-leave"};var closeScale=animator.calculateZoomToOrigin(panelEl,this._closeTo)||"";closeTo=animator.toTransformCss(panelTransform+" "+closeScale);break;case MdPanelAnimation.animation.FADE:reverseAnimationOptions={transitionInClass:"_md-panel-animate-fade-out _md-panel-animate-leave",transitionOutClass:"_md-panel-animate-fade-out _md-panel-animate-enter _md-panel-animate-leave"};break;default:reverseAnimationOptions=angular.isString(this._animationClass)?{transitionOutClass:this._animationClass}:{transitionInClass:this._animationClass.close,transitionOutClass:this._animationClass.open}}return reverseAnimationOptions.duration=this._closeDuration,animator.translate3d(panelEl,closeFrom,closeTo,reverseAnimationOptions)},MdPanelAnimation.prototype._fixBounds=function(panelEl){var panelWidth=panelEl[0].offsetWidth,panelHeight=panelEl[0].offsetHeight;this._openFrom&&null==this._openFrom.bounds.height&&(this._openFrom.bounds.height=panelHeight),this._openFrom&&null==this._openFrom.bounds.width&&(this._openFrom.bounds.width=panelWidth),this._closeTo&&null==this._closeTo.bounds.height&&(this._closeTo.bounds.height=panelHeight),this._closeTo&&null==this._closeTo.bounds.width&&(this._closeTo.bounds.width=panelWidth)},MdPanelAnimation.prototype._getBoundingClientRect=function(element){if(element instanceof angular.element)return{element:element,bounds:element[0].getBoundingClientRect()}}}(),angular.module("material.components.progressCircular",["material.core"]),function(){function MdProgressCircularDirective($window,$mdProgressCircular,$mdTheming,$mdUtil,$interval,$log){var rAF=$window.requestAnimationFrame||$window.webkitRequestAnimationFrame||angular.noop,cAF=$window.cancelAnimationFrame||$window.webkitCancelAnimationFrame||$window.webkitCancelRequestAnimationFrame||angular.noop;return{restrict:"E",scope:{value:"@",mdDiameter:"@",mdMode:"@"},template:'<svg xmlns="http://www.w3.org/2000/svg"><path fill="none"/></svg>',compile:function(element,attrs){if(element.attr({"aria-valuemin":0,"aria-valuemax":100,role:"progressbar"}),angular.isUndefined(attrs.mdMode)){var mode=attrs.hasOwnProperty("value")?"determinate":"indeterminate";attrs.$set("mdMode",mode)}else attrs.$set("mdMode",attrs.mdMode.trim());return MdProgressCircularLink}};function MdProgressCircularLink(scope,element,attrs){var lastDrawFrame,interval,node=element[0],svg=angular.element(node.querySelector("svg")),path=angular.element(node.querySelector("path")),startIndeterminate=$mdProgressCircular.startIndeterminate,endIndeterminate=$mdProgressCircular.endIndeterminate,iterationCount=0,lastAnimationId=0;function renderCircle(animateFrom,animateTo,easing,duration,iterationCount,maxValue){var id=++lastAnimationId,startTime=$mdUtil.now(),changeInValue=animateTo-animateFrom,diameter=getSize(scope.mdDiameter),strokeWidth=getStroke(diameter),ease=easing||$mdProgressCircular.easeFn,animationDuration=duration||$mdProgressCircular.duration,rotation=-90*(iterationCount||0),dashLimit=maxValue||100;function renderFrame(value){path.attr("stroke-dashoffset",getDashOffset(diameter,strokeWidth,value,dashLimit)),path.attr("transform","rotate("+rotation+" "+diameter/2+" "+diameter/2+")")}animateTo===animateFrom?renderFrame(animateTo):lastDrawFrame=rAF(function animation(){var currentTime=$window.Math.max(0,$window.Math.min($mdUtil.now()-startTime,animationDuration));renderFrame(ease(currentTime,animateFrom,changeInValue,animationDuration)),id===lastAnimationId&¤tTime<animationDuration&&(lastDrawFrame=rAF(animation))})}function animateIndeterminate(){renderCircle(startIndeterminate,endIndeterminate,$mdProgressCircular.easeFnIndeterminate,$mdProgressCircular.durationIndeterminate,iterationCount,75),iterationCount=++iterationCount%4}function startIndeterminateAnimation(){interval||(interval=$interval(animateIndeterminate,$mdProgressCircular.durationIndeterminate,0,!1),animateIndeterminate(),element.addClass("md-mode-indeterminate").removeAttr("aria-valuenow"))}function cleanupIndeterminateAnimation(){interval&&($interval.cancel(interval),interval=null,element.removeClass("md-mode-indeterminate"))}$mdTheming(element),element.toggleClass("_md-progress-circular-disabled",attrs.hasOwnProperty("disabled")),"indeterminate"===scope.mdMode&&startIndeterminateAnimation(),scope.$on("$destroy",function(){cleanupIndeterminateAnimation(),lastDrawFrame&&cAF(lastDrawFrame)}),scope.$watchGroup(["value","mdMode",function(){var isDisabled=node.disabled;return!0===isDisabled||!1===isDisabled?isDisabled:angular.isDefined(element.attr("disabled"))}],function(newValues,oldValues){var mode=newValues[1],isDisabled=newValues[2],diameter=0,strokeWidth=0;if(isDisabled!==oldValues[2]&&element.toggleClass("_md-progress-circular-disabled",!!isDisabled),isDisabled)cleanupIndeterminateAnimation();else if("determinate"!==mode&&"indeterminate"!==mode&&(mode="indeterminate",attrs.$set("mdMode",mode)),"indeterminate"===mode)"determinate"===oldValues[1]&&(strokeWidth=getStroke(diameter=getSize(scope.mdDiameter)),path.attr("d",getSvgArc(diameter,strokeWidth,!0)),path.attr("stroke-dasharray",getDashLength(diameter,strokeWidth,75))),startIndeterminateAnimation();else{var newValue=clamp(newValues[0]),oldValue=clamp(oldValues[0]);cleanupIndeterminateAnimation(),"indeterminate"===oldValues[1]&&(strokeWidth=getStroke(diameter=getSize(scope.mdDiameter)),path.attr("d",getSvgArc(diameter,strokeWidth,!1)),path.attr("stroke-dasharray",getDashLength(diameter,strokeWidth,100))),element.attr("aria-valuenow",newValue),renderCircle(oldValue,newValue)}}),scope.$watch("mdDiameter",function(newValue){var diameter=getSize(newValue),strokeWidth=getStroke(diameter),value=clamp(scope.value),transformOrigin=diameter/2+"px",dimensions={width:diameter+"px",height:diameter+"px"};svg[0].setAttribute("viewBox","0 0 "+diameter+" "+diameter),svg.css(dimensions).css("transform-origin",transformOrigin+" "+transformOrigin+" "+transformOrigin),element.css(dimensions),path.attr("stroke-width",strokeWidth),path.attr("stroke-linecap","square"),"indeterminate"==scope.mdMode?(path.attr("d",getSvgArc(diameter,strokeWidth,!0)),path.attr("stroke-dasharray",getDashLength(diameter,strokeWidth,75)),path.attr("stroke-dashoffset",getDashOffset(diameter,strokeWidth,1,75))):(path.attr("d",getSvgArc(diameter,strokeWidth,!1)),path.attr("stroke-dasharray",getDashLength(diameter,strokeWidth,100)),path.attr("stroke-dashoffset",getDashOffset(diameter,strokeWidth,0,100)),renderCircle(value,value))})}function getSvgArc(diameter,strokeWidth,indeterminate){var radius=diameter/2,offset=strokeWidth/2,start=radius+","+offset,arcRadius=radius-offset;return"M"+start+"A"+arcRadius+","+arcRadius+" 0 1 1 "+(offset+","+radius)+(indeterminate?"":"A"+arcRadius+","+arcRadius+" 0 0 1 "+start)}function getDashOffset(diameter,strokeWidth,value,maxArcLength){return getSpinnerCircumference(diameter,strokeWidth)*((maxArcLength-value)/100)}function clamp(value){return $window.Math.max(0,$window.Math.min(value||0,100))}function getSize(value){var defaultValue=$mdProgressCircular.progressSize;if(value){var parsed=parseFloat(value);return value.lastIndexOf("%")===value.length-1&&(parsed=parsed/100*defaultValue),parsed}return defaultValue}function getStroke(diameter){return $mdProgressCircular.strokeWidth/100*diameter}function getDashLength(diameter,strokeWidth,value){return getSpinnerCircumference(diameter,strokeWidth)*(value/100)}function getSpinnerCircumference(diameter,strokeWidth){return(diameter-strokeWidth)*$window.Math.PI}}MdProgressCircularDirective.$inject=["$window","$mdProgressCircular","$mdTheming","$mdUtil","$interval","$log"],angular.module("material.components.progressCircular").directive("mdProgressCircular",MdProgressCircularDirective)}(),angular.module("material.components.progressCircular").provider("$mdProgressCircular",function(){var progressConfig={progressSize:50,strokeWidth:10,duration:100,easeFn:linearEase,durationIndeterminate:1333,startIndeterminate:1,endIndeterminate:149,easeFnIndeterminate:materialEase,easingPresets:{linearEase:linearEase,materialEase:materialEase}};return{configure:function(options){return progressConfig=angular.extend(progressConfig,options||{})},$get:function(){return progressConfig}};function linearEase(t,b,c,d){return c*t/d+b}function materialEase(t,b,c,d){var ts=(t/=d)*t,tc=ts*t;return b+c*(6*tc*ts+-15*ts*ts+10*tc)}}),function(){function MdProgressLinearDirective($mdTheming,$mdUtil,$log){var MODE_DETERMINATE="determinate",MODE_INDETERMINATE="indeterminate",MODE_BUFFER="buffer",MODE_QUERY="query",DISABLED_CLASS="_md-progress-linear-disabled";return{restrict:"E",template:'<div class="md-container"><div class="md-dashed"></div><div class="md-bar md-bar1"></div><div class="md-bar md-bar2"></div></div>',compile:function(tElement,tAttrs,transclude){return tElement.attr("aria-valuemin",0),tElement.attr("aria-valuemax",100),tElement.attr("role","progressbar"),postLink}};function postLink(scope,element,attr){var lastMode;$mdTheming(element);var isDisabled=attr.hasOwnProperty("disabled"),toVendorCSS=$mdUtil.dom.animator.toCss,bar1=angular.element(element[0].querySelector(".md-bar1")),bar2=angular.element(element[0].querySelector(".md-bar2")),container=angular.element(element[0].querySelector(".md-container"));function mode(){var value=(attr.mdMode||"").trim();if(value)switch(value){case MODE_DETERMINATE:case MODE_INDETERMINATE:case MODE_BUFFER:case MODE_QUERY:break;default:value=MODE_INDETERMINATE}return value}function animateIndicator(target,value){if(!isDisabled&&mode()){var to=$mdUtil.supplant("translateX({0}%) scale({1},1)",[(value-100)/2,value/100]),styles=toVendorCSS({transform:to});angular.element(target).css(styles)}}element.attr("md-mode",mode()).toggleClass(DISABLED_CLASS,isDisabled),function(){if(angular.isUndefined(attr.mdMode)){var hasValue=angular.isDefined(attr.value),mode=hasValue?MODE_DETERMINATE:MODE_INDETERMINATE;element.attr("md-mode",mode),attr.mdMode=mode}}(),attr.$observe("value",function(value){var percentValue=clamp(value);element.attr("aria-valuenow",percentValue),mode()!=MODE_QUERY&&animateIndicator(bar2,percentValue)}),attr.$observe("mdBufferValue",function(value){animateIndicator(bar1,clamp(value))}),attr.$observe("disabled",function(value){isDisabled=!0===value||!1===value?!!value:angular.isDefined(value),element.toggleClass(DISABLED_CLASS,isDisabled),container.toggleClass(lastMode,!isDisabled)}),attr.$observe("mdMode",function(mode){switch(lastMode&&container.removeClass(lastMode),mode){case MODE_QUERY:case MODE_BUFFER:case MODE_DETERMINATE:case MODE_INDETERMINATE:container.addClass(lastMode="md-mode-"+mode);break;default:container.addClass(lastMode="md-mode-"+MODE_INDETERMINATE)}})}function clamp(value){return Math.max(0,Math.min(value||0,100))}}MdProgressLinearDirective.$inject=["$mdTheming","$mdUtil","$log"],angular.module("material.components.progressLinear",["material.core"]).directive("mdProgressLinear",MdProgressLinearDirective)}(),function(){mdRadioGroupDirective.$inject=["$mdUtil","$mdConstant","$mdTheming","$timeout"],mdRadioButtonDirective.$inject=["$mdAria","$mdUtil","$mdTheming"],angular.module("material.components.radioButton",["material.core"]).directive("mdRadioGroup",mdRadioGroupDirective).directive("mdRadioButton",mdRadioButtonDirective);var incrementSelection=Object.freeze({PREVIOUS:-1,CURRENT:0,NEXT:1});function mdRadioGroupDirective($mdUtil,$mdConstant,$mdTheming,$timeout){return RadioGroupController.prototype={init:function(ngModelCtrl){this._ngModelCtrl=ngModelCtrl,this._ngModelCtrl.$render=angular.bind(this,this.render)},add:function(rbRender){this._radioButtonRenderFns.push(rbRender)},remove:function(rbRender){var index=this._radioButtonRenderFns.indexOf(rbRender);-1!==index&&this._radioButtonRenderFns.splice(index,1)},render:function(){this._radioButtonRenderFns.forEach(function(rbRender){rbRender()})},setViewValue:function(value,eventType){this._ngModelCtrl.$setViewValue(value,eventType),this.render()},getViewValue:function(){return this._ngModelCtrl.$viewValue},selectCurrent:function(){return changeSelectedButton(this.$element,incrementSelection.CURRENT)},selectNext:function(){return changeSelectedButton(this.$element,incrementSelection.NEXT)},selectPrevious:function(){return changeSelectedButton(this.$element,incrementSelection.PREVIOUS)},setActiveDescendant:function(radioId){this.$element.attr("aria-activedescendant",radioId)},isDisabled:function(){return this.$element[0].hasAttribute("disabled")}},{restrict:"E",controller:["$element",RadioGroupController],require:["mdRadioGroup","?ngModel"],link:{pre:function(scope,element,attr,controllers){element.addClass("_md"),$mdTheming(element);var radioGroupController=controllers[0],ngModelCtrl=controllers[1]||$mdUtil.fakeNgModel();function setFocus(){element.hasClass("md-focused")||element.addClass("md-focused")}radioGroupController.init(ngModelCtrl),scope.mouseActive=!1,element.attr({role:"radiogroup",tabIndex:element.attr("tabindex")||"0"}).on("keydown",function(keyboardEvent){var keyCode=keyboardEvent.which||keyboardEvent.keyCode;if(keyCode!==$mdConstant.KEY_CODE.ENTER&&keyboardEvent.currentTarget!==keyboardEvent.target)return;switch(keyCode){case $mdConstant.KEY_CODE.LEFT_ARROW:case $mdConstant.KEY_CODE.UP_ARROW:keyboardEvent.preventDefault(),radioGroupController.selectPrevious(),setFocus();break;case $mdConstant.KEY_CODE.RIGHT_ARROW:case $mdConstant.KEY_CODE.DOWN_ARROW:keyboardEvent.preventDefault(),radioGroupController.selectNext(),setFocus();break;case $mdConstant.KEY_CODE.SPACE:keyboardEvent.preventDefault(),radioGroupController.selectCurrent();break;case $mdConstant.KEY_CODE.ENTER:var form=angular.element($mdUtil.getClosest(element[0],"form"));0<form.length&&form.triggerHandler("submit")}}).on("mousedown",function(){scope.mouseActive=!0,$timeout(function(){scope.mouseActive=!1},100)}).on("focus",function(){!1===scope.mouseActive&&radioGroupController.$element.addClass("md-focused")}).on("blur",function(){radioGroupController.$element.removeClass("md-focused")}),$mdUtil.nextTick(function(){var radioButtons=getRadioButtons(radioGroupController.$element);radioButtons.count()&&!radioGroupController.$element[0].hasAttribute("aria-activedescendant")&&radioGroupController.setActiveDescendant(radioButtons.first().id)})}}};function RadioGroupController($element){this._radioButtonRenderFns=[],this.$element=$element}function getRadioButtons(parent){return $mdUtil.iterator(parent[0].querySelectorAll("md-radio-button"),!0)}function changeSelectedButton(parent,increment){var target,buttons=getRadioButtons(parent);if(buttons.count()){var selected=parent[0].querySelector("md-radio-button.md-checked");selected?increment!==incrementSelection.PREVIOUS&&increment!==incrementSelection.NEXT||(target=buttons[increment===incrementSelection.PREVIOUS?"previous":"next"](selected,function(button){return!angular.element(button).attr("disabled")})):target=buttons.first(),target&&angular.element(target).triggerHandler("click")}}}function mdRadioButtonDirective($mdAria,$mdUtil,$mdTheming){return{restrict:"E",require:"^mdRadioGroup",transclude:!0,template:'<div class="md-container" md-ink-ripple md-ink-ripple-checkbox><div class="md-off"></div><div class="md-on"></div></div><div ng-transclude class="md-label"></div>',link:function(scope,element,attr,radioGroupController){var lastChecked;$mdTheming(element),function(element){element.attr({id:attr.id||"radio_"+$mdUtil.nextUid(),role:"radio","aria-checked":"false"}),$mdAria.expectWithText(element,"aria-label")}(element),element.addClass("md-auto-horizontal-margin"),attr.ngValue?$mdUtil.nextTick(initialize,!1):initialize();function initialize(){if(!radioGroupController)throw"RadioButton: No RadioGroupController could be found.";radioGroupController.add(render),attr.$observe("value",render),element.on("click",listener).on("$destroy",function(){radioGroupController.remove(render)})}function listener(ev){element[0].hasAttribute("disabled")||radioGroupController.isDisabled()||scope.$apply(function(){radioGroupController.setViewValue(attr.value,ev&&ev.type)})}function render(){var checked=radioGroupController.getViewValue()==attr.value;checked!==lastChecked&&(element[0]&&element[0].parentNode&&"md-radio-group"!==element[0].parentNode.nodeName.toLowerCase()&&element.parent().toggleClass("md-checked",checked),checked&&radioGroupController.setActiveDescendant(element.attr("id")),lastChecked=checked,element.attr("aria-checked",checked).toggleClass("md-checked",checked))}}}}}(),function(){SelectDirective.$inject=["$mdSelect","$mdUtil","$mdConstant","$mdTheming","$mdAria","$parse","$sce"],SelectMenuDirective.$inject=["$parse","$mdUtil","$mdConstant","$mdTheming"],OptionDirective.$inject=["$mdButtonInkRipple","$mdUtil","$mdTheming"],SelectProvider.$inject=["$$interimElementProvider"],OptionController.$inject=["$element"];var SELECT_EDGE_MARGIN=8,selectNextId=0,CHECKBOX_SELECTION_INDICATOR=angular.element('<div class="md-container"><div class="md-icon"></div></div>');function SelectDirective($mdSelect,$mdUtil,$mdConstant,$mdTheming,$mdAria,$parse,$sce){return{restrict:"E",require:["^?mdInputContainer","mdSelect","ngModel","?^form"],compile:function(tElement,tAttrs){var isMultiple=$mdUtil.parseAttributeBoolean(tAttrs.multiple);tElement.addClass("md-auto-horizontal-margin");var valueEl=angular.element("<md-select-value><span></span></md-select-value>");valueEl.append('<span class="md-select-icon" aria-hidden="true"></span>'),valueEl.addClass("md-select-value"),valueEl[0].hasAttribute("id")||valueEl.attr("id","select_value_label_"+$mdUtil.nextUid());var mdContentEl=tElement.find("md-content");mdContentEl.length||(tElement.append(angular.element("<md-content>").append(tElement.contents())),mdContentEl=tElement.find("md-content"));mdContentEl.attr("role","listbox"),mdContentEl.attr("tabindex","-1"),isMultiple?mdContentEl.attr("aria-multiselectable","true"):mdContentEl.attr("aria-multiselectable","false");tAttrs.mdOnOpen&&(tElement.find("md-content").prepend(angular.element('<div> <md-progress-circular md-mode="indeterminate" ng-if="$$loadingAsyncDone === false" md-diameter="25px"></md-progress-circular></div>')),tElement.find("md-option").attr("ng-show","$$loadingAsyncDone"));if(tAttrs.name){var autofillClone=angular.element('<select class="md-visually-hidden"></select>');autofillClone.attr({name:tAttrs.name,"aria-hidden":"true",tabindex:"-1"});var opts=tElement.find("md-option");angular.forEach(opts,function(el){var newEl=angular.element("<option>"+el.innerHTML+"</option>");el.hasAttribute("ng-value")?newEl.attr("ng-value",el.getAttribute("ng-value")):el.hasAttribute("value")&&newEl.attr("value",el.getAttribute("value")),autofillClone.append(newEl)}),autofillClone.append('<option ng-value="'+tAttrs.ngModel+'" selected></option>'),tElement.parent().append(autofillClone)}var multipleContent=isMultiple?"multiple":"",ngModelOptions=tAttrs.ngModelOptions?$mdUtil.supplant('ng-model-options="{0}"',[tAttrs.ngModelOptions]):"",selectTemplate='<div class="md-select-menu-container" aria-hidden="true" role="presentation"> <md-select-menu role="presentation" {0} {1}>{2}</md-select-menu></div>';selectTemplate=$mdUtil.supplant(selectTemplate,[multipleContent,ngModelOptions,tElement.html()]),tElement.empty().append(valueEl),tElement.append(selectTemplate),tAttrs.tabindex||tAttrs.$set("tabindex",0);return function(scope,element,attrs,ctrls){var isDisabled,stopMdMultipleWatch,selectContainer,selectScope,selectMenuCtrl,untouched=!0,containerCtrl=ctrls[0],mdSelectCtrl=ctrls[1],ngModelCtrl=ctrls[2],formCtrl=ctrls[3],selectValueElement=element.find("md-select-value"),isReadonly=angular.isDefined(attrs.readonly),disableAsterisk=$mdUtil.parseAttributeBoolean(attrs.mdNoAsterisk),userDefinedLabelledby=angular.isDefined(attrs.ariaLabelledby),listboxContentElement=element.find("md-content"),initialPlaceholder=element.attr("placeholder");if(disableAsterisk&&element.addClass("md-no-asterisk"),containerCtrl){var isErrorGetter=containerCtrl.isErrorGetter||function(){return ngModelCtrl.$invali
vendor: 5,187 bytes, line 1
1d&&(ngModelCtrl.$touched||formCtrl&&formCtrl.$submitted)};if(containerCtrl.input&&element.find("md-select-header").find("input")[0]!==containerCtrl.input[0])throw new Error("<md-input-container> can only have *one* child <input>, <textarea>, or <select> element!");if(containerCtrl.input=element,containerCtrl.label)containerCtrl.label.attr("aria-hidden","true"),listboxContentElement.attr("aria-label",containerCtrl.label.text()),containerCtrl.setHasPlaceholder(!!initialPlaceholder);else{$mdAria.expect(element,"aria-label",initialPlaceholder);var selectLabel=element.attr("aria-label");selectLabel||(selectLabel=initialPlaceholder),listboxContentElement.attr("aria-label",selectLabel)}var stopInvalidWatch=scope.$watch(isErrorGetter,containerCtrl.setInvalid)}selectContainer=function(){var selectContainer=angular.element(element[0].querySelector(".md-select-menu-container"));return selectScope=scope,attrs.mdContainerClass&&selectContainer.addClass(attrs.mdContainerClass),(selectMenuCtrl=selectContainer.find("md-select-menu").controller("mdSelectMenu")).init(ngModelCtrl,attrs),element.on("$destroy",function(){selectContainer.remove()}),selectContainer}(),$mdTheming(element);var originalRender=ngModelCtrl.$render;ngModelCtrl.$render=function(){originalRender(),syncSelectValueText(),inputCheckValue()};var stopPlaceholderObserver=attrs.$observe("placeholder",ngModelCtrl.$render),stopRequiredObserver=attrs.$observe("required",function(value){containerCtrl&&containerCtrl.label&&containerCtrl.label.toggleClass("md-required",value&&!disableAsterisk),element.removeAttr("aria-required"),value?listboxContentElement.attr("aria-required","true"):listboxContentElement.removeAttr("aria-required")});if(mdSelectCtrl.setSelectValueText=function(text){var useDefaultText=void 0===text||""===text,isSelectLabelFromUser=!1;if(mdSelectCtrl.setIsPlaceholder(!text),attrs.mdSelectedText&&attrs.mdSelectedHtml)throw Error("md-select cannot have both `md-selected-text` and `md-selected-html`");if(attrs.mdSelectedText||attrs.mdSelectedHtml)text=$parse(attrs.mdSelectedText||attrs.mdSelectedHtml)(scope),isSelectLabelFromUser=!0;else if(useDefaultText){var tmpPlaceholder=attrs.placeholder||(containerCtrl&&containerCtrl.label?containerCtrl.label.text():"");text=tmpPlaceholder||"",isSelectLabelFromUser=!0}var target=selectValueElement.children().eq(0);attrs.mdSelectedHtml?target.html($sce.getTrustedHtml(text)):isSelectLabelFromUser?target.text(text):target.html(text),useDefaultText?(selectValueElement.attr("aria-hidden","true"),userDefinedLabelledby||element.removeAttr("aria-labelledby")):(selectValueElement.removeAttr("aria-hidden"),userDefinedLabelledby||element.attr("aria-labelledby",element[0].id+" "+selectValueElement[0].id))},mdSelectCtrl.setIsPlaceholder=function(isPlaceholder){isPlaceholder?(selectValueElement.addClass("md-select-placeholder"),containerCtrl&&containerCtrl.label&&!element.attr("placeholder")&&containerCtrl.label.addClass("md-placeholder")):(selectValueElement.removeClass("md-select-placeholder"),containerCtrl&&containerCtrl.label&&!element.attr("placeholder")&&containerCtrl.label.removeClass("md-placeholder"))},!isReadonly){element.on("focus",function(){containerCtrl&&containerCtrl.setFocused(!0)}),element.on("blur",function(event){untouched&&(untouched=!1,selectScope._mdSelectIsOpen&&event.stopImmediatePropagation());containerCtrl&&containerCtrl.setFocused(!1),inputCheckValue()})}mdSelectCtrl.triggerClose=function(){$parse(attrs.mdOnClose)(scope)},scope.$$postDigest(function(){!function(){var labelText=element.attr("aria-label")||element.attr("placeholder");!labelText&&containerCtrl&&containerCtrl.label&&(labelText=containerCtrl.label.text());$mdAria.expect(element,"aria-label",labelText)}(),syncSelectValueText()});var stopSelectedLabelsWatcher=scope.$watch(function(){return selectMenuCtrl.getSelectedLabels()},syncSelectValueText);function syncSelectValueText(){selectMenuCtrl=selectMenuCtrl||selectContainer.find("md-select-menu").controller("mdSelectMenu"),mdSelectCtrl.setSelectValueText(selectMenuCtrl.getSelectedLabels())}var stopMdMultipleObserver=attrs.$observe("mdMultiple",function(val){stopMdMultipleWatch&&stopMdMultipleWatch();var parser=$parse(val);stopMdMultipleWatch=scope.$watch(function(){return parser(scope)},function(multiple,prevVal){var selectMenu=selectContainer.find("md-select-menu");if(void 0!==multiple||void 0!==prevVal){if(multiple){var setMultipleAttrs={multiple:"multiple"};element.attr(setMultipleAttrs),selectMenu.attr(setMultipleAttrs)}else element.removeAttr("multiple"),selectMenu.removeAttr("multiple");element.find("md-content").attr("aria-multiselectable",multiple?"true":"false"),selectContainer&&(selectMenuCtrl.setMultiple(Boolean(multiple)),originalRender=ngModelCtrl.$render,ngModelCtrl.$render=function(){originalRender(),syncSelectValueText(),inputCheckValue()},ngModelCtrl.$render())}})}),stopDisabledObserver=attrs.$observe("disabled",function(disabled){angular.isString(disabled)&&(disabled=!0),void 0!==isDisabled&&isDisabled===disabled||((isDisabled=disabled)?element.attr({"aria-disabled":"true"}).removeAttr("tabindex").removeAttr("aria-expanded").removeAttr("aria-haspopup").off("
1click",openSelect).off("keydown",handleKeypress):element.attr({tabindex:attrs.tabindex,"aria-haspopup":"listbox"}).removeAttr("aria-disabled").on("click",openSelect).on("keydown",handleKeypress))});attrs.hasOwnProperty("disabled")||attrs.hasOwnProperty("ngDisabled")||(element.attr({"aria-disabled":"false"}),element.on("click",openSelect),element.on("keydown",handleKeypress));var ariaAttrs={role:"button","aria-haspopup":"listbox"};element[0].hasAttribute("id")||(ariaAttrs.id="select_"+$mdUtil.nextUid());var containerId="select_container_"+$mdUtil.nextUid();selectContainer.attr("id",containerId);var listboxContentId="select_listbox_"+$mdUtil.nextUid();function inputCheckValue(){$mdUtil.nextTick(function(){containerCtrl&&containerCtrl.setHasValue(0<selectMenuCtrl.getSelectedLabels().length||(element[0].validity||{}).badInput)})}function handleKeypress(e){if($mdConstant.isNavigationKey(e))e.preventDefault(),openSelect();else if(shouldHandleKey(e,$mdConstant)){e.preventDefault();var node=selectMenuCtrl.optNodeForKeyboardSearch(e);if(!node||node.hasAttribute("disabled"))return;var optionCtrl=angular.element(node).controller("mdOption");selectMenuCtrl.isMultiple||angular.forEach(Object.keys(selectMenuCtrl.selected),function(key){selectMenuCtrl.deselect(key)}),selectMenuCtrl.select(optionCtrl.hashKey,optionCtrl.value),selectMenuCtrl.refreshViewValue()}}function openSelect(){selectScope._mdSelectIsOpen=!0,element.attr("aria-expanded","true"),$mdSelect.show({scope:selectScope,preserveScope:!0,skipCompile:!0,element:selectContainer,target:element[0],selectCtrl:mdSelectCtrl,preserveElement:!0,hasBackdrop:!0,loadingAsync:!!attrs.mdOnOpen&&(scope.$eval(attrs.mdOnOpen)||!0)}).finally(function(){selectScope._mdSelectIsOpen=!1,element.removeAttr("aria-expanded"),element.removeAttr("aria-activedescendant"),ngModelCtrl.$setTouched()})}selectContainer.find("md-content").attr("id",listboxContentId),element.find("md-select-menu").length||(ariaAttrs["aria-owns"]=listboxContentId),element.attr(ariaAttrs),scope.$on("$destroy",function(){stopRequiredObserver&&stopRequiredObserver(),stopDisabledObserver&&stopDisabledObserver(),stopMdMultipleWatch&&stopMdMultipleWatch(),stopMdMultipleObserver&&stopMdMultipleObserver(),stopSelectedLabelsWatcher&&stopSelectedLabelsWatcher(),stopPlaceholderObserver&&stopPlaceholderObserver(),stopInvalidWatch&&stopInvalidWatch(),element.off("focus"),element.off("blur"),$mdSelect.destroy().finally(function(){containerCtrl&&(containerCtrl.setFocused(!1),containerCtrl.setHasValue(!1),containerCtrl.input=null),ngModelCtrl.$setTouched()})})}},controller:function(){}}}function SelectMenuDirective($parse,$mdUtil,$mdConstant,$mdTheming){return{restrict:"E",require:["mdSelectMenu"],scope:!(SelectMenuController.$inject=["$scope","$attrs","$element"]),controller:SelectMenuController,link:{pre:function(scope,element,attrs,ctrls){var selectMenuCtrl=ctrls[0];function clickListener(mouseEvent){var option=$mdUtil.getClosest(mouseEvent.target,"md-option"),optionCtrl=option&&angular.element(option).data("$mdOptionController");if(option&&optionCtrl)if(option.hasAttribute("disabled"))mouseEvent.stopImmediatePropagation();else{var optionHashKey=selectMenuCtrl.hashGetter(optionCtrl.value),isSelected=angular.isDefined(selectMenuCtrl.selected[optionHashKey]);scope.$apply(function(){selectMenuCtrl.isMultiple?isSelected?selectMenuCtrl.deselect(optionHashKey):selectMenuCtrl.select(optionHashKey,optionCtrl.value):isSelected||(angular.forEach(Object.keys(selectMenuCtrl.selected),function(key){selectMenuCtrl.deselect(key)}),selectMenuCtrl.select(optionHashKey,optionCtrl.value)),selectMenuCtrl.refreshViewValue()})}else mouseEvent.target&&mouseEvent.target.parentNode&&"MD-SELECT-HEADER"===mouseEvent.target.parentNode.tagName&&mouseEvent.stopImmediatePropagation()}element.addClass("_md"),$mdTheming(element),element.on("click",clickListener),element.on("keypress",function(keyboardEvent){13!==keyboardEvent.keyCode&&32!==keyboardEvent.keyCode||clickListener(keyboardEvent)})}}};function SelectMenuController($scope,$attrs,$element){var defaultIsEmpty,clearSearchTimeout,optNodes,optText,self=this,searchStr="";function renderMultiple(){var newSelectedValues=self.ngModel.$modelValue||self.ngModel.$viewValue||[];if(angular.isArray(newSelectedValues)){var oldSelected=Object.keys(self.selected),newSelectedHashes=newSelectedValues.map(self.hashGetter);oldSelected.filter(function(hash){return-1===newSelectedHashes.indexOf(hash)}
vendor: 9,171 bytes, line 1
1).forEach(self.deselect),newSelectedHashes.forEach(function(hashKey,i){self.select(hashKey,newSelectedValues[i])})}}function renderSingular(){var value=self.ngModel.$viewValue||self.ngModel.$modelValue;Object.keys(self.selected).forEach(self.deselect),self.select(self.hashGetter(value),value)}self.isMultiple=angular.isDefined($attrs.multiple),self.selected={},self.options={},$scope.$watchCollection(function(){return self.options},function(){self.ngModel.$render(),function(){var i,options;if(!$element.find("md-optgroup").length)return;for(options=$element.find("md-option"),i=0;i<options.length;i++)options[i].setAttribute("aria-setsize",options.length),options[i].setAttribute("aria-posinset",i+1)}()}),self.setMultiple=function(isMultiple){var ngModel=self.ngModel;if(defaultIsEmpty=defaultIsEmpty||ngModel.$isEmpty,self.isMultiple=isMultiple,self.isMultiple){var loaded=!1,delayedRender=function(val){loaded?renderMultiple():$mdUtil.nextTick(function(){renderMultiple(),loaded=!0})};ngModel.$validators["md-multiple"]=validateArray,ngModel.$render=delayedRender,$scope.$watchCollection(self.modelBinding,function(value){validateArray(value)&&delayedRender()}),ngModel.$isEmpty=function(value){return!value||0===value.length}}else delete ngModel.$validators["md-multiple"],ngModel.$render=renderSingular;function validateArray(modelValue,viewValue){return angular.isArray(modelValue||viewValue||[])}},self.optNodeForKeyboardSearch=function(keyboardEvent){var search,i;for(clearSearchTimeout&&clearTimeout(clearSearchTimeout),clearSearchTimeout=setTimeout(function(){searchStr="",optNodes=optText=clearSearchTimeout=void 0},300),searchStr+=keyboardEvent.key,search=new RegExp("^"+$mdUtil.sanitize(searchStr),"i"),optNodes||(optNodes=$element.find("md-option"),optText=new Array(optNodes.length),angular.forEach(optNodes,function(el,i){optText[i]=el.textContent.trim()})),i=0;i<optText.length;++i)if(search.test(optText[i]))return optNodes[i]},self.init=function(ngModel,parentAttrs){function getId(value){return angular.isObject(value)&&!angular.isArray(value)?"object_"+(value.$$mdSelectId||(value.$$mdSelectId=++selectNextId)):value+""}self.ngModel=ngModel,self.modelBinding=parentAttrs.ngModel,self.ngModel.$isEmpty=function($viewValue){var hashedValue=self.options[self.hashGetter($viewValue)]?self.options[self.hashGetter($viewValue)].value:null;return!angular.isDefined(hashedValue)||null===hashedValue||""===hashedValue||hashedValue!=hashedValue},$attrs.ngModelOptions?self.hashGetter=function(value){var ngModelOptions=$parse($attrs.ngModelOptions)($scope),trackByOption=ngModelOptions&&ngModelOptions.trackBy;return trackByOption?$parse(trackByOption)($scope,{$value:value}):angular.isObject(value)?getId(value):value}:self.hashGetter=getId,self.setMultiple(self.isMultiple),parentAttrs.hasOwnProperty("mdSelectOnlyOption")&&$mdUtil.nextTick(function(){var optionKeys=Object.keys(self.options);if(1===optionKeys.length){var option=self.options[optionKeys[0]];self.deselect(Object.keys(self.selected)[0]),self.select(self.hashGetter(option.value),option.value),self.refreshViewValue(),self.ngModel.$setPristine()}},!1)},self.setActiveDescendant=function(id){angular.isDefined(id)?$element.find("md-content").attr("aria-activedescendant",id):$element.find("md-content").removeAttr("aria-activedescendant")},self.getSelectedLabels=function(opts){var mapFn,mode=(opts=opts||{}).mode||"html",selectedOptionEls=$mdUtil.nodesToArray($element[0].querySelectorAll("md-option[selected]"));return selectedOptionEls.length?("html"===mode?mapFn=function(el){if(el.hasAttribute("md-option-empty"))return"";var html=el.innerHTML,rippleContainer=el.querySelector(".md-ripple-container");rippleContainer&&(html=html.replace(rippleContainer.outerHTML,""));var checkboxContainer=el.querySelector(".md-container");return checkboxContainer&&(html=html.replace(checkboxContainer.outerHTML,"")),html}:"aria"===mode&&(mapFn=function(el){return el.hasAttribute("aria-label")?el.getAttribute("aria-label"):el.textContent}),$mdUtil.uniq(selectedOptionEls.map(mapFn)).join(", ")):""},self.select=function(hashKey,hashedValue){var option=self.options[hashKey];option&&option.setSelected(!0,self.isMultiple),self.selected[hashKey]=hashedValue},self.deselect=function(hashKey){var option=self.options[hashKey];option&&option.setSelected(!1,self.isMultiple),delete self.selected[hashKey]},self.addOption=function(hashKey,optionCtrl){if(angular.isDefined(self.options[hashKey]))throw new Error('Duplicate md-option values are not allowed in a select. Duplicate value "'+optionCtrl.value+'" found.');self.options[hashKey]=optionCtrl,angular.isDefined(self.selected[hashKey])&&(self.select(hashKey,optionCtrl.value),angular.isDefined(self.ngModel.$$rawModelValue)&&self.hashGetter(self.ngModel.$$rawModelValue)===hashKey&&self.ngModel.$validate(),self.refreshViewValue())},self.removeOption=function(hashKey){delete self.options[hashKey]},self.refreshViewValue=function(){var option,values=[];for(var hashKey in self.selected)(option=self.options[hashKey])?values.push(option.value):values.push(self.selected[hashKey]);var newVal=self.isMultiple?values:values[0];(function(prevVal,newVal){{if(self.isMultiple){if(angular.isArray(prevVal)){if(prevVal.length!==newVal.length)return!1;var prevValHashes=prevVal.map(function(prevValItem){return self.hashGetter(prevValItem)});return newVal.every(function(newValItem){var newValItemHash=self.hashGetter(newValItem);return prevValHashes.some(function(prevValHash){return prevValHash===newValItemHash})})}return!1}return self.hashGetter(prevVal)===self.hashGetter(newVal)}})(self.ngModel.$modelValue,newVal)||(self.ngModel.$setViewValue(newVal),self.ngModel.$render())}}}function OptionDirective($mdButtonInkRipple,$mdUtil,$mdTheming){return{restrict:"E",require:["mdOption","^^mdSelectMenu"],controller:OptionController,compile:function(element,attrs){element.append(angular.element('<div class="md-text">').append(element.contents())),element.attr("tabindex",attrs.tabindex||"0"),function(attrs){var value=attrs.value,ngValue=attrs.ngValue;return value||ngValue}(attrs)||element.attr("md-option-empty","");return postLink}};function postLink(scope,element,attrs,ctrls){var optionCtrl=ctrls[0],selectMenuCtrl=ctrls[1];function setOptionValue(newValue,oldValue,prevAttempt){if(selectMenuCtrl.hashGetter){var oldHashKey=selectMenuCtrl.hashGetter(oldValue,scope),newHashKey=selectMenuCtrl.hashGetter(newValue,scope);optionCtrl.hashKey=newHashKey,optionCtrl.value=newValue,selectMenuCtrl.removeOption(oldHashKey,optionCtrl),selectMenuCtrl.addOption(newHashKey,optionCtrl)}else prevAttempt||scope.$$postDigest(function(){setOptionValue(newValue,oldValue,!0)})}$mdTheming(element),selectMenuCtrl.isMultiple&&(element.addClass("md-checkbox-enabled"),element.prepend(CHECKBOX_SELECTION_INDICATOR.clone())),angular.isDefined(attrs.ngValue)?scope.$watch(attrs.ngValue,function(newValue,oldValue){setOptionValue(newValue,oldValue),element.removeAttr("aria-checked")}):angular.isDefined(attrs.value)?setOptionValue(attrs.value):scope.$watch(function(){return element.text().trim()},setOptionValue),attrs.$observe("disabled",function(disabled){disabled?element.attr("tabindex","-1"):element.attr("tabindex","0")}),scope.$$postDigest(function(){attrs.$observe("selected",function(selected){angular.isDefined(selected)&&("string"==typeof selected&&(selected=!0),selected?(selectMenuCtrl.isMultiple||selectMenuCtrl.deselect(Object.keys(selectMenuCtrl.selected)[0]),selectMenuCtrl.select(optionCtrl.hashKey,optionCtrl.value)):selectMenuCtrl.deselect(optionCtrl.hashKey),selectMenuCtrl.refreshViewValue())})}),$mdButtonInkRipple.attach(scope,element),function(){var ariaAttrs={role:"option"};selectMenuCtrl.isMultiple&&(ariaAttrs["aria-selected"]="false");element[0].hasAttribute("id")||(ariaAttrs.id="select_option_"+$mdUtil.nextUid());element.attr(ariaAttrs)}(),scope.$on("$destroy",function(){selectMenuCtrl.removeOption(optionCtrl.hashKey,optionCtrl)})}}function OptionController($element){this.setSelected=function(isSelected,isMultiple){isSelected?$element.attr({selected:"true","aria-selected":"true"}):isSelected||($element.removeAttr("selected"),isMultiple?$element.attr("aria-selected","false"):$element.removeAttr("aria-selected"))}}function SelectProvider($$interimElementProvider){return selectDefaultOptions.$inject=["$mdSelect","$mdConstant","$mdUtil","$window","$q","$$rAF","$animateCss","$animate","$document"],$$interimElementProvider("$mdSelect").setDefaults({methods:["target"],options:selectDefaultOptions});function selectDefaultOptions($mdSelect,$mdConstant,$mdUtil,$window,$q,$$rAF,$animateCss,$animate,$document){var animator=$mdUtil.dom.animator,keyCodes=$mdConstant.KEY_CODE;return{parent:"body",themable:!0,onShow:function(scope,element,opts){return opts.loadingAsync&&!opts.isRemoved&&(scope.$$loadingAsyncDone=!1,$q.when(opts.loadingAsync).then(function(){scope.$$loadingAsyncDone=!0,delete opts.loadingAsync}).then(function(){$$rAF(positionAndFocusMenu)})),function(scope,options){var selectMenuElement=element.find("md-select-menu");if(!options.target)throw new Error($mdUtil.supplant("$mdSelect.show() expected a target element in o
1ptions.target but got '{0}'!",[options.target]));angular.extend(options,{isRemoved:!1,target:angular.element(options.target),parent:angular.element(options.parent),selectEl:selectMenuElement,contentEl:element.find("md-content"),optionNodes:selectMenuElement[0].getElementsByTagName("md-option")})}(0,opts),opts.hideBackdrop=function(scope,element,options){return options.disableParentScroll&&!$mdUtil.getClosest(options.target,"MD-DIALOG")?options.restoreScroll=$mdUtil.disableScrollAround(options.element,options.parent):options.disableParentScroll=!1,options.hasBackdrop&&(options.backdrop=$mdUtil.createBackdrop(scope,"md-select-backdrop md-click-catcher"),$animate.enter(options.backdrop,$document[0].body,null,{duration:0})),function(){options.backdrop&&options.backdrop.remove(),options.disableParentScroll&&options.restoreScroll(),delete options.restoreScroll}}(scope,0,opts),function(scope,element,opts){return opts.parent!==element.parent()&&element.parent().attr("aria-owns",element.find("md-content").attr("id")),opts.parent.append(element),$q(function(resolve,reject){try{$animateCss(element,{removeClass:"md-leave",duration:0}).start().then(positionAndFocusMenu).then(resolve)}catch(e){reject(e)}})}(0,element,opts).then(function(response){var debouncedOnResize,window,scope,target,options;return element.attr("aria-hidden","false"),opts.alreadyOpen=!0,opts.cleanupInteraction=function(){if(!opts.isRemoved){var dropDown=opts.selectEl,selectMenuController=dropDown.controller("mdSelectMenu")||{};return element.addClass("md-clickable"),opts.backdrop&&opts.backdrop.on("click",onBackdropClick),dropDown.on("keydown",onMenuKeyDown),dropDown.on("click",checkCloseMenu),function(){opts.backdrop&&opts.backdrop.off("click",onBackdropClick),dropDown.off("keydown",onMenuKeyDown),dropDown.off("click",checkCloseMenu),element.removeClass("md-clickable"),opts.isRemoved=!0}}function onBackdropClick(e){e.preventDefault(),e.stopPropagation(),opts.restoreFocus=!1,$mdUtil.nextTick($mdSelect.hide,!0)}function onMenuKeyDown(ev){switch(ev.preventDefault(),ev.stopPropagation(),ev.keyCode){case keyCodes.UP_ARROW:return void focusOption("prev");case keyCodes.DOWN_ARROW:return void focusOption("next");case keyCodes.SPACE:case keyCodes.ENTER:opts.focusedNode&&(dropDown.triggerHandler({type:"click",target:opts.focusedNode}),ev.preventDefault()),checkCloseMenu(ev);break;case keyCodes.TAB:case keyCodes.ESCAPE:ev.stopPropagation(),ev.preventDefault(),opts.restoreFocus=!0,$mdUtil.nextTick($mdSelect.hide,!0);break;default:if(shouldHandleKey(ev,$mdConstant)){var optNode=selectMenuController.optNodeForKeyboardSearch(ev);optNode&&!optNode.hasAttribute("disabled")&&focusOptionNode(opts.focusedNode,optNode,selectMenuController)}}}function focusOption(direction){for(var newOption,optionsArray=$mdUtil.nodesToArray(opts.optionNodes),index=optionsArray.indexOf(opts.focusedNode),prevOption=optionsArray[index];-1===index?index=0:"next"===direction&&index<optionsArray.length-1?index++:"prev"===direction&&0<index&&index--,(newOption=optionsArray[index]).hasAttribute("disabled")&&(newOption=null),!newOption&&index<optionsArray.length-1&&0<index;);focusOptionNode(prevOption,newOption,selectMenuController)}function checkCloseMenu(event){event&&"click"===event.type&&event.currentTarget!==dropDown[0]||function(){var clickOnScrollbar=!1;if(event&&0<event.currentTarget.children.length){var child=event.currentTarget.children[0],hasScrollbar=child.scrollHeight>child.clientHeight;if(hasScrollbar&&0<child.children.length){var relPosX=event.pageX-event.currentTarget.getBoundingClientRect().left;relPosX>child.querySelector("md-option").offsetWidth&&(clickOnScrollbar=!0)}}return clickOnScrollbar}()||opts.focusedNode&&opts.focusedNode.hasAttribute&&!opts.focusedNode.hasAttribute("disabled")&&(event.preventDefault(),event.stopPropagation(),selectMenuController.isMultiple||(opts.restoreFocus=!0,$mdUtil.nextTick(function(){$mdSelect.hide(selectMenuController.ngModel.$viewValue),opts.focusedNode.classList.remove("md-focused")},!0)))}}(),opts.cleanupResizing=(scope=scope,target=element,options=opts,debouncedOnResize=function(){if(!options.isRemoved){var updates=calculateMenuPositions(scope,target,options),container=updates.container,dropDown=updates.dropDown;container.element.css(animator.toCss(container.styles)),dropDown.element.css(animator.toCss(dropDown.styles))}},(window=angular.element($window)).on("resize",debouncedOnResize),window.on("orientationchange",debouncedOnResize),function(){window.off("resize",debouncedOnResize),window.off("orientationchange",debouncedOnResize)}),opts.contentEl[0].focus(),response},opts.hideBackdrop);function positionAndFocusMenu(){return $q(function(resolve){if(opts.isRemoved)return $q.reject(!1);var info=calculateMenuPositions(scope,element,opts);info.container.element.css(animator.toCss(info.container.styles)),info.dropDown.element.css(animator.toCss(info.dropDown.styles)),$$rAF(function(){var nodeToFocus,selectMenuController;element.addClass("md-active"),info.dropDown.element.css(animator.toCss({transform:""})),(nodeToFocus=opts.focusedNode)&&!nodeToFocus.hasAttribute("disabled")&&(selectMenuController=opts.selectEl.controller("mdSelectMenu"),focusOptionNode(null,nodeToFocus,selectMenuController)),resolve()})})}function focusOptionNode(previousNode,node,menuController){var listboxContentNode=opts.contentEl[0];if(node){if(previousNode&&previousNode.classList.remove("md-focused"),node.classList.add("md-focused"),menuController&&menuController.setActiveDescendant&&menuController.setActiveDescendant(node.id),listboxContentNode.scrollHeight>listboxContentNode.clientHeight){var scrollBottom=listboxContentNode.clientHeight+listboxContentNode.scrollTop,nodeBottom=node.offsetTop+node.offsetHeight;scrollBottom<nodeBottom?listboxContentNode.scrollTop=nodeBottom-listboxContentNode.clientHeight:node.offsetTop<listboxContentNode.scrollTop&&(listboxContentNode.scrollTop=node.offsetTop)}opts.focusedNode=node,menuController&&menuController.refreshViewValue&&menuController.refreshViewValue()}}},onRemove:function(scope,element,opts){var animationRunner=null,destroyListener=scope.$on("$destroy",function(){animationRunner.end()});return(opts=opts||{}).cleanupInteraction(),opts.cleanupResizing(),opts.hideBackdrop(),!0===opts.$destroy?cleanElement():(animationRunner=$animateCss(element,{addClass:"md-leave"})).start().then(cleanElement);function cleanElement(){destroyListener(),element.removeClass("md-active").attr("aria-hidden","true").css({display:"none",top:"",right:"",bottom:"",left:"","font-size":"","min-width":""}),function(opts){var mdSelect=opts.selectCtrl;if(mdSelect){var menuController=opts.selectEl.controller("mdSelectMenu");mdSelect.setSelectValueText(menuController?menuController.getSelectedLabels():""),mdSelect.triggerClose()}}
vendor: 36,739 bytes, line 1
1(opts),opts.$destroy||(opts.restoreFocus?opts.target.focus():$mdUtil.nextTick(function(){opts.target.triggerHandler("blur")},!0))}},hasBackdrop:!0,disableParentScroll:!0};function calculateMenuPositions(scope,element,opts){var centeredNode,obj,containerNode=element[0],targetNode=opts.target[0].children[0],parentNode=$document[0].body,selectNode=opts.selectEl[0],contentNode=opts.contentEl[0],parentRect=parentNode.getBoundingClientRect(),targetRect=targetNode.getBoundingClientRect(),bounds={left:parentRect.left+SELECT_EDGE_MARGIN,top:SELECT_EDGE_MARGIN,bottom:parentRect.height-SELECT_EDGE_MARGIN,right:parentRect.width-SELECT_EDGE_MARGIN-($mdUtil.floatingScrollbars()?16:0)},spaceAvailable_top=targetRect.top-bounds.top,spaceAvailable_bottom=(targetRect.left,targetRect.left,targetRect.width,bounds.bottom-(targetRect.top+targetRect.height)),maxWidth=parentRect.width-2*SELECT_EDGE_MARGIN,selectedNode=selectNode.querySelector("md-option[selected]"),optionNodes=selectNode.getElementsByTagName("md-option"),optgroupNodes=selectNode.getElementsByTagName("md-optgroup"),isScrollable=function(element,contentNode){var isScrollable=!1;try{var oldDisplay=element[0].style.display;element[0].style.display="block",isScrollable=contentNode.scrollHeight>contentNode.offsetHeight,element[0].style.display=oldDisplay}finally{}return isScrollable}(element,contentNode);centeredNode=(obj=opts.loadingAsync)&&angular.isFunction(obj.then)?contentNode.firstElementChild||contentNode:selectedNode||(optgroupNodes.length?optgroupNodes[0]:optionNodes.length?optionNodes[0]:contentNode.firstElementChild||contentNode),contentNode.offsetWidth>maxWidth?contentNode.style["max-width"]=maxWidth+"px":contentNode.style.maxWidth=null,isScrollable&&selectNode.classList.add("md-overflow");var focusedNode=centeredNode;"MD-OPTGROUP"===(focusedNode.tagName||"").toUpperCase()&&(centeredNode=focusedNode=optionNodes[0]||contentNode.firstElementChild||contentNode),opts.focusedNode=focusedNode,containerNode.style.display="block";var node,left,top,transformOrigin,minWidth,fontSize,selectMenuRect=selectNode.getBoundingClientRect(),centeredRect=(node=centeredNode)?{left:node.offsetLeft,top:node.offsetTop,width:node.offsetWidth,height:node.offsetHeight}:{left:0,top:0,width:0,height:0};if(centeredNode){var centeredStyle=$window.getComputedStyle(centeredNode);centeredRect.paddingLeft=parseInt(centeredStyle.paddingLeft,10)||0,centeredRect.paddingRight=parseInt(centeredStyle.paddingRight,10)||0}if(isScrollable){var scrollBuffer=contentNode.offsetHeight/2;contentNode.scrollTop=centeredRect.top+centeredRect.height/2-scrollBuffer,spaceAvailable_top<scrollBuffer?contentNode.scrollTop=Math.min(centeredRect.top,contentNode.scrollTop+scrollBuffer-spaceAvailable_top):spaceAvailable_bottom<scrollBuffer&&(contentNode.scrollTop=Math.max(centeredRect.top+centeredRect.height-selectMenuRect.height,contentNode.scrollTop-scrollBuffer+spaceAvailable_bottom))}left=targetRect.left+centeredRect.left-centeredRect.paddingLeft,top=Math.floor(targetRect.top+targetRect.height/2-centeredRect.height/2-centeredRect.top+contentNode.scrollTop)+2,transformOrigin=centeredRect.left+targetRect.width/2+"px "+(centeredRect.top+centeredRect.height/2-contentNode.scrollTop)+"px 0px",minWidth=Math.min(targetRect.width+centeredRect.paddingLeft+centeredRect.paddingRight,maxWidth),fontSize=window.getComputedStyle(targetNode)["font-size"];var containerRect=containerNode.getBoundingClientRect(),scaleX=Math.round(100*Math.min(targetRect.width/selectMenuRect.width,1))/100,scaleY=Math.round(100*Math.min(targetRect.height/selectMenuRect.height,1))/100;return{container:{element:angular.element(containerNode),styles:{left:Math.floor(clamp(bounds.left,left,bounds.right-minWidth)),top:Math.floor(clamp(bounds.top,top,bounds.bottom-containerRect.height)),"min-width":minWidth,"font-size":fontSize}},dropDown:{element:angular.element(selectNode),styles:{transformOrigin:transformOrigin,transform:opts.alreadyOpen?"":$mdUtil.supplant("scale({0},{1})",[scaleX,scaleY])}}}}}function clamp(min,n,max){return Math.max(min,Math.min(n,max))}}function shouldHandleKey(ev,$mdConstant){var char=String.fromCharCode(ev.keyCode),isNonUsefulKey=ev.keyCode<=31;return char&&char.length&&!isNonUsefulKey&&!$mdConstant.isMetaKey(ev)&&!$mdConstant.isFnLockKey(ev)&&!$mdConstant.hasModifierKey(ev)}angular.module("material.components.select",["material.core","material.components.backdrop"]).directive("mdSelect",SelectDirective).directive("mdSelectMenu",SelectMenuDirective).directive("mdOption",OptionDirective).directive("mdOptgroup",function(){return{restrict:"E",compile:function(element,attrs){element.parent().find("md-select-header").length||function(){var labelElement=element.find("label");labelElement.length||(labelElement=angular.element("<label>"),element.prepend(labelElement));labelElement.addClass("md-container-ignore"),labelElement.attr("aria-hidden","true"),attrs.label&&labelElement.text(attrs.label);element.attr("aria-label",labelElement.text())}();element.attr("role","group")}}}).directive("mdSelectHeader",function(){return{restrict:"E"}}).provider("$mdSelect",SelectProvider)}(),function(){function createDirective(name,targetValue){return["$mdUtil","$window",function($mdUtil,$window){return{restrict:"A",multiElement:!0,link:function($scope,$element,$attr){var unregister=$scope.$on("$md-resize-enable",function(){unregister();var node=$element[0],cachedTransitionStyles=node.nodeType===$window.Node.ELEMENT_NODE?$window.getComputedStyle(node):{};$scope.$watch($attr[name],function(value){if(!!value===targetValue){$mdUtil.nextTick(function(){$scope.$broadcast("$md-resize")});var opts={cachedTransitionStyles:cachedTransitionStyles};$mdUtil.dom.animator.waitTransitionEnd($element,opts).then(function(){$scope.$broadcast("$md-resize")})}})})}}}]}angular.module("material.components.showHide",["material.core"]).directive("ngShow",createDirective("ngShow",!0)).directive("ngHide",createDirective("ngHide",!1))}(),function(){function SidenavService($mdComponentRegistry,$mdUtil,$q,$log){var errorMsg="SideNav '{0}' is not available! Did you use md-component-id='{0}'?",service={find:function(handle,shouldWait){var instance=$mdComponentRegistry.get(handle);return instance||shouldWait?instance:void $log.error($mdUtil.supplant(errorMsg,[handle||""]))},waitFor:waitForInstance};return function(handle,enableWait){if(angular.isUndefined(handle))return service;var shouldWait=!0===enableWait,instance=service.find(handle,shouldWait);return!instance&&shouldWait?service.waitFor(handle):!instance&&angular.isUndefined(enableWait)?function(service,handle){var falseFn=function(){return!1},rejectFn=function(){return $q.when($mdUtil.supplant(errorMsg,[handle||""]))};return angular.extend({isLockedOpen:falseFn,isOpen:falseFn,toggle:rejectFn,open:rejectFn,close:rejectFn,onClose:angular.noop,then:function(callback){return waitForInstance(handle).then(callback||angular.noop)}},service)}(service,handle):instance};function waitForInstance(handle){return $mdComponentRegistry.when(handle).catch($log.error)}}function SidenavDirective($mdMedia,$mdUtil,$mdConstant,$mdTheming,$mdInteraction,$animate,$compile,$parse,$log,$q,$document,$window,$$rAF){return{restrict:"E",scope:{isOpen:"=?mdIsOpen"},controller:"$mdSidenavController",compile:function(element){return element.addClass("md-closed").attr("tabIndex","-1"),postLink}};function postLink(scope,element,attr,sidenavCtrl){var lastParentOverFlow,backdrop,disableCloseEvents,triggeringInteractionType,previousContainerStyles,disableScrollTarget=null,triggeringElement=null,promise=$q.when(!0),isLockedOpenParsed=$parse(attr.mdIsLockedOpen),ngWindow=angular.element($window);function onKeyDown(ev){return ev.keyCode===$mdConstant.KEY_CODE.ESCAPE?close(ev):$q.when(!0)}function close(ev){return ev.preventDefault(),sidenavCtrl.close()}attr.mdDisableScrollTarget&&((disableScrollTarget=$document[0].querySelector(attr.mdDisableScrollTarget))?disableScrollTarget=angular.element(disableScrollTarget):$log.warn($mdUtil.supplant('mdSidenav: couldn\'t find element matching selector "{selector}". Falling back to parent.',{selector:attr.mdDisableScrollTarget}))),disableScrollTarget||(disableScrollTarget=element.parent()),attr.hasOwnProperty("mdDisableBackdrop")||(backdrop=$mdUtil.createBackdrop(scope,"md-sidenav-backdrop md-opaque ng-enter")),attr.hasOwnProperty("mdDisableCloseEvents")&&(disableCloseEvents=!0),element.addClass("_md"),$mdTheming(element),backdrop&&$mdTheming.inherit(backdrop,element),element.on("$destroy",function(){backdrop&&backdrop.remove(),sidenavCtrl.destroy()}),scope.$on("$destroy",function(){backdrop&&backdrop.remove()}),scope.$watch(function(){return isLockedOpenParsed(scope.$parent,{$mdMedia:$mdMedia})},function(isLocked,oldValue){(scope.isLockedOpen=isLocked)===oldValue?element.toggleClass("md-locked-open",!!isLocked):$animate[isLocked?"addClass":"removeClass"](element,"md-locked-open");backdrop&&backdrop.toggleClass("md-locked-open",!!isLocked)}),scope.$watch("isOpen",function(isOpen){var restorePositioning,focusEl=$mdUtil.findFocusTarget(element)||element,parent=element.parent();disableCloseEvents||(parent[isOpen?"on":"off"]("keydown",onKeyDown),backdrop&&backdrop[isOpen?"on":"off"]("click",close));restorePositioning=function(parent,willOpen){var drawerEl=element[0],scrollTop=parent[0].scrollTop;if(willOpen&&scrollTop){previousContainerStyles={top:drawerEl.style.top,bottom:drawerEl.style.bottom,height:drawerEl.style.height};var positionStyle={top:scrollTop+"px",bottom:"auto",height:parent[0].clientHeight+"px"};element.css(positionStyle),backdrop.css(positionStyle)}if(!willOpen&&previousContainerStyles)return function(){drawerEl.style.top=previousContainerStyles.top,drawerEl.style.bottom=previousContainerStyles.bottom,drawerEl.style.height=previousContainerStyles.height,backdrop[0].style.top=null,backdrop[0].style.bottom=null,backdrop[0].style.height=null,previousContainerStyles=null}}(parent,isOpen),isOpen&&(triggeringElement=$document[0].activeElement,triggeringInteractionType=$mdInteraction.getLastInteractionType());return disabled=isOpen,disabled&&!lastParentOverFlow?(lastParentOverFlow=disableScrollTarget.css("overflow"),disableScrollTarget.css("overflow","hidden")):angular.isDefined(lastParentOverFlow)&&(disableScrollTarget.css("overflow",lastParentOverFlow),lastParentOverFlow=void 0),promise=$q.all([isOpen&&backdrop?$animate.enter(backdrop,parent):backdrop?$animate.leave(backdrop):$q.when(!0),$animate[isOpen?"removeClass":"addClass"](element,"md-closed")]).then(function(){scope.isOpen&&($$rAF(function(){ngWindow.triggerHandler("resize")}),focusEl&&focusEl.focus()),restorePositioning&&restorePositioning()});var disabled}),sidenavCtrl.$toggleOpen=function(isOpen){return scope.isOpen===isOpen?$q.when(!0):(scope.isOpen&&sidenavCtrl.onCloseCb&&sidenavCtrl.onCloseCb(),$q(function(resolve){scope.isOpen=isOpen,$mdUtil.nextTick(function(){promise.then(function(result){!scope.isOpen&&triggeringElement&&"keyboard"===triggeringInteractionType&&(triggeringElement.focus(),triggeringElement=null),resolve(result)})})}))}}}function SidenavController($scope,$attrs,$mdComponentRegistry,$q,$interpolate){var self=this;self.isOpen=function(){return!!$scope.isOpen},self.isLockedOpen=function(){return!!$scope.isLockedOpen},self.onClose=function(callback){return self.onCloseCb=callback,self},self.open=function(){return self.$toggleOpen(!0)},self.close=function(){return self.$toggleOpen(!1)},self.toggle=function(){return self.$toggleOpen(!$scope.isOpen)},self.$toggleOpen=function(value){return $q.when($scope.isOpen=value)};var rawId=$attrs.mdComponentId,hasDataBinding=rawId&&-1<rawId.indexOf($interpolate.startSymbol()),componentId=hasDataBinding?$interpolate(rawId)($scope.$parent):rawId;self.destroy=$mdComponentRegistry.register(self,componentId),hasDataBinding&&$attrs.$observe("mdComponentId",function(id){id&&id!==self.$$mdHandle&&(self.destroy(),self.destroy=$mdComponentRegistry.register(self,id))})}SidenavService.$inject=["$mdComponentRegistry","$mdUtil","$q","$log"],SidenavDirective.$inject=["$mdMedia","$mdUtil","$mdConstant","$mdTheming","$mdInteraction","$animate","$compile","$parse","$log","$q","$document","$window","$$rAF"],SidenavController.$inject=["$scope","$attrs","$mdComponentRegistry","$q","$interpolate"],angular.module("material.components.sidenav",["material.core","material.components.backdrop"]).factory("$mdSidenav",SidenavService).directive("mdSidenav",SidenavDirective).controller("$mdSidenavController",SidenavController)}(),function(){SliderDirective.$inject=["$$rAF","$window","$mdAria","$mdUtil","$mdConstant","$mdTheming","$mdGesture","$parse","$log","$timeout"],angular.module("material.components.slider",["material.core"]).directive("mdSlider",SliderDirective).directive("mdSliderContainer",function(){return{controller:function(){},compile:function(elem){var slider=elem.find("md-slider");if(slider){var vertical=slider.attr("md-vertical");return void 0!==vertical&&elem.attr("md-vertical",""),slider.attr("flex")||slider.attr("flex",""),function(scope,element,attr,ctrl){function setDisable(value){element.children().attr("disabled",value),element.find("input").attr("disabled",value)}element.addClass("_md");var initialMaxWidth,stopDisabledWatch=angular.noop;attr.disabled?setDisable(!0):attr.ngDisabled&&(stopDisabledWatch=scope.$watch(attr.ngDisabled,function(value){setDisable(value)})),scope.$on("$destroy",function(){stopDisabledWatch()}),ctrl.fitInputWidthToTextLength=function(length){var input=element[0].querySelector("md-input-container");if(input){var computedStyle=getComputedStyle(input),minWidth=parseInt(computedStyle.minWidth),padding=parseInt(computedStyle.paddingLeft)+parseInt(computedStyle.paddingRight);initialMaxWidth=initialMaxWidth||parseInt(computedStyle.maxWidth);var newMaxWidth=Math.max(initialMaxWidth,minWidth+padding+minWidth/2*length);input.style.maxWidth=newMaxWidth+"px"}}}}}}});var stepPageSize=10,modifierMultiplier=4;function SliderDirective($$rAF,$window,$mdAria,$mdUtil,$mdConstant,$mdTheming,$mdGesture,$parse,$log,$timeout){return{scope:{},require:["?ngModel","?^mdSliderContainer"],template:'<div class="md-slider-wrapper"><div class="md-slider-content"><div class="md-track-container"><div class="md-track"></div><div class="md-track md-track-fill"></div><div class="md-track-ticks"></div></div><div class="md-thumb-container"><div class="md-thumb"></div><div class="md-focus-thumb"></div><div class="md-focus-ring"></div><div class="md-sign"><span class="md-thumb-text"></span></div><div class="md-disabled-thumb"></div></div></div></div>',compile:function(tElement,tAttrs){var wrapper=angular.element(tElement[0].getElementsByClassName("md-slider-wrapper")),tabIndex=tAttrs.tabindex||0;wrapper.attr("tabindex",tabIndex),(tAttrs.disabled||tAttrs.ngDisabled)&&wrapper.attr("tabindex",-1);return wrapper.attr("role","slider"),$mdAria.expect(tElement,"aria-label"),postLink}};function postLink(scope,element,attr,ctrls){$mdTheming(element);var ngModelCtrl=ctrls[0]||{$setViewValue:function(val){this.$viewValue=val,this.$viewChangeListeners.forEach(function(cb){cb()})},$parsers:[],$formatters:[],$viewChangeListeners:[]},containerCtrl=ctrls[1],isDisabled=(angular.element($mdUtil.getClosest(element,"_md-slider-container",!0)),attr.ngDisabled?angular.bind(null,$parse(attr.ngDisabled),scope.$parent):function(){return element[0].hasAttribute("disabled")}),thumb=angular.element(element[0].querySelector(".md-thumb")),thumbText=angular.element(element[0].querySelector(".md-thumb-text")),thumbContainer=thumb.parent(),trackContainer=angular.element(element[0].querySelector(".md-track-container")),activeTrack=angular.element(element[0].querySelector(".md-track-fill")),tickContainer=angular.element(element[0].querySelector(".md-track-ticks")),wrapper=angular.element(element[0].getElementsByClassName("md-slider-wrapper")),throttledRefreshDimensions=(angular.element(element[0].getElementsByClassName("md-slider-content")),$mdUtil.throttle(refreshSliderDimensions,5e3)),vertical=angular.isDefined(attr.mdVertical),discrete=angular.isDefined(attr.mdDiscrete),invert=angular.isDefined(attr.mdInvert);angular.isDefined(attr.min)?attr.$observe("min",updateMin):updateMin(0),angular.isDefined(attr.max)?attr.$observe("max",updateMax):updateMax(100),angular.isDefined(attr.step)?attr.$observe("step",updateStep):updateStep(1),angular.isDefined(attr.round)?attr.$observe("round",updateRound):updateRound(3);angular.noop;function updateAll(){refreshSliderDimensions(),ngModelRender()}attr.ngDisabled&&scope.$parent.$watch(attr.ngDisabled,function(){element.attr("aria-disabled",!!isDisabled())}),$mdGesture.register(wrapper,"drag",{horizontal:!vertical}),scope.mouseActive=!1,wrapper.on("keydown",function(ev){if(isDisabled())return;var changeAmount,keyCodes=$mdConstant.KEY_CODE;switch(ev.keyCode){case keyCodes.DOWN_ARROW:case keyCodes.LEFT_ARROW:ev.preventDefault(),changeAmount=-step;break;case keyCodes.UP_ARROW:case keyCodes.RIGHT_ARROW:ev.preventDefault(),changeAmount=step;break;case keyCodes.PAGE_DOWN:ev.preventDefault(),changeAmount=-step*stepPageSize;break;case keyCodes.PAGE_UP:ev.preventDefault(),changeAmount=step*stepPageSize;break;case keyCodes.HOME:ev.preventDefault(),ev.stopPropagation(),updateValue(min);break;case keyCodes.END:ev.preventDefault(),ev.stopPropagation(),updateValue(max)}changeAmount&&(changeAmount=invert?-changeAmount:changeAmount,(ev.metaKey||ev.ctrlKey||ev.altKey)&&(changeAmount*=modifierMultiplier),ev.preventDefault(),ev.stopPropagation(),updateValue(ngModelCtrl.$viewValue+changeAmount))}).on("mousedown",function(){(function(){if(!discrete||isDisabled())return;if(angular.isUndefined(step))return;if(step<=0){var msg="Slider step value must be greater than zero when in discrete mode";throw $log.error(msg),new Error(msg)}var numSteps=Math.floor((max-min)/step);tickCanvas||(tickCanvas=angular.element("<canvas>").css("position","absolute"),tickContainer.append(tickCanvas),tickCtx=tickCanvas[0].getContext("2d"));var distance,dimensions=getSliderDimensions();!dimensions||dimensions.height||dimensions.width||(refreshSliderDimensions(),dimensions=sliderDimensions);tickCanvas[0].width=dimensions.width,tickCanvas[0].height=dimensions.height;for(var i=0;i<=numSteps;i++){var trackTicksStyle=$window.getComputedStyle(tickContainer[0]);tickCtx.fillStyle=trackTicksStyle.color||"black",distance=Math.floor((vertical?dimensions.height:dimensions.width)*(i/numSteps)),tickCtx.fillRect(vertical?0:distance-1,vertical?distance-1:0,vertical?dimensions.width:2,vertical?2:dimensions.height)}})(),scope.mouseActive=!0,wrapper.removeClass("md-focused"),$timeout(function(){scope.mouseActive=!1},100)}).on("focus",function(){!1===scope.mouseActive&&wrapper.addClass("md-focused")}).on("blur",function(){wrapper.removeClass("md-focused"),element.removeClass("md-active"),function(){if(tickCanvas&&tickCtx){var dimensions=getSliderDimensions();tickCtx.clearRect(0,0,dimensions.width,dimensions.height)}}()}).on("$md.pressdown",function(ev){if(isDisabled())return;element.addClass("md-active"),element[0].focus(),refreshSliderDimensions();var closestVal=minMaxValidator(stepValidator(percentToValue(positionToPercent(vertical?ev.srcEvent.clientY:ev.srcEvent.clientX))));scope.$apply(function(){setModelValue(closestVal),setSliderPercent(valueToPercent(closestVal))})}).on("$md.pressup",function(ev){if(isDisabled())return;element.removeClass("md-dragging");var closestVal=minMaxValidator(stepValidator(percentToValue(positionToPercent(vertical?ev.srcEvent.clientY:ev.srcEvent.clientX))));scope.$apply(function(){setModelValue(closestVal),ngModelRender()})}).on("$md.dragstart",function(ev){if(isDisabled())return;isDragging=!0,ev.stopPropagation(),element.addClass("md-dragging"),setSliderFromEvent(ev)}).on("$md.drag",function(ev){if(!isDragging)return;ev.stopPropagation(),setSliderFromEvent(ev)}).on("$md.dragend",function(ev){if(!isDragging)return;ev.stopPropagation(),isDragging=!1}),setTimeout(updateAll,0);var min,max,step,round,tickCanvas,tickCtx,debouncedUpdateAll=$$rAF.throttle(updateAll);function updateMin(value){min=parseFloat(value),ngModelCtrl.$viewValue=minMaxValidator(ngModelCtrl.$modelValue,min,max),wrapper.attr("aria-valuemin",value),updateAll()}function updateMax(value){max=parseFloat(value),ngModelCtrl.$viewValue=minMaxValidator(ngModelCtrl.$modelValue,min,max),wrapper.attr("aria-valuemax",value),updateAll()}function updateStep(value){step=parseFloat(value)}function updateRound(value){round=minMaxValidator(parseInt(value),0,6)}angular.element($window).on("resize",debouncedUpdateAll),scope.$on("$destroy",function(){angular.element($window).off("resize",debouncedUpdateAll)}),ngModelCtrl.$render=ngModelRender,ngModelCtrl.$viewChangeListeners.push(ngModelRender),ngModelCtrl.$formatters.push(minMaxValidator),ngModelCtrl.$formatters.push(stepValidator);var sliderDimensions={};function refreshSliderDimensions(){sliderDimensions=trackContainer[0].getBoundingClientRect()}function getSliderDimensions(){return throttledRefreshDimensions(),sliderDimensions}function updateValue(value){scope.$evalAsync(function(){setModelValue(value)})}function setModelValue(value){ngModelCtrl.$setViewValue(minMaxValidator(stepValidator(value)))}function ngModelRender(){isNaN(ngModelCtrl.$viewValue)&&(ngModelCtrl.$viewValue=ngModelCtrl.$modelValue),ngModelCtrl.$viewValue=minMaxValidator(ngModelCtrl.$viewValue);var percent=valueToPercent(ngModelCtrl.$viewValue);scope.modelValue=ngModelCtrl.$viewValue,wrapper.attr("aria-valuenow",ngModelCtrl.$viewValue),setSliderPercent(percent),thumbText.text(ngModelCtrl.$viewValue)}function minMaxValidator(value,minValue,maxValue){if(angular.isNumber(value))return minValue=angular.isNumber(minValue)?minValue:min,maxValue=angular.isNumber(maxValue)?maxValue:max,Math.max(minValue,Math.min(maxValue,value))}function stepValidator(value){if(angular.isNumber(value)){var formattedValue=Math.round((value-min)/step)*step+min;return formattedValue=Math.round(formattedValue*Math.pow(10,round))/Math.pow(10,round),containerCtrl&&containerCtrl.fitInputWidthToTextLength&&$mdUtil.debounce(function(){containerCtrl.fitInputWidthToTextLength(formattedValue.toString().length)},100)(),formattedValue}}function setSliderPercent(percent){var value;value=percent;var thumbPosition=100*(percent=Math.max(0,Math.min(value||0,1)))+"%",activeTrackPercent=invert?100*(1-percent)+"%":thumbPosition;vertical?thumbContainer.css("bottom",thumbPosition):$mdUtil.bidiProperty(thumbContainer,"left","right",thumbPosition),activeTrack.css(vertical?"height":"width",activeTrackPercent),element.toggleClass(invert?"md-max":"md-min",0===percent),element.toggleClass(invert?"md-min":"md-max",1===percent)}refreshSliderDimensions();var isDragging=!1;function setSliderFromEvent(ev){var x,closestVal;discrete?(x=vertical?ev.srcEvent.clientY:ev.srcEvent.clientX,closestVal=minMaxValidator(stepValidator(percentToValue(positionToPercent(x)))),setSliderPercent(positionToPercent(x)),thumbText.text(closestVal)):function(x){scope.$evalAsync(function(){setModelValue(percentToValue(positionToPercent(x)))})}(vertical?ev.srcEvent.clientY:ev.srcEvent.clientX)}function positionToPercent(position){var calc=(position-(vertical?sliderDimensions.top:sliderDimensions.left))/(vertical?sliderDimensions.height:sliderDimensions.width);return!vertical&&$mdUtil.isRtl(attr)&&(calc=1-calc),Math.max(0,Math.min(1,vertical?1-calc:calc))}function percentToValue(percent){return min+(invert?1-percent:percent)*(max-min)}function valueToPercent(val){var percent=(val-min)/(max-min);return invert?1-percent:percent}}}}(),function(){function MdSticky($mdConstant,$$rAF,$mdUtil,$compile){var browserStickySupport=$mdUtil.checkStickySupport();return function(scope,element,stickyClone){var contentCtrl=element.controller("mdContent");if(contentCtrl)if(browserStickySupport)element.css({position:browserStickySupport,top:0,"z-index":2});else{var $$sticky=contentCtrl.$element.data("$$sticky");$$sticky||($$sticky=function(contentCtrl){var self,contentEl=contentCtrl.$element,debouncedRefreshElements=$$rAF.throttle(refreshElements);return function(element){var isScrolling,lastScrollTime,SCROLL_END_DELAY=200;function loopScrollEvent(){+$mdUtil.now()-lastScrollTime>SCROLL_END_DELAY?(isScrolling=!1,element.triggerHandler("$scrollend")):(element.triggerHandler("$scroll"),$$rAF.throttle(loopScrollEvent))}element.on("scroll touchmove",function(){isScrolling||(isScrolling=!0,$$rAF.throttle(loopScrollEvent),element.triggerHandler("$scrollstart")),element.triggerHandler("$scroll"),lastScrollTime=+$mdUtil.now()})}(contentEl),contentEl.on("$scrollstart",debouncedRefreshElements),contentEl.on("$scroll",function onScroll(){var scrollTop=contentEl.prop("scrollTop"),isScrollingDown=(onScroll.prevScrollTop||0)<scrollTop;if(0!==(onScroll.prevScrollTop=scrollTop)){if(isScrollingDown){if(self.next&&self.next.top<=scrollTop)return void setCurrentItem(self.next);if(self.current&&self.next&&self.next.top-scrollTop<=self.next.height)return void translate(self.current,scrollTop+(self.next.top-self.next.height-scrollTop))}if(!isScrollingDown){if(self.current&&self.prev&&scrollTop<self.current.top)return void setCurrentItem(self.prev);if(self.next&&self.current&&scrollTop>=self.next.top-self.current.height)return void translate(self.current,scrollTop+(self.next.top-scrollTop-self.current.height))}self.current&&translate(self.current,scrollTop)}else setCurrentItem(null)}),self={prev:null,current:null,next:null,items:[],add:function(element,stickyClone){stickyClone.addClass("md-sticky-clone");var item={element:element,clone:stickyClone};return self.items.push(item),$mdUtil.nextTick(function(){contentEl.prepend(item.clone)}),debouncedRefreshElements(),function(){self.items.forEach(function(item,index){item.element[0]===element[0]&&(self.items.splice(index,1),item.clone.remove())}),debouncedRefreshElements()}},refreshElements:refreshElements};function refreshElements(){var item;self.items.forEach(refreshPosition),self.items=self.items.sort(function(a,b){return a.top<b.top?-1:1});for(var currentScrollTop=contentEl.prop("scrollTop"),i=self.items.length-1;0<=i;i--)if(currentScrollTop>self.items[i].top){item=self.items[i];break}setCurrentItem(item)}function refreshPosition(item){var current=item.element[0];for(item.top=0,item.left=0,item.right=0;current&¤t!==contentEl[0];)item.top+=current.offsetTop,item.left+=current.offsetLeft,current.offsetParent&&(item.right+=current.offsetParent.offsetWidth-current.offsetWidth-current.offsetLeft),current=current.offsetParent;item.height=item.element.prop("offsetHeight");var defaultVal=$mdUtil.floatingScrollbars()?"0":void 0;$mdUtil.bidi(item.clone,"margin-left",item.left,defaultVal),$mdUtil.bidi(item.clone,"margin-right",defaultVal,item.right)}function setCurrentItem(item){if(self.current!==item){self.current&&(translate(self.current,null),setStickyState(self.current,null)),item&&setStickyState(item,"active"),self.current=item;var index=self.items.indexOf(item);self.next=self.items[index+1],self.prev=self.items[index-1],setStickyState(self.next,"next"),setStickyState(self.prev,"prev")}}function setStickyState(item,state){item&&item.state!==state&&(item.state&&(item.clone.attr("sticky-prev-state",item.state),item.element.attr("sticky-prev-state",item.state)),item.clone.attr("sticky-state",state),item.element.attr("sticky-state",state),item.state=state)}function translate(item,amount){item&&(null==amount?item.translateY&&(item.translateY=null,item.clone.css($mdConstant.CSS.TRANSFORM,"")):(item.translateY=amount,$mdUtil.bidi(item.clone,$mdConstant.CSS.TRANSFORM,"translate3d("+item.left+"px,"+amount+"px,0)","translateY("+amount+"px)")))}}(contentCtrl),contentCtrl.$element.data("$$sticky",$$sticky));var cloneElement=stickyClone||$compile(element.clone())(scope),deregister=$$sticky.add(element,cloneElement);scope.$on("$destroy",deregister)}}}MdSticky.$inject=["$mdConstant","$$rAF","$mdUtil","$compile"],angular.module("material.components.sticky",["material.core","material.components.content"]).factory("$mdSticky",MdSticky)}(),function(){function MdSubheaderDirective($mdSticky,$compile,$mdTheming,$mdUtil,$mdAria){return{restrict:"E",replace:!0,transclude:!0,template:'<div class="md-subheader _md"> <div class="md-subheader-inner"> <div class="md-subheader-content"></div> </div></div>',link:function(scope,element,attr,controllers,transclude){$mdTheming(element),element.addClass("_md"),$mdUtil.prefixer().removeAttribute(element,"ng-repeat");var outerHTML=element[0].outerHTML;function getContent(el){return angular.element(el[0].querySelector(".md-subheader-content"))}attr.$set("role","heading"),$mdAria.expect(element,"aria-level","2"),transclude(scope,function(clone){getContent(element).append(clone)}),element.hasClass("md-no-sticky")||transclude(scope,function(clone){var wrapper=$compile('<div class="md-subheader-wrapper" aria-hidden="true">'+outerHTML+"</div>")(scope);$mdUtil.nextTick(function(){getContent(wrapper).append(clone)}),$mdSticky(scope,element,wrapper)})}}}MdSubheaderDirective.$inject=["$mdSticky","$compile","$mdTheming","$mdUtil","$mdAria"],angular.module("material.components.subheader",["material.core","material.components.sticky"]).directive("mdSubheader",MdSubheaderDirective)}(),function(){function getDirective(name){DirectiveFactory.$inject=["$parse"];var directiveName="md"+name,eventName="$md."+name.toLowerCase();return DirectiveFactory;function DirectiveFactory($parse){return{restrict:"A",link:function(scope,element,attr){var fn=$parse(attr[directiveName]);element.on(eventName,function(ev){var currentTarget=ev.currentTarget;scope.$applyAsync(function(){fn(scope,{$event:ev,$target:{current:currentTarget}})})})}}}}angular.module("material.components.swipe",["material.core"]).directive("mdSwipeLeft",getDirective("SwipeLeft")).directive("mdSwipeRight",getDirective("SwipeRight")).directive("mdSwipeUp",getDirective("SwipeUp")).directive("mdSwipeDown",getDirective("SwipeDown"))}(),function(){function MdSwitch(mdCheckboxDirective,$mdUtil,$mdConstant,$parse,$$rAF,$mdGesture,$timeout){var checkboxDirective=mdCheckboxDirective[0];return{restrict:"E",priority:$mdConstant.BEFORE_NG_ARIA,transclude:!0,template:'<div class="md-container"><div class="md-bar"></div><div class="md-thumb-container"><div class="md-thumb" md-ink-ripple md-ink-ripple-checkbox></div></div></div><div ng-transclude class="md-label"></div>',require:["^?mdInputContainer","?ngModel","?^form"],compile:function(element,attr){var checkboxLink=checkboxDirective.compile(element,attr).post;return element.addClass("md-dragging"),function(scope,element,attr,ctrls){ctrls[0];var ngModel=ctrls[1]||$mdUtil.fakeNgModel(),disabledGetter=(ctrls[2],null);null!=attr.disabled?disabledGetter=function(){return!0}:attr.ngDisabled&&(disabledGetter=$parse(attr.ngDisabled));var drag,thumbContainer=angular.element(element[0].querySelector(".md-thumb-container")),switchContainer=angular.element(element[0].querySelector(".md-container")),labelContainer=angular.element(element[0].querySelector(".md-label"));$$rAF(function(){element.removeClass("md-dragging")}),checkboxLink(scope,element,attr,ctrls),disabledGetter&&scope.$watch(disabledGetter,function(isDisabled){element.attr("tabindex",isDisabled?-1:0)}),attr.$observe("mdInvert",function(newValue){var isInverted=$mdUtil.parseAttributeBoolean(newValue);isInverted?element.prepend(labelContainer):element.prepend(switchContainer),element.toggleClass("md-inverted",isInverted)}),$mdGesture.register(switchContainer,"drag"),switchContainer.on("$md.dragstart",function(ev){disabledGetter&&disabledGetter(scope)||(ev.stopPropagation(),element.addClass("md-dragging"),drag={width:thumbContainer.prop("offsetWidth")})}).on("$md.drag",function(ev){if(drag){ev.stopPropagation(),ev.srcEvent&&ev.srcEvent.preventDefault();var percent=ev.pointer.distanceX/drag.width,translate=ngModel.$viewValue?1+percent:percent;translate=Math.max(0,Math.min(1,translate)),thumbContainer.css($mdConstant.CSS.TRANSFORM,"translate3d("+100*translate+"%,0,0)"),drag.translate=translate}}).on("$md.dragend",function(ev){var newValue;drag&&(ev.stopPropagation(),element.removeClass("md-dragging"),thumbContainer.css($mdConstant.CSS.TRANSFORM,""),(ngModel.$viewValue?drag.translate<.5:.5<drag.translate)&&(newValue=!ngModel.$viewValue,scope.$apply(function(){ngModel.$setViewValue(newValue),ngModel.$render()})),drag=null,scope.skipToggle=!0,$timeout(function(){scope.skipToggle=!1},1))})}}}}MdSwitch.$inject=["mdCheckboxDirective","$mdUtil","$mdConstant","$parse","$$rAF","$mdGesture","$timeout"],angular.module("material.components.switch",["material.core","material.components.checkbox"]).directive("mdSwitch",MdSwitch)}(),angular.module("material.components.tabs",["material.core","material.components.icon"]),angular.module("material.components.tabs").service("MdTabsPaginationService",function(){return{decreasePageOffset:function(elements,currentOffset){var i,firstVisibleTabOffset,canvas=elements.canvas,tabOffsets=getTabOffsets(elements);for(i=0;i<tabOffsets.length;i++)if(tabOffsets[i]>=currentOffset){firstVisibleTabOffset=tabOffsets[i];break}return Math.max(0,firstVisibleTabOffset-canvas.clientWidth)},increasePageOffset:function(elements,currentOffset){var i,firstHiddenTabOffset,canvas=elements.canvas,maxOffset=getTotalTabsWidth(elements)-canvas.clientWidth,tabOffsets=getTabOffsets(elements);for(i=0;tabOffsets.length,tabOffsets[i]<=currentOffset+canvas.clientWidth;i++)firstHiddenTabOffset=tabOffsets[i];return Math.min(maxOffset,firstHiddenTabOffset)},getTabOffsets:getTabOffsets,getTotalTabsWidth:getTotalTabsWidth};function getTabOffsets(elements){var i,tab,currentOffset=0,offsets=[];for(i=0;i<elements.tabs.length;i++)tab=elements.tabs[i],offsets.push(currentOffset),currentOffset+=tab.offsetWidth;return offsets}function getTotalTabsWidth(elements){var i,tab,sum=0;for(i=0;i<elements.tabs.length;i++)tab=elements.tabs[i],sum+=tab.offsetWidth;return sum}}),angular.module("material.components.tabs").directive("mdTab",function(){return{require:"^?mdTabs",terminal:!0,compile:function(element,attr){var label=firstChild(element,"md-tab-label"),body=firstChild(element,"md-tab-body");if(0===label.length&&(label=angular.element("<md-tab-label></md-tab-label>"),attr.label?label.text(attr.label):label.append(element.contents()),0===body.length)){var contents=element.contents().detach();(body=angular.element("<md-tab-body></md-tab-body>")).append(contents)}return element.append(label),body.html()&&element.append(body),postLink},scope:{active:"=?mdActive",disabled:"=?ngDisabled",select:"&?mdOnSelect",deselect:"&?mdOnDeselect",tabClass:"@mdTabClass"}};function postLink(scope,element,attr,ctrl){if(ctrl){var index=ctrl.getTabElementIndex(element),body=firstChild(element,"md-tab-body").remove(),label=firstChild(element,"md-tab-label").remove(),data=ctrl.insertTab({scope:scope,parent:scope.$parent,index:index,element:element,template:body.html(),label:label.html()},index);scope.select=scope.select||angular.noop,scope.deselect=scope.deselect||angular.noop,scope.$watch("active",function(active){active&&ctrl.select(data.getIndex(),!0)}),scope.$watch("disabled",function(){ctrl.refreshIndex()}),scope.$watch(function(){return ctrl.getTabElementIndex(element)},function(newIndex){data.index=newIndex,ctrl.updateTabOrder()}),scope.$on("$destroy",function(){ctrl.removeTab(data)})}}function firstChild(element,tagName){for(var children=element[0].children,i=0,len=children.length;i<len;i++){var child=children[i];if(child.tagName===tagName.toUpperCase())return angular.element(child)}return angular.element()}}),angular.module("material.components.tabs").directive("mdTabItem",function(){return{require:"^?mdTabs",link:function(scope,element,attr,ctrl){ctrl&&ctrl.attachRipple(scope,element)}}}),angular.module("material.components.tabs").directive("mdTabLabel",function(){return{terminal:!0}}),function(){function MdTabScroll($parse){return{restrict:"A",compile:function($element,attr){var fn=$parse(attr.mdTabScroll,null,!0);return function(scope,element){element.on("wheel",function(event){scope.$apply(function(){fn(scope,{$event:event})})})}}}}MdTabScroll.$inject=["$parse"],angular.module("material.components.tabs").directive("mdTabScroll",MdTabScroll)}(),function(){function MdTabsController($scope,$element,$window,$mdConstant,$mdTabInkRipple,$mdUtil,$animateCss,$attrs,$compile,$mdTheming,$mdInteraction,$timeout,MdTabsPaginationService){var ctrl=this,locked=!1,queue=[],destroyed=!1,loaded=!1;function defineBooleanAttribute(key,handler){var attr=$attrs.$normalize("md-"+key);function updateValue(newValue){ctrl[key]="false"!==newValue}handler&&defineProperty(key,handler,void 0),$attrs.hasOwnProperty(attr)&&updateV
vendor: 9,655 bytes, line 1
1alue($attrs[attr]),$attrs.$observe(attr,updateValue)}function cleanup(){destroyed=!0,angular.element($window).off("resize",handleWindowResize)}function handleStretchTabs(){var elements=getElements();angular.element(elements.wrapper).toggleClass("md-stretch-tabs",function(){switch(ctrl.stretchTabs){case"always":return!0;case"never":return!1;default:return!ctrl.shouldPaginate&&$window.matchMedia("(max-width: 600px)").matches}}()),updateInkBarStyles()}function handleCenterTabs(){ctrl.shouldCenterTabs=shouldCenterTabs()}function handleMaxTabWidth(newWidth,oldWidth){if(newWidth!==oldWidth){var elements=getElements();angular.forEach(elements.tabs,function(tab){tab.style.maxWidth=newWidth+"px"}),angular.forEach(elements.dummies,function(tab){tab.style.maxWidth=newWidth+"px"}),$mdUtil.nextTick(ctrl.updateInkBarStyles)}}function handleShouldPaginate(newValue,oldValue){newValue!==oldValue&&(ctrl.maxTabWidth=getMaxTabWidth(),ctrl.shouldCenterTabs=shouldCenterTabs(),$mdUtil.nextTick(function(){ctrl.maxTabWidth=getMaxTabWidth(),adjustOffset(ctrl.selectedIndex)}))}function handleHasContent(hasContent){$element[hasContent?"removeClass":"addClass"]("md-no-tab-content")}function handleOffsetChange(left){var newValue=(ctrl.shouldCenterTabs||isRtl()?"":"-")+left+"px";newValue=newValue.replace("--",""),angular.element(getElements().paging).css($mdConstant.CSS.TRANSFORM,"translate("+newValue+", 0)"),$scope.$broadcast("$mdTabsPaginationChanged")}function handleFocusIndexChange(newIndex,oldIndex){newIndex!==oldIndex&&getElements().tabs[newIndex]&&(adjustOffset(),redirectFocus())}function handleSelectedIndexChange(newValue,oldValue){newValue!==oldValue&&(ctrl.selectedIndex=getNearestSafeIndex(newValue),ctrl.lastSelectedIndex=oldValue,ctrl.updateInkBarStyles(),updateHeightFromContent(),adjustOffset(newValue),$scope.$broadcast("$mdTabsChanged"),ctrl.tabs[oldValue]&&ctrl.tabs[oldValue].scope.deselect(),ctrl.tabs[newValue]&&ctrl.tabs[newValue].scope.select())}function select(index,canSkipClick){locked||(ctrl.focusIndex=ctrl.selectedIndex=index),canSkipClick&&ctrl.noSelectClick||$mdUtil.nextTick(function(){ctrl.tabs[index].element.triggerHandler("click")},!1)}function handleWindowResize(){ctrl.lastSelectedIndex=ctrl.selectedIndex,ctrl.offsetLeft=fixOffset(ctrl.offsetLeft),$mdUtil.nextTick(function(){ctrl.updateInkBarStyles(),updatePagination()})}function handleInkBar(hide){angular.element(getElements().inkBar).toggleClass("ng-hide",hide)}function handleDynamicHeight(value){$element.toggleClass("md-dynamic-height",value)}function getElements(){var elements={},node=$element[0];return elements.wrapper=node.querySelector("md-tabs-wrapper"),elements.canvas=elements.wrapper.querySelector("md-tabs-canvas"),elements.paging=elements.canvas.querySelector("md-pagination-wrapper"),elements.inkBar=elements.paging.querySelector("md-ink-bar"),elements.nextButton=node.querySelector("md-next-button"),elements.prevButton=node.querySelector("md-prev-button"),elements.contents=node.querySelectorAll("md-tabs-content-wrapper > md-tab-content"),elements.tabs=elements.paging.querySelectorAll("md-tab-item"),elements.dummies=elements.canvas.querySelectorAll("md-dummy-tab"),elements}function shouldCenterTabs(){return ctrl.centerTabs&&!ctrl.shouldPaginate}function getNearestSafeIndex(newIndex){if(-1===newIndex)return-1;var i,tab,maxOffset=Math.max(ctrl.tabs.length-newIndex,newIndex);for(i=0;i<=maxOffset;i++){if((tab=ctrl.tabs[newIndex+i])&&!0!==tab.scope.disabled)return tab.getIndex();if((tab=ctrl.tabs[newIndex-i])&&!0!==tab.scope.disabled)return tab.getIndex()}return newIndex}function defineProperty(key,handler,value){Object.defineProperty(ctrl,key,{get:function(){return value},set:function(newValue){var oldValue=value;value=newValue,handler&&handler(newValue,oldValue)}})}function updatePagination(){ctrl.maxTabWidth=getMaxTabWidth(),ctrl.shouldPaginate=function(){var shouldPaginate;if(ctrl.noPagination||!loaded)return!1;var canvasWidth=$element.prop("clientWidth");return angular.forEach(getElements().tabs,function(tab){canvasWidth-=tab.offsetWidth}),shouldPaginate=canvasWidth<0,$mdUtil.msie&&(getElements().paging.style.width=shouldPaginate?"999999px":void 0),shouldPaginate}()}function calcTabsWidth(tabs){var width=0;return angular.forEach(tabs,function(tab){width+=Math.max(tab.offsetWidth,tab.getBoundingClientRect().width)}),Math.ceil(width)}function getMaxTabWidth(){var containerWidth=getElements().canvas.clientWidth;return Math.max(0,Math.min(containerWidth-1,264))}function incrementIndex(inc,focus){var newIndex,key=focus?"focusIndex":"selectedIndex",index=ctrl[key];for(newIndex=index+inc;ctrl.tabs[newIndex]&&ctrl.tabs[newIndex].scope.disabled;newIndex+=inc);newIndex=(index+inc+ctrl.tabs.length)%ctrl.tabs.length,ctrl.tabs[newIndex]&&(ctrl[key]=newIndex)}function redirectFocus(){ctrl.styleTabItemFocus="keyboard"===$mdInteraction.getLastInteractionType();var tabToFocus=getElements().tabs[ctrl.focusIndex];tabToFocus&&tabToFocus.focus()}function adjustOffset(index){var elements=getElements();if(angular.isNumber(index)||(index=ctrl.focusIndex),elements.tabs[index]&&!ctrl.shouldCenterTabs){var tab=elements.tabs[index],left=tab.offsetLeft,right=tab.offsetWidth+left;if(0!==index)if(isRtl()){var tabWidthsBefore=calcTabsWidth(Array.prototype.slice.call(elements.tabs,0,index)),tabWidthsIncluding=calcTabsWidth(Array.prototype.slice.call(elements.tabs,0,index+1));ctrl.offsetLeft=Math.min(ctrl.offsetLeft,fixOffset(tabWidthsBefore)),ctrl.offsetLeft=Math.max(ctrl.offsetLeft,fixOffset(tabWidthsIncluding-elements.canvas.clientWidth))}else ctrl.offsetLeft=Math.max(ctrl.offsetLeft,fixOffset(right-elements.canvas.clientWidth+32)),ctrl.offsetLeft=Math.min(ctrl.offsetLeft,fixOffset(left));else ctrl.offsetLeft=0}}function refreshIndex(){ctrl.selectedIndex=getNearestSafeIndex(ctrl.selectedIndex),ctrl.focusIndex=getNearestSafeIndex(ctrl.focusIndex)}function updateHeightFromContent(){if(!ctrl.dynamicHeight)return $element.css("height","");if(!ctrl.tabs.length)return queue.push(updateHeightFromContent);var elements=getElements(),tabContent=elements.contents[ctrl.selectedIndex],contentHeight=tabContent?tabContent.offsetHeight:0,tabsHeight=elements.wrapper.offsetHeight,newHeight=contentHeight+tabsHeight,currentHeight=$element.prop("clientHeight");if(currentHeight!==newHeight){"bottom"===$element.attr("md-align-tabs")&&(currentHeight-=tabsHeight,newHeight-=tabsHeight,void 0!==$element.attr("md-border-bottom")&&++currentHeight),locked=!0;var fromHeight={height:currentHeight+"px"},toHeight={height:newHeight+"px"};$element.css(fromHeight),$animateCss($element,{from:fromHeight,to:toHeight,easing:"cubic-bezier(0.35, 0, 0.25, 1)",duration:.5}).start().done(function(){$element.css({transition:"none",height:""}),$mdUtil.nextTick(function(){$element.css("transition","")}),locked=!1})}}function updateInkBarStyles(previousTotalWidth,previousWidthOfTabItems){if(!ctrl.noInkBar){var elements=getElements();if(elements.tabs[ctrl.selectedIndex])if(ctrl.tabs.length)if($element.prop("offsetParent")){var index=ctrl.selectedIndex,totalWidth=elements.paging.offsetWidth,tab=elements.tabs[index],left=tab.offsetLeft,right=totalWidth-left-tab.offsetWidth;if(ctrl.shouldCenterTabs){var totalWidthOfTabItems=calcTabsWidth(elements.tabs);totalWidthOfTabItems<totalWidth&&previousTotalWidth!==totalWidth&&previousWidthOfTabItems!==totalWidthOfTabItems&&$timeout(updateInkBarStyles,0,!0,totalWidth,totalWidthOfTabItems)}!function(){var elements=getElements(),newIndex=ctrl.selectedIndex,oldIndex=ctrl.lastSelectedIndex,ink=angular.element(elements.inkBar);if(!angular.isNumber(oldIndex))return;ink.toggleClass("md-left",newIndex<oldIndex).toggleClass("md-right",oldIndex<newIndex)}(),angular.element(elements.inkBar).css({left:left+"px",right:right+"px"})}else(function handleResizeWhenVisible(){handleResizeWhenVisible.watcher||(handleResizeWhenVisible.watcher=$scope.$watch(function(){$mdUtil.nextTick(function(){handleResizeWhenVisible.watcher&&$element.prop("offsetParent")&&(handleResizeWhenVisible.watcher(),handleResizeWhenVisible.watcher=null,handleWindowResize())},!1)}))})();else queue.push(ctrl.updateInkBarStyles);else angular.element(elements.inkBar).css({left:"auto",right:"auto"})}}function fixOffset(value){var elements=getElements();if(!elements.tabs.length||!ctrl.shouldPaginate)return 0;var lastTab=elements.tabs[elements.tabs.length-1],totalWidth=lastTab.offsetLeft+lastTab.offsetWidth;return value=isRtl()?(value=Math.min(elements.paging.offsetWidth-elements.canvas.clientWidth,value),Math.max(0,value)):(value=Math.max(0,value),Math.min(totalWidth-elements.canvas.clientWidth,value))}function isRtl(){return $mdUtil.isRtl($attrs)}ctrl.$onInit=function(){(function(key,handler){var attr=$attrs.$normalize("md-"+key);handler&&defineProperty(key,handler);$attrs.$observe(attr,function(newValue){ctrl[key]=newValue})})("stretchTabs",handleStretchTabs),defineProperty("focusIndex",handleFocusIndexChange,ctrl.selectedIndex||0),defineProperty("offsetLeft",handleOffsetChange,0),defineProperty("hasContent",handleHasContent,!1),defineProperty("maxTabWidth",handleMaxTabWidth,getMaxTabWidth()),defineProperty("shouldPaginate",handleShouldPaginate,!1),defineBooleanAttribute("noInkBar",handleInkBar),defineBooleanAttribute("dynamicHeight",handleDynamicHeight),defineBooleanAttribute("noPagination"),defineBooleanAttribute("swipeContent"),defineBooleanAttribute("autoselect"),defineBooleanAttribute("noSelectClick"),defineBooleanAttribute("centerTabs",handleCenterTabs),defineBooleanAttribute("enableDisconnect"),ctrl.scope=$scope,ctrl.parent=$scope.$parent,ctrl.tabs=[],ctrl.lastSelectedIndex=null,ctrl.hasFocus=!1,ctrl.
vendor: 13,802 bytes, line 1
1styleTabItemFocus=!1,ctrl.shouldCenterTabs=shouldCenterTabs(),ctrl.tabContentPrefix="tab-content-",ctrl.navigationHint="Use the left and right arrow keys to navigate between tabs",ctrl.selectedIndex=ctrl.selectedIndex||0,template=$attrs.$mdTabsTemplate,element=angular.element($element[0].querySelector("md-tab-data")),element.html(template),$compile(element.contents())(ctrl.parent),delete $attrs.$mdTabsTemplate,$scope.$watch("$mdTabsCtrl.selectedIndex",handleSelectedIndexChange),angular.element($window).on("resize",handleWindowResize),$scope.$on("$destroy",cleanup),$mdTheming($element),$mdUtil.nextTick(function(){updateHeightFromContent(),adjustOffset(),updateInkBarStyles(),ctrl.tabs[ctrl.selectedIndex]&&ctrl.tabs[ctrl.selectedIndex].scope.select(),loaded=!0,updatePagination()});var template,element},ctrl.updatePagination=$mdUtil.debounce(updatePagination,100),ctrl.redirectFocus=redirectFocus,ctrl.attachRipple=function(scope,element){var elements=getElements(),options={colorElement:angular.element(elements.inkBar)};$mdTabInkRipple.attach(scope,element,options)},ctrl.insertTab=function(tabData,index){var hasLoaded=loaded,proto={getIndex:function(){return ctrl.tabs.indexOf(tab)},isActive:function(){return this.getIndex()===ctrl.selectedIndex},isLeft:function(){return this.getIndex()<ctrl.selectedIndex},isRight:function(){return this.getIndex()>ctrl.selectedIndex},shouldRender:function(){return ctrl.dynamicHeight||this.isActive()},hasFocus:function(){return ctrl.styleTabItemFocus&&ctrl.hasFocus&&this.getIndex()===ctrl.focusIndex},id:$mdUtil.nextUid(),hasContent:!(!tabData.template||!tabData.template.trim())},tab=angular.extend(proto,tabData);angular.isDefined(index)?ctrl.tabs.splice(index,0,tab):ctrl.tabs.push(tab);return queue.forEach(function(func){$mdUtil.nextTick(func)}),queue=[],function(){var i,hasContent=!1;for(i=0;i<ctrl.tabs.length;i++)if(ctrl.tabs[i].hasContent){hasContent=!0;break}ctrl.hasContent=hasContent}(),$mdUtil.nextTick(function(){updatePagination(),function(tab){if(tab.hasContent){var nodes=$element[0].querySelectorAll('[md-tab-id="'+tab.id+'"]');angular.element(nodes).attr("aria-controls",ctrl.tabContentPrefix+tab.id)}}(tab),hasLoaded&&ctrl.autoselect&&$mdUtil.nextTick(function(){$mdUtil.nextTick(function(){select(ctrl.tabs.indexOf(tab))})})}),tab},ctrl.removeTab=function(tabData){if(destroyed)return;var selectedIndex=ctrl.selectedIndex,tab=ctrl.tabs.splice(tabData.getIndex(),1)[0];refreshIndex(),ctrl.selectedIndex===selectedIndex&&(tab.scope.deselect(),ctrl.tabs[ctrl.selectedIndex]&&ctrl.tabs[ctrl.selectedIndex].scope.select());$mdUtil.nextTick(function(){updatePagination(),ctrl.offsetLeft=fixOffset(ctrl.offsetLeft)})},ctrl.select=select,ctrl.scroll=function(event){if(!ctrl.shouldPaginate)return;event.preventDefault(),event.deltaY?ctrl.offsetLeft=fixOffset(ctrl.offsetLeft+event.deltaY):event.deltaX&&(ctrl.offsetLeft=fixOffset(ctrl.offsetLeft+event.deltaX))},ctrl.nextPage=function(){if(!ctrl.canPageForward())return;var newOffset=MdTabsPaginationService.increasePageOffset(getElements(),ctrl.offsetLeft);ctrl.offsetLeft=fixOffset(newOffset)},ctrl.previousPage=function(){if(!ctrl.canPageBack())return;var newOffset=MdTabsPaginationService.decreasePageOffset(getElements(),ctrl.offsetLeft);ctrl.offsetLeft=fixOffset(newOffset)},ctrl.keydown=function(event){switch(event.keyCode){case $mdConstant.KEY_CODE.LEFT_ARROW:event.preventDefault(),incrementIndex(-1,!0);break;case $mdConstant.KEY_CODE.RIGHT_ARROW:event.preventDefault(),incrementIndex(1,!0);break;case $mdConstant.KEY_CODE.SPACE:case $mdConstant.KEY_CODE.ENTER:event.preventDefault(),locked||select(ctrl.focusIndex);break;case $mdConstant.KEY_CODE.TAB:ctrl.focusIndex!==ctrl.selectedIndex&&(ctrl.focusIndex=ctrl.selectedIndex)}},ctrl.canPageForward=function(){var elements=getElements(),lastTab=elements.tabs[elements.tabs.length-1];if(isRtl())return ctrl.offsetLeft<elements.paging.offsetWidth-elements.canvas.offsetWidth;return lastTab&&lastTab.offsetLeft+lastTab.offsetWidth>elements.canvas.clientWidth+ctrl.offsetLeft},ctrl.canPageBack=function(){return 0<ctrl.offsetLeft},ctrl.refreshIndex=refreshIndex,ctrl.incrementIndex=incrementIndex,ctrl.getTabElementIndex=function(tabEl){var tabs=$element[0].getElementsByTagName("md-tab");return Array.prototype.indexOf.call(tabs,tabEl[0])},ctrl.updateInkBarStyles=$mdUtil.debounce(updateInkBarStyles,100),ctrl.updateTabOrder=$mdUtil.debounce(function(){var selectedItem=ctrl.tabs[ctrl.selectedIndex],focusItem=ctrl.tabs[ctrl.focusIndex];ctrl.tabs=ctrl.tabs.sort(function(a,b){return a.index-b.index}),ctrl.selectedIndex=ctrl.tabs.indexOf(selectedItem),ctrl.focusIndex=ctrl.tabs.indexOf(focusItem)},100),ctrl.getFocusedTabId=function(){var focusedTab=ctrl.tabs[ctrl.focusIndex];return focusedTab&&focusedTab.id?"tab-item-"+focusedTab.id:null},1===angular.version.major&&angular.version.minor<=4&&this.$onInit()}MdTabsController.$inject=["$scope","$element","$window","$mdConstant","$mdTabInkRipple","$mdUtil","$animateCss","$attrs","$compile","$mdTheming","$mdInteraction","$timeout","MdTabsPaginationService"],angular.module("material.components.tabs").controller("MdTabsController",MdTabsController)}(),function(){function MdTabs($$mdSvgRegistry){return{scope:{navigationHint:"@?mdNavigationHint",selectedIndex:"=?mdSelected"},template:function(element,attr){return attr.$mdTabsTemplate=element.html(),'<md-tabs-wrapper> <md-tab-data></md-tab-data> <md-prev-button tabindex="-1" role="button" aria-label="Previous Page" aria-disabled="{{!$mdTabsCtrl.canPageBack()}}" ng-class="{ \'md-disabled\': !$mdTabsCtrl.canPageBack() }" ng-if="$mdTabsCtrl.shouldPaginate" ng-click="$mdTabsCtrl.previousPage()"> <md-icon md-svg-src="'+$$mdSvgRegistry.mdTabsArrow+'"></md-icon> </md-prev-button> <md-next-button tabindex="-1" role="button" aria-label="Next Page" aria-disabled="{{!$mdTabsCtrl.canPageForward()}}" ng-class="{ \'md-disabled\': !$mdTabsCtrl.canPageForward() }" ng-if="$mdTabsCtrl.shouldPaginate" ng-click="$mdTabsCtrl.nextPage()"> <md-icon md-svg-src="'+$$mdSvgRegistry.mdTabsArrow+'"></md-icon> </md-next-button> <md-tabs-canvas tabindex="{{ $mdTabsCtrl.hasFocus ? -1 : 0 }}" ng-focus="$mdTabsCtrl.redirectFocus()" ng-class="{ \'md-paginated\': $mdTabsCtrl.shouldPaginate, \'md-center-tabs\': $mdTabsCtrl.shouldCenterTabs }" ng-keydown="$mdTabsCtrl.keydown($event)"> <md-pagination-wrapper ng-class="{ \'md-center-tabs\': $mdTabsCtrl.shouldCenterTabs }" md-tab-scroll="$mdTabsCtrl.scroll($event)" role="tablist" aria-label="{{::$mdTabsCtrl.navigationHint}}"><md-tab-item tabindex="{{ tab.isActive() ? 0 : -1 }}" class="md-tab {{::tab.scope.tabClass}}" ng-repeat="tab in $mdTabsCtrl.tabs" role="tab" id="tab-item-{{::tab.id}}" md-tab-id="{{::tab.id}}" aria-selected="{{tab.isActive()}}" aria-disabled="{{tab.scope.disabled || \'false\'}}" ng-click="$mdTabsCtrl.select(tab.getIndex())" ng-focus="$mdTabsCtrl.hasFocus = true" ng-blur="$mdTabsCtrl.hasFocus = false" ng-class="{ \'md-active\': tab.isActive(), \'md-focused\': tab.hasFocus(), \'md-disabled\': tab.scope.disabled }" ng-disabled="tab.scope.disabled" md-swipe-left="$mdTabsCtrl.nextPage()" md-swipe-right="$mdTabsCtrl.previousPage()" md-tabs-template="::tab.label" md-scope="::tab.parent"></md-tab-item> <md-ink-bar></md-ink-bar> </md-pagination-wrapper> <md-tabs-dummy-wrapper aria-hidden="true" class="md-visually-hidden md-dummy-wrapper"> <md-dummy-tab class="md-tab" tabindex="-1" ng-focus="$mdTabsCtrl.hasFocus = true" ng-blur="$mdTabsCtrl.hasFocus = false" ng-repeat="tab in $mdTabsCtrl.tabs" md-tabs-template="::tab.label" md-scope="::tab.parent"></md-dummy-tab> </md-tabs-dummy-wrapper> </md-tabs-canvas> </md-tabs-wrapper> <md-tabs-content-wrapper ng-show="$mdTabsCtrl.hasContent && $mdTabsCtrl.selectedIndex >= 0" class="_md"> <md-tab-content id="{{:: $mdTabsCtrl.tabContentPrefix + tab.id}}" class="_md" role="tabpanel" aria-labelledby="tab-item-{{::tab.id}}" md-swipe-left="$mdTabsCtrl.swipeContent && $mdTabsCtrl.incrementIndex(1)" md-swipe-right="$mdTabsCtrl.swipeContent && $mdTabsCtrl.incrementIndex(-1)" ng-if="tab.hasContent" ng-repeat="(index, tab) in $mdTabsCtrl.tabs" ng-class="{ \'md-no-transition\': $mdTabsCtrl.lastSelectedIndex == null, \'md-active\': tab.isActive(), \'md-left\': tab.isLeft(), \'md-right\': tab.isRight(), \'md-no-scroll\': $mdTabsCtrl.dynamicHeight }"> <div md-tabs-template="::tab.template" md-connected-if="tab.isActive()" md-scope="::tab.parent" ng-if="$mdTabsCtrl.enableDisconnect || tab.shouldRender()"></div> </md-tab-content> </md-tabs-content-wrapper>'},controller:"MdTabsController",controllerAs:"$mdTabsCtrl",bindToController:!0}}MdTabs.$inject=["$$mdSvgRegistry"],angular.module("material.components.tabs").directive("mdTabs",MdTabs)}(),function(){function MdTabsDummyWrapper($mdUtil,$window){return{require:"^?mdTabs",link:function(scope,element,attr,ctrl){if(ctrl){var observer,disconnect,mutationCallback=function(){ctrl.updatePagination(),ctrl.updateInkBarStyles()};if("MutationObserver"in $window){(observer=new MutationObserver(mutationCallback)).observe(element[0],{childList:!0,subtree:!0,characterData:!0}),disconnect=observer.disconnect.bind(observer)}else{var debounced=$mdUtil.debounce(mutationCallback,15,null,!1);element.on("DOMSubtreeModified",debounced),disconnect=element.off.bind(element,"DOMSubtreeModified",debounced)}scope.$on("$destroy",function(){disconnect()})}}}}MdTabsDummyWrapper.$inject=["$mdUtil","$window"],angular.module("material.components.tabs").directive("mdTabsDummyWrapper",MdTabsDummyWrapper)}(),function(){function MdTabsTemplate($compile,$mdUtil){return{restrict:"A",link:function(scope,element,attr,ctrl){if(!ctrl)return;var compileScope=ctrl.enableDisconnect?scope.compileScope.$new():scope.compileScope;return element.html(scope.template),$compile(element.contents())(compileScope),$mdUtil.nextTick(function(){scope.$watch("connected",function(value){!1===value?ctrl.enableDisconnect&&$mdUtil.disconnectScope(compileScope):reconnect()}),scope.$on("$destroy",reconnect)});function reconnect(){ctrl.enableDisconnect&&$mdUtil.reconnectScope(compileScope)}},scope:{template:"=mdTabsTemplate",connected:"=?mdConnectedIf",compileScope:"=mdScope"},require:"^?mdTabs"}}MdTabsTemplate.$inject=["$compile","$mdUtil"],angular.module("material.components.tabs").directive("mdTabsTemplate",MdTabsTemplate)}(),function(){function MdToastDirective($mdToast){return{restrict:"E",link:function(scope,element){element.addClass("_md"),scope.$on("$destroy",function(){$mdToast.destroy()})}}}function MdToastProvider($$interimElementProvider){MdToastController.$inject=["$mdToast","$scope","$log"],toastDefaultOptions.$inject=["$animate","$mdToast","$mdUtil","$mdMedia","$document","$q"];var activeToastContent,ACTION_RESOLVE="ok";return $$interimElementProvider("$mdToast").setDefaults({methods:["position","hideDelay","capsule","parent","position","toastClass"],options:toastDefaultOptions}).addPreset("simple",{argOption:"textContent",methods:["textContent","action","actionKey","actionHint","highlightAction","highlightClass","theme","parent","dismissHint"],options:["$mdToast","$mdTheming",function($mdToast,$mdTheming){return{template:'<md-toast md-theme="{{ toast.theme }}" ng-class="{\'md-capsule\': toast.capsule}"> <div class="md-toast-content" aria-live="polite" aria-relevant="all"> <span class="md-toast-text"> {{ toast.content }} </span> <span class="md-visually-hidden">{{ toast.dismissHint }}</span> <span class="md-visually-hidden" ng-if="toast.action && toast.actionKey"> {{ toast.actionHint }} </span> <md-button class="md-action" ng-if="toast.action" ng-click="toast.resolve()" ng-class="highlightClasses"> {{ toast.action }} </md-button> </div></md-toast>',controller:MdToastController,theme:$mdTheming.defaultTheme(),controllerAs:"toast",bindToController:!0}}]}).addMethod("updateTextContent",function(newContent){activeToastContent=newContent});function MdToastController($mdToast,$scope,$log){this.$onInit=function(){var self=this;self.highlightAction&&($scope.highlightClasses=["md-highlight",self.highlightClass]),self.action&&!self.actionKey&&$log.warn("Toasts with actions should define an actionKey for accessibility.","Details: https://material.angularjs.org/latest/api/service/$mdToast#mdtoast-simple"),self.actionKey&&!self.actionHint&&(self.actionHint='Press Control-"'+self.actionKey+'" to '),self.dismissHint||(self.dismissHint="Press Escape to dismiss."),$scope.$watch(function(){return activeToastContent},function(){self.content=activeToastContent}),this.resolve=function(){$mdToast.hide(ACTION_RESOLVE)}}}function toastDefaultOptions($animate,$mdToast,$mdUtil,$mdMedia,$document,$q){var SWIPE_EVENTS="$md.swipeleft $md.swiperight $md.swipeup $md.swipedown";return{onShow:function(scope,element,options){activeToastContent=options.textContent;var isSmScreen=!$mdMedia("gt-sm");element=$mdUtil.extractElementByName(element,"md-toast",!0),options.element=element,options.onSwipe=function(ev){var swipe=ev.type.replace("$md.",""),direction=swipe.replace("swipe","");"down"===direction&&-1!==options.position.indexOf("top")&&!isSmScreen||"up"===direction&&(-1!==options.position.indexOf("bottom")||isSmScreen)||("left"!==direction&&"right"!==direction||!isSmScreen)&&(element.addClass("md-"+swipe),$mdUtil.nextTick($mdToast.cancel))},options.openClass=(position=options.position,$mdMedia("gt-xs")?"md-toast-open-"+(-1<position.indexOf("top")?"top":"bottom"):"md-toast-open-bottom"),element.addClass(options.toastClass),options.parent.addClass(options.openClass),$mdUtil.hasComputedStyle(options.parent,"position","static")&&options.parent.css("position","relative");var position;actionKey=scope.toast&&scope.toast.actionKey?scope.toast.actionKey:void 0,$document.on("key
1down",function(event){"Escape"===event.key&&$mdToast.hide(!1),actionKey&&event.key===actionKey&&event.ctrlKey&&$mdToast.hide(ACTION_RESOLVE)}),element.on(SWIPE_EVENTS,options.onSwipe);var actionKey;var verticalPositionDefined=!1,positionClasses=options.position.split(" ").map(function(position){if(position){var className="md-"+position;return"md-top"!==className&&"md-bottom"!==className||(verticalPositionDefined=!0),className}return"md-bottom"});verticalPositionDefined||positionClasses.push("md-bottom");element.addClass(isSmScreen?"md-bottom":positionClasses.join(" ")),options.parent&&options.parent.addClass("md-toast-animating");return $animate.enter(element,options.parent).then(function(){options.parent&&options.parent.removeClass("md-toast-animating")})},onRemove:function(scope,element,options){scope.toast&&scope.toast.actionKey&&$document.off("keydown");element.off(SWIPE_EVENTS,options.onSwipe),options.parent&&options.parent.addClass("md-toast-animating");options.openClass&&options.parent.removeClass(options.openClass);return(!0===options.$destroy?$q.when(element.remove()):$animate.leave(element)).then(function(){options.parent&&options.parent.removeClass("md-toast-animating"),$mdUtil.hasComputedStyle(options.parent,"position","static")&&options.parent.css("position","")})},toastClass:"",position:"bottom left",themable:!0,hideDelay:3e3,autoWrap:!0,transformTemplate:function(template,options){if(options.autoWrap&&template&&!/md-toast-content/g.test(template)){var templateRoot=document.createElement("md-template");templateRoot.innerHTML=template;for(var i=0;i<templateRoot.children.length;i++)if("MD-TOAST"===templateRoot.children[i].nodeName){var wrapper=angular.element('<div class="md-toast-content">');wrapper.append(angular.element(templateRoot.children[i].childNodes)),templateRoot.children[i].appendChild(wrapper[0])}return templateRoot.innerHTML}return template||""}}}}MdToastDirective.$inject=["$mdToast"],MdToastProvider.$inject=["$$interimElementProvider"],angular.module("material.components.toast",["material.core","material.components.button"]).directive("mdToast",MdToastDirective).provider("$mdToast",MdToastProvider)}(),function(){function mdToolbarDirective($$rAF,$mdConstant,$mdUtil,$mdTheming,$animate,$timeout){var translateY=angular.bind(null,$mdUtil.supplant,"translate3d(0,{0}px,0)");return{template:"",restrict:"E",link:function(scope,element,attr){element.addClass("_md"),$mdTheming(element),$mdUtil.nextTick(function(){element.addClass("_md-toolbar-transitions")},!1),angular.isDefined(attr.mdScrollShrink)&&function(){var toolbarHeight,contentElement,disableScrollShrink=angular.noop,y=0,prevScrollTop=0,shrinkSpeedFactor=attr.mdShrinkSpeedFactor||.5,debouncedContentScroll=$$rAF.throttle(onContentScroll),debouncedUpdateHeight=$mdUtil.debounce(updateToolbarHeight,5e3);scope.$on("$mdContentLoaded",onMdContentLoad),attr.$observe("mdScrollShrink",function(shrinkWithScroll){var closestContent=$mdUtil.getSiblings(element,"md-content");!contentElement&&closestContent.length&&onMdContentLoad(null,closestContent[0]),!1===(shrinkWithScroll=scope.$eval(shrinkWithScroll))?disableScrollShrink():disableScrollShrink=enableScrollShrink()}),attr.ngShow&&scope.$watch(attr.ngShow,updateToolbarHeight);attr.ngHide&&scope.$watch(attr.ngHide,updateToolbarHeight);function onMdContentLoad($event,newContentEl){newContentEl&&element.parent()[0]===newContentEl.parent()[0]&&(contentElement&&contentElement.off("scroll",debouncedContentScroll),contentElement=newContentEl,disableScrollShrink=enableScrollShrink())}function onContentScroll(e){var scrollTop=e?e.target.scrollTop:prevScrollTop;debouncedUpdateHeight(),y=Math.min(toolbarHeight/shrinkSpeedFactor,Math.max(0,y+scrollTop-prevScrollTop)),element.css($mdConstant.CSS.TRANSFORM,translateY([-y*shrinkSpeedFactor])),contentElement.css($mdConstant.CSS.TRANSFORM,translateY([(toolbarHeight-y)*shrinkSpeedFactor])),prevScrollTop=scrollTop,$mdUtil.nextTick(function(){var hasWhiteFrame=element.hasClass("md-whiteframe-z1");hasWhiteFrame&&!y?$animate.removeClass(element,"md-whiteframe-z1"):!hasWhiteFrame&&y&&$animate.addClass(element,"md-whiteframe-z1")})}function enableScrollShrink(){return contentElement?(contentElement.on("scroll",debouncedContentScroll),contentElement.attr("scroll-shrink","true"),$timeout(updateToolbarHeight),function(){contentElement.off("scroll",debouncedContentScroll),contentElement.attr("scroll-shrink","false"),updateToolbarHeight()}):angular.noop}function updateToolbarHeight(){var margin=-(toolbarHeight=element.prop("offsetHeight"))*shrinkSpeedFactor+"px";contentElement.css({"margin-top":margin,"margin-bottom":margin}),onContentScroll()}scope.$on("$destroy",disableScrollShrink)}()}}}mdToolbarDirective.$inject=["$$rAF","$mdConstant","$mdUtil","$mdTheming","$animate","$timeout"],angular.module("material.components.toolbar",["material.core","material.components.c
1ontent"]).directive("mdToolbar",mdToolbarDirective)}(),function(){function MdTooltipDirective($timeout,$window,$$rAF,$document,$interpolate,$mdUtil,$mdPanel,$$mdTooltipRegistry){var LEAVE_EVENTS="blur touchcancel mouseleave",TOOLTIP_DIRECTIONS={top:{x:$mdPanel.xPosition.CENTER,y:$mdPanel.yPosition.ABOVE},right:{x:$mdPanel.xPosition.OFFSET_END,y:$mdPanel.yPosition.CENTER},bottom:{x:$mdPanel.xPosition.CENTER,y:$mdPanel.yPosition.BELOW},left:{x:$mdPanel.xPosition.OFFSET_START,y:$mdPanel.yPosition.CENTER}};return{restrict:"E",priority:210,scope:{mdZIndex:"=?mdZIndex",mdDelay:"=?mdDelay",mdVisible:"=?mdVisible",mdAutohide:"=?mdAutohide",mdDirection:"@?mdDirection"},link:function(scope,element,attr){var origin,position,panelPosition,panelRef,showTimeout,tooltipId="md-tooltip-"+$mdUtil.nextUid(),parent=$mdUtil.getParentWithPointerEvents(element),debouncedOnResize=$$rAF.throttle(updatePosition),mouseActive=!1,elementFocusedOnWindowBlur=null;function setDefaults(){scope.mdZIndex=scope.mdZIndex||100,scope.mdDelay=scope.mdDelay||0,TOOLTIP_DIRECTIONS[scope.mdDirection]||(scope.mdDirection="bottom")}function addAriaLabel(labelText){var interpolatedText=labelText||$interpolate(element.text().trim())(scope.$parent);(!parent.attr("aria-label")&&!parent.attr("aria-labelledby")||parent.attr("md-labeled-by-tooltip"))&&(parent.attr("aria-label",interpolatedText),parent.attr("md-labeled-by-tooltip")||parent.attr("md-labeled-by-tooltip",tooltipId))}function updatePosition(){setDefaults(),panelRef&&panelRef.panelEl&&panelRef.panelEl.removeClass(origin),origin="md-origin-"+scope.mdDirection,position=TOOLTIP_DIRECTIONS[scope.mdDirection],panelPosition=$mdPanel.newPanelPosition().relativeTo(parent).addPanelPosition(position.x,position.y),panelRef&&panelRef.panelEl&&(panelRef.panelEl.addClass(origin),panelRef.updatePosition(panelPosition))}function setVisible(value){setVisible.queued&&setVisible.value===!!value||!setVisible.queued&&scope.mdVisible===!!value||(setVisible.value=!!value,setVisible.queued||(value?(setVisible.queued=!0,showTimeout=$timeout(function(){scope.mdVisible=setVisible.value,setVisible.queued=!1,showTimeout=null,scope.visibleWatcher||onVisibleChanged(scope.mdVisible)},scope.mdDelay)):$mdUtil.nextTick(function(){scope.mdVisible=!1,scope.visibleWatcher||onVisibleChanged(!1)})))}function onVisibleChanged(isVisible){isVisible?function(){if(!element[0].textContent.trim())throw new Error("Text for the tooltip has not been provided. Please include text within the mdTooltip element.");if(!panelRef){var attachTo=angular.element(document.body),panelAnimation=$mdPanel.newPanelAnimation().openFrom(parent).closeTo(parent).withAnimation({open:"md-show",close:"md-hide"}),panelConfig={id:tooltipId,attachTo:attachTo,contentElement:element,propagateContainerEvents:!0,panelClass:"md-tooltip",animation:panelAnimation,position:panelPosition,zIndex:scope.mdZIndex,focusOnOpen:!1,onDomAdded:function(){panelRef.panelEl.addClass(origin)}};panelRef=$mdPanel.create(panelConfig)}panelRef.open().then(function(){panelRef.panelEl.attr("role","tooltip")})}():panelRef&&panelRef.close()}setDefaults(),addAriaLabel(),element.detach(),updatePosition(),function(){if(parent[0]&&"MutationObserver"in $window){var attributeObserver=new MutationObserver(function(mutations){isDisabledMutation(mutations)&&$mdUtil.nextTick(function(){setVisible(!1)})});attributeObserver.observe(parent[0],{attributes:!0})}function isDisabledMutation(mutations){return mutations.some(function(mutation){return"disabled"===mutation.attributeName&&parent[0].disabled}),!1}function windowScrollEventHandler(){setVisible(!1)}function windowBlurEventHandler(){elementFocusedOnWindowBlur=document.activeElement===parent[0]}function enterEventHandler($event){"focus"===$event.type&&elementFocusedOnWindowBlur?elementFocusedOnWindowBlur=!1:scope.mdVisible||(parent.on(LEAVE_EVENTS,leaveEventHandler),setVisible(!0),"touchstart"===$event.type&&parent.one("touchend",function(){$mdUtil.nextTick(function(){$document.one("touchend",leaveEventHandler)},!1)}))}function leaveEventHandler(){((scope.hasOwnProperty("mdAutohide")?scope.mdAutohide:attr.hasOwnProperty("mdAutohide"))||mouseActive||$document[0].activeElement!==parent[0])&&(showTimeout&&($timeout.cancel(showTimeout),setVisible.queued=!1,showTimeout=null),parent.off(LEAVE_EVENTS,leaveEventHandler),parent.triggerHandler("blur"),setVisible(!1)),mouseActive=!1}function mousedownEventHandler(){mouseActive=!0}function onDestroy(){$$mdTooltipRegistry.deregister("scroll",windowScrollEventHandler,!0),$$mdTooltipRegistry.deregister("blur",windowBlurEventHandler),$$mdTooltipRegistry.deregister("resize",debouncedOnResize),parent.off("focus touchstart mouseenter",enterEventHandler).off(LEAVE_EVENTS,leaveEventHandler).off("mousedown",mousedownEventHandler),leaveEventHandler(),attributeObserver&&attributeObserver.disconnect()}elementFocusedOnWindowBlur=!1,$$mdTooltipRegistry.register("scroll",windowScrollEventHandler,!0),$$mdTooltipRegistry.register("blur",windowBlurEventHandler),$$mdTooltipRegistry.register("resize",debouncedOnResize),scope.$on("$destroy",onDestroy),parent.on("mousedown",mousedownEventHandler),parent.on("focus touchstart mouseenter",enterEventHandler)}(),function(){if(element[0]&&"MutationObserver"in $window){var attributeObserver=new MutationObserver(function(mutations){mutations.forEach(function(mutation){"md-visible"!==mutation.attributeName||scope.visibleWatcher||(scope.visibleWatcher=scope.$watch("mdVisible",onVisibleChanged))})});attributeObserver.observe(element[0],{attributes:!0}),attr.hasOwnProperty("mdVisible")&&(scope.visibleWatcher=scope.$watch("mdVisible",onVisibleChanged))}else scope.visibleWatcher=scope.$watch("mdVisible",onVisibleChanged);scope.$watch("mdDirection",updatePosition),element.one("$destroy",onElementDestroy),parent.one("$destroy",onElementDestroy),scope.$on("$destroy",function(){setVisible(!1),panelRef&&panelRef.destroy(),attributeObserver&&attributeObserver.disconnect(),element.remove()}),-1<element.text().indexOf($interpolate.startSymbol())&&scope.$watch(function(){return element.text().trim()},addAriaLabel);function onElementDestroy(){scope.$destroy()}}()}}}MdTooltipDirective.$inject=["$timeout","$window","$$rAF","$document","$interpolate","$mdUtil","$mdPanel","$$mdTooltipRegistry"],angular.module("material.components.tooltip",["material.core","material.components.panel"]).directive("mdTooltip",MdTooltipDirective).service("$$mdTooltipRegistry",function(){var listeners={},ngWindow=angular.element(window);return{register:function(type,handler,useCapture){var handlers=listeners[type]=listeners[type]||[];handlers.length||(useCapture?window.addEventListener(type,globalEventHandler,!0):ngWindow.on(type,globalEventHandler));-1===handlers.indexOf(handler)&&handlers.push(handler)},deregister:function(type,handler,useCapture){var handlers=listeners[type],index=handlers?handlers.indexOf(handler):-1;-1<index&&(handlers.splice(index,1),0===handlers.length&&(useCapture?window.removeEventListener(type,globalEventHandler,!0):ngWindow.off(type,globalEventHandler)))}};function globalEventHandler(event){listeners[event.type]&&listeners[event.type].forEach(function(currentHandler){currentHandler.call(this,event)},this)}})}(),function(){function MdTruncateController($element){$element.addClass("md-truncate")}MdTruncateController.$inject=["$element"],angular.module("material.components.truncate",["material.core"]).directive("mdTruncate",function(){return{restrict:"AE",controller:MdTruncateController}})}(),function(){function virtualRepeatContainerTemplate($element){return'<div class="md-virtual-repeat-scroller" role="presentation"><div class="md-virtual-repeat-sizer" role="presentation"></div><div class="md-virtual-repeat-offsetter" role="presentation">'+$element[0].innerHTML+"</div></div>"}VirtualRepeatContainerController.$inject=["$$rAF","$mdUtil","$mdConstant","$parse","$rootScope","$
1window","$scope","$element","$attrs"],VirtualRepeatController.$inject=["$scope","$element","$attrs","$browser","$document","$rootScope","$$rAF","$mdUtil"],VirtualRepeatDirective.$inject=["$parse"],angular.module("material.components.virtualRepeat",["material.core","material.components.showHide"]).directive("mdVirtualRepeatContainer",function(){return{controller:VirtualRepeatContainerController,template:virtualRepeatContainerTemplate,compile:function($element,$attrs){$element.addClass("md-virtual-repeat-container").addClass($attrs.hasOwnProperty("mdOrientHorizontal")?"md-orient-horizontal":"md-orient-vertical")}}}).directive("mdVirtualRepeat",VirtualRepeatDirective).directive("mdForceHeight",ForceHeightDirective);function VirtualRepeatContainerController($$rAF,$mdUtil,$mdConstant,$parse,$rootScope,$window,$scope,$element,$attrs){this.$rootScope=$rootScope,this.$scope=$scope,this.$element=$element,this.$attrs=$attrs,this.size=0,this.scrollSize=0,this.scrollOffset=0,this.horizontal=this.$attrs.hasOwnProperty("mdOrientHorizontal"),this.repeater=null,this.autoShrink=this.$attrs.hasOwnProperty("mdAutoShrink"),this.autoShrinkMin=parseInt(this.$attrs.mdAutoShrinkMin,10)||0,this.originalSize=null,this.offsetSize=parseInt(this.$attrs.mdOffsetSize,10)||0,this.oldElementSize=null,this.maxElementPixels=$mdConstant.ELEMENT_MAX_PIXELS,this.ltr=!$mdUtil.isRtl(this.$attrs),this.$attrs.mdTopIndex?(this.bindTopIndex=$parse(this.$attrs.mdTopIndex),this.topIndex=this.bindTopIndex(this.$scope),angular.isDefined(this.topIndex)||(this.topIndex=0,this.bindTopIndex.assign(this.$scope,0)),this.$scope.$watch(this.bindTopIndex,angular.bind(this,function(newIndex){newIndex!==this.topIndex&&this.scrollToIndex(newIndex)}))):this.topIndex=0,this.scroller=$element[0].querySelector(".md-virtual-repeat-scroller"),this.sizer=this.scroller.querySelector(".md-virtual-repeat-sizer"),this.offsetter=this.scroller.querySelector(".md-virtual-repeat-offsetter");var boundUpdateSize=angular.bind(this,this.updateSize);$$rAF(angular.bind(this,function(){boundUpdateSize();var debouncedUpdateSize=$mdUtil.debounce(boundUpdateSize,10,null,!1),jWindow=angular.element($window);this.size||debouncedUpdateSize(),jWindow.on("resize",debouncedUpdateSize),$scope.$on("$destroy",function(){jWindow.off("resize",debouncedUpdateSize)}),$scope.$emit("$md-resize-enable"),$scope.$on("$md-resize",boundUpdateSize)}))}function VirtualRepeatDirective($parse){return{controller:VirtualRepeatController,priority:1e3,require:["mdVirtualRepeat","^^mdVirtualRepeatContainer"],restrict:"A",terminal:!0,transclude:"element",compile:function($element,$attrs){var match=$attrs.mdVirtualRepeat.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)\s*$/),repeatName=match[1],repeatListExpression=$parse(match[2]),extraName=$attrs.mdExtraName&&$parse($attrs.mdExtraName);return function($scope,$element,$attrs,ctrl,$transclude){ctrl[0].link_(ctrl[1],$transclude,repeatName,repeatListExpression,extraName)}}}}function VirtualRepeatController($scope,$element,$attrs,$browser,$document,$rootScope,$$rAF,$mdUtil){this.$scope=$scope,this.$element=$element,this.$attrs=$attrs,this.$browser=$browser,this.$document=$document,this.$mdUtil=$mdUtil,this.$rootScope=$rootScope,this.$$rAF=$$rAF,this.onDemand=$mdUtil.parseAttributeBoolean($attrs.mdOnDemand),this.browserCheckUrlChange=$browser.$$checkUrlChange,this.newStartIndex=0,this.newEndIndex=0,this.newVisibleEnd=0,this.startIndex=0,this.endIndex=0,this.itemSize=$scope.$eval($attrs.mdItemSize)||null,this.isFirstRender=!0,this.isVirtualRepeatUpdating_=!1,this.itemsLength=0,this.unwatchItemSize_=angular.noop,this.blocks={},this.pooledBlocks=[],$scope.$on("$destroy",angular.bind(this,this.cleanupBlocks_))}function VirtualRepeatModelArrayLike(model){if(!angular.isFunction(model.getItemAtIndex)||!angular.isFunction(model.getLength))throw Error("When md-on-demand is enabled, the Object passed to md-virtual-repeat must implement functions getItemAtIndex() and getLength().");this.model=model}function ForceHeightDirective($mdUtil){return{restrict:"A",link:function(scope,element,attrs){var height=scope.$eval(attrs.mdForceHeight)||null;height&&element&&(element[0].style.height=height)}}}VirtualRepeatContainerController.prototype.register=function(repeaterCtrl){this.repeater=repeaterCtrl,angular.element(this.scroller).on("scroll wheel touchmove touchend",angular.bind(this,this.handleScroll_))},VirtualRepeatContainerController.prototype.isHorizontal=function(){return this.horizontal},VirtualRepeatContainerController.prototype.getSize=function(){return this.size},VirtualRepeatContainerController.prototype.setSize_=function(size){var dimension=this.getDimensionName_();this.size=size,this.$element[0].style[dimension]=size+"px"},VirtualRepeatContainerController.prototype.unsetSize_=function(){this.$element[0].style[this.getDimensionName_()]=this.oldElementSize,this.oldElementSize=null},VirtualRepeatContainerController.prototype.updateSize=function(){if(!this.originalSize){var size=this.isHorizontal()?this.$element[0].clientWidth:this.$element[0].clientHeight;size&&(this.size=size),this.handleScroll_(),this.repeater&&this.repeater.containerUpdated()}},VirtualRepeatContainerController.prototype.getScrollSize=function(){return this.scrollSize}
vendor: 10,320 bytes, line 1
1,VirtualRepeatContainerController.prototype.getDimensionName_=function(){return this.isHorizontal()?"width":"height"},VirtualRepeatContainerController.prototype.sizeScroller_=function(size){var dimension=this.getDimensionName_(),crossDimension=this.isHorizontal()?"height":"width";if(this.sizer.innerHTML="",size<this.maxElementPixels)this.sizer.style[dimension]=size+"px";else{this.sizer.style[dimension]="auto",this.sizer.style[crossDimension]="auto";var numChildren=Math.floor(size/this.maxElementPixels),sizerChild=document.createElement("div");sizerChild.style[dimension]=this.maxElementPixels+"px",sizerChild.style[crossDimension]="1px";for(var i=0;i<numChildren;i++)this.sizer.appendChild(sizerChild.cloneNode(!1));sizerChild.style[dimension]=size-numChildren*this.maxElementPixels+"px",this.sizer.appendChild(sizerChild)}},VirtualRepeatContainerController.prototype.autoShrink_=function(size){var shrinkSize=Math.max(size,this.autoShrinkMin*this.repeater.getItemSize());if(this.autoShrink&&shrinkSize!==this.size){null===this.oldElementSize&&(this.oldElementSize=this.$element[0].style[this.getDimensionName_()]);var currentSize=this.originalSize||this.size;if(!currentSize||shrinkSize<currentSize)this.originalSize||(this.originalSize=this.size),this.setSize_(shrinkSize);else if(null!==this.originalSize){this.unsetSize_();var _originalSize=this.originalSize;this.originalSize=null,_originalSize||this.updateSize(),this.setSize_(_originalSize||this.size)}this.repeater.containerUpdated()}},VirtualRepeatContainerController.prototype.setScrollSize=function(itemsSize){var size=itemsSize+this.offsetSize;this.scrollSize!==size&&(this.sizeScroller_(size),this.autoShrink_(size),this.scrollSize=size)},VirtualRepeatContainerController.prototype.getScrollOffset=function(){return this.scrollOffset},VirtualRepeatContainerController.prototype.scrollTo=function(position){this.scroller[this.isHorizontal()?"scrollLeft":"scrollTop"]=position,this.handleScroll_()},VirtualRepeatContainerController.prototype.scrollToIndex=function(index){var itemSize=this.repeater.getItemSize(),itemsLength=this.repeater.itemsLength;itemsLength<index&&(index=itemsLength-1),this.scrollTo(itemSize*index)},VirtualRepeatContainerController.prototype.resetScroll=function(){this.scrollTo(0)},VirtualRepeatContainerController.prototype.handleScroll_=function(){this.ltr||this.maxSize||(this.scroller.scrollLeft=this.scrollSize,this.maxSize=this.scroller.scrollLeft);var offset=this.isHorizontal()?this.ltr?this.scroller.scrollLeft:this.maxSize-this.scroller.scrollLeft:this.scroller.scrollTop;if(!(this.scrollSize<this.size)&&(offset>this.scrollSize-this.size&&(offset=this.scrollSize-this.size),offset!==this.scrollOffset)){var itemSize=this.repeater.getItemSize();if(itemSize){var numItems=Math.max(0,Math.floor(offset/itemSize)-3),transform=(this.isHorizontal()?"translateX(":"translateY(")+(!this.isHorizontal()||this.ltr?numItems*itemSize:-numItems*itemSize)+"px)";if(this.scrollOffset=offset,this.offsetter.style.webkitTransform=transform,this.offsetter.style.transform=transform,this.bindTopIndex){var topIndex=Math.floor(offset/itemSize);topIndex!==this.topIndex&&topIndex<this.repeater.getItemCount()&&(this.topIndex=topIndex,this.bindTopIndex.assign(this.$scope,topIndex),this.$rootScope.$$phase||this.$scope.$digest())}this.repeater.containerUpdated()}}},VirtualRepeatController.prototype.link_=function(container,transclude,repeatName,repeatListExpression,extraName){this.container=container,this.transclude=transclude,this.repeatName=repeatName,this.rawRepeatListExpression=repeatListExpression,this.extraName=extraName,this.sized=!1,this.repeatListExpression=angular.bind(this,this.repeatListExpression_),this.container.register(this)},VirtualRepeatController.prototype.cleanupBlocks_=function(){angular.forEach(this.pooledBlocks,function(block){block.element.remove()})},VirtualRepeatController.prototype.readItemSize_=function(){if(!this.itemSize){this.items=this.repeatListExpression(this.$scope),this.parentNode=this.$element[0].parentNode;var block=this.getBlock_(0);block.element[0].parentNode||this.parentNode.appendChild(block.element[0]),this.itemSize=block.element[0][this.container.isHorizontal()?"offsetWidth":"offsetHeight"]||null,this.blocks[0]=block,this.poolBlock_(0),this.itemSize&&this.containerUpdated()}},VirtualRepeatController.prototype.repeatListExpression_=function(scope){var repeatList=this.rawRepeatListExpression(scope);if(this.onDemand&&repeatList){var virtualList=new VirtualRepeatModelArrayLike(repeatList);return virtualList.$$includeIndexes(this.newStartIndex,this.newVisibleEnd),virtualList}return repeatList},VirtualRepeatController.prototype.containerUpdated=function(){if(!this.itemSize)return this.unwatchItemSize_&&this.unwatchItemSize_!==angular.noop&&this.unwatchItemSize_(),this.unwatchItemSize_=this.$scope.$watchCollection(this.repeatListExpression,angular.bind(this,function(items){items&&items.length&&this.readItemSize_()})),void(this.$rootScope.$$phase||this.$scope.$digest());this.sized||(this.items=this.repeatListExpression(this.$scope)),this.sized||(this.unwatchItemSize_(),this.sized=!0,this.$scope.$watchCollection(this.repeatListExpression,angular.bind(this,function(items,oldItems){this.isVirtualRepeatUpdating_||this.virtualRepeatUpdate_(items,oldItems)}))),this.updateIndexes_(),(this.newStartIndex!==this.startIndex||this.newEndIndex!==this.endIndex||this.container.getScrollOffset()>this.container.getScrollSize())&&(this.items instanceof VirtualRepeatModelArrayLike&&this.items.$$includeIndexes(this.newStartIndex,this.newEndIndex),this.virtualRepeatUpdate_(this.items,this.items))},VirtualRepeatController.prototype.getItemSize=function(){return this.itemSize},VirtualRepeatController.prototype.getItemCount=function(){return this.itemsLength},VirtualRepeatController.prototype.virtualRepeatUpdate_=function(items,oldItems){this.isVirtualRepeatUpdating_=!0;var itemsLength=items&&items.length||0,lengthChanged=!1;if(this.items&&itemsLength<this.items.length&&0!==this.container.getScrollOffset()){this.items=items;var previousScrollOffset=this.container.getScrollOffset();this.container.resetScroll(),this.container.scrollTo(previousScrollOffset)}itemsLength!==this.itemsLength&&(lengthChanged=!0,this.itemsLength=itemsLength),((this.items=items)!==oldItems||lengthChanged)&&this.updateIndexes_(),this.parentNode=this.$element[0].parentNode,lengthChanged&&this.container.setScrollSize(itemsLength*this.itemSize),Object.keys(this.blocks).forEach(function(blockIndex){var index=parseInt(blockIndex,10);(index<this.newStartIndex||index>=this.newEndIndex)&&this.poolBlock_(index)},this),this.$browser.$$checkUrlChange=angular.noop;var i,block,newStartBlocks=[],newEndBlocks=[];for(i=this.newStartIndex;i<this.newEndIndex&&null==this.blocks[i];i++)block=this.getBlock_(i),this.updateBlock_(block,i),newStartBlocks.push(block);for(;null!=this.blocks[i];i++)this.updateBlock_(this.blocks[i],i);for(var maxIndex=i-1;i<this.newEndIndex;i++)block=this.getBlock_(i),this.updateBlock_(block,i),newEndBlocks.push(block);if(newStartBlocks.length&&this.parentNode.insertBefore(this.domFragmentFromBlocks_(newStartBlocks),this.$element[0].nextSibling),newEndBlocks.length&&this.parentNode.insertBefore(this.domFragmentFromBlocks_(newEndBlocks),this.blocks[maxIndex]&&this.blocks[maxIndex].element[0].nextSibling),this.$browser.$$checkUrlChange=this.browserCheckUrlChange,this.startIndex=this.newStartIndex,this.endIndex=this.newEndIndex,this.isFirstRender){this.isFirstRender=!1;var firstRenderStartIndex=this.$attrs.mdStartIndex?this.$scope.$eval(this.$attrs.mdStartIndex):this.container.topIndex;this.$mdUtil.nextTick(function(){this.container.scrollToIndex(firstRenderStartIndex)}.bind(this))}this.isVirtualRepeatUpdating_=!1},VirtualRepeatController.prototype.getBlock_=function(index){return this.pooledBlocks.length?this.pooledBlocks.pop():(this.transclude(angular.bind(this,function(clone,scope){block={element:clone,new:!0,scope:scope},this.updateScope_(scope,index),this.parentNode.appendChild(clone[0])})),block);var block},VirtualRepeatController.prototype.updateBlock_=function(block,index){((this.blocks[index]=block).new||block.scope.$index!==index||block.scope[this.repeatName]!==this.items[index])&&(block.new=!1,this.updateScope_(block.scope,index),this.$rootScope.$$phase||block.scope.$digest())},VirtualRepeatController.prototype.updateScope_=function(scope,index){scope.$index=index,scope[this.repeatName]=this.items&&this.items[index],this.extraName&&(scope[this.extraName(this.$scope)]=this.items[index])},VirtualRepeatController.prototype.poolBlock_=function(index){this.pooledBlocks.push(this.blocks[index]),this.parentNode.removeChild(this.blocks[index].element[0]),delete this.blocks[index]},VirtualRepeatController.prototype.domFragmentFromBlocks_=function(blocks){var fragment=this.$document[0].createDocumentFragment();return blocks.forEach(function(block){fragment.appendChild(block.element[0])}),fragment},VirtualRepeatController.prototype.updateIndexes_=function(){var itemsLength=this.items?this.items.length:0,containerLength=Math.ceil(this.container.getSize()/this.itemSize);this.newStartIndex=Math.max(0,Math.min(itemsLength-containerLength,Math.floor(this.container.getScrollOffset()/this.itemSize))),this.newVisibleEnd=this.newStartIndex+containerLength+3,this.newEndIndex=Math.min(itemsLength,this.newVisibleEnd),this.newStartIndex=Math.max(0,this.newStartIndex-3)},VirtualRepeatModelArrayLike.prototype.$$includeIndexes=function(start,end){for(var i=start;i<end;i++)this.hasOwnProperty(i)||(this[i]=this.model.getItemAtIndex(i));this.length=this.model.getLength()},ForceHeightDirective.$inject=["$mdUtil"]}(),function(){function MdWhiteframeDirective($log){return{link:function(scope,element,attr){var oldClass="";attr.$observe("mdWhiteframe",function(elevation){-1!=(elevation=parseInt(elevation,10)||4)&&(24<elevation||elevation<1)&&($log.warn("md-whiteframe attribute value is invalid. It should be a number between 1 and 24",element[0]),elevation=4);var newClass=-1==elevation?"":"md-whiteframe-"+elevation+"dp";attr.$updateClass(newClass,oldClass),oldClass=newClass})}}}MdWhiteframeDirective.$inject=["$log"],angular.module("material.components.whiteframe",["material.core"]).directive("mdWhiteframe",MdWhiteframeDirective)}(),angular
vendor: 67,697 bytes, line 1
1.module("material.core").constant("$MD_THEME_CSS",'md-autocomplete.md-THEME_NAME-theme{background:"{{background-hue-1}}"}md-autocomplete.md-THEME_NAME-theme[disabled]:not([md-floating-label]){background:"{{background-hue-2}}"}md-autocomplete.md-THEME_NAME-theme button md-icon path{fill:"{{background-600}}"}md-autocomplete.md-THEME_NAME-theme button:after{background:"{{background-600-0.3}}"}md-autocomplete.md-THEME_NAME-theme input{color:"{{foreground-1}}"}md-autocomplete.md-THEME_NAME-theme.md-accent md-input-container.md-input-focused .md-input{border-color:"{{accent-color}}"}md-autocomplete.md-THEME_NAME-theme.md-accent md-input-container.md-input-focused label,md-autocomplete.md-THEME_NAME-theme.md-accent md-input-container.md-input-focused md-icon{color:"{{accent-color}}"}md-autocomplete.md-THEME_NAME-theme.md-accent md-progress-linear .md-container{background-color:"{{accent-100}}"}md-autocomplete.md-THEME_NAME-theme.md-accent md-progress-linear .md-bar{background-color:"{{accent-color}}"}md-autocomplete.md-THEME_NAME-theme.md-warn md-input-container.md-input-focused .md-input{border-color:"{{warn-A700}}"}md-autocomplete.md-THEME_NAME-theme.md-warn md-input-container.md-input-focused label,md-autocomplete.md-THEME_NAME-theme.md-warn md-input-container.md-input-focused md-icon{color:"{{warn-A700}}"}md-autocomplete.md-THEME_NAME-theme.md-warn md-progress-linear .md-container{background-color:"{{warn-100}}"}md-autocomplete.md-THEME_NAME-theme.md-warn md-progress-linear .md-bar{background-color:"{{warn-color}}"}.md-autocomplete-standard-list-container.md-THEME_NAME-theme,.md-autocomplete-suggestions-container.md-THEME_NAME-theme{background:"{{background-hue-1}}"}.md-autocomplete-standard-list-container.md-THEME_NAME-theme .md-autocomplete-suggestion,.md-autocomplete-suggestions-container.md-THEME_NAME-theme .md-autocomplete-suggestion{color:"{{foreground-1}}"}.md-autocomplete-standard-list-container.md-THEME_NAME-theme .md-autocomplete-suggestion.selected,.md-autocomplete-standard-list-container.md-THEME_NAME-theme .md-autocomplete-suggestion:hover,.md-autocomplete-suggestions-container.md-THEME_NAME-theme .md-autocomplete-suggestion.selected,.md-autocomplete-suggestions-container.md-THEME_NAME-theme .md-autocomplete-suggestion:hover{background:"{{background-500-0.18}}"}md-backdrop{background-color:"{{background-900-0.0}}"}md-backdrop.md-opaque.md-THEME_NAME-theme{background-color:"{{background-900-1.0}}"}md-bottom-sheet.md-THEME_NAME-theme{background-color:"{{background-color}}";border-top-color:"{{background-hue-3}}"}md-bottom-sheet.md-THEME_NAME-theme.md-list md-list-item{color:"{{foreground-1}}"}md-bottom-sheet.md-THEME_NAME-theme .md-subheader{background-color:"{{background-color}}";color:"{{foreground-1}}"}.md-button.md-THEME_NAME-theme:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme:not([disabled]):hover{background-color:"{{background-500-0.2}}"}.md-button.md-THEME_NAME-theme:not([disabled]).md-icon-button:hover{background-color:transparent}.md-button.md-THEME_NAME-theme.md-fab{background-color:"{{accent-color}}";color:"{{accent-contrast}}"}.md-button.md-THEME_NAME-theme.md-fab md-icon{color:"{{accent-contrast}}"}.md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover{background-color:"{{accent-A700}}"}.md-button.md-THEME_NAME-theme.md-primary{color:"{{primary-color}}"}.md-button.md-THEME_NAME-theme.md-primary.md-fab,.md-button.md-THEME_NAME-theme.md-primary.md-raised{background-color:"{{primary-color}}";color:"{{primary-contrast}}"}.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]) md-icon,.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]) md-icon{color:"{{primary-contrast}}"}.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]):hover,.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]):hover{background-color:"{{primary-600}}"}.md-button.md-THEME_NAME-theme.md-primary:not([disabled]) md-icon{color:"{{primary-color}}"}.md-button.md-THEME_NAME-theme.md-raised{background-color:"{{background-50}}";color:"{{background-900}}"}.md-button.md-THEME_NAME-theme.md-raised:not([disabled]) md-icon{color:"{{background-900}}"}.md-button.md-THEME_NAME-theme.md-raised:not([disabled]):hover{background-color:"{{background-50}}"}.md-button.md-THEME_NAME-theme.md-raised:not([disabled]).md-focused{background-color:"{{background-200}}"}.md-button.md-THEME_NAME-theme.md-warn{color:"{{warn-color}}"}.md-button.md-THEME_NAME-theme.md-warn.md-fab,.md-button.md-THEME_NAME-theme.md-warn.md-raised{background-color:"{{warn-color}}";color:"{{warn-contrast}}"}.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]) md-icon,.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]) md-icon{color:"{{warn-contrast}}"}.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]):hover,.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]):hover{background-color:"{{warn-600}}"}.md-button.md-THEME_NAME-theme.md-warn:not([disabled]) md-icon{color:"{{warn-color}}"}.md-button.md-THEME_NAME-theme.md-accent{color:"{{accent-color}}"}.md-button.md-THEME_NAME-theme.md-accent.md-fab,.md-button.md-THEME_NAME-theme.md-accent.md-raised{background-color:"{{accent-color}}";color:"{{accent-contrast}}"}.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]) md-icon,.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]) md-icon{color:"{{accent-contrast}}"}.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]):hover,.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]):hover{background-color:"{{accent-A700}}"}.md-button.md-THEME_NAME-theme.md-accent:not([disabled]) md-icon{color:"{{accent-color}}"}.md-button.md-THEME_NAME-theme.md-accent[disabled],.md-button.md-THEME_NAME-theme.md-fab[disabled],.md-button.md-THEME_NAME-theme.md-raised[disabled],.md-button.md-THEME_NAME-theme.md-warn[disabled],.md-button.md-THEME_NAME-theme[disabled]{color:"{{foreground-3}}";cursor:default}.md-button.md-THEME_NAME-theme.md-accent[disabled] md-icon,.md-button.md-THEME_NAME-theme.md-fab[disabled] md-icon,.md-button.md-THEME_NAME-theme.md-raised[disabled] md-icon,.md-button.md-THEME_NAME-theme.md-warn[disabled] md-icon,.md-button.md-THEME_NAME-theme[disabled] md-icon{color:"{{foreground-3}}"}.md-button.md-THEME_NAME-theme.md-fab[disabled],.md-button.md-THEME_NAME-theme.md-raised[disabled]{background-color:"{{foreground-4}}"}.md-button.md-THEME_NAME-theme[disabled]{background-color:transparent}._md a.md-THEME_NAME-theme:not(.md-button).md-primary{color:"{{primary-color}}"}._md a.md-THEME_NAME-theme:not(.md-button).md-primary:hover{color:"{{primary-700}}"}._md a.md-THEME_NAME-theme:not(.md-button).md-accent{color:"{{accent-color}}"}._md a.md-THEME_NAME-theme:not(.md-button).md-accent:hover{color:"{{accent-A700}}"}._md a.md-THEME_NAME-theme:not(.md-button).md-warn{color:"{{warn-color}}"}._md a.md-THEME_NAME-theme:not(.md-button).md-warn:hover{color:"{{warn-700}}"}md-card.md-THEME_NAME-theme{background-color:"{{background-hue-1}}";border-radius:2px;color:"{{foreground-1}}"}md-card.md-THEME_NAME-theme .md-card-image{border-radius:2px 2px 0 0}md-card.md-THEME_NAME-theme md-card-header md-card-avatar md-icon{background-color:"{{foreground-3}}";color:"{{background-color}}"}md-card.md-THEME_NAME-theme md-card-header md-card-header-text .md-subhead,md-card.md-THEME_NAME-theme md-card-title md-card-title-text:not(:only-child) .md-subhead{color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme .md-ripple{color:"{{accent-A700}}"}md-checkbox.md-THEME_NAME-theme.md-checked .md-ripple{color:"{{background-600}}"}md-checkbox.md-THEME_NAME-theme.md-checked.md-focused .md-container:before{background-color:"{{accent-color-0.26}}"}md-checkbox.md-THEME_NAME-theme .md-ink-ripple{color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme.md-checked .md-ink-ripple{color:"{{accent-color-0.87}}"}md-checkbox.md-THEME_NAME-theme:not(.md-checked) .md-icon{border-color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme.md-checked .md-icon{background-color:"{{accent-color-0.87}}"}md-checkbox.md-THEME_NAME-theme.md-checked .md-icon:after{border-color:"{{background-default}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary .md-ripple{color:"{{primary-600}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ripple{color:"{{background-600}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary .md-ink-ripple{color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ink-ripple{color:"{{primary-color-0.87}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary:not(.md-checked) .md-icon{border-color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-icon{background-color:"{{primary-color-0.87}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked.md-focused .md-container:before{background-color:"{{primary-color-0.26}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-icon:after{border-color:"{{primary-contrast-0.87}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary .md-indeterminate[disabled] .md-container{color:"{{foreground-3}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn .md-ripple{color:"{{warn-600}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn .md-ink-ripple{color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-ink-ripple{color:"{{warn-color-0.87}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn:not(.md-checked) .md-icon{border-color:"{{foreground-2}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-icon{background-color:"{{warn-color-0.87}}"}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked.md-focused:not([disabled]) .md-container:before{background-color:"{{warn-color-0.26}}"}md-checkbox.md-THEME_NAME-theme[disabled]:not(.md-checked) .md-icon{border-color:"{{foreground-3}}"}md-checkbox.md-THEME_NAME-theme[disabled].md-checked .md-icon{background-color:"{{foreground-3}}"}md-checkbox.md-THEME_NAME-theme[disabled] .md-label{color:"{{foreground-3}}"}md-chips.md-THEME_NAME-theme .md-chips{box-shadow:0 1px "{{foreground-4}}"}md-chips.md-THEME_NAME-theme .md-chips.md-focused{box-shadow:0 2px "{{primary-color}}"}md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input{color:"{{foreground-1}}"}md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input::-webkit-input-placeholder{color:"{{foreground-3}}"}md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input:-ms-input-placeholder{color:"{{foreground-3}}"}md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input::-ms-input-placeholder{color:"{{foreground-3}}"}md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input::placeholder{color:"{{foreground-3}}"}md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input:-moz-placeholder,md-chips.md-THEME_NAME-theme .md-chips .md-chip-input-container input::-moz-placeholder{color:"{{foreground-3}}";opacity:1}md-chips.md-THEME_NAME-theme md-chip{background:"{{background-300}}";color:"{{background-800}}"}md-chips.md-THEME_NAME-theme md-chip md-icon{color:"{{background-700}}"}md-chips.md-THEME_NAME-theme md-chip.md-focused{background:"{{primary-color}}";color:"{{primary-contrast}}"}md-chips.md-THEME_NAME-theme md-chip.md-focused md-icon{color:"{{primary-contrast}}"}md-chips.md-THEME_NAME-theme md-chip._md-chip-editing{background:transparent;color:"{{background-800}}"}md-chips.md-THEME_NAME-theme .md-chip-remove-container button.md-chip-remove md-icon,md-chips.md-THEME_NAME-theme .md-chip-remove-container buttonmd-chip-remove md-icon{fill:"{{foreground-2}}";color:"{{foreground-2}}"}.md-contact-suggestion span.md-contact-email{color:"{{background-400}}"}md-content.md-THEME_NAME-theme{background-color:"{{background-default}}";color:"{{foreground-1}}"}.md-THEME_NAME-theme .md-calendar{background:"{{background-hue-1}}";color:"{{foreground-1-0.87}}"}.md-THEME_NAME-theme .md-calendar tr:last-child td{border-bottom-color:"{{background-hue-2}}"}.md-THEME_NAME-theme .md-calendar-day-header{background:"{{background-500-0.32}}";color:"{{foreground-1-0.87}}"}.md-THEME_NAME-theme .md-calendar-date.md-calendar-date-today .md-calendar-date-selection-indicator{border:1px solid "{{primary-500}}"}.md-THEME_NAME-theme .md-calendar-date.md-calendar-date-today.md-calendar-date-disabled{color:"{{primary-500-0.6}}"}.md-calendar-date.md-focus .md-THEME_NAME-theme .md-calendar-date-selection-indicator,.md-THEME_NAME-theme .md-calendar-date-selection-indicator:hover{background:"{{background-500-0.32}}"}.md-THEME_NAME-theme .md-calendar-date.md-calendar-selected-date .md-calendar-date-selection-indicator,.md-THEME_NAME-theme .md-calendar-date.md-focus.md-calendar-selected-date .md-calendar-date-selection-indicator{background:"{{primary-500}}";border-color:transparent;color:"{{primary-500-contrast}}"}.md-THEME_NAME-theme .md-calendar-date-disabled,.md-THEME_NAME-theme .md-calendar-month-label-disabled{color:"{{foreground-3}}"}.md-THEME_NAME-theme .md-calendar-month-label md-icon,.md-THEME_NAME-theme .md-datepicker-input{color:"{{foreground-1}}"}.md-THEME_NAME-theme .md-datepicker-input::-webkit-input-placeholder{color:"{{foreground-3}}"}.md-THEME_NAME-theme .md-datepicker-input:-ms-input-placeholder{color:"{{foreground-3}}"}.md-THEME_NAME-theme .md-datepicker-input::-ms-input-placeholder{color:"{{foreground-3}}"}.md-THEME_NAME-theme .md-datepicker-input::placeholder{color:"{{foreground-3}}"}.md-THEME_NAME-theme .md-datepicker-input:-moz-placeholder,.md-THEME_NAME-theme .md-datepicker-input::-moz-placeholder{color:"{{foreground-3}}";opacity:1}.md-THEME_NAME-theme .md-datepicker-input-container{border-bottom-color:"{{foreground-4}}"}.md-THEME_NAME-theme .md-datepicker-input-container.md-datepicker-focused{border-bottom-color:"{{primary-color}}"}.md-accent .md-THEME_NAME-theme .md-datepicker-input-container.md-datepicker-focused{border-bottom-color:"{{accent-color}}"}.md-THEME_NAME-theme .md-datepicker-input-container.md-datepicker-invalid,.md-warn .md-THEME_NAME-theme .md-datepicker-input-container.md-datepicker-focused{border-bottom-color:"{{warn-A700}}"}.md-THEME_NAME-theme .md-datepicker-calendar-pane{border-color:"{{background-hue-1}}"}.md-THEME_NAME-theme .md-datepicker-triangle-button .md-datepicker-expand-triangle{border-top-color:"{{foreground-2}}"}.md-THEME_NAME-theme .md-datepicker-open .md-datepicker-calendar-icon{color:"{{primary-color}}"}.md-accent .md-THEME_NAME-theme .md-datepicker-open .md-datepicker-calendar-icon,.md-THEME_NAME-theme .md-datepicker-open.md-accent .md-datepicker-calendar-icon{color:"{{accent-color}}"}.md-THEME_NAME-theme .md-datepicker-open.md-warn .md-datepicker-calendar-icon,.md-warn .md-THEME_NAME-theme .md-datepicker-open .md-datepicker-calendar-icon{color:"{{warn-A700}}"}.md-THEME_NAME-theme .md-datepicker-calendar{background:"{{background-hue-1}}"}.md-THEME_NAME-theme .md-datepicker-input-mask-opaque{box-shadow:0 0 0 9999px "{{background-hue-1}}"}.md-THEME_NAME-theme .md-datepicker-open .md-datepicker-input-container{background:"{{background-hue-1}}"}md-dialog.md-THEME_NAME-theme{background-color:"{{background-hue-1}}";border-radius:4px;color:"{{foreground-1}}"}md-dialog.md-THEME_NAME-theme.md-content-overflow md-dialog-actions{border-top-color:"{{foreground-4}}"}md-divider.md-THEME_NAME-theme{border-color:"{{foreground-4}}"}md-fab-speed-dial.md-THEME_NAME-theme md-fab-trigger .md-fab.md-button[disabled]{background-color:"{{foreground-4}}"}md-fab-speed-dial.md-THEME_NAME-theme md-fab-actions .md-fab-action-item .md-button.md-fab.md-raised.md-mini.md-focused,md-fab-speed-dial.md-THEME_NAME-theme md-fab-actions .md-fab-action-item .md-button.md-fab.md-raised.md-mini:hover{background-color:"{{background-500}}"}md-icon.md-THEME_NAME-theme{color:"{{foreground-2}}"}md-icon.md-THEME_NAME-theme.md-primary{color:"{{primary-color}}"}md-icon.md-THEME_NAME-theme.md-accent{color:"{{accent-color}}"}md-icon.md-THEME_NAME-theme.md-warn{color:"{{warn-color}}"}md-input-container.md-THEME_NAME-theme .md-input{border-color:"{{background-default-contrast-divider}}";color:"{{background-default-contrast}}"}md-input-container.md-THEME_NAME-theme .md-input::-webkit-input-placeholder{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme .md-input:-ms-input-placeholder{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme .md-input::-ms-input-placeholder{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme .md-input::placeholder{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme .md-input:-moz-placeholder,md-input-container.md-THEME_NAME-theme .md-input::-moz-placeholder{color:"{{background-default-contrast-secondary}}";opacity:1}md-input-container.md-THEME_NAME-theme>md-icon{color:"{{background-default-contrast}}"}md-input-container.md-THEME_NAME-theme .md-placeholder,md-input-container.md-THEME_NAME-theme label{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme label.md-required:after{color:"{{warn-A700}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-focused):not(.md-input-invalid) label.md-required:after{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme .md-input-message-animation,md-input-container.md-THEME_NAME-theme .md-input-messages-animation{color:"{{warn-A700}}"}md-input-container.md-THEME_NAME-theme .md-input-message-animation .md-char-counter,md-input-container.md-THEME_NAME-theme .md-input-messages-animation .md-char-counter{color:"{{background-default-contrast}}"}md-input-container.md-THEME_NAME-theme.md-input-focused .md-input::-webkit-input-placeholder{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme.md-input-focused .md-input:-ms-input-placeholder{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme.md-input-focused .md-input::-ms-input-placeholder{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme.md-input-focused .md-input::placeholder{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme.md-input-focused .md-input:-moz-placeholder,md-input-container.md-THEME_NAME-theme.md-input-focused .md-input::-moz-placeholder{color:"{{background-default-contrast-secondary}}";opacity:1}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-has-value label{color:"{{background-default-contrast-secondary}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused .md-input,md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-resized .md-input{border-color:"{{primary-color}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused label,md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused md-icon{color:"{{primary-color}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-accent .md-input{border-color:"{{accent-color}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-accent label,md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-accent md-icon{color:"{{accent-color}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-warn .md-input{border-color:"{{warn-A700}}"}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-warn label,md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-warn md-icon{color:"{{warn-A700}}"}md-input-container.md-THEME_NAME-theme.md-input-invalid .md-input{border-color:"{{warn-A700}}"}md-input-container.md-THEME_NAME-theme.md-input-invalid .md-char-counter,md-input-container.md-THEME_NAME-theme.md-input-invalid .md-input-message-animation,md-input-container.md-THEME_NAME-theme.md-input-invalid label{color:"{{warn-A700}}"}[disabled] md-input-container.md-THEME_NAME-theme .md-input,md-input-container.md-THEME_NAME-theme .md-input[disabled]{background-image:linear-gradient(90deg,"{{background-default-contrast-disabled}}" 0,"{{background-default-contrast-disabled}}" 33%,transparent 0);background-image:-ms-linear-gradient(left,transparent 0,"{{background-default-contrast-disabled}}" 100%);border-bottom-color:transparent;color:"{{background-default-contrast-disabled}}"}md-list.md-THEME_NAME-theme md-list-item.md-2-line .md-list-item-text h3,md-list.md-THEME_NAME-theme md-list-item.md-2-line .md-list-item-text h4,md-list.md-THEME_NAME-theme md-list-item.md-3-line .md-list-item-text h3,md-list.md-THEME_NAME-theme md-list-item.md-3-line .md-list-item-text h4{color:"{{foreground-1}}"}md-list.md-THEME_NAME-theme md-list-item.md-2-line .md-list-item-text p,md-list.md-THEME_NAME-theme md-list-item.md-3-line .md-list-item-text p{color:"{{foreground-2}}"}md-list.md-THEME_NAME-theme .md-proxy-focus.md-focused div.md-no-style{background-color:"{{background-100}}"}md-list.md-THEME_NAME-theme md-list-item .md-avatar-icon{background-color:"{{foreground-3}}";color:"{{background-color}}"}md-list.md-THEME_NAME-theme md-list-item>md-icon{color:"{{foreground-2}}"}md-list.md-THEME_NAME-theme md-list-item>md-icon.md-highlight{color:"{{primary-color}}"}md-list.md-THEME_NAME-theme md-list-item>md-icon.md-highlight.md-accent{color:"{{accent-color}}"}md-menu-content.md-THEME_NAME-theme{background-color:"{{background-hue-1}}"}md-menu-content.md-THEME_NAME-theme md-menu-item{color:"{{foreground-1}}"}md-menu-content.md-THEME_NAME-theme md-menu-item md-icon{color:"{{foreground-2}}"}md-menu-content.md-THEME_NAME-theme md-menu-item .md-button[disabled],md-menu-content.md-THEME_NAME-theme md-menu-item .md-button[disabled] md-icon{color:"{{foreground-3}}"}md-menu-content.md-THEME_NAME-theme md-menu-divider{background-color:"{{foreground-4}}"}md-menu-bar.md-THEME_NAME-theme>button.md-button{border-radius:2px;color:"{{foreground-1}}"}md-menu-bar.md-THEME_NAME-theme md-menu>button{color:"{{foreground-1}}"}md-menu-bar.md-THEME_NAME-theme md-menu.md-open>button,md-menu-bar.md-THEME_NAME-theme md-menu>button:focus{background-color:"{{ background-500-0.18}}";outline:none}md-menu-bar.md-THEME_NAME-theme.md-open:not(.md-keyboard-mode) md-menu:hover>button{background-color:"{{ background-500-0.18}}"}md-menu-bar.md-THEME_NAME-theme:not(.md-keyboard-mode):not(.md-open) md-menu button:focus,md-menu-bar.md-THEME_NAME-theme:not(.md-keyboard-mode):not(.md-open) md-menu button:hover{background:transparent}md-menu-content.md-THEME_NAME-theme .md-menu>.md-button:after{color:"{{foreground-2}}"}md-menu-content.md-THEME_NAME-theme .md-menu.md-open>.md-button{background-color:"{{ background-500-0.18}}"}md-toolbar.md-THEME_NAME-theme.md-menu-toolbar{background-color:"{{background-hue-1}}";color:"{{foreground-1}}"}md-toolbar.md-THEME_NAME-theme.md-menu-toolbar md-toolbar-filler{background-color:"{{primary-color}}";color:"{{primary-contrast}}"}md-toolbar.md-THEME_NAME-theme.md-menu-toolbar md-toolbar-filler md-icon{color:"{{primary-contrast}}"}md-nav-bar.md-THEME_NAME-theme .md-nav-bar{background-color:transparent;border-color:"{{foreground-4}}"}md-nav-bar.md-THEME_NAME-theme .md-button._md-nav-button.md-unselected{color:"{{foreground-2}}"}md-nav-bar.md-THEME_NAME-theme .md-button._md-nav-button[disabled]{color:"{{foreground-3}}"}md-nav-bar.md-THEME_NAME-theme md-nav-ink-bar{background:"{{accent-color}}";color:"{{accent-color}}"}md-nav-bar.md-THEME_NAME-theme.md-accent>.md-nav-bar{background-color:"{{accent-color}}"}md-nav-bar.md-THEME_NAME-theme.md-accent>.md-nav-bar .md-button._md-nav-button{color:"{{accent-A100}}"}md-nav-bar.md-THEME_NAME-theme.md-accent>.md-nav-bar .md-button._md-nav-button.md-active,md-nav-bar.md-THEME_NAME-theme.md-accent>.md-nav-bar .md-button._md-nav-button.md-focused{color:"{{accent-contrast}}"}md-nav-bar.md-THEME_NAME-theme.md-accent>.md-nav-bar .md-button._md-nav-button.md-focused{background:"{{accent-contrast-0.1}}"}md-nav-bar.md-THEME_NAME-theme.md-accent>.md-nav-bar md-nav-ink-bar{background:"{{primary-600-1}}";color:"{{primary-600-1}}"}md-nav-bar.md-THEME_NAME-theme.md-warn>.md-nav-bar{background-color:"{{warn-color}}"}md-nav-bar.md-THEME_NAME-theme.md-warn>.md-nav-bar .md-button._md-nav-button{color:"{{warn-100}}"}md-nav-bar.md-THEME_NAME-theme.md-warn>.md-nav-bar .md-button._md-nav-button.md-active,md-nav-bar.md-THEME_NAME-theme.md-warn>.md-nav-bar .md-button._md-nav-button.md-focused{color:"{{warn-contrast}}"}md-nav-bar.md-THEME_NAME-theme.md-warn>.md-nav-bar .md-button._md-nav-button.md-focused{background:"{{warn-contrast-0.1}}"}md-nav-bar.md-THEME_NAME-theme.md-primary>.md-nav-bar{background-color:"{{primary-color}}"}md-nav-bar.md-THEME_NAME-theme.md-primary>.md-nav-bar .md-button._md-nav-button{color:"{{primary-100}}"}md-nav-bar.md-THEME_NAME-theme.md-primary>.md-nav-bar .md-button._md-nav-button.md-active,md-nav-bar.md-THEME_NAME-theme.md-primary>.md-nav-bar .md-button._md-nav-button.md-focused{color:"{{primary-contrast}}"}md-nav-bar.md-THEME_NAME-theme.md-primary>.md-nav-bar .md-button._md-nav-button.md-focused{background:"{{primary-contrast-0.1}}"}md-toolbar>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar{background-color:"{{primary-color}}"}md-toolbar>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button{color:"{{primary-100}}"}md-toolbar>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-active,md-toolbar>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-focused{color:"{{primary-contrast}}"}md-toolbar>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-focused{background:"{{primary-contrast-0.1}}"}md-toolbar.md-accent>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar{background-color:"{{accent-color}}"}md-toolbar.md-accent>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button{color:"{{accent-A100}}"}md-toolbar.md-accent>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-active,md-toolbar.md-accent>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-focused{color:"{{accent-contrast}}"}md-toolbar.md-accent>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-focused{background:"{{accent-contrast-0.1}}"}md-toolbar.md-accent>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar md-nav-ink-bar{background:"{{primary-600-1}}";color:"{{primary-600-1}}"}md-toolbar.md-warn>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar{background-color:"{{warn-color}}"}md-toolbar.md-warn>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button{color:"{{warn-100}}"}md-toolbar.md-warn>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-active,md-toolbar.md-warn>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-focused{color:"{{warn-contrast}}"}md-toolbar.md-warn>md-nav-bar.md-THEME_NAME-theme>.md-nav-bar .md-button._md-nav-button.md-focused{background:"{{warn-contrast-0.1}}"}._md-panel-backdrop.md-THEME_NAME-theme{background-color:"{{background-900-1.0}}"}md-progress-circular.md-THEME_NAME-theme path{stroke:"{{primary-color}}"}md-progress-circular.md-THEME_NAME-theme.md-warn path{stroke:"{{warn-color}}"}md-progress-circular.md-THEME_NAME-theme.md-accent path{stroke:"{{accent-color}}"}md-progress-linear.md-THEME_NAME-theme .md-container{background-color:"{{primary-100}}"}md-progress-linear.md-THEME_NAME-theme .md-bar{background-color:"{{primary-color}}"}md-progress-linear.md-THEME_NAME-theme.md-warn .md-container{background-color:"{{warn-100}}"}md-progress-linear.md-THEME_NAME-theme.md-warn .md-bar{background-color:"{{warn-color}}"}md-progress-linear.md-THEME_NAME-theme.md-accent .md-container{background-color:"{{accent-100}}"}md-progress-linear.md-THEME_NAME-theme.md-accent .md-bar{background-color:"{{accent-color}}"}md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-primary .md-bar1{background-color:"{{primary-100}}"}md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-primary .md-dashed:before{background:radial-gradient("{{primary-100}}" 0,"{{primary-100}}" 16%,transparent 42%)}md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-warn .md-bar1{background-color:"{{warn-100}}"}md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-warn .md-dashed:before{background:radial-gradient("{{warn-100}}" 0,"{{warn-100}}" 16%,transparent 42%)}md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-accent .md-bar1{background-color:"{{accent-100}}"}md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-accent .md-dashed:before{background:radial-gradient("{{accent-100}}" 0,"{{accent-100}}" 16%,transparent 42%)}md-radio-button.md-THEME_NAME-theme .md-off{border-color:"{{foreground-2}}"}md-radio-button.md-THEME_NAME-theme .md-on{background-color:"{{accent-color-0.87}}"}md-radio-button.md-THEME_NAME-theme.md-checked .md-off{border-color:"{{accent-color-0.87}}"}md-radio-button.md-THEME_NAME-theme.md-checked .md-ink-ripple{color:"{{accent-color-0.87}}"}md-radio-button.md-THEME_NAME-theme .md-container .md-ripple{color:"{{accent-A700}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-on,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-on,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-on,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-on{background-color:"{{primary-color-0.87}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-off{border-color:"{{primary-color-0.87}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-ink-ripple{color:"{{primary-color-0.87}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-container .md-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-container .md-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-container .md-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-container .md-ripple{color:"{{primary-600}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-on,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-on,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-on,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-on{background-color:"{{warn-color-0.87}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-off{border-color:"{{warn-color-0.87}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-ink-ripple{color:"{{warn-color-0.87}}"}md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-container .md-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-container .md-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-container .md-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-container .md-ripple{color:"{{warn-600}}"}md-radio-button.md-THEME_NAME-theme[disabled],md-radio-group.md-THEME_NAME-theme[disabled]{color:"{{foreground-3}}"}md-radio-button.md-THEME_NAME-theme[disabled] .md-container .md-off,md-radio-button.md-THEME_NAME-theme[disabled] .md-container .md-on,md-radio-group.md-THEME_NAME-theme[disabled] .md-container .md-off,md-radio-group.md-THEME_NAME-theme[disabled] .md-container .md-on{border-color:"{{foreground-3}}"}md-radio-group.md-THEME_NAME-theme .md-checked .md-ink-ripple{color:"{{accent-color-0.26}}"}md-radio-group.md-THEME_NAME-theme .md-checked:not([disabled]).md-primary .md-ink-ripple,md-radio-group.md-THEME_NAME-theme.md-primary .md-checked:not([disabled]) .md-ink-ripple{color:"{{primary-color-0.26}}"}md-radio-group.md-THEME_NAME-theme.md-focused.ng-empty>md-radio-button:first-child .md-container:before{background-color:"{{foreground-3-0.26}}"}md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty) .md-checked .md-container:before{background-color:"{{accent-color-0.26}}"}md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty) .md-checked.md-primary .md-container:before,md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty).md-primary .md-checked .md-container:before{background-color:"{{primary-color-0.26}}"}md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty) .md-checked.md-warn .md-container:before,md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty).md-warn .md-checked .md-container:before{background-color:"{{warn-color-0.26}}"}md-input-container md-select.md-THEME_NAME-theme .md-select-value span:first-child:after{color:"{{warn-A700}}"}md-input-container:not(.md-input-focused):not(.md-input-invalid) md-select.md-THEME_NAME-theme .md-select-value span:first-child:after{color:"{{foreground-3}}"}md-input-container.md-input-focused:not(.md-input-has-value) md-select.md-THEME_NAME-theme .md-select-value,md-input-container.md-input-focused:not(.md-input-has-value) md-select.md-THEME_NAME-theme .md-select-value.md-select-placeholder{color:"{{primary-color}}"}md-input-container.md-input-invalid md-select.md-THEME_NAME-theme .md-select-value{border-bottom-color:"{{warn-A700}}"!important;color:"{{warn-A700}}"!important}md-input-container.md-input-invalid md-select.md-THEME_NAME-theme.md-no-underline .md-select-value{border-bottom-color:transparent!important}md-input-container:not(.md-input-invalid).md-input-focused.md-accent .md-select-value{border-color:"{{accent-color}}"}md-input-container:not(.md-input-invalid).md-input-focused.md-accent .md-select-value span{color:"{{accent-color}}"}md-input-container:not(.md-input-invalid).md-input-focused.md-warn .md-select-value{border-color:"{{warn-A700}}"}md-input-container:not(.md-input-invalid).md-input-focused.md-warn .md-select-value span{color:"{{warn-A700}}"}md-select.md-THEME_NAME-theme[disabled] .md-select-value{background-image:linear-gradient(90deg,"{{foreground-3}}" 0,"{{foreground-3}}" 33%,transparent 0);background-image:-ms-linear-gradient(left,transparent 0,"{{foreground-3}}" 100%);border-bottom-color:transparent}md-select.md-THEME_NAME-theme .md-select-value{border-bottom-color:"{{foreground-4}}"}md-select.md-THEME_NAME-theme .md-select-value.md-select-placeholder{color:"{{foreground-3}}"}md-select.md-THEME_NAME-theme .md-select-value span:first-child:after{color:"{{warn-A700}}"}md-select.md-THEME_NAME-theme.md-no-underline .md-select-value{border-bottom-color:transparent!important}md-select.md-THEME_NAME-theme.ng-invalid.ng-touched .md-select-value{border-bottom-color:"{{warn-A700}}"!important;color:"{{warn-A700}}"!important}md-select.md-THEME_NAME-theme.ng-invalid.ng-touched.md-no-underline .md-select-value{border-bottom-color:transparent!important}md-select.md-THEME_NAME-theme:not([disabled]):focus .md-select-value{border-bottom-color:"{{primary-color}}";color:"{{ foreground-1 }}"}md-select.md-THEME_NAME-theme:not([disabled]):focus .md-select-value.md-select-placeholder{color:"{{ foreground-1 }}"}md-select.md-THEME_NAME-theme:not([disabled]):focus.md-no-underline .md-select-value{border-bottom-color:transparent!important}md-select.md-THEME_NAME-theme:not([disabled]):focus.md-accent .md-select-value{border-bottom-color:"{{accent-color}}"}md-select.md-THEME_NAME-theme:not([disabled]):focus.md-warn .md-select-value{border-bottom-color:"{{warn-color}}"}md-select.md-THEME_NAME-theme[disabled] .md-select-icon,md-select.md-THEME_NAME-theme[disabled] .md-select-value,md-select.md-THEME_NAME-theme[disabled] .md-select-value.md-select-placeholder{color:"{{foreground-3}}"}md-select.md-THEME_NAME-theme .md-select-icon{color:"{{foreground-2}}"}md-select-menu.md-THEME_NAME-theme md-content{background-color:"{{background-hue-1}}"}md-select-menu.md-THEME_NAME-theme md-content md-optgroup{color:"{{foreground-2}}"}md-select-menu.md-THEME_NAME-theme md-content md-option{color:"{{foreground-1}}"}md-select-menu.md-THEME_NAME-theme md-content md-option[disabled] .md-text{color:"{{foreground-3}}"}md-select-menu.md-THEME_NAME-theme md-content md-option:not([disabled]):hover{background-color:"{{background-500-0.10}}"}md-select-menu.md-THEME_NAME-theme md-content md-option:not([disabled]).md-focused,md-select-menu.md-THEME_NAME-theme md-content md-option:not([disabled]):focus{background-color:"{{background-500-0.18}}"}md-select-menu.md-THEME_NAME-theme md-content md-option[selected]{color:"{{primary-500}}"}md-select-menu.md-THEME_NAME-theme md-content md-option[selected].md-focused,md-select-menu.md-THEME_NAME-theme md-content md-option[selected]:focus{color:"{{primary-600}}"}md-select-menu.md-THEME_NAME-theme md-content md-option[selected].md-accent{color:"{{accent-color}}"}md-select-menu.md-THEME_NAME-theme md-content md-option[selected].md-accent.md-focused,md-select-menu.md-THEME_NAME-theme md-content md-option[selected].md-accent:focus{color:"{{accent-A700}}"}.md-checkbox-enabled.md-THEME_NAME-theme .md-ripple{color:"{{primary-600}}"}.md-checkbox-enabled.md-THEME_NAME-theme[selected] .md-ripple{color:"{{background-600}}"}.md-checkbox-enabled.md-THEME_NAME-theme .md-ink-ripple{color:"{{foreground-2}}"}.md-checkbox-enabled.md-THEME_NAME-theme[selected] .md-ink-ripple{color:"{{primary-color-0.87}}"}.md-checkbox-enabled.md-THEME_NAME-theme:not(.md-checked) .md-icon{border-color:"{{foreground-2}}"}.md-checkbox-enabled.md-THEME_NAME-theme[selected] .md-icon{background-color:"{{primary-color-0.87}}"}.md-checkbox-enabled.md-THEME_NAME-theme[selected].md-focused .md-container:before{background-color:"{{primary-color-0.26}}"}.md-checkbox-enabled.md-THEME_NAME-theme[selected] .md-icon:after{border-color:"{{primary-contrast-0.87}}"}.md-checkbox-enabled.md-THEME_NAME-theme .md-indeterminate[disabled] .md-container{color:"{{foreground-3}}"}.md-checkbox-enabled.md-THEME_NAME-theme md-option .md-text{color:"{{foreground-1}}"}md-sidenav.md-THEME_NAME-theme,md-sidenav.md-THEME_NAME-theme md-content{background-color:"{{background-hue-1}}"}md-slider.md-THEME_NAME-theme .md-track{background-color:"{{foreground-3}}"}md-slider.md-THEME_NAME-theme .md-track-ticks{color:"{{background-contrast}}"}md-slider.md-THEME_NAME-theme .md-focus-ring{background-color:"{{accent-A200-0.2}}"}md-slider.md-THEME_NAME-theme .md-disabled-thumb{background-color:"{{background-color}}";border-color:"{{background-color}}"}md-slider.md-THEME_NAME-theme.md-min .md-thumb:after{background-color:"{{background-color}}";border-color:"{{foreground-3}}"}md-slider.md-THEME_NAME-theme.md-min .md-focus-ring{background-color:"{{foreground-3-0.38}}"}md-slider.md-THEME_NAME-theme.md-min[md-discrete] .md-thumb:after{background-color:"{{background-contrast}}";border-color:transparent}md-slider.md-THEME_NAME-theme.md-min[md-discrete] .md-sign{background-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme.md-min[md-discrete] .md-sign:after{border-top-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme.md-min[md-discrete][md-vertical] .md-sign:after{border-left-color:"{{background-400}}";border-top-color:transparent}md-slider.md-THEME_NAME-theme .md-track.md-track-fill{background-color:"{{accent-color}}"}md-slider.md-THEME_NAME-theme .md-thumb:after{background-color:"{{accent-color}}";border-color:"{{accent-color}}"}md-slider.md-THEME_NAME-theme .md-sign{background-color:"{{accent-color}}"}md-slider.md-THEME_NAME-theme .md-sign:after{border-top-color:"{{accent-color}}"}md-slider.md-THEME_NAME-theme[md-vertical] .md-sign:after{border-left-color:"{{accent-color}}";border-top-color:transparent}md-slider.md-THEME_NAME-theme .md-thumb-text{color:"{{accent-contrast}}"}md-slider.md-THEME_NAME-theme.md-warn .md-focus-ring{background-color:"{{warn-200-0.38}}"}md-slider.md-THEME_NAME-theme.md-warn .md-track.md-track-fill{background-color:"{{warn-color}}"}md-slider.md-THEME_NAME-theme.md-warn .md-thumb:after{background-color:"{{warn-color}}";border-color:"{{warn-color}}"}md-slider.md-THEME_NAME-theme.md-warn .md-sign{background-color:"{{warn-color}}"}md-slider.md-THEME_NAME-theme.md-warn .md-sign:after{border-top-color:"{{warn-color}}"}md-slider.md-THEME_NAME-theme.md-warn[md-vertical] .md-sign:after{border-left-color:"{{warn-color}}";border-top-color:transparent}md-slider.md-THEME_NAME-theme.md-warn .md-thumb-text{color:"{{warn-contrast}}"}md-slider.md-THEME_NAME-theme.md-primary .md-focus-ring{background-color:"{{primary-200-0.38}}"}md-slider.md-THEME_NAME-theme.md-primary .md-track.md-track-fill{background-color:"{{primary-color}}"}md-slider.md-THEME_NAME-theme.md-primary .md-thumb:after{background-color:"{{primary-color}}";border-color:"{{primary-color}}"}md-slider.md-THEME_NAME-theme.md-primary .md-sign{background-color:"{{primary-color}}"}md-slider.md-THEME_NAME-theme.md-primary .md-sign:after{border-top-color:"{{primary-color}}"}md-slider.md-THEME_NAME-theme.md-primary[md-vertical] .md-sign:after{border-left-color:"{{primary-color}}";border-top-color:transparent}md-slider.md-THEME_NAME-theme.md-primary .md-thumb-text{color:"{{primary-contrast}}"}md-slider.md-THEME_NAME-theme[disabled] .md-thumb:after{border-color:transparent}md-slider.md-THEME_NAME-theme[disabled]:not(.md-min) .md-thumb:after,md-slider.md-THEME_NAME-theme[disabled][md-discrete] .md-thumb:after{background-color:"{{foreground-3}}";border-color:transparent}md-slider.md-THEME_NAME-theme[disabled][readonly] .md-sign{background-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme[disabled][readonly] .md-sign:after{border-top-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme[disabled][readonly][md-vertical] .md-sign:after{border-left-color:"{{background-400}}";border-top-color:transparent}md-slider.md-THEME_NAME-theme[disabled][readonly] .md-disabled-thumb{background-color:transparent;border-color:transparent}md-slider-container[disabled]>:first-child:not(md-slider),md-slider-container[disabled]>:last-child:not(md-slider){color:"{{foreground-3}}"}.md-subheader.md-THEME_NAME-theme{background-color:"{{background-default}}";color:"{{ foreground-2-0.54 }}"}.md-subheader.md-THEME_NAME-theme.md-primary{color:"{{primary-color}}"}.md-subheader.md-THEME_NAME-theme.md-accent{color:"{{accent-color}}"}.md-subheader.md-THEME_NAME-theme.md-warn{color:"{{warn-color}}"}md-switch.md-THEME_NAME-theme .md-ink-ripple{color:"{{background-500}}"}md-switch.md-THEME_NAME-theme .md-thumb{background-color:"{{background-50}}"}md-switch.md-THEME_NAME-theme .md-bar{background-color:"{{background-500}}"}md-switch.md-THEME_NAME-theme.md-focused:not(.md-checked) .md-thumb:before,md-switch.md-THEME_NAME-theme.md-focused[disabled] .md-thumb:before{background-color:"{{foreground-4}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]) .md-ink-ripple{color:"{{accent-color}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]) .md-thumb{background-color:"{{accent-color}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]) .md-bar{background-color:"{{accent-color-0.5}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-focused .md-thumb:before{background-color:"{{accent-color-0.26}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-primary .md-ink-ripple{color:"{{primary-color}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-primary .md-thumb{background-color:"{{primary-color}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-primary .md-bar{background-color:"{{primary-color-0.5}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-primary.md-focused .md-thumb:before{background-color:"{{primary-color-0.26}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-warn .md-ink-ripple{color:"{{warn-color}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-warn .md-thumb{background-color:"{{warn-color}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-warn .md-bar{background-color:"{{warn-color-0.5}}"}md-switch.md-THEME_NAME-theme.md-checked:not([disabled]).md-warn.md-focused .md-thumb:before{background-color:"{{warn-color-0.26}}"}md-switch.md-THEME_NAME-theme[disabled] .md-thumb{background-color:"{{background-400}}"}md-switch.md-THEME_NAME-theme[disabled] .md-bar{background-color:"{{foreground-4}}"}md-tabs.md-THEME_NAME-theme md-tabs-wrapper{background-color:transparent;border-color:"{{foreground-4}}"}md-tabs.md-THEME_NAME-theme md-next-button md-icon,md-tabs.md-THEME_NAME-theme md-prev-button md-icon{color:"{{foreground-2}}"}md-tabs.md-THEME_NAME-theme md-ink-bar{background:"{{accent-color}}";color:"{{accent-color}}"}md-tabs.md-THEME_NAME-theme .md-tab{color:"{{foreground-2}}"}md-tabs.md-THEME_NAME-theme .md-tab[disabled],md-tabs.md-THEME_NAME-theme .md-tab[disabled] md-icon{color:"{{foreground-3}}"}md-tabs.md-THEME_NAME-theme .md-tab.md-active,md-tabs.md-THEME_NAME-theme .md-tab.md-active md-icon,md-tabs.md-THEME_NAME-theme .md-tab.md-focused,md-tabs.md-THEME_NAME-theme .md-tab.md-focused md-icon{color:"{{accent-color}}"}md-tabs.md-THEME_NAME-theme .md-tab.md-focused{background:"{{primary-color-0.1}}"}md-tabs.md-THEME_NAME-theme .md-tab .md-ripple-container{color:"{{accent-A100}}"}md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper{background-color:"{{accent-500}}"}md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]),md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]) md-icon,md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper md-next-button md-icon,md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper md-prev-button md-icon{color:"{{accent-500-contrast-0.7}}"}md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active,md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active md-icon,md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused,md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused md-icon{color:"{{accent-500-contrast-1}}"}md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused{background:"{{accent-500-contrast-0.1}}"}md-tabs.md-THEME_NAME-theme.md-accent>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-ink-bar{background:"{{accent-500-contrast}}";color:"{{accent-500-contrast}}"}md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper{background-color:"{{primary-color}}"}md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper md-next-button md-icon,md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper md-prev-button md-icon{color:"{{primary-contrast}}"}md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]),md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]) md-icon{color:"{{primary-contrast-0.7}}"}md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active,md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active md-icon,md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused,md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused md-icon{color:"{{primary-contrast}}"}md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused{background:"{{primary-contrast-0.1}}"}md-tabs.md-THEME_NAME-theme.md-primary>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-ink-bar{background:"{{accent-color}}";color:"{{accent-color}}"}md-tabs.md-THEME_NAME-theme.md-primary.md-no-ink-bar-color>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-ink-bar{background:"{{primary-contrast}}";color:"{{primary-contrast}}"}md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper{background-color:"{{warn-500}}"}md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper md-next-button md-icon,md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper md-prev-button md-icon{color:"{{warn-500-contrast}}"}md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]),md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]) md-icon{color:"{{warn-500-contrast-0.7}}"}md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active,md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active md-icon,md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused,md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused md-icon{color:"{{warn-500-contrast-1}}"}md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused{background:"{{warn-500-contrast-0.1}}"}md-tabs.md-THEME_NAME-theme.md-warn>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-ink-bar{background:"{{warn-500-contrast}}";color:"{{warn-500-contrast}}"}md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper{background-color:"{{primary-color}}"}md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper md-next-button md-icon,md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper md-prev-button md-icon{color:"{{primary-contrast}}"}md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]),md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]) md-icon{color:"{{primary-contrast-0.7}}"}md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active,md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active md-icon,md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused,md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused md-icon{color:"{{primary-contrast}}"}md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused{background:"{{primary-contrast-0.1}}"}md-toolbar>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-ink-bar{background:"{{accent-color}}";color:"{{accent-color}}"}md-toolbar>md-tabs.md-THEME_NAME-theme.md-no-ink-bar-color>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-ink-bar{background:"{{primary-contrast}}";color:"{{primary-contrast}}"}md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper{background-color:"{{accent-500}}"}md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]),md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]) md-icon,md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper md-next-button md-icon,md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper md-prev-button md-icon{color:"{{accent-500-contrast-0.7}}"}md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active,md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active md-icon,md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused,md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused md-icon{color:"{{accent-500-contrast-1}}"}md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused{background:"{{accent-500-contrast-0.1}}"}md-toolbar.md-accent>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-ink-bar{background:"{{accent-500-contrast}}";color:"{{accent-500-contrast}}"}md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper{background-color:"{{warn-500}}"}md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper md-next-button md-icon,md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper md-prev-button md-icon{color:"{{warn-500-contrast}}"}md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]),md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]) md-icon{color:"{{warn-500-contrast-0.7}}"}md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active,md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-active md-icon,md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused,md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused md-icon{color:"{{warn-500-contrast-1}}"}md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-tab-item:not([disabled]).md-focused{background:"{{warn-500-contrast-0.1}}"}md-toolbar.md-warn>md-tabs.md-THEME_NAME-theme>md-tabs-wrapper>md-tabs-canvas>md-pagination-wrapper>md-ink-bar{background:"{{warn-500-contrast}}";color:"{{warn-500-contrast}}"}md-toast.md-THEME_NAME-theme .md-toast-content{background-color:#323232;color:"{{background-50}}"}md-toast.md-THEME_NAME-theme .md-toast-content .md-button{color:"{{background-50}}"}md-toast.md-THEME_NAME-theme .md-toast-content .md-button.md-highlight{color:"{{accent-color}}"}md-toast.md-THEME_NAME-theme .md-toast-content .md-button.md-highlight.md-primary{color:"{{primary-color}}"}md-toast.md-THEME_NAME-theme .md-toast-content .md-button.md-highlight.md-warn{color:"{{warn-color}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar){background-color:"{{primary-color}}";color:"{{primary-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-icon{fill:"{{primary-contrast}}";color:"{{primary-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) .md-button[disabled] md-icon{fill:"{{primary-contrast-0.26}}";color:"{{primary-contrast-0.26}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float] .md-input{border-color:"{{primary-default-contrast-divider}}";color:"{{primary-default-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float] .md-input::-webkit-input-placeholder{color:"{{primary-default-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float] .md-input:-ms-input-placeholder{color:"{{primary-default-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float] .md-input::-ms-input-placeholder{color:"{{primary-default-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float] .md-input::placeholder{color:"{{primary-default-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float] .md-input:-moz-placeholder,md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float] .md-input::-moz-placeholder{color:"{{primary-default-contrast-hint}}";opacity:1}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float].md-input-focused .md-input::-webkit-input-placeholder{color:"{{primary-default-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float].md-input-focused .md-input:-ms-input-placeholder{color:"{{primary-default-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float].md-input-focused .md-input::-ms-input-placeholder{color:"{{primary-default-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float].md-input-focused .md-input::placeholder{color:"{{primary-default-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float].md-input-focused .md-input:-moz-placeholder,md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float].md-input-focused .md-input::-moz-placeholder{color:"{{primary-default-contrast-secondary}}";opacity:1}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float]:not(.md-input-invalid).md-input-focused .md-input,md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float]:not(.md-input-invalid).md-input-resized .md-input{border-color:"{{primary-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float]:not(.md-input-invalid).md-input-focused.md-accent .md-input{border-color:"{{accent-color}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar) md-input-container[md-no-float]:not(.md-input-invalid).md-input-focused.md-warn .md-input{border-color:"{{warn-A700}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent{background-color:"{{accent-500}}";color:"{{accent-500-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent .md-ink-ripple{color:"{{accent-500-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-icon{fill:"{{accent-500-contrast}}";color:"{{accent-500-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent .md-button[disabled] md-icon{fill:"{{accent-500-contrast-0.26}}";color:"{{accent-500-contrast-0.26}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float] .md-input{border-color:"{{accent-500-contrast-divider}}";color:"{{accent-500-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float] .md-input::-webkit-input-placeholder{color:"{{accent-500-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float] .md-input:-ms-input-placeholder{color:"{{accent-500-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float] .md-input::-ms-input-placeholder{color:"{{accent-500-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float] .md-input::placeholder{color:"{{accent-500-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float] .md-input:-moz-placeholder,md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float] .md-input::-moz-placeholder{color:"{{accent-500-contrast-hint}}";opacity:1}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float].md-input-focused .md-input::-webkit-input-placeholder{color:"{{accent-500-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float].md-input-focused .md-input:-ms-input-placeholder{color:"{{accent-500-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float].md-input-focused .md-input::-ms-input-placeholder{color:"{{accent-500-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float].md-input-focused .md-input::placeholder{color:"{{accent-500-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float].md-input-focused .md-input:-moz-placeholder,md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float].md-input-focused .md-input::-moz-placeholder{color:"{{accent-500-contrast-secondary}}";opacity:1}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float]:not(.md-input-invalid).md-input-focused .md-input,md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float]:not(.md-input-invalid).md-input-resized .md-input{border-color:"{{primary-color}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float]:not(.md-input-invalid).md-input-focused.md-accent .md-input{border-color:"{{accent-500-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-accent md-input-container[md-no-float]:not(.md-input-invalid).md-input-focused.md-warn .md-input{border-color:"{{warn-A700}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn{background-color:"{{warn-500}}";color:"{{warn-500-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-icon{fill:"{{warn-500-contrast}}";color:"{{warn-500-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float] .md-input{border-color:"{{warn-500-contrast-divider}}";color:"{{warn-500-contrast}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float] .md-input::-webkit-input-placeholder{color:"{{warn-500-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float] .md-input:-ms-input-placeholder{color:"{{warn-500-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float] .md-input::-ms-input-placeholder{color:"{{warn-500-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float] .md-input::placeholder{color:"{{warn-500-contrast-hint}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float] .md-input:-moz-placeholder,md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float] .md-input::-moz-placeholder{color:"{{warn-500-contrast-hint}}";opacity:1}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float].md-input-focused .md-input::-webkit-input-placeholder{color:"{{warn-500-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float].md-input-focused .md-input:-ms-input-placeholder{color:"{{warn-500-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float].md-input-focused .md-input::-ms-input-placeholder{color:"{{warn-500-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float].md-input-focused .md-input::placeholder{color:"{{warn-500-contrast-secondary}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float].md-input-focused .md-input:-moz-placeholder,md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float].md-input-focused .md-input::-moz-placeholder{color:"{{warn-500-contrast-secondary}}";opacity:1}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float]:not(.md-input-invalid).md-input-focused .md-input,md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float]:not(.md-input-invalid).md-input-resized .md-input{border-color:"{{primary-color}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float]:not(.md-input-invalid).md-input-focused.md-accent .md-input{border-color:"{{accent-color}}"}md-toolbar.md-THEME_NAME-theme:not(.md-menu-toolbar).md-warn md-input-container[md-no-float]:not(.md-input-invalid).md-input-focused.md-warn .md-input{border-color:"{{warn-500-contrast}}"}.md-panel.md-tooltip.md-THEME_NAME-theme{background-color:"{{background-700}}";color:"{{background-700-contrast}}"}body.md-THEME_NAME-theme,html.md-THEME_NAME-theme{background-color:"{{background-color}}";color:"{{foreground-1}}"}')}(window,window.angular),window.ngMaterial={version:{full:"1.2.
13"}},function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("angular")):"function"==typeof define&&define.amd?define(["exports","angular"],factory):factory(global["@uirouter/angularjs"]={},global.angular)}(this,function(exports,ng_from_import){"use strict";var ng_from_global=angular,ng=ng_from_import&&ng_from_import.module?ng_from_import:ng_from_global;function curry(fn){var initial_args=[].slice.apply(arguments,[1]),func_args_length=fn.length;return function curried(args){return args.length>=func_args_length?fn.apply(null,args):function(){return curried(args.concat([].slice.apply(arguments)))}}(initial_args)}function compose(){var args=arguments,start=args.length-1;return function(){for(var i=start,result=args[start].apply(this,arguments);i--;)result=args[i].call(this,result);return result}}function pipe(){for(var funcs=[],_i=0;_i<arguments.length;_i++)funcs[_i]=arguments[_i];return compose.apply(null,[].slice.call(arguments).reverse())}var prop=function(name){return function(obj){return obj&&obj[name]}},propEq=curry(function(name,_val,obj){return obj&&obj[name]===_val}),parse=function(name){return pipe.apply(null,name.split(".").map(prop))},not=function(fn){return function(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];return!fn.apply(null,args)}};function and(fn1,fn2){return function(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];return fn1.apply(null,args)&&fn2.apply(null,args)}}function or(fn1,fn2){return function(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];return fn1.apply(null,args)||fn2.apply(null,args)}}var all=function(fn1){return function(arr){return arr.reduce(function(b,x){return b&&!!fn1(x)},!0)}},any=function(fn1){return function(arr){return arr.reduce(function(b,x){return b||!!fn1(x)},!1)}},is=function(ctor){return function(obj){return null!=obj&&obj.constructor===ctor||obj instanceof ctor}},eq=function(value){return function(other){return value===other}},val=function(v){return function(){return v}};function invoke(fnName,args){return function(obj){return obj[fnName].apply(obj,args)}}function pattern(struct){return function(x){for(var i=0;
vendor: 11,720 bytes, line 1
1i<struct.length;i++)if(struct[i][0](x))return struct[i][1](x)}}var toStr=Object.prototype.toString,tis=function(t){return function(x){return typeof x===t}},isUndefined=tis("undefined"),isDefined=not(isUndefined),isNull=function(o){return null===o},isNullOrUndefined=or(isNull,isUndefined),isFunction=tis("function"),isNumber=tis("number"),isString=tis("string"),isObject=function(x){return null!==x&&"object"==typeof x},isArray=Array.isArray,isDate=function(x){return"[object Date]"===toStr.call(x)},isRegExp=function(x){return"[object RegExp]"===toStr.call(x)};function isInjectable(val$$1){if(isArray(val$$1)&&val$$1.length){var head=val$$1.slice(0,-1),tail=val$$1.slice(-1);return!(head.filter(not(isString)).length||tail.filter(not(isFunction)).length)}return isFunction(val$$1)}var isPromise=and(isObject,pipe(prop("then"),isFunction)),makeStub=function(service,methods){return methods.reduce(function(acc,key){return acc[key]=(fnname=service+"."+key+"()",function(){throw new Error("No implementation for "+fnname+". The framework specific code did not implement this method.")}),acc;var fnname},{})},services={$q:void 0,$injector:void 0},root="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||void 0,angular$1=root.angular||{},fromJson=angular$1.fromJson||JSON.parse.bind(JSON),toJson=angular$1.toJson||JSON.stringify.bind(JSON),forEach=angular$1.forEach||function(obj,cb,_this){if(isArray(obj))return obj.forEach(cb,_this);Object.keys(obj).forEach(function(key){return cb(obj[key],key)})},extend=Object.assign||_extend,equals=angular$1.equals||_equals;function identity(x){return x}function noop(){}function createProxyFunctions(source,target,bind,fnNames,latebind){void 0===latebind&&(latebind=!1);var bindFunction=function(fnName){return source()[fnName].bind(bind())};return(fnNames=fnNames||Object.keys(source())).reduce(function(acc,name){var fnName;return acc[name]=latebind?(fnName=name,function(){return target[fnName]=bindFunction(fnName),target[fnName].apply(null,arguments)}):bindFunction(name),acc},target)}var inherit=function(parent,extra){return extend(Object.create(parent),extra)},inArray=curry(_inArray);function _inArray(array,obj){return-1!==array.indexOf(obj)}var removeFrom=curry(_removeFrom);function _removeFrom(array,obj){var idx=array.indexOf(obj);return 0<=idx&&array.splice(idx,1),array}var pushTo=curry(_pushTo);function _pushTo(arr,val$$1){return arr.push(val$$1),val$$1}var deregAll=function(functions){return functions.slice().forEach(function(fn){"function"==typeof fn&&fn(),removeFrom(functions,fn)})};function defaults(opts){for(var defaultsList=[],_i=1;_i<arguments.length;_i++)defaultsList[_i-1]=arguments[_i];var defaultVals=extend.apply(void 0,[{}].concat(defaultsList.reverse()));return extend(defaultVals,pick(opts||{},Object.keys(defaultVals)))}var mergeR=function(memo,item){return extend(memo,item)};function ancestors(first,second){var path=[];for(var n in first.path){if(first.path[n]!==second.path[n])break;path.push(first.path[n])}return path}function pick(obj,propNames){var objCopy={};for(var _prop in obj)-1!==propNames.indexOf(_prop)&&(objCopy[_prop]=obj[_prop]);return objCopy}function omit(obj,propNames){return Object.keys(obj).filter(not(inArray(propNames))).reduce(function(acc,key){return acc[key]=obj[key],acc},{})}function pluck(collection,propName){return map(collection,prop(propName))}function filter(collection,callback){var arr=isArray(collection),result=arr?[]:{},accept=arr?function(x){return result.push(x)}:function(x,key){return result[key]=x};return forEach(collection,function(item,i){callback(item,i)&&accept(item,i)}),result}function find(collection,callback){var result;return forEach(collection,function(item,i){result||callback(item,i)&&(result=item)}),result}var mapObj=map;function map(collection,callback,target){return target=target||(isArray(collection)?[]:{}),forEach(collection,function(item,i){return target[i]=callback(item,i)}),target}var values=function(obj){return Object.keys(obj).map(function(key){return obj[key]})},allTrueR=function(memo,elem){return memo&&elem},anyTrueR=function(memo,elem){return memo||elem},unnestR=function(memo,elem){return memo.concat(elem)},flattenR=function(memo,elem){return isArray(elem)?memo.concat(elem.reduce(flattenR,[])):pushR(memo,elem)};function pushR(arr,obj){return arr.push(obj),arr}var uniqR=function(acc,token){return inArray(acc,token)?acc:pushR(acc,token)},unnest=function(arr){return arr.reduce(unnestR,[])},flatten=function(arr){return arr.reduce(flattenR,[])},assertPredicate=assertFn,assertMap=assertFn;function assertFn(predicateOrMap,errMsg){return void 0===errMsg&&(errMsg="assert failure"),function(obj){var result=predicateOrMap(obj);if(!result)throw new Error(isFunction(errMsg)?errMsg(obj):errMsg);return result}}var pairs=function(obj){return Object.keys(obj).map(function(key){return[key,obj[key]]})};function arrayTuples(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];if(0===args.length)return[];for(var maxArrayLen=args.reduce(function(min,arr){return Math.min(arr.length,min)},9007199254740991),result=[],_loop_1=function(i){switch(args.length){case 1:result.push([args[0][i]]);break;case 2:result.push([args[0][i],args[1][i]]);break;case 3:result.push([args[0][i],args[1][i],args[2][i]]);break;case 4:result.push([args[0][i],args[1][i],args[2][i],args[3][i]]);break;default:result.push(args.map(function(array){return array[i]}))}},i=0;i<maxArrayLen;i++)_loop_1(i);return result}function applyPairs(memo,keyValTuple){var key,value;if(isArray(keyValTuple)&&(key=keyValTuple[0],value=keyValTuple[1]),!isString(key))throw new Error("invalid parameters to applyPairs");return memo[key]=value,memo}function tail(arr){return arr.length&&arr[arr.length-1]||void 0}function copy(src,dest){return dest&&Object.keys(dest).forEach(function(key){return delete dest[key]}),dest||(dest={}),extend(dest,src)}function _extend(toObj){for(var i=1;i<arguments.length;i++){var obj=arguments[i];if(obj)for(var keys=Object.keys(obj),j=0;j<keys.length;j++)toObj[keys[j]]=obj[keys[j]]}return toObj}function _equals(o1,o2){if(o1===o2)return!0;if(null===o1||null===o2)return!1;if(o1!=o1&&o2!=o2)return!0;var t1=typeof o1;if(t1!==typeof o2||"object"!==t1)return!1;var a1,a2,tup=[o1,o2];if(all(isArray)(tup))return a2=o2,(a1=o1).length===a2.length&&arrayTuples(a1,a2).reduce(function(b,t){return b&&_equals(t[0],t[1])},!0);if(all(isDate)(tup))return o1.getTime()===o2.getTime();if(all(isRegExp)(tup))return o1.toString()===o2.toString();if(all(isFunction)(tup))return!0;if([isFunction,isArray,isDate,isRegExp].map(any).reduce(function(b,fn){return b||!!fn(tup)},!1))return!1;var keys={};for(var key in o1){if(!_equals(o1[key],o2[key]))return!1;keys[key]=!0}for(var key in o2)if(!keys[key])return!1;return!0}var RejectType,silenceUncaughtInPromise=function(promise){return promise.catch(function(e){return 0})&&promise},silentRejection=function(error){return silenceUncaughtInPromise(services.$q.reject(error))},Glob=function(){function Glob(text){this.text=text,this.glob=text.split(".");var regexpString=this.text.split(".").map(function(seg){return"**"===seg?"(?:|(?:\\.[^.]*)*)":"*"===seg?"\\.[^.]*":"\\."+seg}).join("");this.regexp=new RegExp("^"+regexpString+"$")}return Glob.is=function(text){return!!/[!,*]+/.exec(text)},Glob.fromString=function(text){return Glob.is(text)?new Glob(text):null},Glob.prototype.matches=function(name){return this.regexp.test("."+name)},Glob}(),Queue=function(){function Queue(_items,_limit){void 0===_items&&(_items=[]),void 0===_limit&&(_limit=null),this._items=_items,this._limit=_limit,this._evictListeners=[],this.onEvict=pushTo(this._evictListeners)}return Queue.prototype.enqueue=function(item){var items=this._items;return items.push(item),this._limit&&items.length>this._limit&&this.evict(),item},Queue.prototype.evict=function(){var item=this._items.shift();return this._evictListeners.forEach(function(fn){return fn(item)}),item},Queue.prototype.dequeue=function(){if(this.size())return this._items.splice(0,1)[0]},Queue.prototype.clear=function(){var current=this._items;return this._items=[],current},Queue.prototype.size=function(){return this._items.length},Queue.prototype.remove=function(item){var idx=this._items.indexOf(item);return-1<idx&&this._items.splice(idx,1)[0]},Queue.prototype.peekTail=function(){return this._items[this._items.length-1]},Queue.prototype.peekHead=function(){if(this.size())return this._items[0]},Queue}();(RejectType=exports.RejectType||(exports.RejectType={}))[RejectType.SUPERSEDED=2]="SUPERSEDED",RejectType[RejectType.ABORTED=3]="ABORTED",RejectType[RejectType.INVALID=4]="INVALID",RejectType[RejectType.IGNORED=5]="IGNORED",RejectType[RejectType.ERROR=6]="ERROR";var id=0,Rejection=function(){function Rejection(type,message,detail){this.$id=id++,this.type=type,this.message=message,this.detail=detail}return Rejection.isRejectionPromise=function(obj){return obj&&"function"==typeof obj.then&&is(Rejection)(obj._transitionRejection)},Rejection.superseded=function(detail,options){var rejection=new Rejection(exports.RejectType.SUPERSEDED,"The transition has been superseded by a different transition",detail);return options&&options.redirected&&(rejection.redirected=!0),rejection},Rejection.redirected=function(detail){return Rejection.superseded(detail,{redirected:!0})},Rejection.invalid=function(detail){return new Rejection(exports.RejectType.INVALID,"This transition is invalid",detail)},Rejection.ignored=function(detail){return new Rejection(exports.RejectType.IGNORED,"The transition was ignored",detail)},Rejection.aborted=function(detail){return new Rejection(exports.RejectType.ABORTED,"The transition has been aborted",detail)},Rejection.errored=function(detail){return new Rejection(exports.RejectType.ERROR,"The transition errored",detail)},Rejection.normalize=function(detail){return is(Rejection)(detail)?detail:Rejection.errored(detail)},Rejection.prototype.toString=function(){var d,detail=(d=this.detail)&&d.toString!==Object.prototype.toString?d.toString():stringify(d);return"Transition Rejection($id: "+this.$id+" type: "+this.type+", message: "+this.message+", detail: "+detail+")"},Rejection.prototype.toPromise=function(){return extend(silentRejection(this),{_transitionRejection:this})},Rejection}();function maxLength(max,str){return str.length<=max?str:str.substr(0,max-3)+"..."}function padString(length,str){for(;str.length<length;)str+=" ";return str}function kebobString(camelCase){return camelCase.replace(/^([A-Z])/,function($1){return $1.toLowerCase()}).replace(/([A-Z])/g,function($1){return"-"+$1.toLowerCase()})}function functionToString(fn){var fnStr=fnToString(fn),namedFunctionMatch=fnStr.match(/^(function [^ ]+\([^)]*\))/),toStr=namedFunctionMatch?namedFunctionMatch[1]:fnStr,fnName=fn.name||"";return fnName&&toStr.match(/function \(/)?"function "+fnName+toStr.substr(9):toStr}function fnToString(fn){var _fn=isArray(fn)?fn.slice(-1)[0]:fn;return _fn&&_fn.toString()||"undefined"}var isRejection=Rejection.isRejectionPromise,stringifyPattern=pattern([[isUndefined,val("undefined")],[isNull,val("null")],[isPromise,val("[Promise]")],[isRejection,function(x){return x._transitionRejection.toString()}],[function(obj){return isObject(obj)&&!isArray(obj)&&obj.constructor!==Object&&isFunction(obj.toString)},function(x){return x.toString()}],[isInjectable,functionToString],[val(!0),identity]]);function stringify(o){var seen=[];function format(value){if(isObject(value)){if(-1!==seen.indexOf(value))return"[circular ref]";seen.push(value)}return stringifyPattern(value)}return isUndefined(o)?format(o):JSON.stringify(o,function(key,value){return format(value)}).replace(/\\"/g,'"')}
1var beforeAfterSubstr=function(char){return function(str){if(!str)return["",""];var idx=str.indexOf(char);return-1===idx?[str,""]:[str.substr(0,idx),str.substr(idx+1)]}},hostRegex=new RegExp("^(?:[a-z]+:)?//[^/]+/"),stripLastPathElement=function(str){return str.replace(/\/[^/]*$/,"")},splitHash=beforeAfterSubstr("#"),splitQuery=beforeAfterSubstr("?"),splitEqual=beforeAfterSubstr("="),trimHashVal=function(str){return str?str.replace(/^#/,""):""};function splitOnDelim(delim){var re=new RegExp("("+delim+")","g");return function(str){return str.split(re).filter(identity)}}function joinNeighborsR(acc,x){return isString(tail(acc))&&isString(x)?acc.slice(0,-1).concat(tail(acc)+x):pushR(acc,x)}function uiViewString(uiview){if(!uiview)return"ui-view (defunct)";var state=uiview.creationContext?uiview.creationContext.name||"(root)":"(none)";return"[ui-view#"+uiview.id+" "+uiview.$type+":"+uiview.fqn+" ("+uiview.name+"@"+state+")]"}function normalizedCat(input){return isNumber(input)?exports.Category[input]:exports.Category[exports.Category[input]]}var Category,consoleLog=Function.prototype.bind.call(console.log,console),consoletable=isFunction(console.table)?console.table.bind(console):consoleLog.bind(console);(Category=exports.Category||(exports.Category={}))[Category.RESOLVE=0]="RESOLVE",Category[Category.TRANSITION=1]="TRANSITION",Category[Category.HOOK=2]="HOOK",Category[Category.UIVIEW=3]="UIVIEW",Category[Category.VIEWCONFIG=4]="VIEWCONFIG";var _tid=parse("$id"),_rid=parse("router.$id"),transLbl=function(trans){return"Transition #"+_tid(trans)+"-"+_rid(trans)},Trace=function(){function Trace(){this._enabled={},this.approximateDigests=0}return Trace.prototype._set=function(enabled,categories){var _this=this;categories.length||(categories=Object.keys(exports.Category).map(function(k){return parseInt(k,10)}).filter(function(k){return!isNaN(k)}).map(function(key){return exports.Category[key]})),categories.map(normalizedCat).forEach(function(category){return _this._enabled[category]=enabled})},Trace.prototype.enable=function(){for(var categories=[],_i=0;_i<arguments.length;_i++)categories[_i]=arguments[_i];this._set(!0,categories)},Trace.prototype.disable=function(){for(var categories=[],_i=0;_i<arguments.length;_i++)categories[_i]=arguments[_i];this._set(!1,categories)},Trace.prototype.enabled=function(category){return!!this._enabled[normalizedCat(category)]},Trace.prototype.traceTransitionStart=function(trans){this.enabled(exports.Category.TRANSITION)&&console.log(transLbl(trans)+": Started -> "+stringify(trans))},Trace.prototype.traceTransitionIgnored=function(trans){this.enabled(exports.Category.TRANSITION)&&console.log(transLbl(trans)+": Ignored <> "+stringify(trans))},Trace.prototype.traceHookInvocation=function(step,trans,options){if(this.enabled(exports.Category.HOOK)){var event=parse("traceData.hookType")(options)||"internal",context=parse("traceData.context.state.name")(options)||parse("traceData.context")(options)||"unknown",name=functionToString(step.registeredHook.callback);console.log(transLbl(trans)+": Hook -> "+event+" context: "+context+", "+maxLength(200,name))}},Trace.prototype.traceHookResult=function(hookResult,trans,transitionOptions){this.enabled(exports.Category.HOOK)&&console.log(transLbl(trans)+": <- Hook returned: "+maxLength(200,stringify(hookResult)))},Trace.prototype.traceResolvePath=function(path,when,trans){this.enabled(exports.Category.RESOLVE)&&console.log(transLbl(trans)+": Resolving "+path+" ("+when+")")},Trace.prototype.traceResolvableResolved=function(resolvable,trans){this.enabled(exports.Category.RESOLVE)&&console.log(transLbl(trans)+": <- Resolved "+resolvable+" to: "+maxLength(200,stringify(resolvable.data)))},Trace.prototype.traceError=function(reason,trans){this.enabled(exports.Category.TRANSITION)&&console.log(transLbl(trans)+": <- Rejected "+stringify(trans)+", reason: "+reason)},Trace.prototype.traceSuccess=function(finalState,trans){this.enabled(exports.Category.TRANSITION)&&console.log(transLbl(trans)+": <- Success "+stringify(trans)+", final state: "+finalState.name)},Trace.prototype.traceUIViewEvent=function(event,viewData,extra){void 0===extra&&(extra=""),this.enabled(exports.Category.UIVIEW)&&console.log("ui-view: "+padString(30,event)+" "+uiViewString(viewData)+extra)},Trace.prototype.traceUIViewConfigUpdated=function(viewData,context){this.enabled(exports.Category.UIVIEW)&&this.traceUIViewEvent("Updating",viewD
vendor: 15,892 bytes, line 1
1ata," with ViewConfig from context='"+context+"'")},Trace.prototype.traceUIViewFill=function(viewData,html){this.enabled(exports.Category.UIVIEW)&&this.traceUIViewEvent("Fill",viewData," with: "+maxLength(200,html))},Trace.prototype.traceViewSync=function(pairs){if(this.enabled(exports.Category.VIEWCONFIG)){var uivheader="uiview component fqn",mapping=pairs.map(function(_a){var _b,uiView=_a.uiView,viewConfig=_a.viewConfig,uiv=uiView&&uiView.fqn,cfg=viewConfig&&viewConfig.viewDecl.$context.name+": ("+viewConfig.viewDecl.$name+")";return(_b={})[uivheader]=uiv,_b["view config state (view name)"]=cfg,_b}).sort(function(a,b){return(a[uivheader]||"").localeCompare(b[uivheader]||"")});consoletable(mapping)}},Trace.prototype.traceViewServiceEvent=function(event,viewConfig){this.enabled(exports.Category.VIEWCONFIG)&&console.log("VIEWCONFIG: "+event+" "+function(viewConfig){var view=viewConfig.viewDecl,state=view.$context.name||"(root)";return"[View#"+viewConfig.$id+" from '"+state+"' state]: target ui-view: '"+view.$uiViewName+"@"+view.$uiViewContextAnchor+"'"}(viewConfig))},Trace.prototype.traceViewServiceUIViewEvent=function(event,viewData){this.enabled(exports.Category.VIEWCONFIG)&&console.log("VIEWCONFIG: "+event+" "+uiViewString(viewData))},Trace}(),trace=new Trace,ParamType=function(){function ParamType(def){this.pattern=/.*/,this.inherit=!0,extend(this,def)}return ParamType.prototype.is=function(val,key){return!0},ParamType.prototype.encode=function(val,key){return val},ParamType.prototype.decode=function(val,key){return val},ParamType.prototype.equals=function(a,b){return a==b},ParamType.prototype.$subPattern=function(){var sub=this.pattern.toString();return sub.substr(1,sub.length-2)},ParamType.prototype.toString=function(){return"{ParamType:"+this.name+"}"},ParamType.prototype.$normalize=function(val){return this.is(val)?val:this.decode(val)},ParamType.prototype.$asArray=function(mode,isSearch){if(!mode)return this;if("auto"===mode&&!isSearch)throw new Error("'auto' array mode is for query parameters only");return new ArrayType(this,mode)},ParamType}();function ArrayType(type,mode){var _this=this;function arrayWrap(val){return isArray(val)?val:isDefined(val)?[val]:[]}function arrayHandler(callback,allTruthyMode){return function(val){if(isArray(val)&&0===val.length)return val;var result=map(arrayWrap(val),callback);return!0===allTruthyMode?0===filter(result,function(x){return!x}).length:function(val){switch(val.length){case 0:return;case 1:return"auto"===mode?val[0]:val;default:return val}}(result)}}function arrayEqualsHandler(callback){return function(val1,val2){var left=arrayWrap(val1),right=arrayWrap(val2);if(left.length!==right.length)return!1;for(var i=0;i<left.length;i++)if(!callback(left[i],right[i]))return!1;return!0}}["encode","decode","equals","$normalize"].forEach(function(name){var paramTypeFn=type[name].bind(type),wrapperFn="equals"===name?arrayEqualsHandler:arrayHandler;_this[name]=wrapperFn(paramTypeFn)}),extend(this,{dynamic:type.dynamic,name:type.name,pattern:type.pattern,inherit:type.inherit,raw:type.raw,is:arrayHandler(type.is.bind(type),!0),$arrayMode:mode})}var DefType,hasOwn=Object.prototype.hasOwnProperty,isShorthand=function(cfg){return 0===["value","type","squash","array","dynamic"].filter(hasOwn.bind(cfg||{})).length};function getParamDeclaration(paramName,location,state){var noReloadOnSearch=!1===state.reloadOnSearch&&location===exports.DefType.SEARCH||void 0,dynamic=find([state.dynamic,noReloadOnSearch],isDefined),defaultConfig=isDefined(dynamic)?{dynamic:dynamic}:{},paramConfig=function(cfg){function getStaticDefaultValue(){return cfg.value}cfg=isShorthand(cfg)?{value:cfg}:cfg,getStaticDefaultValue.__cacheable=!0;var $$fn=isInjectable(cfg.value)?cfg.value:getStaticDefaultValue;return extend(cfg,{$$fn:$$fn})}(state&&state.params&&state.params[paramName]);return extend(defaultConfig,paramConfig)}(DefType=exports.DefType||(exports.DefType={}))[DefType.PATH=0]="PATH",DefType[DefType.SEARCH=1]="SEARCH",DefType[DefType.CONFIG=2]="CONFIG";var makeDefaultType,Param=function(){function Param(id,type,location,urlConfig,state){var config=getParamDeclaration(id,location,state);type=function(cfg,urlType,location,id,paramTypes){if(cfg.type&&urlType&&"string"!==urlType.name)throw new Error("Param '"+id+"' has two type configurations.");if(cfg.type&&urlType&&"string"===urlType.name&¶mTypes.type(cfg.type))return paramTypes.type(cfg.type);if(urlType)return urlType;if(cfg.type)return cfg.type instanceof ParamType?cfg.type:paramTypes.type(cfg.type);var type=location===exports.DefType.CONFIG?"any":location===exports.DefType.PATH?"path":location===exports.DefType.SEARCH?"query":"string";return paramTypes.type(type)}(config,type,location,id,urlConfig.paramTypes);var arrayDefaults,arrayParamNomenclature,arrayMode=(arrayDefaults={array:location===exports.DefType.SEARCH&&"auto"},arrayParamNomenclature=id.match(/\[\]$/)?{array:!0}:{},extend(arrayDefaults,arrayParamNomenclature,config).array);type=arrayMode?type.$asArray(arrayMode,location===exports.DefType.SEARCH):type;var isOptional=void 0!==config.value||location===exports.DefType.SEARCH,dynamic=isDefined(config.dynamic)?!!config.dynamic:!!type.dynamic,raw=isDefined(config.raw)?!!config.raw:!!type.raw,squash=function(config,isOptional,defaultPolicy){var squash=config.squash;if(!isOptional||!1===squash)return!1;if(!isDefined(squash)||null==squash)return defaultPolicy;if(!0===squash||isString(squash))return squash;throw new Error("Invalid squash policy: '"+squash+"'. Valid policies: false, true, or arbitrary string")}(config,isOptional,urlConfig.defaultSquashPolicy()),replace=function(config,arrayMode,isOptional,squash){var defaultPolicy=[{from:"",to:isOptional||arrayMode?void 0:""},{from:null,to:isOptional||arrayMode?void 0:""}],replace=isArray(config.replace)?config.replace:[];isString(squash)&&replace.push({from:squash,to:void 0});var configuredKeys=map(replace,prop("from"));return filter(defaultPolicy,function(item){return-1===configuredKeys.indexOf(item.from)}).concat(replace)}(config,arrayMode,isOptional,squash),inherit$$1=isDefined(config.inherit)?!!config.inherit:!!type.inherit;extend(this,{id:id,type:type,location:location,isOptional:isOptional,dynamic:dynamic,raw:raw,squash:squash,replace:replace,inherit:inherit$$1,array:arrayMode,config:config})}return Param.values=function(params,values$$1){void 0===values$$1&&(values$$1={});for(var paramValues={},_i=0,params_1=params;_i<params_1.length;_i++){var param=params_1[_i];paramValues[param.id]=param.value(values$$1[param.id])}return paramValues},Param.changed=function(params,values1,values2){return void 0===values1&&(values1={}),void 0===values2&&(values2={}),params.filter(function(param){return!param.type.equals(values1[param.id],values2[param.id])})},Param.equals=function(params,values1,values2){return void 0===values1&&(values1={}),void 0===values2&&(values2={}),0===Param.changed(params,values1,values2).length},Param.validates=function(params,values$$1){return void 0===values$$1&&(values$$1={}),params.map(function(param){return param.validates(values$$1[param.id])}).reduce(allTrueR,!0)},Param.prototype.isDefaultValue=function(value){return this.isOptional&&this.type.equals(this.value(),value)},Param.prototype.value=function(value){var _this=this;return value=function(val$$1){for(var _i=0,_a=_this.replace;_i<_a.length;_i++){var tuple=_a[_i];if(tuple.from===val$$1)return tuple.to}return val$$1}(value),isUndefined(value)?function(){if(_this._defaultValueCache)return _this._defaultValueCache.defaultValue;if(!services.$injector)throw new Error("Injectable functions cannot be called at configuration time");var defaultValue=services.$injector.invoke(_this.config.$$fn);if(null!=defaultValue&&!_this.type.is(defaultValue))throw new Error("Default value ("+defaultValue+") for parameter '"+_this.id+"' is not an instance of ParamType ("+_this.type.name+")");return _this.config.$$fn.__cacheable&&(_this._defaultValueCache={defaultValue:defaultValue}),defaultValue}():this.type.$normalize(value)},Param.prototype.isSearch=function(){return this.location===exports.DefType.SEARCH},Param.prototype.validates=function(value){if((isUndefined(value)||null===value)&&this.isOptional)return!0;var normalized=this.type.$normalize(value);if(!this.type.is(normalized))return!1;var encoded=this.type.encode(normalized);return!(isString(encoded)&&!this.type.pattern.exec(encoded))},Param.prototype.toString=function(){return"{Param:"+this.id+" "+this.type+" squash: '"+this.squash+"' optional: "+this.isOptional+"}"},Param}(),ParamTypes=function(){function ParamTypes(){this.enqueue=!0,this.typeQueue=[],this.defaultTypes=pick(ParamTypes.prototype,["hash","string","query","path","int","bool","date","json","any"]);this.types=inherit(map(this.defaultTypes,function(definition,name){return new ParamType(extend({name:name},definition))}),{})}return ParamTypes.prototype.dispose=function(){this.types={}},ParamTypes.prototype.type=function(name,definition,definitionFn){if(!isDefined(definition))return this.types[name];if(this.types.hasOwnProperty(name))throw new Error("A type named '"+name+"' has already been defined.");return this.types[name]=new ParamType(extend({name:name},definition)),definitionFn&&(this.typeQueue.push({name:name,def:definitionFn}),this.enqueue||this._flushTypeQueue()),this},ParamTypes.prototype._flushTypeQueue=function(){for(;this.typeQueue.length;){var type=this.typeQueue.shift();if(type.pattern)throw new Error("You cannot override a type's .pattern at runtime.");extend(this.types[type.name],services.$injector.invoke(type.def))}},ParamTypes}();makeDefaultType=function(def){var valToString=function(val$$1){return null!=val$$1?val$$1.toString():val$$1},defaultTypeBase={encode:valToString,decode:valToString,is:is(String),pattern:/.*/,equals:function(a,b){return a==b}};return extend({},defaultTypeBase,def)},extend(ParamTypes.prototype,{string:makeDefaultType({}),path:makeDefaultType({pattern:/[^/]*/}),query:makeDefaultType({}),hash:makeDefaultType({inherit:!1}),int:makeDefaultType({decode:function(val$$1){return parseInt(val$$1,10)},is:function(val$$1){return!isNullOrUndefined(val$$1)&&this.decode(val$$1.toString())===val$$1},pattern:/-?\d+/}),bool:makeDefaultType({encode:function(val$$1){return val$$1?1:0},decode:function(val$$1){return 0!==parseInt(val$$1,10)},is:is(Boolean),pattern:/0|1/}),date:makeDefaultType({encode:function(val$$1){return this.is(val$$1)?[val$$1.getFullYear(),("0"+(val$$1.getMonth()+1)).slice(-2),("0"+val$$1.getDate()).slice(-2)].join("-"):void 0},decode:function(val$$1){if(this.is(val$$1))return val$$1;var match=this.capture.exec(val$$1);return match?new Date(match[1],match[2]-1,match[3]):void 0},is:function(val$$1){return val$$1 instanceof Date&&!isNaN(val$$1.valueOf())},equals:function(l,r){return["getFullYear","getMonth","getDate"].reduce(function(acc,fn){return acc&&l[fn]()===r[fn]()},!0)},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/,capture:/([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/}),json:makeDefaultType({encode:toJson,decode:fromJson,is:is(Object),equals:equals,pattern:/[^/]*/}),any:makeDefaultType({encode:identity,decode:identity,is:function(){return!0},equals:equals})});var StateParams=function(){function StateParams(params){void 0===params&&(params={}),extend(this,params)}return StateParams.prototype.$inherit=function(newParams,$current,$to){var parentParams,parents=ancestors($current,$to),inherited={},inheritList=[];for(var i in parents)if(parents[i]&&parents[i].params&&(parentParams=Object.keys(parents[i].params)).length)for(var j in parentParams)0<=inheritList.indexOf(parentParams[j])||(inheritList.push(parentParams[j]),inherited[parentParams[j]]=this[parentParams[j]]);return extend({},inherited,newParams)},StateParams}(),PathNode=function(){function PathNode(stateOrNode){if(stateOrNode instanceof PathNode){var node=stateOrNode;this.state=node.state,this.paramSchema=node.paramSchema.slice(),this.paramValues=extend({},node.paramValues),this.resolvables=node.resolvables.slice(),this.views=node.views&&node.views.slice()}else{var state=stateOrNode;this.state=state,this.paramSchema=state.parameters({inherit:!1}),this.paramValues={},this.resolvables=state.resolvables.map(function(res){return res.clone()})}}return PathNode.prototype.clone=function(){return new PathNode(this)},PathNode.prototype.applyRawParams=function(params){return this.paramValues=this.paramSchema.reduce(function(memo,pDef){return applyPairs(memo,[(paramDef=pDef).id,paramDef.value(params[paramDef.id])]);var paramDef},{}),this},PathNode.prototype.parameter=function(name){return find(this.paramSchema,propEq("id",name))},PathNode.prototype.equals=function(node,paramsFn){var diff=this.diff(node,paramsFn);return diff&&0===diff.length},PathNode.prototype.diff=function(node,paramsFn){if(this.state!==node.state)return!1;var params=paramsFn?paramsFn(this):this.paramSchema;return Param.changed(params,this.paramValues,node.paramValues)},PathNode.clone=function(node){return node.clone()},PathNode}(),TargetState=function(){function TargetState(_stateRegistry,_identifier,_params,_options){this._stateRegistry=_stateRegistry,this._identifier=_identifier,this._identifier=_identifier,this._params=extend({},_params||{}),this._options=extend({},_options||{}),this._definition=_stateRegistry.matcher.find(_identifier,this._options.relative)}return TargetState.prototype.name=function(){return this._definition&&this._definition.name||this._identifier},TargetState.prototype.identifier=function(){return this._identifier},TargetState.prototype.params=function(){return this._params},TargetState.prototype.$state=function(){return this._definition},TargetState.prototype.state=function(){return this._definition&&this._definition.self},TargetState.prototype.options=function(){return this._options},TargetState.prototype.exists=function(){return!(!this._definition||!this._definition.self)},TargetState.prototype.valid=function(){return!this.error()},TargetState.prototype.error=function(){var base=this.options().relative;if(this._definition||!base)return this._definition?this._definition.self?void 0:"State '"+this.name()+"' has an invalid definition":"No such state '"+this.name()+"'";var stateName=base.name?base.name:base;return"Could not resolve '"+this.name()+"' from state '"+stateName+"'"},TargetState.prototype.toString=function(){return"'"+this.name()+"'"+stringify(this.params())},TargetState.prototype.withState=function(state){return new TargetState(this._stateRegistry,state,this._params,this._options)},TargetState.prototype.withParams=function(params,replace){void 0===replace&&(replace=!1);var newParams=replace?params:extend({},this._params,params);return new TargetState(this._stateRegistry,this._identifier,newParams,this._options)},TargetState.prototype.withOptions=function(options,replace){void 0===replace&&(replace=!1);var newOpts=replace?options:extend({},this._options,options);return new TargetState(this._stateRegistry,this._identifier,this._params,newOpts)},TargetState.isDef=function(obj){return obj&&obj.state&&(isString(obj.state)||isString(obj.state.name))},TargetState}(),PathUtils=function(){function PathUtils(){}return PathUtils.makeTargetState=function(registry,path){var state=tail(path).state;return new TargetState(registry,state,path.map(prop("paramValues")).reduce(mergeR,{}),{})},PathUtils.buildPath=function(targetState){var toParams=targetState.params();return targetState.$state().path.map(function(state){return new PathNode(state).applyRawParams(toParams)})},PathUtils.buildToPath=function(fromPath,targetState){var toPath=PathUtils.buildPath(targetState);return targetState.options().inherit?PathUtils.inheritParams(fromPath,toPath,Object.keys(targetState.params())):toPath},PathUtils.applyViewConfigs=function($view,path,states){path.filter(function(node){return inArray(states,node.state)}
1).forEach(function(node){var viewDecls=values(node.state.views||{}),subPath=PathUtils.subPath(path,function(n){return n===node}),viewConfigs=viewDecls.map(function(view){return $view.createViewConfig(subPath,view)});node.views=viewConfigs.reduce(unnestR,[])})},PathUtils.inheritParams=function(fromPath,toPath,toKeys){void 0===toKeys&&(toKeys=[]);var noInherit=fromPath.map(function(node){return node.paramSchema}).reduce(unnestR,[]).filter(function(param){return!param.inherit}).map(prop("id"));return toPath.map(function(toNode){var toParamVals=extend({},toNode&&toNode.paramValues),incomingParamVals=pick(toParamVals,toKeys);toParamVals=omit(toParamVals,toKeys);var path,state,node,fromParamVals=omit((path=fromPath,state=toNode.state,node=find(path,propEq("state",state)),extend({},node&&node.paramValues)||{}),noInherit),ownParamVals=extend(toParamVals,fromParamVals,incomingParamVals);return new PathNode(toNode.state).applyRawParams(ownParamVals)})},PathUtils.treeChanges=function(fromPath,toPath,reloadState){for(var node1,node2,from,retained,exiting,entering,max=Math.min(fromPath.length,toPath.length),keep=0;keep<max&&fromPath[keep].state!==reloadState&&(node1=fromPath[keep],node2=toPath[keep],node1.equals(node2,PathUtils.nonDynamicParams));)keep++;retained=(from=fromPath).slice(0,keep),exiting=from.slice(keep);var retainedWithToParams=retained.map(function(retainedNode,idx){var cloned=retainedNode.clone();return cloned.paramValues=toPath[idx].paramValues,cloned});return entering=toPath.slice(keep),{from:from,to:retainedWithToParams.concat(entering),retained:retained,retainedWithToParams:retainedWithToParams,exiting:exiting,entering:entering}},PathUtils.matching=function(pathA,pathB,paramsFn){var done=!1;return arrayTuples(pathA,pathB).reduce(function(matching,_a){var nodeA=_a[0],nodeB=_a[1];return(done=done||!nodeA.equals(nodeB,paramsFn))?matching:matching.concat(nodeA)},[])},PathUtils.equals=function(pathA,pathB,paramsFn){return pathA.length===pathB.length&&PathUtils.matching(pathA,pathB,paramsFn).length===pathA.length},PathUtils.subPath=function(path,predicate){var node=find(path,predicate),elementIdx=path.indexOf(node);return-1===elementIdx?void 0:path.slice(0,elementIdx+1)},PathUtils.nonDynamicParams=function(node){return node.state.parameters({inherit:!1}).filter(function(param){return!param.dynamic})},PathUtils.paramValues=function(path){return path.reduce(function(acc,node){return extend(acc,node.paramValues)},{})},PathUtils}(),resolvePolicies={when:{LAZY:"LAZY",EAGER:"EAGER"},async:{WAIT:"WAIT",NOWAIT:"NOWAIT",RXWAIT:"RXWAIT"}},defaultResolvePolicy={when:"LAZY",async:"WAIT"},Resolvable=function(){function Resolvable(arg1,resolveFn,deps,policy,data){if(this.resolved=!1,this.promise=void 0,arg1 instanceof Resolvable)extend(this,arg1);else if(isFunction(resolveFn)){if(isNullOrUndefined(arg1))throw new Error("new Resolvable(): token argument is required");if(!isFunction(resolveFn))throw new Error("new Resolvable(): resolveFn argument must be a function");this.token=arg1,this.policy=policy,this.resolveFn=resolveFn,this.deps=deps||[],this.data=data,this.resolved=void 0!==data,this.promise=this.resolved?services.$q.when(this.data):void 0}else if(isObject(arg1)&&arg1.token&&(arg1.hasOwnProperty("resolveFn")||arg1.hasOwnProperty("data"))){var literal=arg1;return new Resolvable(literal.token,literal.resolveFn,literal.deps,literal.policy,literal.data)}}return Resolvable.prototype.getPolicy=function(state){var thisPolicy=this.policy||{},statePolicy=state&&state.resolvePolicy||{};return{when:thisPolicy.when||statePolicy.when||defaultResolvePolicy.when,async:thisPolicy.async||statePolicy.async||defaultResolvePolicy.async}},Resolvable.prototype.resolve=function(resolveContext,trans){var _this=this,$q=services.$q,node=resolveContext.findNode(this),state=node&&node.state,maybeWaitForRx="RXWAIT"===this.getPolicy(state).async?function(observable$){var cached=observable$.cache(1);return cached.take(1).toPromise().then(function(){return cached})}:identity;return this.promise=$q.when().then(function(){return $q.all(resolveContext.getDependencies(_this).map(function(resolvable){return resolvable.get(resolveContext,trans)}))}).then(function(resolvedDeps){return _this.resolveFn.apply(null,resolvedDeps)}).then(maybeWaitForRx).then(function(resolvedValue){return _this.data=resolvedValue,_this.resolved=!0,_this.resolveFn=null,trace.traceResolvableResolved(_this,trans),_this.data})},Resolvable.prototype.get=function(resolveContext,trans){return this.promise||this.resolve(resolveContext,trans)},Resolvable.prototype.toString=function(){return"Resolvable(token: "+stringify(this.token)+", requires: ["+this.deps.map(stringify)+"])"},Resolvable.prototype.clone=function(){return new Resolvable(this)},Resolvable.fromData=function(token,data){return new Resolvable(token,function(){return data},null,null,data)},Resolvable}(),whens=resolvePolicies.when,ALL_WHENS=[whens.EAGER,whens.LAZY],EAGER_WHENS=[whens.EAGER],ResolveContext=function(){function ResolveContext(_path){this._path=_path}return ResolveContext.prototype.getTokens=function(){return this._path.reduce(function(acc,node){return acc.concat(node.resolvables.map(function(r){return r.token}))},[]).reduce(uniqR,[])},ResolveContext.prototype.getResolvable=function(token){return tail(this._path.map(function(node){return node.resolvables}).reduce(unnestR,[]).filter(function(r){return r.token===token}))},ResolveContext.prototype.getPolicy=function(resolvable){var node=this.findNode(resolvable);return resolvable.getPolicy(node.state)},ResolveContext.prototype.subContext=function(state){return new ResolveContext(PathUtils.subPath(this._path,function(node){return node.state===state}))},ResolveContext.prototype.addResolvables=function(newResolvables,state){var node=find(this._path,propEq("state",state)),keys=new
1Resolvables.map(function(r){return r.token});node.resolvables=node.resolvables.filter(function(r){return-1===keys.indexOf(r.token)}).concat(newResolvables)},ResolveContext.prototype.resolvePath=function(when,trans){var _this=this;void 0===when&&(when="LAZY");var matchedWhens=(inArray(ALL_WHENS,when)?when:"LAZY")===resolvePolicies.when.EAGER?EAGER_WHENS:ALL_WHENS;trace.traceResolvePath(this._path,when,trans);var matchesPolicy=function(acceptedVals,whenOrAsync){return function(resolvable){return inArray(acceptedVals,_this.getPolicy(resolvable)[whenOrAsync])}},promises=this._path.reduce(function(acc,node){var nodeResolvables=node.resolvables.filter(matchesPolicy(matchedWhens,"when")),nowait=nodeResolvables.filter(matchesPolicy(["NOWAIT"],"async")),wait=nodeResolvables.filter(not(matchesPolicy(["NOWAIT"],"async"))),subContext=_this.subContext(node.state),getResult=function(r){return r.get(subContext,trans).then(function(value){return{token:r.token,value:value}})};return nowait.forEach(getResult),acc.concat(wait.map(getResult))},[]);return services.$q.all(promises)},ResolveContext.prototype.injector=function(){return this._injector||(this._injector=new UIInjectorImpl(this))},ResolveContext.prototype.findNode=function(resolvable){return find(this._path,function(node){return inArray(node.resolvables,resolvable)})},ResolveContext.prototype.getDependencies=function(resolvable){var _this=this,node=this.findNode(resolvable),availableResolvables=(PathUtils.subPath(this._path,function(x){return x===node})||this._path).reduce(function(acc,_node){return acc.concat(_node.resolvables)},[]).filter(function(res){return res!==resolvable});return resolvable.deps.map(function(token){var matching=availableResolvables.filter(function(r){return r.token===token});if(matching.length)return tail(matching);var fromInjector=_this.injector().getNative(token);if(isUndefined(fromInjector))throw new Error("Could not find Dependency Injection token: "+stringify(token));return new Resolvable(token,function(){return fromInjector},[],fromInjector)})},ResolveContext}(),UIInjectorImpl=function(){function UIInjectorImpl(context){this.context=context,this.native=this.get("Native Injector")||services.$injector}return UIInjectorImpl.prototype.get=function(token){var resolvable=this.context.getResolvable(token);if(resolvable){if("NOWAIT"===this.context.getPolicy(resolvable).async)return resolvable.get(this.context);if(!resolvable.resolved)throw new Error("Resolvable async .get() not complete:"+stringify(resolvable.token));return resolvable.data}return this.getNative(token)},UIInjectorImpl.prototype.getAsync=function(token){var resolvable=this.context.getResolvable(token);return resolvable?resolvable.get(this.context):services.$q.when(this.native.get(token))},UIInjectorImpl.prototype.getNative=function(token){return this.native&&this.native.get(token)},UIInjectorImpl}();function nameBuilder(state){return state.name}function selfBuilder(state){return state.self.$$state=function(){return state},state.self}function dataBuilder(state){return state.parent&&state.parent.data&&(state.data=state.self.data=inherit(state.parent.data,state.data)),state.data}var getUrlBuilder=function($urlMatcherFactoryProvider,root$$1){return function(stateObject){var state=stateObject.self;state&&state.url&&state.name&&state.name.match(/\.\*\*$/)&&(state.url+="{remainder:any}");var parent=stateObject.parent,parsed=function(url){if(!isString(url))return!1;var root$$1="^"===url.charAt(0);return{val:root$$1?url.substring(1):url,root:root$$1}}(state.url),url=parsed?$urlMatcherFactoryProvider.compile(parsed.val,{state:state}):state.url;if(!url)return null;if(!$urlMatcherFactoryProvider.isMatcher(url))throw new Error("Invalid url '"+url+"' in state '"+stateObject+"'");return parsed&&parsed.root?url:(parent&&parent.navigable||root$$1()).url.append(url)}};function pathBuilder(state){return state.parent?state.parent.path.concat(state):[state]}function includesBuilder(state){var includes=state.parent?extend({},state.parent.includes):{};return includes[state.name]=!0,includes}function resolvablesBuilder(state){var resolveObj,resolvePolicies,getToken=function(p){return p.provide||p.token},literal2Resolvable=pattern([[prop("resolveFn"),function(p){return new Resolvable(getToken(p),p.resolveFn,p.deps,p.policy)}],[prop("useFactory"),function(p){return new Resolvable(getToken(p),p.useFactory,p.deps||p.dependencies,p.policy)}],[prop("useClass"),function(p){return new Resolvable(getToken(p),function(){return new p.useClass},[],p.policy)}],[prop("useValue"),function(p){return new Resolvable(getToken(p),function(){return p.useValue},[],p.policy,p.useValue)}],[prop("useExisting"),function(p){return new Resolvable(getToken(p),identity,[p.useExisting],p.policy)}]]),tuple2Resolvable=pattern([[pipe(prop("val"),isString),function(tuple){return new Resolvable(tuple.token,identity,[tuple.val],tuple.policy)}],[pipe(prop("val"),isArray),function(tuple){return new Resolvable(tuple.token,tail(tuple.val),tuple.val.slice(0,-1),tuple.policy)}],[pipe(prop("val"),isFunction),function(tuple){return new Resolvable(tuple.token,tuple.val,(fn=tuple.val,$injector=services.$injector,fn.$inject||$injector&&$injector.annotate(fn,$injector.strictDi)||"deferred"),tuple.policy);var fn,$injector}]]),item2Resolvable=pattern([[is(Resolvable),function(r){return r}],[function(obj){return!(!obj.token||!obj.resolveFn)},literal2Resolvable],[function(obj){return!(!obj.provide&&!obj.token||!(obj.useValue||obj.useFactory||obj.useExisting||obj.useClass))},literal2Resolvable],[function(obj){return!!(obj&&obj.val&&(isString(obj.val)||isArray(obj.val)||isFunction(obj.val)))},tuple2Resolvable],[val(!0),function(obj){throw new Error("Invalid resolve value: "+stringify(obj))}]]),decl=state.resolve;return(isArray(decl)?decl:(resolveObj=decl,resolvePolicies=state.resolvePolicy||{},Object.keys(resolveObj||{}).map(function(token){return{token:token,val:resolveObj[token],deps:void 0,policy:resolvePolicies[token]}}))).map(item2Resolvable)}var TransitionHookPhase,TransitionHookScope,StateBuilder=function(){function StateBuilder(matcher,urlMatcherFactory){this.matcher=matcher;var paramFactory,self=this,root$$1=function(){return matcher.find("")},isRoot=function(state){return""===state.name};this.builders={name:[nameBuilder],self:[selfBuilder],parent:[function(state){return isRoot(state)?null:matcher.find(self.parentName(state))||root$$1()}],data:[dataBuilder],url:[getUrlBuilder(urlMatcherFactory,root$$1)],navigable:[function(isRoot){return function(state){return!isRoot(state)&&state.url?state:state.parent?state.parent.navigable:null}}(isRoot)],params:[(paramFactory=urlMatcherFactory.paramFactory,function(state){var urlParam
vendor: 5,733 bytes, line 1
1s=state.url&&state.url.parameters({inherit:!1})||[],nonUrlParams=values(mapObj(omit(state.params||{},urlParams.map(prop("id"))),function(config,id){return paramFactory.fromConfig(id,null,state.self)}));return urlParams.concat(nonUrlParams).map(function(p){return[p.id,p]}).reduce(applyPairs,{})})],views:[],path:[pathBuilder],includes:[includesBuilder],resolvables:[resolvablesBuilder]}}return StateBuilder.prototype.builder=function(name,fn){var builders=this.builders,array=builders[name]||[];return isString(name)&&!isDefined(fn)?1<array.length?array:array[0]:isString(name)&&isFunction(fn)?(builders[name]=array,builders[name].push(fn),function(){return builders[name].splice(builders[name].indexOf(fn,1))&&null}):void 0},StateBuilder.prototype.build=function(state){var matcher=this.matcher,builders=this.builders,parent=this.parentName(state);if(parent&&!matcher.find(parent,void 0,!1))return null;for(var key in builders)if(builders.hasOwnProperty(key)){var chain=builders[key].reduce(function(parentFn,step){return function(_state){return step(_state,parentFn)}},noop);state[key]=chain(state)}return state},StateBuilder.prototype.parentName=function(state){var name=state.name||"",segments=name.split(".");if("**"===segments.pop()&&segments.pop(),segments.length){if(state.parent)throw new Error("States that specify the 'parent:' property should not have a '.' in their name ("+name+")");return segments.join(".")}return state.parent?isString(state.parent)?state.parent:state.parent.name:""},StateBuilder.prototype.name=function(state){var name=state.name;if(-1!==name.indexOf(".")||!state.parent)return name;var parentName=isString(state.parent)?state.parent:state.parent.name;return parentName?parentName+"."+name:name},StateBuilder}(),StateObject=function(){function StateObject(config){return StateObject.create(config||{})}return StateObject.create=function(stateDecl){stateDecl=StateObject.isStateClass(stateDecl)?new stateDecl:stateDecl;var state=inherit(inherit(stateDecl,StateObject.prototype));return stateDecl.$$state=function(){return state},state.self=stateDecl,state.__stateObjectCache={nameGlob:Glob.fromString(state.name)},state},StateObject.prototype.is=function(ref){return this===ref||this.self===ref||this.fqn()===ref},StateObject.prototype.fqn=function(){if(!(this.parent&&this.parent instanceof this.constructor))return this.name;var name=this.parent.fqn();return name?name+"."+this.name:this.name},StateObject.prototype.root=function(){return this.parent&&this.parent.root()||this},StateObject.prototype.parameters=function(opts){return((opts=defaults(opts,{inherit:!0,matchingKeys:null})).inherit&&this.parent&&this.parent.parameters()||[]).concat(values(this.params)).filter(function(param){return!opts.matchingKeys||opts.matchingKeys.hasOwnProperty(param.id)})},StateObject.prototype.parameter=function(id,opts){return void 0===opts&&(opts={}),this.url&&this.url.parameter(id,opts)||find(values(this.params),propEq("id",id))||opts.inherit&&this.parent&&this.parent.parameter(id)},StateObject.prototype.toString=function(){return this.fqn()},StateObject.isStateClass=function(stateDecl){return isFunction(stateDecl)&&!0===stateDecl.__uiRouterState},StateObject.isState=function(obj){return isObject(obj.__stateObjectCache)},StateObject}(),StateMatcher=function(){function StateMatcher(_states){this._states=_states}return StateMatcher.prototype.isRelative=function(stateName){return 0===(stateName=stateName||"").indexOf(".")||0===stateName.indexOf("^")},StateMatcher.prototype.find=function(stateOrName,base,matchGlob){if(void 0===matchGlob&&(matchGlob=!0),stateOrName||""===stateOrName){var isStr=isString(stateOrName),name=isStr?stateOrName:stateOrName.name;this.isRelative(name)&&(name=this.resolvePath(name,base));var state=this._states[name];if(state&&(isStr||!(isStr||state!==stateOrName&&state.self!==stateOrName)))return state;if(isStr&&matchGlob){var matches=values(this._states).filter(function(_state){return _state.__stateObjectCache.nameGlob&&_state.__stateObjectCache.nameGlob.matches(name)});return 1<matches.length&&console.log("stateMatcher.find: Found multiple matches for "+name+" using glob: ",matches.map(function(match){return match.name})),matches[0]}}},StateMatcher.prototype.resolvePath=function(name,base){if(!base)throw new Error("No reference point given for path '"+name+"'");for(var baseState=this.find(base),splitName=name.split("."),pathLength=splitName.length,i=0,current=baseState;i<pathLength;i++)if(""!==splitName[i]||0!==i){if("^"!==splitName[i])break;if(!current.parent)throw new Error("Path '"+name+"' not valid for state '"+baseState.name+"'");current=current.parent}else current=baseState;var relName=splitName.slice(i).join(".");return current.name+(current.name&&relName?".":"")+relName},StateMatcher}(),StateQueueManager=function(){function StateQueueManager(router,states,builder,listeners){this.router=router,this.states=states,this.builder=builder,this.listeners=listeners,this.queue=[]}return StateQueueManager.prototype.dispose=function(){this.queue=[]},StateQueueManager.prototype.register=function(stateDecl){var queue=this.queue,state=StateObject.create(stateDecl),name=state.name;if(!isString(name))throw new Error("State must have a valid name");if(this.states.hasOwnProperty(name)||inArray(queue.map(prop("name")),name))throw new Error("State '"+name+"' is already defined");return queue.push(state),this.flush(),state},StateQueueManager.prototype.flush=function(){for(var _this=this,queue=this.queue,states=this.states,builder=this.builder,registered=[],orphans=[],previousQueueLength={},getState=function(name){return _this.states.hasOwnProperty(name)&&_this.states[name]},notifyListeners=function(){registered.length&&_this.listeners.forEac
1h(function(listener){return listener("registered",registered.map(function(s){return s.self}))})};0<queue.length;){var state=queue.shift(),name_1=state.name,result=builder.build(state),orphanIdx=orphans.indexOf(state);if(result){var existingState=getState(name_1);if(existingState&&existingState.name===name_1)throw new Error("State '"+name_1+"' is already defined");var existingFutureState=getState(name_1+".**");existingFutureState&&this.router.stateRegistry.deregister(existingFutureState),states[name_1]=state,this.attachRoute(state),0<=orphanIdx&&orphans.splice(orphanIdx,1),registered.push(state)}else{var prev=previousQueueLength[name_1];if(previousQueueLength[name_1]=queue.length,0<=orphanIdx&&prev===queue.length)return queue.push(state),notifyListeners(),states;orphanIdx<0&&orphans.push(state),queue.push(state)}}return notifyListeners(),states},StateQueueManager.prototype.attachRoute=function(state){if(!state.abstract&&state.url){var rulesApi=this.router.urlService.rules;rulesApi.rule(rulesApi.urlRuleFactory.create(state))}},StateQueueManager}(),StateRegistry=function(){function StateRegistry(router){this.router=router,this.states={},this.listeners=[],this.matcher=new StateMatcher(this.states),this.builder=new StateBuilder(this.matcher,router.urlMatcherFactory),this.stateQueue=new StateQueueManager(router,this.states,this.builder,this.listeners),this._registerRoot()}return StateRegistry.prototype._registerRoot=function(){(this._root=this.stateQueue.register({name:"",url:"^",views:null,params:{"#":{value:null,type:"hash",dynamic:!0}},abstract:!0})).navigable=null},StateRegistry.prototype.dispose=function(){var _this=this;this.stateQueue.dispose(),this.listeners=[],this.get().forEach(function(state){return _this.get(state)&&_this.deregister(state)})},StateRegistry.prototype.onStatesChanged=function(listener){return this.listeners.push(listener),function(){removeFrom(this.listeners)(listener)}.bind(this)},StateRegistry.prototype.root=function(){return this._root},StateRegistry.prototype.register=function(stateDefinition){return this.stateQueue.register(stateDefinition)},StateRegistry.prototype._deregisterTree=function(state){var _this=this,all$$1=this.get().map(function(s){return s.$$state()}),getChildren=function(states){var _children=all$$1.filter(function(s){return-1!==states.indexOf(s.parent)});return 0===_children.length?_children:_children.concat(getChildren(_children))},children=getChildren([state]),deregistered=[state].concat(children).reverse();return deregistered.forEach(function(_state){var rulesApi=_this.router.urlService.rules;rulesApi.rules().filter(propEq("state",_state)).forEach(function(rule){return rulesApi.removeRule(rule)}),delete _this.states[_state.name]}),deregistered},StateRegistry.prototype.deregister=function(stateOrName){var _state=this.get(stateOrName);if(!_state)throw new Error("Can't deregister state; not found: "+stateOrName);var deregisteredStates=this._deregisterTree(_state.$$state());return this.listeners.forEach(function(listener){return listener("deregistered",deregisteredStates.map(function(s){return s.self}))}),deregisteredStates},StateRegistry.prototype.get=function(stateOrName,base){var _this=this;if(0===arguments.length)return Object.keys(this.states).map(function(name){return _this.states[name].self});var found=this.matcher.find(stateOrName,base);return found&&found.self||null},StateRegistry.prototype.decorator=function(name,func){return this.builder.builder(name,func)},StateRegistry}();(TransitionHookPhase=exports.TransitionHookPhase||(exports.TransitionHookPhase={}))[TransitionHookPhase.CREATE=0]="CREATE",TransitionHookPhase[TransitionHookPhase.BEFORE=1]="BEFORE",TransitionHookPhase[TransitionHookPhase.RUN=2]="RUN",TransitionHookPhase[TransitionHookPhase.SUCCESS=3]="SUCCESS",TransitionHookPhase[TransitionHookPhase.ERROR=4]="ERROR",(TransitionHookScope=exports.TransitionHookScope||(exports.TransitionHookScope={}))[TransitionHookScope.TRANSITION=0]="TRANSITION",TransitionHookScope[TransitionHookScope.STATE=1]="STATE";var defaultOptions={current:noop,transition:null,traceData:{},bind:null},TransitionHook=function(){function TransitionHook(transition,stateContext,registeredHook,options){var _this=this;this.transition=transition,this.stateContext=stateContext,this.registeredHook=registeredHook,this.options=options,this.isSuperseded=function(){return _this.type.hookPhase===exports.TransitionHookPhase.RUN&&!_this.options.transition.isActive()},this.options=defaults(options,defaultOptions),this.type=registeredHook.eventType}return TransitionHook.chain=function(hooks,waitFor){return hooks.reduce(function(prev,nextHook){return prev.then(function(){return nextHook.invokeHook()})},waitFor||services.$q.when())},TransitionHook.invokeHooks=function(hooks,doneCallback){for(var idx=0;idx<hooks.length;idx++){var hookResult=hooks[idx].invokeHook();
1if(isPromise(hookResult)){var remainingHooks=hooks.slice(idx+1);return TransitionHook.chain(remainingHooks,hookResult).then(doneCallback)}}return doneCallback()},TransitionHook.runAllHooks=function(hooks){hooks.forEach(function(hook){return hook.invokeHook()})},TransitionHook.prototype.logError=function(err){this.transition.router.stateService.defaultErrorHandler()(err)},TransitionHook.prototype.invokeHook=function(){var _this=this,hook=this.registeredHook;if(!hook._deregistered){var notCurrent=this.getNotCurrentRejection();if(notCurrent)return notCurrent;var options=this.options;trace.traceHookInvocation(this,this.transition,options);var handleError=function(err){return hook.eventType.getErrorHandler(_this)(err)},handleResult=function(result){return hook.eventType.getResultHandler(_this)(result)};try{var result=hook.callback.call(options.bind,_this.transition,_this.stateContext);return!this.type.synchronous&&isPromise(result)?result.catch(function(err){return Rejection.normalize(err).toPromise()}).then(handleResult,handleError):handleResult(result)}catch(err){return handleError(Rejection.normalize(err))}finally{hook.invokeLimit&&++hook.invokeCount>=hook.invokeLimit&&hook.deregister()}}},TransitionHook.prototype.handleHookResult=function(result){var _this=this,notCurrent=this.getNotCurrentRejection();return notCurrent||(isPromise(result)?result.then(function(val$$1){return _this.handleHookResult(val$$1)}):(trace.traceHookResult(result,this.transition,this.options),!1===result?Rejection.aborted("Hook aborted transition").toPromise():is(TargetState)(result)?Rejection.redirected(result).toPromise():void 0))},TransitionHook.prototype.getNotCurrentRejection=function(){var router=this.transition.router;return router._disposed?Rejection.aborted("UIRouter instance #"+router.$id+" has been stopped (disposed)").toPromise():this.transition._aborted?Rejection.aborted().toPromise():this.isSuperseded()?Rejection.superseded(this.options.current()).toPromise():void 0},TransitionHook.prototype.toString=function(){var options=this.options,registeredHook=this.registeredHook;return(parse("traceData.hookType")(options)||"internal")+" context: "+(parse("traceData.context.state.name")(options)||parse("traceData.context")(options)||"unknown")+", "+maxLength(200,fnToString(registeredHook.callback))},TransitionHook.HANDLE_RESULT=function(hook){return function(result){return hook.handleHookResult(result)}},TransitionHook.LOG_REJECTED_RESULT=function(hook){return function(result){isPromise(result)&&result.catch(function(err){return hook.logError(Rejection.normalize(err))})}},TransitionHook.LOG_ERROR=function(hook){return function(error){return hook.logError(error)}},TransitionHook.REJECT_ERROR=function(hook){return function(error){return silentRejection(error)}},TransitionHook.THROW_ERROR=function(hook){return function(error){throw error}},TransitionHook}();function matchState(state,criterion){var toMatch=isString(criterion)?[criterion]:criterion;return!!(isFunction(toMatch)?toMatch:function(_state){for(var globStrings=toMatch,i=0;i<globStrings.length;i++){var glob=new Glob(globStrings[i]);if(glob&&glob.matches(_state.name)||!glob&&globStrings[i]===_state.name)return!0}return!1})(state)}var RegisteredHook=function(){function RegisteredHook(tranSvc,eventType,callback,matchCriteria,removeHookFromRegistry,options){void 0===options&&(options={}),this.tranSvc=tranSvc,this.eventType=eventType,this.callback=callback,this.matchCriteria=matchCriteria,this.removeHookFromRegistry=removeHookFromRegistry,this.invokeCount=0,this._deregistered=!1,this.priority=options.priority||0,this.bind=options.bind||null,this.invokeLimit=options.invokeLimit}return RegisteredHook.prototype._matchingNodes=function(nodes,criterion){if(!0===criterion)return nodes;var matching=nodes.filter(function(node){return matchState(node.state,criterion)});return matching.length?matching:null},RegisteredHook.prototype._getDefaultMatchCriteria=function(){return mapObj(this.tranSvc._pluginapi._getPathTypes(),function(){return!0})},RegisteredHook.prototype._getMatchingNodes=function(treeChanges){var _this=this,criteria=extend(this._getDefaultMatchCriteria(),this.matchCriteria);return values(this.tranSvc._pluginapi._getPathTypes()).reduce(function(m
1n,pathtype){var isStateHook=pathtype.scope===exports.TransitionHookScope.STATE,path=treeChanges[pathtype.name]||[],nodes=isStateHook?path:[tail(path)];return mn[pathtype.name]=_this._matchingNodes(nodes,criteria[pathtype.name]),mn},{})},RegisteredHook.prototype.matches=function(treeChanges){var matches=this._getMatchingNodes(treeChanges);return values(matches).every(identity)?matches:null},RegisteredHook.prototype.deregister=function(){this.removeHookFromRegistry(this),this._deregistered=!0},RegisteredHook}();function makeEvent(registry,transitionService,eventType){var hooks=(registry._registeredHooks=registry._registeredHooks||{})[eventType.name]=[],removeHookFn=removeFrom(hooks);function hookRegistrationFn(matchObject,callback,options){void 0===options&&(options={});var registeredHook=new RegisteredHook(transitionService,eventType,callback,matchObject,removeHookFn,options);return hooks.push(registeredHook),registeredHook.deregister.bind(registeredHook)}return registry[eventType.name]=hookRegistrationFn}var HookBuilder=function(){function HookBuilder(transition){this.transition=transition}return HookBuilder.prototype.buildHooksForPhase=function(phase){var _this=this;return this.transition.router.transitionService._pluginapi._getEvents(phase).map(function(type){return _this.buildHooks(type)}).reduce(unnestR,[]).filter(identity)},HookBuilder.prototype.buildHooks=function(hookType){var transition=this.transition,treeChanges=transition.treeChanges(),matchingHooks=this.getMatchingHooks(hookType,treeChanges);if(!matchingHooks)return[];var baseHookOptions={transition:transition,current:transition.options().current};return matchingHooks.map(function(hook){return hook.matches(treeChanges)[hookType.criteriaMatchPath.name].map(function(node){var _options=extend({bind:hook.bind,traceData:{hookType:hookType.name,context:node}},baseHookOptions),state=hookType.criteriaMatchPath.scope===exports.TransitionHookScope.STATE?node.state.self:null,transitionHook=new TransitionHook(transition,state,hook,_options);return{hook:hook,node:node,transitionHook:transitionHook}})}).reduce(unnestR,[]).sort(function(reverseDepthSort){void 0===reverseDepthSort&&(reverseDepthSort=!1);return function(l,r){var factor=reverseDepthSort?-1:1,depthDelta=(l.node.state.path.length-r.node.state.path.length)*factor;return 0!==depthDelta?depthDelta:r.hook.priority-l.hook.priority}}(hookType.reverseSort)).map(function(tuple){return tuple.transitionHook})},HookBuilder.prototype.getMatchingHooks=function(hookType,treeChanges){var isCreate=hookType.hookPhase===exports.TransitionHookPhase.CREATE,$transitions=this.transition.router.transitionService;return(isCreate?[$transitions]:[this.transition,$transitions]).map(function(reg){return reg.getHooks(hookType.name)}).filter(assertPredicate(isArray,"broken event named: "+hookType.name)).reduce(unnestR,[]).filter(function(hook){return hook.matches(treeChanges)})},HookBuilder}();var stateSelf=prop("self"),Transition=function(){function Transition(fromPath,targetState,router){var _this=this;if(this._deferred=services.$q.defer(),this.promise=this._deferred.promise,this._registeredHooks={},this._hookBuilder=new HookBuilder(this),this.isActive=function(){return _this.router.globals.transition===_this},this.router=router,!(this._targetState=targetState).valid())throw new Error(targetState.error());this._options=extend({current:val(this)},targetState.options()),this.$id=router.transitionService._transitionCount++;var toPath=PathUtils.buildToPath(fromPath,targetState);this._treeChanges=PathUtils.treeChanges(fromPath,toPath,this._options.reloadState),this.createTransitionHookRegFns();var onCreateHooks=this._hookBuilder.buildHooksForPhase(exports.TransitionHookPhase.CREATE);TransitionHook.invokeHooks(onCreateHooks,function(){return null}),this.applyViewConfigs(router)}return Transition.prototype.onBefore=function(criteria,callback,options){},Transition.prototype.onStart=function(criteria,callback,options){},Transition.prototype.onExit=function(criteria,callback,options){},Transition.prototype.onRetain=function(criteria,callback,options){},Transition.prototype.onEnter=function(criteria,callback,options){},Transition.prototype.onFinish=function(criteria,callback,options){},Transition.prototype.onSuccess=function(criteria,callback,options){},Transition.prototype.onError=function(criteria,callback,options){},Transition.prototype.createTransitionHookRegFns=function(){var _this=this;this.router.transitionService._pluginapi._getEvents().filter(function(type){return type.hookPhase!==exports.TransitionHookPhase.CREATE}
vendor: 4,382 bytes, line 1
1).forEach(function(type){return makeEvent(_this,_this.router.transitionService,type)})},Transition.prototype.getHooks=function(hookName){return this._registeredHooks[hookName]},Transition.prototype.applyViewConfigs=function(router){var enteringStates=this._treeChanges.entering.map(function(node){return node.state});PathUtils.applyViewConfigs(router.transitionService.$view,this._treeChanges.to,enteringStates)},Transition.prototype.$from=function(){return tail(this._treeChanges.from).state},Transition.prototype.$to=function(){return tail(this._treeChanges.to).state},Transition.prototype.from=function(){return this.$from().self},Transition.prototype.to=function(){return this.$to().self},Transition.prototype.targetState=function(){return this._targetState},Transition.prototype.is=function(compare){return compare instanceof Transition?this.is({to:compare.$to().name,from:compare.$from().name}):!(compare.to&&!matchState(this.$to(),compare.to)||compare.from&&!matchState(this.$from(),compare.from))},Transition.prototype.params=function(pathname){return void 0===pathname&&(pathname="to"),Object.freeze(this._treeChanges[pathname].map(prop("paramValues")).reduce(mergeR,{}))},Transition.prototype.paramsChanged=function(){var fromParams=this.params("from"),toParams=this.params("to"),allParamDescriptors=[].concat(this._treeChanges.to).concat(this._treeChanges.from).map(function(pathNode){return pathNode.paramSchema}).reduce(flattenR,[]).reduce(uniqR,[]);return Param.changed(allParamDescriptors,fromParams,toParams).reduce(function(changedValues,descriptor){return changedValues[descriptor.id]=toParams[descriptor.id],changedValues},{})},Transition.prototype.injector=function(state,pathName){void 0===pathName&&(pathName="to");var path=this._treeChanges[pathName];return state&&(path=PathUtils.subPath(path,function(node){return node.state===state||node.state.name===state})),new ResolveContext(path).injector()},Transition.prototype.getResolveTokens=function(pathname){return void 0===pathname&&(pathname="to"),new ResolveContext(this._treeChanges[pathname]).getTokens()},Transition.prototype.addResolvable=function(resolvable,state){void 0===state&&(state=""),resolvable=is(Resolvable)(resolvable)?resolvable:new Resolvable(resolvable);var stateName="string"==typeof state?state:state.name,topath=this._treeChanges.to,targetNode=find(topath,function(node){return node.state.name===stateName});new ResolveContext(topath).addResolvables([resolvable],targetNode.state)},Transition.prototype.redirectedFrom=function(){return this._options.redirectedFrom||null},Transition.prototype.originalTransition=function(){var rf=this.redirectedFrom();return rf&&rf.originalTransition()||this},Transition.prototype.options=function(){return this._options},Transition.prototype.entering=function(){return map(this._treeChanges.entering,prop("state")).map(stateSelf)},Transition.prototype.exiting=function(){return map(this._treeChanges.exiting,prop("state")).map(stateSelf).reverse()},Transition.prototype.retained=function(){return map(this._treeChanges.retained,prop("state")).map(stateSelf)},Transition.prototype.views=function(pathname,state){void 0===pathname&&(pathname="entering");var path=this._treeChanges[pathname];return(path=state?path.filter(propEq("state",state)):path).map(prop("views")).filter(identity).reduce(unnestR,[])},Transition.prototype.treeChanges=function(pathname){return pathname?this._treeChanges[pathname]:this._treeChanges},Transition.prototype.redirect=function(targetState){for(var redirects=1,trans=this;null!=(trans=trans.redirectedFrom());)if(20<++redirects)throw new Error("Too many consecutive Transition redirects (20+)");var redirectOpts={redirectedFrom:this,source:"redirect"};"url"===this.options().source&&!1!==targetState.options().location&&(redirectOpts.location="replace");var newOptions=extend({},this.options(),targetState.options(),redirectOpts);targetState=targetState.withOptions(newOptions,!0);var reloadState,newTransition=this.router.transitionService.create(this._treeChanges.from,targetState),originalEnteringNodes=this._treeChanges.entering,redirectEnteringNodes=newTransition._treeChanges.entering;return PathUtils.matching(redirectEnteringNodes,originalEnteringNodes,PathUtils.nonDynamicParams).filter(not((reloadState=targetState.options().reloadState,function(node){return reloadState&&node.state.includes[reloadState.name]}
1))).forEach(function(node,idx){node.resolvables=originalEnteringNodes[idx].resolvables}),newTransition},Transition.prototype._changedParams=function(){var tc=this._treeChanges;if(!this._options.reload&&(!tc.exiting.length&&!tc.entering.length&&tc.to.length===tc.from.length&&!arrayTuples(tc.to,tc.from).map(function(tuple){return tuple[0].state!==tuple[1].state}).reduce(anyTrueR,!1))){var nodeSchemas=tc.to.map(function(node){return node.paramSchema}),_a=[tc.to,tc.from].map(function(path){return path.map(function(x){return x.paramValues})});return arrayTuples(nodeSchemas,_a[0],_a[1]).map(function(_a){var schema=_a[0],toVals=_a[1],fromVals=_a[2];return Param.changed(schema,toVals,fromVals)}).reduce(unnestR,[])}},Transition.prototype.dynamic=function(){var changes=this._changedParams();return!!changes&&changes.map(function(x){return x.dynamic}).reduce(anyTrueR,!1)},Transition.prototype.ignored=function(){return!!this._ignoredReason()},Transition.prototype._ignoredReason=function(){var pending=this.router.globals.transition,reloadState=this._options.reloadState,same=function(pathA,pathB){if(pathA.length!==pathB.length)return!1;var matching=PathUtils.matching(pathA,pathB);return pathA.length===matching.filter(function(node){return!reloadState||!node.state.includes[reloadState.name]}).length},newTC=this.treeChanges(),pendTC=pending&&pending.treeChanges();return pendTC&&same(pendTC.to,newTC.to)&&same(pendTC.exiting,newTC.exiting)?"SameAsPending":0===newTC.exiting.length&&0===newTC.entering.length&&same(newTC.from,newTC.to)?"SameAsCurrent":void 0},Transition.prototype.run=function(){var _this=this,runAllHooks=TransitionHook.runAllHooks,getHooksFor=function(phase){return _this._hookBuilder.buildHooksForPhase(phase)},allBeforeHooks=getHooksFor(exports.TransitionHookPhase.BEFORE);return TransitionHook.invokeHooks(allBeforeHooks,function(){var globals=_this.router.globals;return globals.lastStartedTransitionId=_this.$id,globals.transition=_this,globals.transitionHistory.enqueue(_this),trace.traceTransitionStart(_this),services.$q.when(void 0)}).then(function(){var allRunHooks=getHooksFor(exports.TransitionHookPhase.RUN);return TransitionHook.invokeHooks(allRunHooks,function(){return services.$q.when(void 0)})}).then(function(){trace.traceSuccess(_this.$to(),_this),_this.success=!0,_this._deferred.resolve(_this.to()),runAllHooks(getHooksFor(exports.TransitionHookPhase.SUCCESS))},function(reason){trace.traceError(reason,_this),_this.success=!1,_this._deferred.reject(reason),_this._error=reason,runAllHooks(getHooksFor(exports.TransitionHookPhase.ERROR))}),this.promise},Transition.prototype.valid=function(){return!this.error()||void 0!==this.success},Transition.prototype.abort=function(){isUndefined(this.success)&&(this._aborted=!0)},Transition.prototype.error=function(){var state=this.$to();if(state.self.abstract)return Rejection.invalid("Cannot transition to abstract state '"+state.name+"'");var paramDefs=state.parameters(),values$$1=this.params(),invalidParams=paramDefs.filter(function(param){return!param.validates(values$$1[param.id])});if(invalidParams.length){var invalidValues=invalidParams.map(function(param){return"["+param.id+":"+stringify(values$$1[param.id])+"]"}).join(", "),detail="The following parameter values are not valid for state '"+state.name+"': "+invalidValues;return Rejection.invalid(detail)}return!1===this.success?this._error:void 0},Transition.prototype.toString=function(){var fromStateOrName=this.from(),toStateOrName=this.to(),avoidEmptyHash=function(params){return null!==params["#"]&&void 0!==params["#"]?params:omit(params,["#"])};return"Transition#"+this.$id+"( '"+(isObject(fromStateOrName)?fromStateOrName.name:fromStateOrName)+"'"+stringify(avoidEmptyHash(this._treeChanges.from.map(prop("paramValues")).reduce(mergeR,{})))+" -> "+(this.valid()?"":"(X) ")+"'"+(isObject(toStateOrName)?toStateOrName.name:toStateOrName)+"'"+stringify(avoidEmptyHash(this.params()))+" )"},Transition.diToken=Transition}();function quoteRegExp(str,param){var surroundPattern=["",""],result=str.replace(/[\\\[\]\^$*+?.()|{}]/g,"\\$&");if(!param)return result;switch(param.squash){case!1:surroundPattern=["(",")"+(param.isOptional?"?":"")];break;case!0:result=result.replace(/\/$/,""),surroundPattern=["(?:/(",")|/)?"];break;default:surroundPattern=["("+param.squash+"|",")?"]}return result+surroundPattern[0]+param.type.pattern.source+surroundPattern[1]}var splitOnSlash=splitOnDelim("/"),defaultConfig={state:{params:{}},strict:!0,caseInsensitive:!0},UrlMatcher=function(){function UrlMatcher(pattern$$1,paramTypes,paramFactory,config){var _this=this;this._cache={path:[this]},this._children=[],this._params=[],this._segments=[],this._compiled=[],this.config=config=defaults(config,defaultConfig),this.pattern=pattern$$1;for(var matchArray,details,segment,placeholder=/([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,searchPlaceholder=/([:]?)([\w\[\].-]+)|\{([\w\[\].-]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,patterns=[],last=0,checkParamErrors=function(id){if(!UrlMatcher.nameValidator.test(id))throw new Error("Invalid parameter name '"+id+"' in pattern '"+pattern$$1+"'");if(find(_this._params,propEq("id",id)))throw new Error("Duplicate parameter name '"+id+"' in pattern '"+pattern$$1+"'")},matchDetails=function(m,isSearch){var str,id=m[2]||m[3],regexp=isSearch?m[4]:m[4]||("*"===m[1]?"[\\s\\S]*":null);return{id:id,regexp:regexp,segment:pattern$$1.substring(last,m.index),type:regexp?paramTypes.type(regexp)||(str=regexp,inherit(paramTypes.type(isSearch?"query":"path"),{pattern:new RegExp(str,_this.config.caseInsensitive?"i":void 0)})):null}};(matchArray=placeholder.exec(pattern$$1))&&!(0<=(details=matchDetails(matchArray,!1)).segment.indexOf("?"));
1)checkParamErrors(details.id),this._params.push(paramFactory.fromPath(details.id,details.type,config.state)),this._segments.push(details.segment),patterns.push([details.segment,tail(this._params)]),last=placeholder.lastIndex;var i=(segment=pattern$$1.substring(last)).indexOf("?");if(0<=i){var search=segment.substring(i);if(segment=segment.substring(0,i),0<search.length)for(last=0;matchArray=searchPlaceholder.exec(search);)checkParamErrors((details=matchDetails(matchArray,!0)).id),this._params.push(paramFactory.fromSearch(details.id,details.type,config.state)),last=placeholder.lastIndex}this._segments.push(segment),this._compiled=patterns.map(function(_pattern){return quoteRegExp.apply(null,_pattern)}).concat(quoteRegExp(segment))}return UrlMatcher.encodeDashes=function(str){return encodeURIComponent(str).replace(/-/g,function(c){return"%5C%"+c.charCodeAt(0).toString(16).toUpperCase()})},UrlMatcher.pathSegmentsAndParams=function(matcher){return arrayTuples(matcher._segments,matcher._params.filter(function(p){return p.location===exports.DefType.PATH}).concat(void 0)).reduce(unnestR,[]).filter(function(x){return""!==x&&isDefined(x)})},UrlMatcher.queryParams=function(matcher){return matcher._params.filter(function(p){return p.location===exports.DefType.SEARCH})},UrlMatcher.compare=function(a,b){var weights=function(matcher){return matcher._cache.weights=matcher._cache.weights||function(matcher){return matcher._cache.segments=matcher._cache.segments||matcher._cache.path.map(UrlMatcher.pathSegmentsAndParams).reduce(unnestR,[]).reduce(joinNeighborsR,[]).map(function(x){return isString(x)?splitOnSlash(x):x}).reduce(unnestR,[])}(matcher).map(function(segment){return"/"===segment?1:isString(segment)?2:segment instanceof Param?3:void 0})},weightsA=weights(a),weightsB=weights(b);!function(l,r,padVal){for(var len=Math.max(l.length,r.length);l.length<len;)l.push(padVal);for(;r.length<len;)r.push(padVal)}(weightsA,weightsB,0);var cmp,i,_pairs=arrayTuples(weightsA,weightsB);for(i=0;i<_pairs.length;i++)if(0!==(cmp=_pairs[i][0]-_pairs[i][1]))return cmp;return 0},UrlMatcher.prototype.append=function(url){return this._children.push(url),url._cache={path:this._cache.path.concat(url),parent:this,pattern:null},url},UrlMatcher.prototype.isRoot=function(){return this._cache.path[0]===this},UrlMatcher.prototype.toString=function(){return this.pattern},UrlMatcher.prototype.exec=function(path,search,hash,options){var _this=this;void 0===search&&(search={}),void 0===options&&(options={});var obj,_prop,fn,match=(obj=this._cache,_prop="pattern",fn=function(){return new RegExp(["^",unnest(_this._cache.path.map(prop("_compiled"))).join(""),!1===_this.config.strict?"/?":"","$"].join(""),_this.config.caseInsensitive?"i":void 0)},obj[_prop]=obj[_prop]||fn()).exec(path);if(!match)return null;var reverseString,allParams=this.parameters(),pathParams=allParams.filter(function(param){return!param.isSearch()}),searchParams=allParams.filter(function(param){return param.isSearch()}),nPathSegments=this._cache.path.map(function(urlm){return urlm._segments.length-1}).reduce(function(a,x){return a+x}),values$$1={};if(nPathSegments!==match.length-1)throw new Error("Unbalanced capture group in route '"+this.pattern+"'");for(var i=0;i<nPathSegments;i++){for(var param=pathParams[i],value=match[i+1],j=0;j<param.replace.length;j++)param.replace[j].from===value&&(value=param.replace[j].to);value&&!0===param.array&&(void 0,value=map(map((reverseString=function(str){return str.split("").reverse().join("")})(value).split(/-(?!\\)/),reverseString),function(str){return str.replace(/\\-/g,"-")}).reverse()),isDefined(value)&&(value=param.type.decode(value)),values$$1[param.id]=param.value(value)}return searchParams.forEach(function(param){for(var value=search[param.id],j=0;j<param.replace.length;j++)param.replace[j].from===value&&(value=param.replace[j].to);isDefined(value)&&(value=param.type.decode(value)),values$$1[param.id]=param.value(value)}),hash&&(values$$1["#"]=hash),values$$1},UrlMatcher.prototype.parameters=function(opts){return void 0===opts&&(opts={}),!1===opts.inherit?this._params:unnest(this._cache.path.map(function(matcher){return matcher._params}))},UrlMatcher.prototype.parameter=function(id,opts){var _this=this;void 0===opts&&(opts={});var parent=this._cache.parent;return function(){for(var _i=0,_a=_this._params;_i<_a.length;_i++){var param=_a[_i];if(param.id===id)return param}}()||!1!==opts.inherit&&parent&&parent.parameter(id,opts)||null},UrlMatcher.prototype.validates=function(params){return params=params||{},this.parameters().filter(function(paramDef){return params.hasOwnProperty(paramDef.id)}).map(function(paramDef){return val$$1=params[(param=paramDef).id],!param||param.validates(val$$1);var param,val$$1}).reduce(allTrueR,!0)},UrlMatcher.prototype.format=function(values$$1){void 0===values$$1&&(values$$1={});var urlMatchers=this._cache.path,pathSegmentsAndParams=urlMatchers.map(UrlMatcher.pathSegmentsAndParams).reduce(unnestR,[]).map(function(x){return isString(x)?x:getDetails(x)}),queryParams=urlMatchers.map(UrlMatcher.queryParams).reduce(unnestR,[]).map(getDetails);if(pathSegmentsAndParams.concat(queryParams).filter(function(param){return!1===param.isValid}).length)return null;function getDetails(param){var value=param.value(values$$1[param.id]),isValid=param.validates(value),isDefaultValue=param.isDefaultValue(value),squash=!!isDefaultValue&¶m.squash,encoded=param.type.encode(value);return{param:param,value:value,isValid:isValid,isDefaultValue:isDefaultValue,squash:squash,encoded:encoded}}var pathString=pathSegmentsAndParams.reduce(function(acc,x){if(isString(x))return acc+x;var squash=x.squash,encoded=x.encoded,param=x.param;return!0===squash?acc.match(/\/$/)?acc.slice(0,-1):acc:isString(squash)?acc+squash:!1!==squash?acc:null==encoded?acc:isArray(encoded)?acc+map(encoded,UrlMatcher.encodeDashes
vendor: 24,881 bytes, line 1
1).join("-"):param.raw?acc+encoded:acc+encodeURIComponent(encoded)},""),queryString=queryParams.map(function(paramDetails){var param=paramDetails.param,squash=paramDetails.squash,encoded=paramDetails.encoded,isDefaultValue=paramDetails.isDefaultValue;if(!(null==encoded||isDefaultValue&&!1!==squash)&&(isArray(encoded)||(encoded=[encoded]),0!==encoded.length))return param.raw||(encoded=map(encoded,encodeURIComponent)),encoded.map(function(val$$1){return param.id+"="+val$$1})}).filter(identity).reduce(unnestR,[]).join("&");return pathString+(queryString?"?"+queryString:"")+(values$$1["#"]?"#"+values$$1["#"]:"")},UrlMatcher.nameValidator=/^\w+([-.]+\w+)*(?:\[\])?$/,UrlMatcher}(),__assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++)for(var p in s=arguments[i])Object.prototype.hasOwnProperty.call(s,p)&&(t[p]=s[p]);return t},ParamFactory=function(){function ParamFactory(router){this.router=router}return ParamFactory.prototype.fromConfig=function(id,type,state){return new Param(id,type,exports.DefType.CONFIG,this.router.urlService.config,state)},ParamFactory.prototype.fromPath=function(id,type,state){return new Param(id,type,exports.DefType.PATH,this.router.urlService.config,state)},ParamFactory.prototype.fromSearch=function(id,type,state){return new Param(id,type,exports.DefType.SEARCH,this.router.urlService.config,state)},ParamFactory}(),UrlMatcherFactory=function(){function UrlMatcherFactory(router){var _this=this;this.router=router,this.paramFactory=new ParamFactory(this.router),this.caseInsensitive=function(value){return _this.router.urlService.config.caseInsensitive(value)},this.defaultSquashPolicy=function(value){return _this.router.urlService.config.defaultSquashPolicy(value)},this.strictMode=function(value){return _this.router.urlService.config.strictMode(value)},this.type=function(name,definition,definitionFn){return _this.router.urlService.config.type(name,definition,definitionFn)||_this},extend(this,{UrlMatcher:UrlMatcher,Param:Param})}return UrlMatcherFactory.prototype.compile=function(pattern$$1,config){var urlConfig=this.router.urlService.config,params=config&&!config.state&&config.params;config=params?__assign({state:{params:params}},config):config;var globalConfig={strict:urlConfig._isStrictMode,caseInsensitive:urlConfig._isCaseInsensitive};return new UrlMatcher(pattern$$1,urlConfig.paramTypes,this.paramFactory,extend(globalConfig,config))},UrlMatcherFactory.prototype.isMatcher=function(object){if(!isObject(object))return!1;var result=!0;return forEach(UrlMatcher.prototype,function(val$$1,name){isFunction(val$$1)&&(result=result&&isDefined(object[name])&&isFunction(object[name]))}),result},UrlMatcherFactory.prototype.$get=function(){var urlConfig=this.router.urlService.config;return urlConfig.paramTypes.enqueue=!1,urlConfig.paramTypes._flushTypeQueue(),this},UrlMatcherFactory}(),UrlRuleFactory=function(){function UrlRuleFactory(router){this.router=router}return UrlRuleFactory.prototype.compile=function(str){return this.router.urlMatcherFactory.compile(str)},UrlRuleFactory.prototype.create=function(what,handler){var _this=this,isState=StateObject.isState,makeRule=pattern([[isString,function(_what){return makeRule(_this.compile(_what))}],[is(UrlMatcher),function(_what){return _this.fromUrlMatcher(_what,handler)}],[isState,function(_what){return _this.fromState(_what,_this.router)}],[is(RegExp),function(_what){return _this.fromRegExp(_what,handler)}],[isFunction,function(_what){return new BaseUrlRule(_what,handler)}]]),rule=makeRule(what);if(!rule)throw new Error("invalid 'what' in when()");return rule},UrlRuleFactory.prototype.fromUrlMatcher=function(urlMatcher,handler){var _handler=handler;isString(handler)&&(handler=this.router.urlMatcherFactory.compile(handler)),is(UrlMatcher)(handler)&&(_handler=function(match){return handler.format(match)});var details={urlMatcher:urlMatcher,matchPriority:function(params){var optional=urlMatcher.parameters().filter(function(param){return param.isOptional});return optional.length?optional.filter(function(param){return params[param.id]}).length/optional.length:1e-6},type:"URLMATCHER"};return extend(new BaseUrlRule(function(url){var params=urlMatcher.exec(url.path,url.search,url.hash);return urlMatcher.validates(params)&¶ms},_handler),details)},UrlRuleFactory.prototype.fromState=function(state,router){var details={state:state,type:"STATE"};return extend(this.fromUrlMatcher(state.url,function(match){var $state=router.stateService,globals=router.globals;$state.href(state,match)!==$state.href(globals.current,globals.params)&&$state.transitionTo(state,match,{inherit:!0,source:"url"})}),details)},UrlRuleFactory.prototype.fromRegExp=function(regexp,handler){if(regexp.global||regexp.sticky)throw new Error("Rule RegExp must not be global or sticky");var _handler=isString(handler)?function(match){return handler.replace(/\$(\$|\d{1,2})/,function(m,what){return match["$"===what?0:Number(what)]})}:handler,details={regexp:regexp,type:"REGEXP"};return extend(new BaseUrlRule(function(url){return regexp.exec(url.path)},_handler),details)},UrlRuleFactory.isUrlRule=function(obj){return obj&&["type","match","handler"].every(function(key){return isDefined(obj[key])})},UrlRuleFactory}(),BaseUrlRule=function(match,handler){var _this=this;this.match=match,this.type="RAW",this.matchPriority=function(match){return 0-_this.$id},this.handler=handler||identity};var defaultRuleSortFn,UrlRouter=function(){function UrlRouter(router){var _this=this;this.router=router,this.sync=function(evt){return _this.router.urlService.sync(evt)},this.listen=function(enabled){return _this.router.urlService.listen(enabled)},this.deferIntercept=function(defer){return _this.router.urlService.deferIntercept(defer)},this.match=function(urlParts){return _this.router.urlService.match(urlParts)},this.initial=function(handler){return _this.router.urlService.rules.initial(handler)},this.otherwise=function(handler){return _this.router.urlService.rules.otherwise(handler)},this.removeRule=function(rule){return _this.router.urlService.rules.removeRule(rule)},this.rule=function(rule){return _this.router.urlService.rules.rule(rule)},this.rules=function(){return _this.router.urlService.rules.rules()},this.sort=function(compareFn){return _this.router.urlService.rules.sort(compareFn)},this.when=function(matcher,handler,options){return _this.router.urlService.rules.when(matcher,handler,options)},this.urlRuleFactory=new UrlRuleFactory(router)}return UrlRouter.prototype.update=function(read){var $url=this.router.locationService;read?this.location=$url.url():$url.url()!==this.location&&$url.url(this.location,!0)},UrlRouter.prototype.push=function(urlMatcher,params,options){var replace=options&&!!options.replace;this.router.urlService.url(urlMatcher.format(params||{}),replace)},UrlRouter.prototype.href=function(urlMatcher,params,options){var url=urlMatcher.format(params);if(null==url)return null;options=options||{absolute:!1};var cfg=this.router.urlService.config,isHtml5=cfg.html5Mode();if(isHtml5||null===url||(url="#"+cfg.hashPrefix()+url),url=function(url,isHtml5,absolute,baseHref){return"/"===baseHref?url:isHtml5?stripLastPathElement(baseHref)+url:absolute?baseHref.slice(1)+url:url}(url,isHtml5,options.absolute,cfg.baseHref()),!options.absolute||!url)return url;var slash=!isHtml5&&url?"/":"",cfgPort=cfg.port(),port=80===cfgPort||443===cfgPort?"":":"+cfgPort;return[cfg.protocol(),"://",cfg.host(),port,slash,url].join("")},Object.defineProperty(UrlRouter.prototype,"interceptDeferred",{get:function(){return this.router.urlService.interceptDeferred},enumerable:!0,configurable:!0}),UrlRouter}(),ViewService=function(){function ViewService(router){var _this=this;this.router=router,this._uiViews=[],this._viewConfigs=[],this._viewConfigFactories={},this._listeners=[],this._pluginapi={_rootViewContext:this._rootViewContext.bind(this),_viewConfigFactory:this._viewConfigFactory.bind(this),_registeredUIView:function(id){return find(_this._uiViews,function(view){return _this.router.$id+"."+view.id===id})},_registeredUIViews:function(){return _this._uiViews},_activeViewConfigs:function(){return _this._viewConfigs},_onSync:function(listener){return _this._listeners.push(listener),function(){return removeFrom(_this._listeners,listener)}}}}return ViewService.normalizeUIViewTarget=function(context,rawViewName){void 0===rawViewName&&(rawViewName="");var viewAtContext=rawViewName.split("@"),uiViewName=viewAtContext[0]||"$default",uiViewContextAnchor=isString(viewAtContext[1])?viewAtContext[1]:"^",relativeViewNameSugar=/^(\^(?:\.\^)*)\.(.*$)/.exec(uiViewName);relativeViewNameSugar&&(uiViewContextAnchor=relativeViewNameSugar[1],uiViewName=relativeViewNameSugar[2]),"!"===uiViewName.charAt(0)&&(uiViewName=uiViewName.substr(1),uiViewContextAnchor="");/^(\^(?:\.\^)*)$/.exec(uiViewContextAnchor)?uiViewContextAnchor=uiViewContextAnchor.split(".").reduce(function(anchor,x){return anchor.parent},context).name:"."===uiViewContextAnchor&&(uiViewContextAnchor=context.name);return{uiViewName:uiViewName,uiViewContextAnchor:uiViewContextAnchor}},ViewService.prototype._rootViewContext=function(context){return this._rootContext=context||this._rootContext},ViewService.prototype._viewConfigFactory=function(viewType,factory){this._viewConfigFactories[viewType]=factory},ViewService.prototype.createViewConfig=function(path,decl){var cfgFactory=this._viewConfigFactories[decl.$type];if(!cfgFactory)throw new Error("ViewService: No view config factory registered for type "+decl.$type);var cfgs=cfgFactory(path,decl);return isArray(cfgs)?cfgs:[cfgs]},ViewService.prototype.deactivateViewConfig=function(viewConfig){trace.traceViewServiceEvent("<- Removing",viewConfig),removeFrom(this._viewConfigs,viewConfig)},ViewService.prototype.activateViewConfig=function(viewConfig){trace.traceViewServiceEvent("-> Registering",viewConfig),this._viewConfigs.push(viewConfig)},ViewService.prototype.sync=function(){var _this=this,uiViewsByFqn=this._uiViews.map(function(uiv){return[uiv.fqn,uiv]}).reduce(applyPairs,{});function viewConfigDepth(config){for(var context=config.viewDecl.$context,count=0;++count&&context.parent;)context=context.parent;return count}var depthCompare=curry(function(depthFn,posNeg,left,right){return posNeg*(depthFn(left)-depthFn(right))}),uiViewTuples=this._uiViews.sort(depthCompare(function(uiView){var stateDepth=function(context){return context&&context.parent?stateDepth(context.parent)+1:1};return 1e4*uiView.fqn.split(".").length+stateDepth(uiView.creationContext)},1)).map(function(uiView){var matchingConfigs=_this._viewConfigs.filter(ViewService.matches(uiViewsByFqn,uiView));return 1<matchingConfigs.length&&matchingConfigs.sort(depthCompare(viewConfigDepth,-1)),{uiView:uiView,viewConfig:matchingConfigs[0]}}),matchedViewConfigs=uiViewTuples.map(function(tuple){return tuple.viewConfig}),unmatchedConfigTuples=this._viewConfigs.filter(function(config){return!inArray(matchedViewConfigs,config)}).map(function(viewConfig){return{uiView:void 0,viewConfig:viewConfig}});uiViewTuples.forEach(function(tuple){-1!==_this._uiViews.indexOf(tuple.uiView)&&tuple.uiView.configUpdated(tuple.viewConfig)});var allTuples=uiViewTuples.concat(unmatchedConfigTuples);this._listeners.forEach(function(cb){return cb(allTuples)}),trace.traceViewSync(allTuples)},ViewService.prototype.registerUIView=function(uiView){trace.traceViewServiceUIViewEvent("-> Registering",uiView);var uiViews=this._uiViews;return uiViews.filter(function(uiv){return uiv.fqn===uiView.fqn&&uiv.$type===uiView.$type}).length&&trace.traceViewServiceUIViewEvent("!!!! duplicate uiView named:",uiView),uiViews.push(uiView),this.sync(),function(){-1!==uiViews.indexOf(uiView)?(trace.traceViewServiceUIViewEvent("<- Deregistering",uiView),removeFrom(uiViews)(uiView)):trace.traceViewServiceUIViewEvent("Tried removing non-registered uiView",uiView)}},ViewService.prototype.available=function(){return this._uiViews.map(prop("fqn"))},ViewService.prototype.active=function(){return this._uiViews.filter(prop("$config")).map(prop("name"))},ViewService.matches=function(uiViewsByFqn,uiView){return function(viewConfig){if(uiView.$type!==viewConfig.viewDecl.$type)return!1;var vc=viewConfig.viewDecl,vcSegments=vc.$uiViewName.split("."),uivSegments=uiView.fqn.split(".");if(!equals(vcSegments,uivSegments.slice(0-vcSegments.length)))return!1;var negOffset=1-vcSegments.length||void 0,fqnToFirstSegment=uivSegments.slice(0,negOffset).join("."),uiViewContext=uiViewsByFqn[fqnToFirstSegment].creationContext;return vc.$uiViewContextAnchor===(uiViewContext&&uiViewContext.name)}},ViewService}(),UIRouterGlobals=function(){function UIRouterGlobals(){this.params=new StateParams,this.lastStartedTransitionId=-1,this.transitionHistory=new Queue([],1),this.successfulTransitions=new Queue([],1)}return UIRouterGlobals.prototype.dispose=function(){this.transitionHistory.clear(),this.successfulTransitions.clear(),this.transition=null},UIRouterGlobals}();function getHandlerFn(handler){if(!(isFunction(handler)||isString(handler)||is(TargetState)(handler)||TargetState.isDef(handler)))throw new Error("'handler' must be a string, function, TargetState, or have a state: 'newtarget' property");return isFunction(handler)?handler:val(handler)}defaultRuleSortFn=function(a,b){var cmp=function(a,b){return(b.priority||0)-(a.priority||0)}(a,b);return 0!==cmp?cmp:0!==(cmp=function(a,b){var weights={STATE:4,URLMATCHER:4,REGEXP:3,RAW:2,OTHER:1};return(weights[a.type]||0)-(weights[b.type]||0)}(a,b))?cmp:0!==(cmp=function(a,b){return a.urlMatcher&&b.urlMatcher?UrlMatcher.compare(a.urlMatcher,b.urlMatcher):0}(a,b))?cmp:function(a,b){var useMatchPriority={STATE:!0,URLMATCHER:!0};return useMatchPriority[a.type]&&useMatchPriority[b.type]?0:(a.$id||0)-(b.$id||0)}(a,b)};var UrlRules=function(){function UrlRules(router){this.router=router,this._sortFn=defaultRuleSortFn,this._rules=[],this._id=0,this.urlRuleFactory=new UrlRuleFactory(router)}return UrlRules.prototype.dispose=function(router){this._rules=[],delete this._otherwiseFn},UrlRules.prototype.initial=function(handler){var handlerFn=getHandlerFn(handler);this.rule(this.urlRuleFactory.create(function(urlParts,router){return 0===router.globals.transitionHistory.size()&&!!/^\/?$/.exec(urlParts.path)},handlerFn))},UrlRules.prototype.otherwise=function(handler){var handlerFn=getHandlerFn(handler);this._otherwiseFn=this.urlRuleFactory.create(val(!0),handlerFn),this._sorted=!1},UrlRules.prototype.removeRule=function(rule){removeFrom(this._rules,rule)},UrlRules.prototype.rule=function(rule){var _this=this;if(!UrlRuleFactory.isUrlRule(rule))throw new Error("invalid rule");return rule.$id=this._id++,rule.priority=rule.priority||0,this._rules.push(rule),this._sorted=!1,function(){return _this.removeRule(rule)}},UrlRules.prototype.rules=function(){return this.ensureSorted(),this._rules.concat(this._otherwiseFn?[this._otherwiseFn]:[])},UrlRules.prototype.sort=function(compareFn){for(var sorted=this.stableSort(this._rules,this._sortFn=compareFn||this._sortFn),group=0,i=0;i<sorted.length;i++)sorted[i]._group=group,i<sorted.length-1&&0!==this._sortFn(sorted[i],sorted[i+1])&&group++;this._rules=sorted,this._sorted=!0},UrlRules.prototype.ensureSorted=function(){this._sorted||this.sort()},UrlRules.prototype.stableSort=function(arr,compareFn){var arrOfWrapper=arr.map(function(elem,idx){return{elem:elem,idx:idx}});return arrOfWrapper.sort(function(wrapperA,wrapperB){var cmpDiff=compareFn(wrapperA.elem,wrapperB.elem);return 0===cmpDiff?wrapperA.idx-wrapperB.idx:cmpDiff}),arrOfWrapper.map(function(wrapper){return wrapper.elem})},UrlRules.prototype.when=function(matcher,handler,options){var rule=this.urlRuleFactory.create(matcher,handler);return isDefined(options&&options.priority)&&(rule.priority=options.priority),this.rule(rule),rule},UrlRules}(),UrlConfig=function(){function UrlConfig(router){var _this=this;this.router=router,this.paramTypes=new ParamTypes,this._isCaseInsensitive=!1,this._isStrictMode=!0,this._defaultSquashPolicy=!1,this.dispose=function(){return _this.paramTypes.dispose()},this.baseHref=function(){return _this.router.locationConfig.baseHref()},this.hashPrefix=function(newprefix){return _this.router.locationConfig.hashPrefix(newprefix)},this.host=function(){return _this.router.locationConfig.host()},this.html5Mode=function(){return _this.router.locationConfig.html5Mode()},this.port=function(){return _this.router.locationConfig.port()},this.protocol=function(){return _this.router.locationConfig.protocol()}}return UrlConfig.prototype.caseInsensitive=function(value){return this._isCaseInsensitive=isDefined(value)?value:this._isCaseInsensitive},UrlConfig.prototype.defaultSquashPolicy=function(value){if(isDefined(value)&&!0!==value&&!1!==value&&!isString(value))throw new Error("Invalid squash policy: "+value+". Valid policies: false, true, arbitrary-string");return this._defaultSquashPolicy=isDefined(value)?value:this._defaultSquashPolicy},UrlConfig.prototype.strictMode=function(value){return this._isStrictMode=isDefined(value)?value:this._isStrictMode},UrlConfig.prototype.type=function(name,definition,definitionFn){var type=this.paramTypes.type(name,definition,definitionFn);return isDefined(definition)?this:type},UrlConfig}(),UrlService=function(){function UrlService(router){var _this=this;this.router=router,this.interceptDeferred=!1,this.rules=new UrlRules(this.router),this.config=new UrlConfig(this.router),this.url=function(newurl,replace,state){return _this.router.locationService.url(newurl,replace,state)},this.path=function(){return _this.router.locationService.path()},this.search=function(){return _this.router.locationService.search()},this.hash=function(){return _this.router.locationService.hash()},this.onChange=function(callback){return _this.router.locationService.onChange(callback)}}return UrlService.prototype.dispose=function(){this.listen(!1),this.rules.dispose()},UrlService.prototype.parts=function(){return{path:this.path(),search:this.search(),hash:this.hash()}},UrlService.prototype.sync=function(evt){if(!evt||!evt.defaultPrevented){var _a=this.router,urlService=_a.urlService,stateService=_a.stateService,url={path:urlService.path(),search:urlService.search(),hash:urlService.hash()},best=this.match(url);pattern([[isString,function(newurl){return urlService.url(newurl,!0)}],[TargetState.isDef,function(def){return stateService.go(def.state,def.params,def.options)}],[is(TargetState),function(target){return stateService.go(target.state(),target.params(),target.options())}]])(best&&best.rule.handler(best.match,url,this.router))}},UrlService.prototype.listen=function(enabled){var _this=this;if(!1!==enabled)return this._stopListeningFn=this._stopListeningFn||this.router.urlService.onChange(function(evt){return _this.sync(evt)});this._stopListeningFn&&this._stopListeningFn(),delete this._stopListeningFn},UrlService.prototype.deferIntercept=function(defer){void 0===defer&&(defer=!0),this.interceptDeferred=defer},UrlService.prototype.match=function(url){var _this=this;url=extend({path:"",search:{},hash:""},url);for(var best,rule,match,rules=this.rules.rules(),i=0;i<rules.length&&(!best||best.rule._group===rules[i]._group);i++){var current=(rule=rules[i],void 0,(match=rule.match(url,_this.router))&&{match:match,rule:rule,weight:rule.matchPriority(match)});best=!best||current&¤t.weight>best.weight?current:best}return best},UrlService}(),_routerInstance=0,locationServiceStub=makeStub("LocationServices",["url","path","search","hash","onChange"]),locationConfigStub=makeStub("LocationConfig",["port","protocol","host","baseHref","html5Mode","hashPrefix"]),UIRouter=function(){function UIRouter(locationService,locationConfig){void 0===locationService&&(locationService=locationServiceStub),void 0===locationConfig&&(locationConfig=locationConfigStub),this.locationService=locationService,this.locationConfig=locationConfig,this.$id=_routerInstance++,this._disposed=!1,this._disposables=[],this.trace=trace,this.viewService=new ViewService(this),this.globals=new UIRouterGlobals,this.transitionService=new TransitionService(this),this.urlMatcherFactory=new UrlMatcherFactory(this),this.urlRouter=new UrlRouter(this),this.urlService=new UrlService(this),this.stateRegistry=new StateRegistry(this),this.stateService=new StateService(this),this._plugins={},this.viewService._pluginapi._rootViewContext(this.stateRegistry.root()),this.globals.$current=this.stateRegistry.root(),this.globals.current=this.globals.$current.self,this.disposable(this.globals),this.disposable(this.stateService),this.disposable(this.stateRegistry),this.disposable(this.transitionService),this.disposable(this.urlService),this.disposable(locationService),this.disposable(locationConfig)}return UIRouter.prototype.disposable=function(disposable){this._disposables.push(disposable)},UIRouter.prototype.dispose=function(disposable){var _this=this;disposable&&isFunction(disposable.dispose)?disposable.dispose(this):(this._disposed=!0,this._disposables.slice().forEach(function(d){try{"function"==typeof d.dispose&&d.dispose(_this),removeFrom(_this._disposables,d)}catch(ignored){}}))},UIRouter.prototype.plugin=function(plugin,options){void 0===options&&(options={});var pluginInstance=new plugin(this,options);if(!pluginInstance.name)throw new Error("Required property `name` missing on plugin: "+pluginInstance);return this._disposables.push(pluginInstance),this._plugins[pluginInstance.name]=pluginInstance},UIRouter.prototype.getPlugin=function(pluginName){return pluginName?this._plugins[pluginName]:values(this._plugins)},UIRouter}();function addCoreResolvables(trans){trans.addResolvable(Resolvable.fromData(UIRouter,trans.router),""),trans.addResolvable(Resolvable.fromData(Transition,trans),""),trans.addResolvable(Resolvable.fromData("$transition$",trans),""),trans.addResolvable(Resolvable.fromData("$stateParams",trans.params()),""),trans.entering().forEach(function(state){trans.addResolvable(Resolvable.fromData("$state$",state),state)})}var isTransition=inArray(["$transition$",Transition]),treeChangesCleanup=function(trans){var nodes=values(trans.treeChanges()).reduce(unnestR,[]).reduce(uniqR,[]),replaceTransitionWithNull=function(r){return isTransition(r.token)?Resolvable.fromData(r.token,null):r};nodes.forEach(function(node){node.resolvables=node.resolvables.map(replaceTransitionWithNull)})},redirectToHook=function(trans){var redirect=trans.to().redirectTo;if(redirect){var $state=trans.router.stateService;return isFunction(redirect)?services.$q.when(redirect(trans)).then(handleResult):handleResult(redirect)}function handleResult(result){if(result)return result instanceof TargetState?result:isString(result)?$state.target(result,trans.params(),trans.options()):result.state||result.params?$state.target(result.state||trans.to(),result.params||trans.params(),trans.options()):void 0}};function makeEnterExitRetainHook(hookName){return function(transition,state){return(0,state.$$state()[hookName])(transition,state)}}var onExitHook=makeEnterExitRetainHook("onExit"),onRetainHook=makeEnterExitRetainHook("onRetain"),onEnterHook=makeEnterExitRetainHook("onEnter"),eagerResolvePath=function(trans){return new ResolveContext(trans.treeChanges().to).resolvePath("EAGER",trans).then(noop)},lazyResolveState=function(trans,state){return new ResolveContext(trans.treeChanges().to).subContext(state.$$state()).resolvePath("LAZY",trans).then(noop)},resolveRemaining=function(trans){return new ResolveContext(trans.treeChanges().to).resolvePath("LAZY",trans).then(noop)},loadEnteringViews=function(transition){var $q=services.$q,enteringViews=transition.views("entering");if(enteringViews.length)return $q.all(enteringViews.map(function(view){return $q.when(view.load())})).then(noop)},activateViews=function(transition){var enteringViews=transition.views("entering"),exitingViews=transition.views("exiting");if(enteringViews.length||exitingViews.length){var $view=transition.router.viewService;exitingViews.forEach(function(vc){return $view.deactivateViewConfig(vc)}),enteringViews.forEach(function(vc){return $view.activateViewConfig(vc)}),$view.sync()}},updateGlobalState=function(trans){var globals=trans.router.globals,clearCurrentTransition=function(){globals.transition===trans&&(globals.transition=null)};trans.onSuccess({},function(){globals.successfulTransitions.enqueue(trans),globals.$current=trans.$to(),globals.current=globals.$current.self,copy(trans.params(),globals.params)},{priority:1e4}),trans.promise.then(clearCurrentTransition,clearCurrentTransition)},updateUrl=function(transition){var options=transition.options(),$state=transition.router.stateService,$urlRouter=transition.router.urlRouter;if("url"!==options.source&&options.location&&$state.$current.navigable){var urlOptions={replace:"replace"===options.location};$urlRouter.push($state.$current.navigable.url,$state.params,urlOptions)}$urlRouter.update(!0)}
1,lazyLoadHook=function(transition){var router=transition.router;var promises=transition.entering().filter(function(state){return!!state.$$state().lazyLoad}).map(function(state){return lazyLoadState(transition,state)});return services.$q.all(promises).then(function(){if("url"!==transition.originalTransition().options().source){var orig=transition.targetState();return router.stateService.target(orig.identifier(),orig.params(),orig.options())}var $url=router.urlService,result=$url.match($url.parts()),rule=result&&result.rule;if(rule&&"STATE"===rule.type){var state=rule.state,params=result.match;return router.stateService.target(state,params,transition.options())}router.urlService.sync()})};function lazyLoadState(transition,state){var lazyLoadFn=state.$$state().lazyLoad,promise=lazyLoadFn._promise;if(!promise){promise=lazyLoadFn._promise=services.$q.when(lazyLoadFn(transition,state)).then(function(result){result&&Array.isArray(result.states)&&result.states.forEach(function(_state){return transition.router.stateRegistry.register(_state)});return result}).then(function(result){return delete state.lazyLoad,delete state.$$state().lazyLoad,delete lazyLoadFn._promise,result},function(err){return delete lazyLoadFn._promise,services.$q.reject(err)})}return promise}var TransitionEventType=function(name,hookPhase,hookOrder,criteriaMatchPath,reverseSort,getResultHandler,getErrorHandler,synchronous){void 0===reverseSort&&(reverseSort=!1),void 0===getResultHandler&&(getResultHandler=TransitionHook.HANDLE_RESULT),void 0===getErrorHandler&&(getErrorHandler=TransitionHook.REJECT_ERROR),void 0===synchronous&&(synchronous=!1),this.name=name,this.hookPhase=hookPhase,this.hookOrder=hookOrder,this.criteriaMatchPath=criteriaMatchPath,this.reverseSort=reverseSort,this.getResultHandler=getResultHandler,this.getErrorHandler=getErrorHandler,this.synchronous=synchronous};function ignoredHook(trans){var ignoredReason=trans._ignoredReason();if(ignoredReason){trace.traceTransitionIgnored(trans);var pending=trans.router.globals.transition;return"SameAsCurrent"===ignoredReason&&pending&&pending.abort(),Rejection.ignored().toPromise()}}
vendor: 39,307 bytes, line 1
1function invalidTransitionHook(trans){if(!trans.valid())throw new Error(trans.error().toString())}var defaultTransOpts={location:!0,relative:null,inherit:!1,notify:!0,reload:!1,custom:{},current:function(){return null},source:"unknown"},TransitionService=function(){function TransitionService(_router){this._transitionCount=0,this._eventTypes=[],this._registeredHooks={},this._criteriaPaths={},this._router=_router,this.$view=_router.viewService,this._deregisterHookFns={},this._pluginapi=createProxyFunctions(val(this),{},val(this),["_definePathType","_defineEvent","_getPathTypes","_getEvents","getHooks"]),this._defineCorePaths(),this._defineCoreEvents(),this._registerCoreTransitionHooks(),_router.globals.successfulTransitions.onEvict(treeChangesCleanup)}return TransitionService.prototype.onCreate=function(criteria,callback,options){},TransitionService.prototype.onBefore=function(criteria,callback,options){},TransitionService.prototype.onStart=function(criteria,callback,options){},TransitionService.prototype.onExit=function(criteria,callback,options){},TransitionService.prototype.onRetain=function(criteria,callback,options){},TransitionService.prototype.onEnter=function(criteria,callback,options){},TransitionService.prototype.onFinish=function(criteria,callback,options){},TransitionService.prototype.onSuccess=function(criteria,callback,options){},TransitionService.prototype.onError=function(criteria,callback,options){},TransitionService.prototype.dispose=function(router){values(this._registeredHooks).forEach(function(hooksArray){return hooksArray.forEach(function(hook){hook._deregistered=!0,removeFrom(hooksArray,hook)})})},TransitionService.prototype.create=function(fromPath,targetState){return new Transition(fromPath,targetState,this._router)},TransitionService.prototype._defineCoreEvents=function(){var Phase=exports.TransitionHookPhase,TH=TransitionHook,paths=this._criteriaPaths;this._defineEvent("onCreate",Phase.CREATE,0,paths.to,!1,TH.LOG_REJECTED_RESULT,TH.THROW_ERROR,!0),this._defineEvent("onBefore",Phase.BEFORE,0,paths.to),this._defineEvent("onStart",Phase.RUN,0,paths.to),this._defineEvent("onExit",Phase.RUN,100,paths.exiting,!0),this._defineEvent("onRetain",Phase.RUN,200,paths.retained),this._defineEvent("onEnter",Phase.RUN,300,paths.entering),this._defineEvent("onFinish",Phase.RUN,400,paths.to),this._defineEvent("onSuccess",Phase.SUCCESS,0,paths.to,!1,TH.LOG_REJECTED_RESULT,TH.LOG_ERROR,!0),this._defineEvent("onError",Phase.ERROR,0,paths.to,!1,TH.LOG_REJECTED_RESULT,TH.LOG_ERROR,!0)},TransitionService.prototype._defineCorePaths=function(){var STATE=exports.TransitionHookScope.STATE,TRANSITION=exports.TransitionHookScope.TRANSITION;this._definePathType("to",TRANSITION),this._definePathType("from",TRANSITION),this._definePathType("exiting",STATE),this._definePathType("retained",STATE),this._definePathType("entering",STATE)},TransitionService.prototype._defineEvent=function(name,hookPhase,hookOrder,criteriaMatchPath,reverseSort,getResultHandler,getErrorHandler,synchronous){void 0===reverseSort&&(reverseSort=!1),void 0===getResultHandler&&(getResultHandler=TransitionHook.HANDLE_RESULT),void 0===getErrorHandler&&(getErrorHandler=TransitionHook.REJECT_ERROR),void 0===synchronous&&(synchronous=!1);var eventType=new TransitionEventType(name,hookPhase,hookOrder,criteriaMatchPath,reverseSort,getResultHandler,getErrorHandler,synchronous);this._eventTypes.push(eventType),makeEvent(this,this,eventType)},TransitionService.prototype._getEvents=function(phase){return(isDefined(phase)?this._eventTypes.filter(function(type){return type.hookPhase===phase}):this._eventTypes.slice()).sort(function(l,r){var cmpByPhase=l.hookPhase-r.hookPhase;return 0===cmpByPhase?l.hookOrder-r.hookOrder:cmpByPhase})},TransitionService.prototype._definePathType=function(name,hookScope){this._criteriaPaths[name]={name:name,scope:hookScope}},TransitionService.prototype._getPathTypes=function(){return this._criteriaPaths},TransitionService.prototype.getHooks=function(hookName){return this._registeredHooks[hookName]},TransitionService.prototype._registerCoreTransitionHooks=function(){var fns=this._deregisterHookFns;fns.addCoreResolves=this.onCreate({},addCoreResolvables),fns.ignored=function(transitionService){return transitionService.onBefore({},ignoredHook,{priority:-9999})}(this),fns.invalid=function(transitionService){return transitionService.onBefore({},invalidTransitionHook,{priority:-1e4})}(this),fns.redirectTo=function(transitionService){return transitionService.onStart({to:function(state){return!!state.redirectTo}},redirectToHook)}(this),fns.onExit=function(transitionService){return transitionService.onExit({exiting:function(state){return!!state.onExit}},onExitHook)}(this),fns.onRetain=function(transitionService){return transitionService.onRetain({retained:function(state){return!!state.onRetain}},onRetainHook)}(this),fns.onEnter=function(transitionService){return transitionService.onEnter({entering:function(state){return!!state.onEnter}},onEnterHook)}(this),fns.eagerResolve=function(transitionService){return transitionService.onStart({},eagerResolvePath,{priority:1e3})}(this),fns.lazyResolve=function(transitionService){return transitionService.onEnter({entering:val(!0)},lazyResolveState,{priority:1e3})}(this),fns.resolveAll=function(transitionService){return transitionService.onFinish({},resolveRemaining,{priority:1e3})}(this),fns.loadViews=function(transitionService){return transitionService.onFinish({},loadEnteringViews)}(this),fns.activateViews=function(transitionService){return transitionService.onSuccess({},activateViews)}(this),fns.updateGlobals=function(transitionService){return transitionService.onCreate({},updateGlobalState)}(this),fns.updateUrl=function(transitionService){return transitionService.onSuccess({},updateUrl,{priority:9999})}(this),fns.lazyLoad=function(transitionService){return transitionService.onBefore({entering:function(state){return!!state.lazyLoad}},lazyLoadHook)}(this)},TransitionService}(),StateService=function(){function StateService(router){this.router=router,this.invalidCallbacks=[],this._defaultErrorHandler=function($error$){$error$ instanceof Error&&$error$.stack?(console.error($error$),console.error($error$.stack)):$error$ instanceof Rejection?(console.error($error$.toString()),$error$.detail&&$error$.detail.stack&&console.error($error$.detail.stack)):console.error($error$)};var boundFns=Object.keys(StateService.prototype).filter(not(inArray(["current","$current","params","transition"])));createProxyFunctions(val(StateService.prototype),this,val(this),boundFns)}return Object.defineProperty(StateService.prototype,"transition",{get:function(){return this.router.globals.transition},enumerable:!0,configurable:!0}),Object.defineProperty(StateService.prototype,"params",{get:function(){return this.router.globals.params},enumerable:!0,configurable:!0}),Object.defineProperty(StateService.prototype,"current",{get:function(){return this.router.globals.current},enumerable:!0,configurable:!0}),Object.defineProperty(StateService.prototype,"$current",{get:function(){return this.router.globals.$current},enumerable:!0,configurable:!0}),StateService.prototype.dispose=function(){this.defaultErrorHandler(noop),this.invalidCallbacks=[]},StateService.prototype._handleInvalidTargetState=function(fromPath,toState){var _this=this,fromState=PathUtils.makeTargetState(this.router.stateRegistry,fromPath),globals=this.router.globals,latestThing=function(){return globals.transitionHistory.peekTail()},latest=latestThing(),callbackQueue=new Queue(this.invalidCallbacks.slice()),injector=new ResolveContext(fromPath).injector(),checkForRedirect=function(result){if(result instanceof TargetState){var target=result;return(target=_this.target(target.identifier(),target.params(),target.options())).valid()?latestThing()!==latest?Rejection.superseded().toPromise():_this.transitionTo(target.identifier(),target.params(),target.options()):Rejection.invalid(target.error()).toPromise()}};return function invokeNextCallback(){var nextCallback=callbackQueue.dequeue();return void 0===nextCallback?Rejection.invalid(toState.error()).toPromise():services.$q.when(nextCallback(toState,fromState,injector)).then(checkForRedirect).then(function(result){return result||invokeNextCallback()})}()},StateService.prototype.onInvalid=function(callback){return this.invalidCallbacks.push(callback),function(){removeFrom(this.invalidCallbacks)(callback)}.bind(this)},StateService.prototype.reload=function(reloadState){return this.transitionTo(this.current,this.params,{reload:!isDefined(reloadState)||reloadState,inherit:!1,notify:!1})},StateService.prototype.go=function(to,params,options){var transOpts=defaults(options,{relative:this.$current,inherit:!0},defaultTransOpts);return this.transitionTo(to,params,transOpts)},StateService.prototype.target=function(identifier,params,options){if(void 0===options&&(options={}),isObject(options.reload)&&!options.reload.name)throw new Error("Invalid reload state object");var reg=this.router.stateRegistry;if(options.reloadState=!0===options.reload?reg.root():reg.matcher.find(options.reload,options.relative),options.reload&&!options.reloadState)throw new Error("No such reload state '"+(isString(options.reload)?options.reload:options.reload.name)+"'");return new TargetState(this.router.stateRegistry,identifier,params,options)},StateService.prototype.getCurrentPath=function(){var _this=this,latestSuccess=this.router.globals.successfulTransitions.peekTail();return latestSuccess?latestSuccess.treeChanges().to:[new PathNode(_this.router.stateRegistry.root())]},StateService.prototype.transitionTo=function(to,toParams,options){var _this=this;void 0===toParams&&(toParams={}),void 0===options&&(options={});var router=this.router,globals=router.globals;options=defaults(options,defaultTransOpts);options=extend(options,{current:function(){return globals.transition}});var ref=this.target(to,toParams,options),currentPath=this.getCurrentPath();if(!ref.exists())return this._handleInvalidTargetState(currentPath,ref);if(!ref.valid())return silentRejection(ref.error());var rejectedTransitionHandler=function(trans){return function(error){if(error instanceof Rejection){var isLatest=router.globals.lastStartedTransitionId===trans.$id;if(error.type===exports.RejectType.IGNORED)return isLatest&&router.urlRouter.update(),services.$q.when(globals.current);var detail=error.detail;if(error.type===exports.RejectType.SUPERSEDED&&error.redirected&&detail instanceof TargetState){var redirect=trans.redirect(detail);return redirect.run().catch(rejectedTransitionHandler(redirect))}if(error.type===exports.RejectType.ABORTED)return isLatest&&router.urlRouter.update(),services.$q.reject(error)}return _this.defaultErrorHandler()(error),services.$q.reject(error)}},transition=this.router.transitionService.create(currentPath,ref),transitionToPromise=transition.run().catch(rejectedTransitionHandler(transition));return silenceUncaughtInPromise(transitionToPromise),extend(transitionToPromise,{transition:transition})},StateService.prototype.is=function(stateOrName,params,options){options=defaults(options,{relative:this.$current});var state=this.router.stateRegistry.matcher.find(stateOrName,options.relative);if(isDefined(state)){if(this.$current!==state)return!1;if(!params)return!0;var schema=state.parameters({inherit:!0,matchingKeys:params});return Param.equals(schema,Param.values(schema,params),this.params)}},StateService.prototype.includes=function(stateOrName,params,options){options=defaults(options,{relative:this.$current});var glob=isString(stateOrName)&&Glob.fromString(stateOrName);if(glob){if(!glob.matches(this.$current.name))return!1;stateOrName=this.$current.name}var state=this.router.stateRegistry.matcher.find(stateOrName,options.relative),include=this.$current.includes;if(isDefined(state)){if(!isDefined(include[state.name]))return!1;if(!params)return!0;var schema=state.parameters({inherit:!0,matchingKeys:params});return Param.equals(schema,Param.values(schema,params),this.params)}},StateService.prototype.href=function(stateOrName,params,options){options=defaults(options,{lossy:!0,inherit:!0,absolute:!1,relative:this.$current}),params=params||{};var state=this.router.stateRegistry.matcher.find(stateOrName,options.relative);if(!isDefined(state))return null;options.inherit&&(params=this.params.$inherit(params,this.$current,state));var nav=state&&options.lossy?state.navigable:state;return nav&&void 0!==nav.url&&null!==nav.url?this.router.urlRouter.href(nav.url,params,{absolute:options.absolute}):null},StateService.prototype.defaultErrorHandler=function(handler){return this._defaultErrorHandler=handler||this._defaultErrorHandler},StateService.prototype.get=function(stateOrName,base){var reg=this.router.stateRegistry;return 0===arguments.length?reg.get():reg.get(stateOrName,base||this.$current)},StateService.prototype.lazyLoad=function(stateOrName,transition){var state=this.get(stateOrName);if(!state||!state.lazyLoad)throw new Error("Can not lazy load "+stateOrName);var currentPath=this.getCurrentPath(),target=PathUtils.makeTargetState(this.router.stateRegistry,currentPath);return lazyLoadState(transition=transition||this.router.transitionService.create(currentPath,target),state)},StateService}(),$q={when:function(val$$1){return new Promise(function(resolve,reject){return resolve(val$$1)})},reject:function(val$$1){return new Promise(function(resolve,reject){reject(val$$1)})},defer:function(){var deferred={};return deferred.promise=new Promise(function(resolve,reject){deferred.resolve=resolve,deferred.reject=reject}),deferred},all:function(promises){if(isArray(promises))return Promise.all(promises);if(isObject(promises)){var chain=Object.keys(promises).map(function(key){return promises[key].then(function(val$$1){return{key:key,val:val$$1}})});return $q.all(chain).then(function(values$$1){return values$$1.reduce(function(acc,tuple){return acc[tuple.key]=tuple.val,acc},{})})}}},globals={},STRIP_COMMENTS=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,ARGUMENT_NAMES=/([^\s,]+)/g,$injector={get:function(name){return globals[name]},has:function(name){return null!=$injector.get(name)},invoke:function(fn,context,locals){var all$$1=extend({},globals,locals||{}),params=$injector.annotate(fn),ensureExist=assertPredicate(function(key){return all$$1.hasOwnProperty(key)},function(key){return"DI can't find injectable: '"+key+"'"}),args=params.filter(ensureExist).map(function(x){return all$$1[x]});return isFunction(fn)?fn.apply(context,args):fn.slice(-1)[0].apply(context,args)},annotate:function(fn){if(!isInjectable(fn))throw new Error("Not an injectable function: "+fn);if(fn&&fn.$inject)return fn.$inject;if(isArray(fn))return fn.slice(0,-1);var fnStr=fn.toString().replace(STRIP_COMMENTS,"");return fnStr.slice(fnStr.indexOf("(")+1,fnStr.indexOf(")")).match(ARGUMENT_NAMES)||[]}},keyValsToObjectR=function(accum,_a){var key=_a[0],val$$1=_a[1];return accum.hasOwnProperty(key)?isArray(accum[key])?accum[key].push(val$$1):accum[key]=[accum[key],val$$1]:accum[key]=val$$1,accum},getParams=function(queryString){return queryString.split("&").filter(identity).map(splitEqual).reduce(keyValsToObjectR,{})};function parseUrl$1(url){var orEmptyString=function(x){return x||""},_a=splitHash(url).map(orEmptyString),beforehash=_a[0],hash=_a[1],_b=splitQuery(beforehash).map(orEmptyString);return{path:_b[0],search:_b[1],hash:hash,url:url}}var buildUrl=function(loc){var path=loc.path(),searchObject=loc.search(),hash=loc.hash(),search=Object.keys(searchObject).map(function(key){var param=searchObject[key];return(isArray(param)?param:[param]).map(function(val$$1){return key+"="+val$$1})}).reduce(unnestR,[]).join("&");return path+(search?"?"+search:"")+(hash?"#"+hash:"")};function locationPluginFactory(name,isHtml5,serviceClass,configurationClass){return function(uiRouter){var service=uiRouter.locationService=new serviceClass(uiRouter),configuration=uiRouter.locationConfig=new configurationClass(uiRouter,isHtml5);return{name:name,service:service,configuration:configuration,dispose:function(router){router.dispose(service),router.dispose(configuration)}}}}var extendStatics,BaseLocationServices=function(){function BaseLocationServices(router,fireAfterUpdate){var _this=this;this.fireAfterUpdate=fireAfterUpdate,this._listeners=[],this._listener=function(evt){return _this._listeners.forEach(function(cb){return cb(evt)})},this.hash=function(){return parseUrl$1(_this._get()).hash},this.path=function(){return parseUrl$1(_this._get()).path},this.search=function(){return getParams(parseUrl$1(_this._get()).search)},this._location=root.location,this._history=root.history}return BaseLocationServices.prototype.url=function(url,replace){return void 0===replace&&(replace=!0),isDefined(url)&&url!==this._get()&&(this._set(null,null,url,replace),this.fireAfterUpdate&&this._listeners.forEach(function(cb){return cb({url:url})})),buildUrl(this)},BaseLocationServices.prototype.onChange=function(cb){var _this=this;return this._listeners.push(cb),function(){return removeFrom(_this._listeners,cb)}},BaseLocationServices.prototype.dispose=function(router){deregAll(this._listeners)},BaseLocationServices}(),__extends=(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])},function(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}),HashLocationService=function(_super){function HashLocationService(router){var _this=_super.call(this,router,!1)||this;return root.addEventListener("hashchange",_this._listener,!1),_this}return __extends(HashLocationService,_super),HashLocationService.prototype._get=function(){return trimHashVal(this._location.hash)},HashLocationService.prototype._set=function(state,title,url,replace){this._location.hash=url},HashLocationService.prototype.dispose=function(router){_super.prototype.dispose.call(this,router),root.removeEventListener("hashchange",this._listener)},HashLocationService}(BaseLocationServices),__extends$1=function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])};return function(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}}(),MemoryLocationService=function(_super){function MemoryLocationService(router){return _super.call(this,router,!0)||this}return __extends$1(MemoryLocationService,_super),MemoryLocationService.prototype._get=function(){return this._url},MemoryLocationService.prototype._set=function(state,title,url,replace){this._url=url},MemoryLocationService}(BaseLocationServices),__extends$2=function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])};return function(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}}(),PushStateLocationService=function(_super){function PushStateLocationService(router){var _this=_super.call(this,router,!0)||this;return _this._config=router.urlService.config,root.addEventListener("popstate",_this._listener,!1),_this}return __extends$2(PushStateLocationService,_super),PushStateLocationService.prototype._getBasePrefix=function(){return stripLastPathElement(this._config.baseHref())},PushStateLocationService.prototype._get=function(){var _a=this._location,pathname=_a.pathname,hash=_a.hash,search=_a.search;search=splitQuery(search)[1],hash=splitHash(hash)[1];var basePrefix=this._getBasePrefix(),exactBaseHrefMatch=pathname===this._config.baseHref(),startsWithBase=pathname.substr(0,basePrefix.length)===basePrefix;return(pathname=exactBaseHrefMatch?"/":startsWithBase?pathname.substring(basePrefix.length):pathname)+(search?"?"+search:"")+(hash?"#"+hash:"")},PushStateLocationService.prototype._set=function(state,title,url,replace){var basePrefix=this._getBasePrefix(),slash=url&&"/"!==url[0]?"/":"",fullUrl=""===url||"/"===url?this._config.baseHref():basePrefix+slash+url;replace?this._history.replaceState(state,title,fullUrl):this._history.pushState(state,title,fullUrl)},PushStateLocationService.prototype.dispose=function(router){_super.prototype.dispose.call(this,router),root.removeEventListener("popstate",this._listener)},PushStateLocationService}(BaseLocationServices),MemoryLocationConfig=function(){var _this=this;this.dispose=noop,this._baseHref="",this._port=80,this._protocol="http",this._host="localhost",this._hashPrefix="",this.port=function(){return _this._port},this.protocol=function(){return _this._protocol},this.host=function(){return _this._host},this.baseHref=function(){return _this._baseHref},this.html5Mode=function(){return!1},this.hashPrefix=function(newval){return isDefined(newval)?_this._hashPrefix=newval:_this._hashPrefix}},BrowserLocationConfig=function(){function BrowserLocationConfig(router,_isHtml5){void 0===_isHtml5&&(_isHtml5=!1),this._isHtml5=_isHtml5,this._baseHref=void 0,this._hashPrefix=""}return BrowserLocationConfig.prototype.port=function(){return location.port?Number(location.port):"https"===this.protocol()?443:80},BrowserLocationConfig.prototype.protocol=function(){return location.protocol.replace(/:/g,"")},BrowserLocationConfig.prototype.host=function(){return location.hostname},BrowserLocationConfig.prototype.html5Mode=function(){return this._isHtml5},BrowserLocationConfig.prototype.hashPrefix=function(newprefix){return isDefined(newprefix)?this._hashPrefix=newprefix:this._hashPrefix},BrowserLocationConfig.prototype.baseHref=function(href){return isDefined(href)&&(this._baseHref=href),isUndefined(this._baseHref)&&(this._baseHref=this.getBaseHref()),this._baseHref},BrowserLocationConfig.prototype.getBaseHref=function(){var baseTag=document.getElementsByTagName("base")[0];return baseTag&&baseTag.href?baseTag.href.replace(/^(https?:)?\/\/[^/]*/,""):this._isHtml5?"/":location.pathname||"/"},BrowserLocationConfig.prototype.dispose=function(){},BrowserLocationConfig}();function servicesPlugin(router){return services.$injector=$injector,{name:"vanilla.services",$q:services.$q=$q,$injector:$injector,dispose:function(){return null}}}var hashLocationPlugin=locationPluginFactory("vanilla.hashBangLocation",!1,HashLocationService,BrowserLocationConfig),pushStateLocationPlugin=locationPluginFactory("vanilla.pushStateLocation",!0,PushStateLocationService,BrowserLocationConfig),memoryLocationPlugin=locationPluginFactory("vanilla.memoryLocation",!1,MemoryLocationService,MemoryLocationConfig),UIRouterPluginBase=function(){function UIRouterPluginBase(){}return UIRouterPluginBase.prototype.dispose=function(router){},UIRouterPluginBase}(),index=Object.freeze({root:root,fromJson:fromJson,toJson:toJson,forEach:forEach,extend:extend,equals:equals,identity:identity,noop:noop,createProxyFunctions:createProxyFunctions,inherit:inherit,inArray:inArray,_inArray:_inArray,removeFrom:removeFrom,_removeFrom:_removeFrom,pushTo:pushTo,_pushTo:_pushTo,deregAll:deregAll,defaults:defaults,mergeR:mergeR,ancestors:ancestors,pick:pick,omit:omit,pluck:pluck,filter:filter,find:find,mapObj:mapObj,map:map,values:values,allTrueR:allTrueR,anyTrueR:anyTrueR,unnestR:unnestR,flattenR:flattenR,pushR:pushR,uniqR:uniqR,unnest:unnest,flatten:flatten,assertPredicate:assertPredicate,assertMap:assertMap,assertFn:assertFn,pairs:pairs,arrayTuples:arrayTuples,applyPairs:applyPairs,tail:tail,copy:copy,_extend:_extend,silenceUncaughtInPromise:silenceUncaughtInPromise,silentRejection:silentRejection,makeStub:makeStub,services:services,Glob:Glob,curry:curry,compose:compose,pipe:pipe,prop:prop,propEq:propEq,parse:parse,not:not,and:and,or:or,all:all,any:any,is:is,eq:eq,val:val,invoke:invoke,pattern:pattern,isUndefined:isUndefined,isDefined:isDefined,isNull:isNull,isNullOrUndefined:isNullOrUndefined,isFunction:isFunction,isNumber:isNumber,isString:isString,isObject:isObject,isArray:isArray,isDate:isDate,isRegExp:isRegExp,isInjectable:isInjectable,isPromise:isPromise,Queue:Queue,maxLength:maxLength,padString:padString,kebobString:kebobString,functionToString:functionToString,fnToString:fnToString,stringify:stringify,beforeAfterSubstr:beforeAfterSubstr,hostRegex:hostRegex,stripLastPathElement:stripLastPathElement,splitHash:splitHash,splitQuery:splitQuery,splitEqual:splitEqual,trimHashVal:trimHashVal,splitOnDelim:splitOnDelim,joinNeighborsR:joinNeighborsR,get Category(){return exports.Category},Trace:Trace,trace:trace,get DefType(){return exports.DefType},Param:Param,ParamTypes:ParamTypes,StateParams:StateParams,ParamType:ParamType,PathNode:PathNode,PathUtils:PathUtils,resolvePolicies:resolvePolicies,defaultResolvePolicy:defaultResolvePolicy,Resolvable:Resolvable,NATIVE_INJECTOR_TOKEN:"Native Injector",ResolveContext:ResolveContext,resolvablesBuilder:resolvablesBuilder,StateBuilder:StateBuilder,StateObject:StateObject,StateMatcher:StateMatcher,StateQueueManager:StateQueueManager,StateRegistry:StateRegistry,StateService:StateService,TargetState:TargetState,get TransitionHookPhase(){return exports.TransitionHookPhase},get TransitionHookScope(){return exports.TransitionHookScope},HookBuilder:HookBuilder,matchState:matchState,RegisteredHook:RegisteredHook,makeEvent:makeEvent,get RejectType(){return exports.RejectType},Rejection:Rejection,Transition:Transition,TransitionHook:TransitionHook,TransitionEventType:TransitionEventType,defaultTransOpts:defaultTransOpts,TransitionService:TransitionService,UrlRules:UrlRules,UrlConfig:UrlConfig,UrlMatcher:UrlMatcher,ParamFactory:ParamFactory,UrlMatcherFactory:UrlMatcherFactory,UrlRouter:UrlRouter,UrlRuleFactory:UrlRuleFactory,BaseUrlRule:BaseUrlRule,UrlService:UrlService,ViewService:ViewService,UIRouterGlobals:UIRouterGlobals,UIRouter:UIRouter,$q:$q,$injector:$injector,BaseLocationServices:BaseLocationServices,HashLocationService:HashLocationService,MemoryLocationService:MemoryLocationService,PushStateLocationService:PushStateLocationService,MemoryLocationConfig:MemoryLocationConfig,BrowserLocationConfig:BrowserLocationConfig,keyValsToObjectR:keyValsToObjectR,getParams:getParams,parseUrl:parseUrl$1,buildUrl:buildUrl,locationPluginFactory:locationPluginFactory,servicesPlugin:servicesPlugin,hashLocationPlugin:hashLocationPlugin,pushStateLocationPlugin:pushStateLocationPlugin,memoryLocationPlugin:memoryLocationPlugin,UIRouterPluginBase:UIRouterPluginBase});function getNg1ViewConfigFactory(){var templateFactory=null;return function(path,view){return templateFactory=templateFactory||services.$injector.get("$templateFactory"),[new Ng1ViewConfig(path,view,templateFactory)]}}var hasAnyKey=function(keys,obj){return keys.reduce(function(acc,key){return acc||isDefined(obj[key])},!1)};function ng1ViewsBuilder(state){if(!state.parent)return{};var compKeys=["component","bindings","componentProvider"],nonCompKeys=["templateProvider","templateUrl","template","notify","async"].concat(["controller","controllerProvider","controllerAs","resolveAs"]),allViewKeys=compKeys.concat(nonCompKeys);if(isDefined(state.views)&&hasAnyKey(allViewKeys,state))throw new Error("State '"+state.name+"' has a 'views' object. It cannot also have \"view properties\" at the state level. Move the following properties into a view (in the 'views' object): "+allViewKeys.filter(function(key){return isDefined(state[key])}).join(", "));var views={},viewsObject=state.views||{$default:pick(state,allViewKeys)};return forEach(viewsObject,function(config,name){if(name=name||"$default",isString(config)&&(config={component:config}),config=extend({},config),hasAnyKey(compKeys,config)&&hasAnyKey(nonCompKeys,config))throw new Error("Cannot combine: "+compKeys.join("|")+" with: "+nonCompKeys.join("|")+" in stateview: '"+name+"@"+state.name+"'");config.resolveAs=config.resolveAs||"$resolve",config.$type="ng1",config.$context=state,config.$name=name;var normalized=ViewService.normalizeUIViewTarget(config.$context,config.$name);config.$uiViewName=normalized.uiViewName,config.$uiViewContextAnchor=normalized.uiViewContextAnchor,views[name]=config}),views}var id$1=0,Ng1ViewConfig=function(){function Ng1ViewConfig(path,viewDecl,factory){var _this=this;this.path=path,this.viewDecl=viewDecl,this.factory=factory,this.$id=id$1++,this.loaded=!1,this.getTemplate=function(uiView,context){return _this.component?_this.factory.makeComponentTemplate(uiView,context,_this.component,_this.viewDecl.bindings):_this.template}}return Ng1ViewConfig.prototype.load=function(){var _this=this,$q$$1=services.$q,context=new ResolveContext(this.path),params=this.path.reduce(function(acc,node){return extend(acc,node.paramValues)},{}),promises={template:$q$$1.when(this.factory.fromConfig(this.viewDecl,params,context)),controller:$q$$1.when(this.getController(context))};return $q$$1.all(promises).then(function(results){return trace.traceViewServiceEvent("Loaded",_this),_this.controller=results.controller,extend(_this,results.template),_this})},Ng1ViewConfig.prototype.getController=function(context){var provider=this.viewDecl.controllerProvider;if(!isInjectable(provider))return this.viewDecl.controller;var deps=services.$injector.annotate(provider),providerFn=isArray(provider)?tail(provider):provider;return new Resolvable("",providerFn,deps).get(context)},Ng1ViewConfig}(),TemplateFactory=function(){function TemplateFactory(){var _this=this;this._useHttp=ng.version.minor<3,this.$get=["$http","$templateCache","$injector",function($http,$templateCache,$injector$$1){return _this.$templateRequest=$injector$$1.has&&$injector$$1.has("$templateRequest")&&$injector$$1.get("$templateRequest"),_this.$http=$http,_this.$templateCache=$templateCache,_this}]}return TemplateFactory.prototype.useHttpService=function(value){this._useHttp=value},TemplateFactory.prototype.fromConfig=function(config,params,context){var asTemplate=function(result){return services.$q.when(result).then(function(str){return{template:str}})},asComponent=function(result){return services.$q.when(result).then(function(str){return{component:str}})};return isDefined(config.template)?asTemplate(this.fromString(config.template,params)):isDefined(config.templateUrl)?asTemplate(this.fromUrl(config.templateUrl,params)):isDefined(config.templateProvider)?asTemplate(this.fromProvider(config.templateProvider,params,context)):isDefined(config.component)?asComponent(config.component):isDefined(config.componentProvider)?asComponent(this.fromComponentProvider(config.componentProvider,params,context)):asTemplate("<ui-view></ui-view>")},TemplateFactory.prototype.fromString=function(template,params){return isFunction(template)?template(params):template},TemplateFactory.prototype.fromUrl=function(url,params){return isFunction(url)&&(url=url(params)),null==url?null:this._useHttp?this.$http.get(url,{cache:this.$templateCache,headers:{Accept:"text/html"}}).then(function(response){return response.data}):this.$templateRequest(url)},TemplateFactory.prototype.fromProvider=function(provider,params,context){var deps=services.$injector.annotate(provider),providerFn=isArray(provider)?tail(provider):provider;return new Resolvable("",providerFn,deps).get(context)},TemplateFactory.prototype.fromComponentProvider=function(provider,params,context){var deps=services.$injector.annotate(provider),providerFn=isArray(provider)?tail(provider):provider;return new Resolvable("",providerFn,deps).get(context)},TemplateFactory.prototype.makeComponentTemplate=function(uiView,context,component,bindings){bindings=bindings||{};var prefix=3<=ng.version.minor?"::":"",kebob=function(camelCase){var kebobed=kebobString(camelCase);return/^(x|data)-/.exec(kebobed)?"x-"+kebobed:kebobed},attrs=function(name){var cmpDefs=services.$injector.get(name+"Directive");if(!cmpDefs||!cmpDefs.length)throw new Error("Unable to find component named '"+name+"'");return cmpDefs.map(getBindings).reduce(unnestR,[])}(component).map(function(input){var name=input.name,type=input.type,attrName=kebob(name);if(uiView.attr(attrName)&&!bindings[name])return attrName+"='"+uiView.attr(attrName)+"'";var resolveName=bindings[name]||name;if("@"===type)return attrName+"='{{"+prefix+"$resolve."+resolveName+"}}'";if("&"!==type)return attrName+"='"+prefix+"$resolve."+resolveName+"'";var res=context.getResolvable(resolveName),fn=res&&res.data,args=fn&&services.$injector.annotate(fn)||[];return attrName+"='$resolve."+resolveName+(isArray(fn)?"["+(fn.length-1)+"]":"")+"("+args.join(",")+")'"}).join(" "),kebobName=kebob(component);return"<"+kebobName+" "+attrs+"></"+kebobName+">"},TemplateFactory}();var getBindings=function(def){return isObject(def.bindToController)?scopeBindings(def.bindToController):scopeBindings(def.scope)},scopeBindings=function(bindingsObj){return Object.keys(bindingsObj||{}).map(function(key){return[key,/^([=<@&])[?]?(.*)/.exec(bindingsObj[key])]}).filter(function(tuple){return isDefined(tuple)&&isArray(tuple[1])}).map(function(tuple){return{name:tuple[1][2]||tuple[0],type:tuple[1][1]}})},StateProvider=function(){function StateProvider(stateRegistry,stateService){this.stateRegistry=stateRegistry,this.stateService=stateService,createProxyFunctions(val(StateProvider.prototype),this,val(this))}return StateProvider.prototype.decorator=function(name,func){return this.stateRegistry.decorator(name,func)||this},StateProvider.prototype.state=function(name,definition){return isObject(name)?definition=name:definition.name=name,this.stateRegistry.register(definition),this},StateProvider.prototype.onInvalid=function(callback){return this.stateService.onInvalid(callback)},StateProvider}(),getStateHookBuilder=function(hookName){return function(stateObject,parentFn){var hook=stateObject[hookName],pathname="onExit"===hookName?"from":"to";return hook?function(trans,state){var subContext=new ResolveContext(trans.treeChanges(pathname)).subContext(state.$$state()),locals=extend(getLocals(subContext),{$state$:state,$transition$:trans});return services.$injector.invoke(hook,this,locals)}:void 0}},Ng1LocationServices=function(){function Ng1LocationServices($locationProvider){this._urlListeners=[],this.$locationProvider=$locationProvider;var _lp=val($locationProvider);createProxyFunctions(_lp,this,_lp,["hashPrefix"])}return Ng1LocationServices.monkeyPatchPathParameterType=function(router){var pathType=router.urlMatcherFactory.type("path");pathType.encode=function(x){return null!=x?x.toString().replace(/(~|\/)/g,function(m){return{"~":"~~","/":"~2F"}[m]}):x},pathType.decode=function(x){return null!=x?x.toString().replace(/(~~|~2F)/g,function(m){return{"~~":"~","~2F":"/"}[m]}):x}},Ng1LocationServices.prototype.dispose=function(){},Ng1LocationServices.prototype.onChange=function(callback){var _this=this;return this._urlListeners.push(callback),function(){return removeFrom(_this._urlListeners)(callback)}},Ng1LocationServices.prototype.html5Mode=function(){var html5Mode=this.$locationProvider.html5Mode();return(html5Mode=isObject(html5Mode)?html5Mode.enabled:html5Mode)&&this.$sniffer.history},Ng1LocationServices.prototype.baseHref=function(){return this._baseHref||(this._baseHref=this.$browser.baseHref()||this.$window.location.pathname)},Ng1LocationServices.prototype.url=function(newUrl,replace,state){return void 0===replace&&(replace=!1),isDefined(newUrl)&&this.$location.url(newUrl),replace&&this.$location.replace(),state&&this.$location.state(state),this.$location.url()},Ng1LocationServices.prototype._runtimeServices=function($rootScope,$location,$sniffer,$browser,$window){var _this=this;this.$location=$location,this.$sniffer=$sniffer,this.$browser=$browser,this.$window=$window,$rootScope.$on("$locationChangeSuccess",function(evt){return _this._urlListeners.forEach(function(fn){return fn(evt)})});var _loc=val($location);createProxyFunctions(_loc,this,_loc,["replace","path","search","hash"]),createProxyFunctions(_loc,this,_loc,["port","protocol","host"])},Ng1LocationServices}(),UrlRouterProvider=function(){function UrlRouterProvider(router){this.router=router}return UrlRouterProvider.injectableHandler=function(router,handler){return function(match){return services.$injector.invoke(handler,null,{$match:match,$stateParams:router.globals.params})}},UrlRouterProvider.prototype.$get=function(){var urlService=this.router.urlService;return this.router.urlRouter.update(!0),urlService.interceptDeferred||urlService.listen(),this.router.urlRouter},UrlRouterProvider.prototype.rule=function(ruleFn){var _this=this;if(!isFunction(ruleFn))throw new Error("'rule' must be a function");var rule=new BaseUrlRule(function(){return ruleFn(services.$injector,_this.router.locationService)},identity);return this.router.urlService.rules.rule(rule),this},UrlRouterProvider.prototype.otherwise=function(rule){var _this=this,urlRules=this.router.urlService.rules;if(isString(rule))urlRules.otherwise(rule);else{if(!isFunction(rule))throw new Error("'rule' must be a string or function");urlRules.otherwise(function(){return rule(services.$injector,_this.router.locationService)})}return this},UrlRouterProvider.prototype.when=function(what,handler){return(isArray(handler)||isFunction(handler))&&(handler=UrlRouterProvider.injectableHandler(this.router,handler)),this.router.urlService.rules.when(what,handler),this},UrlRouterProvider.prototype.deferIntercept=function(defer){this.router.urlService.deferIntercept(defer)},UrlRouterProvider}();ng.module("ui.router.angular1",[]);var mod_init=ng.module("ui.router.init",["ng"]),mod_util=ng.module("ui.router.util",["ui.router.init"]),mod_rtr=ng.module("ui.router.router",["ui.router.util"]),mod_state=ng.module("ui.router.state",["ui.router.router","ui.router.util","ui.router.angular1"]),mod_main=ng.module("ui.router",["ui.router.init","ui.router.state","ui.router.angular1"]),router=(ng.module("ui.router.compat",["ui.router"]),null);function $uiRouterProvider($locationProvider){(router=this.router=new UIRouter).stateProvider=new StateProvider(router.stateRegistry,router.stateService),router.stateRegistry.decorator("views",ng1ViewsBuilder),router.stateRegistry.decorator("onExit",getStateHookBuilder("onExit")),router.stateRegistry.decorator("onRetain",getStateHookBuilder("onRetain")),router.stateRegistry.decorator("onEnter",getStateHookBuilder("onEnter")),router.viewService._pluginapi._viewConfigFactory("ng1",getNg1ViewConfigFactory());var ng1LocationService=router.locationService=router.locationConfig=new Ng1LocationServices($locationProvider);function $get($location,$browser,$window,$sniffer,$rootScope,$http,$templateCache){return ng1LocationService._runtimeServices($rootScope,$location,$sniffer,$browser,$window),delete router.router,delete router.$get,router}return Ng1LocationServices.monkeyPatchPathParameterType(router),((router.router=router).$get=$get).$inject=["$location","$browser","$window","$sniffer","$rootScope","$http","$templateCache"],router}$uiRouterProvider.$inject=["$locationProvider"];var getProviderFor=function(serviceName){return["$uiRouterProvider",function($urp){var service=$urp.router[serviceName];return service.$get=function(){return service},service}]};function runBlock($injector$$1,$q$$1,$uiRouter){if(services.$injector=$injector$$1,services.$q=$q$$1,!$injector$$1.hasOwnProperty("str
1ictDi"))try{$injector$$1.invoke(function(checkStrictDi){})}catch(error){$injector$$1.strictDi=!!/strict mode/.exec(error&&error.toString())}$uiRouter.stateRegistry.get().map(function(x){return x.$$state().resolvables}).reduce(unnestR,[]).filter(function(x){return"deferred"===x.deps}).forEach(function(resolvable){return resolvable.deps=$injector$$1.annotate(resolvable.resolveFn,$injector$$1.strictDi)})}runBlock.$inject=["$injector","$q","$uiRouter"];function watchDigests($rootScope){$rootScope.$watch(function(){trace.approximateDigests++})}watchDigests.$inject=["$rootScope"],mod_init.provider("$uiRouter",$uiRouterProvider),mod_rtr.provider("$urlRouter",["$uiRouterProvider",function(uiRouter){return uiRouter.urlRouterProvider=new UrlRouterProvider(uiRouter)}]),mod_util.provider("$urlService",getProviderFor("urlService")),mod_util.provider("$urlMatcherFactory",["$uiRouterProvider",function(){return router.urlMatcherFactory}]),mod_util.provider("$templateFactory",function(){return new TemplateFactory}),mod_state.provider("$stateRegistry",getProviderFor("stateRegistry")),mod_state.provider("$uiRouterGlobals",getProviderFor("globals")),mod_state.provider("$transitions",getProviderFor("transitionService")),mod_state.provider("$state",["$uiRouterProvider",function(){return extend(router.stateProvider,{$get:function(){return router.stateService}})}]),mod_state.factory("$stateParams",["$uiRouter",function($uiRouter){return $uiRouter.globals.params}]),mod_main.factory("$view",function(){return router.viewService}),mod_main.service("$trace",function(){return trace}),mod_main.run(watchDigests),mod_util.run(["$urlMatcherFactory",function($urlMatcherFactory){}]),mod_state.run(["$state",function($state){}]),mod_rtr.run(["$urlRouter",function($urlRouter){}]),mod_init.run(runBlock);var uiSrefDirective,uiStateDirective,uiSrefActiveDirective,uiView,getLocals=function(ctx){return ctx.getTokens().filter(isString).map(function(key){var resolvable=ctx.getResolvable(key);return[key,"NOWAIT"===ctx.getPolicy(resolvable).async?resolvable.promise:resolvable.data]}).reduce(applyPairs,{})};function parseStateRef(ref){var parsed,paramsOnly=ref.match(/^\s*({[^}]*})\s*$/);if(paramsOnly&&(ref="("+paramsOnly[1]+")"),!(parsed=ref.replace(/\n/g," ").match(/^\s*([^(]*?)\s*(\((.*)\))?\s*$/))||4!==parsed.length)throw new Error("Invalid state ref '"+ref+"'");return{state:parsed[1]||null,paramExpr:parsed[3]||null}}function stateContext(el){var $uiView=el.parent().inheritedData("$uiView"),path=parse("$cfg.path")($uiView);return path?tail(path).state.name:void 0}function processedDef($state,$element,def){var uiState=def.uiState||$state.current.name,uiStateOpts=extend(function(el,$state){return{relative:stateContext(el)||$state.$current,inherit:!0,source:"sref"}}($element,$state),def.uiStateOpts||{}),href=$state.href(uiState,def.uiStateParams,uiStateOpts);return{uiState:uiState,uiStateParams:def.uiStateParams,uiStateOpts:uiStateOpts,href:href}}function getTypeInfo(el){var isSvg="[object SVGAnimatedString]"===Object.prototype.toString.call(el.prop("href")),isForm="FORM"===el[0].nodeName;return{attr:isForm?"action":isSvg?"xlink:href":"href",isAnchor:"A"===el.prop("tagName").toUpperCase(),clickable:!isForm}}function clickHook(el,$state,$timeout,type,getDef){return function(e){var button=e.which||e.button,target=getDef();if(!(1<button||e.ctrlKey||e.metaKey||e.shiftKey||el.attr("target"))){var transition_1=$timeout(function(){el.attr("disabled")||$state.go(target.uiState,target.uiStateParams,target.uiStateOpts)});e.preventDefault();var ignorePreventDefaultCount_1=type.isAnchor&&!target.href?1:0;e.preventDefault=function(){ignorePreventDefaultCount_1--<=0&&$timeout.cancel(transition_1)}}}}function bindEvents(element,scope,hookFn,uiStateOpts){var events;uiStateOpts&&(events=uiStateOpts.events),isArray(events)||(events=["click"]);for(var on=element.on?"on":"bind",_i=0,events_1=events;_i<events_1.length;_i++){var event_1=events_1[_i];element[on](event_1,hookFn)}scope.$on("$destroy",function(){for(var off=element.off?"off":"unbind",_i=0,events_2=events;_i<events_2.length;_i++){var event_2=events_2[_i];element[off](event_2,hookFn)}})}function $IsStateFilter($state){var isFilter=function(state,params,options){return $state.is(state,params,options)};return isFilter.$stateful=!0,isFilter}function $IncludedByStateFilter($state){var includesFilter=function(state,params,options){return $state.includes(state,params,options)};return includesFilter.$stateful=!0,includesFilter}function $ViewDirectiveFill($compile,$controller,$transitions,$view,$q$$1,$timeout){var getControllerAs=parse("viewDecl.controllerAs"),getResolveAs=parse("viewDecl.resolveAs");return{restrict:"ECA",priority:-400,compile:function(tElement){var initial=tElement.html();return tElement.empty(),function(scope,$element){var data=$element.data("$uiView");if(!data)return $element.html(initial),void $compile($element.contents())(scope);var cfg=data.$cfg||{viewDecl:{},getTemplate:noop},resolveCtx=cfg.path&&new ResolveContext(cfg.path);
vendor: 4,983 bytes, line 1
1$element.html(cfg.getTemplate($element,resolveCtx)||initial),trace.traceUIViewFill(data.$uiView,$element.html());var link=$compile($element.contents()),controller=cfg.controller,controllerAs=getControllerAs(cfg),resolveAs=getResolveAs(cfg),locals=resolveCtx&&getLocals(resolveCtx);if(scope[resolveAs]=locals,controller){var controllerInstance=$controller(controller,extend({},locals,{$scope:scope,$element:$element}));controllerAs&&(scope[controllerAs]=controllerInstance,scope[controllerAs][resolveAs]=locals),$element.data("$ngControllerController",controllerInstance),$element.children().data("$ngControllerController",controllerInstance),registerControllerCallbacks($q$$1,$transitions,controllerInstance,scope,cfg)}if(isString(cfg.component))var kebobName=kebobString(cfg.component),tagRegexp_1=new RegExp("^(x-|data-)?"+kebobName+"$","i"),deregisterWatch_1=scope.$watch(function(){var directiveEl=[].slice.call($element[0].children).filter(function(el){return el&&el.tagName&&tagRegexp_1.exec(el.tagName)});return directiveEl&&ng.element(directiveEl).data("$"+cfg.component+"Controller")},function(ctrlInstance){ctrlInstance&&(registerControllerCallbacks($q$$1,$transitions,ctrlInstance,scope,cfg),deregisterWatch_1())});link(scope)}}}}uiSrefDirective=["$uiRouter","$timeout",function($uiRouter,$timeout){var $state=$uiRouter.stateService;return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(scope,element,attrs,uiSrefActive){var hookFn,type=getTypeInfo(element),active=uiSrefActive[1]||uiSrefActive[0],unlinkInfoFn=null,rawDef={},getDef=function(){return processedDef($state,element,rawDef)},ref=parseStateRef(attrs.uiSref);function update(){var def=getDef();unlinkInfoFn&&unlinkInfoFn(),active&&(unlinkInfoFn=active.$$addStateInfo(def.uiState,def.uiStateParams)),null!=def.href&&attrs.$set(type.attr,def.href)}rawDef.uiState=ref.state,rawDef.uiStateOpts=attrs.uiSrefOpts?scope.$eval(attrs.uiSrefOpts):{},ref.paramExpr&&(scope.$watch(ref.paramExpr,function(val$$1){rawDef.uiStateParams=extend({},val$$1),update()},!0),rawDef.uiStateParams=extend({},scope.$eval(ref.paramExpr))),update(),scope.$on("$destroy",$uiRouter.stateRegistry.onStatesChanged(update)),scope.$on("$destroy",$uiRouter.transitionService.onSuccess({},update)),type.clickable&&(hookFn=clickHook(element,$state,$timeout,type,getDef),bindEvents(element,scope,hookFn,rawDef.uiStateOpts))}}}],uiStateDirective=["$uiRouter","$timeout",function($uiRouter,$timeout){var $state=$uiRouter.stateService;return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(scope,element,attrs,uiSrefActive){var hookFn,type=getTypeInfo(element),active=uiSrefActive[1]||uiSrefActive[0],unlinkInfoFn=null,rawDef={},getDef=function(){return processedDef($state,element,rawDef)},inputAttrs=["uiState","uiStateParams","uiStateOpts"],watchDeregFns=inputAttrs.reduce(function(acc,attr){return acc[attr]=noop,acc},{});function update(){var def=getDef();unlinkInfoFn&&unlinkInfoFn(),active&&(unlinkInfoFn=active.$$addStateInfo(def.uiState,def.uiStateParams)),null!=def.href&&attrs.$set(type.attr,def.href)}inputAttrs.forEach(function(field){rawDef[field]=attrs[field]?scope.$eval(attrs[field]):null,attrs.$observe(field,function(expr){watchDeregFns[field](),watchDeregFns[field]=scope.$watch(expr,function(newval){rawDef[field]=newval,update()},!0)})}),update(),scope.$on("$destroy",$uiRouter.stateRegistry.onStatesChanged(update)),scope.$on("$destroy",$uiRouter.transitionService.onSuccess({},update)),type.clickable&&(hookFn=clickHook(element,$state,$timeout,type,getDef),bindEvents(element,scope,hookFn,rawDef.uiStateOpts))}}}],uiSrefActiveDirective=["$state","$stateParams","$interpolate","$uiRouter",function($state,$stateParams,$interpolate,$uiRouter){return{restrict:"A",controller:["$scope","$element","$attrs",function($scope,$element,$attrs){var activeEqClass,uiSrefActive,deregisterStatesChangedListener,deregisterOnStartListener,deregisterStateChangeSuccessListener,states=[];activeEqClass=$interpolate($attrs.uiSrefActiveEq||"",!1)($scope);try{uiSrefActive=$scope.$eval($attrs.uiSrefActive)}catch(e){}function updateAfterTransition(trans){trans.promise.then(update,noop)}function handleStatesChanged(){setStatesFromDefinitionObject(uiSrefActive)}function setStatesFromDefinitionObject(statesDefinition){isObject(statesDefinition)&&(states=[],forEach(statesDefinition,function(stateOrName,activeClass){var addStateForClass=function(stateOrName,activeClass){var ref=parseStateRef(stateOrName);addState(ref.state,$scope.$eval(ref.paramExpr),activeClass)};isString(stateOrName)?addStateForClass(stateOrName,activeClass):isArray(stateOrName)&&forEach(stateOrName,function(stateOrName){addStateForClass(stateOrName,activeClass)})}))}function addState(stateName,stateParams,activeClass){var stateInfo={state:$state.get(stateName,stateContext($element))||{name:stateName},params:stateParams,activeClass:activeClass};return states.push(stateInfo),function(){removeFrom(states)(stateInfo)}}
1function update(){var splitClasses=function(str){return str.split(/\s/).filter(identity)},getClasses=function(stateList){return stateList.map(function(x){return x.activeClass}).map(splitClasses).reduce(unnestR,[])},allClasses=getClasses(states).concat(splitClasses(activeEqClass)).reduce(uniqR,[]),fuzzyClasses=getClasses(states.filter(function(x){return $state.includes(x.state.name,x.params)})),exactClasses=!!states.filter(function(x){return $state.is(x.state.name,x.params)}).length?splitClasses(activeEqClass):[],addClasses=fuzzyClasses.concat(exactClasses).reduce(uniqR,[]),removeClasses=allClasses.filter(function(cls){return!inArray(addClasses,cls)});$scope.$evalAsync(function(){addClasses.forEach(function(className){return $element.addClass(className)}),removeClasses.forEach(function(className){return $element.removeClass(className)})})}setStatesFromDefinitionObject(uiSrefActive=uiSrefActive||$interpolate($attrs.uiSrefActive||"",!1)($scope)),this.$$addStateInfo=function(newState,newParams){if(!(isObject(uiSrefActive)&&0<states.length)){var deregister=addState(newState,newParams,uiSrefActive);return update(),deregister}},$scope.$on("$destroy",(deregisterStatesChangedListener=$uiRouter.stateRegistry.onStatesChanged(handleStatesChanged),deregisterOnStartListener=$uiRouter.transitionService.onStart({},updateAfterTransition),deregisterStateChangeSuccessListener=$scope.$on("$stateChangeSuccess",update),function(){deregisterStatesChangedListener(),deregisterOnStartListener(),deregisterStateChangeSuccessListener()})),$uiRouter.globals.transition&&updateAfterTransition($uiRouter.globals.transition),update()}]}}],ng.module("ui.router.state").directive("uiSref",uiSrefDirective).directive("uiSrefActive",uiSrefActiveDirective).directive("uiSrefActiveEq",uiSrefActiveDirective).directive("uiState",uiStateDirective),$IsStateFilter.$inject=["$state"],$IncludedByStateFilter.$inject=["$state"],ng.module("ui.router.state").filter("isState",$IsStateFilter).filter("includedByState",$IncludedByStateFilter),uiView=["$view","$animate","$uiViewScroll","$interpolate","$q",function($view,$animate,$uiViewScroll,$interpolate,$q$$1){var rootData={$cfg:{viewDecl:{$context:$view._pluginapi._rootViewContext()}},$uiView:{}},directive={count:0,restrict:"ECA",terminal:!0,priority:400,transclude:"element",compile:function(tElement,tAttrs,$transclude){return function(scope,$element,attrs){var previousEl,currentEl,currentScope,viewConfig,unregister,onloadExp=attrs.onload||"",autoScrollExp=attrs.autoscroll,renderer={enter:function(element,target,cb){2<ng.version.minor?$animate.enter(element,null,target).then(cb):$animate.enter(element,null,target,cb)},leave:function(element,cb){2<ng.version.minor?$animate.leave(element).then(cb):$animate.leave(element,cb)}},inherited=$element.inheritedData("$uiView")||rootData,name=$interpolate(attrs.uiView||attrs.name||"")(scope)||"$default",activeUIView={$type:"ng1",id:directive.count++,name:name,fqn:inherited.$uiView.fqn?inherited.$uiView.fqn+"."+name:name,config:null,configUpdated:function(config){if(config&&!(config instanceof Ng1ViewConfig))return;if(config1=viewConfig,config2=config,config1===config2)return;var config1,config2;trace.traceUIViewConfigUpdated(activeUIView,config&&config.viewDecl&&config.viewDecl.$context),updateView(viewConfig=config)},get creationContext(){var fromParentTagConfig=parse("$cfg.viewDecl.$context")(inherited),fromParentTag=parse("$uiView.creationContext")(inherited);return fromParentTagConfig||fromParentTag}};function updateView(config){var newScope=scope.$new(),animEnter=$q$$1.defer(),animLeave=$q$$1.defer(),$uiViewData={$cfg:config,$uiView:activeUIView},$uiViewAnim={$animEnter:animEnter.promise,$animLeave:animLeave.promise,$$animLeave:animLeave};newScope.$emit("$viewContentLoading",name),currentEl=$transclude(newScope,function(clone){clone.data("$uiViewAnim",$uiViewAnim),clone.data("$uiView",$uiViewData),renderer.enter(clone,$element,function(){animEnter.resolve(),currentScope&¤tScope.$emit("$viewContentAnimationEnded"),(isDefined(autoScrollExp)&&!autoScrollExp||scope.$eval(autoScrollExp))&&$uiViewScroll(clone)}),function(){if(previousEl&&(trace.traceUIViewEvent("Removing (previous) el",previousEl.data("$uiView")),previousEl.remove(),previousEl=null),currentScope&&(trace.traceUIViewEvent("Destroying scope",activeUIView),currentScope.$destroy(),currentScope=null),currentEl){var _viewData_1=currentEl.data("$uiViewAnim");trace.traceUIViewEvent("Animate out",_viewData_1),renderer.leave(currentEl,function(){_viewData_1.$$animLeave.resolve(),previousEl=null}),previousEl=currentEl,currentEl=null}}()}),(currentScope=newScope).$emit("$viewContentLoaded",config||viewConfig),currentScope.$eval(onloadExp)}trace.traceUIViewEvent("Linking",activeUIView),$element.data("$uiView",{$uiView:activeUIView}),updateView(),unregister=$view.registerUIView(activeUIView),scope.$on("$destroy",function(){trace.traceUIViewEvent("Destroying/Unregistering",activeUIView),unregister()})}}};return directive}],$ViewDirectiveFill.$inject=["$compile","$controller","$transitions","$view","$q","$timeout"];var hasComponentImpl="function"==typeof ng.module("ui.router").component,_uiCanExitId=0;function registerControllerCallbacks($q$$1,$transitions,controllerInstance,$scope,cfg){!isFunction(controllerInstance.$onInit)||cfg.viewDecl.component&&hasComponentImpl||controllerInstance.$onInit();var viewState=tail(cfg.path).state.self,hookOptions={bind:controllerInstance};if(isFunction(controllerInstance.uiOnParamsChanged)){var viewCreationTrans_1=new ResolveContext(cfg.path).getResolvable("$transition$").data;$scope.$on("$destroy",$transitions.onSuccess({},function($transition$){if($transition$!==viewCreationTrans_1&&-1===$transition$.exiting(
1).indexOf(viewState)){var toParams=$transition$.params("to"),fromParams=$transition$.params("from"),getNodeSchema=function(node){return node.paramSchema},toSchema=$transition$.treeChanges("to").map(getNodeSchema).reduce(unnestR,[]),fromSchema=$transition$.treeChanges("from").map(getNodeSchema).reduce(unnestR,[]),changedToParams=toSchema.filter(function(param){var idx=fromSchema.indexOf(param);return-1===idx||!fromSchema[idx].type.equals(toParams[param.id],fromParams[param.id])});if(changedToParams.length){var changedKeys_1=changedToParams.map(function(x){return x.id}),newValues=filter(toParams,function(val$$1,key){return-1!==changedKeys_1.indexOf(key)});controllerInstance.uiOnParamsChanged(newValues,$transition$)}}},hookOptions))}if(isFunction(controllerInstance.uiCanExit)){var id_1=_uiCanExitId++,prevTruthyAnswer_1=function(trans){return!!trans&&(trans._uiCanExitIds&&!0===trans._uiCanExitIds[id_1]||prevTruthyAnswer_1(trans.redirectedFrom()))},criteria={exiting:viewState.name};$scope.$on("$destroy",$transitions.onBefore(criteria,function(trans){var promise,ids=trans._uiCanExitIds=trans._uiCanExitIds||{};return prevTruthyAnswer_1(trans)||(promise=$q$$1.when(controllerInstance.uiCanExit(trans))).then(function(val$$1){return ids[id_1]=!1!==val$$1}),promise},hookOptions))}}ng.module("ui.router.state").directive("uiView",uiView),ng.module("ui.router.state").directive("uiView",$ViewDirectiveFill),ng.module("ui.router.state").provider("$uiViewScroll",function(){var useAnchorScroll=!1;this.useAnchorScroll=function(){useAnchorScroll=!0},this.$get=["$anchorScroll","$timeout",function($anchorScroll,$timeout){return useAnchorScroll?$anchorScroll:function($element){return $timeout(function(){$element[0].scrollIntoView()},0,!1)}}]});exports.default="ui.router",exports.core=index,exports.watchDigests=watchDigests,exports.getLocals=getLocals,exports.getNg1ViewConfigFactory=getNg1ViewConfigFactory,exports.ng1ViewsBuilder=ng1ViewsBuilder,exports.Ng1ViewConfig=Ng1ViewConfig,exports.StateProvider=StateProvider,exports.UrlRouterProvider=UrlRouterProvider,exports.root=root,exports.fromJson=fromJson,exports.toJson=toJson,exports.forEach=forEach,exports.extend=extend,exports.equals=equals,exports.identity=identity,exports.noop=noop,exports.createProxyFunctions=createProxyFunctions,exports.inherit=inherit,exports.inArray=inArray,exports._inArray=_inArray,exports.removeFrom=removeFrom,exports._removeFrom=_removeFrom,exports.pushTo=pushTo,exports._pushTo=_pushTo,exports.deregAll=deregAll,exports.defaults=defaults,exports.mergeR=mergeR,exports.ancestors=ancestors,exports.pick=pick,exports.omit=omit,exports.pluck=pluck,exports.filter=filter,exports.find=find,exports.mapObj=mapObj,exports.map=map,exports.values=values,exports.allTrueR=allTrueR,exports.anyTrueR=anyTrueR,exports.unnestR=unnestR,exports.flattenR=flattenR,exports.pushR=pushR,exports.uniqR=uniqR,exports.unnest=unnest,exports.flatten=flatten,exports.assertPredicate=assertPredicate,exports.assertMap=assertMap,exports.assertFn=assertFn,exports.pairs=pairs,exports.arrayTuples=arrayTuples,exports.applyPairs=applyPairs,exports.tail=tail,exports.copy=copy,exports._extend=_extend,exports.silenceUncaughtInPromise=silenceUncaughtInPromise,exports.silentRejection=silentRejection,exports.makeStub=makeStub,exports.services=services,exports.Glob=Glob,exports.curry=curry,exports.compose=compose,exports.pipe=pipe,exports.prop=prop,exports.propEq=propEq,exports.parse=parse,exports.not=not,exports.and=and,exports.or=or,exports.all=all,exports.any=any,exports.is=is,exports.eq=eq,exports.val=val,exports.invoke=invoke,exports.pattern=pattern,exports.isUndefined=isUndefined,exports.isDefined=isDefined,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isFunction=isFunction,exports.isNumber=isNumber,exports.isString=isString,exports.isObject=isObject,exports.isArray=isArray,exports.isDate=isDate,exports.isRegExp=isRegExp,exports.isInjectable=isInjectable,exports.isPromise=isPromise,exports.Queue=Queue,exports.maxLength=maxLength,exports.padString=padString,exports.kebobString=kebobString,exports.functionToString=functionToString,exports.fnToString=fnToString,exports.stringify=stringify,exports.beforeAfterSubstr=beforeAfterSubstr,exports.hostRegex=hostRegex,exports.stripLastPathElement=stripLastPathElement,exports.splitHash=splitHash,exports.splitQuery=splitQuery,exports.splitEqual=splitEqual,exports.trimHashVal=trimHashVal,exports.splitOnDelim=splitOnDelim,exports.joinNeighborsR=joinNeighborsR,exports.Trace=Trace,exports.trace=trace,exports.Param=Param,exports.ParamTypes=ParamTypes,exports.StateParams=StateParams,exports.ParamType=ParamType,exports.PathNode=PathNode,exports.PathUtils=PathUtils,exports.resolvePolicies=resolvePolicies,exports.defaultResolvePolicy=defaultResolvePolicy,exports.Resolvable=Resolvable,exports.NATIVE_INJECTOR_TOKEN="Native Injector",exports.ResolveContext=ResolveContext,exports.resolvablesBuilder=resolvablesBuilder,exports.StateBuilder=StateBuilder,exports.StateObject=StateObject,exports.StateMatcher=StateMatcher,exports.StateQueueManager=StateQueueManager,exports.StateRegistry=StateRegistry,exports.StateService=StateService,exp
1orts.TargetState=TargetState,exports.HookBuilder=HookBuilder,exports.matchState=matchState,exports.RegisteredHook=RegisteredHook,exports.makeEvent=makeEvent,exports.Rejection=Rejection,exports.Transition=Transition,exports.TransitionHook=TransitionHook,exports.TransitionEventType=TransitionEventType,exports.defaultTransOpts=defaultTransOpts,exports.TransitionService=TransitionService,exports.UrlRules=UrlRules,exports.UrlConfig=UrlConfig,exports.UrlMatcher=UrlMatcher,exports.ParamFactory=ParamFactory,exports.UrlMatcherFactory=UrlMatcherFactory,exports.UrlRouter=UrlRouter,exports.UrlRuleFactory=UrlRuleFactory,exports.BaseUrlRule=BaseUrlRule,exports.UrlService=UrlService,exports.ViewService=ViewService,exports.UIRouterGlobals=UIRouterGlobals,exports.UIRouter=UIRouter,exports.$q=$q,exports.$injector=$injector,exports.BaseLocationServices=BaseLocationServices,exports.HashLocationService=HashLocationService,exports.MemoryLocationService=MemoryLocationService,exports.PushStateLocationService=PushStateLocationService,exports.MemoryLocationConfig=MemoryLocationConfig,exports.BrowserLocationConfig=BrowserLocationConfig,exports.keyValsToObjectR=keyValsToObjectR,exports.getParams=getParams,exports.parseUrl=parseUrl$1,exports.buildUrl=buildUrl,exports.locationPluginFactory=locationPluginFactory,exports.servicesPlugin=servicesPlugin,exports.hashLocationPlugin=hashLocationPlugin,exports.pushStateLocationPlugin=pushStateLocationPlugin,exports.memoryLocationPlugin=memoryLocationPlugin,exports.UIRouterPluginBase=UIRouterPluginBase,Object.defineProperty(exports,"__esModule",{value:!0})}),function(){"use strict";var KEY={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,COMMAND:91,MAP:{91:"COMMAND",8:"BACKSPACE",9:"TAB",13:"ENTER",16:"SHIFT",17:"CTRL",18:"ALT",19:"PAUSEBREAK",20:"CAPSLOCK",27:"ESC",32:"SPACE",33:"PAGE_UP",34:"PAGE_DOWN",35:"END",36:"HOME",37:"LEFT",38:"UP",39:"RIGHT",40:"DOWN",43:"+",44:"PRINTSCREEN",45:"INSERT",46:"DELETE",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"A",66:"B",67:"C",68:"D",69:"E",70:"F",71:"G",72:"H",73:"I",74:"J",75:"K",76:"L",77:"M",78:"N",79:"O",80:"P",81:"Q",82:"R",83:"S",84:"T",85:"U",86:"V",87:"W",88:"X",89:"Y",90:"Z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NUMLOCK",145:"SCROLLLOCK",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},isControl:function(e){switch(e.which){case KEY.COMMAND:case KEY.SHIFT:case KEY.CTRL:case KEY.ALT:return!0}return!!(e.metaKey||e.ctrlKey||e.altKey)},isFunctionKey:function(k){return 112<=(k=k.which?k.which:k)&&k<=123},isVerticalMovement:function(k){return~[KEY.UP,KEY.DOWN].indexOf(k)},isHorizontalMovement:function(k){return~[KEY.LEFT,KEY.RIGHT,KEY.BACKSPACE,KEY.DELETE].indexOf(k)},toSeparator:function(k){var sep={ENTER:"\n",TAB:"\t",SPACE:" "}[k];return sep||(KEY[k]?void 0:k)}};function isNil(value){return angular.isUndefined(value)||null===value}void 0===angular.element.prototype.querySelectorAll&&(angular.element.prototype.querySelectorAll=function(selector){return angular.element(this[0].querySelectorAll(selector))}),void 0===angular.element.prototype.closest&&(angular.element.prototype.closest=function(selector){for(var elem=this[0],matchesSelector=elem.matches||elem.webkitMatchesSelector||elem.mozMatchesSelector||elem.msMatchesSelector;elem;){if(matchesSelector.bind(elem)(selector))return elem;elem=elem.parentElement}return!1});var latestId=0,uis=angular.module("ui.select",[]).constant("uiSelectConfig",{theme:"bootstrap",searchEnabled:!0,sortable:!1,placeholder:"",refreshDelay:1e3,closeOnSelect:!0,skipFocusser:!1,dropdownPosition:"auto",removeSelected:!0,resetSearchInput:!0,generateId:function(){return latestId++},appendToBody:!1,spinnerEnabled:!1,spinnerClass:"glyphicon glyphicon-refresh ui-select-spin",backspaceReset:!0}).service("uiSelectMinErr",function(){var minErr=angular.$$minErr("ui.select");return function(){var message=minErr.apply(this,arguments).message.replace(new RegExp("\nhttp://errors.angularjs.org/.*"),"");return new Error(message)}}).directive("uisTranscludeAppend",function(){return{link:function(scope,element,attrs,ctrl,transclude){transclude(scope,function(clone){element.append(clone)})}}}).filter("highlight",function(){return function(matchItem,query){return query&&matchItem?(""+matchItem).replace(new RegExp((""+query).replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1"),"gi"),'<span class="ui-select-highlight">$&</span>'):matchItem}}).factory("uisOffset",["$document","$window",function($document,$window){return function(element){var boundingClientRect=element[0].getBoundingClientRect();return{width:boundingClientRect.width||element.prop("offsetWidth"),height:boundingClientRect.height||element.prop("offsetHeight"),top:bou
vendor: 8,675 bytes, line 1
1ndingClientRect.top+($window.pageYOffset||$document[0].documentElement.scrollTop),left:boundingClientRect.left+($window.pageXOffset||$document[0].documentElement.scrollLeft)}}}]);uis.directive("uiSelectChoices",["uiSelectConfig","uisRepeatParser","uiSelectMinErr","$compile","$window",function(uiSelectConfig,RepeatParser,uiSelectMinErr,$compile,$window){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(tElement){return tElement.addClass("ui-select-choices"),(tElement.parent().attr("theme")||uiSelectConfig.theme)+"/choices.tpl.html"},compile:function(tElement,tAttrs){if(!tAttrs.repeat)throw uiSelectMinErr("repeat","Expected 'repeat' expression.");var groupByExp=tAttrs.groupBy,groupFilterExp=tAttrs.groupFilter;if(groupByExp){var groups=tElement.querySelectorAll(".ui-select-choices-group");if(1!==groups.length)throw uiSelectMinErr("rows","Expected 1 .ui-select-choices-group but got '{0}'.",groups.length);groups.attr("ng-repeat",RepeatParser.getGroupNgRepeatExpression())}var parserResult=RepeatParser.parse(tAttrs.repeat),choices=tElement.querySelectorAll(".ui-select-choices-row");if(1!==choices.length)throw uiSelectMinErr("rows","Expected 1 .ui-select-choices-row but got '{0}'.",choices.length);choices.attr("ng-repeat",parserResult.repeatExpression(groupByExp)).attr("ng-if","$select.open");var rowsInner=tElement.querySelectorAll(".ui-select-choices-row-inner");if(1!==rowsInner.length)throw uiSelectMinErr("rows","Expected 1 .ui-select-choices-row-inner but got '{0}'.",rowsInner.length);return rowsInner.attr("uis-transclude-append",""),($window.document.addEventListener?choices:rowsInner).attr("ng-click","$select.select("+parserResult.itemName+",$select.skipFocusser,$event)"),function(scope,element,attrs,$select){$select.parseRepeatAttr(attrs.repeat,groupByExp,groupFilterExp),$select.disableChoiceExpression=attrs.uiDisableChoice,$select.onHighlightCallback=attrs.onHighlight,$select.minimumInputLength=parseInt(attrs.minimumInputLength)||0,$select.dropdownPosition=attrs.position?attrs.position.toLowerCase():uiSelectConfig.dropdownPosition,scope.$watch("$select.search",function(newValue){newValue&&!$select.open&&$select.multiple&&$select.activate(!1,!0),$select.activeIndex=$select.tagging.isActivated?-1:0,!attrs.minimumInputLength||$select.search.length>=attrs.minimumInputLength?$select.refresh(attrs.refresh):$select.items=[]}),attrs.$observe("refreshDelay",function(){var refreshDelay=scope.$eval(attrs.refreshDelay);$select.refreshDelay=void 0!==refreshDelay?refreshDelay:uiSelectConfig.refreshDelay}),scope.$watch("$select.open",function(open){open?(tElement.attr("role","listbox"),$select.refresh(attrs.refresh)):element.removeAttr("role")})}}}}]),uis.controller("uiSelectCtrl",["$scope","$element","$timeout","$filter","$$uisDebounce","uisRepeatParser","uiSelectMinErr","uiSelectConfig","$parse","$injector","$window",function($scope,$element,$timeout,$filter,$$uisDebounce,RepeatParser,uiSelectMinErr,uiSelectConfig,$parse,$injector,$window){var _refreshDelayPromise,ctrl=this,EMPTY_SEARCH="";if(ctrl.placeholder=uiSelectConfig.placeholder,ctrl.searchEnabled=uiSelectConfig.searchEnabled,ctrl.sortable=uiSelectConfig.sortable,ctrl.refreshDelay=uiSelectConfig.refreshDelay,ctrl.paste=uiSelectConfig.paste,ctrl.resetSearchInput=uiSelectConfig.resetSearchInput,ctrl.refreshing=!1,ctrl.spinnerEnabled=uiSelectConfig.spinnerEnabled,ctrl.spinnerClass=uiSelectConfig.spinnerClass,ctrl.removeSelected=uiSelectConfig.removeSelected,ctrl.closeOnSelect=!0,ctrl.skipFocusser=!1,ctrl.search=EMPTY_SEARCH,ctrl.activeIndex=0,ctrl.items=[],ctrl.open=!1,ctrl.focus=!1,ctrl.disabled=!1,ctrl.selected=void 0,ctrl.dropdownPosition="auto",ctrl.focusser=void 0,ctrl.multiple=void 0,ctrl.disableChoiceExpression=void 0,ctrl.tagging={isActivated:!1,fct:void 0},ctrl.taggingTokens={isActivated:!1,tokens:void 0},ctrl.lockChoiceExpression=void 0,ctrl.clickTriggeredSelect=!1,ctrl.$filter=$filter,ctrl.$element=$element,ctrl.$animate=function(){try{return $injector.get("$animate")}catch(err){return null}}(),ctrl.searchInput=$element.querySelectorAll("input.ui-select-search"),1!==ctrl.searchInput.length)throw uiSelectMinErr("searchInput","Expected 1 input.ui-select-search but got '{0}'.",ctrl.searchInput.length);function _resetSearchInput(){ctrl.resetSearchInput&&(ctrl.search=EMPTY_SEARCH,ctrl.selected&&ctrl.items.length&&!ctrl.multiple&&(ctrl.activeIndex=function(collection,predicate,thisArg){if(collection.findIndex)return collection.findIndex(predicate,thisArg);for(var value,list=Object(collection),length=list.length>>>0,i=0;i<length;i++)if(value=list[i],predicate.call(thisArg,value,i,list))return i;return-1}(ctrl.items,function(item){return angular.equals(this,item)},ctrl.selected)))}ctrl.isEmpty=function(){return isNil(ctrl.selected)||""===ctrl.selected||ctrl.multiple&&0===ctrl.selected.length},ctrl.activate=function(initSearchValue,avoidReset){if(ctrl.disabled||ctrl.open)ctrl.open&&!ctrl.searchEnabled&&ctrl.close();else{avoidReset||_resetSearchInput(),$scope.$broadcast("uis:activate"),ctrl.open=!0,ctrl.activeIndex=ctrl.activeIndex>=ctrl.items.length?0:ctrl.activeIndex,-1===ctrl.activeIndex&&!1!==ctrl.taggingLabel&&(ctrl.activeIndex=0);var container=$element.querySelectorAll(".ui-select-choices-content"),searchInput=$element.querySelectorAll(".ui-select-search");if(ctrl.$animate&&ctrl.$animate.on&&ctrl.$animate.enabled(container[0])){var animateHandler=function(elem,phase){"start"===phase&&0===ctrl.items.length?(ctrl.$animate.off("removeClass",searchInput[0],animateHandler),$timeout(function(){ctrl.focusSearchInput(initSearchValue)})):"close"===phase&&(ctrl.$animate.off("enter",container[0],animateHandler),$timeout(function(){ctrl.focusSearchInput(initSearchValue)}))};0<ctrl.items.length?ctrl.$animate.on("enter",container[0],animateHandler):ctrl.$animate.on("removeClass",searchInput[0],animateHandler)}else $timeout(function(){ctrl.focusSearchInput(initSearchValue),!ctrl.tagging.isActivated&&1<ctrl.items.length&&_ensureHighlightVisible()})}},ctrl.focusSearchInput=function(initSearchValue){ctrl.search=initSearchValue||ctrl.search,ctrl.searchInput[0].focus()},ctrl.findGroupByName=function(name){return ctrl.groups&&ctrl.groups.filter(function(group){return group.name===name})[0]},ctrl.parseRepeatAttr=function(repeatAttr,groupByExp,groupFilterExp){ctrl.setItemsFn=groupByExp?function(items){var groupFn=$scope.$eval(groupByExp);if(ctrl.groups=[],angular.forEach(items,function(item){var groupName=angular.isFunction(groupFn)?groupFn(item):item[groupFn],group=ctrl.findGroupByName(groupName);group?group.items.push(item):ctrl.groups.push({name:groupName,items:[item]})}),groupFilterExp){var groupFilterFn=$scope.$eval(groupFilterExp);angular.isFunction(groupFilterFn)?ctrl.groups=groupFilterFn(ctrl.groups):angular.isArray(groupFilterFn)&&(ctrl.groups=function(groups,groupNames){var i,j,result=[];for(i=0;i<groupNames.length;i++)for(j=0;j<groups.length;j++)groups[j].name==[groupNames[i]]&&result.push(groups[j]);return result}(ctrl.groups,groupFilterFn))}ctrl.items=[],ctrl.groups.forEach(function(group){ctrl.items=ctrl.items.concat(group.items)})}:function(items){ctrl.items=items||[]},ctrl.parserResult=RepeatParser.parse(repeatAttr),ctrl.isGrouped=!!groupByExp,ctrl.itemProperty=ctrl.parserResult.itemName;var originalSource=ctrl.parserResult.source,createArrayFromObject=function(){var origSrc=originalSource($scope);$scope.$uisSource=Object.keys(origSrc).map(function(v){var result={};return result[ctrl.parserResult.keyName]=v,result.value=origSrc[v],result})};ctrl.parserResult.keyName&&(createArrayFromObject(),ctrl.parserResult.source=$parse("$uisSource"+ctrl.parserResult.filters),$scope.$watch(originalSource,function(newVal,oldVal){newVal!==oldVal&&createArrayFromObject()},!0)),ctrl.refreshItems=function(data){data=data||ctrl.parserResult.source($scope);var selectedItems=ctrl.selected;if(ctrl.isEmpty()||angular.isArray(selectedItems)&&!selectedItems.length||!ctrl.multiple||!ctrl.removeSelected)ctrl.setItemsFn(data);else if(null!=data){var filteredItems=data.filter(function(i){return angular.isArray(selectedItems)?selectedItems.every(function(selectedItem){return!angular.equals(i,selectedItem)}):!angular.equals(i,selectedItems)});ctrl.setItemsFn(filteredItems)}"auto"!==ctrl.dropdownPosition&&"up"!==ctrl.dropdownPosition||$scope.calculateDropdownPos(),$scope.$broadcast("uis:refresh")},$scope.$watchCollection(ctrl.parserResult.source,function(items){if(null==items)ctrl.items=[];else{if(!angular.isArray(items))throw uiSelectMinErr("items","Expected an array but got '{0}'.",items);ctrl.refreshItems(items),angular.isDefined(ctrl.ngModel.$modelValue)&&(ctrl.
1ngModel.$modelValue=null)}})},ctrl.refresh=function(refreshAttr){void 0!==refreshAttr&&(_refreshDelayPromise&&$timeout.cancel(_refreshDelayPromise),_refreshDelayPromise=$timeout(function(){if($scope.$select.search.length>=$scope.$select.minimumInputLength){var refreshPromise=$scope.$eval(refreshAttr);refreshPromise&&angular.isFunction(refreshPromise.then)&&!ctrl.refreshing&&(ctrl.refreshing=!0,refreshPromise.finally(function(){ctrl.refreshing=!1}))}},ctrl.refreshDelay))},ctrl.isActive=function(itemScope){if(!ctrl.open)return!1;var itemIndex=ctrl.items.indexOf(itemScope[ctrl.itemProperty]),isActive=itemIndex==ctrl.activeIndex;return!(!isActive||itemIndex<0)&&(isActive&&!angular.isUndefined(ctrl.onHighlightCallback)&&itemScope.$eval(ctrl.onHighlightCallback),isActive)};var _isItemSelected=function(item){return ctrl.selected&&angular.isArray(ctrl.selected)&&0<ctrl.selected.filter(function(selection){return angular.equals(selection,item)}).length},disabledItems=[];function _isItemDisabled(item){return-1<disabledItems.indexOf(item)}ctrl.isDisabled=function(itemScope){if(ctrl.open){var item=itemScope[ctrl.itemProperty],isDisabled=!1;if(0<=ctrl.items.indexOf(item)&&(angular.isDefined(ctrl.disableChoiceExpression)||ctrl.multiple)){if(item.isTag)return!1;ctrl.multiple&&(isDisabled=_isItemSelected(item)),!isDisabled&&angular.isDefined(ctrl.disableChoiceExpression)&&(isDisabled=!!itemScope.$eval(ctrl.disableChoiceExpression)),function(item,isDisabled){var disabledItemIndex=disabledItems.indexOf(item);isDisabled&&-1===disabledItemIndex&&disabledItems.push(item),!isDisabled&&-1<disabledItemIndex&&disabledItems.splice(disabledItemIndex,1)}(item,isDisabled)}return isDisabled}},ctrl.select=function(item,skipFocusser,$event){if(isNil(item)||!_isItemDisabled(item)){if(!ctrl.items&&!ctrl.search&&!ctrl.tagging.isActivated)return;if(!item||!_isItemDisabled(item)){if(ctrl.clickTriggeredSelect=!1,$event&&("click"===$event.type||"touchend"===$event.type)&&item&&(ctrl.clickTriggeredSelect=!0),ctrl.tagging.isActivated&&!1===ctrl.clickTriggeredSelect){if(!1===ctrl.taggingLabel)if(ctrl.activeIndex<0){if(void 0===item&&(item=void 0!==ctrl.tagging.fct?ctrl.tagging.fct(ctrl.search):ctrl.search),!item||angular.equals(ctrl.items[0],item))return}else item=ctrl.items[ctrl.activeIndex];else if(0===ctrl.activeIndex){if(void 0===item)return;if(void 0!==ctrl.tagging.fct&&"string"==typeof item){if(!(item=ctrl.tagging.fct(item)))return}else"string"==typeof item&&(item=item.replace(ctrl.taggingLabel,"").trim())}if(_isItemSelected(item))return void ctrl.close(skipFocusser)}_resetSearchInput(),$scope.$broadcast("uis:select",item),ctrl.closeOnSelect&&ctrl.close(skipFocusser)}}},ctrl.close=function(skipFocusser){ctrl.open&&(ctrl.ngModel&&ctrl.ngModel.$setTouched&&ctrl.ngModel.$setTouched(),ctrl.open=!1,_resetSearchInput(),$scope.$broadcast("uis:close",skipFocusser))},ctrl.setFocus=function(){ctrl.focus||ctrl.focusInput[0].focus()},ctrl.clear=function($event){ctrl.select(null),$event.stopPropagation(),$timeout(function(){ctrl.focusser[0].focus()},0,!1)},ctrl.toggle=function(e){ctrl.open?(ctrl.close(),e.preventDefault(),e.stopPropagation()):ctrl.activate()},ctrl.isLocked=function(){return!1},$scope.$watch(function(){return angular.isDefined(ctrl.lockChoiceExpression)&&""!==ctrl.lockChoiceExpression},function(doInitalise){if(!doInitalise)return;var lockedItems=[];ctrl.isLocked=function(itemScope,itemIndex){var isLocked=!1,item=ctrl.selected[itemIndex];return item&&(itemScope?(isLocked=!!itemScope.$eval(ctrl.lockChoiceExpression),function(item,isLocked){var lockedItemIndex=lockedItems.indexOf(item);isLocked&&-1===lockedItemIndex&&lockedItems.push(item);!isLocked&&-1<lockedItemIndex&&lockedItems.splice(lockedItemIndex,1)}(item,isLocked)):isLocked=function(item){return-1<lockedItems.indexOf(item)}(item)),isLocked}});var sizeWatch=null,updaterScheduled=!1;function _ensureHighlightVisible(){var container=$element.querySelectorAll(".ui-select-choices-content"),choices=container.querySelectorAll(".ui-select-choices-row");if(choices.length<1)throw uiSelectMinErr("choices","Expected multiple .ui-select-choices-row but got '{0}'.",choices.length);if(!(ctrl.activeIndex<0)){var highlighted=choices[ctrl.activeIndex],posY=highlighted.offsetTop+highlighted.clientHeight-container[0].scrollTop,height=container[0].offsetHeight;height<posY?container[0].scrollTop+=posY-height:posY<highlighted.clientHeight&&(ctrl.isGrouped&&0===ctrl.activeIndex?container[0].scrollTop=0:container[0].scrollTop-=highlighted.clientHeight-posY)}}ctrl.sizeSearchInput=function(){var input=ctrl.searchInput[0],container=ctrl.$element[0],calculateContainerWidth=function(){return container.clientWidth*!!input.offsetParent},updateIfVisible=function(containerWidth){if(0===containerWidth)return!1;
vendor: 17,547 bytes, line 1
1var inputWidth=containerWidth-input.offsetLeft;return inputWidth<50&&(inputWidth=containerWidth),ctrl.searchInput.css("width",inputWidth+"px"),!0};ctrl.searchInput.css("width","10px"),$timeout(function(){null!==sizeWatch||updateIfVisible(calculateContainerWidth())||(sizeWatch=$scope.$watch(function(){updaterScheduled||(updaterScheduled=!0,$scope.$$postDigest(function(){updaterScheduled=!1,updateIfVisible(calculateContainerWidth())&&(sizeWatch(),sizeWatch=null)}))},angular.noop))})},ctrl.searchInput.on("keydown",function(e){var key=e.which;~[KEY.ENTER,KEY.ESC].indexOf(key)&&(e.preventDefault(),e.stopPropagation()),$scope.$apply(function(){var tagged=!1;if((0<ctrl.items.length||ctrl.tagging.isActivated)&&(function(key){var processed=!0;switch(key){case KEY.DOWN:if(!ctrl.open&&ctrl.multiple)ctrl.activate(!1,!0);else if(ctrl.activeIndex<ctrl.items.length-1)for(var idx=++ctrl.activeIndex;_isItemDisabled(ctrl.items[idx])&&idx<ctrl.items.length;)ctrl.activeIndex=++idx;break;case KEY.UP:var minActiveIndex=0===ctrl.search.length&&ctrl.tagging.isActivated?-1:0;if(!ctrl.open&&ctrl.multiple)ctrl.activate(!1,!0);else if(ctrl.activeIndex>minActiveIndex)for(var idxmin=--ctrl.activeIndex;_isItemDisabled(ctrl.items[idxmin])&&minActiveIndex<idxmin;)ctrl.activeIndex=--idxmin;break;case KEY.TAB:ctrl.multiple&&!ctrl.open||ctrl.select(ctrl.items[ctrl.activeIndex],!0);break;case KEY.ENTER:ctrl.open&&(ctrl.tagging.isActivated||0<=ctrl.activeIndex)?ctrl.select(ctrl.items[ctrl.activeIndex],ctrl.skipFocusser):ctrl.activate(!1,!0);break;case KEY.ESC:ctrl.close();break;default:processed=!1}return processed}(key)||ctrl.searchEnabled||(e.preventDefault(),e.stopPropagation()),ctrl.taggingTokens.isActivated)){for(var i=0;i<ctrl.taggingTokens.tokens.length;i++)ctrl.taggingTokens.tokens[i]===KEY.MAP[e.keyCode]&&0<ctrl.search.length&&(tagged=!0);tagged&&$timeout(function(){ctrl.searchInput.triggerHandler("tagged");var newItem=ctrl.search.replace(KEY.MAP[e.keyCode],"").trim();ctrl.tagging.fct&&(newItem=ctrl.tagging.fct(newItem)),newItem&&ctrl.select(newItem,!0)})}}),KEY.isVerticalMovement(key)&&0<ctrl.items.length&&_ensureHighlightVisible(),key!==KEY.ENTER&&key!==KEY.ESC||(e.preventDefault(),e.stopPropagation())}),ctrl.searchInput.on("paste",function(e){var data;if(data=window.clipboardData&&window.clipboardData.getData?window.clipboardData.getData("Text"):(e.originalEvent||e).clipboardData.getData("text/plain"),(data=ctrl.search+data)&&0<data.length)if(ctrl.taggingTokens.isActivated){for(var items=[],i=0;i<ctrl.taggingTokens.tokens.length;i++){var separator=KEY.toSeparator(ctrl.taggingTokens.tokens[i])||ctrl.taggingTokens.tokens[i];if(-1<data.indexOf(separator)){items=data.split(separator);break}}0===items.length&&(items=[data]);var oldsearch=ctrl.search;angular.forEach(items,function(item){var newItem=ctrl.tagging.fct?ctrl.tagging.fct(item):item;newItem&&ctrl.select(newItem,!0)}),ctrl.search=oldsearch||EMPTY_SEARCH,e.preventDefault(),e.stopPropagation()}else ctrl.paste&&(ctrl.paste(data),ctrl.search=EMPTY_SEARCH,e.preventDefault(),e.stopPropagation())}),ctrl.searchInput.on("tagged",function(){$timeout(function(){_resetSearchInput()})});var onResize=$$uisDebounce(function(){ctrl.sizeSearchInput()},50);angular.element($window).bind("resize",onResize),$scope.$on("$destroy",function(){ctrl.searchInput.off("keyup keydown tagged blur paste"),angular.element($window).off("resize",onResize)}),$scope.$watch("$select.activeIndex",function(activeIndex){activeIndex&&$element.find("input").attr("aria-activedescendant","ui-select-choices-row-"+ctrl.generatedId+"-"+activeIndex)}),$scope.$watch("$select.open",function(open){open||$element.find("input").removeAttr("aria-activedescendant")})}]),uis.directive("uiSelect",["$document","uiSelectConfig","uiSelectMinErr","uisOffset","$compile","$parse","$timeout",function($document,uiSelectConfig,uiSelectMinErr,uisOffset,$compile,$parse,$timeout){return{restrict:"EA",templateUrl:function(tElement,tAttrs){return(tAttrs.theme||uiSelectConfig.theme)+(angular.isDefined(tAttrs.multiple)?"/select-multiple.tpl.html":"/select.tpl.html")},replace:!0,transclude:!0,require:["uiSelect","^ngModel"],scope:!0,controller:"uiSelectCtrl",controllerAs:"$select",compile:function(tElement,tAttrs){var match=/{(.*)}\s*{(.*)}/.exec(tAttrs.ngClass);if(match){var combined="{"+match[1]+", "+match[2]+"}";tAttrs.ngClass=combined,tElement.attr("ng-class",combined)}return angular.isDefined(tAttrs.multiple)?tElement.append("<ui-select-multiple/>").removeAttr("multiple"):tElement.append("<ui-select-single/>"),tAttrs.inputId&&(tElement.querySelectorAll("input.ui-select-search")[0].id=tAttrs.inputId),function(scope,element,attrs,ctrls,transcludeFn){var $select=ctrls[0],ngModel=ctrls[1];function onDocumentClick(e){if($select.open){if(!(window.jQuery?window.jQuery.contains(element[0],e.target):element[0].contains(e.target))&&!$select.clickTriggeredSelect){var skipFocusser;if($select.skipFocusser)skipFocusser=!0;else{var targetController=angular.element(e.target).controller("uiSelect");(skipFocusser=targetController&&targetController!==$select)||(skipFocusser=~["input","button","textarea","select"].indexOf(e.target.tagName.toLowerCase()))}$select.close(skipFocusser),scope.$digest()}$select.clickTriggeredSelect=!1}}$select.generatedId=uiSelectConfig.generateId(),$select.baseTitle=attrs.title||"Select box",$select.focusserTitle=$select.baseTitle+" focus",$select.focusserId="focusser-"+$select.generatedId,$select.closeOnSelect=angular.isDefined(attrs.closeOnSelect)?$parse(attrs.closeOnSelect)():uiSelectConfig.closeOnSelect,scope.$watch("skipFocusser",function(){var skipFocusser=scope.$eval(attrs.skipFocusser);$select.skipFocusser=void 0!==skipFocusser?skipFocusser:uiSelectConfig.skipFocusser}),$select.onSelectCallback=$parse(attrs.onSelect),$select.onRemoveCallback=$parse(attrs.onRemove),$select.ngModel=ngModel,$select.choiceGrouped=function(group){return $select.isGrouped&&group&&group.name},attrs.tabindex&&attrs.$observe("tabindex",function(value){$select.focusInput.attr("tabindex",value),element.removeAttr("tabindex")}),scope.$watch(function(){return scope.$eval(attrs.searchEnabled)},function(newVal){$select.searchEnabled=void 0!==newVal?newVal:uiSelectConfig.searchEnabled}),scope.$watch("sortable",function(){var sortable=scope.$eval(attrs.sortable);$select.sortable=void 0!==sortable?sortable:uiSelectConfig.sortable}),attrs.$observe("backspaceReset",function(){var backspaceReset=scope.$eval(attrs.backspaceReset);$select.backspaceReset=void 0===backspaceReset||backspaceReset}),attrs.$observe("limit",function(){$select.limit=angular.isDefined(attrs.limit)?parseInt(attrs.limit,10):void 0}),scope.$watch("removeSelected",function(){var removeSelected=scope.$eval(attrs.removeSelected);$select.removeSelected=void 0!==removeSelected?removeSelected:uiSelectConfig.removeSelected}),attrs.$observe("disabled",function(){$select.disabled=void 0!==attrs.disabled&&attrs.disabled}),attrs.$observe("resetSearchInput",function(){var resetSearchInput=scope.$eval(attrs.resetSearchInput);$select.resetSearchInput=void 0===resetSearchInput||resetSearchInput}),attrs.$observe("paste",function(){$select.paste=scope.$eval(attrs.paste)}),attrs.$observe("tagging",function(){if(void 0!==attrs.tagging){var taggingEval=scope.$eval(attrs.tagging);$select.tagging={isActivated:!0,fct:!0!==taggingEval?taggingEval:void 0}}else $select.tagging={isActivated:!1,fct:void 0}}),attrs.$observe("taggingLabel",function(){void 0!==attrs.tagging&&("false"===attrs.taggingLabel?$select.taggingLabel=!1:$select.taggingLabel=void 0!==attrs.taggingLabel?attrs.taggingLabel:"(new)")}),attrs.$observe("taggingTokens",function(){if(void 0!==attrs.tagging){var tokens=void 0!==attrs.taggingTokens?attrs.taggingTokens.split("|"):[",","ENTER"];$select.taggingTokens={isActivated:!0,tokens:tokens}}}),attrs.$observe("spinnerEnabled",function(){var spinnerEnabled=scope.$eval(attrs.spinnerEnabled);$select.spinnerEnabled=void 0!==spinnerEnabled?spinnerEnabled:uiSelectConfig.spinnerEnabled}),attrs.$observe("spinnerClass",function(){var spinnerClass=attrs.spinnerClass;$select.spinnerClass=void 0!==spinnerClass?attrs.spinnerClass:uiSelectConfig.spinnerClass}),angular.isDefined(attrs.autofocus)&&$timeout(function(){$select.setFocus()}),angular.isDefined(attrs.focusOn)&&scope.$on(attrs.focusOn,function(){$timeout(function(){$select.setFocus()})}),$document.on("click",onDocumentClick),scope.$on("$destroy",function(){$document.off("click",onDocumentClick)}),transcludeFn(scope,function(clone){var transcluded=angular.element("<div>").append(clone),transcludedMatch=transcluded.querySelectorAll(".ui-select-match");if(transcludedMatch.removeAttr("ui-select-match"),transcludedMatch.removeAttr("data-ui-select-match"),1!==transcludedMatch.length)throw uiSelectMinErr("transcluded","Expected 1 .ui-select-match but got '{0}'.",transcludedMatch.length);element.querySelectorAll(".ui-select-match").replaceWith(transcludedMatch);var transcludedChoices=transcluded.querySelectorAll(".ui-select-choices");if(transcludedChoices.removeAttr("ui-select-choices"),transcludedChoices.removeAttr("data-ui-select-choices"),1!==transcludedChoices.length)throw uiSelectMinErr("transcluded","Expected 1 .ui-select-choices but got '{0}'.",transcludedChoices.length);element.querySelectorAll(".ui-select-choices").replaceWith(transcludedChoices);var transcludedNoChoice=transcluded.querySelectorAll(".ui-select-no-choice");transcludedNoChoice.removeAttr("ui-select-no-choice"),transcludedNoChoice.removeAttr("data-ui-select-no-choice"),1==transcludedNoChoice.length&&element.querySelectorAll(".ui-select-no-choice").replaceWith(transcludedNoChoice)});var appendToBody=scope.$eval(attrs.appendToBody);(void 0!==appendToBody?appendToBody:uiSelectConfig.appendToBody)&&(scope.$watch("$select.open",function(isOpen){var offset;isOpen?(offset=uisOffset(element),(placeholder=angular.element('<div class="ui-select-placeholder"></div>'))[0].style.width=offset.width+"px",placeholder[0].style.height=offset.height+"px",element.after(placeholder),originalWidth=element[0].style.width,$document.find("body").append(element),element[0].style.position="absolute",element[0].style.left=offset.left+"px",element[0].style.top=offset.top+"px",element[0].style.width=offset.width+"px"):resetDropdown()}),scope.$on("$destroy",function(){resetDropdown()}));var placeholder=null,originalWidth="";function resetDropdown(){null!==placeholder&&(placeholder.replaceWith(element),placeholder=null,element[0].style.position="",element[0].style.left="",element[0].style.top="",element[0].style.width=originalWidth,$select.setFocus())}var dropdown=null;scope.$watch("$select.open",function(){"auto"!==$select.dropdownPosition&&"up"!==$select.dropdownPosition||scope.calculateDropdownPos()});var setDropdownPosUp=function(offset,offsetDropdown){offset=offset||uisOffset(element),offsetDropdown=offsetDropdown||uisOffset(dropdown),dropdown[0].style.position="absolute",dropdown[0].style.top=-1*offsetDropdown.height+"px",element.addClass("direction-up")},calculateDropdownPosAfterAnimation=function(){$timeout(function(){if("up"===$select.dropdownPosition)setDropdownPosUp();else{element.removeClass("direction-up");var offset=uisOffset(element),offsetDropdown=uisOffset(dropdown),scrollTop=$document[0].documentElement.scrollTop||$document[0].body.scrollTop;offset.top+offset.height+offsetDropdown.height>scrollTop+$document[0].documentElement.clientHeight?setDropdownPosUp(offset,offsetDropdown):function(offset,offsetDropdown){element.removeClass("direction-up"),offset=offset||uisOffset(element),offsetDropdown=offsetDropdown||uisOffset(dropdown),dropdown[0].style.position="",dropdown[0].style.top=""}(offset,offsetDropdown)}dropdown[0].style.opacity=1})},opened=!1;scope.calculateDropdownPos=function(){if($select.open){if(0===(dropdown=angular.element(element).querySelectorAll(".ui-select-dropdown")).length)return;if(""!==$select.search||opened||(dropdown[0].style.opacity=0,opened=!0),!uisOffset(dropdown).height&&$select.$animate&&$select.$animate.on&&$select.$animate.enabled(dropdown)){var needsCalculated=!0;$select.$animate.on("enter",dropdown,function(elem,phase){"close"===phase&&needsCalculated&&(calculateDropdownPosAfterAnimation(),needsCalculated=!1)})}else calculateDropdownPosAfterAnimation()}else{if(null===dropdown||0===dropdown.length)return;dropdown[0].style.opacity=0,dropdown[0].style.position="",dropdown[0].style.top="",element.removeClass("direction-up")}}}}}}]),uis.directive("uiSelectMatch",["uiSelectConfig",function(uiSelectConfig){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(tElement){tElement.addClass("ui-select-match");var parent=tElement.parent();return(getAttribute(parent,"theme")||uiSelectConfig.theme)+(angular.isDefined(getAttribute(parent,"multiple"))?"/match-multiple.tpl.html":"/match.tpl.html")},link:function(scope,element,attrs,$select){function setAllowClear(allow){$select.allowClear=!!angular.isDefined(allow)&&(""===allow||"true"===allow.toLowerCase())}$select.lockChoiceExpression=attrs.uiLockChoice,attrs.$observe("placeholder",function(placeholder){$select.placeholder=void 0!==placeholder?placeholder:uiSelectConfig.placeholder}),attrs.$observe("allowClear",setAllowClear),setAllowClear(attrs.allowClear),$select.multiple&&$select.sizeSearchInput()}};function getAttribute(elem,attribute){return elem[0].hasAttribute(attribute)?elem.attr(attribute):elem[0].hasAttribute("data-"+attribute)?elem.attr("data-"+attribute):elem[0].hasAttribute("x-"+attribute)?elem.attr("x-"+attribute):void 0}}]),uis.directive("uiSelectMultiple",["uiSelectMinErr","$timeout",function(uiSelectMinErr,$timeout){return{restrict:"EA",require:["^uiSelect","^ngModel"],controller:["$scope","$timeout",function($scope,$timeout){var ngModel,ctrl=this,$select=$scope.$select;angular.isUndefined($select.selected)&&($select.selected=[]),$scope.$evalAsync(function(){ngModel=$scope.ngModel}),ctrl.activeMatchIndex=-1,ctrl.updateModel=function(){ngModel.$setViewValue(Date.now()),ctrl.refreshComponent()},ctrl.refreshComponent=function(){$select.refreshItems&&$select.refreshItems(),$select.sizeSearchInput&&$select.sizeSearchInput()},ctrl.removeChoice=function(index){if($select.isLocked(null,index))return!1;var removedChoice=$select.selected[index],locals={};return locals[$select.parserResult.itemName]=removedChoice,$select.selected.splice(index,1),ctrl.activeMatchIndex=-1,$select.sizeSearchInput(),$timeout(function(){$select.onRemoveCallback($scope,{$item:removedChoice,$model:$select.parserResult.modelMapper($scope,locals)})}),ctrl.updateModel(),!0},ctrl.getPlaceholder=function(){if(!$select.selected||!$select.selected.length)return $select.placeholder}}],controllerAs:"$selectMultiple",link:function(scope,element,attrs,ctrls){var $select=ctrls[0],ngModel=scope.ngModel=ctrls[1],$selectMultiple=scope.$selectMultiple;function _findCaseInsensitiveDupe(arr){return void 0!==arr&&void 0!==$select.search&&0<arr.filter(function(origItem){return void 0!==$select.search.toUpperCase()&&void 0!==origItem&&origItem.toUpperCase()===$select.search.toUpperCase()}).length}function _findApproxDupe(haystack,needle){var dupeIndex=-1;if(angular.isArray(haystack))for(var tempArr=angular.copy(haystack),i=0;i<tempArr.length;i++)if(void 0===$select.tagging.fct)tempArr[i]+" "+$select.taggingLabel===needle&&(dupeIndex=i);else{var mockObj=tempArr[i];angular.isObject(mockObj)&&(mockObj.isTag=!0),angular.equals(mockObj,needle)&&(dupeIndex=i)}return dupeIndex}$select.multiple=!0,$select.focusInput=$select.searchInput,ngModel.$isEmpty=function(value){return!value||0===value.length},ngModel.$parsers.unshift(function(){for(var result,locals={},resultMultiple=[],j=$select.selected.length-1;0<=j;j--)(locals={})[$select.parserResult.itemName]=$select.selected[j],result=$select.parserResult.modelMapper(scope,locals),resultMultiple.unshift(result);return resultMultiple}),ngModel.$formatters.unshift(function(inputValue){var result,data=$select.parserResult&&$select.parserResult.source(scope,{$select:{search:""}}),locals={};if(!data)return inputValue;var resultMultiple=[],checkFnMultiple=function(list,value){if(list&&list.length){for(var p=list.length-1;0<=p;p--){if(locals[$select.parserResult.itemName]=list[p],result=$select.parserResult.modelMapper(scope,locals),$select.parserResult.trackByExp){var propsItemNameMatches=/(\w*)\./.exec($select.parserResult.trackByExp),matches=/\.([^\s]+)/.exec($select.parserResult.trackByExp);if(propsItemNameMatches&&0<propsItemNameMatches.length&&propsItemNameMatches[1]==$select.parserResult.itemName&&matches&&0<matches.length&&result[matches[1]]==value[matches[1]])return resultMultiple.unshift(list[p]),!0}if(angular.equals(result,value))return resultMultiple.unshift(list[p]),!0}return!1}};if(!inputValue)return resultMultiple;for(var k=inputValue.length-1;0<=k;k--)checkFnMultiple($select.selected,inputValue[k])||checkFnMultiple(data,inputValue[k])||resultMultiple.unshift(inputValue[k]);return resultMultiple}),scope.$watchCollection(function(){return ngModel.$modelValue},function(newValue,oldValue){oldValue!=newValue&&(angular.isDefined(ngModel.$modelValue)&&(ngModel.$modelValue=null),$selectMultiple.refreshComponent())}),ngModel.$render=function(){if(!angular.isArray(ngModel.$viewValue)){if(!isNil(ngModel.$viewValue))throw uiSelectMinErr("multiarr","Expected model value to be array but got '{0}'",ngModel.$viewValue);ngModel.$viewValue=[]}$select.selected=ngModel.$viewValue,$selectMultiple.refreshComponent(),scope.$evalAsync()}
1,scope.$on("uis:select",function(event,item){if(!($select.selected.length>=$select.limit)){$select.selected.push(item);var locals={};locals[$select.parserResult.itemName]=item,$timeout(function(){$select.onSelectCallback(scope,{$item:item,$model:$select.parserResult.modelMapper(scope,locals)})}),$selectMultiple.updateModel()}}),scope.$on("uis:activate",function(){$selectMultiple.activeMatchIndex=-1}),scope.$watch("$select.disabled",function(newValue,oldValue){oldValue&&!newValue&&$select.sizeSearchInput()}),$select.searchInput.on("keydown",function(e){var key=e.which;scope.$apply(function(){var processed=!1;KEY.isHorizontalMovement(key)&&(processed=function(key){var caretPosition=(el=$select.searchInput[0],angular.isNumber(el.selectionStart)?el.selectionStart:el.value.length),length=$select.selected.length,last=length-1,curr=$selectMultiple.activeMatchIndex,next=$selectMultiple.activeMatchIndex+1,prev=$selectMultiple.activeMatchIndex-1,newIndex=curr;var el;if(0<caretPosition||$select.search.length&&key==KEY.RIGHT)return!1;$select.close(),newIndex=function(){switch(key){case KEY.LEFT:return~$selectMultiple.activeMatchIndex?prev:last;case KEY.RIGHT:return~$selectMultiple.activeMatchIndex&&curr!==last?next:($select.activate(),!1);case KEY.BACKSPACE:return~$selectMultiple.activeMatchIndex?$selectMultiple.removeChoice(curr)?prev:curr:last;case KEY.DELETE:return!!~$selectMultiple.activeMatchIndex&&($selectMultiple.removeChoice($selectMultiple.activeMatchIndex),curr)}}(),$select.selected.length&&!1!==newIndex?$selectMultiple.activeMatchIndex=Math.min(last,Math.max(0,newIndex)):$selectMultiple.activeMatchIndex=-1;return!0}(key)),processed&&key!=KEY.TAB&&(e.preventDefault(),e.stopPropagation())})}),$select.searchInput.on("keyup",function(e){if(KEY.isVerticalMovement(e.which)||scope.$evalAsync(function(){$select.activeIndex=!1===$select.taggingLabel?-1:0}),$select.tagging.isActivated&&0<$select.search.length){if(e.which===KEY.TAB||KEY.isControl(e)||KEY.isFunctionKey(e)||e.which===KEY.ESC||KEY.isVerticalMovement(e.which))return;if($select.activeIndex=!1===$select.taggingLabel?-1:0,!1===$select.taggingLabel)return;var newItem,tagItems,tagItem,items=angular.copy($select.items),stashArr=angular.copy($select.items),hasTag=!1,dupeIndex=-1;if(void 0!==$select.tagging.fct){if(0<(tagItems=$select.$filter("filter")(items,{isTag:!0})).length&&(tagItem=tagItems[0]),0<items.length&&tagItem&&(hasTag=!0,items=items.slice(1,items.length),stashArr=stashArr.slice(1,stashArr.length)),newItem=$select.tagging.fct($select.search),stashArr.some(function(origItem){return angular.equals(origItem,newItem)})||$select.selected.some(function(origItem){return angular.equals(origItem,newItem)}))return void scope.$evalAsync(function(){$select.activeIndex=0,$select.items=items});newItem&&(newItem.isTag=!0)}else{if(0<(tagItems=$select.$filter("filter")(items,function(item){return item.match($select.taggingLabel)})).length&&(tagItem=tagItems[0]),void 0!==items[0]&&0<items.length&&tagItem&&(hasTag=!0,items=items.slice(1,items.length),stashArr=stashArr.slice(1,stashArr.length)),newItem=$select.search+" "+$select.taggingLabel,-1<_findApproxDupe($select.selected,$select.search))return;if(_findCaseInsensitiveDupe(stashArr.concat($select.selected)))return void(hasTag&&(items=stashArr,scope.$evalAsync(function(){$select.activeIndex=0,$select.items=items})));if(_findCaseInsensitiveDupe(stashArr))return void(hasTag&&($select.items=stashArr.slice(1,stashArr.length)))}hasTag&&(dupeIndex=_findApproxDupe($select.selected,newItem)),items=-1<dupeIndex?items.slice(dupeIndex+1,items.length-1):(items=[],newItem&&items.push(newItem),items.concat(stashArr)),scope.$evalAsync(function(){if($select.activeIndex=0,$select.items=items,$select.isGrouped){var itemsWithoutTag=newItem?items.slice(1):items;$select.setItemsFn(itemsWithoutTag),newItem&&($select.items.unshift(newItem),$select.groups.unshift({name:"",items:[newItem],tagging:!0}))}})}}),$select.searchInput.on("blur",function(){$timeout(function(){$selectMultiple.activeMatchIndex=-1})})}}}]),uis.directive("uiSelectNoChoice",["uiSelectConfig",function(uiSelectConfig){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(tElement){return tElement.addClass("ui-select-no-choice"),(tElement.parent().attr("theme")||uiSelectConfig.theme)+"/no-choice.tpl.html"}}}]),uis.directive("uiSelectSingle",["$timeout","$compile",function($timeout,$compile){return{restrict:"EA",require:["^uiSelect","^ngModel"],link:function(scope,element,attrs,ctrls){var $select=ctrls[0],ngModel=ctrls[1];ngModel.$parsers.unshift(function(inputValue){if(isNil(inputValue))return inputValue;var locals={};return locals[$select.parserResult.itemName]=inputValue,$select.parserResult.modelMapper(scope,locals)}),ngModel.$formatters.unshift(function(inputValue){if(isNil(inputValue))return inputValue;var data=$select.parserResult&&$select.parserResult.source(scope,{$select:{search:""}}),locals={};if(data){var checkFnSingle=function(d){return locals[$select.parserResult.itemName]=d,$select.parserResult.modelMapper(scope,locals)===inputValue};if($select.selected&&checkFnSingle($select.selected))return $select.selected;for(var i=data.length-1;0<=i;i--)if(checkFnSingle(data[i]))return data[i]}return inputValue}),scope.$watch("$select.selected",function(newValue){ngModel.$viewValue!==newValue&&ngModel.$setViewValue(newValue)}),ngModel.$render=function(){$select.selected=ngModel.$viewValue}
vendor: 7,646 bytes, line 1
1,scope.$on("uis:select",function(event,item){$select.selected=item;var locals={};locals[$select.parserResult.itemName]=item,$timeout(function(){$select.onSelectCallback(scope,{$item:item,$model:isNil(item)?item:$select.parserResult.modelMapper(scope,locals)})})}),scope.$on("uis:close",function(event,skipFocusser){$timeout(function(){$select.focusser.prop("disabled",!1),skipFocusser||$select.focusser[0].focus()},0,!1)}),scope.$on("uis:activate",function(){focusser.prop("disabled",!0)});var focusser=angular.element("<input ng-disabled='$select.disabled' class='ui-select-focusser ui-select-offscreen' type='text' id='{{ $select.focusserId }}' aria-label='{{ $select.focusserTitle }}' aria-haspopup='true' role='button' />");$compile(focusser)(scope),$select.focusser=focusser,$select.focusInput=focusser,element.parent().append(focusser),focusser.bind("focus",function(){scope.$evalAsync(function(){$select.focus=!0})}),focusser.bind("blur",function(){scope.$evalAsync(function(){$select.focus=!1})}),focusser.bind("keydown",function(e){if(e.which===KEY.BACKSPACE&&!1!==$select.backspaceReset)return e.preventDefault(),e.stopPropagation(),$select.select(void 0),void scope.$apply();e.which===KEY.TAB||KEY.isControl(e)||KEY.isFunctionKey(e)||e.which===KEY.ESC||(e.which!=KEY.DOWN&&e.which!=KEY.UP&&e.which!=KEY.ENTER&&e.which!=KEY.SPACE||(e.preventDefault(),e.stopPropagation(),$select.activate()),scope.$digest())}),focusser.bind("keyup input",function(e){e.which===KEY.TAB||KEY.isControl(e)||KEY.isFunctionKey(e)||e.which===KEY.ESC||e.which==KEY.ENTER||e.which===KEY.BACKSPACE||($select.activate(focusser.val()),focusser.val(""),scope.$digest())})}}}]),uis.directive("uiSelectSort",["$timeout","uiSelectConfig","uiSelectMinErr",function($timeout,uiSelectConfig,uiSelectMinErr){return{require:["^^uiSelect","^ngModel"],link:function(scope,element,attrs,ctrls){if(null===scope[attrs.uiSelectSort])throw uiSelectMinErr("sort","Expected a list to sort");var $select=ctrls[0],$ngModel=ctrls[1],axis=angular.extend({axis:"horizontal"},scope.$eval(attrs.uiSelectSortOptions)).axis;scope.$watch(function(){return $select.sortable},function(newValue){newValue?element.attr("draggable",!0):element.removeAttr("draggable")}),element.on("dragstart",function(event){element.addClass("dragging"),(event.dataTransfer||event.originalEvent.dataTransfer).setData("text",scope.$index.toString())}),element.on("dragend",function(){removeClass("dragging")});var dropTimeout,removeClass=function(className){angular.forEach($select.$element.querySelectorAll("."+className),function(el){angular.element(el).removeClass(className)})},dragOverHandler=function(event){event.preventDefault(),("vertical"===axis?event.offsetY||event.layerY||(event.originalEvent?event.originalEvent.offsetY:0):event.offsetX||event.layerX||(event.originalEvent?event.originalEvent.offsetX:0))<this["vertical"===axis?"offsetHeight":"offsetWidth"]/2?(removeClass("dropping-after"),element.addClass("dropping-before")):(removeClass("dropping-before"),element.addClass("dropping-after"))},dropHandler=function(event){event.preventDefault();var droppedItemIndex=parseInt((event.dataTransfer||event.originalEvent.dataTransfer).getData("text"),10);$timeout.cancel(dropTimeout),dropTimeout=$timeout(function(){_dropHandler(droppedItemIndex)},20)},_dropHandler=function(droppedItemIndex){var theList=scope.$eval(attrs.uiSelectSort),itemToMove=theList[droppedItemIndex],newIndex=null;newIndex=element.hasClass("dropping-before")?droppedItemIndex<scope.$index?scope.$index-1:scope.$index:droppedItemIndex<scope.$index?scope.$index:scope.$index+1,function(from,to){this.splice(to,0,this.splice(from,1)[0])}.apply(theList,[droppedItemIndex,newIndex]),$ngModel.$setViewValue(Date.now()),scope.$apply(function(){scope.$emit("uiSelectSort:change",{array:theList,item:itemToMove,from:droppedItemIndex,to:newIndex})}),removeClass("dropping"),removeClass("dropping-before"),removeClass("dropping-after"),element.off("drop",dropHandler)};element.on("dragenter",function(){element.hasClass("dragging")||(element.addClass("dropping"),element.on("dragover",dragOverHandler),element.on("drop",dropHandler))}),element.on("dragleave",function(event){event.target==element&&(removeClass("dropping"),removeClass("dropping-before"),removeClass("dropping-after"),element.off("dragover",dragOverHandler),element.off("drop",dropHandler))})}}}]),uis.factory("$$uisDebounce",["$timeout",function($timeout){return function(callback,debounceTime){var timeoutPromise;return function(){var self=this,args=Array.prototype.slice.call(arguments);timeoutPromise&&$timeout.cancel(timeoutPromise),timeoutPromise=$timeout(function(){callback.apply(self,args)},debounceTime)}}}]),uis.directive("uisOpenClose",["$parse","$timeout",function($parse,$timeout){return{restrict:"A",require:"uiSelect",link:function(scope,element,attrs,$select){$select.onOpenCloseCallback=$parse(attrs.uisOpenClose),scope.$watch("$select.open",function(isOpen,previousState){isOpen!==previousState&&$timeout(function(){$select.onOpenCloseCallback(scope,{isOpen:isOpen})})})}}}]),uis.service("uisRepeatParser",["uiSelectMinErr","$parse",function(uiSelectMinErr,$parse){this.parse=function(expression){var match;if(!(match=expression.match(/^\s*(?:([\s\S]+?)\s+as\s+)?(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+(\s*[\s\S]+?)?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/)))throw uiSelectMinErr("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",expression);var source=match[5],filters="";if(match[3]){source=match[5].replace(/(^\()|(\)$)/g,"");var filterMatch=match[5].match(/^\s*(?:[\s\S]+?)(?:[^\|]|\|\|)+([\s\S]*)\s*$/);filterMatch&&filterMatch[1].trim()&&(filters=filterMatch[1],source=source.replace(filters,""))}return{itemName:match[4]||match[2],keyName:match[3],source:$parse(source),filters:filters,trackByExp:match[6],modelMapper:$parse(match[1]||match[4]||match[2]),repeatExpression:function(grouped){var expression=this.itemName+" in "+(grouped?"$group.items":"$select.items");return this.trackByExp&&(expression+=" track by "+this.trackByExp),expression}}},this.getGroupNgRepeatExpression=function(){return"$group in $select.groups track by $group.name"}}])}(),angular.module("ui.select").run(["$templateCache",function($templateCache){$templateCache.put("bootstrap/choices.tpl.html",'<ul class="ui-select-choices ui-select-choices-content ui-select-dropdown dropdown-menu" ng-show="$select.open && $select.items.length > 0"><li class="ui-select-choices-group" id="ui-select-choices-{{ $select.generatedId }}"><div class="divider" ng-show="$select.isGrouped && $index > 0"></div><div ng-show="$select.isGrouped" class="ui-select-choices-group-label dropdown-header" ng-bind="$group.name"></div><div ng-attr-id="ui-select-choices-row-{{ $select.generatedId }}-{{$index}}" class="ui-select-choices-row" ng-class="{active: $select.isActive(this), disabled: $select.isDisabled(this)}" role="option"><span class="ui-select-choices-row-inner"></span></div></li></ul>'),$templateCache.put("bootstrap/match-multiple.tpl.html",'<span class="ui-select-match"><span ng-repeat="$item in $select.selected track by $index"><span class="ui-select-match-item btn btn-default btn-xs" tabindex="-1" type="button" ng-disabled="$select.disabled" ng-click="$selectMultiple.activeMatchIndex = $index;" ng-class="{\'btn-primary\':$selectMultiple.activeMatchIndex === $index, \'select-locked\':$select.isLocked(this, $index)}" ui-select-sort="$select.selected"><span class="close ui-select-match-close" ng-hide="$select.disabled" ng-click="$selectMultiple.removeChoice($index)"> ×</span>
1 <span uis-transclude-append=""></span></span></span></span>'),$templateCache.put("bootstrap/match.tpl.html",'<div class="ui-select-match" ng-hide="$select.open && $select.searchEnabled" ng-disabled="$select.disabled" ng-class="{\'btn-default-focus\':$select.focus}"><span tabindex="-1" class="btn btn-default form-control ui-select-toggle" aria-label="{{ $select.baseTitle }} activate" ng-disabled="$select.disabled" ng-click="$select.activate()" style="outline: 0;"><span ng-show="$select.isEmpty()" class="ui-select-placeholder text-muted">{{$select.placeholder}}</span> <span ng-hide="$select.isEmpty()" class="ui-select-match-text pull-left" ng-class="{\'ui-select-allow-clear\': $select.allowClear && !$select.isEmpty()}" ng-transclude=""></span> <i class="caret pull-right" ng-click="$select.toggle($event)"></i> <a ng-show="$select.allowClear && !$select.isEmpty() && ($select.disabled !== true)" aria-label="{{ $select.baseTitle }} clear" style="margin-right: 10px" ng-click="$select.clear($event)" class="btn btn-xs btn-link pull-right"><i class="glyphicon glyphicon-remove" aria-hidden="true"></i></a></span></div>'),$templateCache.put("bootstrap/no-choice.tpl.html",'<ul class="ui-select-no-choice dropdown-menu" ng-show="$select.items.length == 0"><li ng-transclude=""></li></ul>'),$templateCache.put("bootstrap/select-multiple.tpl.html",'<div class="ui-select-container ui-select-multiple ui-select-bootstrap dropdown form-control" ng-class="{open: $select.open}"><div><div class="ui-select-match"></div><input type="search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" class="ui-select-search input-xs" placeholder="{{$selectMultiple.getPlaceholder()}}" ng-disabled="$select.disabled" ng-click="$select.activate()" ng-model="$select.search" role="combobox" aria-expanded="{{$select.open}}" aria-label="{{$select.baseTitle}}" ng-class="{\'spinner\': $select.refreshing}" ondrop="return false;"></div><div class="ui-select-choices"></div><div class="ui-select-no-choice"></div></div>'),$templateCache.put("bootstrap/select.tpl.html",'<div class="ui-select-container ui-select-bootstrap dropdown" ng-class="{open: $select.open}"><div class="ui-select-match"></div><span ng-show="$select.open && $select.refreshing && $select.spinnerEnabled" class="ui-select-refreshing {{$select.spinnerClass}}"></span> <input type="search" autocomplete="off" tabindex="-1" aria-expanded="true" aria-label="{{ $select.baseTitle }}" aria-owns="ui-select-choices-{{ $select.generatedId }}" class="form-control ui-select-search" ng-class="{ \'ui-select-search-hidden\' : !$select.searchEnabled }" placeholder="{{$select.placeholder}}" ng-model="$select.search" ng-show="$select.open"><div class="ui-select-choices"></div><div class="ui-select-no-choice"></div></div>'),$templateCache.put("select2/choices.tpl.html",'<ul tabindex="-1" class="ui-select-choices ui-select-choices-content select2-results"><li class="ui-select-choices-group" ng-class="{\'select2-result-with-children\': $select.choiceGrouped($group) }"><div ng-show="$select.choiceGrouped($group)" class="ui-select-choices-group-label select2-result-label" ng-bind="$group.name"></div><ul id="ui-select-choices-{{ $select.generatedId }}" ng-class="{\'select2-result-sub\': $select.choiceGrouped($group), \'select2-result-single\': !$select.choiceGrouped($group) }"><li role="option" ng-attr-id="ui-select-choices-row-{{ $select.generatedId }}-{{$index}}" class="ui-select-choices-row" ng-class="{\'select2-highlighted\': $select.isActive(this), \'select2-disabled\': $select.isDisabled(this)}"><div class="select2-result-label ui-select-choices-row-inner"></div></li></ul></li></ul>'),$templateCache.put("select2/match-multiple.tpl.html",'<span class="ui-select-match"><li class="ui-select-match-item select2-search-choice" ng-repeat="$item in $select.selected track by $index" ng-class="{\'select2-search-choice-focus\':$selectMultiple.activeMatchIndex === $index, \'select2-locked\':$select.isLocked(this, $index)}" ui-select-sort="$select.selected"><span uis-transclude-append=""></span> <a href="javascript:;" class="ui-select-match-close select2-search-choice-close" ng-click="$selectMultiple.removeChoice($index)" tabindex="-1"></a></li></span>'),$templateCache.put("select2/match.tpl.html",'<a class="select2-choice ui-select-match" ng-class="{\'select2-default\': $select.isEmpty()}" ng-click="$select.toggle($event)" aria-label="{{ $select.baseTitle }} select"><span ng-show="$select.isEmpty()" class="select2-chosen">{{$select.placeholder}}</span> <span ng-hide="$select.isEmpty()" class="select2-chosen" ng-transclude=""></span> <abbr ng-if="$select.allowClear && !$select.isEmpty()" class="select2-search-choice-close" ng-click="$select.clear($event)"></abbr> <span class="select2-arrow ui-select-toggle"><b></b></span></a>'),$templateCache.put("select2/no-choice.tpl.html",'<div class="ui-select-no-choice dropdown" ng-show="$select.items.length == 0"><div class="dropdown-content"><div data-selectable="" ng-transclude=""></div></div></div>'),$templateCache.put("select2/select-multiple.tpl.html",'<div class="ui-select-container ui-select-multiple select2 select2-container select2-container-multi" ng-class="{\'select2-container-active select2-dropdown-open open\': $select.open, \'select2-container-disabled\': $select.disabled}"><ul class="select2-choices"><span class="ui-select-match"></span><li class="select2-search-field"><input type="search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="combobox" aria-expanded="true" aria-owns="ui-select-choices-{{ $select.generatedId }}" aria-label="{{ $select.baseTitle }}" aria-activedescendant="ui-select-choices-row-{{ $select.generatedId }}-{{ $select.activeIndex }}" class="select2-input ui-select-search" placeholder="{{$selectMultiple.getPlaceholder()}}" ng-disabled="$select.disabled" ng-hide="$select.disabled" ng-model="$select.search" ng-click="$select.activate()" style="width: 34px;" ondrop="return false;"></li></ul><div class="ui-select-dropdown select2-drop select2-with-searchbox select2-drop-active" ng-class="{\'select2-display-none\': !$select.open || $select.items.length === 0}"><div class="ui-select-choices"></div></div></div>'),$templateCache.put("select2/select.tpl.html",'<div class="ui-select-container select2 select2-container" ng-class="{\'select2-container-active select2-dropdown-open open\': $select.open, \'select2-container-disabled\': $select.disabled, \'select2-container-active\': $select.focus, \'select2-allowclear\': $select.allowClear && !$select.isEmpty()}"><div class="ui-select-match"></div><div class="ui-select-dropdown select2-drop select2-with-searchbox select2-drop-active" ng-class="{\'select2-display-none\': !$select.open}"><div class="search-container" ng-class="{\'ui-select-search-hidden\':!$select.searchEnabled, \'select2-search\':$select.searchEnabled}"><input type="search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" ng-class="{\'select2-active\': $select.refreshing}" role="combobox" aria-expanded="true" aria-owns="ui-select-choices-{{ $select.generatedId }}" aria-label="{{ $select.baseTitle }}" class="ui-select-search select2-input" ng-model="$select.search"></div><div class="ui-select-choices"></div><div class="ui-select-no-choice"></div></div></div>'),$templateCache.put("selectize/choices.tpl.html",'<div ng-show="$select.open" class="ui-select-choices ui-select-dropdown selectize-dropdown" ng-class="{\'single\': !$select.multiple, \'multi\': $select.multiple}"><div class="ui-select-choices-content selectize-dropdown-content"><div class="ui-select-choices-group optgroup"><div ng-show="$select.isGrouped" class="ui-select-choices-group-label optgroup-header" ng-bind="$group.name"></div><div role="option" class="ui-select-choices-row" ng-class="{active: $select.isActive(this), disabled: $select.isDisabled(this)}"><div class="option ui-select-choices-row-inner" data-selectable=""></div></div></div></div></div>'),$templateCache.put("selectize/match-multiple.tpl.html",'<div class="ui-select-match" data-value="" ng-repeat="$item in $select.selected track by $index" ng-click="$selectMultiple.activeMatchIndex = $index;" ng-class="{\'active\':$selectMultiple.activeMatchIndex === $index}" ui-select-sort="$select.selected"><span class="ui-select-match-item" ng-class="{\'select-locked\':$select.isLocked(this, $index)}">
1<span uis-transclude-append=""></span> <span class="remove ui-select-match-close" ng-hide="$select.disabled" ng-click="$selectMultiple.removeChoice($index)">×</span></span></div>'),$templateCache.put("selectize/match.tpl.html",'<div ng-hide="$select.searchEnabled && ($select.open || $select.isEmpty())" class="ui-select-match"><span ng-show="!$select.searchEnabled && ($select.isEmpty() || $select.open)" class="ui-select-placeholder text-muted">{{$select.placeholder}}</span> <span ng-hide="$select.isEmpty() || $select.open" ng-transclude=""></span></div>'),$templateCache.put("selectize/no-choice.tpl.html",'<div class="ui-select-no-choice selectize-dropdown" ng-show="$select.items.length == 0"><div class="selectize-dropdown-content"><div data-selectable="" ng-transclude=""></div></div></div>'),$templateCache.put("selectize/select-multiple.tpl.html",'<div class="ui-select-container selectize-control multi plugin-remove_button" ng-class="{\'open\': $select.open}"><div class="selectize-input" ng-class="{\'focus\': $select.open, \'disabled\': $select.disabled, \'selectize-focus\' : $select.focus}" ng-click="$select.open && !$select.searchEnabled ? $select.toggle($event) : $select.activate()"><div class="ui-select-match"></div><input type="search" autocomplete="off" tabindex="-1" class="ui-select-search" ng-class="{\'ui-select-search-hidden\':!$select.searchEnabled}" placeholder="{{$selectMultiple.getPlaceholder()}}" ng-model="$select.search" ng-disabled="$select.disabled" aria-expanded="{{$select.open}}" aria-label="{{ $select.baseTitle }}" ondrop="return false;"></div><div class="ui-select-choices"></div><div class="ui-select-no-choice"></div></div>'),$templateCache.put("selectize/select.tpl.html",'<div class="ui-select-container selectize-control single" ng-class="{\'open\': $select.open}"><div class="selectize-input" ng-class="{\'focus\': $select.open, \'disabled\': $select.disabled, \'selectize-focus\' : $select.focus}" ng-click="$select.open && !$select.searchEnabled ? $select.toggle($event) : $select.activate()"><div class="ui-select-match"></div><input type="search" autocomplete="off" tabindex="-1" class="ui-select-search ui-select-toggle" ng-class="{\'ui-select-search-hidden\':!$select.searchEnabled}" ng-click="$select.toggle($event)" placeholder="{{$select.placeholder}}" ng-model="$select.search" ng-hide="!$select.isEmpty() && !$select.open" ng-disabled="$select.disabled" aria-label="{{ $select.baseTitle }}"></div><div class="ui-select-choices"></div><div class="ui-select-no-choice"></div></div>')}]),angular.module("gettext",[]),angular.module("gettext").constant("gettext",function(str){return str}),angular.module("gettext").factory("gettextCatalog",["gettextPlurals","gettextFallbackLanguage","$http","$cacheFactory","$interpolate","$rootScope",function(gettextPlurals,gettextFallbackLanguage,$http,$cacheFactory,$interpolate,$rootScope){var catalog,test='<span id="test" title="test" class="tested">test</span>',isHTMLModified=angular.element("<span>"+test+"</span>").html()!==test,prefixDebug=function(string){return catalog.debug&&catalog.currentLanguage!==catalog.baseLanguage?catalog.debugPrefix+string:string},addTranslatedMarkers=function(string){return catalog.showTranslatedMarkers?catalog.translatedMarkerPrefix+string+catalog.translatedMarkerSuffix:string};function broadcastUpdated(){$rootScope.$broadcast("gettextLanguageChanged")}return catalog={debug:!1,debugPrefix:"[MISSING]: ",showTranslatedMarkers:!1,translatedMarkerPrefix:"[",translatedMarkerSuffix:"]",strings:{},baseLanguage:"en",currentLanguage:"en",cache:$cacheFactory("strings"),setCurrentLanguage:function(lang){this.currentLanguage=lang,broadcastUpdated()},getCurrentLanguage:function(){return this.currentLanguage},setStrings:function(language,strings){this.strings[language]||(this.strings[language]={});var defaultPlural=gettextPlurals(language,1);for(var key in strings){var val=strings[key];if(isHTMLModified&&(key=angular.element("<span>"+key+"</span>").html()),angular.isString(val)||angular.isArray(val)){var obj={};obj.$$noContext=val,val=obj}for(var context in this.strings[language][key]||(this.strings[language][key]={}),val){var str=val[context];angular.isArray(str)?this.strings[language][key][context]=str:(this.strings[language][key][context]=[],this.strings[language][key][context][defaultPlural]=str)}}broadcastUpdated()},getStringFormFor:function(language,string,n,context){return language?(((this.strings[language]||{})[string]||{})[context||"$$noContext"]||[])[gettextPlurals(language,n)]:null},getString:function(string,scope,context){var fallbackLanguage=gettextFallbackLanguage(this.currentLanguage);return string=this.getStringFormFor(this.currentLanguage,string,1,context)||this.get
vendor: 5,325 bytes, line 1
1StringFormFor(fallbackLanguage,string,1,context)||prefixDebug(string),string=scope?$interpolate(string)(scope):string,addTranslatedMarkers(string)},getPlural:function(n,string,stringPlural,scope,context){var fallbackLanguage=gettextFallbackLanguage(this.currentLanguage);return string=this.getStringFormFor(this.currentLanguage,string,n,context)||this.getStringFormFor(fallbackLanguage,string,n,context)||prefixDebug(1===n?string:stringPlural),scope&&(scope.$count=n,string=$interpolate(string)(scope)),addTranslatedMarkers(string)},loadRemote:function(url){return $http({method:"GET",url:url,cache:catalog.cache}).then(function(response){var data=response.data;for(var lang in data)catalog.setStrings(lang,data[lang]);return response})}}}]),angular.module("gettext").directive("translate",["gettextCatalog","$parse","$animate","$compile","$window","gettextUtil",function(gettextCatalog,$parse,$animate,$compile,$window,gettextUtil){var msie=parseInt((/msie (\d+)/i.exec($window.navigator.userAgent)||[])[1],10),PARAMS_PREFIX="translateParams";function handleInterpolationContext(scope,attrs,update){var attributes=Object.keys(attrs).filter(function(key){return gettextUtil.startsWith(key,PARAMS_PREFIX)&&key!==PARAMS_PREFIX});if(!attributes.length)return null;var interpolationContext=scope.$new(),unwatchers=[];return attributes.forEach(function(attribute){var unwatch=scope.$watch(attrs[attribute],function(newVal){var key=function(key){return gettextUtil.lcFirst(key.replace(PARAMS_PREFIX,""))}(attribute);interpolationContext[key]=newVal,update(interpolationContext)});unwatchers.push(unwatch)}),scope.$on("$destroy",function(){unwatchers.forEach(function(unwatch){unwatch()}),interpolationContext.$destroy()}),interpolationContext}return{restrict:"AE",terminal:!0,compile:function(element,attrs){gettextUtil.assert(!attrs.translatePlural||attrs.translateN,"translate-n","translate-plural"),gettextUtil.assert(!attrs.translateN||attrs.translatePlural,"translate-plural","translate-n");var msgid=gettextUtil.trim(element.html()),translatePlural=attrs.translatePlural,translateContext=attrs.translateContext;return msie<=8&&"\x3c!--IE fix--\x3e"===msgid.slice(-13)&&(msgid=msgid.slice(0,-13)),{post:function(scope,element,attrs){var countFn=$parse(attrs.translateN),pluralScope=null,linking=!0;function update(interpolationContext){var translated;interpolationContext=interpolationContext||null,translated=translatePlural?((scope=pluralScope||(pluralScope=scope.$new())).$count=countFn(scope),gettextCatalog.getPlural(scope.$count,msgid,translatePlural,null,translateContext)):gettextCatalog.getString(msgid,null,translateContext);var oldContents=element.contents();if(oldContents||translated)if(translated!==gettextUtil.trim(oldContents.html())){var newWrapper=angular.element("<span>"+translated+"</span>");$compile(newWrapper.contents())(interpolationContext||scope);var newContents=newWrapper.contents();$animate.enter(newContents,element),$animate.leave(oldContents)}else linking&&$compile(oldContents)(scope)}var interpolationContext=handleInterpolationContext(scope,attrs,update);update(interpolationContext),linking=!1,attrs.translateN&&scope.$watch(attrs.translateN,function(){update(interpolationContext)}),scope.$on("gettextLanguageChanged",function(){update(interpolationContext)})}}}}}]),angular.module("gettext").factory("gettextFallbackLanguage",function(){var cache={},pattern=/([^_]+)_[^_]+$/;return function(langCode){if(cache[langCode])return cache[langCode];var matches=pattern.exec(langCode);return matches?(cache[langCode]=matches[1],matches[1]):null}}),angular.module("gettext").filter("translate",["gettextCatalog",function(gettextCatalog){function filter(input,context){return gettextCatalog.getString(input,null,context)}return filter.$stateful=!0,filter}]),angular.module("gettext").factory("gettextPlurals",function(){var languageCodes={pt_BR:"pt_BR","pt-BR":"pt_BR"};return function(langCode,n){switch(function(langCode){languageCodes[langCode]||(languageCodes[langCode]=langCode.split(/\-|_/).shift());return languageCodes[langCode]}(langCode)){case"ay":case"bo":case"cgg":case"dz":case"fa":case"id":case"ja":case"jbo":case"ka":case"kk":case"km":case"ko":case"ky":case"lo":case"ms":case"my":case"sah":case"su":case"th":case"tt":case"ug":case"vi":case"wo":case"zh":return 0;case"is":return n%10!=1||n%100==11?1:0;case"jv":return 0!=n?1:0;case"mk":return 1==n||n%10==1?0:1;case"ach":case"ak":case"am":case"arn":case"br":case"fil":case"fr":case"gun":case"ln":case"mfe":case"mg":case"mi":case"oc":case"pt_BR":case"tg":case"ti":case"tr":case"uz":case"wa":case"zh":return 1<n?1:0;case"lv":return n%10==1&&n%100!=11?0:0!=n?1:2;case"lt":return n%10==1&&n%100!=11?0:2<=n%10&&(n%100<10||20<=n%100)?1:2;case"be":case"bs":case"hr":case"ru":case"sr":case"uk":return n%10==1&&n%100!=11?0:2<=n%10&&n%10<=4&&(n%100<10||20<=n%100)?1:2;case"mnk":return 0==n?0:1==n?1:2;case"ro":return 1==n?0:0==n||0<n%100&&n%100<20?1:2;case"pl":return 1==n?0:2<=n%10&&n%10<=4&&(n%100<10||20<=n%100)?1:2;case"cs":case"sk":return 1==n?0:2<=n&&n<=4?1:2;case"sl":return n%100==1?1:n%100==2?2:n%100==3||n%100==4?3:0;case"mt":return 1==n?0:0==n||1<n%100&&n%100<11?1:10<n%100&&n%100<20?2:3;case"gd":return 1==n||11==n?0:2==n||12==n?1:2<n&&n<20?2:3;case"cy":return 1==n?0:2==n?1:8!=n&&11!=n?2:3;case"kw":return 1==n?0:2==n?1:3==n?2:3;
1case"ga":return 1==n?0:2==n?1:n<7?2:n<11?3:4;case"ar":return 0==n?0:1==n?1:2==n?2:3<=n%100&&n%100<=10?3:11<=n%100?4:5;default:return 1!=n?1:0}}}),angular.module("gettext").factory("gettextUtil",function(){return{trim:String.prototype.trim?function(value){return"string"==typeof value?value.trim():value}:function(value){return"string"==typeof value?value.replace(/^\s*/,"").replace(/\s*$/,""):value},assert:function(condition,missing,found){if(!condition)throw new Error("You should add a "+missing+" attribute whenever you add a "+found+" attribute.")},startsWith:function(target,query){return 0===target.indexOf(query)},lcFirst:function(target){return target.charAt(0).toLowerCase()+target.substr(1)}}}),function(){"use strict";function toastr($animate,$injector,$document,$rootScope,$sce,toastrConfig,$q){var container,index=0,toasts=[],previousToastMessage="",openToasts={},containerDefer=$q.defer();return{active:function(){return toasts.length},clear:function(toast){if(1===arguments.length&&!toast)return;if(toast)remove(toast.toastId);else for(var i=0;i<toasts.length;i++)remove(toasts[i].toastId)},error:function(message,title,optionsOverride){return _buildNotification(_getOptions().iconClasses.error,message,title,optionsOverride)},info:function(message,title,optionsOverride){return _buildNotification(_getOptions().iconClasses.info,message,title,optionsOverride)},remove:remove,success:function(message,title,optionsOverride){return _buildNotification(_getOptions().iconClasses.success,message,title,optionsOverride)},warning:function(message,title,optionsOverride){return _buildNotification(_getOptions().iconClasses.warning,message,title,optionsOverride)},refreshTimer:function(toast,newTime){toast&&toast.isOpened&&0<=toasts.indexOf(toast)&&toast.scope.refreshTimer(newTime)}};function remove(toastId,wasClicked){var toast=function(toastId){for(var i=0;i<toasts.length;i++)if(toasts[i].toastId===toastId)return toasts[i]}(toastId);toast&&!toast.deleting&&(toast.deleting=!0,toast.isOpened=!1,$animate.leave(toast.el).then(function(){toast.scope.options.onHidden&&toast.scope.options.onHidden(!!wasClicked,toast),toast.scope.$destroy();var index=toasts.indexOf(toast);delete openToasts[toast.scope.message],toasts.splice(index,1);var maxOpened=toastrConfig.maxOpened;maxOpened&&toasts.length>=maxOpened&&toasts[maxOpened-1].open.resolve(),toasts.length||(container.remove(),container=null,containerDefer=$q.defer())}))}function _buildNotification(type,message,title,optionsOverride){return angular.isObject(title)&&(optionsOverride=title,title=null),function(map){var options=_getOptions();if(function(){var isDuplicateOfLast=options.preventDuplicates&&map.message===previousToastMessage,isDuplicateOpen=options.preventOpenDuplicates&&openToasts[map.message];if(isDuplicateOfLast||isDuplicateOpen)return!0;return previousToastMessage=map.message,!(openToasts[map.message]=!0)}())return;var newToast=function(){var newToast={toastId:index++,isOpened:!1,scope:$rootScope.$new(),open:$q.defer()};newToast.iconClass=map.iconClass,map.optionsOverride&&(angular.extend(options,function(options){for(var badOptions=["containerId","iconClasses","maxOpened","newestOnTop","positionClass","preventDuplicates","preventOpenDuplicates","templates"],i=0,l=badOptions.length;i<l;i++)delete options[badOptions[i]];return options}(map.optionsOverride)),newToast.iconClass=map.optionsOverride.iconClass||newToast.iconClass);return function(toast,map,options){function generateEvent(event){if(options[event])return function(){options[event](toast)}}options.allowHtml?(toast.scope.allowHtml=!0,toast.scope.title=$sce.trustAsHtml(map.title),toast.scope.message=$sce.trustAsHtml(map.message)):(toast.scope.title=map.title,toast.scope.message=map.message),toast.scope.toastType=toast.iconClass,toast.scope.toastId=toast.toastId,toast.scope.extraData=options.extraData,toast.scope.options={extendedTimeOut:options.extendedTimeOut,messageClass:options.messageClass,onHidden:options.onHidden,onShown:generateEvent("onShown"),onTap:generateEvent("onTap"),progressBar:options.progressBar,tapToDismiss:options.tapToDismiss,timeOut:options.timeOut,titleClass:options.titleClass,toastClass:options.toastClass},options.closeButton&&(toast.scope.options.closeHtml=options.closeHtml)}(newToast,map,options),newToast.el=(scope=newToast.scope,angularDomEl=angular.element("<div toast></div>"),$injector.get("$compile")(angularDomEl)(scope)),newToast;var scope,angularDomEl}();if(toasts.push(newToast),options.autoDismiss&&options.maxOpened&&toasts.length>options.maxOpened)for(var oldToasts=toasts.slice(0,toasts.length-options.maxOpened),i=0,len=oldToasts.length;i<len;i++)remove(oldToasts[i].toastId);(options.maxOpened&&toasts.length<=options.maxOpened||!options.maxOpened)&&newToast.o
1pen.resolve();return newToast.open.promise.then(function(){(function(options){if(container)return containerDefer.promise;(container=angular.element("<div></div>")).attr("id",options.containerId),container.addClass(options.positionClass),container.css({"pointer-events":"auto"});var target=angular.element(document.querySelector(options.target));if(target&&target.length)return $animate.enter(container,target).then(function(){containerDefer.resolve()}),containerDefer.promise;throw"Target for toasts doesn't exist"})(options).then(function(){if(newToast.isOpened=!0,options.newestOnTop)$animate.enter(newToast.el,container).then(function(){newToast.scope.init()});else{var sibling=container[0].lastChild?angular.element(container[0].lastChild):null;$animate.enter(newToast.el,container,sibling).then(function(){newToast.scope.init()})}})}),newToast}({iconClass:type,message:message,optionsOverride:optionsOverride,title:title})}function _getOptions(){return angular.extend({},toastrConfig)}}angular.module("toastr",[]).factory("toastr",toastr),toastr.$inject=["$animate","$injector","$document","$rootScope","$sce","toastrConfig","$q"]}(),function(){"use strict";angular.module("toastr").constant("toastrConfig",{allowHtml:!1,autoDismiss:!1,closeButton:!1,closeHtml:"<button>×</button>",containerId:"toast-container",extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},maxOpened:0,messageClass:"toast-message",newestOnTop:!0,onHidden:null,onShown:null,onTap:null,positionClass:"toast-top-right",preventDuplicates:!1,preventOpenDuplicates:!1,progressBar:!1,tapToDismiss:!0,target:"body",templates:{toast:"directives/toast/toast.html",progressbar:"directives/progressbar/progressbar.html"},timeOut:5e3,titleClass:"toast-title",toastClass:"toast"})}(),function(){"use strict";function progressBar(toastrConfig){return{require:"^toast",templateUrl:function(){return toastrConfig.templates.progressbar},link:function(scope,element,attrs,toastCtrl){var intervalId,currentTimeOut,hideTime;function updateProgress(){var percentage=(hideTime-(new Date).getTime())/currentTimeOut*100;element.css("width",percentage+"%")}(toastCtrl.progressBar=scope).start=function(duration){intervalId&&clearInterval(intervalId),currentTimeOut=parseFloat(duration),hideTime=(new Date).getTime()+currentTimeOut,intervalId=setInterval(updateProgress,10)},scope.stop=function(){intervalId&&clearInterval(intervalId)},scope.$on("$destroy",function(){clearInterval(intervalId)})}}}angular.module("toastr").directive("progressBar",progressBar),progressBar.$inject=["toastrConfig"]}(),function(){"use strict";angular.module("toastr").controller("ToastController",function(){this.progressBar=null,this.startProgressBar=function(duration){this.progressBar&&this.progressBar.start(duration)},this.stopProgressBar=function(){this.progressBar&&this.progressBar.stop()}})}(),function(){"use strict";function toast($injector,$interval,toastrConfig,toastr){return{templateUrl:function(){return toastrConfig.templates.toast},controller:"ToastController",link:function(scope,element,attrs,toastCtrl){var timeout;if(scope.toastClass=scope.options.toastClass,scope.titleClass=scope.options.titleClass,scope.messageClass=scope.options.messageClass,scope.progressBar=scope.options.progressBar,scope.options.closeHtml){var button=angular.element(scope.options.closeHtml),$compile=$injector.get("$compile");button.addClass("toast-close-button"),button.attr("ng-click","close(true, $event)"),$compile(button)(scope),element.children().prepend(button)}function createTimeout(time){return toastCtrl.startProgressBar(time),$interval(function(){toastCtrl.stopProgressBar(),toastr.remove(scope.toastId)},time,1)}scope.init=function(){scope.options.timeOut&&(timeout=createTimeout(scope.options.timeOut)),scope.options.onShown&&scope.options.onShown()},element.on("mouseenter",function(){scope.progressBar=!1,toastCtrl.stopProgressBar(),timeout&&$interval.cancel(timeout)}),scope.tapToast=function(){angular.isFunction(scope.options.onTap)&&scope.options.onTap(),scope.options.tapToDismiss&&scope.close(!0)},scope.close=function(wasClicked,$event){$event&&angular.isFunction($event.stopPropagation)&&$event.stopPropagation(),toastr.remove(scope.toastId,wasClicked)},scope.refreshTimer=function(newTime){timeout&&($interval.cancel(timeout),timeout=createTimeout(newTime||scope.options.timeOut))},element.on("mouseleave",function(){0===scope.options.timeOut&&0===scope.options.extendedTimeOut||(scope.$apply(function(){scope.progressBar=scope.options.progressBar}),timeout=createTimeout(scope.options.extendedTimeOut))})}}}
vendor: 7,652 bytes, line 1
1angular.module("toastr").directive("toast",toast),toast.$inject=["$injector","$interval","toastrConfig","toastr"]}(),angular.module("toastr").run(["$templateCache",function($templateCache){$templateCache.put("directives/progressbar/progressbar.html",'<div class="toast-progress"></div>\n'),$templateCache.put("directives/toast/toast.html",'<div class="{{toastClass}} {{toastType}}" ng-click="tapToast()">\n <div ng-switch on="allowHtml">\n <div ng-switch-default ng-if="title" class="{{titleClass}}" aria-label="{{title}}">{{title}}</div>\n <div ng-switch-default class="{{messageClass}}" aria-label="{{message}}">{{message}}</div>\n <div ng-switch-when="true" ng-if="title" class="{{titleClass}}" ng-bind-html="title"></div>\n <div ng-switch-when="true" class="{{messageClass}}" ng-bind-html="message"></div>\n </div>\n <progress-bar ng-if="progressBar"></progress-bar>\n</div>\n')}]),angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.collapse","ui.bootstrap.tabindex","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.isClass","ui.bootstrap.datepicker","ui.bootstrap.position","ui.bootstrap.datepickerPopup","ui.bootstrap.debounce","ui.bootstrap.multiMap","ui.bootstrap.dropdown","ui.bootstrap.stackedMap","ui.bootstrap.modal","ui.bootstrap.paging","ui.bootstrap.pager","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]),angular.module("ui.bootstrap.tpls",["uib/template/accordion/accordion-group.html","uib/template/accordion/accordion.html","uib/template/alert/alert.html","uib/template/carousel/carousel.html","uib/template/carousel/slide.html","uib/template/datepicker/datepicker.html","uib/template/datepicker/day.html","uib/template/datepicker/month.html","uib/template/datepicker/year.html","uib/template/datepickerPopup/popup.html","uib/template/modal/window.html","uib/template/pager/pager.html","uib/template/pagination/pagination.html","uib/template/tooltip/tooltip-html-popup.html","uib/template/tooltip/tooltip-popup.html","uib/template/tooltip/tooltip-template-popup.html","uib/template/popover/popover-html.html","uib/template/popover/popover-template.html","uib/template/popover/popover.html","uib/template/progressbar/bar.html","uib/template/progressbar/progress.html","uib/template/progressbar/progressbar.html","uib/template/rating/rating.html","uib/template/tabs/tab.html","uib/template/tabs/tabset.html","uib/template/timepicker/timepicker.html","uib/template/typeahead/typeahead-match.html","uib/template/typeahead/typeahead-popup.html"]),angular.module("ui.bootstrap.collapse",[]).directive("uibCollapse",["$animate","$q","$parse","$injector",function($animate,$q,$parse,$injector){var $animateCss=$injector.has("$animateCss")?$injector.get("$animateCss"):null;return{link:function(scope,element,attrs){var expandingExpr=$parse(attrs.expanding),expandedExpr=$parse(attrs.expanded),collapsingExpr=$parse(attrs.collapsing),collapsedExpr=$parse(attrs.collapsed),horizontal=!1,css={},cssTo={};function getScrollFromElement(element){return horizontal?{width:element.scrollWidth+"px"}:{height:element.scrollHeight+"px"}}function expandDone(){element.removeClass("collapsing").addClass("collapse").css(css),expandedExpr(scope)}function collapseDone(){element.css(cssTo),element.removeClass("collapsing").addClass("collapse"),collapsedExpr(scope)}!function(){cssTo=(horizontal=!!("horizontal"in attrs))?(css={width:""},{width:"0"}):(css={height:""},{height:"0"});scope.$eval(attrs.uibCollapse)||element.addClass("in").addClass("collapse").attr("aria-expanded",!0).attr("aria-hidden",!1).css(css)}(),scope.$watch(attrs.uibCollapse,function(shouldCollapse){shouldCollapse?function(){if(!element.hasClass("collapse")&&!element.hasClass("in"))return collapseDone();$q.resolve(collapsingExpr(scope)).then(function(){element.css(getScrollFromElement(element[0])).removeClass("collapse").addClass("collapsing").attr("aria-expanded",!1).attr("aria-hidden",!0),$animateCss?$animateCss(element,{removeClass:"in",to:cssTo}).start().finally(collapseDone):$animate.removeClass(element,"in",{to:cssTo}).then(collapseDone)},angular.noop)}():element.hasClass("collapse")&&element.hasClass("in")||$q.resolve(expandingExpr(scope)).then(function(){element.removeClass("collapse").addClass("collapsing").attr("aria-expanded",!0).attr("aria-hidden",!1),$animateCss?$animateCss(element,{addClass:"in",easing:"ease",css:{overflow:"hidden"},to:getScrollFromElement(element[0])}).start().finally(expandDone):$animate.addClass(element,"in",{css:{overflow:"hidden"},to:getScrollFromElement(element[0])}).then(expandDone)},angular.noop)})}}}]),angular.module("ui.bootstrap.tabindex",[]).directive("uibTabindexToggle",function(){return{restrict:"A",link:function(scope,elem,attrs){attrs.$observe("disabled",function(disabled){attrs.$set("tabindex",disabled?-1:null)})}}}),angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse","ui.bootstrap.tabindex"]).constant("uibAccordionConfig",{closeOthers:!0}).controller("UibAccordionController",["$scope","$attrs","uibAccordionConfig",function($scope,$attrs,accordionConfig){this.groups=[],this.closeOthers=function(openGroup){(angular.isDefined($attrs.closeOthers)?$scope.$eval($attrs.closeOthers):accordionConfig.closeOthers)&&angular.forEach(this.groups,function(group){group!==openGroup&&(group.isOpen=!1)})},this.addGroup=function(groupScope){var that=this;this.groups.push(groupScope),groupScope.$on("$destroy",function(event){that.removeGroup(groupScope)})},this.removeGroup=function(group){var index=this.groups.indexOf(group);-1!==index&&this.groups.splice(index,1)}}]).directive("uibAccordion",function(){return{controller:"UibAccordionController",controllerAs:"accordion",transclude:!0,templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/accordion/accordion.html"}}}).directive("uibAccordionGroup",function(){return{require:"^uibAccordion",transclude:!0,restrict:"A",templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/accordion/accordion-group.html"},scope:{heading:"@",panelClass:"@?",isOpen:"=?",isDisabled:"=?"},controller:function(){this.setHeading=function(element){this.heading=element}},link:function(scope,element,attrs,accordionCtrl){element.addClass("panel"),accordionCtrl.addGroup(scope),scope.openClass=attrs.openClass||"panel-open",scope.panelClass=attrs.panelClass||"panel-default",scope.$watch("isOpen",function(value){element.toggleClass(scope.openClass,!!value),value&&accordionCtrl.closeOthers(scope)}),scope.toggleOpen=function($event){scope.isDisabled||$event&&32!==$event.which||(scope.isOpen=!scope.isOpen)};var id="accordiongroup-"+scope.$id+"-"+Math.floor(1e4*Math.random());scope.headingId=id+"-tab",scope.panelId=id+"-panel"}}}).directive("uibAccordionHeading",function(){return{transclude:!0,template:"",replace:!0,require:"^uibAccordionGroup",link:function(scope,element,attrs,accordionGroupCtrl,transclude){accordionGroupCtrl.setHeading(transclude(scope,angular.noop))}}}).directive("uibAccordionTransclude",function(){return{require:"^uibAccordionGroup",link:function(scope,element,attrs,controller){scope.$watch(function(){return controller[attrs.uibAccordionTransclude]},function(heading){if(heading){var elem=angular.element(element[0].querySelector("uib-accordion-header,data-uib-accordion-header,x-uib-accordion-header,uib\\:accordion-header,[uib-accordion-header],[data-uib-accordion-header],[x-uib-accordion-header]"));elem.html(""),elem.append(heading)}})}}}
vendor: 41,806 bytes, line 1
1),angular.module("ui.bootstrap.alert",[]).controller("UibAlertController",["$scope","$element","$attrs","$interpolate","$timeout",function($scope,$element,$attrs,$interpolate,$timeout){$scope.closeable=!!$attrs.close,$element.addClass("alert"),$attrs.$set("role","alert"),$scope.closeable&&$element.addClass("alert-dismissible");var dismissOnTimeout=angular.isDefined($attrs.dismissOnTimeout)?$interpolate($attrs.dismissOnTimeout)($scope.$parent):null;dismissOnTimeout&&$timeout(function(){$scope.close()},parseInt(dismissOnTimeout,10))}]).directive("uibAlert",function(){return{controller:"UibAlertController",controllerAs:"alert",restrict:"A",templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/alert/alert.html"},transclude:!0,scope:{close:"&"}}}),angular.module("ui.bootstrap.buttons",[]).constant("uibButtonConfig",{activeClass:"active",toggleEvent:"click"}).controller("UibButtonsController",["uibButtonConfig",function(buttonConfig){this.activeClass=buttonConfig.activeClass||"active",this.toggleEvent=buttonConfig.toggleEvent||"click"}]).directive("uibBtnRadio",["$parse",function($parse){return{require:["uibBtnRadio","ngModel"],controller:"UibButtonsController",controllerAs:"buttons",link:function(scope,element,attrs,ctrls){var buttonsCtrl=ctrls[0],ngModelCtrl=ctrls[1],uncheckableExpr=$parse(attrs.uibUncheckable);element.find("input").css({display:"none"}),ngModelCtrl.$render=function(){element.toggleClass(buttonsCtrl.activeClass,angular.equals(ngModelCtrl.$modelValue,scope.$eval(attrs.uibBtnRadio)))},element.on(buttonsCtrl.toggleEvent,function(){if(!attrs.disabled){var isActive=element.hasClass(buttonsCtrl.activeClass);isActive&&!angular.isDefined(attrs.uncheckable)||scope.$apply(function(){ngModelCtrl.$setViewValue(isActive?null:scope.$eval(attrs.uibBtnRadio)),ngModelCtrl.$render()})}}),attrs.uibUncheckable&&scope.$watch(uncheckableExpr,function(uncheckable){attrs.$set("uncheckable",uncheckable?"":void 0)})}}}]).directive("uibBtnCheckbox",function(){return{require:["uibBtnCheckbox","ngModel"],controller:"UibButtonsController",controllerAs:"button",link:function(scope,element,attrs,ctrls){var buttonsCtrl=ctrls[0],ngModelCtrl=ctrls[1];function getTrueValue(){return getCheckboxValue(attrs.btnCheckboxTrue,!0)}function getCheckboxValue(attribute,defaultValue){return angular.isDefined(attribute)?scope.$eval(attribute):defaultValue}element.find("input").css({display:"none"}),ngModelCtrl.$render=function(){element.toggleClass(buttonsCtrl.activeClass,angular.equals(ngModelCtrl.$modelValue,getTrueValue()))},element.on(buttonsCtrl.toggleEvent,function(){attrs.disabled||scope.$apply(function(){ngModelCtrl.$setViewValue(element.hasClass(buttonsCtrl.activeClass)?getCheckboxValue(attrs.btnCheckboxFalse,!1):getTrueValue()),ngModelCtrl.$render()})})}}}),angular.module("ui.bootstrap.carousel",[]).controller("UibCarouselController",["$scope","$element","$interval","$timeout","$animate",function($scope,$element,$interval,$timeout,$animate){var currentInterval,isPlaying,self=this,slides=self.slides=$scope.slides=[],SLIDE_DIRECTION="uib-slideDirection",currentIndex=$scope.active,destroyed=!1;function setActive(index){for(var i=0;i<slides.length;i++)slides[i].slide.active=i===index}function findSlideIndex(slide){for(var i=0;i<slides.length;i++)if(slides[i].slide===slide)return i}function resetTimer(){currentInterval&&($interval.cancel(currentInterval),currentInterval=null)}function restartTimer(){resetTimer();var interval=+$scope.interval;!isNaN(interval)&&0<interval&&(currentInterval=$interval(timerFn,interval))}function timerFn(){var interval=+$scope.interval;isPlaying&&!isNaN(interval)&&0<interval&&slides.length?$scope.next():$scope.pause()}$element.addClass("carousel"),self.addSlide=function(slide,element){slides.push({slide:slide,element:element}),slides.sort(function(a,b){return+a.slide.index-+b.slide.index}),(slide.index===$scope.active||1===slides.length&&!angular.isNumber($scope.active))&&($scope.$currentTransition&&($scope.$currentTransition=null),currentIndex=slide.index,$scope.active=slide.index,setActive(currentIndex),self.select(slides[findSlideIndex(slide)]),1===slides.length&&$scope.play())},self.getCurrentIndex=function(){for(var i=0;i<slides.length;i++)if(slides[i].slide.index===currentIndex)return i},self.next=$scope.next=function(){var newIndex=(self.getCurrentIndex()+1)%slides.length;if(0!==newIndex||!$scope.noWrap())return self.select(slides[newIndex],"next");$scope.pause()},self.prev=$scope.prev=function(){var newIndex=self.getCurrentIndex()-1<0?slides.length-1:self.getCurrentIndex()-1;if(!$scope.noWrap()||newIndex!==slides.length-1)return self.select(slides[newIndex],"prev");$scope.pause()},self.removeSlide=function(slide){var index=findSlideIndex(slide);slides.splice(index,1),0<slides.length&¤tIndex===index?index>=slides.length?(currentIndex=slides.length-1,setActive($scope.active=currentIndex),self.select(slides[slides.length-1])):(currentIndex=index,setActive($scope.active=currentIndex),self.select(slides[index])):index<currentIndex&&(currentIndex--,$scope.active=currentIndex),0===slides.length&&(currentIndex=null,$scope.active=null)},self.select=$scope.select=function(nextSlide,direction){var nextIndex=findSlideIndex(nextSlide.slide);void 0===direction&&(direction=nextIndex>self.getCurrentIndex()?"next":"prev"),nextSlide.slide.index===currentIndex||$scope.$currentTransition||function(slide,index,direction){if(destroyed)return;if(angular.extend(slide,{direction:direction}),angular.extend(slides[currentIndex].slide||{},{direction:direction}),$animate.enabled($element)&&!$scope.$currentTransition&&slides[index].element&&1<self.slides.length){slides[index].element.data(SLIDE_DIRECTION,slide.direction);var currentIdx=self.getCurrentIndex();angular.isNumber(currentIdx)&&slides[currentIdx].element&&slides[currentIdx].element.data(SLIDE_DIRECTION,slide.direction),$scope.$currentTransition=!0,$animate.on("addClass",slides[index].element,function(element,phase){"close"===phase&&($scope.$currentTransition=null,$animate.off("addClass",element))})}$scope.active=slide.index,currentIndex=slide.index,setActive(index),restartTimer()}(nextSlide.slide,nextIndex,direction)},$scope.indexOfSlide=function(slide){return+slide.slide.index},$scope.isActive=function(slide){return $scope.active===slide.slide.index},$scope.isPrevDisabled=function(){return 0===$scope.active&&$scope.noWrap()},$scope.isNextDisabled=function(){return $scope.active===slides.length-1&&$scope.noWrap()},$scope.pause=function(){$scope.noPause||(isPlaying=!1,resetTimer())},$scope.play=function(){isPlaying||(isPlaying=!0,restartTimer())},$element.on("mouseenter",$scope.pause),$element.on("mouseleave",$scope.play),$scope.$on("$destroy",function(){destroyed=!0,resetTimer()}),$scope.$watch("noTransition",function(noTransition){$animate.enabled($element,!noTransition)}),$scope.$watch("interval",restartTimer),$scope.$watchCollection("slides",function(slides){slides.length||($scope.$currentTransition=null)}),$scope.$watch("active",function(index){if(angular.isNumber(index)&¤tIndex!==index){for(var i=0;i<slides.length;i++)if(slides[i].slide.index===index){index=i;break}slides[index]&&(setActive(index),self.select(slides[index]),currentIndex=index)}})}]).directive("uibCarousel",function(){return{transclude:!0,controller:"UibCarouselController",controllerAs:"carousel",restrict:"A",templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/carousel/carousel.html"},scope:{active:"=",interval:"=",noTransition:"=",noPause:"=",noWrap:"&"}}}).directive("uibSlide",["$animate",function($animate){return{require:"^uibCarousel",restrict:"A",transclude:!0,templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/carousel/slide.html"},scope:{actual:"=?",index:"=?"},link:function(scope,element,attrs,carouselCtrl){element.addClass("item"),carouselCtrl.addSlide(scope,element),scope.$on("$destroy",function(){carouselCtrl.removeSlide(scope)}),scope.$watch("active",function(active){$animate[active?"addClass":"removeClass"](element,"active")})}}}]).animation(".item",["$animateCss",function($animateCss){function removeClass(element,className,callback){element.removeClass(className),callback&&callback()}return{beforeAddClass:function(element,className,done){if("active"===className){var direction=element.data("uib-slideDirection"),directionClass="next"===direction?"left":"right",removeClassFn=removeClass.bind(this,element,directionClass+" "+direction,done);return element.addClass(direction),$animateCss(element,{addClass:directionClass}).start().done(removeClassFn),function(){!0}}done()},beforeRemoveClass:function(element,className,done){if("active"===className){var directionClass="next"===element.data("uib-slideDirection")?"left":"right",removeClassFn=removeClass.bind(this,element,directionClass,done);return $animateCss(element,{addClass:directionClass}).start().done(removeClassFn),function(){!0}}done()}}}]),angular.module("ui.bootstrap.dateparser",[]).service("uibDateParser",["$log","$locale","dateFilter","orderByFilter","filterFilter",function($log,$locale,dateFilter,orderByFilter,filterFilter){var localeId,formatCodeToRegex,SPECIAL_CHARACTERS_REGEXP=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;function getFormatCodeToRegex(key){return filterFilter(formatCodeToRegex,{key:key},!0)[0]}function constructLiteralFormatter(format,literalIdx,endIdx){return function(){return format.substr(literalIdx+1,endIdx-literalIdx-1)}}function constructFormatterFromIdx(format,i){for(var currentPosStr=format.substr(i),j=0;j<formatCodeToRegex.length;j++)if(new RegExp("^"+formatCodeToRegex[j].key).test(currentPosStr)){var data=formatCodeToRegex[j];return{endIdx:i+data.key.length,parser:data.formatter}}return{endIdx:i+1,parser:function(){return currentPosStr.charAt(0)}}}function toInt(str){return parseInt(str,10)}function timezoneToOffset(timezone,fallback){timezone=timezone.replace(/:/g,"");var requestedTimezoneOffset=Date.parse("Jan 01, 1970 00:00:00 "+timezone)/6e4;return isNaN(requestedTimezoneOffset)?fallback:requestedTimezoneOffset}function addDateMinutes(date,minutes){return(date=new Date(date.getTime())).setMinutes(date.getMinutes()+minutes),date}function convertTimezoneToLocal(date,timezone,reverse){reverse=reverse?-1:1;var dateTimezoneOffset=date.getTimezoneOffset();return addDateMinutes(date,reverse*(timezoneToOffset(timezone,dateTimezoneOffset)-dateTimezoneOffset))}this.init=function(){localeId=$locale.id,this.parsers={},this.formatters={},formatCodeToRegex=[{key:"yyyy",regex:"\\d{4}",apply:function(value){this.year=+value},formatter:function(date){var _date=new Date;return _date.setFullYear(Math.abs(date.getFullYear())),dateFilter(_date,"yyyy")}},{key:"yy",regex:"\\d{2}",apply:function(value){value=+value,this.year=value<69?value+2e3:value+1900},formatter:function(date){var _date=new Date;return _date.setFullYear(Math.abs(date.getFullYear())),dateFilter(_date,"yy")}},{key:"y",regex:"\\d{1,4}",apply:function(value){this.year=+value},formatter:function(date){var _date=new Date;return _date.setFullYear(Math.abs(date.getFullYear())),dateFilter(_date,"y")}},{key:"M!",regex:"0?[1-9]|1[0-2]",apply:function(value){this.month=value-1},formatter:function(date){var value=date.getMonth();return/^[0-9]$/.test(value)?dateFilter(date,"MM"):dateFilter(date,"M")}},{key:"MMMM",regex:$locale.DATETIME_FORMATS.MONTH.join("|"),apply:function(value){this.month=$locale.DATETIME_FORMATS.MONTH.indexOf(value)},formatter:function(date){return dateFilter(date,"MMMM")}},{key:"MMM",regex:$locale.DATETIME_FORMATS.SHORTMONTH.join("|"),apply:function(value){this.month=$locale.DATETIME_FORMATS.SHORTMONTH.indexOf(value)},formatter:function(date){return dateFilter(date,"MMM")}},{key:"MM",regex:"0[1-9]|1[0-2]",apply:function(value){this.month=value-1},formatter:function(date){return dateFilter(date,"MM")}},{key:"M",regex:"[1-9]|1[0-2]",apply:function(value){this.month=value-1},formatter:function(date){return dateFilter(date,"M")}},{key:"d!",regex:"[0-2]?[0-9]{1}|3[0-1]{1}",apply:function(value){this.date=+value},formatter:function(date){var value=date.getDate();return/^[1-9]$/.test(value)?dateFilter(date,"dd"):dateFilter(date,"d")}},{key:"dd",regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(value){this.date=+value},formatter:function(date){return dateFilter(date,"dd")}},{key:"d",regex:"[1-2]?[0-9]{1}|3[0-1]{1}",apply:function(value){this.date=+value},formatter:function(date){return dateFilter(date,"d")}},{key:"EEEE",regex:$locale.DATETIME_FORMATS.DAY.join("|"),formatter:function(date){return dateFilter(date,"EEEE")}},{key:"EEE",regex:$locale.DATETIME_FORMATS.SHORTDAY.join("|"),formatter:function(date){return dateFilter(date,"EEE")}},{key:"HH",regex:"(?:0|1)[0-9]|2[0-3]",apply:function(value){this.hours=+value},formatter:function(date){return dateFilter(date,"HH")}},{key:"hh",regex:"0[0-9]|1[0-2]",apply:function(value){this.hours=+value},formatter:function(date){return dateFilter(date,"hh")}},{key:"H",regex:"1?[0-9]|2[0-3]",apply:function(value){this.hours=+value},formatter:function(date){return dateFilter(date,"H")}},{key:"h",regex:"[0-9]|1[0-2]",apply:function(value){this.hours=+value},formatter:function(date){return dateFilter(date,"h")}},{key:"mm",regex:"[0-5][0-9]",apply:function(value){this.minutes=+value},formatter:function(date){return dateFilter(date,"mm")}},{key:"m",regex:"[0-9]|[1-5][0-9]",apply:function(value){this.minutes=+value},formatter:function(date){return dateFilter(date,"m")}},{key:"sss",regex:"[0-9][0-9][0-9]",apply:function(value){this.milliseconds=+value},formatter:function(date){return dateFilter(date,"sss")}},{key:"ss",regex:"[0-5][0-9]",apply:function(value){this.seconds=+value},formatter:function(date){return dateFilter(date,"ss")}},{key:"s",regex:"[0-9]|[1-5][0-9]",apply:function(value){this.seconds=+value},formatter:function(date){return dateFilter(date,"s")}},{key:"a",regex:$locale.DATETIME_FORMATS.AMPMS.join("|"),apply:function(value){12===this.hours&&(this.hours=0),"PM"===value&&(this.hours+=12)},formatter:function(date){return dateFilter(date,"a")}},{key:"Z",regex:"[+-]\\d{4}",apply:function(value){var matches=value.match(/([+-])(\d{2})(\d{2})/),sign=matches[1],hours=matches[2],minutes=matches[3];this.hours+=toInt(sign+hours),this.minutes+=toInt(sign+minutes)},formatter:function(date){return dateFilter(date,"Z")}},{key:"ww",regex:"[0-4][0-9]|5[0-3]",formatter:function(date){return dateFilter(date,"ww")}},{key:"w",regex:"[0-9]|[1-4][0-9]|5[0-3]",formatter:function(date){return dateFilter(date,"w")}},{key:"GGGG",regex:$locale.DATETIME_FORMATS.ERANAMES.join("|").replace(/\s/g,"\\s"),formatter:function(date){return dateFilter(date,"GGGG")}},{key:"GGG",regex:$locale.DATETIME_FORMATS.ERAS.join("|"),formatter:function(date){return dateFilter(date,"GGG")}},{key:"GG",regex:$locale.DATETIME_FORMATS.ERAS.join("|"),formatter:function(date){return dateFilter(date,"GG")}},{key:"G",regex:$locale.DATETIME_FORMATS.ERAS.join("|"),formatter:function(date){return dateFilter(date,"G")}}],1<=angular.version.major&&4<angular.version.minor&&formatCodeToRegex.push({key:"LLLL",regex:$locale.DATETIME_FORMATS.STANDALONEMONTH.join("|"),apply:function(value){this.month=$locale.DATETIME_FORMATS.STANDALONEMONTH.indexOf(value)},formatter:function(date){return dateFilter(date,"LLLL")}})},this.init(),this.getParser=function(key){var f=getFormatCodeToRegex(key);return f&&f.apply||null},this.overrideParser=function(key,parser){var f=getFormatCodeToRegex(key);f&&angular.isFunction(parser)&&(this.parsers={},f.apply=parser)}.bind(this),this.filter=function(date,format){return angular.isDate(date)&&!isNaN(date)&&format?(format=$locale.DATETIME_FORMATS[format]||format,$locale.id!==localeId&&this.init(),this.formatters[format]||(this.formatters[format]=function(format){for(var formatter,literalIdx,formatters=[],i=0;i<format.length;)if(angular.isNumber(literalIdx)){if("'"===format.charAt(i))(i+1>=format.length||"'"!==format.charAt(i+1))&&(formatters.push(constructLiteralFormatter(format,literalIdx,i)),literalIdx=null);else if(i===format.length)for(;literalIdx<format.length;)formatter=constructFormatterFromIdx(format,literalIdx),formatters.push(formatter),literalIdx=formatter.endIdx;i++}else"'"!==format.charAt(i)?(formatter=constructFormatterFromIdx(format,i),formatters.push(formatter.parser),i=formatter.endIdx):(literalIdx=i,i++);return formatters}(format)),this.formatters[format].reduce(function(str,formatter){return str+formatter(date)},"")):""},this.parse=function(input,format,baseDate){if(!angular.isString(input)||!format)return input;format=(format=$locale.DATETIME_FORMATS[format]||format).replace(SPECIAL_CHARACTERS_REGEXP,"\\$&"),$locale.id!==localeId&&this.init(),this.parsers[format]||(this.parsers[format]=function(format){var map=[],regex=format.split(""),quoteIndex=format.indexOf("'");if(-1<quoteIndex){var inLiteral=!1;format=format.split("");for(var i=quoteIndex;i<format.length;i++)inLiteral?("'"===format[i]&&(i+1<format.length&&"'"===format[i+1]?(format[i+1]="$",regex[i+1]=""):(regex[i]="",inLiteral=!1)),format[i]="$"):"'"===format[i]&&(format[i]="$",inLiteral=!(regex[i]=""));format=format.join("")}return angular.forEach(formatCodeToRegex,function(data){var index=format.indexOf(data.key);if(-1<index){format=format.split(""),regex[index]="("+data.regex+")",format[index]="$";for(var i=index+1,n=index+data.key.length;i<n;i++)regex[i]="",format[i]="$";format=format.join(""),map.push({index:index,key:data.key,apply:data.apply,matcher:data.regex})}}),{regex:new RegExp("^"+regex.join("")+"$"),map:orderByFilter(map,"index")}}(format));var parser=this.parsers[format],regex=parser.regex,map=parser.map,results=input.match(regex),tzOffset=!1;if(results&&results.length){var fields,dt;fields=angular.isDate(baseDate)&&!isNaN(baseDate.getTime())?{year:baseDate.getFullYear(),month:baseDate.getMonth(),date:baseDate.getDate(),hours:baseDate.getHours(),minutes:baseDate.getMinutes(),seconds:baseDate.getSeconds(),milliseconds:baseDate.getMilliseconds()}:(baseDate&&$log.warn("dateparser:","baseDate is not a valid date"),{year:1900,month:0,date:1,hours:0,minutes:0,seconds:0,milliseconds:0});for(var i=1,n=results.length;i<n;i++){var mapper=map[i-1];"Z"===mapper.matcher&&(tzOffset=!0),mapper.apply&&mapper.apply.call(fields,results[i])}var datesetter=tzOffset?Date.prototype.setUTCFullYear:Date.prototype.setFullYear,timesetter=tzOffset?Date.prototype.setUTCHours:Date.prototype.setHours;return function(year,month,date){if(date<1)return!1;if(1===month&&28<date)return 29===date&&(year%4==0&&year%100!=0||year%400==0);return 3!==month&&5!==month&&8!==month&&10!==month||date<31}(fields.year,fields.month,fields.date)&&(!angular.isDate(baseDate)||isNaN(baseDate.getTime())||tzOffset?(dt=new Date(0),datesetter.call(dt,fields.year,fields.month,fields.date),timesetter.call(dt,fields.hours||0,fields.minutes||0,fields.seconds||0,fields.milliseconds||0)):(dt=new Date(baseDate),datesetter.call(dt,fields.year,fields.month,fields.date),timesetter.call(dt,fields.hours,fields.minutes,fields.seconds,fields.milliseconds))),dt}},this.toTimezone=function(date,timezone){return date&&timezone?convertTimezoneToLocal(date,timezone):date},this.fromTimezone=function(date,timezone){return date&&timezone?convertTimezoneToLocal(date,timezone,!0):date},this.timezoneToOffset=timezoneToOffset,this.addDateMinutes=addDateMinutes,this.convertTimezoneToLocal=convertTimezoneToLocal}]),angular.module("ui.bootstrap.isClass",[]).directive("uibIsClass",["$animate",function($animate){var ON_REGEXP=/^\s*([\s\S]+?)\s+on\s+([\s\S]+?)\s*$/,IS_REGEXP=/^\s*([\s\S]+?)\s+for\s+([\s\S]+?)\s*$/;return{restrict:"A",compile:function(tElement,tAttrs){var linkedScopes=[],instances=[],expToData={},onExpMatches=tAttrs.uibIsClass.match(ON_REGEXP),onExp=onExpMatches[2],exps=onExpMatches[1].split(",");return function(scope,element,attrs){linkedScopes.push(scope),instances.push({scope:scope,element:element}),exps.forEach(function(exp,k){!function(exp,scope){var matches=exp.match(IS_REGEXP),clazz=scope.$eval(matches[1]),compareWithExp=matches[2],data=expToData[exp];if(!data){var watchFn=function(compareWithVal){var newActivated=null;instances.some(function(instance){var thisVal=instance.scope.$eval(onExp);if(thisVal===compareWithVal)return newActivated=instance,!0}),data.lastActivated!==newActivated&&(data.lastActivated&&$animate.removeClass(data.lastActivated.element,clazz),newActivated&&$animate.addClass(newActivated.element,clazz),data.lastActivated=newActivated)};expToData[exp]=data={lastActivated:null,scope:scope,watchFn:watchFn,compareWithExp:compareWithExp,watcher:scope.$watch(compareWithExp,watchFn)}}data.watchFn(scope.$eval(compareWithExp))}(exp,scope)}),scope.$on("$destroy",removeScope)};function removeScope(e){var removedScope=e.targetScope,index=linkedScopes.indexOf(removedScope);if(linkedScopes.splice(index,1),instances.splice(index,1),linkedScopes.length){var newWatchScope=linkedScopes[0];angular.forEach(expToData,function(data){data.scope===removedScope&&(data.watcher=newWatchScope.$watch(data.compareWithExp,data.watchFn),data.scope=newWatchScope)})}else expToData={}}}}}]),angular.module("ui.bootstrap.datepicker",["ui.bootstrap.dateparser","ui.bootstrap.isClass"]).value("$datepickerSuppressError",!1).value("$datepickerLiteralWarning",!0).constant("uibDatepickerConfig",{datepickerMode:"day",formatDay:"dd",formatMonth:"MMMM",formatYear:"yyyy",formatDayHeader:"EEE",formatDayTitle:"MMMM yyyy",formatMonthTitle:"yyyy",maxDate:null,maxMode:"year",minDate:null,minMode:"day",monthColumns:3,ngModelOptions:{},shortcutPropagation:!1,showWeeks:!0,yearColumns:5,yearRows:4}).controller("UibDatepickerController",["$scope","$element","$attrs","$parse","$interpolate","$locale","$log","dateFilter","uibDatepickerConfig","$datepickerLiteralWarning","$datepickerSuppressError","uibDateParser",function($scope,$element,$attrs,$parse,$interpolate,$locale,$log,dateFilter,datepickerConfig,$datepickerLiteralWarning,$datepickerSuppressError,dateParser){var self=this,ngModelCtrl={$setViewValue:angular.noop},ngModelOptions={},watchListeners=[];$element.addClass("uib-datepicker"),$attrs.$set("role","application"),$scope.datepickerOptions||($scope.datepickerOptions={}),this.modes=["day","month","year"],["customClass","dateDisabled","datepickerMode","formatDay","formatDayHeader","formatDayTitle","formatMonth","formatMonthTitle","formatYear","maxDate","maxMode","minDate","minMode","monthColumns","showWeeks","shortcutPropagation","startingDay","yearColumns","yearRows"].forEach(function(key){switch(key){case"customClass":case"dateDisabled":$scope[key]=$scope.datepickerOptions[key]||angular.noop;break;case"datepickerMode":$scope.datepickerMode=angular.isDefined($scope.datepickerOptions.datepickerMode)?$scope.datepickerOptions.datepickerMode:datepickerConfig.datepickerMode;break;case"formatDay":case"formatDayHeader":case"formatDayTitle":case"formatMonth":case"formatMonthTitle":case"formatYear":self[key]=angular.isDefined($scope.datepickerOptions[key])?$interpolate($scope.datepickerOptions[key])($scope.$parent):datepickerConfig[key];break;case"monthColumns":case"showWeeks":case"shortcutPropagation":case"yearColumns":case"yearRows":self[key]=angular.isDefined($scope.datepickerOptions[key])?$scope.datepickerOptions[key]:datepickerConfig[key];break;case"startingDay":angular.isDefined($scope.datepickerOptions.startingDay)?self.startingDay=$scope.datepickerOptions.startingDay:angular.isNumber(datepickerConfig.startingDay)?self.startingDay=datepickerConfig.startingDay:self.startingDay=($locale.DATETIME_FORMATS.FIRSTDAYOFWEEK+8)%7;break;case"maxDate":case"minDate":$scope.$watch("datepickerOptions."+key,function(value){value?angular.isDate(value)?self[key]=dateParser.fromTimezone(new Date(value),ngModelOptions.getOption("timezone")):($datepickerLiteralWarning&&$log.warn("Literal date support has been deprecated, please switch to date object usage"),self[key]=new Date(dateFilter(value,"medium"))):self[key]=datepickerConfig[key]?dateParser.fromTimezone(new Date(datepickerConfig[key]),ngModelOptions.getOption("timezone")):null,self.refreshView()});break;case"maxMode":case"minMode":$scope.datepickerOptions[key]?$scope.$watch(function(){return $scope.datepickerOptions[key]},function(value){self[key]=$scope[key]=angular.isDefined(value)?value:$scope.datepickerOptions[key],("minMode"===key&&self.modes.indexOf($scope.datepickerOptions.datepickerMode)<self.modes.indexOf(self[key])||"maxMode"===key&&self.modes.indexOf($scope.datepickerOptions.datepickerMode)>self.modes.indexOf(self[key]))&&($scope.datepickerMode=self[key],$scope.datepickerOptions.datepickerMode=self[key])}):self[key]=$scope[key]=datepickerConfig[key]||null}}),$scope.uniqueId="datepicker-"+$scope.$id+"-"+Math.floor(1e4*Math.random()),$scope.disabled=angular.isDefined($attrs.disabled)||!1,angular.isDefined($attrs.ngDisabled)&&watchListeners.push($scope.$parent.$watch($attrs.ngDisabled,function(disabled){$scope.disabled=disabled,self.refreshView()})),$scope.isActive=function(dateObject){return 0===self.compare(dateObject.date,self.activeDate)&&($scope.activeDateId=dateObject.uid,!0)},this.init=function(ngModelCtrl_){ngModelOptions=function(ngModelCtrl){var ngModelOptions;if(angular.version.minor<6)(ngModelOptions=ngModelCtrl.$options||$scope.datepickerOptions.ngModelOptions||datepickerConfig.ngModelOptions||{}).getOption=function(key){return ngModelOptions[key]};else{var timezone=ngModelCtrl.$options.getOption("timezone")||($scope.datepickerOptions.ngModelOptions?$scope.datepickerOptions.ngModelOptions.timezone:null)||(datepickerConfig.ngModelOptions?datepickerConfig.ngModelOptions.timezone:null);ngModelOptions=ngModelCtrl.$options.createChild(datepickerConfig.ngModelOptions).createChild($scope.datepickerOptions.ngModelOptions).createChild(ngModelCtrl.$options).createChild({timezone:timezone})}return ngModelOptions}(ngModelCtrl=ngModelCtrl_),$scope.datepickerOptions.initDate?(self.activeDate=dateParser.fromTimezone($scope.datepickerOptions.initDate,ngModelOptions.getOption("timezone"))||new Date,$scope.$watch("datepickerOptions.initDate",function(initDate){initDate&&(ngModelCtrl.$isEmpty(ngModelCtrl.$modelValue)||ngModelCtrl.$invalid)&&(self.activeDate=dateParser.fromTimezone(initDate,ngModelOptions.getOption("timezone")),self.refreshView())})):self.activeDate=new Date;var date=ngModelCtrl.$modelValue?new Date(ngModelCtrl.$modelValue):new Date;this.activeDate=isNaN(date)?dateParser.fromTimezone(new Date,ngModelOptions.getOption("timezone")):dateParser.fromTimezone(date,ngModelOptions.getOption("timezone")),ngModelCtrl.$render=function(){self.render()}},this.render=function(){if(ngModelCtrl.$viewValue){var date=new Date(ngModelCtrl.$viewValue);!isNaN(date)?this.activeDate=dateParser.fromTimezone(date,ngModelOptions.getOption("timezone")):$datepickerSuppressError||$log.error('Datepicker directive: "ng-model" value must be a Date object')}this.refreshView()},this.refreshView=function(){if(this.element){$scope.selectedDt=null,this._refreshView(),$scope.activeDt&&($scope.activeDateId=$scope.activeDt.uid);var date=ngModelCtrl.$viewValue?new Date(ngModelCtrl.$viewValue):null;date=dateParser.fromTimezone(date,ngModelOptions.getOption("timezone")),ngModelCtrl.$setValidity("dateDisabled",!date||this.element&&!this.isDisabled(date))}},this.createDateObject=function(date,format){var model=ngModelCtrl.$viewValue?new Date(ngModelCtrl.$viewValue):null;model=dateParser.fromTimezone(model,ngModelOptions.getOption("timezone"));var today=new Date;today=dateParser.fromTimezone(today,ngModelOptions.getOption("timezone"));var time=this.compare(date,today),dt={date:date,label:dateParser.filter(date,format),selected:model&&0===this.compare(date,model),disabled:this.isDisabled(date),past:time<0,current:0===time,future:0<time,customClass:this.customClass(date)||null};return model&&0===this.compare(date,model)&&($scope.selectedDt=dt),self.activeDate&&0===this.compare(dt.date,self.activeDate)&&($scope.activeDt=dt),dt},this.isDisabled=function(date){return $scope.disabled||this.minDate&&this.compare(date,this.minDate)<0||this.maxDate&&0<this.compare(date,this.maxDate)||$scope.dateDisabled&&$scope.dateDisabled({date:date,mode:$scope.datepickerMode})},this.customClass=function(date){return $scope.customClass({date:date,mode:$scope.datepickerMode})},this.split=function(arr,size){for(var arrays=[];0<arr.length;)arrays.push(arr.splice(0,size));return arrays},$scope.select=function(date){if($scope.datepickerMode===self.minMode){var dt=ngModelCtrl.$viewValue?dateParser.fromTimezone(new Date(ngModelCtrl.$viewValue),ngModelOptions.getOption("timezone")):new Date(0,0,0,0,0,0,0);dt.setFullYear(date.getFullYear(),date.getMonth(),date.getDate()),dt=dateParser.toTimezone(dt,ngModelOptions.getOption("timezone")),ngModelCtrl.$setViewValue(dt),ngModelCtrl.$render()}else self.activeDate=date,setMode(self.modes[self.modes.indexOf($scope.datepickerMode)-1]),$scope.$emit("uib:datepicker.mode");$scope.$broadcast("uib:datepicker.focus")},$scope.move=function(direction){var year=self.activeDate.getFullYear()+direction*(self.step.years||0),month=self.activeDate.getMonth()+direction*(self.step.months||0);self.activeDate.setFullYear(year,month,1),self.refreshView()},$scope.toggleMode=function(direction){direction=direction||1,$scope.datepickerMode===self.maxMode&&1===direction||$scope.datepickerMode===self.minMode&&-1===direction||(setMode(self.modes[self.modes.indexOf($scope.datepickerMode)+direction]),$scope.$emit("uib:datepicker.mode"))},$scope.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};function setMode(mode){$scope.datepickerMode=mode,$scope.datepickerOptions.datepickerMode=mode}$scope.$on("uib:datepicker.focus",function(){self.element[0].focus()}),$scope.keydown=function(evt){var key=$scope.keys[evt.which];if(key&&!evt.shiftKey&&!evt.altKey&&!$scope.disabled)if(evt.preventDefault(),self.shortcutPropagation||evt.stopPropagation(),"enter"===key||"space"===key){if(self.isDisabled(self.activeDate))return;$scope.select(self.activeDate)}else!evt.ctrlKey||"up"!==key&&"down"!==key?(self.handleKeyDown(key,evt),self.refreshView()):$scope.toggleMode("up"===key?1:-1)},$element.on("keydown",function(evt){$scope.$apply(function(){$scope.keydown(evt)})}),$scope.$on("$destroy",function(){for(;watchListeners.length;)watchListeners.shift()()})}]).controller("UibDaypickerController",["$scope","$element","dateFilter",function(scope,$element,dateFilter){var DAYS_IN_MONTH=[31,28,31,30,31,30,31,31,30,31,30,31];function getDaysInMonth(year,month){return 1!==month||year%4!=0||year%100==0&&year%400!=0?DAYS_IN_MONTH[month]:29}function getISO8601WeekNumber(date){var checkDate=new Date(date);checkDate.setDate(checkDate.getDate()+4-(checkDate.getDay()||7));var time=checkDate.getTime();return checkDate.setMonth(0),checkDate.setDate(1),Math.floor(Math.round((time-checkDate)/864e5)/7)+1}this.step={months:1},this.element=$element,this.init=function(ctrl){angular.extend(ctrl,this),scope.showWeeks=ctrl.showWeeks,ctrl.refreshView()},this.getDates=function(startDate,n){for(var date,dates=new Array(n),current=new Date(startDate),i=0;i<n;)date=new Date(current),dates[i++]=date,current.setDate(current.getDate()+1);return dates},this._refreshView=function(){var year=this.activeDate.getFullYear(),month=this.activeDate.getMonth(),firstDayOfMonth=new Date(this.activeDate);firstDayOfMonth.setFullYear(year,month,1);var difference=this.startingDay-firstDayOfMonth.getDay(),numDisplayedFromPreviousMonth=0<difference?7-difference:-difference,firstDate=new Date(firstDayOfMonth);0<numDisplayedFromPreviousMonth&&firstDate.setDate(1-numDisplayedFromPreviousMonth);for(var days=this.getDates(firstDate,42),i=0;i<42;i++)days[i]=angular.extend(this.createDateObject(days[i],this.formatDay),{secondary:days[i].getMonth()!==month,uid:scope.uniqueId+"-"+i});scope.labels=new Array(7);for(var j=0;j<7;j++)scope.labels[j]={abbr:dateFilter(days[j].date,this.formatDayHeader),full:dateFilter(days[j].date,"EEEE")};if(scope.title=dateFilter(this.activeDate,this.formatDayTitle),scope.rows=this.split(days,7),scope.showWeeks){scope.weekNumbers=[];for(var thursdayIndex=(11-this.startingDay)%7,numWeeks=scope.rows.length,curWeek=0;curWeek<numWeeks;curWeek++)scope.weekNumbers.push(getISO8601WeekNumber(scope.rows[curWeek][thursdayIndex].date))}},this.compare=function(date1,date2){var _date1=new Date(date1.getFullYear(),date1.getMonth(),date1.getDate()),_date2=new Date(date2.getFullYear(),date2.getMonth(),date2.getDate());return _date1.setFullYear(date1.getFullYear()),_date2.setFullYear(date2.getFullYear()),_date1-_date2},this.handleKeyDown=function(key,evt){var date=this.activeDate.getDate();if("left"===key)date-=1;else if("up"===key)date-=7;else if("right"===key)date+=1;else if("down"===key)date+=7;else if("pageup"===key||"pagedown"===key){var month=this.activeDate.getMonth()+("pageup"===key?-1:1);this.activeDate.setMonth(month,1),date=Math.min(getDaysInMonth(this.activeDate.getFullYear(),this.activeDate.getMonth()),date)}else"home"===key?date=1:"end"===key&&(date=getDaysInMonth(this.activeDate.getFullYear(),this.activeDate.getMonth()));this.activeDate.setDate(date)}}]).controller("UibMonthpickerController",["$scope","$element","dateFilter",function(scope,$element,dateFilter){this.step={years:1},this.element=$element,this.init=function(ctrl){angular.extend(ctrl,this),ctrl.refreshView()},this._refreshView=function(){for(var date,months=new Array(12),year=this.activeDate.getFullYear(),i=0;i<12;i++)(date=new Date(this.activeDate)).setFullYear(year,i,1),months[i]=angular.extend(this.createDateObject(date,this.formatMonth),{uid:scope.uniqueId+"-"+i});scope.title=dateFilter(this.activeDate,this.formatMonthTitle),scope.rows=this.split(months,this.monthColumns),scope.yearHeaderColspan=3<this.monthColumns?this.monthColumns-2:1},this.compare=function(date1,date2){var _date1=new Date(date1.getFullYear(),date1.getMonth()),_date2=new Date(date2.getFullYear(),date2.getMonth());return _date1.setFullYear(date1.getFullYear()),_date2.setFullYear(date2.getFullYear()),_date1-_date2},this.handleKeyDown=function(key,evt){var date=this.activeDate.getMonth();if("left"===key)date-=1;else if("up"===key)date-=this.monthColumns;else if("right"===key)date+=1;else if("down"===key)date+=this.monthColumns;else if("pageup"===key||"pagedown"===key){var year=this.activeDate.getFullYear()+("pageup"===key?-1:1);this.activeDate.setFullYear(year)}else"home"===key?date=0:"end"===key&&(date=11);this.activeDate.setMonth(date)}}]).controller("UibYearpickerController",["$scope","$element","dateFilter",function(scope,$element,dateFilter){var columns,range;function getStartingYear(year){return parseInt((year-1)/range,10)*range+1}this.element=$element,this.yearpickerInit=function(){columns=this.yearColumns,range=this.yearRows*columns,this.step={years:range}},this._refreshView=function(){for(var date,years=new Array(range),i=0,start=getStartingYear(this.activeDate.getFullYear());i<range;i++)(date=new Date(this.activeDate)).setFullYear(start+i,0,1),years[i]=angular.extend(this.createDateObject(date,this.formatYear),{uid:scope.uniqueId+"-"+i});scope.title=[years[0].label,years[range-1].label].join(" - "),scope.rows=this.split(years,columns),scope.columns=columns},this.compare=function(date1,date2){return date1.getFullYear()-date2.getFullYear()},this.handleKeyDown=function(key,evt){var date=this.activeDate.getFullYear();"left"===key?date-=1:"up"===key?date-=columns:"right"===key?date+=1:"down"===key?date+=columns:"pageup"===key||"pagedown"===key?date+=("pageup"===key?-1:1)*range:"home"===key?date=getStartingYear(this.activeDate.getFullYear()):"end"===key&&(date=getStartingYear(this.activeDate.getFullYear())+range-1),this.activeDate.setFullYear(date)}}]).directive("uibDatepicker",function(){return{templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/datepicker/datepicker.html"},scope:{datepickerOptions:"=?"},require:["uibDatepicker","^ngModel"],restrict:"A",controller:"UibDatepickerController",controllerAs:"datepicker",link:function(scope,element,attrs,ctrls){var datepickerCtrl=ctrls[0],ngModelCtrl=ctrls[1];datepickerCtrl.init(ngModelCtrl)}}}).directive("uibDaypicker",function(){return{templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/datepicker/day.html"},require:["^uibDatepicker","uibDaypicker"],restrict:"A",controller:"UibDaypickerController",link:function(scope,element,attrs,ctrls){var datepickerCtrl=ctrls[0];ctrls[1].init(datepickerCtrl)}}}).directive("uibMonthpicker",function(){return{templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/datepicker/month.html"},require:["^uibDatepicker","uibMonthpicker"],restrict:"A",controller:"UibMonthpickerController",link:function(scope,element,attrs,ctrls){var datepickerCtrl=ctrls[0];ctrls[1].init(datepickerCtrl)}}}).directive("uibYearpicker",function(){return{templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/datepicker/year.html"},require:["^uibDatepicker","uibYearpicker"],restrict:"A",controller:"UibYearpickerController",link:function(scope,element,attrs,ctrls){var ctrl=ctrls[0];angular.extend(ctrl,ctrls[1]),ctrl.yearpickerInit(),ctrl.refreshView()}}}),angular.module("ui.bootstrap.position",[]).factory("$uibPosition",["$document","$window",function($document,$window){var SCROLLBAR_WIDTH,BODY_SCROLLBAR_WIDTH,OVERFLOW_REGEX={normal:/(auto|scroll)/,hidden:/(auto|scroll|hidden)/},PLACEMENT_REGEX={auto:/\s?auto?\s?/i,primary:/^(top|bottom|left|right)$/,secondary:/^(top|bottom|left|right|center)$/,vertical:/^(top|bottom)$/},BODY_REGEX=/(HTML|BODY)/;return{getRawNode:function(elem){return elem.nodeName?elem:elem[0]||elem},parseStyle:function(value){return value=parseFloat(value),isFinite(value)?value:0},offsetParent:function(elem){var el,offsetParent=(elem=this.getRawNode(elem)).offsetParent||$document[0].documentElement;for(;offsetParent&&offsetParent!==$document[0].documentElement&&(el=offsetParent,"static"===($window.getComputedStyle(el).position||"static"));)offsetParent=offsetParent.offsetParent;return offsetParent||$document[0].documentElement},scrollbarWidth:function(isBody){if(isBody){if(angular.isUndefined(BODY_SCROLLBAR_WIDTH)){var bodyElem=$document.find("body");bodyElem.addClass("uib-position-body-scrollbar-measure"),BODY_SCROLLBAR_WIDTH=$window.innerWidth-bodyElem[0].clientWidth,BODY_SCROLLBAR_WIDTH=isFinite(BODY_SCROLLBAR_WIDTH)?BODY_SCROLLBAR_WIDTH:0,bodyElem.removeClass("uib-position-body-scrollbar-measure")}return BODY_SCROLLBAR_WIDTH}if(angular.isUndefined(SCROLLBAR_WIDTH)){var scrollElem=angular.element('<div class="uib-position-scrollbar-measure"></div>');$document.find("body").append(scrollElem),SCROLLBAR_WIDTH=scrollElem[0].offsetWidth-scrollElem[0].clientWidth,SCROLLBAR_WIDTH=isFinite(SCROLLBAR_WIDTH)?SCROLLBAR_WIDTH:0,scrollElem.remove()}return SCROLLBAR_WIDTH},scrollbarPadding:function(elem){elem=this.getRawNode(elem);var elemStyle=$window.getComputedStyle(elem),paddingRight=this.parseStyle(elemStyle.paddingRight),paddingBottom=this.parseStyle(elemStyle.paddingBottom),scrollParent=this.scrollParent(elem,!1,!0),scrollbarWidth=this.scrollbarWidth(BODY_REGEX.test(scrollParent.tagName));return{scrollbarWidth:scrollbarWidth,widthOverflow:scrollParent.scrollWidth>scrollParent.clientWidth,right:paddingRight+scrollbarWidth,originalRight:paddingRight,heightOverflow:scrollParent.scrollHeight>scrollParent.clientHeight,bottom:paddingBottom+scrollbarWidth,originalBottom:paddingBottom}},isScrollable:function(elem,includeHidden){elem=this.getRawNode(elem);var overflowRegex=includeHidden?OVERFLOW_REGEX.hidden:OVERFLOW_REGEX.normal,elemStyle=$window.getComputedStyle(elem);return overflowRegex.test(elemStyle.overflow+elemStyle.overflowY+elemStyle.overflowX)},scrollParent:function(elem,includeHidden,includeSelf){elem=this.getRawNode(elem);var overflowRegex=includeHidden?OVERFLOW_REGEX.hidden:OVERFLOW_REGEX.normal,documentEl=$document[0].documentElement,elemStyle=$window.getComputedStyle(elem);if(includeSelf&&overflowRegex.test(elemStyle.overflow+elemStyle.overflowY+elemStyle.overflowX))return elem;var excludeStatic="absolute"===elemStyle.position,scrollParent=elem.parentElement||documentEl;if(scrollParent===documentEl||"fixed"===elemStyle.position)return documentEl;for(;scrollParent.parentElement&&scrollParent!==documentEl;){var spStyle=$window.getComputedStyle(scrollParent);if(excludeStatic&&"static"!==spStyle.position&&(excludeStatic=!1),!excludeStatic&&overflowRegex.test(spStyle.overflow+spStyle.overflowY+spStyle.overflowX))break;scrollParent=scrollParent.parentElement}return scrollParent},position:function(elem,includeMagins){elem=this.getRawNode(elem);var elemOffset=this.offset(elem);if(includeMagins){var elemStyle=$window.getComputedStyle(elem);elemOffset.top-=this.parseStyle(elemStyle.marginTop),elemOffset.left-=this.parseStyle(elemStyle.marginLeft)}var parent=this.offsetParent(elem),parentOffset={top:0,left:0};return parent!==$document[0].documentElement&&((parentOffset=this.offset(parent)).top+=parent.clientTop-parent.scrollTop,parentOffset.left+=parent.clientLeft-parent.scrollLeft),{width:Math.round(angular.isNumber(elemOffset.width)?elemOffset.width:elem.offsetWidth),height:Math.round(angular.isNumber(elemOffset.height)?elemOffset.height:elem.offsetHeight),top:Math.round(elemOffset.top-parentOffset.top),left:Math.round(elemOffset.left-parentOffset.left)}},offset:function(elem){var elemBCR=(elem=this.getRawNode(elem)).getBoundingClientRect();return{width:Math.round(angular.isNumber(elemBCR.width)?elemBCR.width:elem.offsetWidth),height:Math.round(angular.isNumber(elemBCR.height)?elemBCR.height:elem.offsetHeight),top:Math.round(elemBCR.top+($window.pageYOffset||$document[0].documentElement.scrollTop)),left
1:Math.round(elemBCR.left+($window.pageXOffset||$document[0].documentElement.scrollLeft))}},viewportOffset:function(elem,useDocument,includePadding){includePadding=!1!==includePadding;var elemBCR=(elem=this.getRawNode(elem)).getBoundingClientRect(),offsetBCR={top:0,left:0,bottom:0,right:0},offsetParent=useDocument?$document[0].documentElement:this.scrollParent(elem),offsetParentBCR=offsetParent.getBoundingClientRect();if(offsetBCR.top=offsetParentBCR.top+offsetParent.clientTop,offsetBCR.left=offsetParentBCR.left+offsetParent.clientLeft,offsetParent===$document[0].documentElement&&(offsetBCR.top+=$window.pageYOffset,offsetBCR.left+=$window.pageXOffset),offsetBCR.bottom=offsetBCR.top+offsetParent.clientHeight,offsetBCR.right=offsetBCR.left+offsetParent.clientWidth,includePadding){var offsetParentStyle=$window.getComputedStyle(offsetParent);offsetBCR.top+=this.parseStyle(offsetParentStyle.paddingTop),offsetBCR.bottom-=this.parseStyle(offsetParentStyle.paddingBottom),offsetBCR.left+=this.parseStyle(offsetParentStyle.paddingLeft),offsetBCR.right-=this.parseStyle(offsetParentStyle.paddingRight)}return{top:Math.round(elemBCR.top-offsetBCR.top),bottom:Math.round(offsetBCR.bottom-elemBCR.bottom),left:Math.round(elemBCR.left-offsetBCR.left),right:Math.round(offsetBCR.right-elemBCR.right)}},parsePlacement:function(placement){var autoPlace=PLACEMENT_REGEX.auto.test(placement);return autoPlace&&(placement=placement.replace(PLACEMENT_REGEX.auto,"")),(placement=placement.split("-"))[0]=placement[0]||"top",PLACEMENT_REGEX.primary.test(placement[0])||(placement[0]="top"),placement[1]=placement[1]||"center",PLACEMENT_REGEX.secondary.test(placement[1])||(placement[1]="center"),placement[2]=!!autoPlace,placement},positionElements:function(hostElem,targetElem,placement,appendToBody){hostElem=this.getRawNode(hostElem),targetElem=this.getRawNode(targetElem);var targetWidth=angular.isDefined(targetElem.offsetWidth)?targetElem.offsetWidth:targetElem.prop("offsetWidth"),targetHeight=angular.isDefined(targetElem.offsetHeight)?targetElem.offsetHeight:targetElem.prop("offsetHeight");placement=this.parsePlacement(placement);var hostElemPos=appendToBody?this.offset(hostElem):this.position(hostElem),targetElemPos={top:0,left:0,placement:""};if(placement[2]){var viewportOffset=this.viewportOffset(hostElem,appendToBody),targetElemStyle=$window.getComputedStyle(targetElem),adjustedSize_width=targetWidth+Math.round(Math.abs(this.parseStyle(targetElemStyle.marginLeft)+this.parseStyle(targetElemStyle.marginRight))),adjustedSize_height=targetHeight+Math.round(Math.abs(this.parseStyle(targetElemStyle.marginTop)+this.parseStyle(targetElemStyle.marginBottom)));if(placement[0]="top"===placement[0]&&adjustedSize_height>viewportOffset.top&&adjustedSize_height<=viewportOffset.bottom?"bottom":"bottom"===placement[0]&&adjustedSize_height>viewportOffset.bottom&&adjustedSize_height<=viewportOffset.top?"top":"left"===placement[0]&&adjustedSize_width>viewportOffset.left&&adjustedSize_width<=viewportOffset.right?"right":"right"===placement[0]&&adjustedSize_width>viewportOffset.right&&adjustedSize_width<=viewportOffset.left?"left"
1:placement[0],placement[1]="top"===placement[1]&&adjustedSize_height-hostElemPos.height>viewportOffset.bottom&&adjustedSize_height-hostElemPos.height<=viewportOffset.top?"bottom":"bottom"===placement[1]&&adjustedSize_height-hostElemPos.height>viewportOffset.top&&adjustedSize_height-hostElemPos.height<=viewportOffset.bottom?"top":"left"===placement[1]&&adjustedSize_width-hostElemPos.width>viewportOffset.right&&adjustedSize_width-hostElemPos.width<=viewportOffset.left?"right":"right"===placement[1]&&adjustedSize_width-hostElemPos.width>viewportOffset.left&&adjustedSize_width-hostElemPos.width<=viewportOffset.right?"left":placement[1],"center"===placement[1])if(PLACEMENT_REGEX.vertical.test(placement[0])){var xOverflow=hostElemPos.width/2-targetWidth/2;viewportOffset.left+xOverflow<0&&adjustedSize_width-hostElemPos.width<=viewportOffset.right?placement[1]="left":viewportOffset.right+xOverflow<0&&adjustedSize_width-hostElemPos.width<=viewportOffset.left&&(placement[1]="right")}else{var yOverflow=hostElemPos.height/2-adjustedSize_height/2;viewportOffset.top+yOverflow<0&&adjustedSize_height-hostElemPos.height<=viewportOffset.bottom?placement[1]="top":viewportOffset.bottom+yOverflow<0&&adjustedSize_height-hostElemPos.height<=viewportOffset.top&&(placement[1]="bottom")}}switch(placement[0]){case"top":targetElemPos.top=hostElemPos.top-targetHeight;break;case"bottom":targetElemPos.top=hostElemPos.top+hostElemPos.height;break;case"left":targetElemPos.left=hostElemPos.left-targetWidth;break;case"right":targetElemPos.left=hostElemPos.left+hostElemPos.width}switch(placement[1]){case"top":targetElemPos.top=hostElemPos.top;break;case"bottom":targetElemPos.top=hostElemPos.top+hostElemPos.height-targetHeight;break;case"left":targetElemPos.left=hostElemPos.left;break;case"right":targetElemPos.left=hostElemPos.left+hostElemPos.width-targetWidth;break;case"center":PLACEMENT_REGEX.vertical.test(placement[0])?targetElemPos.left=hostElemPos.left+hostElemPos.width/2-targetWidth/2:targetElemPos.top=hostElemPos.top+hostElemPos.height/2-targetHeight/2}return targetElemPos.top=Math.round(targetElemPos.top),targetElemPos.left=Math.round(targetElemPos.left),targetElemPos.placement="center"===placement[1]?placement[0]:placement[0]+"-"+placement[1],targetElemPos},adjustTop:function(placementClasses,containerPosition,initialHeight,currentHeight){if(-1!==placementClasses.indexOf("top")&&initialHeight!==currentHeight)return{top:containerPosition.top-currentHeight+"px"}},positionArrow:function(elem,placement){var innerElem=(elem=this.getRawNode(elem)).querySelector(".tooltip-inner, .popover-inner");if(innerElem){var isTooltip=angular.element(innerElem).hasClass("tooltip-inner"),arrowElem=isTooltip?elem.querySelector(".tooltip-arrow"):elem.querySelector(".arrow");if(arrowElem){var arrowCss={top:"",bottom:"",left:"",right:""};if("center"!==(placement=this.parsePlacement(placement))[1]){var borderProp="border-"+placement[0]+"-width",borderWidth=$window.getComputedStyle(arrowElem)[borderProp],borderRadiusProp="border-";PLACEMENT_REGEX.vertical.test(placement[0])?borderRadiusProp+=placement[0]+"-"+placement[1]:borderRadiusProp+=placement[1]+"-"+placement[0],borderRadiusProp+="-radius";var borderRadius=$window.getComputedStyle(isTooltip?innerElem:elem)[borderRadiusProp];switch(placement[0]){case"top":arrowCss.bottom=isTooltip?"0":"-"+borderWidth;break;case"bottom":arrowCss.top=isTooltip?"0":"-"+borderWidth;break;case"left":arrowCss.right=isTooltip?"0":"-"+borderWidth;break;case"right":arrowCss.left=isTooltip?"0":"-"+borderWidth}arrowCss[placement[1]]=borderRadius,angular.element(arrowElem).css(arrowCss)}else angular.element(arrowElem).css(arrowCss)}}}}}]),angular.module("ui.bootstrap.datepickerPopup",["ui.bootstrap.datepicker","ui.bootstrap.position"]).value("$datepickerPopupLiteralWarning",!0).constant("uibDatepickerPopupConfig",{altInputFormats:[],appendToBody:!1,clearText:"Clear",closeOnDateSelection:!0,closeText:"Done",currentText:"Today",datepickerPopup:"yyyy-MM-dd",datepickerPopupTemplateUrl:"uib/template/datepickerPopup/popup.html",datepickerTemplateUrl:"uib/template/datepicker/datepicker.html",html5Types:{date:"yyyy-MM-dd","datetime-local":"yyyy-MM-ddTHH:mm:ss.sss",month:"yyyy-MM"},onOpenFocus:!0,showButtonBar:!0,placement:"auto bottom-left"}).controller("UibDatepickerPopupController",["$scope","$element","$attrs","$compile","$log","$parse","$
1window","$document","$rootScope","$uibPosition","dateFilter","uibDateParser","uibDatepickerPopupConfig","$timeout","uibDatepickerConfig","$datepickerPopupLiteralWarning",function($scope,$element,$attrs,$compile,$log,$parse,$window,$document,$rootScope,$position,dateFilter,dateParser,datepickerPopupConfig,$timeout,datepickerConfig,$datepickerPopupLiteralWarning){var dateFormat,closeOnDateSelection,appendToBody,onOpenFocus,datepickerPopupTemplateUrl,datepickerTemplateUrl,popupEl,datepickerEl,scrollParentEl,ngModel,ngModelOptions,$popup,altInputFormats,isHtml5DateInput=!1,watchListeners=[];function parseDateString(viewValue){var date=dateParser.parse(viewValue,dateFormat,$scope.date);if(isNaN(date))for(var i=0;i<altInputFormats.length;i++)if(date=dateParser.parse(viewValue,altInputFormats[i],$scope.date),!isNaN(date))return date;return date}function parseDate(viewValue){if(angular.isNumber(viewValue)&&(viewValue=new Date(viewValue)),!viewValue)return null;if(angular.isDate(viewValue)&&!isNaN(viewValue))return viewValue;if(angular.isString(viewValue)){var date=parseDateString(viewValue);if(!isNaN(date))return dateParser.toTimezone(date,ngModelOptions.getOption("timezone"))}return ngModelOptions.getOption("allowInvalid")?viewValue:void 0}function validator(modelValue,viewValue){var value=modelValue||viewValue;return!$attrs.ngRequired&&!value||(angular.isNumber(value)&&(value=new Date(value)),!value||(!(!angular.isDate(value)||isNaN(value))||!!angular.isString(value)&&!isNaN(parseDateString(value))))}function documentClickBind(event){if($scope.isOpen||!$scope.disabled){var popup=$popup[0],dpContainsTarget=$element[0].contains(event.target),popupContainsTarget=void 0!==popup.contains&&popup.contains(event.target);!$scope.isOpen||dpContainsTarget||popupContainsTarget||$scope.$apply(function(){$scope.isOpen=!1})}}function inputKeydownBind(evt){27===evt.which&&$scope.isOpen?(evt.preventDefault(),evt.stopPropagation(),$scope.$apply(function(){$scope.isOpen=!1}),$element[0].focus()):40!==evt.which||$scope.isOpen||(evt.preventDefault(),evt.stopPropagation(),$scope.$apply(function(){$scope.isOpen=!0}))}function positionPopup(){if($scope.isOpen){var dpElement=angular.element($popup[0].querySelector(".uib-datepicker-popup")),placement=$attrs.popupPlacement?$attrs.popupPlacement:datepickerPopupConfig.placement,position=$position.positionElements($element,dpElement,placement,appendToBody);dpElement.css({top:position.top+"px",left:position.left+"px"}),dpElement.hasClass("uib-position-measure")&&dpElement.removeClass("uib-position-measure")}}this.init=function(_ngModel_){if(ngModelOptions=function(ngModelCtrl){var ngModelOptions;angular.version.minor<6?(ngModelOptions=angular.isObject(ngModelCtrl.$options)?ngModelCtrl.$options:{timezone:null}).getOption=function(key){return ngModelOptions[key]}:ngModelOptions=ngModelCtrl.$options;return ngModelOptions}(ngModel=_ngModel_),closeOnDateSelection=angular.isDefined($attrs.closeOnDateSelection)?$scope.$parent.$eval($attrs.closeOnDateSelection):datepickerPopupConfig.closeOnDateSelection,appendToBody=angular.isDefined($attrs.datepickerAppendToBody)?$scope.$parent.$eval($attrs.datepickerAppendToBody):datepickerPopupConfig.appendToBody,onOpenFocus=angular.isDefined($attrs.onOpenFocus)?$scope.$parent.$eval($attrs.onOpenFocus):datepickerPopupConfig.onOpenFocus,datepickerPopupTemplateUrl=angular.isDefined($attrs.datepickerPopupTemplateUrl)?$attrs.datepickerPopupTemplateUrl:datepickerPopupConfig.datepickerPopupTemplateUrl,datepickerTemplateUrl=angular.isDefined($attrs.datepickerTemplateUrl)?$attrs.datepickerTemplateUrl:datepickerPopupConfig.datepickerTemplateUrl,altInputFormats=angular.isDefined($attrs.altInputFormats)?$scope.$parent.$eval($attrs.altInputFormats):datepickerPopupConfig.altInputFormats,$scope.showButtonBar=angular.isDefined($attrs.showButtonBar)?$scope.$parent.$eval($attrs.showButtonBar):datepickerPopupConfig.showButtonBar,datepickerPopupConfig.html5Types[$attrs.type]?(dateFormat=datepickerPopupConfig.html5Types[$attrs.type],isHtml5DateInput=!0):(dateFormat=$attrs.uibDatepickerPopup||datepickerPopupConfig.datepickerPopup,$attrs.$observe("uibDatepickerPopup",function(value,oldValue){var newDateFormat=value||datepickerPopupConfig.datepickerPopup;if(newDateFormat!==dateFormat&&(dateFormat=newDateFormat,ngModel.$modelValue=null,!dateFormat))throw new Error("uibDatepickerPopup must have a date format specified.")})),!dateFormat)throw new Error("uibDatepickerPopup must have a date format specified.");if(isHtml5DateInput&&$attrs.uibDatepickerPopup)throw new Error("HTML5 date input types do not support custom formats.");(popupEl=angular.element("<div uib-datepicker-popup-wrap><div uib-datepicker></div></div>")).attr({"ng-model":"date","ng-change":"dateSelection(date)","template-url":datepickerPopupTemplateUrl}),(datepickerEl=angular.element(popupEl.children()[0])).attr("template-url",datepickerTemplateUrl),$scope.datepickerOptions||($scope.datepickerOptions={}),isHtml5DateInput&&"month"===$attrs.type&&($scope.datepickerOptions.datepickerMode="month",$scope.datepickerOptions.minMode="month"),datepickerEl.attr("datepicker-options","datepickerOptions"),isHtml5DateInput?ngModel.$formatters.push(function(value){return $scope.date=dateParser.fromTimezone(value,ngModelOptions.getOption("timezone")),value}):(ngModel.$$parserName="date",ngModel.$validators.date=validator,ngModel.$parsers.unshift(parseDate),ngModel.$formatters.push(function(value){return ngModel.$isEmpty(value)?$scope.date=value:(angular.isNumber(value)&&(value=new Date(value)),$scope.date=dateParser.fromTimezone(value,ngModelOptions.getOption("timezone")),dateParser.filter($scope.date,dateFormat))})),ngModel.$viewChangeListeners.push(function(){$scope.date=parseDateString(ngModel.$viewValue)}
vendor: 11,472 bytes, line 1
1),$element.on("keydown",inputKeydownBind),$popup=$compile(popupEl)($scope),popupEl.remove(),appendToBody?$document.find("body").append($popup):$element.after($popup),$scope.$on("$destroy",function(){for(!0===$scope.isOpen&&($rootScope.$$phase||$scope.$apply(function(){$scope.isOpen=!1})),$popup.remove(),$element.off("keydown",inputKeydownBind),$document.off("click",documentClickBind),scrollParentEl&&scrollParentEl.off("scroll",positionPopup),angular.element($window).off("resize",positionPopup);watchListeners.length;)watchListeners.shift()()})},$scope.getText=function(key){return $scope[key+"Text"]||datepickerPopupConfig[key+"Text"]},$scope.isDisabled=function(date){"today"===date&&(date=dateParser.fromTimezone(new Date,ngModelOptions.getOption("timezone")));var dates={};return angular.forEach(["minDate","maxDate"],function(key){$scope.datepickerOptions[key]?angular.isDate($scope.datepickerOptions[key])?dates[key]=new Date($scope.datepickerOptions[key]):($datepickerPopupLiteralWarning&&$log.warn("Literal date support has been deprecated, please switch to date object usage"),dates[key]=new Date(dateFilter($scope.datepickerOptions[key],"medium"))):dates[key]=null}),$scope.datepickerOptions&&dates.minDate&&$scope.compare(date,dates.minDate)<0||dates.maxDate&&0<$scope.compare(date,dates.maxDate)},$scope.compare=function(date1,date2){return new Date(date1.getFullYear(),date1.getMonth(),date1.getDate())-new Date(date2.getFullYear(),date2.getMonth(),date2.getDate())},$scope.dateSelection=function(dt){$scope.date=dt;var date=$scope.date?dateParser.filter($scope.date,dateFormat):null;$element.val(date),ngModel.$setViewValue(date),closeOnDateSelection&&($scope.isOpen=!1,$element[0].focus())},$scope.keydown=function(evt){27===evt.which&&(evt.stopPropagation(),$scope.isOpen=!1,$element[0].focus())},$scope.select=function(date,evt){if(evt.stopPropagation(),"today"===date){var today=new Date;angular.isDate($scope.date)?(date=new Date($scope.date)).setFullYear(today.getFullYear(),today.getMonth(),today.getDate()):(date=dateParser.fromTimezone(today,ngModelOptions.getOption("timezone"))).setHours(0,0,0,0)}$scope.dateSelection(date)},$scope.close=function(evt){evt.stopPropagation(),$scope.isOpen=!1,$element[0].focus()},$scope.disabled=angular.isDefined($attrs.disabled)||!1,$attrs.ngDisabled&&watchListeners.push($scope.$parent.$watch($parse($attrs.ngDisabled),function(disabled){$scope.disabled=disabled})),$scope.$watch("isOpen",function(value){value?$scope.disabled?$scope.isOpen=!1:$timeout(function(){positionPopup(),onOpenFocus&&$scope.$broadcast("uib:datepicker.focus"),$document.on("click",documentClickBind);var placement=$attrs.popupPlacement?$attrs.popupPlacement:datepickerPopupConfig.placement;appendToBody||$position.parsePlacement(placement)[2]?(scrollParentEl=scrollParentEl||angular.element($position.scrollParent($element)))&&scrollParentEl.on("scroll",positionPopup):scrollParentEl=null,angular.element($window).on("resize",positionPopup)},0,!1):($document.off("click",documentClickBind),scrollParentEl&&scrollParentEl.off("scroll",positionPopup),angular.element($window).off("resize",positionPopup))}),$scope.$on("uib:datepicker.mode",function(){$timeout(positionPopup,0,!1)})}]).directive("uibDatepickerPopup",function(){return{require:["ngModel","uibDatepickerPopup"],controller:"UibDatepickerPopupController",scope:{datepickerOptions:"=?",isOpen:"=?",currentText:"@",clearText:"@",closeText:"@"},link:function(scope,element,attrs,ctrls){var ngModel=ctrls[0];ctrls[1].init(ngModel)}}}).directive("uibDatepickerPopupWrap",function(){return{restrict:"A",transclude:!0,templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/datepickerPopup/popup.html"}}}),angular.module("ui.bootstrap.debounce",[]).factory("$$debounce",["$timeout",function($timeout){return function(callback,debounceTime){var timeoutPromise;return function(){var self=this,args=Array.prototype.slice.call(arguments);timeoutPromise&&$timeout.cancel(timeoutPromise),timeoutPromise=$timeout(function(){callback.apply(self,args)},debounceTime)}}}]),angular.module("ui.bootstrap.multiMap",[]).factory("$$multiMap",function(){return{createNew:function(){var map={};return{entries:function(){return Object.keys(map).map(function(key){return{key:key,value:map[key]}})},get:function(key){return map[key]},hasKey:function(key){return!!map[key]},keys:function(){return Object.keys(map)},put:function(key,value){map[key]||(map[key]=[]),map[key].push(value)},remove:function(key,value){var values=map[key];if(values){var idx=values.indexOf(value);-1!==idx&&values.splice(idx,1),values.length||delete map[key]}}}}}}),angular.module("ui.bootstrap.dropdown",["ui.bootstrap.multiMap","ui.bootstrap.position"]).constant("uibDropdownConfig",{appendToOpenClass:"uib-dropdown-open",openClass:"open"}).service("uibDropdownService",["$document","$rootScope","$$multiMap",function($document,$rootScope,$$multiMap){var openScope=null,openedContainers=$$multiMap.createNew();this.isOnlyOpen=function(dropdownScope,appendTo){var openedDropdowns=openedContainers.get(appendTo);if(openedDropdowns&&openedDropdowns.reduce(function(toClose,dropdown){return dropdown.scope===dropdownScope?dropdown:toClose},{}))return 1===openedDropdowns.length;return!1},this.open=function(dropdownScope,element,appendTo){if(openScope||$document.on("click",closeDropdown),openScope&&openScope!==dropdownScope&&(openScope.isOpen=!1),openScope=dropdownScope,appendTo){var openedDropdowns=openedContainers.get(appendTo);if(openedDropdowns)-1===openedDropdowns.map(function(dropdown){return dropdown.scope}).indexOf(dropdownScope)&&openedContainers.put(appendTo,{scope:dropdownScope});else openedContainers.put(appendTo,{scope:dropdownScope})}},this.close=function(dropdownScope,element,appendTo){if(openScope===dropdownScope&&($document.off("click",closeDropdown),$document.off("keydown",this.keybindFilter),openScope=null),appendTo){var openedDropdowns=openedContainers.get(appendTo);if(openedDropdowns){var dropdownToClose=openedDropdowns.reduce(function(toClose,dropdown){return dropdown.scope===dropdownScope?dropdown:toClose},{});dropdownToClose&&openedContainers.remove(appendTo,dropdownToClose)}}};var closeDropdown=function(evt){if(openScope&&openScope.isOpen&&!(evt&&"disabled"===openScope.getAutoClose()||evt&&3===evt.which)){var toggleElement=openScope.getToggleElement();if(!(evt&&toggleElement&&toggleElement[0].contains(evt.target))){var dropdownElement=openScope.getDropdownElement();evt&&"outsideClick"===openScope.getAutoClose()&&dropdownElement&&dropdownElement[0].contains(evt.target)||(openScope.focusToggleElement(),openScope.isOpen=!1,$rootScope.$$phase||openScope.$apply())}}};this.keybindFilter=function(evt){if(openScope){var dropdownElement=openScope.getDropdownElement(),toggleElement=openScope.getToggleElement(),dropdownElementTargeted=dropdownElement&&dropdownElement[0].contains(evt.target),toggleElementTargeted=toggleElement&&toggleElement[0].contains(evt.target);27===evt.which?(evt.stopPropagation(),openScope.focusToggleElement(),closeDropdown()):openScope.isKeynavEnabled()&&-1!==[38,40].indexOf(evt.which)&&openScope.isOpen&&(dropdownElementTargeted||toggleElementTargeted)&&(evt.preventDefault(),evt.stopPropagation(),openScope.focusDropdownEntry(evt.which))}}}]).controller("UibDropdownController",["$scope","$element","$attrs","$parse","uibDropdownConfig","uibDropdownService","$animate","$uibPosition","$document","$compile","$templateRequest",function($scope,$element,$attrs,$parse,dropdownConfig,uibDropdownService,$animate,$position,$document,$compile,$templateRequest){var templateScope,getIsOpen,self=this,scope=$scope.$new(),appendToOpenClass=dropdownConfig.appendToOpenClass,openClass=dropdownConfig.openClass,setIsOpen=angular.noop,toggleInvoker=$attrs.onToggle?$parse($attrs.onToggle):angular.noop,keynavEnabled=!1,body=$document.find("body");function removeDropdownMenu(){$element.append(self.dropdownMenu)}$element.addClass("dropdown"),this.init=function(){$attrs.isOpen&&(getIsOpen=$parse($attrs.isOpen),setIsOpen=getIsOpen.assign,$scope.$watch(getIsOpen,function(value){scope.isOpen=!!value})),keynavEnabled=angular.isDefined($attrs.keyboardNav)},this.toggle=function(open){return scope.isOpen=arguments.length?!!open:!scope.isOpen,angular.isFunction(setIsOpen)&&setIsOpen(scope,scope.isOpen),scope.isOpen},this.isOpen=function(){return scope.isOpen},scope.getToggleElement=function(){return self.toggleElement},scope.getAutoClose=function(){return $attrs.autoClose||"always"},scope.getElement=function(){return $element},scope.isKeynavEnabled=function(){return keynavEnabled},scope.focusDropdownEntry=function(keyCode){var elems=self.dropdownMenu?angular.element(self.dropdownMenu).find("a"):$element.find("ul").eq(0).find("a");switch(keyCode){case 40:angular.isNumber(self.selectedOption)?self.selectedOption=self.selectedOption===elems.length-1?self.selectedOption:self.selectedOption+1:self.selectedOption=0;break;case 38:angular.isNumber(self.selectedOption)?self.selectedOption=0===self.selectedOption?0:self.selectedOption-1:self.selectedOption=elems.length-1}elems[self.selectedOption].focus()},scope.getDropdownElement=function(){return self.dropdownMenu},scope.focusToggleElement=function(){self.toggleElement&&self.toggleElement[0].focus()},scope.$watch("isOpen",function(isOpen,wasOpen){var appendTo=null,appendToBody=!1;if(angular.isDefined($attrs.dropdownAppendTo)){var appendToEl=$parse($attrs.dropdownAppendTo)(scope);appendToEl&&(appendTo=angular.element(appendToEl))}angular.isDefined($attrs.dropdownAppendToBody)&&(!1!==$parse($attrs.dropdownAppendToBody)(scope)&&(appendToBody=!0));if(appendToBody&&!appendTo&&(appendTo=body),appendTo&&self.dropdownMenu&&(isOpen?(appendTo.append(self.dropdownMenu),$element.on("$destroy",removeDropdownMenu)):($element.off("$destroy",removeDropdownMenu),removeDropdownMenu())),appendTo&&self.dropdownMenu){var css,rightalign,scrollbarPadding,pos=$position.positionElements($element,self.dropdownMenu,"bottom-left",!0),scrollbarWidth=0;if(css={top:pos.top+"px",display:isOpen?"block":"none"},(rightalign=self.dropdownMenu.hasClass("dropdown-menu-right"))?(css.left="auto",(scrollbarPadding=$position.scrollbarPadding(appendTo)).heightOverflow&&scrollbarPadding.scrollbarWidth&&(scrollbarWidth=scrollbarPadding.scrollbarWidth),css.right=window.innerWidth-scrollbarWidth-(pos.left+$element.prop("offsetWidth"))+"px"):(css.left=pos.left+"px",css.right="auto"),!appendToBody){var appendOffset=$position.offset(appendTo);css.top=pos.top-appendOffset.top+"px",rightalign?css.right=window.innerWidth-(pos.left-appendOffset.left+$element.prop("offsetWidth"))+"px":css.left=pos.left-appendOffset.left+"px"}self.dropdownMenu.css(css)}var openContainer=appendTo||$element,dropdownOpenClass=appendTo?appendToOpenClass:openClass,hasOpenClass=openContainer.hasClass(dropdownOpenClass),isOnlyOpen=uibDropdownService.isOnlyOpen($scope,appendTo);hasOpenClass===!isOpen&&$animate[appendTo?isOnlyOpen?"removeClass":"addClass":isOpen?"addClass":"removeClass"](openContainer,dropdownOpenClass).then(function(){angular.isDefined(isOpen)&&isOpen!==wasOpen&&toggleInvoker($scope,{open:!!isOpen})});if(isOpen)self.dropdownMenuTemplateUrl?$templateRequest(self.dropdownMenuTemplateUrl).then(function(tplContent){templateScope=scope.$new(),$compile(tplContent.trim())(templateScope,function(dropdownElement){var newEl=dropdownElement;self.dropdownMenu.replaceWith(newEl),self.dropdownMenu=newEl,$document.on("key
1down",uibDropdownService.keybindFilter)})}):$document.on("keydown",uibDropdownService.keybindFilter),scope.focusToggleElement(),uibDropdownService.open(scope,$element,appendTo);else{if(uibDropdownService.close(scope,$element,appendTo),self.dropdownMenuTemplateUrl){templateScope&&templateScope.$destroy();var newEl=angular.element('<ul class="dropdown-menu"></ul>');self.dropdownMenu.replaceWith(newEl),self.dropdownMenu=newEl}self.selectedOption=null}angular.isFunction(setIsOpen)&&setIsOpen($scope,isOpen)})}]).directive("uibDropdown",function(){return{controller:"UibDropdownController",link:function(scope,element,attrs,dropdownCtrl){dropdownCtrl.init()}}}).directive("uibDropdownMenu",function(){return{restrict:"A",require:"?^uibDropdown",link:function(scope,element,attrs,dropdownCtrl){if(dropdownCtrl&&!angular.isDefined(attrs.dropdownNested)){element.addClass("dropdown-menu");var tplUrl=attrs.templateUrl;tplUrl&&(dropdownCtrl.dropdownMenuTemplateUrl=tplUrl),dropdownCtrl.dropdownMenu||(dropdownCtrl.dropdownMenu=element)}}}}).directive("uibDropdownToggle",function(){return{require:"?^uibDropdown",link:function(scope,element,attrs,dropdownCtrl){if(dropdownCtrl){element.addClass("dropdown-toggle"),dropdownCtrl.toggleElement=element;var toggleDropdown=function(event){event.preventDefault(),element.hasClass("disabled")||attrs.disabled||scope.$apply(function(){dropdownCtrl.toggle()})};element.on("click",toggleDropdown),element.attr({"aria-haspopup":!0,"aria-expanded":!1}),scope.$watch(dropdownCtrl.isOpen,function(isOpen){element.attr("aria-expanded",!!isOpen)}),scope.$on("$destroy",function(){element.off("click",toggleDropdown)})}}}}),angular.module("ui.bootstrap.stackedMap",[]).factory("$$stackedMap",function(){return{createNew:function(){var stack=[];return{add:function(key,value){stack.push({key:key,value:value})},get:function(key){for(var i=0;i<stack.length;i++)if(key===stack[i].key)return stack[i]},keys:function(){for(var keys=[],i=0;i<stack.length;i++)keys.push(stack[i].key);return keys},top:function(){return stack[stack.length-1]},remove:function(key){for(var idx=-1,i=0;i<stack.length;i++)if(key===stack[i].key){idx=i;break}return stack.splice(idx,1)[0]},removeTop:function(){return stack.pop()},length:function(){return stack.length}}}}}),angular.module("ui.bootstrap.modal",["ui.bootstrap.multiMap","ui.bootstrap.stackedMap","ui.bootstrap.position"]).provider("$uibResolve",function(){var resolve=this;this.resolver=null,this.setResolver=function(resolver){this.resolver=resolver},this.$get=["$injector","$q",function($injector,$q){var resolver=resolve.resolver?$injector.get(resolve.resolver):null;return{resolve:function(invocables,locals,parent,self){if(resolver)return resolver.resolve(invocables,locals,parent,self);var promises=[];return angular.forEach(invocables,function(value){angular.isFunction(value)||angular.isArray(value)?promises.push($q.resolve($injector.invoke(value))):angular.isString(value)?promises.push($q.resolve($injector.get(value))):promises.push($q.resolve(value))}),$q.all(promises).then(function(resolves){var resolveObj={},resolveIter=0;return angular.forEach(invocables,function(value,key){resolveObj[key]=resolves[resolveIter++]}),resolveObj})}}}]}).directive("uibModalBackdrop",["$animate","$injector","$uibModalStack",function($animate,$injector,$modalStack){return{restrict:"A",compile:function(tElement,tAttrs){return tElement.addClass(tAttrs.backdropClass),linkFn}};function linkFn(scope,element,attrs){attrs.modalInClass&&($animate.addClass(element,attrs.modalInClass),scope.$on($modalStack.NOW_CLOSING_EVENT,function(e,setIsAsync){var done=setIsAsync();scope.modalOptions.animation?$animate.removeClass(element,attrs.modalInClass).then(done):done()}))}}]).directive("uibModalWindow",["$uibModalStack","$q","$animateCss","$document",function($modalStack,$q,$animateCss,$document){return{scope:{index:"@"},restrict:"A",transclude:!0,templateUrl:function(tElement,tAttrs){return tAttrs.templateUrl||"uib/template/modal/window.html"},link:function(scope,element,attrs){element.addClass(attrs.windowTopClass||""),scope.size=attrs.size,scope.close=function(evt){var modal=$modalStack.getTop();modal&&modal.value.backdrop&&"static"!==modal.value.backdrop&&evt.target===evt.currentTarget&&(evt.preventDefault(),evt.stopPropagation(),$modalStack.dismiss(modal.key,"backdrop click"))}
1,element.on("click",scope.close),scope.$isRendered=!0;var modalRenderDeferObj=$q.defer();scope.$$postDigest(function(){modalRenderDeferObj.resolve()}),modalRenderDeferObj.promise.then(function(){var animationPromise=null;attrs.modalInClass&&(animationPromise=$animateCss(element,{addClass:attrs.modalInClass}).start(),scope.$on($modalStack.NOW_CLOSING_EVENT,function(e,setIsAsync){var done=setIsAsync();$animateCss(element,{removeClass:attrs.modalInClass}).start().then(done)})),$q.when(animationPromise).then(function(){var modal=$modalStack.getTop();if(modal&&$modalStack.modalRendered(modal.key),!$document[0].activeElement||!element[0].contains($document[0].activeElement)){var inputWithAutofocus=element[0].querySelector("[autofocus]");inputWithAutofocus?inputWithAutofocus.focus():element[0].focus()}})})}}}]).directive("uibModalAnimationClass",function(){return{compile:function(tElement,tAttrs){tAttrs.modalAnimation&&tElement.addClass(tAttrs.uibModalAnimationClass)}}}).directive("uibModalTransclude",["$animate",function($animate){return{link:function(scope,element,attrs,controller,transclude){transclude(scope.$parent,function(clone){element.empty(),$animate.enter(clone,element)})}}}]).factory("$uibModalStack",["$animate","$animateCss","$document","$compile","$rootScope","$q","$$multiMap","$$stackedMap","$uibPosition",function($animate,$animateCss,$document,$compile,$rootScope,$q,$$multiMap,$$stackedMap,$uibPosition){var backdropDomEl,backdropScope,scrollbarPadding,openedWindows=$$stackedMap.createNew(),openedClasses=$$multiMap.createNew(),$modalStack={NOW_CLOSING_EVENT:"modal.stack.now-closing"},topModalIndex=0,previousTopOpenedModal=null,ARIA_HIDDEN_ATTRIBUTE_NAME="data-bootstrap-modal-aria-hidden-count",SNAKE_CASE_REGEXP=/[A-Z]/g;function backdropIndex(){for(var topBackdropIndex=-1,opened=openedWindows.keys(),i=0;i<opened.length;i++)openedWindows.get(opened[i]).value.backdrop&&(topBackdropIndex=i);return-1<topBackdropIndex&&topBackdropIndex<topModalIndex&&(topBackdropIndex=topModalIndex),topBackdropIndex}function removeModalWindow(modalInstance,elementToReceiveFocus){var modalWindow=openedWindows.get(modalInstance).value,appendToElement=modalWindow.appendTo;openedWindows.remove(modalInstance),(previousTopOpenedModal=openedWindows.top())&&(topModalIndex=parseInt(previousTopOpenedModal.value.modalDomEl.attr("index"),10)),removeAfterAnimate(modalWindow.modalDomEl,modalWindow.modalScope,function(){var modalBodyClass=modalWindow.openedClass||"modal-open";openedClasses.remove(modalBodyClass,modalInstance);var areAnyOpen=openedClasses.hasKey(modalBodyClass);appendToElement.toggleClass(modalBodyClass,areAnyOpen),!areAnyOpen&&scrollbarPadding&&scrollbarPadding.heightOverflow&&scrollbarPadding.scrollbarWidth&&(scrollbarPadding.originalRight?appendToElement.css({paddingRight:scrollbarPadding.originalRight+"px"}):appendToElement.css({paddingRight:""}),scrollbarPadding=null),toggleTopWindowClass(!0)},modalWindow.closedDeferred),function(){if(backdropDomEl&&-1===backdropIndex()){removeAfterAnimate(backdropDomEl,backdropScope,function(){null}),backdropScope=backdropDomEl=void 0}}(),elementToReceiveFocus&&elementToReceiveFocus.focus?elementToReceiveFocus.focus():appendToElement.focus&&appendToElement.focus()}function toggleTopWindowClass(toggleSwitch){var modalWindow;0<openedWindows.length()&&(modalWindow=openedWindows.top().value).modalDomEl.toggleClass(modalWindow.windowTopClass||"",toggleSwitch)}function removeAfterAnimate(domEl,scope,done,closedDeferred){var asyncDeferred,asyncPromise=null;return scope.$broadcast($modalStack.NOW_CLOSING_EVENT,function(){return asyncDeferred||(asyncDeferred=$q.defer(),asyncPromise=asyncDeferred.promise),function(){asyncDeferred.resolve()}}),$q.when(asyncPromise).then(function afterAnimating(){if(afterAnimating.done)return;afterAnimating.done=!0;$animate.leave(domEl).then(function(){done&&done(),domEl.remove(),closedDeferred&&closedDeferred.resolve()});scope.$destroy()})}function keydownListener(evt){if(evt.isDefaultPrevented())return evt;var modal=openedWindows.top();if(modal)switch(evt.which){case 27:modal.value.keyboard&&(evt.preventDefault(),$rootScope.$apply(function(){$modalStack.dismiss(modal.key,"escape key press")}));break;case 9:var list=$modalStack.loadFocusElementList(modal),focusChanged=!1;evt.shiftKey?($modalStack.isFocusInFirstItem(evt,list)||$modalStack.isModalFocused(evt,modal))&&(focusChanged=$modalStack.focusLastFocusableElement(list)):$modalStack.isFocusInLastItem(evt,list)&&(focusChanged=$modalStack.focusFirstFocusableElement(list)),focusChanged&&(evt.preventDefault(),evt.stopPropagation())}}function broadcastClosing(modalWindow,resultOrReason,closing){return!modalWindow.value.modalScope.$broadcast("modal.closing",resultOrReason,closing).defaultPrevented}
1function unhideBackgroundElements(){Array.prototype.forEach.call(document.querySelectorAll("["+ARIA_HIDDEN_ATTRIBUTE_NAME+"]"),function(hiddenEl){var newHiddenCount=parseInt(hiddenEl.getAttribute(ARIA_HIDDEN_ATTRIBUTE_NAME),10)-1;hiddenEl.setAttribute(ARIA_HIDDEN_ATTRIBUTE_NAME,newHiddenCount),newHiddenCount||(hiddenEl.removeAttribute(ARIA_HIDDEN_ATTRIBUTE_NAME),hiddenEl.removeAttribute("aria-hidden"))})}return $rootScope.$watch(backdropIndex,function(newBackdropIndex){backdropScope&&(backdropScope.index=newBackdropIndex)}),$document.on("keydown",keydownListener),$rootScope.$on("$destroy",function(){$document.off("keydown",keydownListener)}),$modalStack.open=function(modalInstance,modal){var modalOpener=$document[0].activeElement,modalBodyClass=modal.openedClass||"modal-open";toggleTopWindowClass(!1),previousTopOpenedModal=openedWindows.top(),openedWindows.add(modalInstance,{deferred:modal.deferred,renderDeferred:modal.renderDeferred,closedDeferred:modal.closedDeferred,modalScope:modal.scope,backdrop:modal.backdrop,keyboard:modal.keyboard,openedClass:modal.openedClass,windowTopClass:modal.windowTopClass,animation:modal.animation,appendTo:modal.appendTo}),openedClasses.put(modalBodyClass,modalInstance);var content,appendToElement=modal.appendTo,currBackdropIndex=backdropIndex();0<=currBackdropIndex&&!backdropDomEl&&((backdropScope=$rootScope.$new(!0)).modalOptions=modal,backdropScope.index=currBackdropIndex,(backdropDomEl=angular.element('<div uib-modal-backdrop="modal-backdrop"></div>')).attr({class:"modal-backdrop","ng-style":"{'z-index': 1040 + (index && 1 || 0) + index*10}","uib-modal-animation-class":"fade","modal-in-class":"in"}),modal.backdropClass&&backdropDomEl.addClass(modal.backdropClass),modal.animation&&backdropDomEl.attr("modal-animation","true"),$compile(backdropDomEl)(backdropScope),$animate.enter(backdropDomEl,appendToElement),$uibPosition.isScrollable(appendToElement)&&(scrollbarPadding=$uibPosition.scrollbarPadding(appendToElement)).heightOverflow&&scrollbarPadding.scrollbarWidth&&appendToElement.css({paddingRight:scrollbarPadding.right+"px"})),modal.component?(content=document.createElement(modal.component.name.replace(SNAKE_CASE_REGEXP,function(letter,pos){return(pos?"-":"")+letter.toLowerCase()})),(content=angular.element(content)).attr({resolve:"$resolve","modal-instance":"$uibModalInstance",close:"$close($value)",dismiss:"$dismiss($value)"})):content=modal.content,topModalIndex=previousTopOpenedModal?parseInt(previousTopOpenedModal.value.modalDomEl.attr("index"),10)+1:0;var angularDomEl=angular.element('<div uib-modal-window="modal-window"></div>');angularDomEl.attr({class:"modal","template-url":modal.windowTemplateUrl,"window-top-class":modal.windowTopClass,role:"dialog","aria-labelledby":modal.ariaLabelledBy,"aria-describedby":modal.ariaDescribedBy,size:modal.size,index:topModalIndex,animate:"animate","ng-style":"{'z-index': 1050 + $$topModalIndex*10, display: 'block'}",tabindex:-1,"uib-modal-animation-class":"fade","modal-in-class":"in"}).append(content),modal.windowClass&&angularDomEl.addClass(modal.windowClass),modal.animation&&angularDomEl.attr("modal-animation","true"),appendToElement.addClass(modalBodyClass),modal.scope&&(modal.scope.$$topModalIndex=topModalIndex),$animate.enter($compile(angularDomEl)(modal.scope),appendToElement),openedWindows.top().value.modalDomEl=angularDomEl,openedWindows.top().value.modalOpener=modalOpener,function applyAriaHidden(el){if(!el||"BODY"===el[0].tagName)return;getSiblings(el).forEach(function(sibling){var elemIsAlreadyHidden="true"===sibling.getAttribute("aria-hidden"),ariaHiddenCount=parseInt(sibling.getAttribute(ARIA_HIDDEN_ATTRIBUTE_NAME),10);ariaHiddenCount||(ariaHiddenCount=elemIsAlreadyHidden?1:0),sibling.setAttribute(ARIA_HIDDEN_ATTRIBUTE_NAME,ariaHiddenCount+1),sibling.setAttribute("aria-hidden","true")});return applyAriaHidden(el.parent());function getSiblings(el){var children=el.parent()?el.parent().children():[];return Array.prototype.filter.call(children,function(child){return child!==el[0]})}}(angularDomEl)},$modalStack.close=function(modalInstance,result){var modalWindow=openedWindows.get(modalInstance);
1return unhideBackgroundElements(),modalWindow&&broadcastClosing(modalWindow,result,!0)?(modalWindow.value.modalScope.$$uibDestructionScheduled=!0,modalWindow.value.deferred.resolve(result),removeModalWindow(modalInstance,modalWindow.value.modalOpener),!0):!modalWindow},$modalStack.dismiss=function(modalInstance,reason){var modalWindow=openedWindows.get(modalInstance);return unhideBackgroundElements(),modalWindow&&broadcastClosing(modalWindow,reason,!1)?(modalWindow.value.modalScope.$$uibDestructionScheduled=!0,modalWindow.value.deferred.reject(reason),removeModalWindow(modalInstance,modalWindow.value.modalOpener),!0):!modalWindow},$modalStack.dismissAll=function(reason){for(var topModal=this.getTop();topModal&&this.dismiss(topModal.key,reason);)topModal=this.getTop()},$modalStack.getTop=function(){return openedWindows.top()},$modalStack.modalRendered=function(modalInstance){var modalWindow=openedWindows.get(modalInstance);modalWindow&&modalWindow.value.renderDeferred.resolve()},$modalStack.focusFirstFocusableElement=function(list){return 0<list.length&&(list[0].focus(),!0)},$modalStack.focusLastFocusableElement=function(list){return 0<list.length&&(list[list.length-1].focus(),!0)},$modalStack.isModalFocused=function(evt,modalWindow){if(evt&&modalWindow){var modalDomEl=modalWindow.value.modalDomEl;if(modalDomEl&&modalDomEl.length)return(evt.target||evt.srcElement)===modalDomEl[0]}return!1},$modalStack.isFocusInFirstItem=function(evt,list){return 0<list.length&&(evt.target||evt.srcElement)===list[0]},$modalStack.isFocusInLastItem=function(evt,list){return 0<list.length&&(evt.target||evt.srcElement)===list[list.length-1]},$modalStack.loadFocusElementList=function(modalWindow){if(modalWindow){var modalDomE1=modalWindow.value.modalDomEl;if(modalDomE1&&modalDomE1.length){var elements=modalDomE1[0].querySelectorAll("a[href], area[href], input:not([disabled]):not([tabindex='-1']), button:not([disabled]):not([tabindex='-1']),select:not([disabled]):not([tabindex='-1']), textarea:not([disabled]):not([tabindex='-1']), iframe, object, embed, *[tabindex]:not([tabindex='-1']), *[contenteditable=true]");return elements?Array.prototype.filter.call(elements,function(element){return function(element){return!!(element.offsetWidth||element.offsetHeight||element.getClientRects().length)}(element)}):elements}}},$modalStack}]).provider("$uibModal",function(){var $modalProvider={options:{animation:!0,backdrop:!0,keyboard:!0},$get:["$rootScope","$q","$document","$templateRequest","$controller","$uibResolve","$uibModalStack",function($rootScope,$q,$document,$templateRequest,$controller,$uibResolve,$modalStack){var $modal={};var promiseChain=null;return $modal.getPromiseChain=function(){return promiseChain},$modal.open=function(modalOptions){var templateAndResolvePromise,options,samePromise,modalResultDeferred=$q.defer(),modalOpenedDeferred=$q.defer(),modalClosedDeferred=$q.defer(),modalRenderDeferred=$q.defer(),modalInstance={result:modalResultDeferred.promise,opened:modalOpenedDeferred.promise,closed:modalClosedDeferred.promise,rendered:modalRenderDeferred.promise,close:function(result){return $modalStack.close(modalInstance,result)},dismiss:function(reason){return $modalStack.dismiss(modalInstance,reason)}};if((modalOptions=angular.extend({},$modalProvider.options,modalOptions)).resolve=modalOptions.resolve||{},modalOptions.appendTo=modalOptions.appendTo||$document.find("body").eq(0),!modalOptions.appendTo.length)throw new Error("appendTo element not found. Make sure that the element passed is in DOM.");if(!modalOptions.component&&!modalOptions.template&&!modalOptions.templateUrl)throw new Error("One of component or template or templateUrl options is required.");function resolveWithTemplate(){return templateAndResolvePromise}return templateAndResolvePromise=modalOptions.component?$q.when($uibResolve.resolve(modalOptions.resolve,{},null,null)):$q.all([(options=modalOptions,options.template?$q.when(options.template):$templateRequest(angular.isFunction(options.templateUrl)?options.templateUrl():options.templateUrl)),$uibResolve.resolve(modalOptions.resolve,{},null,null)]),samePromise=promiseChain=$q.all([promiseChain]).then(resolveWithTemplate,resolveWithTemplate).then(function(tplAndVars){var providedScope=modalOptions.scope||$rootScope,modalScope=providedScope.$new();modalScope.$close=modalInstance.close,modalScope.$dismiss=modalInstance.dismiss,modalScope.$on("$destroy",function(){modalScope.$$uibDestructionScheduled||modalScope.$dismiss("$uibUnscheduledDestruction")});var ctrlInstance,ctrlInstantiate,modal={scope:modalScope,deferred:modalResultDeferred,renderDeferred:modalRenderDeferred,closedDeferred:modalClosedDeferred,animation:modalOptions.animation,backdrop:modalOptions.backdrop,keyboard:modalOptions.keyboard,backdropClass:modalOptions.backdropClass,windowTopClass:modalOptions.windowTopClass,windowClass:modalOptions.windowClass,windowTemplateUrl:modalOptions.windowTemplateUrl,ariaLabelledBy:modalOptions.ariaLabelledBy,ariaDescribedBy:modalOptions.ariaDescribedBy,size:modalOptions.size,openedClass:modalOptions.openedClass,appendTo:modalOptions.appendTo},component={},ctrlLocals={};function constructLocals(obj,template,instanceOnScope,injectable){obj.$scope=modalScope,obj.$scope.$resolve={},instanceOnScope?obj.$scope.$uibModalInstance=modalInstance:obj.$uibModalInstance=modalInstance;var resolves=template?tplAndVars[1]:tplAndVars;angular.forEach(resolves,function(value,key){injectable&&(obj[key]=value),obj.$scope.$resolve[key]=value})}modalOptions.component?(constructLocals(component,!1,!0,!1),component.name=modalOptions.component,modal.component=component):modalOptions.controller&&(constructLocals(ctrlLocals,!0,!1,
vendor: 8,388 bytes, line 1
1!0),ctrlInstantiate=$controller(modalOptions.controller,ctrlLocals,!0,modalOptions.controllerAs),modalOptions.controllerAs&&modalOptions.bindToController&&((ctrlInstance=ctrlInstantiate.instance).$close=modalScope.$close,ctrlInstance.$dismiss=modalScope.$dismiss,angular.extend(ctrlInstance,{$resolve:ctrlLocals.$scope.$resolve},providedScope)),ctrlInstance=ctrlInstantiate(),angular.isFunction(ctrlInstance.$onInit)&&ctrlInstance.$onInit()),modalOptions.component||(modal.content=tplAndVars[0]),$modalStack.open(modalInstance,modal),modalOpenedDeferred.resolve(!0)},function(reason){modalOpenedDeferred.reject(reason),modalResultDeferred.reject(reason)}).finally(function(){promiseChain===samePromise&&(promiseChain=null)}),modalInstance},$modal}]};return $modalProvider}),angular.module("ui.bootstrap.paging",[]).factory("uibPaging",["$parse",function($parse){return{create:function(ctrl,$scope,$attrs){ctrl.setNumPages=$attrs.numPages?$parse($attrs.numPages).assign:angular.noop,ctrl.ngModelCtrl={$setViewValue:angular.noop},ctrl._watchers=[],ctrl.init=function(ngModelCtrl,config){ctrl.ngModelCtrl=ngModelCtrl,ctrl.config=config,ngModelCtrl.$render=function(){ctrl.render()},$attrs.itemsPerPage?ctrl._watchers.push($scope.$parent.$watch($attrs.itemsPerPage,function(value){ctrl.itemsPerPage=parseInt(value,10),$scope.totalPages=ctrl.calculateTotalPages(),ctrl.updatePage()})):ctrl.itemsPerPage=config.itemsPerPage,$scope.$watch("totalItems",function(newTotal,oldTotal){(angular.isDefined(newTotal)||newTotal!==oldTotal)&&($scope.totalPages=ctrl.calculateTotalPages(),ctrl.updatePage())})},ctrl.calculateTotalPages=function(){var totalPages=ctrl.itemsPerPage<1?1:Math.ceil($scope.totalItems/ctrl.itemsPerPage);return Math.max(totalPages||0,1)},ctrl.render=function(){$scope.page=parseInt(ctrl.ngModelCtrl.$viewValue,10)||1},$scope.selectPage=function(page,evt){evt&&evt.preventDefault(),(!$scope.ngDisabled||!evt)&&$scope.page!==page&&0<page&&page<=$scope.totalPages&&(evt&&evt.target&&evt.target.blur(),ctrl.ngModelCtrl.$setViewValue(page),ctrl.ngModelCtrl.$render())},$scope.getText=function(key){return $scope[key+"Text"]||ctrl.config[key+"Text"]},$scope.noPrevious=function(){return 1===$scope.page},$scope.noNext=function(){return $scope.page===$scope.totalPages},ctrl.updatePage=function(){ctrl.setNumPages($scope.$parent,$scope.totalPages),$scope.page>$scope.totalPages?$scope.selectPage($scope.totalPages):ctrl.ngModelCtrl.$render()},$scope.$on("$destroy",function(){for(;ctrl._watchers.length;)ctrl._watchers.shift()()})}}}]),angular.module("ui.bootstrap.pager",["ui.bootstrap.paging","ui.bootstrap.tabindex"]).controller("UibPagerController",["$scope","$attrs","uibPaging","uibPagerConfig",function($scope,$attrs,uibPaging,uibPagerConfig){$scope.align=angular.isDefined($attrs.align)?$scope.$parent.$eval($attrs.align):uibPagerConfig.align,uibPaging.create(this,$scope,$attrs)}]).constant("uibPagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("uibPager",["uibPagerConfig",function(uibPagerConfig){return{scope:{totalItems:"=",previousText:"@",nextText:"@",ngDisabled:"="},require:["uibPager","?ngModel"],restrict:"A",controller:"UibPagerController",controllerAs:"pager",templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/pager/pager.html"},link:function(scope,element,attrs,ctrls){element.addClass("pager");var paginationCtrl=ctrls[0],ngModelCtrl=ctrls[1];ngModelCtrl&&paginationCtrl.init(ngModelCtrl,uibPagerConfig)}}}]),angular.module("ui.bootstrap.pagination",["ui.bootstrap.paging","ui.bootstrap.tabindex"]).controller("UibPaginationController",["$scope","$attrs","$parse","uibPaging","uibPaginationConfig",function($scope,$attrs,$parse,uibPaging,uibPaginationConfig){var ctrl=this,maxSize=angular.isDefined($attrs.maxSize)?$scope.$parent.$eval($attrs.maxSize):uibPaginationConfig.maxSize,rotate=angular.isDefined($attrs.rotate)?$scope.$parent.$eval($attrs.rotate):uibPaginationConfig.rotate,forceEllipses=angular.isDefined($attrs.forceEllipses)?$scope.$parent.$eval($attrs.forceEllipses):uibPaginationConfig.forceEllipses,boundaryLinkNumbers=angular.isDefined($attrs.boundaryLinkNumbers)?$scope.$parent.$eval($attrs.boundaryLinkNumbers):uibPaginationConfig.boundaryLinkNumbers,pageLabel=angular.isDefined($attrs.pageLabel)?function(idx){return $scope.$parent.$eval($attrs.pageLabel,{$page:idx})}:angular.identity;function makePage(number,text,isActive){return{number:number,text:text,active:isActive}}$scope.boundaryLinks=angular.isDefined($attrs.boundaryLinks)?$scope.$parent.$eval($attrs.boundaryLinks):uibPaginationConfig.boundaryLinks,$scope.directionLinks=angular.isDefined($attrs.directionLinks)?$scope.$parent.$eval($attrs.directionLinks):uibPaginationConfig.directionLinks,$attrs.$set("role","menu"),uibPaging.create(this,$scope,$attrs),$attrs.maxSize&&ctrl._watchers.push($scope.$parent.$watch($parse($attrs.maxSize),function(value){maxSize=parseInt(value,10),ctrl.render()}));var originalRender=this.render;this.render=function(){originalRender(),0<$scope.page&&$scope.page<=$scope.totalPages&&($scope.pages=function(currentPage,totalPages){var pages=[],startPage=1,endPage=totalPages,isMaxSized=angular.isDefined(maxSize)&&maxSize<totalPages;isMaxSized&&(rotate?totalPages<(endPage=(startPage=Math.max(currentPage-Math.floor(maxSize/2),1))+maxSize-1)&&(startPage=(endPage=totalPages)-maxSize+1):(startPage=(Math.ceil(currentPage/maxSize)-1)*maxSize+1,endPage=Math.min(startPage+maxSize-1,totalPages)));for(var number=startPage;number<=endPage;number++){var page=makePage(number,pageLabel(number),number===currentPage);pages.push(page)}if(isMaxSized&&0<maxSize&&(!rotate||forceEllipses||boundaryLinkNumbers)){if(1<startPage){if(!boundaryLinkNumbers||3<startPage){var previousPageSet=makePage(startPage-1,"...",!1);pages.unshift(previousPageSet)}if(boundaryLinkNumbers){if(3===startPage){var secondPageLink=makePage(2,"2",!1);pages.unshift(secondPageLink)}var firstPageLink=makePage(1,"1",!1);pages.unshift(firstPageLink)}}if(endPage<totalPages){if(!boundaryLinkNumbers||endPage<totalPages-2){var nextPageSet=makePage(endPage+1,"...",!1);pages.push(nextPageSet)}if(boundaryLinkNumbers){if(endPage===totalPages-2){var secondToLastPageLink=makePage(totalPages-1,totalPages-1,!1);pages.push(secondToLastPageLink)}var lastPageLink=makePage(totalPages,totalPages,!1);pages.push(lastPageLink)}}}return pages}($scope.page,$scope.totalPages))}}]).constant("uibPaginationConfig",{itemsPerPage:10,boundaryLinks:!1,boundaryLinkNumbers:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0,forceEllipses:!1}).directive("uibPagination",["$parse","uibPaginationConfig",function($parse,uibPaginationConfig){return{scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@",ngDisabled:"="},require:["uibPagination","?ngModel"],restrict:"A",controller:"UibPaginationController",controllerAs:"pagination",templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/pagination/pagination.html"},link:function(scope,element,attrs,ctrls){element.addClass("pagination");var paginationCtrl=ctrls[0],ngModelCtrl=ctrls[1];ngModelCtrl&&paginationCtrl.init(ngModelCtrl,uibPaginationConfig)}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.stackedMap"]).provider("$uibTooltip",function(){var defaultOptions={placement:"top",placementClassPrefix:"",animation:!0,popupDelay:0,popupCloseDelay:0,useContentExp:!1},triggerMap={mouseenter:"mouseleave",click:"click",outsideClick:"outsideClick",focus:"blur",none:""},globalOptions={};this.options=function(value){angular.extend(globalOptions,value)},this.setTriggers=function(triggers){angular.extend(triggerMap,triggers)},this.$get=["$window","$compile","$timeout","$document","$uibPosition","$interpolate","$rootScope","$parse","$$stackedMap",function($window,$compile,$timeout,$document,$position,$interpolate,$rootScope,$parse,$$stackedMap){var openedTooltips=$$stackedMap.createNew();function keypressListener(e){if(27===e.which){var last=openedTooltips.top();last&&(last.value.close(),last=null)}}return $document.on("keyup",keypressListener),$rootScope.$on("$destroy",function(){$document.off("keyup",keypressListener)}),function(ttType,prefix,defaultTriggerShow,options){function getTriggers(trigger){var show=(trigger||options.trigger||defaultTr
vendor: 12,479 bytes, line 1
1iggerShow).split(" "),hide=show.map(function(trigger){return triggerMap[trigger]||trigger});return{show:show,hide:hide}}options=angular.extend({},defaultOptions,globalOptions,options);var directiveName=ttType.replace(/[A-Z]/g,function(letter,pos){return(pos?"-":"")+letter.toLowerCase()}),startSym=$interpolate.startSymbol(),endSym=$interpolate.endSymbol(),template="<div "+directiveName+'-popup uib-title="'+startSym+"title"+endSym+'" '+(options.useContentExp?'content-exp="contentExp()" ':'content="'+startSym+"content"+endSym+'" ')+'origin-scope="origScope" class="uib-position-measure '+prefix+'" tooltip-animation-class="fade"uib-tooltip-classes ng-class="{ in: isOpen }" ></div>';return{compile:function(tElem,tAttrs){var tooltipLinker=$compile(template);return function(scope,element,attrs,tooltipCtrl){var tooltip,tooltipLinkedScope,transitionTimeout,showTimeout,hideTimeout,positionTimeout,adjustmentTimeout,lastPlacement,appendToBody=!!angular.isDefined(options.appendToBody)&&options.appendToBody,triggers=getTriggers(void 0),hasEnableExp=angular.isDefined(attrs[prefix+"Enable"]),ttScope=scope.$new(!0),repositionScheduled=!1,isOpenParse=!!angular.isDefined(attrs[prefix+"IsOpen"])&&$parse(attrs[prefix+"IsOpen"]),contentParse=!!options.useContentExp&&$parse(attrs[ttType]),observers=[],positionTooltip=function(){tooltip&&tooltip.html()&&(positionTimeout||(positionTimeout=$timeout(function(){var ttPosition=$position.positionElements(element,tooltip,ttScope.placement,appendToBody),initialHeight=angular.isDefined(tooltip.offsetHeight)?tooltip.offsetHeight:tooltip.prop("offsetHeight"),elementPos=appendToBody?$position.offset(element):$position.position(element);tooltip.css({top:ttPosition.top+"px",left:ttPosition.left+"px"});var placementClasses=ttPosition.placement.split("-");tooltip.hasClass(placementClasses[0])||(tooltip.removeClass(lastPlacement.split("-")[0]),tooltip.addClass(placementClasses[0])),tooltip.hasClass(options.placementClassPrefix+ttPosition.placement)||(tooltip.removeClass(options.placementClassPrefix+lastPlacement),tooltip.addClass(options.placementClassPrefix+ttPosition.placement)),adjustmentTimeout=$timeout(function(){var currentHeight=angular.isDefined(tooltip.offsetHeight)?tooltip.offsetHeight:tooltip.prop("offsetHeight"),adjustment=$position.adjustTop(placementClasses,elementPos,initialHeight,currentHeight);adjustment&&tooltip.css(adjustment),adjustmentTimeout=null},0,!1),tooltip.hasClass("uib-position-measure")?($position.positionArrow(tooltip,ttPosition.placement),tooltip.removeClass("uib-position-measure")):lastPlacement!==ttPosition.placement&&$position.positionArrow(tooltip,ttPosition.placement),lastPlacement=ttPosition.placement,positionTimeout=null},0,!1)))};function toggleTooltipBind(){ttScope.isOpen?hideTooltipBind():showTooltipBind()}function showTooltipBind(){hasEnableExp&&!scope.$eval(attrs[prefix+"Enable"])||(cancelHide(),function(){ttScope.title=attrs[prefix+"Title"],ttScope.content=contentParse?contentParse(scope):attrs[ttType];ttScope.popupClass=attrs[prefix+"Class"],ttScope.placement=angular.isDefined(attrs[prefix+"Placement"])?attrs[prefix+"Placement"]:options.placement;var placement=$position.parsePlacement(ttScope.placement);lastPlacement=placement[1]?placement[0]+"-"+placement[1]:placement[0];var delay=parseInt(attrs[prefix+"PopupDelay"],10),closeDelay=parseInt(attrs[prefix+"PopupCloseDelay"],10);ttScope.popupDelay=isNaN(delay)?options.popupDelay:delay,ttScope.popupCloseDelay=isNaN(closeDelay)?options.popupCloseDelay:closeDelay}(),ttScope.popupDelay?showTimeout||(showTimeout=$timeout(show,ttScope.popupDelay,!1)):show())}function hideTooltipBind(){cancelShow(),ttScope.popupCloseDelay?hideTimeout||(hideTimeout=$timeout(hide,ttScope.popupCloseDelay,!1)):hide()}function show(){if(cancelShow(),cancelHide(),!ttScope.content)return angular.noop;!function(){if(tooltip)return;tooltipLinkedScope=ttScope.$new(),tooltip=tooltipLinker(tooltipLinkedScope,function(tooltip){appendToBody?$document.find("body").append(tooltip):element.after(tooltip)}),openedTooltips.add(ttScope,{close:hide}),function(){observers.length=0,contentParse?(observers.push(scope.$watch(contentParse,function(val){!(ttScope.content=val)&&ttScope.isOpen&&hide()})),observers.push(tooltipLinkedScope.$watch(function(){repositionScheduled||(repositionScheduled=!0,tooltipLinkedScope.$$postDigest(function(){repositionScheduled=!1,ttScope&&ttScope.isOpen&&positionTooltip()}))}))):observers.push(attrs.$observe(ttType,function(val){!(ttScope.content=val)&&ttScope.isOpen?hide():positionTooltip()}));observers.push(attrs.$observe(prefix+"Title",function(val){ttScope.title=val,ttScope.isOpen&&positionTooltip()})),observers.push(attrs.$observe(prefix+"Placement",function(val){ttScope.placement=val||options.placement,ttScope.isOpen&&positionTooltip()}))}()}(),ttScope.$evalAsync(function(){assignIsOpen(ttScope.isOpen=!0),positionTooltip()})}function cancelShow(){showTimeout&&($timeout.cancel(showTimeout),showTimeout=null),positionTimeout&&($timeout.cancel(positionTimeout),positionTimeout=null)}function hide(){ttScope&&ttScope.$evalAsync(function(){ttScope&&(assignIsOpen(ttScope.isOpen=!1),ttScope.animation?transitionTimeout||(transitionTimeout=$timeout(removeTooltip,150,!1)):removeTooltip())})}function cancelHide(){hideTimeout&&($timeout.cancel(hideTimeout),hideTimeout=null),transitionTimeout&&($timeout.cancel(transitionTimeout),transitionTimeout=null)}function removeTooltip(){cancelShow(),cancelHide(),observers.length&&(angular.forEach(observers,function(observer){observer()}),observers.length=0),tooltip&&(tooltip.remove(),tooltip=null,adjustmentTimeout&&$timeout.cancel(adjustmentTimeout)),openedTooltips.remove(ttScope),tooltipLinkedScope&&(tooltipLinkedScope.$destroy(),tooltipLinkedScope=null)}function assignIsOpen(isOpen){isOpenParse&&angular.isFunction(isOpenParse.assign)&&isOpenParse.assign(scope,isOpen)}function bodyHideTooltipBind(e){ttScope&&ttScope.isOpen&&tooltip&&(element[0].contains(e.target)||tooltip[0].contains(e.target)||hideTooltipBind())}function hideOnEscapeKey(e){27===e.which&&hideTooltipBind()}ttScope.origScope=scope,ttScope.isOpen=!1,ttScope.contentExp=function(){return ttScope.content},attrs.$observe("disabled",function(val){val&&cancelShow(),val&&ttScope.isOpen&&hide()}),isOpenParse&&scope.$watch(isOpenParse,function(val){ttScope&&!val===ttScope.isOpen&&toggleTooltipBind()});var showTriggers,hideTriggers,val,unregisterTriggers=function(){triggers.show.forEach(function(trigger){"outsideClick"===trigger?element.off("click",toggleTooltipBind):(element.off(trigger,showTooltipBind),element.off(trigger,toggleTooltipBind)),element.off("keypress",hideOnEscapeKey)}),triggers.hide.forEach(function(trigger){"outsideClick"===trigger?$document.off("click",bodyHideTooltipBind):element.off(trigger,hideTooltipBind)})};showTriggers=[],hideTriggers=[],val=scope.$eval(attrs[prefix+"Trigger"]),unregisterTriggers(),"none"!==(triggers=angular.isObject(val)?(Object.keys(val).forEach(function(key){showTriggers.push(key),hideTriggers.push(val[key])}),{show:showTriggers,hide:hideTriggers}):getTriggers(val)).show&&triggers.show.forEach(function(trigger,idx){"outsideClick"===trigger?(element.on("click",toggleTooltipBind),$document.on("click",bodyHideTooltipBind)):trigger===triggers.hide[idx]?element.on(trigger,toggleTooltipBind):trigger&&(element.on(trigger,showTooltipBind),element.on(triggers.hide[idx],hideTooltipBind)),element.on("keypress",hideOnEscapeKey)});var appendToBodyVal,animation=scope.$eval(attrs[prefix+"Animation"]);ttScope.animation=angular.isDefined(animation)?!!animation:options.animation;var appendKey=prefix+"AppendToBody";appendToBodyVal=appendKey in attrs&&void 0===attrs[appendKey]||scope.$eval(attrs[appendKey]),appendToBody=angular.isDefined(appendToBodyVal)?appendToBodyVal:appendToBody,scope.$on("$destroy",function(){unregisterTriggers(),removeTooltip(),ttScope=null})}}}}}]}).directive("uibTooltipTemplateTransclude",["$animate","$sce","$compile","$templateRequest",function($animate,$sce,$compile,$templateRequest){return{link:function(scope,elem,attrs){var currentScope,previousElement,currentElement,origScope=scope.$eval(attrs.tooltipTemplateTranscludeScope),changeCounter=0,cleanupLastIncludeContent=function(){previousElement&&(previousElement.remove(),previousElement=null),currentScope&&(currentScope.$destroy(),currentScope=null),currentElement&&($animate.leave(currentElement).then(function(){previousElement=null}),previousElement=currentElement,currentElement=null)};scope.$watch($sce.parseAsResourceUrl(attrs.uibTooltipTemplateTransclude),function(src){var thisChangeId=++changeCounter;src?($templateRequest(src,!0).then(function(response){if(thisChangeId===changeCounter){var newScope=origScope.$new(),clone=$compile(response)(newScope,function(clone){cleanupLastIncludeContent(),$animate.enter(clone,elem)});currentElement=clone,(currentScope=newScope).$emit("$includeContentLoaded",src)}},function(){thisChangeId===changeCounter&&(cleanupLastIncludeContent(),scope.$emit("$includeContentError",src))}),scope.$emit("$includeContentRequested",src)):cleanupLastIncludeContent()}),scope.$on("$destroy",cleanupLastIncludeContent)}}}]).directive("uibTooltipClasses",["$uibPosition",function($uibPosition){return{restrict:"A",link:function(scope,element,attrs){if(scope.placement){var position=$uibPosition.parsePlacement(scope.placement);element.addClass(position[0])}scope.popupClass&&element.addClass(scope.popupClass),scope.animation&&element.addClass(attrs.tooltipAnimationClass)}}}]).directive("uibTooltipPopup",function(){return{restrict:"A",scope:{content:"@"},templateUrl:"uib/template/tooltip/tooltip-popup.html"}}).directive("uibTooltip",["$uibTooltip",function($uibTooltip){return $uibTooltip("uibTooltip","tooltip","mouseenter")}]).directive("uibTooltipTemplatePopup",function(){return{restrict:"A",scope:{contentExp:"&",originScope:"&"},templateUrl:"uib/template/tooltip/tooltip-template-popup.html"}}).directive("uibTooltipTemplate",["$uibTooltip",function($uibTooltip){return $uibTooltip("uibTooltipTemplate","tooltip","mouseenter",{useContentExp:!0})}]).directive("uibTooltipHtmlPopup",function(){return{restrict:"A",scope:{contentExp:"&"},templateUrl:"uib/template/tooltip/tooltip-html-popup.html"}}).directive("uibTooltipHtml",["$uibTooltip",function($uibTooltip){return $uibTooltip("uibTooltipHtml","tooltip","mouseenter",{useContentExp:!0})}]),angular.module("ui.bootstrap.popover",["ui.bootstrap.tooltip"]).directive("uibPopoverTemplatePopup",function(){return{restrict:"A",scope:{uibTitle:"@",contentExp:"&",originScope:"&"},templateUrl:"uib/template/popover/popover-template.html"}}).directive("uibPopoverTemplate",["$uibTooltip",function($uibTooltip){return $uibTooltip("uibPopoverTemplate","popover","click",{useContentExp:!0})}]).directive("uibPopoverHtmlPopup",function(){return{restrict:"A",scope:{contentExp:"&",uibTitle:"@"},templateUrl:"uib/template/popover/popover-html.html"}}).directive("uibPopoverHtml",["$uibTooltip",function($uibTooltip){return $uibTooltip("uibPopoverHtml","popover","click",{useContentExp:!0})}]).directive("uibPopoverPopup",function(){return{restrict:"A",scope:{uibTitle:"@",content:"@"},templateUrl:"uib/template/popover/popover.html"}}).directive("uibPopover",["$uibTooltip",function($uibTooltip){return $uibTooltip("uibPopover","popover","click")}]),angular.module("ui.bootstrap.progressbar",[]).constant("uibProgressConfig",{animate:!0,max:100}).controller("UibProgressController",["$scope","$attrs","uibProgressConfig",function($scope,$attrs,progressConfig){var self=this,animate=angular.isDefined($attrs.animate)?$scope.$parent.$eval($attrs.animate):progressConfig.animate;function getMaxOrDefault(){return angular.isDefined($scope.maxParam)?$scope.maxParam:progressConfig.max}this.bars=[],$scope.max=getMaxOrDefault(),this.addBar=function(bar,element,attrs){animate||element.css({transition:"none"}),this.bars.push(bar),bar.max=getMaxOrDefault(),bar.title=attrs&&angular.isDefined(attrs.title)?attrs.title:"progressbar",bar.$watch("value",function(value){bar.recalculatePercentage()}),bar.recalculatePercentage=function(){var totalPercentage=self.bars.reduce(function(total,bar){return bar.percent=+(100*bar.value/bar.max).toFixed(2),total+bar.percent},0);100<totalPercentage&&(bar.percent-=totalPercentage-100)},bar.$on("$destroy",function(){element=null,self.removeBar(bar)})},this.removeBar=function(bar){this.bars.splice(this.bars.indexOf(bar),1),this.bars.forEac
vendor: 15,017 bytes, line 1
1h(function(bar){bar.recalculatePercentage()})},$scope.$watch("maxParam",function(maxParam){self.bars.forEach(function(bar){bar.max=getMaxOrDefault(),bar.recalculatePercentage()})})}]).directive("uibProgress",function(){return{replace:!0,transclude:!0,controller:"UibProgressController",require:"uibProgress",scope:{maxParam:"=?max"},templateUrl:"uib/template/progressbar/progress.html"}}).directive("uibBar",function(){return{replace:!0,transclude:!0,require:"^uibProgress",scope:{value:"=",type:"@"},templateUrl:"uib/template/progressbar/bar.html",link:function(scope,element,attrs,progressCtrl){progressCtrl.addBar(scope,element,attrs)}}}).directive("uibProgressbar",function(){return{replace:!0,transclude:!0,controller:"UibProgressController",scope:{value:"=",maxParam:"=?max",type:"@"},templateUrl:"uib/template/progressbar/progressbar.html",link:function(scope,element,attrs,progressCtrl){progressCtrl.addBar(scope,angular.element(element.children()[0]),{title:attrs.title})}}}),angular.module("ui.bootstrap.rating",[]).constant("uibRatingConfig",{max:5,stateOn:null,stateOff:null,enableReset:!0,titles:["one","two","three","four","five"]}).controller("UibRatingController",["$scope","$attrs","uibRatingConfig",function($scope,$attrs,ratingConfig){var ngModelCtrl={$setViewValue:angular.noop},self=this;this.init=function(ngModelCtrl_){(ngModelCtrl=ngModelCtrl_).$render=this.render,ngModelCtrl.$formatters.push(function(value){return angular.isNumber(value)&&value<<0!==value&&(value=Math.round(value)),value}),this.stateOn=angular.isDefined($attrs.stateOn)?$scope.$parent.$eval($attrs.stateOn):ratingConfig.stateOn,this.stateOff=angular.isDefined($attrs.stateOff)?$scope.$parent.$eval($attrs.stateOff):ratingConfig.stateOff,this.enableReset=angular.isDefined($attrs.enableReset)?$scope.$parent.$eval($attrs.enableReset):ratingConfig.enableReset;var tmpTitles=angular.isDefined($attrs.titles)?$scope.$parent.$eval($attrs.titles):ratingConfig.titles;this.titles=angular.isArray(tmpTitles)&&0<tmpTitles.length?tmpTitles:ratingConfig.titles;var ratingStates=angular.isDefined($attrs.ratingStates)?$scope.$parent.$eval($attrs.ratingStates):new Array(angular.isDefined($attrs.max)?$scope.$parent.$eval($attrs.max):ratingConfig.max);$scope.range=this.buildTemplateObjects(ratingStates)},this.buildTemplateObjects=function(states){for(var i=0,n=states.length;i<n;i++)states[i]=angular.extend({index:i},{stateOn:this.stateOn,stateOff:this.stateOff,title:this.getTitle(i)},states[i]);return states},this.getTitle=function(index){return index>=this.titles.length?index+1:this.titles[index]},$scope.rate=function(value){if(!$scope.readonly&&0<=value&&value<=$scope.range.length){var newViewValue=self.enableReset&&ngModelCtrl.$viewValue===value?0:value;ngModelCtrl.$setViewValue(newViewValue),ngModelCtrl.$render()}},$scope.enter=function(value){$scope.readonly||($scope.value=value),$scope.onHover({value:value})},$scope.reset=function(){$scope.value=ngModelCtrl.$viewValue,$scope.onLeave()},$scope.onKeydown=function(evt){/(37|38|39|40)/.test(evt.which)&&(evt.preventDefault(),evt.stopPropagation(),$scope.rate($scope.value+(38===evt.which||39===evt.which?1:-1)))},this.render=function(){$scope.value=ngModelCtrl.$viewValue,$scope.title=self.getTitle($scope.value-1)}}]).directive("uibRating",function(){return{require:["uibRating","ngModel"],restrict:"A",scope:{readonly:"=?readOnly",onHover:"&",onLeave:"&"},controller:"UibRatingController",templateUrl:"uib/template/rating/rating.html",link:function(scope,element,attrs,ctrls){var ratingCtrl=ctrls[0],ngModelCtrl=ctrls[1];ratingCtrl.init(ngModelCtrl)}}}),angular.module("ui.bootstrap.tabs",[]).controller("UibTabsetController",["$scope",function($scope){var oldIndex,destroyed,ctrl=this;function findTabIndex(index){for(var i=0;i<ctrl.tabs.length;i++)if(ctrl.tabs[i].index===index)return i}ctrl.tabs=[],ctrl.select=function(index,evt){if(!destroyed){var previousIndex=findTabIndex(oldIndex),previousSelected=ctrl.tabs[previousIndex];if(previousSelected){if(previousSelected.tab.onDeselect({$event:evt,$selectedIndex:index}),evt&&evt.isDefaultPrevented())return;previousSelected.tab.active=!1}var selected=ctrl.tabs[index];selected?(selected.tab.onSelect({$event:evt}),selected.tab.active=!0,ctrl.active=selected.index,oldIndex=selected.index):!selected&&angular.isDefined(oldIndex)&&(ctrl.active=null,oldIndex=null)}},ctrl.addTab=function(tab){if(ctrl.tabs.push({tab:tab,index:tab.index}),ctrl.tabs.sort(function(t1,t2){return t1.index>t2.index?1:t1.index<t2.index?-1:0}),tab.index===ctrl.active||!angular.isDefined(ctrl.active)&&1===ctrl.tabs.length){var newActiveIndex=findTabIndex(tab.index);ctrl.select(newActiveIndex)}},ctrl.removeTab=function(tab){for(var index,i=0;i<ctrl.tabs.length;i++)if(ctrl.tabs[i].tab===tab){index=i;break}if(ctrl.tabs[index].index===ctrl.active){var newActiveTabIndex=index===ctrl.tabs.length-1?index-1:index+1%ctrl.tabs.length;ctrl.select(newActiveTabIndex)}ctrl.tabs.splice(index,1)},$scope.$watch("tabset.active",function(val){angular.isDefined(val)&&val!==oldIndex&&ctrl.select(findTabIndex(val))}),$scope.$on("$destroy",function(){destroyed=!0})}]).directive("uibTabset",function(){return{transclude:!0,replace:!0,scope:{},bindToController:{active:"=?",type:"@"},controller:"UibTabsetController",controllerAs:"tabset",templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/tabs/tabset.html"},link:function(scope,element,attrs){scope.vertical=!!angular.isDefined(attrs.vertical)&&scope.$parent.$eval(attrs.vertical),scope.justified=!!angular.isDefined(attrs.justified)&&scope.$parent.$eval(attrs.justified)}}}).directive("uibTab",["$parse",function($parse){return{require:"^uibTabset",replace:!0,templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/tabs/tab.html"},transclude:!0,scope:{heading:"@",index:"=?",classes:"@?",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},controllerAs:"tab",link:function(scope,elm,attrs,tabsetCtrl,transclude){scope.disabled=!1,attrs.disable&&scope.$parent.$watch($parse(attrs.disable),function(value){scope.disabled=!!value}),angular.isUndefined(attrs.index)&&(tabsetCtrl.tabs&&tabsetCtrl.tabs.length?scope.index=Math.max.apply(null,tabsetCtrl.tabs.map(function(t){return t.index}))+1:scope.index=0),angular.isUndefined(attrs.classes)&&(scope.classes=""),scope.select=function(evt){if(!scope.disabled){for(var index,i=0;i<tabsetCtrl.tabs.length;i++)if(tabsetCtrl.tabs[i].tab===scope){index=i;break}tabsetCtrl.select(index,evt)}},tabsetCtrl.addTab(scope),scope.$on("$destroy",function(){tabsetCtrl.removeTab(scope)}),scope.$transcludeFn=transclude}}}]).directive("uibTabHeadingTransclude",function(){return{restrict:"A",require:"^uibTab",link:function(scope,elm){scope.$watch("headingElement",function(heading){heading&&(elm.html(""),elm.append(heading))})}}}).directive("uibTabContentTransclude",function(){return{restrict:"A",require:"^uibTabset",link:function(scope,elm,attrs){var tab=scope.$eval(attrs.uibTabContentTransclude).tab;tab.$transcludeFn(tab.$parent,function(contents){angular.forEach(contents,function(node){!function(node){return node.tagName&&(node.hasAttribute("uib-tab-heading")||node.hasAttribute("data-uib-tab-heading")||node.hasAttribute("x-uib-tab-heading")||"uib-tab-heading"===node.tagName.toLowerCase()||"data-uib-tab-heading"===node.tagName.toLowerCase()||"x-uib-tab-heading"===node.tagName.toLowerCase()||"uib:tab-heading"===node.tagName.toLowerCase())}(node)?elm.append(node):tab.headingElement=node})})}}}),angular.module("ui.bootstrap.timepicker",[]).constant("uibTimepickerConfig",{hourStep:1,minuteStep:1,secondStep:1,showMeridian:!0,showSeconds:!1,meridians:null,readonlyInput:!1,mousewheel:!0,arrowkeys:!0,showSpinners:!0,templateUrl:"uib/template/timepicker/timepicker.html"}).controller("UibTimepickerController",["$scope","$element","$attrs","$parse","$log","$locale","uibTimepickerConfig",function($scope,$element,$attrs,$parse,$log,$locale,timepickerConfig){var hoursModelCtrl,minutesModelCtrl,secondsModelCtrl,selected=new Date,watchers=[],ngModelCtrl={$setViewValue:angular.noop},meridians=angular.isDefined($attrs.meridians)?$scope.$parent.$eval($attrs.meridians):timepickerConfig.meridians||$locale.DATETIME_FORMATS.AMPMS,padHours=!angular.isDefined($attrs.padHours)||$scope.$parent.$eval($attrs.padHours);$scope.tabindex=angular.isDefined($attrs.tabindex)?$attrs.tabindex:0,$element.removeAttr("tabindex"),this.init=function(ngModelCtrl_,inputs){(ngModelCtrl=ngModelCtrl_).$render=this.render,ngModelCtrl.$formatters.unshift(function(modelValue){return modelValue?new Date(modelValue):null});var hoursInputEl=inputs.eq(0),minutesInputEl=inputs.eq(1),secondsInputEl=inputs.eq(2);hoursModelCtrl=hoursInputEl.controller("ngModel"),minutesModelCtrl=minutesInputEl.controller("ngModel"),secondsModelCtrl=secondsInputEl.controller("ngModel"),(angular.isDefined($attrs.mousewheel)?$scope.$parent.$eval($attrs.mousewheel):timepickerConfig.mousewheel)&&this.setupMousewheelEvents(hoursInputEl,minutesInputEl,secondsInputEl),(angular.isDefined($attrs.arrowkeys)?$scope.$parent.$eval($attrs.arrowkeys):timepickerConfig.arrowkeys)&&this.setupArrowkeyEvents(hoursInputEl,minutesInputEl,secondsInputEl),$scope.readonlyInput=angular.isDefined($attrs.readonlyInput)?$scope.$parent.$eval($attrs.readonlyInput):timepickerConfig.readonlyInput,this.setupInputEvents(hoursInputEl,minutesInputEl,secondsInputEl)};var hourStep=timepickerConfig.hourStep;$attrs.hourStep&&watchers.push($scope.$parent.$watch($parse($attrs.hourStep),function(value){hourStep=+value}));var min,max,minuteStep=timepickerConfig.minuteStep;$attrs.minuteStep&&watchers.push($scope.$parent.$watch($parse($attrs.minuteStep),function(value){minuteStep=+value})),watchers.push($scope.$parent.$watch($parse($attrs.min),function(value){var dt=new Date(value);min=isNaN(dt)?void 0:dt})),watchers.push($scope.$parent.$watch($parse($attrs.max),function(value){var dt=new Date(value);max=isNaN(dt)?void 0:dt}));var disabled=!1;$attrs.ngDisabled&&watchers.push($scope.$parent.$watch($parse($attrs.ngDisabled),function(value){disabled=value})),$scope.noIncrementHours=function(){var incrementedSelected=addMinutes(selected,60*hourStep);return disabled||max<incrementedSelected||incrementedSelected<selected&&incrementedSelected<min},$scope.noDecrementHours=function(){var decrementedSelected=addMinutes(selected,60*-hourStep);return disabled||decrementedSelected<min||selected<decrementedSelected&&max<decrementedSelected},$scope.noIncrementMinutes=function(){var incrementedSelected=addMinutes(selected,minuteStep);return disabled||max<incrementedSelected||incrementedSelected<selected&&incrementedSelected<min},$scope.noDecrementMinutes=function(){var decrementedSelected=addMinutes(selected,-minuteStep);return disabled||decrementedSelected<min||selected<decrementedSelected&&max<decrementedSelected},$scope.noIncrementSeconds=function(){var incrementedSelected=addSeconds(selected,secondStep);return disabled||max<incrementedSelected||incrementedSelected<selected&&incrementedSelected<min},$scope.noDecrementSeconds=function(){var decrementedSelected=addSeconds(selected,-secondStep);return disabled||decrementedSelected<min||selected<decrementedSelected&&max<decrementedSelected},$scope.noToggleMeridian=function(){return selected.getHours()<12?disabled||addMinutes(selected,720)>max:disabled||addMinutes(selected,-720)<min};var secondStep=timepickerConfig.secondStep;function getHoursFromTemplate(){var hours=+$scope.hours;if(($scope.showMeridian?0<hours&&hours<13:0<=hours&&hours<24)&&""!==$scope.hours)return $scope.showMeridian&&(12===hours&&(hours=0),$scope.meridian===meridians[1]&&(hours+=12)),hours}function getMinutesFromTemplate(){var minutes=+$scope.minutes;if(0<=minutes&&minutes<60&&""!==$scope.minutes)return minutes}function pad(value,noPad){return null===value?"":angular.isDefined(value)&&value.toString().length<2&&!noPad?"0"+value:value.toString()}function refresh(keyboardChange){makeValid(),ngModelCtrl.$setViewValue(new Date(selected)),updateTemplate(keyboardChange)}function makeValid(){hoursModelCtrl&&hoursModelCtrl.$setValidity("hours",!0),minutesModelCtrl&&minutesModelCtrl.$setValidity("minutes",!0),secondsModelCtrl&&secondsModelCtrl.$setValidity("seconds",!0),ngModelCtrl.$setValidity("time",!0),$scope.invalidHours=!1,$scope.invalidMinutes=!1,$scope.invalidSeconds=!1}function updateTemplate(keyboardChange){if(ngModelCtrl.$modelValue){var hours=selected.getHours(),minutes=selected.getMinutes(),seconds=selected.getSeconds();$scope.showMeridian&&(hours=0===hours||12===hours?12:hours%12),$scope.hours="h"===keyboardChange?hours:pad(hours,!padHours),"m"!==keyboardChange&&($scope.minutes=pad(minutes)),$scope.meridian=selected.getHours()<12?meridians[0]:meridians[1],"s"!==keyboardChange&&($scope.seconds=pad(seconds)),$scope.meridian=selected.getHours()<12?meridians[0]:meridians[1]}else $scope.hours=null,$scope.minutes=null,$scope.seconds=null,$scope.meridian=meridians[0]}function addSecondsToSelected(seconds){selected=addSeconds(selected,seconds),refresh()}function addMinutes(selected,minutes){return addSeconds(selected,60*minutes)}function addSeconds(date,seconds){var dt=new Date(date.getTime()+1e3*seconds),newDate=new Date(date);return newDate.setHours(dt.getHours(),dt.getMinutes(),dt.getSeconds()),newDate}function modelIsEmpty(){return(null===$scope.hours||""===$scope.hours)&&(null===$scope.minutes||""===$scope.minutes)&&(!$scope.showSeconds||$scope.showSeconds&&(null===$scope.seconds||""===$scope.seconds))}$attrs.secondStep&&watchers.push($scope.$parent.$watch($parse($attrs.secondStep),function(value){secondStep=+value})),$scope.showSeconds=timepickerConfig.showSeconds,$attrs.showSeconds&&watchers.push($scope.$parent.$watch($parse($attrs.showSeconds),function(value){$scope.showSeconds=!!value})),$scope.showMeridian=timepickerConfig.showMeridian,$attrs.showMeridian&&watchers.push($scope.$parent.$watch($parse($attrs.showMeridian),function(value){if($scope.showMeridian=!!value,ngModelCtrl.$error.time){var hours=getHoursFromTemplate(),minutes=getMinutesFromTemplate();angular.isDefined(hours)&&angular.isDefined(minutes)&&(selected.setHours(hours),refresh())}else updateTemplate()})),this.setupMousewheelEvents=function(hoursInputEl,minutesInputEl,secondsInputEl){var isScrollingUp=function(e){e.originalEvent&&(e=e.originalEvent);var delta=e.wheelDelta?e.wheelDelta:-e.deltaY;return e.detail||0<delta};hoursInputEl.on("mousewheel wheel",function(e){disabled||$scope.$apply(isScrollingUp(e)?$scope.incrementHours():$scope.decrementHours()),e.preventDefault()}),minutesInputEl.on("mousewheel wheel",function(e){disabled||$scope.$apply(isScrollingUp(e)?$scope.incrementMinutes():$scope.decrementMinutes()),e.preventDefault()}),secondsInputEl.on("mousewheel wheel",function(e){disabled||$scope.$apply(isScrollingUp(e)?$scope.incrementSeconds():$scope.decrementSeconds()),e.preventDefault()})},this.setupArrowkeyEvents=function(hoursInputEl,minutesInputEl,secondsInputEl){hoursInputEl.on("key
1down",function(e){disabled||(38===e.which?(e.preventDefault(),$scope.incrementHours(),$scope.$apply()):40===e.which&&(e.preventDefault(),$scope.decrementHours(),$scope.$apply()))}),minutesInputEl.on("keydown",function(e){disabled||(38===e.which?(e.preventDefault(),$scope.incrementMinutes(),$scope.$apply()):40===e.which&&(e.preventDefault(),$scope.decrementMinutes(),$scope.$apply()))}),secondsInputEl.on("keydown",function(e){disabled||(38===e.which?(e.preventDefault(),$scope.incrementSeconds(),$scope.$apply()):40===e.which&&(e.preventDefault(),$scope.decrementSeconds(),$scope.$apply()))})},this.setupInputEvents=function(hoursInputEl,minutesInputEl,secondsInputEl){if($scope.readonlyInput)return $scope.updateHours=angular.noop,$scope.updateMinutes=angular.noop,void($scope.updateSeconds=angular.noop);var invalidate=function(invalidHours,invalidMinutes,invalidSeconds){ngModelCtrl.$setViewValue(null),ngModelCtrl.$setValidity("time",!1),angular.isDefined(invalidHours)&&($scope.invalidHours=invalidHours,hoursModelCtrl&&hoursModelCtrl.$setValidity("hours",!1)),angular.isDefined(invalidMinutes)&&($scope.invalidMinutes=invalidMinutes,minutesModelCtrl&&minutesModelCtrl.$setValidity("minutes",!1)),angular.isDefined(invalidSeconds)&&($scope.invalidSeconds=invalidSeconds,secondsModelCtrl&&secondsModelCtrl.$setValidity("seconds",!1))};$scope.updateHours=function(){var hours=getHoursFromTemplate(),minutes=getMinutesFromTemplate();ngModelCtrl.$setDirty(),angular.isDefined(hours)&&angular.isDefined(minutes)?(selected.setHours(hours),selected.setMinutes(minutes),selected<min||max<selected?invalidate(!0):refresh("h")):invalidate(!0)},hoursInputEl.on("blur",function(e){ngModelCtrl.$setTouched(),modelIsEmpty()?makeValid():null===$scope.hours||""===$scope.hours?invalidate(!0):!$scope.invalidHours&&$scope.hours<10&&$scope.$apply(function(){$scope.hours=pad($scope.hours,!padHours)})}),$scope.updateMinutes=function(){var minutes=getMinutesFromTemplate(),hours=getHoursFromTemplate();ngModelCtrl.$setDirty(),angular.isDefined(minutes)&&angular.isDefined(hours)?(selected.setHours(hours),selected.setMinutes(minutes),selected<min||max<selected?invalidate(void 0,!0):refresh("m")):invalidate(void 0,!0)},minutesInputEl.on("blur",function(e){ngModelCtrl.$setTouched(),modelIsEmpty()?makeValid():null===$scope.minutes?invalidate(void 0,!0):!$scope.invalidMinutes&&$scope.minutes<10&&$scope.$apply(function(){$scope.minutes=pad($scope.minutes)})}),$scope.updateSeconds=function(){var seconds=function(){var seconds=+$scope.seconds;return 0<=seconds&&seconds<60?seconds:void 0}();ngModelCtrl.$setDirty(),angular.isDefined(seconds)?(selected.setSeconds(seconds),refresh("s")):invalidate(void 0,void 0,!0)},secondsInputEl.on("blur",function(e){modelIsEmpty()?makeValid():!$scope.invalidSeconds&&$scope.seconds<10&&$scope.$apply(function(){$scope.seconds=pad($scope.seconds)})})},this.render=function(){var date=ngModelCtrl.$viewValue;isNaN(date)?(ngModelCtrl.$setValidity("time",!1),$log.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(date&&(selected=date),selected<min||max<selected?(ngModelCtrl.$setValidity("time",!1),$scope.invalidHours=!0,$scope.invalidMinutes=!0):makeValid(),updateTemplate())},$scope.showSpinners=angular.isDefined($attrs.showSpinners)?$scope.$parent.$eval($attrs.showSpinners):timepickerConfig.showSpinners,$scope.incrementHours=function(){$scope.noIncrementHours()||addSecondsToSelected(60*hourStep*60)},$scope.decrementHours=function(){$scope.noDecrementHours()||addSecondsToSelected(60*-hourStep*60)},$scope.incrementMinutes=function(){$scope.noIncrementMinutes()||addSecondsToSelected(60*minuteStep)},$scope.decrementMinutes=function(){$scope.noDecrementMinutes()||addSecondsToSelected(60*-minuteStep)},$scope.incrementSeconds=function(){$scope.noIncrementSeconds()||addSecondsToSelected(secondStep)},$scope.decrementSeconds=function(){$scope.noDecrementSeconds()||addSecondsToSelected(-secondStep)},$scope.toggleMeridian=function(){var minutes=getMinutesFromTemplate(),hours=getHoursFromTemplate();$scope.noToggleMeridian()||(angular.isDefined(minutes)&&angular.isDefined(hours)?addSecondsToSelected(720*(selected.getHours()<12?60:-60)):$scope.meridian=$scope.meridian===meridians[0]?meridians[1]:meridians[0])},$scope.blur=function(){ngModelCtrl.$setTouched()},$scope.$on("$destroy",function(){for(;watchers.length;)watchers.shift()()})}]).directive("uibTimepicker",["uibTimepickerConfig",function(uibTimepickerConfig){return{require:["uibTimepicker","?^ngModel"],restrict:"A",controller:"UibTimepickerController",controllerAs:"timepicker",scope:{},templateUrl:function(element,attrs){return attrs.templateUrl||uibTimepickerConfig.templateUrl},link:function(scope,element,attrs,ctrls){var timepickerCtrl=ctrls[0],ngModelCtrl=ctrls[1];ngModelCtrl&&timepickerCtrl.init(ngModelCtrl,element.find("input"))}}}]),angular.module("ui.bootstrap.typeahead",["ui.bootstrap.debounce","ui.bootstrap.position"]).factory("uibTypeaheadParser",["$parse",function($parse){var TYPEAHEAD_REGEXP=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*
1))\s+in\s+([\s\S]+?)$/;return{parse:function(input){var match=input.match(TYPEAHEAD_REGEXP);if(!match)throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "'+input+'".');return{itemName:match[3],source:$parse(match[4]),viewMapper:$parse(match[2]||match[1]),modelMapper:$parse(match[1])}}}}]).controller("UibTypeaheadController",["$scope","$element","$attrs","$compile","$parse","$q","$timeout","$document","$window","$rootScope","$$debounce","$uibPosition","uibTypeaheadParser",function(originalScope,element,attrs,$compile,$parse,$q,$timeout,$document,$window,$rootScope,$$debounce,$position,typeaheadParser){var modelCtrl,ngModelOptions,HOT_KEYS=[9,13,27,38,40],minLength=originalScope.$eval(attrs.typeaheadMinLength);minLength||0===minLength||(minLength=1),originalScope.$watch(attrs.typeaheadMinLength,function(newVal){minLength=newVal||0===newVal?newVal:1});var waitTime=originalScope.$eval(attrs.typeaheadWaitMs)||0,isEditable=!1!==originalScope.$eval(attrs.typeaheadEditable);originalScope.$watch(attrs.typeaheadEditable,function(newVal){isEditable=!1!==newVal});var hasFocus,selected,isLoadingSetter=$parse(attrs.typeaheadLoading).assign||angular.noop,isSelectEvent=attrs.typeaheadShouldSelect?$parse(attrs.typeaheadShouldSelect):function(scope,vals){var evt=vals.$event;return 13===evt.which||9===evt.which},onSelectCallback=$parse(attrs.typeaheadOnSelect),isSelectOnBlur=!!angular.isDefined(attrs.typeaheadSelectOnBlur)&&originalScope.$eval(attrs.typeaheadSelectOnBlur),isNoResultsSetter=$parse(attrs.typeaheadNoResults).assign||angular.noop,inputFormatter=attrs.typeaheadInputFormatter?$parse(attrs.typeaheadInputFormatter):void 0,appendToBody=!!attrs.typeaheadAppendToBody&&originalScope.$eval(attrs.typeaheadAppendToBody),appendTo=attrs.typeaheadAppendTo?originalScope.$eval(attrs.typeaheadAppendTo):null,focusFirst=!1!==originalScope.$eval(attrs.typeaheadFocusFirst),selectOnExact=!!attrs.typeaheadSelectOnExact&&originalScope.$eval(attrs.typeaheadSelectOnExact),isOpenSetter=$parse(attrs.typeaheadIsOpen).assign||angular.noop,showHint=originalScope.$eval(attrs.typeaheadShowHint)||!1,parsedModel=$parse(attrs.ngModel),invokeModelSetter=$parse(attrs.ngModel+"($$$p)"),parserResult=typeaheadParser.parse(attrs.uibTypeahead),scope=originalScope.$new(),offDestroy=originalScope.$on("$destroy",function(){scope.$destroy()});scope.$on("$destroy",offDestroy);var inputsContainer,hintInputElem,popupId="typeahead-"+scope.$id+"-"+Math.floor(1e4*Math.random());element.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":popupId}),showHint&&((inputsContainer=angular.element("<div></div>")).css("position","relative"),element.after(inputsContainer),(hintInputElem=element.clone()).attr("placeholder",""),hintInputElem.attr("tabindex","-1"),hintInputElem.val(""),hintInputElem.css({position:"absolute",top:"0px",left:"0px","border-color":"transparent","box-shadow":"none",opacity:1,background:"none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255)",color:"#999"}),element.css({position:"relative","vertical-align":"top","background-color":"transparent"}),hintInputElem.attr("id")&&hintInputElem.removeAttr("id"),inputsContainer.append(hintInputElem),hintInputElem.after(element));var popUpEl=angular.element("<div uib-typeahead-popup></div>");popUpEl.attr({id:popupId,matches:"matches",active:"activeIdx",select:"select(activeIdx, evt)","move-in-progress":"moveInProgress",query:"query",position:"position","assign-is-open":"assignIsOpen(isOpen)",debounce:"debounceUpdate"}),angular.isDefined(attrs.typeaheadTemplateUrl)&&popUpEl.attr("template-url",attrs.typeaheadTemplateUrl),angular.isDefined(attrs.typeaheadPopupTemplateUrl)&&popUpEl.attr("popup-template-url",attrs.typeaheadPopupTemplateUrl);var resetMatches=function(){scope.matches=[],scope.activeIdx=-1,element.attr("aria-expanded",!1),showHint&&hintInputElem.val("")},getMatchId=function(index){return popupId+"-option-"+index};scope.$watch("activeIdx",function(index){index<0?element.removeAttr("aria-activedescendant"):element.attr("aria-activedescendant",getMatchId(index))});var getMatchesAsync=function(inputValue,evt){var locals={$viewValue:inputValue};isLoadingSetter(originalScope,!0),isNoResultsSetter(originalScope,!1),$q.when(parserResult.source(originalScope,locals)).then(function(matches){var onCurrentRequest=inputValue===modelCtrl.$viewValue;if(onCurrentRequest&&hasFocus)if(matches&&0<matches.length){scope.activeIdx=focusFirst?0:-1,isNoResultsSetter(originalScope,!1);for(var i=scope.matches.length=0;i<matches.length;i++)locals[parserResult.itemName]=matches[i],scope.matches.push({id:getMatchId(i),label:parserResult.viewMapper(scope,locals),model:matches[i]});if(scope.query=inputValue,recalculatePosition(),element.attr("aria-expanded",!0),selectOnExact&&1===scope.matches.length&&function(inputValue,index){return!!(scope.matches.length>index&&inputValue)&&inputValue.toUpperCase()===scope.matches[index].label.toUpperCase()}(inputValue,0)&&(angular.isNumber(scope.debounceUpdate)||angular.isObject(scope.debounceUpdate)?$$debounce(function(){scope.select(0,evt)},angular.isNumber(scope.debounceUpdate)?scope.debounceUpdate:scope.debounceUpdate.default):scope.select(0,evt)),showHint){var firstLabel=scope.matches[0].label;angular.isString(inputValue)&&0<inputValue.length&&firstLabel.slice(0,inputValue.length).toUpperCase()===inputValue.toUpperCase()?hintInputElem.val(inputValue+firstLabel.slice(inputValue.length)):hintInputElem.val("")}}else resetMatches(),isNoResultsSetter(originalScope,!0);onCurrentRequest&&isLoadingSetter(originalScope,!1)},function(){resetMatches(),isLoadingSetter(originalScope,!1),isNoResultsSetter(originalScope,!0)})};appendToBody&&(angular.element($window).on("resize",fireRecalculating),$document.find("body").on("scroll",fireRecalculating));var timeoutPromise,debouncedRecalculate=$$debounce(function(){scope.matches.length&&recalculatePosition(),scope.moveInProgress=!1},200);function fireRecalculating(){scope.moveInProgress||(scope.moveInProgress=!0,scope.$digest()),debouncedRecalculate()}function recalculatePosition(){scope.position=appendToBody?$position.offset(element):$position.position(element),scope.position.top+=element.prop("offsetHeight")}scope.moveInProgress=!1,scope.query=void 0;var cancelPreviousTimeout=function(){timeoutPromise&&$timeout.cancel(timeoutPromise)};resetMatches(),scope.assignIsOpen=function(isOpen){isOpenSetter(originalScope,isOpen)},scope.select=function(activeIdx,evt){var model,item,locals={};selected=!0,locals[parserResult.itemName]=item=scope.matches[activeIdx].model,model=parserResult.modelMapper(originalScope,locals),function(scope,newValue){angular.isFunction(parsedModel(originalScope))&&ngModelOptions.getOption("getterSetter")?invokeModelSetter(scope,{$$$p:newValue}):parsedModel.assign(scope,newValue)}(originalScope,model),modelCtrl.$setValidity("editable",!0),modelCtrl.$setValidity("parse",!0),onSelectCallback(originalScope,{$item:item,$model:model,$label:parserResult.viewMapper(originalScope,locals),$event:evt}),resetMatches(),!1!==scope.$eval(attrs.typeaheadFocusOnSelect)&&$timeout(function(){element[0].focus()},0,!1)}
1,element.on("keydown",function(evt){if(0!==scope.matches.length&&-1!==HOT_KEYS.indexOf(evt.which)){var target,shouldSelect=isSelectEvent(originalScope,{$event:evt});if(-1===scope.activeIdx&&shouldSelect||9===evt.which&&evt.shiftKey)return resetMatches(),void scope.$digest();switch(evt.preventDefault(),evt.which){case 27:evt.stopPropagation(),resetMatches(),originalScope.$digest();break;case 38:scope.activeIdx=(0<scope.activeIdx?scope.activeIdx:scope.matches.length)-1,scope.$digest(),(target=popUpEl[0].querySelectorAll(".uib-typeahead-match")[scope.activeIdx]).parentNode.scrollTop=target.offsetTop;break;case 40:scope.activeIdx=(scope.activeIdx+1)%scope.matches.length,scope.$digest(),(target=popUpEl[0].querySelectorAll(".uib-typeahead-match")[scope.activeIdx]).parentNode.scrollTop=target.offsetTop;break;default:shouldSelect&&scope.$apply(function(){angular.isNumber(scope.debounceUpdate)||angular.isObject(scope.debounceUpdate)?$$debounce(function(){scope.select(scope.activeIdx,evt)},angular.isNumber(scope.debounceUpdate)?scope.debounceUpdate:scope.debounceUpdate.default):scope.select(scope.activeIdx,evt)})}}}),element.on("focus",function(evt){hasFocus=!0,0!==minLength||modelCtrl.$viewValue||$timeout(function(){getMatchesAsync(modelCtrl.$viewValue,evt)},0)}),element.on("blur",function(evt){isSelectOnBlur&&scope.matches.length&&-1!==scope.activeIdx&&!selected&&(selected=!0,scope.$apply(function(){angular.isObject(scope.debounceUpdate)&&angular.isNumber(scope.debounceUpdate.blur)?$$debounce(function(){scope.select(scope.activeIdx,evt)},scope.debounceUpdate.blur):scope.select(scope.activeIdx,evt)})),!isEditable&&modelCtrl.$error.editable&&(modelCtrl.$setViewValue(),scope.$apply(function(){modelCtrl.$setValidity("editable",!0),modelCtrl.$setValidity("parse",!0)}),element.val("")),selected=hasFocus=!1});var dismissClickHandler=function(evt){element[0]!==evt.target&&3!==evt.which&&0!==scope.matches.length&&(resetMatches(),$rootScope.$$phase||originalScope.$digest())};$document.on("click",dismissClickHandler),originalScope.$on("$destroy",function(){$document.off("click",dismissClickHandler),(appendToBody||appendTo)&&$popup.remove(),appendToBody&&(angular.element($window).off("resize",fireRecalculating),$document.find("body").off("scroll",fireRecalculating)),popUpEl.remove(),showHint&&inputsContainer.remove()});var $popup=$compile(popUpEl)(scope);appendToBody?$document.find("body").append($popup):appendTo?angular.element(appendTo).eq(0).append($popup):element.after($popup),this.init=function(_modelCtrl){ngModelOptions=function(ngModelCtrl){var ngModelOptions;angular.version.minor<6?(ngModelOptions=ngModelCtrl.$options||{}).getOption=function(key){return ngModelOptions[key]}:ngModelOptions=ngModelCtrl.$options;return ngModelOptions}(modelCtrl=_modelCtrl),scope.debounceUpdate=$parse(ngModelOptions.getOption("debounce"))(originalScope),modelCtrl.$parsers.unshift(function(inputValue){return hasFocus=!0,0===minLength||inputValue&&inputValue.length>=minLength?0<waitTime?(cancelPreviousTimeout(),function(inputValue){timeoutPromise=$timeout(function(){getMatchesAsync(inputValue)},waitTime)}(inputValue)):getMatchesAsync(inputValue):(isLoadingSetter(originalScope,!1),cancelPreviousTimeout(),resetMatches()),isEditable?inputValue:inputValue?void modelCtrl.$setValidity("editable",!1):(modelCtrl.$setValidity("editable",!0),null)}),modelCtrl.$formatters.push(function(modelValue){var candidateViewValue,locals={};return isEditable||modelCtrl.$setValidity("editable",!0),inputFormatter?(locals.$model=modelValue,inputFormatter(originalScope,locals)):(locals[parserResult.itemName]=modelValue,candidateViewValue=parserResult.viewMapper(originalScope,locals),locals[parserResult.itemName]=void 0,candidateViewValue!==parserResult.viewMapper(originalScope,locals)?candidateViewValue:modelValue)})}}]).directive("uibTypeahead",function(){return{controller:"UibTypeaheadController",require:["ngModel","uibTypeahead"],link:function(originalScope,element,attrs,ctrls){ctrls[1].init(ctrls[0])}}}).directive("uibTypeaheadPopup",["$$debounce",function($$debounce){return{scope:{matches:"=",query:"=",active:"=",position:"&",moveInProgress:"=",select:"&",assignIsOpen:"&",debounce:"&"},replace:!0,templateUrl:function(element,attrs){return attrs.popupTemplateUrl||"uib/template/typeahead/typeahead-popup.html"},link:function(scope,element,attrs){scope.templateUrl=attrs.templateUrl,scope.isOpen=function(){var isDropdownOpen=0<scope.matches.length;return scope.assignIsOpen({isOpen:isDropdownOpen}),isDropdownOpen},scope.isActive=function(matchIdx){return scope.active===matchIdx},scope.selectActive=function(matchIdx){scope.active=matchIdx},scope.selectMatch=function(activeIdx,evt){var debounce=scope.debounce();angular.isNumber(debounce)||angular.isObject(debounce)?$$debounce(function(){scope.select({activeIdx:activeIdx,evt:evt})},angular.isNumber(debounce)?debounce:debounce.default):scope.select({activeIdx:activeIdx,evt:evt})}}}}]).directive("uibTypeaheadMatch",["$templateRequest","$compile","$parse",function($templateRequest,$compile,$parse){return{scope:{index:"=",match:"=",query:"="},link:function(scope,element,attrs){var tplUrl=$parse(attrs.templateUrl)(scope.$parent)||"uib/template/typeahead/typeahead-match.html";$templateRequest(tplUrl).then(function(tplContent){var tplEl=angular.element(tplContent.trim());element.replaceWith(tplEl),$compile(tplEl)(scope)})}}}]).filter("uibTypeaheadHighlight",["$sce","$injector","$log",function($sce,$injector,$log){var isSanitizePresent;return isSanitizePresent=$injector.has("$sanitize"),function(matchItem,query){return!isSanitizePresent&&function(matchItem){return/<.*>/g.test(matchItem)}(matchItem)&&$log.warn("Unsafe use of typeahead please use ngSanitize"),matchItem=query?(""+matchItem).replace(new RegExp(query.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1"),"gi"),"<strong>$&</strong>"):matchItem,isSanitizePresent||(matchItem=$sce.trustAsHtml(matchItem)),matchItem}}]),angular.module("uib/template/accordion/accordion-group.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/accordion/accordion-group.html",'<div role="tab" id="{{::headingId}}" aria-selected="{{isOpen}}" class="panel-heading" ng-keypress="toggleOpen($event)">\n <h4 class="panel-title">\n <a role="button" data-toggle="collapse" href aria-expanded="{{isOpen}}" aria-controls="{{::panelId}}" tabindex="0" class="accordion-toggle" ng-click="toggleOpen()" uib-accordion-transclude="heading" ng-disabled="isDisabled" uib-tabindex-toggle><span uib-accordion-header ng-class="{\'text-muted\': isDisabled}">{{heading}}</span></a>\n </h4>\n</div>\n<div id="{{::panelId}}" aria-labelledby="{{::headingId}}" aria-hidden="{{!isOpen}}" role="tabpanel" class="panel-collapse collapse" uib-collapse="!isOpen">\n <div class="panel-body" ng-transclude></div>\n</div>\n')}]),angular.module("uib/template/accordion/accordion.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/accordion/accordion.html",'<div role="tablist" class="panel-group" ng-transclude></div>')}]),angular.module("uib/template/alert/alert.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/alert/alert.html",'<button ng-show="closeable" t
1ype="button" class="close" ng-click="close({$event: $event})">\n <span aria-hidden="true">×</span>\n <span class="sr-only">Close</span>\n</button>\n<div ng-transclude></div>\n')}]),angular.module("uib/template/carousel/carousel.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/carousel/carousel.html",'<div class="carousel-inner" ng-transclude></div>\n<a role="button" href class="left carousel-control" ng-click="prev()" ng-class="{ disabled: isPrevDisabled() }" ng-show="slides.length > 1">\n <span aria-hidden="true" class="glyphicon glyphicon-chevron-left"></span>\n <span class="sr-only">previous</span>\n</a>\n<a role="button" href class="right carousel-control" ng-click="next()" ng-class="{ disabled: isNextDisabled() }" ng-show="slides.length > 1">\n <span aria-hidden="true" class="glyphicon glyphicon-chevron-right"></span>\n <span class="sr-only">next</span>\n</a>\n<ol class="carousel-indicators" ng-show="slides.length > 1">\n <li ng-repeat="slide in slides | orderBy:indexOfSlide track by $index" ng-class="{ active: isActive(slide) }" ng-click="select(slide)">\n <span class="sr-only">slide {{ $index + 1 }} of {{ slides.length }}<span ng-if="isActive(slide)">, currently active</span></span>\n </li>\n</ol>\n')}]),angular.module("uib/template/carousel/slide.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/carousel/slide.html",'<div class="text-center" ng-transclude></div>\n')}]),angular.module("uib/template/datepicker/datepicker.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/datepicker/datepicker.html",'<div ng-switch="datepickerMode">\n <div uib-daypicker ng-switch-when="day" tabindex="0" class="uib-daypicker"></div>\n <div uib-monthpicker ng-switch-when="month" tabindex="0" class="uib-monthpicker"></div>\n <div uib-yearpicker ng-switch-when="year" tabindex="0" class="uib-yearpicker"></div>\n</div>\n')}]),angular.module("uib/template/datepicker/day.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/datepicker/day.html",'<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n <thead>\n <tr>\n <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-left"></i><span class="sr-only">previous</span></button></th>\n <th colspan="{{::5 + showWeeks}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1"><strong>{{title}}</strong></button></th>\n <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-right"></i><span class="sr-only">next</span></button></th>\n </tr>\n <tr>\n <th ng-if="showWeeks" class="text-center"></th>\n <th ng-repeat="label in ::labels track by $index" class="text-center"><small aria-label="{{::label.full}}">{{::label.abbr}}</small></th>\n </tr>\n </thead>\n <tbody>\n <tr class="uib-weeks" ng-repeat="row in rows track by $index" role="row">\n <td ng-if="showWeeks" class="text-center h6"><em>{{ weekNumbers[$index] }}</em></td>\n <td ng-repeat="dt in row" class="uib-day text-center" role="gridcell"\n id="{{::dt.uid}}"\n ng-class="::dt.customClass">\n <button type="button" class="btn btn-default btn-sm"\n uib-is-class="\n \'btn-info\' for selectedDt,\n \'active\' for activeDt\n on dt"\n ng-click="select(dt.date)"\n ng-disabled="::dt.disabled"\n tabindex="-1"><span ng-class="::{\'text-muted\': dt.secondary, \'text-info\': dt.current}">{{::dt.label}}</span></button>\n </td>\n </tr>\n </tbody>\n</table>\n')}]),angular.module("uib/template/datepicker/month.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/datepicker/month.html",'<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n <thead>\n <tr>\n <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-left"></i><span class="sr-only">previous</span></button></th>\n <th colspan="{{::yearHeaderColspan}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === max
1Mode" tabindex="-1"><strong>{{title}}</strong></button></th>\n <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-right"></i><span class="sr-only">next</span></i></button></th>\n </tr>\n </thead>\n <tbody>\n <tr class="uib-months" ng-repeat="row in rows track by $index" role="row">\n <td ng-repeat="dt in row" class="uib-month text-center" role="gridcell"\n id="{{::dt.uid}}"\n ng-class="::dt.customClass">\n <button type="button" class="btn btn-default"\n uib-is-class="\n \'btn-info\' for selectedDt,\n \'active\' for activeDt\n on dt"\n ng-click="select(dt.date)"\n ng-disabled="::dt.disabled"\n tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n </td>\n </tr>\n </tbody>\n</table>\n')}]),angular.module("uib/template/datepicker/popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/datepicker/popup.html",'<div>\n <ul class="uib-datepicker-popup dropdown-menu uib-position-measure" dropdown-nested ng-if="isOpen" ng-keydown="keydown($event)" ng-click="$event.stopPropagation()">\n <li ng-transclude></li>\n <li ng-if="showButtonBar" class="uib-button-bar">
1\n <span class="btn-group pull-left">\n <button type="button" class="btn btn-sm btn-info uib-datepicker-current" ng-click="select(\'today\', $event)" ng-disabled="isDisabled(\'today\')">{{ getText(\'current\') }}</button>\n <button type="button" class="btn btn-sm btn-danger uib-clear" ng-click="select(null, $event)">{{ getText(\'clear\') }}</button>\n </span>\n <button type="button" class="btn btn-sm btn-success pull-right uib-close" ng-click="close($event)">{{ getText(\'close\') }}</button>\n </li>\n </ul>\n</div>\n')}]),angular.module("uib/template/datepicker/year.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/datepicker/year.html",'<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n <thead>\n <tr>\n <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-left"></i><span class="sr-only">previous</span></button></th>\n <th colspan="{{::columns - 2}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1"><strong>{{title}}</strong></button></th>\n <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-right"></i><span class="sr-only">next</span></button></th>\n </tr>\n </thead>\n <tbody>\n <tr class="uib-years" ng-repeat="row in rows track by $index" role="row">\n <td ng-repeat="dt in row" class="uib-year text-center" role="gridcell"\n id="{{::dt.uid}}"\n ng-class="::dt.customClass">\n <button type="button" class="btn btn-default"\n uib-is-class="\n \'btn-info\' for selectedDt,\n \'active\' for activeDt\n on dt"\n ng-click="select(dt.date)"\n ng-disabled="::dt.disabled"\n tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n </td>\n </tr>\n </tbody>\n</table>\n')}]),angular.module("uib/template/datepickerPopup/popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/datepickerPopup/popup.html",'<ul role="presentation" class="uib-datepicker-popup dropdown-menu uib-position-measure" dropdown-nested ng-if="isOpen" ng-keydown="keydown($event)" ng-click="$event.stopPropagation()">\n <li ng-transclude></li>\n <li ng-if="showButtonBar" class="uib-button-bar">\n <span class="btn-group pull-left">\n <button type="button" class="btn btn-sm btn-info uib-datepicker-current" ng-click="select(\'today\', $event)" ng-disabled="isDisabled(\'today\')">{{ getText(\'current\') }}</button>\n <button type="button" class="btn btn-sm btn-danger uib-clear" ng-click="select(null, $event)">{{ getText(\'clear\') }}</button>\n </span>\n <button type="button" class="btn btn-sm btn-success pull-right uib-close" ng-click="close($event)">{{ getText(\'close\') }}</button>\n </li>\n</ul>\n')}]),angular.module("uib/template/modal/backdrop.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/modal/backdrop.html",'<div class="modal-backdrop"\n uib-modal-animation-class="fade"\n modal-in-class="in"\n ng-style="{\'z-index\': 1040 + (index && 1 || 0) + index*10}"\n></div>\n')}]),angular.module("uib/template/modal/window.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/modal/window.html","<div class=\"modal-dialog {{size ? 'modal-' + size : ''}}\"><div class=\"modal-content\" uib-modal-transclude></div></div>\n")}]),angular.module("uib/template/pager/pager.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/pager/pager.html",'<li ng-class="{disabled: noPrevious()||ngDisabled, previous: align}"><a href ng-click="selectPage(page - 1, $event)" ng-disabled="noPrevious()||ngDisabled" uib-tabindex-toggle>{{::getText(\'previous\')}}</a></li>\n<li ng-class="{disabled: noNext()||ngDisabled, next: align}"><a href ng-click="selectPage(page + 1, $event)" ng-disabled="noNext()||ngDisabled" uib-tabindex-toggle>{{::getText(\'next\')}}</a></li>\n')}]),angular.module("uib/template/pagination/pagination.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/pagination/pagination.html",'<li role="menuitem" ng-if="::boundaryLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-first"><a href ng-click="selectPage(1, $event)" ng-disabled="noPrevious()||ngDisabled" uib-tabindex-toggle>{{::getText(\'first\')}}</a></li>\n<li role="menuitem" ng-if="::directionLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-prev"><a href ng-click="selectPage(page - 1, $event)" ng-disabled="noPrevious()||ngDisabled" uib-tabindex-toggle>{{::getText(\'previous\')}}</a></li>\n<li role="menuitem" ng-repeat="page in pages track by $index" ng-class="{active: page.active,disabled: ngDisabled&&!page.active}" class="pagination-page"><a href ng-click="selectPage(page.number, $event)" ng-disabled="ngDisabled&&!page.active" uib-tabindex-toggle>{{page.text}}</a></li>\n<li role="menuitem" ng-if="::directionLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-next"><a href ng-click="selectPage(page + 1, $event)" ng-disabled="noNext()||ngDisabled" uib-tabindex-toggle>{{::getText(\'next\')}}</a></li>\n<li role="menuitem" ng-if="::boundaryLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-last"><a href ng-click="selectPage(totalPages, $event)" ng-disabled="noNext()||ngDisabled" uib-tabindex-toggle>{{::getText(\'last\')}}</a></li>\n')}]),angular.module("uib/template/tooltip/tooltip-html-popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/tooltip/tooltip-html-popup.html",'<div class="tooltip-arrow"></div>\n<div class="tooltip-inner" ng-bind-html="contentExp()"></div>\n')}]),angular.module("uib/template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/tooltip/tooltip-popup.html",'<div class="tooltip-arrow"></div>\n<div class="tooltip-inner" ng-bind="content"></div>\n')}]),angular.module("uib/template/tooltip/tooltip-template-popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/tooltip/tooltip-template-popup.html",'<div class="tooltip-arrow"></div>\n<div class="tooltip-inner"\n uib-tooltip-template-transclude="contentExp()"\n tooltip-template-transclude-scope="originScope()"></div>\n')}]),angular.module("uib/template/popover/popover-html.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/popover/popover-html.html",'<div class="arrow"></div>\n\n<div class="popover-inner">\n <h3 class="popover-title" ng-bind="uibTitle" ng-if="uibTitle"></h3>\n <div class="popover-content" ng-bind-html="contentExp()"></div>\n</div>\n')}]),angular.module("uib/template/popover/popover-template.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/popover/popover-template.html",'<div class="arrow"></div>\n\n<div class="popover-inner">\n <h3 class="popover-title" ng-bind="uibTitle" ng-if="uibTitle"></h3>\n <div class="popover-content"\n uib-tooltip-template-transclude="contentExp()"\n tooltip-template-transclude-scope="originScope()"></div>\n</div>\n')}]),angular.module("uib/template/popover/popover.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/popover/popover.html",'<div class="arrow"></div>\n\n<div class="popover-inner">\n <h3 class="popover-title" ng-bind="uibTitle" ng-if="uibTitle"></h3>\n <div class="popover-content" ng-bind="content"></div>\n</div>\n')}]),angular.module("uib/template/progressbar/bar.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/progressbar/bar.html",'<div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: (percent < 100 ? percent : 100) + \'%\'}" aria-valuetext="{{percent | number:0}}%" aria-labelledby="{{::title}}" ng-transclude></div>\n')}]),angular.module("uib/template/progressbar/progress.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/progressbar/progress.html",'<div class="progress" ng-transclude aria-labelledby="{{::title}}"></div>')}]),angular.module("uib/template/progressbar/progressbar.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/progressbar/progressbar.html",'<div class="progress">\n <div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: (percent < 100 ? percent : 100) + \'%\'}" aria-valuetext="{{percent | number:0}}%" aria-labelledby="{{::title}}" ng-transclude></div>\n</div>\n')}]),angular.module("uib/template/rating/rating.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/rating/rating.html",'<span ng-mouseleave="reset()" ng-keydown="onKeydown($event)" tabindex="0" role="slider" aria-valuemin="0" aria-valuemax="{{range.length}}" aria-valuenow="{{value}}" aria-valuetext="{{title}}">\n <span ng-repeat-start="r in range track by $index" class="sr-only">({{ $index < value ? \'*\' : \' \' }})</span>\n <i ng-repeat-end ng-mouseenter="enter($index + 1)" ng-click="rate($index + 1)" class="glyphicon" ng-class="$index < value && (r.stateOn || \'glyphicon-star\') || (r.stateOff || \'glyphicon-star-empty\')" ng-attr-title="{{r.title}}"></i>\n</span>\n')}]),angular.module("uib/template/tabs/tab.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/tabs/tab.html",'<li ng-class="[{active: active, disabled: disabled}, classes]" class="uib-tab nav-item">\n <a href ng-click="select($event)" class="nav-link" uib-tab-heading-transclude>{{heading}}</a>\n</li>\n')}]),angular.module("uib/template/tabs/tabset.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/tabs/tabset.html",'<div>\n <ul class="nav nav-{{tabset.type || \'tabs\'}}" ng-class="{\'nav-stacked\': vertical, \'nav-justified\': justified}" ng-transclude></ul>\n <div class="tab-content">\n <div class="tab-pane"\n ng-repeat="tab in tabset.tabs"\n ng-class="{active: tabset.active === tab.index}"\n uib-tab-content-transclude="tab">\n </div>\n </div>\n</div>\n')}]),angular.module("uib/template/timepicker/timepicker.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/timepicker/timepicker.html",'<table class="uib-timepicker">\n <tbody>\n <tr class="text-center" ng-show="::showSpinners">\n <td class="uib-increment hours"><a ng-click="incrementHours()" ng-class="{disabled: noIncrementHours()}" class="btn btn-link" ng-disabled="noIncrementHours()" tabindex="-1"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n <td> </td>\n <td class="uib-increment minutes"><a ng-click="incrementMinutes()" ng-class="{disabled: noIncrementMinutes()}" class="btn btn-link" ng-disabled="noIncrementMinutes()" tabindex="-1"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n <td ng-show="showSeconds"> </td>\n <td ng-show="showSeconds" class="uib-increment seconds"><a ng-click="incrementSeconds()" ng-class="{disabled: noIncrementSeconds()}" class="btn btn-link" ng-disabled="noIncrementSeconds()" tabindex="-1"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n <td ng-show="showMeridian"></td>\n </tr>\n <tr>\n <td class="form-group uib-time hours" ng-class="{\'has-error\': invalidHours}">\n <input type="text" placeholder="HH" ng-model="hours" ng-change="updateHours()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementHours()" ng-blur="blur()">\n </td>\n <td class="uib-separator">:</td>\n <td class="form-group uib-time minutes" ng-class="{\'has-error\': invalidMinutes}">\n <input type="text" placeholder="MM" ng-model="minutes" ng-change="updateMinutes()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementMinutes()" ng-blur="blur()">\n </td>\n <td ng-show="showSeconds" class="uib-separator">:</td>\n <td class="form-group uib-time seconds" ng-class="{\'has-error\': invalidSeconds}" ng-show="showSeconds">\n <input type="text" placeholder="SS" ng-model="seconds" ng-change="updateSeconds()" class="form-control text-center" ng-readonly="readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementSeconds()" ng-blur="blur()">\n </td>\n <td ng-show="showMeridian" class="uib-time am-pm"><button type="button" ng-class="{disabled: noToggleMeridian()}" class="btn btn-default text-center" ng-click="toggleMeridian()" ng-disabled="noToggleMeridian()" tabindex="{{::tabindex}}">{{meridian}}</button></td>\n </tr>\n <tr class="text-center" ng-show="::showSpinners">\n <td class="uib-decrement hours"><a ng-click="decrementHours()" ng-class="{disabled: noDecrementHours()}" class="btn btn-link" ng-disabled="noDecrementHours()" tabindex="-1"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n <td> </td>\n <td class="uib-decrement minutes"><a ng-click="decrementMinutes()" ng-class="{disabled: noDecrementMinutes()}" class="btn btn-link" ng-disabled="noDecrementMinutes()" tabindex="-1"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n <td ng-show="showSeconds"> </td>\n <td ng-show="showSeconds" class="uib-decrement seconds"><a ng-click="decrementSeconds()" ng-class="{disabled: noDecrementSeconds()}" class="btn btn-link" ng-disabled="noDecrementSeconds()" tabindex="-1"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n <td ng-show="showMeridian"></td>\n </tr>\n </tbody>\n</table>\n')}]),angular.module("uib/template/typeahead/typeahead-match.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/typeahead/typeahead-match.html",'<a href\n tabindex="-1"\n ng-bind-html="match.label | uibTypeaheadHighlight:query"\n ng-attr-title="{{match.label}}"></a>\n')}]),angular.module("uib/template/typeahead/typeahead-popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/typeahead/typeahead-popup.html",'<ul class="dropdown-menu" ng-show="isOpen() && !moveInProgress" ng-style="{top: position().top+\'px\', left: position().left+\'px\'}" role="listbox" aria-hidden="{{!isOpen()}}">\n <li class="uib-typeahead-match" ng-repeat="match in matches track by $index" ng-class="{active: isActive($index) }" ng-mouseenter="selectActive($index)" ng-click="selectMatch($index, $event)" role="option" id="{{::match.id}}">\n <div uib-typeahead-match index="$index" match="match" query="query" template-url="templateUrl"></div>\n </li>\n</ul>\n')}]),angular.module("ui.bootstrap.carousel").run(function(){!angular.$$csp().noInlineStyle&&!
1angular.$$uibCarouselCss&&angular.element(document).find("head").prepend('<style type="text/css">.ng-animate.item:not(.left):not(.right){-webkit-transition:0s ease-in-out left;transition:0s ease-in-out left}</style>'),angular.$$uibCarouselCss=!0}),angular.module("ui.bootstrap.datepicker").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibDatepickerCss&&angular.element(document).find("head").prepend('<style type="text/css">.uib-datepicker .uib-title{width:100%;}.uib-day button,.uib-month button,.uib-year button{min-width:100%;}.uib-left,.uib-right{width:100%}</style>'),angular.$$uibDatepickerCss=!0}),angular.module("ui.bootstrap.position").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibPositionCss&&angular.element(document).find("head").prepend('<style type="text/css">.uib-position-measure{display:block !important;visibility:hidden !important;position:absolute !important;top:-9999px !important;left:-9999px !important;}.uib-position-scrollbar-measure{position:absolute !important;top:-9999px !important;width:50px !important;height:50px !important;overflow:scroll !important;}.uib-position-body-scrollbar-measure{overflow:scroll !important;}</style>'),angular.$$uibPositionCss=!0}),angular.module("ui.bootstrap.datepickerPopup").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibDatepickerpopupCss&&angular.element(document).find("head").prepend('<style type="text/css">.uib-datepicker-popup.dropdown-menu{display:block;float:none;margin:0;}.uib-button-bar{padding:10px 9px 2px;}</style>'),angular.$$uibDatepickerpopupCss=!0}),angular.module("ui.bootstrap.tooltip").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibTooltipCss&&angular.element(document).find("head").prepend('<style type="text/css">[uib-tooltip-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-bottom > .tooltip-arrow,[uib-popover-popup].popover.top-left > .arrow,[uib-popover-popup].popover.top-right > .arrow,[uib-popover-popup].popover.bottom-left > .arrow,[uib-popover-popup].popover.bottom-right > .arrow,[uib-popover-popup].popover.left-top > .arrow,[uib-popover-popup].popover.left-bottom > .arrow,[uib-popover-popup].popover.right-top > .arrow,[uib-popover-popup].popover.right-bottom > .arrow,[uib-popover-html-popup].popover.top-left > .arrow,[uib-popover-html-popup].popover.top-right > .arrow,[uib-popover-html-popup].popover.bottom-left > .arrow,[uib-popover-html-popup].popover.bottom-right > .arrow,[uib-popover-html-popup].popover.left-top > .arrow,[uib-popover-html-popup].popover.left-bottom > .arrow,[uib-popover-html-popup].popover.right-top > .arrow,[uib-popover-html-popup].popover.right-bottom > .arrow,[uib-popover-template-popup].popover.top-left > .arrow,[uib-popover-template-popup].popover.top-right > .arrow,[uib-popover-template-popup].popover.bottom-left > .arrow,[uib-popover-template-popup].popover.bottom-right > .arrow,[uib-popover-template-popup].popover.left-top > .arrow,[uib-popover-template-popup].popover.left-bottom > .arrow,[uib-popover-template-popup].popover.right-top > .arrow,[uib-popover-template-popup].popover.right-bottom > .arrow{top:auto;bottom:auto;left:auto;right:auto;margin:0;}[uib-popover-popup].popover,[uib-popover-html-popup].popover,[uib-popover-template-popup].popover{display:block !important;}</style>'),angular.$$uibTooltipCss=!0}),angular.module("ui.bootstrap.timepicker").run(function(){!angular.$$csp().noInlineStyle&&!
1angular.$$uibTimepickerCss&&angular.element(document).find("head").prepend('<style type="text/css">.uib-time input{width:50px;}</style>'),angular.$$uibTimepickerCss=!0}),angular.module("ui.bootstrap.typeahead").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibTypeaheadCss&&angular.element(document).find("head").prepend('<style type="text/css">[uib-typeahead-popup].dropdown-menu{display:block;}</style>'),angular.$$uibTypeaheadCss=!0}),function(){var t,e,n,i,o,r,s,a,c,u,l,h,d,g,m,p,f,v,$,S,C,y,w,b,D,x,A,U,T,P,M,k,E,R,F,q,N,j,z,I,O,V,B,L,G,Z,H,W,_,K,Y,J,Q,X,tt,et,nt;tt||(tt={}),angular.module("asseco-common",["gettext","ngAnimate","ngMessages","toastr","ngFileSaver","angucomplete-alt","ngMask","ui.router","angularMoment","ngStorage","ab-base64"]),tt||(tt={}),t=function(){function t(t,e,n,i,o,r,s){this.changePasswordRequest=t,this.Utils=e,this.$log=n,this.toastr=i,this.UsersService=o,this.$uibModalInstance=r,this.gettextCatalog=s,this.formProcessing=!1,this.prepareRequest()}return t.$inject=["changePasswordRequest","Utils","$log","toastr","UsersService","$uibModalInstance","gettextCatalog"],t.prototype.submit=function(){var e=this;this.formChangePassword.$invalid||(this.formProcessing=!0,this.$log.debug("Change Password account: ",this.changePasswordRequest),this.UsersService.changeUserPassword(this.changePasswordRequest).then(function(){e.toastr.success(e.gettextCatalog.getString("HasÅo zostaÅo zmienione")),e.close()},function(t){e.handleChangePasswordFailed(t),e.formProcessing=!1}))},t.prototype.close=function(){this.$uibModalInstance.close()},t.prototype.hasError=function(t){return this.Utils.hasInputError(this.formChangePassword,t)},t.prototype.prepareRequest=function(){if(!this.changePasswordRequest.username)throw new Error("UserName is undefined!")},t.prototype.handleChangePasswordFailed=function(t){switch(t||this.toastr.error(this.gettextCatalog.getString("Serwer nie odpowiada")),t.data.errorCode){case 5:this.toastr.warning(this.gettextCatalog.getString("NieprawidÅowe hasÅo"));break;case 8:this.toastr.warning(this.gettextCatalog.getString("HasÅo nie może zostaÄ zmienione"));break;case 9:this.toastr.warning(this.gettextCatalog.getString("HasÅo zostaÅo powtórzone"));break;case"PASSWORD_VULNERABLE_ERROR":this.toastr.warning(this.gettextCatalog.getString("Wymagana zmiana hasÅa ponieważ jest podatne na ataki"));break;default:this.$log.debug("Error: ",t),401===t.status?this.toastr.error(this.gettextCatalog.getString("Aktualne hasÅo jest niepoprawne")):this.toastr.error(this.gettextCatalog.getString("WystÄ
piÅ nieoczekiwany bÅÄ
d"))}},t}(),angular.module("asseco-common").controller("ChangePasswordController",t),tt||(tt={}),e=function(){function t(t,e,n,i,o){var r=this;this.Utils=t,this.$log=e,this.UsersService=n,this.toastr=i,this.gettextCatalog=o,this.random=Math.floor(9999*Math.random())+1,this.$onInit=function(){r.$log.debug("Init PasswordComponentController")},this.hasError=function(t){return r.Utils.hasInputError(r.form,t)},this.passwordPolicy=null,this.getPasswordPolicy()}return t.$inject=["Utils","$log","UsersService","toastr","gettextCatalog"],t.prototype.getPasswordPolicy=function(){var e=this;this.UsersService.getPasswordPolicy().then(function(t){e.passwordPolicy=t},function(){e.toastr.error(e.gettextCatalog.getString("Serwer nie odpowiada"))})},t}(),angular.module("asseco-common").component("passwordComponent",{bindings:{password:"=",confirmPassword:"=",form:"<"},templateUrl:"changepassword/password.component.html",controller:e,controllerAs:"vm"}),tt||(tt={}),n=function(){function t(t,e,n,i,o){var r=this;this.Utils=t,this.DictionariesService=e,this.toastr=n,this.gettextCatalog=i,this.$log=o,this.$onInit=function(){r.initComplete=!0,r.maskPostalCode=!1,r.streets=[],r.localities=[],r.id=r.randomId,r.id||(r.id=Math.floor(1e5*Math.random()+1).toString()),r.DictionariesService.getCountries().then(function(t){r.countries=t},r.serverNotRespondingError)},this.$onChanges=function(t){t.address&&r.setValueCommune()},this.setValueCommune=function(){r.address&&r.address.territorialCode&&r.getTerritData()},this.setCountryCode=function(){"PL"!==r.address.countryCode?r.address.territorialCode=null:r.territName=""},this.inputCommuneChanged=function(t){r.territName=t,r.getCommunesData()}
1,this.inputCityChanged=function(t){r.address.city=t,r.address.cityCode=null,r.getLocalitiesData()},this.inputStreetChanged=function(t){r.address.street=t,r.address.streetCode=null,r.getStreetsData(null!=r.address.cityCode)},this.selectLocality=function(t){t&&(r.address.city=t.title,r.address.cityCode=t.originalObject?t.originalObject.code:null,r.getStreetsData(!0))},this.selectStreet=function(t){if(t){if(t.originalObject){var e=t.originalObject;r.address.street=(e.type&&"ul."!==e.type?e.type+" ":"")+(e.namePrefix?e.namePrefix+" ":"")+e.name}else r.address.street=t.title;r.address.streetCode=t.originalObject?t.originalObject.code:null,r.address.cityCode&&r.address.streetCode&&(r.address.streetCode=r.address.cityCode+r.address.streetCode)}},this.selectTerrit=function(t){t&&(r.address.territorialCode=t.originalObject.code,r.address.postalCity=t.originalObject.name,r.getLocalitiesData(),r.getStreetsData(!1))},this.hasError=function(t){return!!r.initComplete&&r.Utils.hasInputError(r.form,t)},this.isDifferent=function(t){return!(!r.address||!r.addressToCompare||angular.equals(r.address[t],r.addressToCompare[t]))},this.getTerritData=function(){r.DictionariesService.getTerrit(r.address.territorialCode).then(function(t){r.territName=t.name+" "+t.type},r.serverNotRespondingError)},this.getCommunesData=function(){r.DictionariesService.getCommunes(r.territName).then(function(t){r.communes=t},r.serverNotRespondingError)},this.getLocalitiesData=function(){r.DictionariesService.getLocalities(r.address.territorialCode).then(function(t){r.localities=t},r.serverNotRespondingError)},this.getStreetsData=function(t){r.DictionariesService.getStreets(r.address.territorialCode,r.address.cityCode,t).then(function(t){r.streets=t},r.serverNotRespondingError)},this.serverNotRespondingError=function(){r.toastr.error(r.gettextCatalog.getString("Serwer nie odpowiada"))}}return t.$inject=["Utils","DictionariesService","toastr","gettextCatalog","$log"],t}(),angular.module("asseco-common").component("addressComponent",{bindings:{address:"<",addressToCompare:"<",form:"<",region:"<",randomId:"<",showCountry:"<"},templateUrl:"components/address.component.html",controller:n,controllerAs:"vm"}),(o=i||(i={})).registration||(o.registration={}),r=function(){function t(t,e,n,i,o){var r=this;this.$uibModalInstance=t,this.$log=e,this.gettextCatalog=n,this.toastr=i,this.AttachmentsService=o,this.$onInit=function(){r.$log.debug("RegistrationAttachmentsComponent init"),r.AttachmentsService.files=[]}}return t.$inject=["$uibModalInstance","$log","gettextCatalog","toastr","AttachmentsService"],t.prototype.close=function(t){this.$uibModalInstance.close(t)},t.prototype.submit=function(){var e=this;this.AttachmentsService.getAttachments().then(function(t){0===t.length&&e.toastr.warning(e.gettextCatalog.getString("Nie dodano zaÅÄ
cznika")),e.close(t)})},t}(),angular.module("asseco-common").controller("AttachmentsController",r),tt||(tt={}),s=function(){var t=this;this.$onInit=function(){t.height=t.height?t.height:20,t.width=t.width?t.width:20}},angular.module("asseco-common").controller("NvdaReaderController",s).directive("nameReader",function(){return{link:function(t,e,n,i){return n.nameToRead},restrict:"A"}}).component("mpiNvdaReader",{bindings:{nameToRead:"<",height:"<",width:"<"},template:'<img src="assets/empty.png" class="nvda-read-icon-img"\n height="{{vm.height}}" width="{{vm.width}}" alt="{{vm.nameToRead | translate}}">',controller:s,controllerAs:"vm"}),tt||(tt={}),a=function(){function t(t,e,n,i,o,r,s,a){var c=this;this.Utils=t,this.$log=e,this.DictionariesService=n,this.toastr=i,this.$uibModal=o,this.gettextCatalog=r,this.AppSettingsService=s,this.FilesUtils=a,this.attachmentsVisible=!1,this.attachments=[],this.newDate=!1,this.$onInit=function(){c.maxBirthDate=new Date,c.formProcessing=!1,c.DictionariesService.getCountries().then(function(t){c.countries=t},c.serverNotRespondingError),c.DictionariesService.getInsurers().then(function(t){c.insurers=t},c.serverNotRespondingError),c.getFileUploadParams()},this.$onChanges=function(t){t.patient&&c.setForeigner()},this.hasError=function(t){return c.Utils.hasInputError(c.formPatient,t)},this.isDifferent=function(t){return!(!c.patient||!c.patientToCompare||angular.equals(c.patient[t],c.patientToCompare[t]))}
1,this.submit=function(){if(!c.formPatient.$invalid){if(c.formProcessing=!0,c.foreigner)c.patient.birthDate=c.Utils.date2String(c.selectedBirthDate);else if("PL"===c.region){c.patient.identity.countryCode="PL";var t=c.patient.identity.nationalIdentificationNumber;c.patient.birthDate=c.Utils.getBirthDateFromIdNumber(t),c.patient.gender=c.Utils.getGenderFromIdNumber(t)}else c.patient.identity.countryCode=c.region,c.patient.birthDate=c.Utils.date2String(c.selectedBirthDate);c.attachmentsVisible&&(c.patient.attachments=c.attachments),c.$log.debug("Submit Patient component - this.patient: ",c.patient);var e={$event:c.patient};c.onUpdatePatient(e)}},this.delete=function(){var t={$event:{id:c.patient.id}};c.onDeletePatient(t)},this.addNewAttachment=function(){c.$uibModal.open({templateUrl:"registration/registrationattachments.component.html",controller:"RegistrationAttachmentsController",controllerAs:"vm",backdrop:"static",resolve:{fileUploadParams:function(){return c.FilesUtils.getFileUploadParams(c.fileUploadParams,c.attachments.length)}}}).result.then(c.attachmentResult)},this.getAttachment=function(t){if(c.onAttachmentDownload)c.onAttachmentDownload({$event:t});else{var e=document.createElement("a"),n=new Blob([t.content],{type:t.type});e.href=window.URL.createObjectURL(n),e.download=t.filename,e.click()}},this.deleteAttachment=function(t){c.attachments.splice(c.attachments.indexOf(t),1)},this.attachmentResult=function(t){var e;t&&0<t.length&&(e=c.attachments).push.apply(e,t)},this.setForeigner=function(){c.patient&&(c.patient.identity.countryCode!==c.region?(c.foreigner=!0,c.selectedBirthDate=new Date(c.patient.birthDate)):(c.foreigner=!1,"PL"===c.region?c.selectedBirthDate=null:c.selectedBirthDate=new Date(c.patient.birthDate),c.patient.address.countryCode=c.region),c.attachments=c.patient.attachments)},this.serverNotRespondingError=function(){c.toastr.error(c.gettextCatalog.getString("Serwer nie odpowiada"))},this.getFileUploadParams=function(){c.AppSettingsService.getFileUploadSettings().then(function(t){c.fileUploadParams=t})},this.patientNamesDisabled=!1}return t.$inject=["Utils","$log","DictionariesService","toastr","$uibModal","gettextCatalog","AppSettingsService","FilesUtils"],t.prototype.deleteToolTip=function(){var t=this.patient.patientRole;return"WARD"===t?"UsuÅ profil podopiecznego":"CHILD"===t?"UsuÅ profil dziecka":"UsuÅ profil pacjenta"},t}(),angular.module("asseco-common").component("patientComponent",{bindings:{patient:"<",patientToCompare:"<",onUpdatePatient:"&",onDeletePatient:"&",visibleSubmit:"<",formProcessing:"<",patientNamesDisabled:"<",attachmentsVisible:"<",onAttachmentDownload:"&",region:"<",newDate:"<"},templateUrl:"components/patient.component.html",controller:a,controllerAs:"vm"}),tt||(tt={}),c=function(){this.link=function(t,e,n,i){document.querySelectorAll(".md-datepicker-input").forEach(function(t){t&&(t.setAttribute("readonly","readonly"),t.setAttribute("disabled","true"))}),document.querySelectorAll(".md-datepicker-button").forEach(function(t){t&&(t.setAttribute("readonly","readonly"),t.setAttribute("disabled","true"))})}},angular.module("asseco-common").directive("readonlyDatepicker",function(){return new c}),tt||(tt={}),u=function(){this.link=function(t,e,n,i){var o=document.querySelector(".md-datepicker-input");o&&(o.setAttribute("readonly","readonly"),o.setAttribute("disabled","true"));var r=document.querySelector(".md-datepicker-button");r&&(r.setAttribute("readonly","readonly"),r.setAttribute("disabled","true"))}},angular.module("asseco-common").directive("readonlyDatepickerOnlyme",function(){return new u}),tt||(tt={}),l=function(){function t(t,e,n){var i=this;this.Utils=t,this.$log=e,this.$q=n,this.$onInit=function(){i.$log.debug("Init GpsCoordinatesComponentController"),i.isHttps=-1<document.location.protocol.indexOf("https"),i.id=Math.floor(1e5*Math.random()+1).toString()},this.hasError=function(t){return i.Utils.hasInputError(i.formGPS,t)}}return t.$inject=["Utils","$log","$q"],t.prototype.getCoordinates=function(){var e=this,t=navigator.geolocation;t&&this.getCurrentPosition(t).then(function(t){e.latitude=t.coords.latitude,e.longitude=t.coords.longitude,e.onGeoLocation()})},t.prototype.getCurrentPosition=function(t){var e=this.$q.defer();return t.getCurrentPosition(function(t){e.resolve(t)},function(t){e.reject(t)},{enableHighAccuracy:!0,timeout:5e3}),e.promise},t}(),angular.module("asseco-common").component("gpscoordinatesComponent",{bindings:{latitude:"=",longitude:"=",formGPS:"<",onGeoLocation:"&"},templateUrl:"gpscoordinates/gpscoordinates.component.html",controller:l,controllerAs:"vm"}),tt||(tt={}),h=function(){function t(t,e,n,i,o,r){this.Utils=t,this.$log=e,this.toastr=n,this.UsersService=i,this.$uibModalInstance=o,this.gettextCatalog=r}return t.$inject=["Utils","$log","toastr","UsersService","$uibModalInstance","gettextCatalog"],t.prototype.submit=function(){this.$log.debug("submit")},t.prototype.close=function(){this.$uibModalInstance.close()},t}(),angular.module("asseco-common").controller("GpsCoordinatesController",h),function(t){e.$inject=["$window","$q","$http","$log","ServicesData"];var r=function(){function t(t,e,n,i,o){var r=this;this.$window=t,this.$q=e,this.$http=n,this.$log=i,this.ServicesData=o,this.arrayBufferToBase64=function(t){var e,n,i="";n=(e=new Uint8Array(t)).byteLength;for(var o=0;o<n;o++)i+=String.fromCharCode(e[o]);return r.$window.btoa(i)},this.arrayBufferToBase64_1024bytes=function(t){var e,n,i="";
1n=1024<(e=new Uint8Array(t)).byteLength?1024:e.byteLength;for(var o=0;o<n;o++)i+=String.fromCharCode(e[o]);return r.$window.btoa(i)},this.files=[]}return t.prototype.getAttachments=function(){return this.getAttachmentsBase(this.files)},t.prototype.getMimeTypeForFile=function(t){var e=this;return this.getAttachmentsBase([t]).then(function(t){return null!=t&&0<t.length?e.getContentType(t[0]):e.$q.resolve(null)},function(t){return e.$q.reject(t)})},t.prototype.getContentType=function(t){var e=this;return this.$http.post(this.ServicesData.host+"/mpi/fileutils/contentType",t.contentShort).then(function(t){return t.data},function(t){return e.$q.reject(t)})},t.prototype.getAttachmentsBase=function(t){var o=this;if(0===t.length)return this.$q.when([]);var r=[];return t.forEach(function(e){var n=o.$q.defer(),i=new FileReader;i.onload=function(){var t={filename:e.name,content:o.arrayBufferToBase64(i.result),contentShort:o.arrayBufferToBase64(i.result)};[].push(t),n.resolve(t)},i.readAsArrayBuffer(e),r.push(n.promise)}),this.$q.all(r)},t}();function e(t,e,n,i,o){return new r(t,e,n,i,o)}angular.module("asseco-common").factory("AttachmentsService",e)}(tt||(tt={})),tt||(tt={}),angular.module("asseco-common").component("messagesGridComponent",{bindings:{isInbox:"<",isEditable:"<",withRecipientsList:"<",messages:"<",confirmMode:"<",onNewMessage:"&",onDeleteMessage:"&",onEditMessage:"&",onReadMessage:"&",onShowRecipients:"&",onReadConfirm:"&"},templateUrl:"messages/messagesgrid.component.html",controller:"MessagesGridComponentController",controllerAs:"vm"}),tt||(tt={}),d=function(){function t(t,e,n,i,o){var r=this;this.$log=t,this.toastr=e,this.gettextCatalog=n,this.MessagesService=i,this.FileSaver=o,this.confirmMode=!1,this.showNewMessage=function(t){var e={$event:{title:t.title,id:t.id}};r.onNewMessage(e)},this.deleteMessage=function(t){var e={$event:{id:t.id}};r.threadVisible=!1,r.onDeleteMessage(e)},this.editMessage=function(t){var e={$event:{title:t.title,id:t.id}};r.onEditMessage(e)},this.showRecipients=function(t){var e={$event:{title:t.title,id:t.id}};r.onShowRecipients(e)},this.confirmRead=function(t){var e={$event:{id:t.id}};r.onReadConfirm(e),r.threadVisible=!1},this.getThread=function(t){if(r.messageId=t.id,r.isInbox){var e={$event:{id:t.id}};r.onReadMessage(e)}r.threadVisible=!0,r.MessagesService.getThreadMessages(r.messageId).then(function(t){t.forEach(function(t){t.attachments&&t.attachments.forEach(function(t){t.type=r.getContentType(t)})}),r.threadMessage=t.map(r.createMessageThreadAccordion)},function(){r.toastr.error(r.gettextCatalog.getString("Serwer nie odpowiada"))})},this.downloadAttachment=function(t){var e=r.b64toBlob(t.content,t.type);r.FileSaver.saveAs(e,t.filename)},this.getContentType=function(t){var e,n=t.filename.split(".");return 0<n.length&&(e=n[n.length-1]),r.extensionToContentType(e)},this.click=function(t,e){"SPAN"===t.target.nodeName||"I"===t.target.nodeName?("I"===t.target.nodeName&&t.target.classList.contains("fa-users")?r.showRecipients(e):r.getThread(e),t.stopPropagation()):r.getThread(e)},this.decodeResult=function(t){return t&&0<t.indexOf("\n")?t.split("\n"):[t]},this.b64toBlob=function(t,e,n){e=e||"",n=n||512;for(var i=atob(t),o=[],r=0;r<i.length;r+=n){for(var s=i.slice(r,r+n),a=new Array(s.length),c=0;c<s.length;c++)a[c]=s.charCodeAt(c);var u=new Uint8Array(a);o.push(u)}return new Blob(o,{type:e})},this.extensionToContentType=function(t){switch(t){case"txt":return"text/plain";case"rtf":return"application/rtf";case"csv":return"text/csv";case"xml":return"text/xml";case"htm":case"html":return"text/html";case"pdf":return"application/pdf";case"bmp":return"image/bmp";case"gif":return"image/gif";case"jpg":case"jpeg":return"image/jpg";case"tif":case"tiff":return"image/tiff";case"png":return"image/png";case"doc":return"application/msword";case"docx":return"application/vnd.openxmlformats-officedocument.wordprocessingml.document";case"xls":return"application/vnd.ms-excel";case"xlsx":return"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";case"ppt":return"application/vnd.ms-powerpoint";case"pptx":return"application/vnd.openxmlformats-officedocument.presentationml.presentation";case"odp":return"application/vnd.oasis.opendocument.presentation";case"ods":return"application/vnd.oasis.opendocument.spreadsheet";case"odt":return"application/vnd.oasis.opendocument.text";case"mp3":case"mpeg":return"audio/mpeg";case"wma":return"audio/x-ms-wma";case"wav":return"audio/x-wav";case"mpeg":return"video/mpeg";case"mp4":return"video/mp4";case"mov":return"video/quicktime";case"wmv":return"video/x-ms-wmv";case"dcm":case"dicom":return"application/dicom";default:return"application/octet-stream"}},this.initializeMessagesController=function(){r.threadVisible=!1,r.messages&&(r.listMessages=r.messages.map(r.createMessageAccordion))},this.createMessageAccordion=function(t){return{message:t,open:!1}},this.createMessageThreadAccordion=function(t){return{message:t,open:t.id===r.messageId}}}return t.$inject=["$log","toastr","gettextCatalog","MessagesService","FileSaver"],t.prototype.$onChanges=function(t){t.messages&&this.initializeMessagesController()},t}(),angular.module("asseco-common").controller("MessagesGridComponentController",d),tt||(tt={}),angular.module("asseco-common").component("messagesSearchComponent",{bindings:{categories:"<",isCategory:"<",isSender:"<",
1isRecipient:"<",onSearch:"&"},templateUrl:"messages/messagessearch.component.html",controller:"MessagesSearchComponentController",controllerAs:"vm"}),tt||(tt={}),g=function(){function t(t,e){var n=this;this.$log=t,this.moment=e,this.$onInit=function(){n.$log.debug("MessagesSearchComponent init"),n.searchTitle=null,n.sender=null,n.recipient=null,n.category=null,n.maxDateFrom=new Date,n.maxDateTo=new Date,n.initDatesControllers()},this.openDateFrom=function(){n.inputDateFromStatus.opened=!0},this.openDateTo=function(){n.inputDateToStatus.opened=!0},this.search=function(){n.maxDateFrom=n.dateTo,n.minDateTo=n.dateFrom,n.maxDateTo=new Date,n.setValidation();var t={$event:{before:n.dateTo,after:n.dateFrom,title:n.searchTitle,sender:n.sender,recipient:n.recipient,category:n.category}};n.onSearch(t)},this.setValidation=function(){n.dateFromOptions.maxDate=null!==n.dateTo&&void 0!==n.dateTo?n.dateTo:new Date,n.dateToOptions.minDate=null!==n.dateFrom&&void 0!==n.dateFrom?n.dateFrom:n.moment().subtract(20,"year").toDate()},this.initDatesControllers=function(){n.inputDateFromStatus={opened:!1},n.inputDateToStatus={opened:!1},n.dateFromOptions={minDate:n.moment().subtract(20,"year").toDate(),maxDate:new Date,startingDay:1,showWeeks:!1,shortcutPropagation:!0},n.dateToOptions={minDate:n.moment().subtract(20,"year").toDate(),maxDate:n.maxDateTo,startingDay:1,showWeeks:!1,shortcutPropagation:!0}}}return t.$inject=["$log","moment"],t}(),angular.module("asseco-common").controller("MessagesSearchComponentController",g),tt||(tt={}),angular.module("asseco-common").component("uploadFileComponent",{templateUrl:"messages/uploadfile.component.html",controller:"UploadFileComponentController",controllerAs:"vm",bindings:{maxFiles:"<",maxFileSize:"<",fileTypes:"<"}}),m=tt||(tt={}),p=function(){function t(t,e,n,i,o,r){var s=this;this.$log=t,this.gettextCatalog=e,this.toastr=n,this.$scope=i,this.$timeout=o,this.AttachmentsService=r,this.$onInit=function(){s.$log.debug("Upload file"),s.AttachmentsService.files=[],void 0===s.maxFiles&&(s.maxFiles=10),void 0===s.maxFileSize&&(s.maxFileSize=5242880),void 0===s.fileTypes&&(s.fileTypes=""),s.maxFileSizeStr=m.filterFileSize(s.maxFileSize),s.$log.info("UploadFileComponentController init, maxFiles: "+s.maxFiles+", maxFileSize: "+s.maxFileSizeStr+", fileTypes: "+s.fileTypes)},this.onUploadAttachment=function(e){if(!(e.target.files.length<1||void 0===e.target.files[0])){if(s.AttachmentsService.files.length>=s.maxFiles)return s.toastr.error(""+s.gettextCatalog.getString("Przekroczono maksymalnÄ
liczbÄ zaÅÄ
czników do dodania"));if(e.target.files[0].size>s.maxFileSize)return s.toastr.error(e.target.files[0].name+" - "+s.gettextCatalog.getString("zaÅÄ
cznik jest za duży")+".\n Maksymalna wielkoÅÄ jednego zaÅÄ
cznika: "+s.maxFileSizeStr);if(0<e.target.files[0].type.length&&s.fileTypes&&-1===s.fileTypes.indexOf(e.target.files[0].type))return s.toastr.error(""+s.gettextCatalog.getString("Niedopuszczalny typ pliku"));s.AttachmentsService.getMimeTypeForFile(e.target.files[0]).then(function(t){if(t&&t.contentType){if(s.fileTypes&&-1===s.fileTypes.indexOf(t.contentType))return s.toastr.error(""+s.gettextCatalog.getString("ZawartoÅÄ pliku niezgodna z formatem"));s.AttachmentsService.files.push(e.target.files[0]),s.safeApply()}})}},this.onDeleteAttachment=function(t){var e=s.AttachmentsService.files.map(function(t){return t.name}).indexOf(t);s.AttachmentsService.files.splice(e,1)},this.safeApply=function(){s.$scope.$$phase||s.$scope.$root.$$phase?s.$timeout(s.safeApply,100):s.$scope.$apply()}}return t.$inject=["$log","gettextCatalog","toastr","$scope","$timeout","AttachmentsService"],t}(),angular.module("asseco-common").controller("UploadFileComponentController",p).directive("onLoadAttachment",function(){return{restrict:"A",link:function(t,e,n){var i=t.$eval(n.onLoadAttachment);e.bind("change",i)}}}),function(t){function e(t,e){e.has("APP_NAME")&&t.setKeyPrefix(e.get("APP_NAME")+"-")}e.$inject=["$sessionStorageProvider","$injector"],angular.module("asseco-common").config(e)}(tt||(tt={})),f=tt||(tt={}),v=function(){function t(t,e,n,i,o,r,s,a){var c=this;this.$http=t,this.$sessionStorage=e,this.$q=n,this.$log=i,this.$window=o,this.ServicesData=r,this.base64=s,this.userEndpoint=a,this.addObserver=function(t){c.observer.addObserver(t)},this.removeObserver=function(t){c.observer.removeObserver(t)},this.clearCredentials=function(){delete c.$sessionStorage.authdata}
1,this.userAccountChanged=function(){c.observer.notify(c.currentUser)},this.handleError=function(t){return c.$q.reject(t)},this.observer=new f.Observer}return t.prototype.setCredentials=function(t,e){this.authdata=this.base64.encode(t+":"+e),this.$sessionStorage.authdata=this.authdata},t.prototype.clearUserContext=function(){this.clearCredentials(),this.currentUser=void 0,this.userAccountChanged()},t.prototype.hasCredentials=function(){return!!this.authdata},t.prototype.login=function(t,e){var n=this;return this.logout(!1).then(function(){return n.setCredentials(t,e),n.getUser(t)},this.handleError)},t.prototype.loginWithToken=function(t){var e=this;return this.clearUserContext(),this.login("SSO_TOKEN",t).then(function(){return e.singleSignOn(t).then(function(t){return t})},this.handleError)},t.prototype.logout=function(t){var e=this;return void 0===t&&(t=!0),this.clearUserContext(),this.$http.post(this.ServicesData.host+"/logout",{}).then(function(){e.$log.debug("User logged out successfully."),t&&e.$window.location.reload(!0)},this.handleError)},t.prototype.restoreSession=function(){return this.getUser()},t.prototype.getUser=function(t){var e=this,n={method:"GET",url:""+this.ServicesData.host+this.userEndpoint};return this.hasCredentials()&&(n.headers={Authorization:"Basic "+this.authdata}),this.$http(n).then(function(t){return e.currentUser=t.data,e.userAccountChanged(),e.currentUser},function(t){return e.clearUserContext(),e.$q.reject(t)})},t.prototype.singleSignOn=function(t){var e={method:"GET",url:this.ServicesData.host+"/mpi/ssotoken/"+t,headers:{Authorization:"Basic "+this.base64.encode("SSO_TOKEN:"+t)}};return this.$http(e).then(function(t){return t.data},this.handleError)},t}(),$=function(){function t(){this.userEndpoint="/user"}return(t.prototype.$get=function(t,e,n,i,o,r,s){return new v(t,e,n,i,o,r,s,this.userEndpoint)}).$inject=["$http","$sessionStorage","$q","$log","$window","ServicesData","base64"],t}(),angular.module("asseco-common").provider("AuthenticationService",function(){return new $}),function(t){e.$inject=["$http","$q","$cacheFactory","Utils","ServicesData"];var r=function(){function t(t,e,n,i,o){this.$http=t,this.$q=e,this.$cacheFactory=n,this.Utils=i,this.ServicesData=o,this.convertCountry=function(t){return{code:t.alfa2Code,name:t.name}},this.cache=n("DictionariesService")}return t.prototype.getCountries=function(){var e=this;return this.$http.get(this.ServicesData.host+"/dict/api/countries",{cache:this.cache}).then(function(t){return e.Utils.setFirstCountryByLocale(t.data.map(e.convertCountry))},function(t){return e.$q.reject(t)})},t.prototype.getCommunes=function(t){var e=this;return this.$http.get(this.ServicesData.host+"/dict/api/teryt/communes",{params:{name:t}}).then(function(t){return t.data},function(t){return e.$q.reject(t)})},t.prototype.getTerrit=function(t){var e=this;return this.$http.get(this.ServicesData.host+"/dict/api/teryt/"+t,{cache:this.cache}).then(function(t){return t.data},function(t){return e.$q.reject(t)})},t.prototype.getLocalities=function(t){var e=this;return this.$http.get(this.ServicesData.host+"/dict/api/teryt/"+t+"/localities",{cache:this.cache}).then(function(t){return t.data},function(t){return e.$q.reject(t)})},t.prototype.getStreets=function(t,e,n){var i=this,o=n?"SIMC":"TERC",r=n?e:t;return this.$http.get(this.ServicesData.host+"/dict/api/teryt/"+r+"/streets",{params:{mode:o},cache:this.cache}).then(function(t){return t.data},function(t){return i.$q.reject(t)})},t.prototype.getDiseases=function(t){var e=this;return this.$http.get(this.ServicesData.host+"/dict/api/icd-10",{params:{code:t},cache:this.cache}).then(function(t){return t.data},function(t){return e.$q.reject(t)})},t.prototype.getInsurers=function(){var e=this;return this.$http.get(this.ServicesData.host+"/dict/api/insurers",{cache:this.cache}).then(function(t){var e=t.data;return e&&0<e.length&&e.filter(function(t){return"00"===t.code}).length<=0&&e.unshift({code:"00",name:"Å»aden z oddziaÅów"}),e},function(t){return e.$q.reject(t)})},t.prototype.getOrganizationUnitSpecialities=function(){var e=this;return this.$http.get(this.ServicesData.host+"/dict/api/spec-kom-kr8",{cache:this.cache}).then(function(t){return t.data},function(t){return e.$q.reject(t)})},t.prototype.getOrganizationUnitSpecialitiesByCode=function(t){var e=this;return this.$http.get(this.ServicesData.host+"/dict/api/spec-kom-kr8/by-code/"+t,{cache:this.cache}).then(function(t){return t.data},function(t){return e.$q.reject(t)})},t}();function e(t,e,n,i,o){return new r(t,e,n,i,o)}angular.module("asseco-common").factory("DictionariesService",e)}(tt||(tt={})),S=function(){var n=this;this.addObserver=function(t){n.observers.push(t)},this.removeObserver=function(t){var e=n.observers.indexOf(t);-1!==e&&n.observers.splice(e,1)}
1,this.notify=function(e){n.observers.forEach(function(t){t(e)})},this.observers=[]},(tt||(tt={})).Observer=S,angular.module("asseco-common").constant("Observer",S),function(t){e.$inject=["$http","$q","ServicesData"];var i=function(){function t(t,e,n){this.$http=t,this.$q=e,this.ServicesData=n}return t.prototype.getSystemSettings=function(){return this.systemSettings},t.prototype.getUserSettings=function(){return this.userSettings},t.prototype.getCookiesSettings=function(){return this.userCookiesSettings},t.prototype.getLinksSettings=function(){return this.userLinksSettings},t.prototype.systemInstallationSettings=function(){var e=this;return this.$http.get(this.ServicesData.host+"/mpi/accounts/system-installation",{cache:!0}).then(function(t){return e.systemSettings=t.data,e.systemSettings},function(t){return e.$q.reject(t)})},t.prototype.identificationSettings=function(){var e=this;return this.$http.get(this.ServicesData.host+"/mpi/accounts/identification-settings",{cache:!0}).then(function(t){return e.userSettings=t.data,e.userSettings},function(t){return e.$q.reject(t)})},t.prototype.linksSettings=function(){var e=this;return this.$http.get(this.ServicesData.host+"/mpi/accounts/links-settings",{cache:!0}).then(function(t){return e.userLinksSettings=t.data,e.userLinksSettings},function(t){return e.$q.reject(t)})},t.prototype.cookiesSettings=function(){var e=this;return this.$http.get(this.ServicesData.host+"/mpi/accounts/cookies-settings",{cache:!0}).then(function(t){return e.userCookiesSettings=t.data,e.userCookiesSettings},function(t){return e.$q.reject(t)})},t}();function e(t,e,n){return new i(t,e,n)}angular.module("asseco-common").factory("SettingsService",e)}(tt||(tt={})),function(t){e.$inject=["$http","$q","ServicesData"];var i=function(){function t(t,e,n){this.$http=t,this.$q=e,this.ServicesData=n}return t.prototype.getPasswordPolicy=function(){var e=this;return this.$http.get(this.ServicesData.host+"/mpi/accounts/password-policy",{cache:!0}).then(function(t){return t.data},function(t){return e.$q.reject(t)})},t.prototype.changeUserPassword=function(t){var e=this;return this.$http.post(this.ServicesData.host+"/mpi/accounts/user/password",t).then(function(){},function(t){return e.$q.reject(t)})},t.prototype.checkUsername=function(t){var e=this;return this.$http.head(this.ServicesData.host+"/mpi/accounts/user/"+t).then(function(){},function(t){return e.$q.reject(t)})},t}();function e(t,e,n){return new i(t,e,n)}angular.module("asseco-common").factory("UsersService",e)}(tt||(tt={})),function(t){function e(t){t.interceptors.push("SessionHttpInterceptor")}e.$inject=["$httpProvider"],angular.module("asseco-common").config(e)}(tt||(tt={})),function(t){n.$inject=["$rootScope"];var e=function(t){var e=this;this.$rootScope=t,this.request=function(t){return t.cached||0!==t.url.indexOf("http://")||e.resetTimer(),t},this.resetTimer=function(){e.$rootScope.$emit("resetTimerSession")}};function n(t){return new e(t)}angular.module("asseco-common").factory("SessionHttpInterceptor",n)}(tt||(tt={})),tt||(tt={}),C=function(){function t(t,e,n,i,o,r,s){var a=this;this.$state=t,this.$timeout=e,this.$log=n,this.AuthenticationService=i,this.toastr=o,this.gettextCatalog=r,this.$rootScope=s,this.$onInit=function(){a.$log.debug("SessionTimerComponent init"),a.startCounter(),a.registerHandlers()},this.resetCounterButton=function(){a.resetCounter(),a.AuthenticationService.restoreSession()},this.startCounter=function(){a.visibleClock=!1,a.myTimeout=a.$timeout(a.incrementCounter,9e5),a.counter=300},this.incrementCounter=function(){a.visibleClock=!0,0<a.counter?(a.counter--,a.clock(),a.myTimeout=a.$timeout(a.incrementCounter,1e3)):a.logout()},this.resetCounter=function(){a.$timeout.cancel(a.myTimeout),a.startCounter()},this.clock=function(){a.minutes(),a.seconds()},this.minutes=function(){a.minute=Math.floor(a.counter/60)},this.seconds=function(){a.second=a.counter-60*a.minute},this.registerHandlers=function(){a.$rootScope.$on("resetTimerSession",a.resetCounter)},this.logout=function(){a.onLogout(),a.AuthenticationService.logout().then(null,function(){a.toastr.error(a.gettextCatalog.getString("WystÄ
piÅ bÅÄ
d w trakcie wylogowania"))})}}return t.$inject=["$state","$timeout","$log","AuthenticationService","toastr","gettextCatalog","$rootScope"],t}(),angular.module("asseco-common").component("sessionTimer",{bindings:{onLogout:"&"},templateUrl:"session/sessiontimer.component.html",controller:C,controllerAs:"vm"}),tt||(tt={}),y=function(){function t(t,e,n,i,o,r,s){var a=this;this.$state=t,this.$timeout=e,this.$log=n,this.AuthenticationService=i,this.toastr=o,this.gettextCatalog=r,this.$rootScope=s,this.$onInit=function(){a.$log.debug("SessionTimerComponent init"),a.startCounter(),a.registerHandlers()},this.resetCounterButton=function(){a.resetCounter(),a.AuthenticationService.restoreSession()},this.startCounter=function(){a.visibleClock=!1,a.myTimeout=a.$timeout(a.incrementCounter,9e5),a.counter=300},this.incrementCounter=function(){a.visibleClock=!0,0<a.counter?(a.counter--,a.clock(),a.myTimeout=a.$timeout(a.incrementCounter,1e3)):a.logout()},this.resetCounter=function(){a.$timeout.cancel(a.myTimeout),a.startCounter()},this.clock=function(){a.minutes(),a.seconds()},this.minutes=function(){a.minute=Math.floor(a.counter/60)},this.seconds=function(){a.second=a.counter-60*a.minute},this.registerHandlers=function(){a.$rootScope.$on("resetTimerSession",a.resetCounter)},this.logout=function(){a.onLogout(),a.AuthenticationService.logout().then(null,function(){a.toastr.error(a.gettextCatalog.getString("WystÄ
piÅ bÅÄ
d w trakcie wylogowania"))}),a.$state.go("login")}}return t.$inject=["$state","$timeout","$log","AuthenticationService","toastr","gettextCatalog","$rootScope"],t}(),angular.module("asseco-common").controller("SessionTimerComponentController",y),function(t){function e(t){return t<1024?t+" Bytes":(t/=1024)<1024?t.toFixed(2)+" KB":(t/=1024)<1024?t.toFixed(2)+" MB":(t/=1024)<1024?t.toFixed(2)+" GB":(t/=1024).toFixed(2)+" TB"}angular.module("asseco-common").filter("fileSize",function(){return e}),t.filterFileSize=e}(tt||(tt={})),w=tt||(tt={}),A=/[^a-zA-Z\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff',";\-\s@]/,U=/[^a-zA-Z\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff0-9\-.\/\\\s@]/,T=/[^a-zA-Z\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff0-9\-.\/\\\s@]/,P=/[^a-zA-Z\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff0-9\s\-.@]/,M=/[^a-zA-Z\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff0-9\-.\s@]/,
1k=/[^a-zA-Z\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff0-9\-\/\\@]/,E=/[^a-zA-Z\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff0-9\-\/\\@]/,R=/[^a-zA-Z\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff0-9\-.\s@]/,F=/[^0-9\-]/,q=/[^a-zA-Z\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff0-9\-.\s@]/,N=/[^a-zA-Z\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff',";\-\s@]/,j=/[^0-9]/,I=z=x=D=b=/[^a-zA-Z\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff',\-\s@]/,O=/Ä
ÄÄÅÅóÅźżÄÄÄÅÅÃÅŻŹ/,w.forbiddenCharsBeginning=".,-;\"'",w.getRegex=function(t,e){var n;switch(e){case"pl":n=O;break;default:n=O}switch(t){case"firstName":return new RegExp(D.source.replace("@",n.source),"g");case"secondName":return new RegExp(x.source.replace("@",n.source),"g");case"lastName":return new RegExp(A.source.replace("@",n.source),"g");case"personalId":return new RegExp(U.source.replace("@",n.source),"g");case"documentNumber":return new RegExp(T.source.replace("@",n.source),"g");case"city":return new RegExp(P.source.replace("@",n.source),"g");case"street":return new RegExp(M.source.replace("@",n.source),"g");case"houseNumber":return new RegExp(k.source.replace("@",n.source),"g");case"apartmentNumber":return new RegExp(E.source,"g");case"resultEquation":return new RegExp(j.source,"g");case"postalCode":return new RegExp(R.source.replace("@",n.source),"g");case"postalCodePoland":return new RegExp(F.source,"g");case"post":return new RegExp(q.source.replace("@",n.source),"g");case"positionName":return new RegExp(N.source.replace("@",n.source),"g");case"contactScopeName":return new RegExp(z.source.replace("@",n.source),"g");case"baseName":return new RegExp(I.source.replace("@",n.source),"g");default:return new RegExp(b.source+n.source,"g")}},tt||(tt={}),V=function(){function t(t,e,n){this.$filter=t,this.moment=e,this.LANG=n,this.getDescendantProp=function(t,e){for(var n=e.split(".");n.length;)t=t[n.shift()];return t}}return t.$inject=["$filter","moment","LANG"],t.prototype.hasInputError=function(t,e){if(!t)return!1;var n=t[e];return!!n&&n.$invalid&&(t.$submitted||n.$touched)},t.prototype.hasInputSuccess=function(t,e){if(!t)return!1;var n=t[e];return!!n&&n.$valid&&(t.$submitted||n.$touched)},t.prototype.getBirthDateFromIdNumber=function(t){for(var e=[],n=0,i=t.split("");n<i.length;n++){var o=i[n];e.push(Number(o))}var r=1900+10*e[0]+e[1];2<=e[2]&&e[2]<8&&(r+=100*Math.floor(e[2]/2)),8<=e[2]&&(r-=100);var s=e[2]%2*10+e[3],a=10*e[4]+e[5];return this.date2String(new Date(r,s-1,a))},t.prototype.getGenderFromIdNumber=function(t){return Number(t.charAt(9))%2==0?"FEMALE":"MALE"},t.prototype.date2String=function(t){return this.$filter("date")(t,"yyyy-MM-dd")},t.prototype.string2Date=function(t){return this.moment(t).toDate()},t.prototype.setFirstCountryByLocale=function(t){var e=this.$filter("filter")(t,{code:this.LANG.toUpperCase()},!0);return e&&0<e.length&&t.unshift(angular.copy(e[0])),t},t.prototype.getElementByProperty=function(t,i,o){var r=this,e=t.filter(function(t,e,n){return r.getDescendantProp(t,i)===o});if(0!==e.length)return e[0]},t}(),angular.module("asseco-common").service("Utils",V),tt||(tt={}),B=function(){this.link=function(e,t,n,i){i.$validators.compareTo=function(t){return!(void 0!==t&&void 0!==e.otherModelValue&&void 0===e.isTheSame&&!e.isTheSame)||t===e.otherModelValue},i.$validators.theSame=function(t){return void 0===t||void 0===e.otherModelValue||void 0===e.isTheSame||!e.isTheSame||t!==e.otherModelValue},e.$watch("otherModelValue",function(){i.$validate()})},this.require="ngModel",this.scope={otherModelValue:"=compareTo",isTheSame:"=isTheSame"}},angular.module("asseco-common").directive("compareTo",function(){return new B}),tt||(tt={}),L=function(){var o=this;this.link=function(t,e,n,i){i.$validators.emailError=o.isValidEmail},this.isValidEmail=function(t){return void 0===t||!t||new RegExp(/^\S{1,64}@\S+\.\S{2,4}$/.source,"g").test(t)},this.require="ngModel"},angular.module("asseco-common").directive("emailVerifier",function(){return new L}),G=tt||(tt={}),Z=function(){this.link=function(t,e,n,i){var o=n.errorName?n.errorName:"nameInvalid",r=n.regexName?n.regexName:"firstName",s=n.countryCode?n.countryCode:"pl",a=G.getRegex(r,s);i.$validators.dashFirst=function(t){return!t||t.charAt&&-1===G.forbiddenCharsBeginning.indexOf(t.trim().charAt(0))},i.$error.hasOwnProperty("dashFirst")||(i.$validators.dashLast=function(t){return!t||t.slice&&"-"!==t.slice(-1)},i.$error.hasOwnProperty("dashLast")||(i.$validators[o]=function(t){if(!t)return!0;var e=String(t).match(a);return null===e||!e&&0===e.length}))},this.require="ngModel"},angular.module("asseco-common").directive("nameVerifier",function(){return new Z}),tt||(tt={}),H=function(){var r=this;
1this.link=function(t,e,n,i){i.$validators.npwz=r.isValidNpwz},this.isValidNpwz=function(t){if(void 0===t)return!0;if(7!==t.length)return!1;if(!t.match(/^[0-9]+$/))return!1;for(var e=[],n=0,i=t.split("");n<i.length;n++){var o=i[n];e.push(Number(o))}return!!r.doValidation(e)},this.doValidation=function(t){var e=1*t[1]+2*t[2]+3*t[3]+4*t[4]+5*t[5]+6*t[6];return!(0==(e%=11)||9<e)&&e===t[0]},this.require="ngModel"},angular.module("asseco-common").directive("npwz",function(){return new H}),tt||(tt={}),W=function(){var o=this;this.link=function(e,t,n,i){i.$validators.passPolicy=function(t){return void 0===t||!!e.passwordPolicy&&o.isPasswordValid(t,e.passwordPolicy)}},this.isPasswordValid=function(t,e){return!(!t||!e||t.length<e.minPasswordLength||!o.checkCondition(t,"\\d",e.numberOfDigits)||!o.checkCondition(t,"[A-Z]",e.numberOfCapitals)||!o.checkCondition(t,"[!\"@#$%^*&()_+=<>?']",e.numberOfSpecialCharacters))},this.checkCondition=function(t,e,n){var i=t.match(new RegExp(e,"g"));return i||(i=[]),i.length>=n},this.require="ngModel",this.scope={passwordPolicy:"=passPolicy"}},angular.module("asseco-common").directive("passPolicy",function(){return new W}),tt||(tt={}),K=function(t,e){var r=this;this.moment=t,this.Utils=e,this.link=function(e,t,n,i){var o=n.nameError?n.nameError:"otherPesel";i.$validators.pesel=function(t){return!t||r.isValidPesel(t)},i.$validators.minAge=function(t){return void 0===t||void 0===e.minAge||r.isValidMinAge(t,e.minAge)},i.$validators.maxAge=function(t){return void 0===t||void 0===e.maxAge||r.isValidMaxAge(t,e.maxAge)},i.$validators[o]=function(t){return void 0===t||void 0===e.otherPesel||t!==e.otherPesel}},this.isValidPesel=function(t){if(!t)return!0;if(11!==t.length)return!1;if(!t.match(/^[0-9]+$/))return!1;for(var e=[],n=0,i=t.split("");n<i.length;n++){var o=i[n];e.push(Number(o))}return!!r.isValidDate(e)&&!!r.isValidCheckSum(e)},this.isValidDate=function(t){var e=1900+10*t[0]+t[1];2<=t[2]&&t[2]<8&&(e+=100*Math.floor(t[2]/2)),8<=t[2]&&(e-=100);var n=t[2]%2*10+t[3],i=10*t[4]+t[5],o=new Date(e,n-1,i);return!(o.getFullYear()!==e&&o.getMonth()!==n-1&&o.getDate()!==i||new Date<o)},this.isValidCheckSum=function(t){return(t[0]+3*t[1]+7*t[2]+9*t[3]+t[4]+3*t[5]+7*t[6]+9*t[7]+t[8]+3*t[9]+t[10])%10==0},this.isValidMinAge=function(t,e){var n=r.moment().subtract(e,"year").toDate(),i=r.Utils.getBirthDateFromIdNumber(t);return!(n<r.moment(i).toDate())},this.isValidMaxAge=function(t,e){var n=r.moment().subtract(e,"year").toDate(),i=r.Utils.getBirthDateFromIdNumber(t);return!(r.moment(i).toDate()<n)},this.require="ngModel",this.scope={minAge:"=minAge",maxAge:"=maxAge",otherPesel:"=otherPesel"}},angular.module("asseco-common").directive("pesel",((_=function(t,e){return new K(t,e)}).$inject=["moment","Utils"],_)),tt||(tt={}),Y=[2,3,4,5,6,7],J=[8,9,2,3,4,5,6,7],Q=[2,4,8,5,0,9,7,3,6,1,2,4,8],X=function(){var r=this;this.link=function(t,e,n,i){i.$validators.regon=r.isValidRegon},this.isValidRegon=function(t){if(null==t)return!0;if(!t.match(/^[0-9]+$/))return!1;for(var e=[],n=0,i=t.split("");n<i.length;n++){var o=i[n];e.push(Number(o))}return!!r.isValidCheckSum(e)},this.isValidCheckSum=function(t){var e,n,i;if(e=i=0,n=t.length-1,9===t.length)for(e=0;e<n;e++)i+=J[e]*t[e];else if(7===t.length)for(e=0;e<n;e++)i+=Y[e]*t[e];else if(14===t.length)for(e=0;e<n;e++)i+=Q[e]*t[e];var o=i%11;return 10===o&&(o=0),o===t[n]},this.require="ngModel"},angular.module("asseco-common").directive("regon",function(){return new X}),tt||(tt={}),nt=function(t,e){var o=this;this.UsersService=t,this.$q=e,this.link=function(t,e,n,i){i.$asyncValidators.username=o.usernameValidator},this.usernameValidator=function(t){if(void 0===t||""===t)return o.$q.when();var e=o.$q.defer();return o.UsersService.checkUsername(t).then(function(){e.reject()},function(){e.resolve()}),e.promise},this.require="ngModel"},angular.module("asseco-common").directive("username",((et=function(t,e){return new nt(t,e)}).$inject=["UsersService","$q"],et))}(),function(a){try{a=angular.module("asseco-common")}catch(e){a=angular.module("asseco-common",[])}a.run(["$templateCache",function(e){e.put("changepassword/changepassword.html",'<div class="modal-content" role="heading" aria-level="1"> <div class="modal-header" role="heading" aria-level="2"> <button type="button" class="close" data-dismiss="modal" aria-label="Close" ng-click="vm.close()"> <span aria-hidden="true">×</span> </button> <h4 class="modal-title" translate>ZmieÅ hasÅo</h4> </div> \x3c!-- Modal Body --\x3e <div class="modal-body"> <form class="form-horizontal" name="vm.formChangePassword" ng-submit="vm.submit()" novalidate> \x3c!-- oldPassword --\x3e <div class="form-group" ng-class="{\'has-error\': vm.hasError(\'inputOldPassword\')}" role="heading" aria-level="3"> <label for="inputOldPassword" class="col-sm-3 control-label" translate>Aktualne hasÅo</label> <div class="col-sm-9"> <div ng-messages="vm.formChangePassword.inputOldPassword.$error" ng-if="vm.hasError(\'inputOldPassword\')"> <div ng-messages-include="partials/errors.html"></div> </div> <input type="password" class="form-control" id="inputOldPassword" name="inputOldPassword" ng-model="vm.changePasswordRequest.oldPassword" compare-to="vm.changePasswordRequest.newPassword" is-the-same="true" ng-model-options="{updateOn: \'blur\'}" required autocomplete="off"> </div> </div> <password-component password="vm.changePasswordRequest.newPassword" form="vm.formChangePassword" confirm-password="vm.changePasswordRequest.confirmPassword"></password-component> \x3c!-- Modal Footer --\x3e <div class="modal-footer" role="heading" aria-level="3"> <button type="submit" class="btn btn-primary" ng-disabled="vm.formProcessing" translate> Zapisz </button> </div> </form> </div> </div> ')}])}(),function(a){try{a=angular.module("asseco-common")}catch(e){a=angular.module("asseco-common",[])}a.run(["$templateCache",function(e){e.put("changepassword/password.component.html",'\x3c!-- password --\x3e <div class="form-group" ng-class="{\'has-error\': vm.hasError(\'inputPassword\')}" role="heading" aria-level="3"> <label for="inputPassword{{vm.random}}" class="col-sm-3 control-label" translate>HasÅo</label> <div class="col-sm-9"> <div ng-messages="vm.form.inputPassword.$error" ng-if="vm.hasError(\'inputPassword\')"> <div ng-messages-include="partials/errors.html"></div> </div> <div class="text-danger" ng-if="vm.hasError(\'inputPassword\')"> <span translate>HasÅo powinno posiadaÄ co najmniej</span>: <ul> <li><span translate>dÅugoÅÄ</span>: {{vm.passwordPolicy.minPasswordLength}}</li> <li><span translate>wielkie litery</span>: {{vm.passwordPolicy.numberOfCapitals}}</li> <li><span translate>cyfry</span>: {{vm.passwordPolicy.numberOfDigits}}</li> <li><span translate>znaki specjalne</span>: {{vm.passwordPolicy.numberOfSpecialCharacters}}</li> </ul> <span translate>HasÅo musi byÄ silne (niepodatne na ataki)</span> </div> <input type="password" class="form-control" id="inputPassword{{vm.random}}" name="inputPassword" ng-model="vm.password" pass-policy="vm.passwordPolicy" ng-model-options="{updateOn: \'blur\'}" required autocomplete="off"> </div> </div> \x3c!-- confirmPassword --\x3e <div class="form-group" ng-class="{\'has-error\': vm.hasError(\'inputConfirmPassword\')}" role="heading" aria-level="3"> <label for="inputConfirmPassword{{vm.random}}" class="col-sm-3 control-label" translate>Powtórz hasÅo</label> <div class="col-sm-9"> <div ng-messages="vm.form.inputConfirmPassword.$error" ng-if="vm.hasError(\'inputConfirmPassword\')"> <div ng-messages-include="partials/errors.html"></div> </div> <input type="password" class="form-control" id="inputConfirmPassword{{vm.random}}" name="inputConfirmPassword" ng-model="vm.confirmPassword" compare-to="vm.password" ng-model-options="{updateOn: \'blur\'}" required autocomplete="off"> </div> </div> ')}])}(),function(a){try{a=angular.module("asseco-common")}catch(e){a=angular.module("asseco-common",[])}
1a.run(["$templateCache",function(e){e.put("components/address.component.html",'\x3c!--inputCountry--\x3e <div class="form-group show-country-empty" ng-if="!vm.showCountry" role="heading" aria-level="3"></div> <div class="form-group" ng-if="vm.showCountry" role="heading" aria-level="3" ng-class="{\'has-error\': vm.hasError(\'inputAddCountryCode\')}"> <label for="inputAddCountryCode{{vm.id}}" class="col-sm-3 control-label" translate>Kraj</label> <div class="col-sm-9" role="heading" aria-level="4"> <div ng-messages="vm.form.inputAddCountryCode.$error" ng-if="vm.hasError(\'inputAddCountryCode\')"> <div ng-messages-include="partials/errors.html"></div> </div> <select type="text" class="form-control" id="inputAddCountryCode{{vm.id}}" name="inputAddCountryCode" ng-change="vm.setCountryCode()" ng-options="country.code as country.name for country in vm.countries" ng-model="vm.address.countryCode" required> </select> </div> </div> \x3c!--inputCounty--\x3e <div class="form-group" ng-if="vm.address.countryCode == \'KE\' || (vm.region == \'KE\' && !vm.address.countryCode)" ng-class="{\'has-error\': vm.hasError(\'inputCounty\'), \'has-warning\': vm.isDifferent(\'county\')}"> <label for="inputCounty{{vm.id}}" class="col-sm-3 control-label" translate>Hrabstwo</label> <div class="col-sm-9" role="heading" aria-level="4"> <div ng-messages="vm.form.inputCounty.$error" ng-if="vm.hasError(\'inputCounty\')"> <div ng-messages-include="partials/errors.html"></div> </div> <input type="text" class="form-control" id="inputCounty{{vm.id}}" name="inputCounty" ng-model="vm.address.county" maxlength="100" autocomplete="off"> </div> </div> \x3c!--inputWard--\x3e <div class="form-group" ng-if="vm.address.countryCode == \'KE\' || (vm.region == \'KE\' && !vm.address.countryCode)" ng-class="{\'has-error\': vm.hasError(\'inputWard\'), \'has-warning\': vm.isDifferent(\'ward\')}"> <label for="inputWard{{vm.id}}" class="col-sm-3 control-label" translate>OkrÄg</label> <div class="col-sm-9" role="heading" aria-level="4"> <div ng-messages="vm.form.inputWard.$error" ng-if="vm.hasError(\'inputWard\')"> <div ng-messages-include="partials/errors.html"></div> </div> <input type="text" class="form-control" id="inputWard{{vm.id}}" name="inputWard" ng-model="vm.address.ward" maxlength="100" autocomplete="off"> </div> </div> \x3c!--inputCommune--\x3e <div class="form-group" ng-if="vm.address.countryCode == \'PL\'" ng-class="{\'has-error\': vm.hasError(\'inputCommune\'), \'has-warning\': vm.isDifferent(\'territorialCode\')}"> <label for="inputCommune{{vm.id}}_value" class="col-sm-3 control-label" translate>Gmina</label> <div class="col-sm-9" role="heading" aria-level="4"> <div ng-messages="vm.form.inputCommune.$error" ng-if="vm.hasError(\'inputCommune\')"> <div ng-messages-include="partials/errors.html"></div> </div> <div angucomplete-alt id="inputCommune{{vm.id}}" input-name="inputCommune" pause="100" local-data="vm.communes" search-fields="name,type" title-field="name,type" minlength="2" input-class="form-control form-control-small" selected-object="vm.selectTerrit" input-changed="vm.inputCommuneChanged" initial-value="vm.territName" text-searching="Wyszukiwanie ..." text-no-results="Brak rezultatów" field-required="true" ng-model-options="{ updateOn: \'default\'}"> </div> </div> </div> \x3c!--inputCity--\x3e <div class="form-group" ng-if="vm.address.countryCode == \'PL\'" ng-class="{\'has-error\': vm.form.inputCity.$error.dashFirst || vm.form.inputCity.$error.dashLast ||\n vm.form.inputCity.$error.cityInvalid || vm.hasError(\'inputCity\'),\n \'has-warning\': vm.isDifferent(\'city\')}"> \x3c!-- || vm.hasError(\'inputCityAngucomplete\') --\x3e <label for="inputCityAngucomplete{{vm.id}}_value" class="col-sm-3 control-label" translate>MiejscowoÅÄ</label> <div class="col-sm-9" role="heading" aria-level="4"> \x3c!-- <div ng-messages="vm.form.inputCityAngucomplete.$error"\n ng-if="(vm.hasError(\'inputCityAngucomplete\')) &&\n !(vm.form.inputCity.$error.dashFirst || vm.form.inputCity.$error.dashLast ||\n vm.form.inputCity.$error.cityInvali
1d) || vm.hasError(\'inputCity\')">\n <div ng-messages-include="partials/errors.html"></div>\n </div> --\x3e <div ng-messages="vm.form.inputCity.$error" ng-if="vm.form.inputCity.$error.dashFirst || vm.form.inputCity.$error.dashLast ||\n vm.form.inputCity.$error.cityInvalid || vm.hasError(\'inputCity\')"> <div ng-messages-include="partials/errors.html"></div> </div> <div angucomplete-alt id="inputCityAngucomplete{{vm.id}}" maxlength="100" pause="100" local-data="vm.localities" name="inputCity" ng-model="vm.address.city" name-verifier error-name="cityInvalid" regex-name="city" search-fields="name" title-field="name" field-required="true" ng-required="true" input-class="form-control form-control-small" selected-object="vm.selectLocality" input-changed="vm.inputCityChanged" initial-value="vm.address.city" text-searching="Wyszukiwanie ..." text-no-results="false" ng-model-options="{ updateOn: \'default\'}"> </div> </div> </div> \x3c!--inputCity--\x3e <div class="form-group" ng-if="vm.address.countryCode != \'PL\'" ng-class="{\'has-error\': vm.hasError(\'inputCity\'), \'has-warning\': vm.isDifferent(\'city\')}"> <label for="inputCity{{vm.id}}" class="col-sm-3 control-label" translate>MiejscowoÅÄ</label> <div class="col-sm-9" role="heading" aria-level="4"> <div ng-messages="vm.form.inputCity.$error" ng-if="vm.hasError(\'inputCity\')"> <div ng-messages-include="partials/errors.html"></div> </div> <input type="text" class="form-control" id="inputCity{{vm.id}}" name="inputCity" name-verifier error-name="cityInvalid" regex-name="city" ng-model="vm.address.city" maxlength="100" required autocomplete="off"> </div> </div> \x3c!--inputStreetAngucomplete--\x3e <div class="form-group" ng-if="vm.address.countryCode == \'PL\'" ng-class="{\n \'has-error\': vm.form.inputStreet.$error.dashFirst || vm.form.inputStreet.$error.dashLast || vm.form.inputStreet.$error.streetInvalid,\n \'has-warning\': vm.isDifferent(\'street\')}"> <label for="inputStreetAngucomplete{{vm.id}}_value" class="col-sm-3 control-label" translate>Ulica</label> <div class="col-sm-9" role="heading" aria-level="4"> <div ng-messages="vm.form.inputStreet.$error" ng-if="vm.form.inputStreet.$error.dashFirst || vm.form.inputStreet.$error.dashLast ||\n vm.form.inputStreet.$error.streetInvalid"> <div ng-messages-include="partials/errors.html"></div> </div> <div angucomplete-alt id="inputStreetAngucomplete{{vm.id}}" maxlength="201" pause="201" local-data="vm.streets" name="inputStreet" ng-model="vm.address.street" name-verifier error-name="streetInvalid" regex-name="street" search-fields="type,namePrefix,name" title-field="type,namePrefix,name" minlength="1" input-class="form-control form-control-small" selected-object="vm.selectStreet" input-changed="vm.inputStreetChanged" initial-value="vm.address.street" text-searching="Wyszukiwanie ..." text-no-results="false" ng-model-options="{ updateOn: \'default\'}"> </div> </div> </div> \x3c!--inputStreet--\x3e <div class="form-group" ng-if="vm.address.countryCode != \'PL\'" ng-class="{\'has-error\': vm.hasError(\'inputStreet\'), \'has-warning\': vm.isDifferent(\'street\')}"> <label for="inputStreet{{vm.id}}" class="col-sm-3 control-label" translate>Ulica</label> <div class="col-sm-9" role="heading" aria-level="4"> <div ng-messages="vm.form.inputStreet.$error" ng-if="vm.hasError(\'inputStreet\')"> <div ng-messages-include="partials/errors.html"></div> </div> <input type="text" class="form-control" id="inputStreet{{vm.id}}" name="inputStreet" name-verifier error-name="streetInvalid" regex-name="street" ng-model="vm.address.street" maxlength="201" autocomplete="off"> </div> </div> \x3c!--inputEstate--\x3e <div class="form-group" ng-if="vm.address.countryCode == \'KE\' || (vm.region == \'KE\' && !vm.address.countryCode)" ng-class="{\'has-error\': vm.hasError(\'inputEstate\'), \'has-warning\': vm.isDifferent(\'estate\')}"> <label for="inputEstate{{vm.id}}" class="col-sm-3 control-label" translate>Osiedle</label> <div class="col-sm-9" role="heading" aria-level="4"> <div ng-messages="vm.form.inputEstate.$error" ng-if="vm.hasError(\'inputEstate\')"> <div ng-messages-include="partials/errors.html"></div> </div> <input type="text" class="form-control" id="inputEstate{{vm.id}}" name="inputEstate" ng-model="vm.address.estate" maxlength="100" autocomplete="off"> </div> </div> <div class="form-group"> \x3c!--houseNumber--\x3e <label for="houseNumber{{vm.id}}" class="col-sm-3 control-label" translate>Nr domu</label> <div class="col-sm-3" role="heading" aria-level="4" ng-class="{\'has-error\': vm.hasError(\'houseNumber\'), \'has-warning\': vm.isDifferent(\'houseNumber\')}"> <div ng-messages="vm.form.houseNumber.$error" ng-if="vm.hasError(\'houseNumber\')"> <div ng-messages-include="partials/errors.html"></div> </div>
1 <input type="text" class="form-control" id="houseNumber{{vm.id}}" name="houseNumber" name-verifier error-name="houseInvalid" regex-name="houseNumber" required ng-model="vm.address.houseNumber" maxlength="30"> </div> \x3c!--apartmentNumber--\x3e <label for="apartmentNumber{{vm.id}}" class="col-sm-3 control-label" translate> Nr mieszkania</label> <div class="col-sm-3" role="heading" aria-level="4" ng-class="{\'has-error\': vm.hasError(\'apartmentNumber\'), \'has-warning\': vm.isDifferent(\'apartmentNumber\')}"> <div ng-messages="vm.form.apartmentNumber.$error" ng-if="vm.hasError(\'apartmentNumber\')"> <div ng-messages-include="partials/errors.html"></div> </div> <input type="text" class="form-control" id="apartmentNumber{{vm.id}}" name="apartmentNumber" name-verifier error-name="apartmentInvalid" regex-name="apartmentNumber" ng-model="vm.address.apartmentNumber" maxlength="30" autocomplete="off"> </div> </div> \x3c!--plotNumber--\x3e <div class="form-group" ng-if="vm.address.countryCode == \'KE\' || (vm.region == \'KE\' && !vm.address.countryCode)" ng-class="{\'has-warning\': vm.isDifferent(\'plotNumber\')}"> <label for="plotNumber{{vm.id}}" class="col-sm-3 control-label" translate>Nr dziaÅki</label> <div class="col-sm-3" role="heading" aria-level="4"> <input type="text" class="form-control" id="plotNumber{{vm.id}}" name="plotNumber" ng-model="vm.address.plotNumber" maxlength="30" autocomplete="off"> </div> </div> \x3c!--postalCode--\x3e <div class="form-group"> <div ng-class="{\'has-error\': vm.hasError(\'postalCodePL\'), \'has-warning\': vm.isDifferent(\'postalCode\')}" ng-if="vm.address.countryCode == \'PL\'"> <label for="postalCodePL{{vm.id}}" class="col-sm-3 control-label" translate>Kod pocztowy</label> <div class="col-sm-3" role="heading" aria-level="4"> <div ng-messages="vm.form.postalCodePL.$error" ng-if="vm.hasError(\'postalCodePL\')"> <div ng-messages-include="partials/errors.html"></div> </div> <input type="text" class="form-control" id="postalCodePL{{vm.id}}" name="postalCodePL" name-verifier error-name="postalCodeInvalid" regex-name="postalCodePoland" ng-model="vm.address.postalCode" mask="99-999" mask-repeat="1" mask-restrict="reject" mask-validate="true" mask-limit="true" mask-clean="false" required autocomplete="off"> </div> </div> <div ng-class="{\'has-error\': vm.hasError(\'postalCode\'), \'has-warning\': vm.isDifferent(\'postalCode\')}" ng-if="vm.address.countryCode != \'PL\'"> <label for="postalCode{{vm.id}}" class="col-sm-3 control-label" translate>Kod pocztowy</label> <div class="col-sm-3" role="heading" aria-level="4"> <div ng-messages="vm.form.postalCode.$error" ng-if="vm.hasError(\'postalCode\')"> <div ng-messages-include="partials/errors.html"></div> </div> <input type="text" class="form-control" id="postalCode{{vm.id}}" name="postalCode" ng-model="vm.address.postalCode" name-verifier error-name="postalCodeInvalid" regex-name="postalCode" mask="9999999999" mask-repeat="1" mask-restrict="accept" mask-validate="false" mask-limit="true" mask-clean="false" required autocomplete="off"> </div> </div> \x3c!--inputPost--\x3e <div ng-class="{\'has-error\': vm.hasError(\'inputPost\'), \'has-warning\': vm.isDifferent(\'postalCity\')}"> <label for="inputPost{{vm.id}}" class="col-sm-3 control-label" translate>Poczta</label> <div class="col-sm-3" role="heading" aria-level="4"> <div ng-messages="vm.form.inputPost.$error" ng-if="vm.hasError(\'inputPost\')"> <div ng-messages-include="partials/errors.html"></div> </div> <input type="text" class="form-control" id="inputPost{{vm.id}}" name="inputPost" name-verifier error-name="postalCityInvalid" regex-name="post" ng-model="vm.address.postalCity" maxlength="100" ng-required="vm.address.countryCode == \'PL\'" autocomplete="off"> </div> </div> </div> \x3c!-- Gps coordinates --\x3e <hr ng-if="vm.address.countryCode == \'KE\' || (vm.region == \'KE\' && !vm.address.countryCode)"> <gpscoordinates-component formgps="vm.form" latitude="vm.address.gpsLatitude" longitude="vm.address.gpsLongitude" ng-if="vm.address.countryCode == \'KE\' || (vm.region == \'KE\' && !vm.address.countryCode)"> </gpscoordinates-component> ')}])}(),function(a){try{a=angular.module("asseco-common")}catch(e){a=angular.module("asseco-common",[])}
1a.run(["$templateCache",function(e){e.put("components/attachments.component.html",'<div class="modal-content"> <div class="modal-header" role="heading" aria-level="2"> <button type="button" class="close" data-dismiss="modal" aria-label="Close" ng-click="vm.close()"> <span aria-hidden="true">×</span> </button> <h4 class="modal-title" translate>Dodaj zaÅÄ
cznik</h4> </div> \x3c!-- Modal Body --\x3e <div class="modal-body" role="heading" aria-level="2"> <form class="form-horizontal" name="formBookingAttachment"> <upload-file-component></upload-file-component> </form> \x3c!-- Modal Footer --\x3e <div class="modal-footer"> <button ng-click="vm.submit()" class="btn btn-primary" ng-disabled="vm.formProcessing" translate> Zapisz </button> </div> </div> </div> ')}])}(),function(a){try{a=angular.module("asseco-common")}catch(e){a=angular.module("asseco-common",[])}a.run(["$templateCache",function(e){e.put("components/patient.component.html",'<form class="form-horizontal" name="vm.formPatient" ng-submit="vm.submit()" ng-model-options="{updateOn: \'blur\'}" novalidate> \x3c!-- name --\x3e <div role="heading" aria-level="2" class="form-group" ng-class="{\'has-error\': vm.hasError(\'inputName\'), \'has-warning\': vm.isDifferent(\'name\')}"> <label for="inputName{{vm.patient.id}}" class="col-sm-3 control-label" translate>ImiÄ</label> <div class="col-sm-9 has-feedback" role="heading" aria-level="3"> <div ng-messages="vm.formPatient.inputName.$error" ng-if="vm.hasError(\'inputName\')"> <div ng-messages-include="partials/errors.html"></div> </div> <input type="text" class="form-control" id="inputName{{vm.patient.id}}" name="inputName" name-verifier error-name="firstNameInvalid" ng-model="vm.patient.name" maxlength="30" ng-disabled="vm.patientNamesDisabled" required autocomplete="off"> <span class="form-control-feedback"> <i class="fa fa-exclamation-triangle" ng-if="vm.isDifferent(\'name\')"></i> </span> </div> </div> \x3c!-- middleName --\x3e <div role="heading" aria-level="2" class="form-group" ng-class="{\'has-error\': vm.hasError(\'inputMiddleName\'), \'has-warning\': vm.isDifferent(\'middleName\')}"> <label for="inputMiddleName{{vm.patient.id}}" class="col-sm-3 control-label" translate>Drugie imiÄ</label> <div class="col-sm-9 has-feedback" role="heading" aria-level="2"> <div ng-messages="vm.formPatient.inputMiddleName.$error" ng-if="vm.hasError(\'inputMiddleName\')"> <div ng-messages-include="partials/errors.html"></div> </div> <input type="text" class="form-control" id="inputMiddleName{{vm.patient.id}}" name="inputMiddleName" name-verifier error-name="secondNameInvalid" ng-model="vm.patient.middleName" maxlength="30" ng-disabled="vm.patientNamesDisabled" autocomplete="off"> <span class="form-control-feedback"> <i class="fa fa-exclamation-triangle" ng-if="vm.isDifferent(\'middleName\')"></i> </span> </div> </div> \x3c!-- lastName --\x3e <div role="heading" aria-level="2" class="form-group" ng-class="{\'has-error\': vm.hasError(\'inputLastName\'), \'has-warning\': vm.isDifferent(\'lastName\')}"> <label for="inputLastName{{vm.patient.id}}" class="col-sm-3 control-label" translate>Nazwisko</label> <div class="col-sm-9" role="heading" aria-level="3"> <div ng-messages="vm.formPatient.inputLastName.$error" ng-if="vm.hasError(\'inputLastName\')"> <div ng-messages-include="partials/errors.html"></div> </div> <input type="text" class="form-control" id="inputLastName{{vm.patient.id}}" name-verifier error-name="nameInvalid" regex-name="lastName" name="inputLastName" ng-model="vm.patient.lastName" maxlength="40" ng-disabled="vm.patientNamesDisabled" required autocomplete="off"> </div> </div> \x3c!-- nationalIdentificationNumber --\x3e <div class="form-group" role="heading" aria-level="2" ng-if="!vm.foreigner && vm.region === \'PL\'" ng-class="{\'has-error\': vm.hasError(\'inputNatIdNumber\'), \'has-warning\': vm.isDifferent(\'identity.nationalIdentificationNumber\')}"> <label for="inputNatIdNumber{{vm.patient.id}}" class="col-sm-3 control-label" translate>PESEL</label> <div class="col-sm-9" role="heading" aria-level="3"> <div ng-messages="vm.formPatient.inputNatIdNumber.$error" ng-if="vm.hasError(\'inputNatIdNumber\')"> <div ng-messages-include="partials/errors.html"></div> </div> <input type="text" class="form-control" id="inputNatIdNumber{{vm.patient.id}}" name="inputNatIdNumber" ng-model="vm.patient.identity.nationalIdentificationNumber" ng-disabled="vm.patient.identity.nationalIdentificationNumber" maxlength="11" required pesel autocomplete="off"> </div> </div> \x3c!--inputInsurerCode--\x3e <div class="form-group" role="heading" aria-level="2" ng-if="vm.region === \'PL\'" ng-class="{\'has-error\': vm.hasError(\'inputInsurerCode\'), \'has-warning\': vm.isDifferent(\'inputInsurerCode\')}"> <label for="inputInsurerCode{{vm.patient.id}}" class="col-sm-3 control-label" translate>Ubezpieczyciel</label> <div class="col-sm-9" role="heading" aria-level="3"> <div ng-messages="vm.form.inputInsurerCode.$error" ng-if="vm.hasError(\'inputInsurerCode\')"> <div ng-messages-include="partials/errors.html"></div> </div> <select type="text" class="form-control" id="inputInsurerCode{{vm.patient.id}}" name="inputInsurerCode" ng-options="insurer.code as insurer.name for insurer in vm.insurers" ng-model="vm.patient.insurerCode" autocomplete="off"> </select> </div> </div> \x3c!--inputCountry--\x3e <div class="form-group" role="heading" aria-level="2" ng-if="vm.foreigner" ng-class="{\'has-error\': vm.hasError(\'inputCountry\'), \'has-warning\': vm.isDifferent(\'identity.countryCode\')}"> <label for="inputCountry{{vm.patient.id}}" class="col-sm-3 control-label" translate> Kraj w którym wydano dokument</label> <div class="col-sm-9" role="heading" aria-level="3"> <div ng-messages="vm.formPatient.inputCountry.$error" ng-if="vm.hasError(\'inputCountry\')"> <div ng-messages-include="partials/errors.html"></div> </div> <select type="text" class="form-control" id="inputCountry{{vm.patient.id}}" name="inputCountry" ng-options="country.code as country.name for country in vm.countries" ng-model="vm.patient.identity.countryCode" ng-required="true" autocomplete="off"> </select> </div> </div> \x3c!--inputPersonalId--\x3e <div role="heading" aria-level="2" class="form-group" ng-if="vm.foreigner" ng-class="{\'has-error\': vm.hasError(\'inputPersonalId\'), \'has-warning\': vm.isDifferent(\'identity.nationalIdentificationNumber\')}"> <label for="inputPersonalId{{vm.patient.id}}" class="col-sm-3 control-label" translate>Nr ewidencyjny <span uib-tooltip="{{\'Nr ewidencyjny w kraju lub nadany nr PESEL\' | translate}}" tooltip-placement="right"> <i class="fa fa-info-circle"></i> </span> </label> <div class="col-sm-9" role="heading" aria-level="3"> <div ng-messages="vm.formPatient.inputPersonalId.$error" ng-if="vm.hasError(\'inputPersonalId\')"> <div ng-messages-include="partials/errors.html"></div> </div> <input type="text" class="form-control" id="inputPersonalId{{vm.patient.id}}" name="inputPersonalId" name-verifier error-name="personalIdInvali
1d" regex-name="personalId" ng-model="vm.patient.identity.nationalIdentificationNumber" maxlength="20" ng-required="!vm.patient.identity.documentNumber" autocomplete="off"> </div> </div> \x3c!--inputDocumentNumber--\x3e <div role="heading" aria-level="2" class="form-group" ng-if="vm.foreigner" ng-class="{\'has-error\': vm.hasError(\'inputDocumentNumber\'), \'has-warning\': vm.isDifferent(\'identity.documentNumber\')}"> <label for="inputDocumentNumber{{vm.patient.id}}" class="col-sm-3 control-label" translate> Nr dokumentu tożsamoÅci</label> <div class="col-sm-9" role="heading" aria-level="3"> <div ng-messages="vm.formPatient.inputDocumentNumber.$error" ng-if="vm.hasError(\'inputDocumentNumber\')"> <div ng-messages-include="partials/errors.html"></div> </div> <input type="text" class="form-control" id="inputDocumentNumber{{vm.patient.id}}" name="inputDocumentNumber" name-verifier error-name="documentInvalid" regex-name="documentNumber" ng-model="vm.patient.identity.documentNumber" autocomplete="off" maxlength="20" ng-required="!vm.patient.identity.nationalIdentificationNumber"> </div> </div> \x3c!--inputBirthDate--\x3e <div role="heading" aria-level="2" class="form-group" ng-if="vm.foreigner" ng-class="{\'has-error\': vm.hasError(\'inputBirthDate\'), \'has-warning\': vm.isDifferent(\'birthDate\')}"> <label for="inputBirthDate{{vm.patient.id}}" class="col-sm-3 control-label" translate>Data urodzenia</label> <div class="col-sm-9" role="heading" aria-level="3"> <div ng-messages="vm.formPatient.inputBirthDate.$error" ng-if="vm.hasError(\'inputBirthDate\')"> <div ng-messages-include="partials/errors.html"></div> </div> <div class="input-group" ng-if="vm.newDate"> <md-datepicker id="inputBirthDate{{vm.patient.id}}" ng-model="vm.selectedBirthDate" md-max-date="vm.maxBirthDate" md-placeholder="{{\'Wybierz datÄ\' | translate}}" name="inputBirthDate" input-aria-describedby="{{\'Kalendarz - data urodzenia\' | translate}}" input-aria-labelledby="{{\'Kalendarz - data urodzenia\' | translate}}" aria-label="{{\'Kalendarz - data urodzenia\' | translate}}" required readonly-datepicker-onlyme> </md-datepicker> </div> <div class="input-group" ng-if="!vm.newDate"> <input type="text" class="form-control" id="inputBirthDate{{vm.patient.id}}" name="inputBirthDate" uib-datepicker-popup="dd-MM-yyyy" max-date="vm.maxBirthDate" show-weeks="false" starting-day="1" show-button-bar="false" is-open="vm.inputBirthDateStatus.opened" ng-model="vm.selectedBirthDate" required readonly="readonly" aria-label="{{\'Data urodzenia\' | translate}}" autocomplete="off"> <span class="input-group-btn"> <button type="button" class="btn btn-default" ng-click="vm.inputBirthDateStatus.opened = true" aria-label="{{\'Data urodzenia\' | translate}}"> <label translate style="display:none;">Otwórz</label> <i class="fa fa-calendar"></i> </button> </span> </div> </div> </div> \x3c!--inputGender--\x3e <div role="heading" aria-level="2" class="form-group" ng-if="vm.foreigner" ng-class="{\'has-error\': vm.hasError(\'inputGender\'), \'has-warning\': vm.isDifferent(\'gender\')}"> <label for="inputGender{{vm.patient.id}}" class="col-sm-3 control-label" translate>PÅeÄ</label> <div class="col-sm-9" role="heading" aria-level="3"> <div ng-messages="vm.formPatient.inputGender.$error" ng-if="vm.hasError(\'inputGender\')"> <div ng-messages-include="partials/errors.html"></div> </div> <select class="form-control" id="inputGender{{vm.patient.id}}" name="inputGender" ng-model="vm.patient.gender" required autocomplete="off"> <option value="MALE" translate>MÄżczyzna</option> <option value="FEMALE" translate>Kobieta</option> </select> </div> </div> <hr> <address-component address="vm.patient.address" address-to-compare="vm.patientToCompare.address" form="vm.formPatient" region="vm.region"></address-component> <hr ng-if="vm.attachmentsVisible && vm.fileUploadParams.maxFiles !== 0"> <div ng-if="vm.attachmentsVisible && vm.fileUploadParams.maxFiles !== 0" role="heading" aria-level="2"> <div class="form-group" role="heading" aria-level="3"> <div class="col-xs-6"> <label class="control-label" translate>ZaÅÄ
czniki</label> </div> <div class="col-xs-6" style="text-align: end"> <button class="btn btn-default" type="button" ng-click="vm.addNe
1wAttachment()"> <i class="fa fa-paperclip"></i> <span translate>Dodaj zaÅÄ
cznik</span> </button> </div> </div> </div> <div role="heading" aria-level="2" ng-if="vm.attachmentsVisible && vm.attachments && vm.attachments.length > 0 && vm.fileUploadParams.maxFiles !== 0"> <div class="list-group" role="heading" aria-level="3"> <div class="list-group-item"> <p ng-repeat="attachment in vm.attachments"> <a href="" ng-click="vm.getAttachment(attachment)"> <i class="fa fa-file-o"></i> {{ ::attachment.filename }} </a> <i class="fa fa-times" ng-click="vm.deleteAttachment(attachment)"></i> </p> </div> </div> </div> <div ng-if="vm.visibleSubmit" role="heading" aria-level="2"> <hr> <div class="form-group"> <div class="col-sm-4 col-sm-offset-4"> <button type="submit" class="btn btn-primary btn-block" ng-disabled="vm.formProcessing" translate> Zapisz </button> </div> <div class="col-sm-1 col-sm-offset-3" ng-if="!!vm.patient && (vm.patient.patientRole === \'WARD\' || vm.patient.patientRole === \'CHILD\')"> <button type="button" class="btn btn-danger pull-right" ng-click="vm.delete(patientAccordionWard)" uib-tooltip="{{ vm.deleteToolTip() | translate}}" tooltip-placement="bottom"> <i class="fa fa-trash"></i> <label translate style="display:none;">Otwórz</label> </button> </div> </div> </div> </form> ')}])}(),function(a){try{a=angular.module("asseco-common")}catch(e){a=angular.module("asseco-common",[])}a.run(["$templateCache",function(e){e.put("messages/messagesgrid.component.html",'<div ng-hide="vm.threadVisible" role="heading" aria-level="2"> \x3c!-- INBOX --\x3e <table class="table table-hover table-messages" ng-if="vm.isInbox"> <tbody> <tr ng-repeat="resultItemInbox in vm.listMessages | orderBy:\'-message.creationDate\'" ng-click="vm.getThread(resultItemInbox.message)"> <td class="messages-first-row"> <span ng-class="{\'text-unread\': !resultItemInbox.message.readDate}"> {{ resultItemInbox.message.author}} </span> </td> <td class="messages-first-row"> <span ng-class="{\'text-unread\': !resultItemInbox.message.readDate}"> {{ ::resultItemInbox.message.title}} </span> </td> <td style="text-align: center" class="messages-first-row"> <span class="label label-primary" ng-if="!resultItemInbox.message.readDate"><span translate>Nieprzeczytana</span></span> </td> <td style="text-align: right" class="messages-first-row"> <span ng-class="{\'text-unread\': !resultItemInbox.message.readDate}">{{ ::resultItemInbox.message.creationDate | date: \'dd.MM.yyyy\' }}</span> </td> <td style="text-align: center" class="messages-first-row"> <div class="row" style="display: inline-flex; padding-left: 0.5em"> <span ng-if="resultItemOutbox.message.numberOfAttachments && resultItemOutbox.message.numberOfAttachments > 0"> <i class="fa fa-paperclip"></i> </span> </div> </td> </tr> </tbody> </table> \x3c!-- OUTBOX --\x3e <table class="table table-hover table-messages" ng-if="!vm.isInbox"> <tbody> <tr ng-repeat="resultItemOutbox in vm.listMessages | orderBy:\'-message.creationDate\'"> <td class="messages-first-row" ng-click="vm.getThread(resultItemOutbox.message)"> {{ ::resultItemOutbox.message.title}} </td> <td style="text-align: right" class="messages-first-row" ng-click="vm.getThread(resultItemOutbox.message)"> {{ ::resultItemOutbox.message.creationDate | date: \'dd.MM.yyyy\' }} </td> <td style="text-align: right" class="messages-first-row" ng-click="vm.click($event, resultItemOutbox.message)"> <div class="row" style="display: inline-flex; padding-left: 0.5em; padding-right: 0.5em;"> <span ng-if="resultItemOutbox.message.numberOfAttachments && resultItemOutbox.message.numberOfAttachments > 0"> <i class="fa fa-paperclip"></i> </span> <span style="padding-left: 0.5em" ng-click="vm.click($event, resultItemOutbox.message)" ng-if="resultItemOutbox.message.numberOfRecipients && resultItemOutbox.message.numberOfRecipients > 0"> <i class="fa fa-users" uib-tooltip="{{\'Odbiorcy\' | translate}}" tooltip-placement="left"></i> </span> </div> </td> </tr> </tbody> </table> </div> \x3c!-- messageThread --\x3e <div ng-show="vm.threadVisible" role="heading" aria-level="2"> <button class="btn btn-default btn-thread" ng-click="vm.threadVisible = false"> <i class="fa fa-arrow-left"></i> <span ng-if="vm.isInbox" translate>Powrót do odebranych</span> <span ng-if="!vm.isInbox" translate>Powrót do wysÅanych</span> </button> <table class="table table-messages"> <tbody ng-repeat="resultItemThread in vm.threadMessage | orderBy:\'-message.creationDate\'"> <tr class="thread-header" ng-click="resultItemThread.open = !resultItemThread.open"> <td> <span>{{ ::resultItemThread.message.author }}</span> </td> <td> <span>{{ ::resultItemThread.message.title }}</span> </td> <td style="text-align: center"> <i class="glyphicon glyphicon-paperclip" ng-if="resultItemThread.message.attachments.length"></i> </td> <td style="text-align: right"> <span>{{ ::resultItemThread.message.creationDate | date: \'dd.MM.yyyy\' }}</span> </td> </tr> <tr uib-collapse="!resultItemThread.open"> <td class="messages-first-row" colspan="4"> <p class="break-line" ng-repeat="rt in vm.decodeResult(resultItemThread.message.content) track by $index"> {{ rt }} </p> <br> <div class="col-sm-10"> <table class="table table-bordered"> <tr class="active" ng-repeat="resultItemAttachments in resultItemThread.message.attachments"> <td><a href="" ng-click="vm.downloadAttachment(resultItemAttachments)">{{ ::resultItemAttachments.filename }}</a> <img ng-if="resultItemAttachments.type == \'image/bmp\' || resultItemAttachments.type == \'image/jpg\' || resultItemAttachments.type == \'image/gif\' || resultItemAttachments.type == \'image/tiff\' || resultItemAttachments.type == \'image/png\'" ng-src="data:{{resultItemAttachments.type}};base64,{{resultItemAttachments.content}}" class="img-responsive"> </td> </tr> </table> </div> <p class="pull-right"> <button class="btn btn-success" ng-if="vm.withRecipientsList && resultItemThread.message.numberOfRecipients > 0" ng-click="vm.showRecipients(resultItemThread.message)"> <i class="fa fa-users"></i> <span translate>Odbiorcy</span> </button> <button class="btn btn-danger" ng-if="!vm.isInbox && vm.isEditable" ng-click="vm.deleteMessage(resultItemThread.message)"> <i class="fa fa-reply"></i> <span translate>UsuÅ</span> </button> <button class="btn btn-success" ng-if="!vm.isInbox && vm.isEditable" ng-click="vm.editMessage(resultItemThread.message)"> <i class="fa fa-reply"></i> <span translate>Edytuj</span> </button> <button class="btn btn-success" ng-click="vm.showNewMessage(resultItemThread.message)" ng-if="resultItemThread.message.isAnswerable"> <i class="fa fa-reply"></i> <span translate>Odpowiedz</span> </button> <button class="btn btn-success" ng-click="vm.confirmRead(resultItemThread.message)" ng-if="vm.confirmMode && vm.isInbox"> <i class="fa fa-reply"></i> <span translate>Potwierdź odczytanie</span> </button> </p> </td> </tr> </tbody> </table> </div> ')}])}(),function(a){try{a=angular.module("asseco-common")}catch(e){a=angular.module("asseco-common",[])}a.run(["$templateCache",function(e){e.put("messages/messagessearch.component.html",'<div class="panel panel-default"> <div class="panel-body"> <div class="form-group" role="heading" aria-level="2"> <label for="dateFrom" translate>Data od</label> <div class="form-group" uib-tooltip="{{\'Data od\' | translate}}" tooltip-placement="bottom"> <md-datepicker id="dateFrom" type="time" ng-model="vm.dateFrom" ng-change="vm.search()" md-min-date="vm.dateFromOptions.minDate" md-max-date="vm.dateFromOptions.maxDate" md-placeholder="{{\'Wybierz datÄ\' | translate}}
1" input-aria-describedby="{{\'Kalendarz - data od\' | translate}}" input-aria-labelledby="{{\'Kalendarz - data od\' | translate}}" aria-label="{{\'Kalendarz - data od\' | translate}}"> </md-datepicker> </div> </div> <div class="form-group" role="heading" aria-level="2"> <label for="dateTo" translate>Data do</label> <div uib-tooltip="{{\'Data do\' | translate}}" tooltip-placement="bottom"> <md-datepicker id="dateTo" ng-model="vm.dateTo" ng-change="vm.search()" md-min-date="vm.dateToOptions.minDate" md-max-date="vm.dateToOptions.maxDate" md-placeholder="{{\'Wybierz datÄ\' | translate}}" input-aria-describedby="{{\'Kalendarz - data do\' | translate}}" input-aria-labelledby="{{\'Kalendarz - data do\' | translate}}" aria-label="{{\'Kalendarz - data do\' | translate}}"> </md-datepicker> </div> </div> <div class="form-group" role="heading" aria-level="2" uib-tooltip="{{\'Wyszukaj\' | translate}}" tooltip-placement="bottom"> <label for="searchTitle" translate>Wyszukaj</label> <div class="input-group"> <input type="text" class="form-control" id="searchTitle" ng-change="vm.search()" ng-model="vm.searchTitle" placeholder="{{\'Wyszukaj\' | translate}}"> <span class="input-group-btn"> <button type="button" class="btn btn-default" ng-click="vm.search()"> <i class="glyphicon glyphicon-search"></i> <label translate style="display:none;">Szukaj</label> </button> </span> </div> </div> <div class="form-group" role="heading" aria-level="2" uib-tooltip="{{\'Nadawca\' | translate}}" ar ng-if="vm.isSender" tooltip-placement="bottom"> <label for="sender" translate>Nadawca</label> <div class="input-group"> <input type="text" class="form-control" id="sender" ng-change="vm.search()" ng-model="vm.sender" placeholder="{{\'Nadawca\' | translate}}"> <span class="input-group-btn"> <button type="button" class="btn btn-default" ng-click="vm.search()"> <i class="glyphicon glyphicon-search"></i> <label translate style="display:none;">Szukaj</label> </button> </span> </div> </div> <div class="form-group" role="heading" aria-level="2" uib-tooltip="{{\'Odbiorca\' | translate}}" ar ng-if="vm.isRecipient" tooltip-placement="bottom"> <label for="recipient" translate>Odbiorca</label> <div class="input-group"> <input type="text" class="form-control" id="recipient" ng-change="vm.search()" ng-model="vm.recipient" placeholder="{{\'Odbiorca\' | translate}}"> <span class="input-group-btn"> <button type="button" class="btn btn-default" ng-click="vm.search()"> <i class="glyphicon glyphicon-search"></i> <label translate style="display:none;">Szukaj</label> </button> </span> </div> </div> <div class="form-group" role="heading" aria-level="2" uib-tooltip="{{\'Kategoria\' | translate}}" ar ng-if="vm.isCategory" tooltip-placement="bottom"> <label for="category" translate>Kategoria</label> <div class="input-group"> <select class="form-control" uib-tooltip="{{\'Kategoria\' | translate}}" ar ng-if="vm.isCategory" tooltip-placement="bottom" id="category" name="category" ng-change="vm.search()" ng-model="vm.category"> <option value="" ng-selected="selected">{{\'Wszystkie kategorie\' | translate}}</option> <option ng-repeat="item in vm.categories" value="{{item.code}}">{{item.name}}</option> </select> </div> </div> </div> </div> ')}])}(),function(a){try{a=angular.module("asseco-common")}catch(e){a=angular.module("asseco-common",[])}a.run(["$templateCache",function(e){e.put("messages/uploadfile.component.html",'<div class="form-group" ng-class="{\'has-error\': vm.hasError(\'inputAttachment\')}" role="heading" aria-level="2"> <label for="inputAttachment" class="col-sm-2 control-label"><span translate>ZaÅÄ
cznik</span></label> <div class="col-sm-10"> <input type="file" class="form-control" on-load-attachment="vm.onUploadAttachment" id="inputAttachment" name="inputAttachment" accept="{{ vm.fileTypes }}"> </div> </div> <div class="row" role="heading" aria-level="2" ng-if="vm.AttachmentsService.files && vm.AttachmentsService.files.length > 0"> <div class="col-sm-8 col-sm-offset-2"> <table class="table table-bordered"> <tr class="active" ng-repeat="resultAttachments in vm.AttachmentsService.files"> <td>{{ resultAttachments.name }}</td> <td class="text-center col-xs-3">{{ resultAttachments.size | fileSize }}</td> <td class="text-center col-xs-1"><i class="fa fa-times" ng-click="vm.onDeleteAttachment(resultAttachments.name)"></i></td> </tr> </table> </div> </div> ')}])}(),function(a){try{a=angular.module("asseco-common")}catch(e){a=angular.module("asseco-common",[])}a.run(["$templateCache",function(e){e.put("gpscoordinates/gpscoordinates.component.html",'<div class="form-group" role="heading" aria-level="4"> <label for="btnGpsCoordinates" class="col-sm-3 control-label" translate>Koordynaty GPS</label> <div class="col-sm-3"> <button type="button" id="btnGpsCoordinates" name="btnGpsCoordinates" ng-if="vm.isHttps" class="btn btn-primary form-control" ng-click="vm.getCoordinates()" translate> Pobierz lokalizacje </button> </div> </div> <div class="form-group" ng-class="{\'has-error\': vm.hasError(\'inputLatitude\')}" role="heading" aria-level="4"> <label for="inputLatitude{{vm.id}}" class="col-sm-3 control-label" translate>SzerokoÅÄ geograficzna</label> <div class="col-sm-9"> <div ng-messages="vm.formGPS.inputLatitude.$error" ng-if="vm.hasError(\'inputLatitude\')"> <div ng-messages-include="partials/errors.html"></div> </div> <input type="number" class="form-control" id="inputLatitude{{vm.id}}" name="inputLatitude" ng-model="vm.latitude" ng-model-options="{updateOn: \'blur\'}" ng-required="vm.longitude" autocomplete="off"> </div> </div> <div class="form-group" ng-class="{\'has-error\': vm.hasError(\'inputLongitude\')}" role="heading" aria-level="4"> <label for="inputLongitude{{vm.id}}" class="col-sm-3 control-label" translate>DÅugoÅÄ geograficzna</label> <div class="col-sm-9"> <div ng-messages="vm.formGPS.inputLongitude.$error" ng-if="vm.hasError(\'inputLongitude\')"> <div ng-messages-include="partials/errors.html"></div> </div> <input type="number" class="form-control" id="inputLongitude{{vm.id}}" name="inputLongitude" ng-model="vm.longitude" ng-model-options="{updateOn: \'blur\'}" ng-required="vm.latitude" autocomplete="off"> </div> </div> ')}])}(),function(a){try{a=angular.module("asseco-common")}catch(e){a=angular.module("asseco-common",[])}a.run(["$templateCache",function(e){e.put("gpscoordinates/gpscoordinates.html",'<div class="modal-content"> <div class="modal-header" role="heading" aria-level="4"> <button type="button" class="close" data-dismiss="modal" aria-label="Close" ng-click="vm.close()"> <span aria-hidden="true">×</span> </button> <h4 class="modal-title" translate>Koordynaty GPS</h4> </div> \x3c!-- Modal Body --\x3e <div class="modal-body" role="heading" aria-level="4"> <form class="form-horizontal" name="vm.formGpsCoordinates" ng-submit="vm.submit()" novalidate> <gpscoordinates-component></gpscoordinates-component> \x3c!-- Modal Footer --\x3e <div class="modal-footer"> <button type="submit" class="btn btn-primary" ng-disabled="vm.formProcessing" translate> Zapisz </button> </div> </form> </div> </div> ')}])}(),function(a){try{a=angular.module("asseco-common")}catch(e){a=angular.module("asseco-common",[])}a.run(["$templateCache",function(e){e.put("modals/confirmdelete.html",'<div class="modal-content"> <div class="modal-header" role="heading" aria-level="2"> <button type="button" class="close" data-dismiss="modal" aria-label="Close" ng-click="vm.cancelDelete()"> <span aria-hidden="true">×</span> </button> <h4 class="modal-title">{{ ::vm.title }}</h4> </div> \x3c!-- Modal Body --\x3e <div class="modal-body" role="heading" aria-level="2"> <button type="button" ng-click="vm.confirmDelete()" class="btn btn-danger">
1<i class="fa fa-trash"></i> <span translate>Tak</span></button> <button type="button" ng-click="vm.cancelDelete()" class="btn btn-default"><span translate>Nie</span></button> </div> </div> ')}])}(),function(a){try{a=angular.module("asseco-common")}catch(e){a=angular.module("asseco-common",[])}a.run(["$templateCache",function(e){e.put("modals/confirmsubmit.html",'<div class="modal-content"> <div class="modal-header" role="heading" aria-level="2"> <button type="button" class="close" data-dismiss="modal" aria-label="Close" ng-click="vm.cancelSubmit()"> <span aria-hidden="true">×</span> </button> <h4 class="modal-title">{{ ::vm.title }}</h4> </div> \x3c!-- Modal Body --\x3e <div class="modal-body" role="heading" aria-level="2"> <button type="button" ng-click="vm.confirmSubmit()" class="btn btn-success"><i class="fa fa-check"></i> <span translate>Tak</span></button> <button type="button" ng-click="vm.cancelSubmit()" class="btn btn-default"><span translate>Nie</span></button> </div> </div> ')}])}(),function(a){try{a=angular.module("asseco-common")}catch(e){a=angular.module("asseco-common",[])}a.run(["$templateCache",function(e){e.put("modals/genericmodal.html",'<div class="modal-content"> <div class="modal-header" role="heading" aria-level="2"> <button type="button" class="close" data-dismiss="modal" aria-label="Close" ng-click="vm.close()"> <span aria-hidden="true">×</span> </button> <h4 class="modal-title">{{ ::vm.title }}</h4> </div> <div class="modal-body" role="heading" aria-level="2"> <div ng-if="vm.message != null">{{ vm.message }}</div> <div ng-repeat="checkbox in vm.checkboxModel" ng-if="vm.type == \'OK_OPTION\' || vm.type == \'YES_NO_OPTION\'"> <div class="checkbox">
1 <input type="checkbox" id="{{ \'modal-checkbox_\' + $index }}" class="styled" name="modalCheckbox" ng-model="checkbox.value"> <label for="{{ \'modal-checkbox_\' + $index }}"> <span translate>{{ checkbox.text }}</span> </label> </div> </div> </div> <div class="modal-body" ng-if="vm.type == \'OK\' || vm.type == \'OK_OPTION\'" role="heading" aria-level="2"> <button type="button" ng-click="vm.okAction()" ng-if="vm.okButtonText != null" class="btn btn-primary"><span translate>{{ ::vm.okButtonText }}</span></button> <button type="button" ng-click="vm.okAction()" ng-if="vm.okButtonText == null" class="btn btn-primary"><span translate>OK</span></button> </div> <div class="modal-footer" ng-if="vm.type != \'OK\' && vm.type != \'OK_OPTION\'" role="heading" aria-level="2"> <button type="button" ng-click="vm.yesAction()" class="btn btn-primary" ng-if="vm.type == \'YES_NO\' || vm.type == \'YES_NO_OPTION\'"><span translate>Tak</span></button> <button type="button" ng-click="vm.yesAction()" class="btn btn-danger" ng-if="vm.type == \'DELETE\'"><i class="fa fa-trash"></i> <span translate>Tak</span></button> <button type="button" ng-click="vm.yesAction()" class="btn btn-success" ng-if="vm.type == \'SUBMIT\'"><i class="fa fa-trash"></i> <span translate>Tak</span></button> <button type="button" ng-click="vm.noAction()" class="btn btn-default"><span translate>Nie</span></button> </div> </div> ')}])}(),function(a){try{a=angular.module("asseco-common")}catch(e){a=angular.module("asseco-common",[])}a.run(["$templateCache",function(e){e.put("partials/errors.html",'<span class="help-block" ng-message="required"> <span translate>To pole jest wymagane.</span> </span> <span class="help-block" ng-message="maxlength"> <span translate>Zbyt dÅuga wartoÅÄ pola.</span> </span> <span class="help-block" ng-message="minlength"> <span translate>Zbyt krótka wartoÅÄ pola.</span> </span> <span class="help-block" ng-message="email"> <span translate>NieprawidÅowy adres e-mail.</span> </span> <span class="help-block" ng-message="emailError"> <span translate>NieprawidÅowy adres e-mail.</span> </span> <span class="help-block" ng-message="pattern"> <span translate>NieprawidÅowy format.</span> </span> <span class="help-block" ng-message="compareTo"> <span translate>Pola nie sÄ
takie same.</span> </span> <span class="help-block" ng-message="theSame"> <span translate>Zmieniane hasÅo jest takie same jak aktualne hasÅo</span> </span> <span class="help-block" ng-message="pesel"> <span translate>NieprawidÅowy numer PESEL.</span> </span> <span class="help-block" ng-message="otherPesel"> <span translate>Oba numery pesel sÄ
identyczne.</span> </span> <span class="help-block" ng-message="consentPesel"> <span translate>Brak możliwoÅci wystawienia zgody na rejestrujÄ
cego zgodÄ.</span> </span> <span class="help-block" ng-message="minAge"> <span translate>Pacjent musi byÄ peÅnoletni.</span> </span> <span class="help-block" ng-message="maxAge"> <span translate>Pacjent nie może byÄ peÅnoletni.</span> </span> <span class="help-block" ng-message="regon"> <span translate>NieprawidÅowy numer Regon.</span> </span> <span class="help-block" ng-message="npwz"> <span translate>NieprawidÅowy kod NPWZ.</span> </span> <span class="help-block" ng-message="passPolicy"> <span translate>NiespeÅniona polityka haseÅ.</span> </span> <span class="help-block" ng-message="username"> <span translate>Nazwa użytkownika jest już zajÄta.</span> </span> <span class="help-block" ng-message="phoneTooShort"> <span translate>Numer telefonu jest za krótki.</span> </span> <span class="help-block" ng-message="phoneTooLong"> <span translate>Numer telefonu jest za dÅugi.</span> </span> <span class="help-block" ng-message="phoneInvalidCountryCode"> <span translate>NieprawidÅowy kod kraju w numerze telefonu.</span> </span> <span class="help-block" ng-message="phoneInvalidNumber"> <span translate>NieprawidÅowy numer telefonu.</span> </span> <span class="help-block" ng-message="notSelectedCountry"> <span translate>NieprawidÅowy kraj dla numeru telefonu.</span> </span> <span class="help-block" ng-message="selectedPremiumNumber"> <span translate>NieprawidÅowy numer telefonu. Nie ma możliwoÅci podania numeru premium.</span> </span> <span class="help-block" ng-message="ngIntlTelInput"> <span translate>NieprawidÅowy numer telefonu.</span> </span> <span class="help-block" ng-message="baseNameInvalid"> <span translate>Nazwa może zawieraÄ tylko litery, przecinek, ÅÄ
cznik, apostrof lub spacjÄ.</span> </span> <span class="help-block" ng-message="firstNameInvalid"> <span translate>ImiÄ może zawieraÄ tylko litery, przecinek, ÅÄ
cznik, apostrof lub spacjÄ.</span> </span> <span class="help-block" ng-message="secondNameInvalid"> <span translate>Drugie imiÄ może zawieraÄ tylko litery, przecinek, ÅÄ
cznik, apostrof lub spacjÄ.</span> </span> <span class="help-block" ng-message="nameInvalid"> <span translate>Nazwisko może zawieraÄ tylko litery, przecinek, apostrof, cudzysÅów, Årednik, spacjÄ oraz ÅÄ
cznik \'-\' oddzielajÄ
ce czÅony
1nazwiska.</span> </span> <span class="help-block" ng-message="cityInvalid"> <span translate>MiejscowoÅÄ może skÅadaÄ siÄ tylko z liter, cyfr, spacji, kropek i ÅÄ
czników.</span> </span> <span class="help-block" ng-message="postalCityInvalid"> <span translate>Poczta może skÅadaÄ siÄ tylko z liter, cyfr, spacji, kropek i ÅÄ
czników.</span> </span> <span class="help-block" ng-message="postalCodeInvalid"> <span translate>Kod pocztowy może skÅadaÄ siÄ z cyfr oraz ÅÄ
cznika \'-\' oddzielajÄ
cego dwa czÅony kodu.</span> </span> <span class="help-block" ng-message="streetInvalid"> <span translate>Ulica może skÅadaÄ siÄ tylko z liter, cyfr, spacji, kropek i ÅÄ
czników.</span> </span> <span class="help-block" ng-message="houseInvalid"> <span translate>Numer domu może skÅadaÄ siÄ tylko z liter, cyfr, ukoÅników i ÅÄ
czników.</span> </span> <span class="help-block" ng-message="apartmentInvalid"> <span translate>Numer mieszkania może zawieraÄ tylko cyfry.</span> </span> <span class="help-block" ng-message="positionInvalid"> <span translate>Stanowisko może zawieraÄ tylko litery, przecinek, apostrof, cudzysÅów, Årednik oraz ÅÄ
czniki \'-\' lub spacje oddzielajÄ
ce czÅony stanowiska.</span> </span> <span class="help-block" ng-message="contactScopeInvalid"> <span translate>Zakres kontaktów może zawieraÄ tylko litery, przecinek, apostrof, cudzysÅów, Årednik oraz ÅÄ
czniki \'-\' lub spacje oddzielajÄ
ce zakres kontaktów.</span> </span> <span class="help-block" ng-message="personalIdInvalid"> <span translate>Nr ewidencyjny może skÅadaÄ siÄ tylko z liter, cyfr, ukoÅników i ÅÄ
czników.</span> </span> <span class="help-block" ng-message="documentInvalid"> <span translate>Nr dokumentu tożsamoÅci może skÅadaÄ siÄ tylko z liter, cyfr, ukoÅników i ÅÄ
czników.</span> </span> <span class="help-block" ng-message="dashFirst"> <span translate>Przecinek, apostrof, cudzysÅów, Årednik oraz ÅÄ
cznik nie mogÄ
wystÄpowaÄ na poczÄ
tku.</span> </span> <span class="help-block" ng-message="dashLast"> <span translate>ÅÄ
cznik nie może wystÄpowaÄ na koÅcu.</span> </span> <span class="help-block" ng-message="autocomplete-required"> <span translate>To pole jest wymagane.</span> </span> <span class="help-block" ng-message="resultEquationInvalid"> <span translate>Wynik równania musi zawieraÄ tylko cyfry.</span> </span> ')}])}(),function(a){try{a=angular.module("asseco-common")}catch(e){a=angular.module("asseco-common",[])}a.run(["$templateCache",function(e){e.put("session/sessiontimer.component.html",'<div ng-if="vm.visibleClock"> <p class="text-center"> <span translate>Sesja wygaÅnie za</span> {{ vm.minute }}:{{ vm.second > 9 ? vm.second : \'0\' + vm.second }} </p> <p class="text-center"> <button type="submit" class="btn btn-success btn-sm" ng-click="vm.resetCounterButton()"> <i class="fa fa-clock-o"></i> <span translate>PrzedÅuż sesjÄ</span> </button> </p> </div> ')}])}(),function(){"use strict";angular.module("angular-loading-bar",["cfp.loadingBarInterceptor"]),angular.module("chieffancypants.loadingBar",["cfp.loadingBarInterceptor"]),angular.module("cfp.loadingBarInterceptor",["cfp.loadingBar"]).config(["$httpProvider",function($httpProvider){var interceptor=["$q","$cacheFactory","$timeout","$rootScope","$log","cfpLoadingBar",function($q,$cacheFactory,$timeout,$rootScope,$log,cfpLoadingBar){var startTimeout,reqsTotal=0,reqsCompleted=0,latencyThreshold=cfpLoadingBar.latencyThreshold;function setComplete(){$timeout.cancel(startTimeout),cfpLoadingBar.complete(),reqsTotal=reqsCompleted=0}function isCached(config){var cache,defaultCache=$cacheFactory.get("$http"),defaults=$httpProvider.defaults;!config.cache&&!defaults.cache||!1===config.cache||"GET"!==config.method&&"JSONP"!==config.method||(cache=angular.isObject(config.cache)?config.cache:angular.isObject(defaults.cache)?defaults.cache:defaultCache);var cached=void 0!==cache&&void 0!==cache.get(config.url);return void 0!==config.cached&&cached!==config.cached?config.cached:config.cached=cached}return{request:function(config){return config.ignoreLoadingBar||isCached(config)||($rootScope.$broadcast("cfpLoadingBar:loading",{url:config.url}),0===reqsTotal&&(startTimeout=$timeout(function(){cfpLoadingBar.start()},latencyThreshold)),reqsTotal++,cfpLoadingBar.set(reqsCompleted/reqsTotal)),config},response:function(response){return response&&response.config?response.config.ignoreLoadingBar||isCached(response.config)||(reqsCompleted++,$rootScope.$broadcast("cfpLoadingBar:loaded",{url:response.config.url,result:response}),reqsTotal<=reqsCompleted?setComplete():cfpLoadingBar.set(reqsCompleted/reqsTotal)):$log.error("Broken interceptor detected: Config object not supplied in response:\n https://github.com/chieffancypants/angular-loading-bar/pull/50"),response},responseError:function(rejection){return rejection&&rejection.config?rejection.config.ignoreLoadingBar||isCached(rejection.config)||(reqsCompleted++,$rootScope.$broadcast("cfpLoadingBar:loaded",{url:rejection.config.url,result:rejection}),reqsTotal<=reqsCompleted?setComplete():cfpLoadingBar.set(reqsCompleted/reqsTotal)):$log.error("Broken interceptor detected: Config object not supplied in rejection:\n https://github.com/chieffancypants/angular-loading-bar/pull/50"),$q.reject(rejection)}}}];$httpProvider.interceptors.push(interceptor)}]),angular.module("cfp.loadingBar",[]).provider("cfpLoadingBar",function(){this.autoIncrement=!0,this.includeSpinner=!0,this.includeBar=!0,this.latencyThreshold=100,this.startSize=.02,this.parentSelector="body",this.spinnerTemplate='<div id="loading-bar-spinner"><div class="spinner-icon"></div></div>',this.loadingBarTemplate='<div id="loading-bar"><div class="bar"><div class="peg"></div></div></div>',this.$get=["$injector","$document","$timeout","$rootScope",function($injector,$document,$timeout,$rootScope){var $animate,incTimeout,completeTimeout,$parentSelector=this.parentSelector,loadingBarContainer=angular.element(this.loadingBarTemplate),loadingBar=loadingBarContainer.find("div").eq(0),spinner=angular.element(this.spinnerTemplate),started=!1,status=0,autoIncrement=this.autoIncrement,includeSpinner=this.includeSpinner,includeBar=this.includeBar,startSize=this.startSize;function _set(n){if(started){var pct=100*n+"%";loadingBar.css("width",pct),status=n,autoIncrement&&($timeout.cancel(incTimeout),incTimeout=$timeout(function(){_inc()},250))}}function _inc(){if(!(1<=_status())){var rnd=0,stat=_status();rnd=0<=stat&&stat<.25?(3*Math.random()+3)/100:.25<=stat&&stat<.65?3*Math.random()/100:.65<=stat&&stat<.9?2*Math.random()/100:.9<=stat&&stat<.99?.005:0,_set(_status()+rnd)}}function _status(){return status}function _completeAnimation(){status=0,started=!1}return{start:function(){if($animate||($animate=$injector.get("$animate")),$timeout.cancel(completeTimeout),!started){var document=$document[0],parent=document.querySelector?document.querySelector($parentSelector):$document.find($parentSelector)[0];parent||(parent=document.getElementsByTagName("body")[0]);var $parent=angular.element(parent),$after=parent.lastChild&&angular.element(parent.lastChild);$rootScope.$broadcast("cfpLoadingBar:started"),started=!0,includeBar&&$animate.enter(loadingBarContainer,$parent,$after),includeSpinner&&$animate.enter(spinner,$parent,loadingBarContainer),_set(startSize)}},set:_set,status:_status,inc:_inc,complete:function(){$animate||($animate=$injector.get("$animate")),$rootScope.$broadcast("cfpLoadingBar:completed"),_set(1),$timeout.cancel(completeTimeout),completeTimeout=$timeout(function(){var promise=$animate.leave(loadingBarContainer,_completeAnimation);promise&&promise.then&&promise.then(_completeAnimation),$animate.leave(spinner)},500)},autoIncrement:this.autoIncrement,includeSpinner:this.includeSpinner,latencyThreshold:this.latencyThreshold,parentSelector:this.parentSelector,startSize:this.startSize}}]})}(),function(window,angular){"use strict";
1var bind,extend,forEach,isArray,isDefined,lowercase,noop,nodeContains,htmlParser,htmlSanitizeWriter,$sanitizeMinErr=angular.$$minErr("$sanitize");angular.module("ngSanitize",[]).provider("$sanitize",function(){var hasBeenInstantiated=!1,svgEnabled=!1;this.$get=["$$sanitizeUri",function($$sanitizeUri){return hasBeenInstantiated=!0,svgEnabled&&extend(validElements,svgElements),function(html){var buf=[];return htmlParser(html,htmlSanitizeWriter(buf,function(uri,isImage){return!/^unsafe:/.test($$sanitizeUri(uri,isImage))})),buf.join("")}}],this.enableSvg=function(enableSvg){return isDefined(enableSvg)?(svgEnabled=enableSvg,this):svgEnabled},this.addValidElements=function(elements){return hasBeenInstantiated||(isArray(elements)&&(elements={htmlElements:elements}),addElementsTo(svgElements,elements.svgElements),addElementsTo(voidElements,elements.htmlVoidElements),addElementsTo(validElements,elements.htmlVoidElements),addElementsTo(validElements,elements.htmlElements)),this},this.addValidAttrs=function(attrs){return hasBeenInstantiated||extend(validAttrs,arrayToMap(attrs,!0)),this},bind=angular.bind,extend=angular.extend,forEach=angular.forEach,isArray=angular.isArray,isDefined=angular.isDefined,lowercase=angular.$$lowercase,noop=angular.noop,htmlParser=function(html,handler){null==html?html="":"string"!=typeof html&&(html=""+html);var inertBodyElement=getInertBodyElement(html);if(!inertBodyElement)return"";var mXSSAttempts=5;do{if(0===mXSSAttempts)throw $sanitizeMinErr("uinput","Failed to sanitize html because the input is unstable");mXSSAttempts--,html=inertBodyElement.innerHTML,inertBodyElement=getInertBodyElement(html)}while(html!==inertBodyElement.innerHTML);for(var node=inertBodyElement.firstChild;node;){switch(node.nodeType){case 1:handler.start(node.nodeName.toLowerCase(),attrToMap(node.attributes));break;case 3:handler.chars(node.textContent)}var nextNode;if(!((nextNode=node.firstChild)||(1===node.nodeType&&handler.end(node.nodeName.toLowerCase()),nextNode=getNonDescendant("nextSibling",node))))for(;null==nextNode&&(node=getNonDescendant("parentNode",node))!==inertBodyElement;)nextNode=getNonDescendant("nextSibling",node),1===node.nodeType&&handler.end(node.nodeName.toLowerCase());node=nextNode}for(;node=inertBodyElement.firstChild;)inertBodyElement.removeChild(node)},htmlSanitizeWriter=function(buf,uriValidator){var ignoreCurrentElement=!1,out=bind(buf,buf.push);return{start:function(tag,attrs){tag=lowercase(tag),!ignoreCurrentElement&&blockedElements[tag]&&(ignoreCurrentElement=tag),ignoreCurrentElement||!0!==validElements[tag]||(out("<"),out(tag),forEach(attrs,function(value,key){var lkey=lowercase(key),isImage="img"===tag&&"src"===lkey||"background"===lkey;!0!==validAttrs[lkey]||!0===uriAttrs[lkey]&&!uriValidator(value,isImage)||(out(" "),out(key),out('="'),out(encodeEntities(value)),out('"'))}),out(">"))},end:function(tag){tag=lowercase(tag),ignoreCurrentElement||!0!==validElements[tag]||!0===voidElements[tag]||(out("</"),out(tag),out(">")),tag==ignoreCurrentElement&&(ignoreCurrentElement=!1)},chars:function(chars){ignoreCurrentElement||out(encodeEntities(chars))}}},nodeContains=window.Node.prototype.contains||function(arg){return!!(16&this.compareDocumentPosition(arg))};var SURROGATE_PAIR_REGEXP=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,NON_ALPHANUMERIC_REGEXP=/([^#-~ |!])/g,voidElements=stringToMap("area,br,col,hr,img,wbr"),optionalEndTagBlockElements=stringToMap("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),optionalEndTagInlineElements=stringToMap("rp,rt"),optionalEndTagElements=extend({},optionalEndTagInlineElements,optionalEndTagBlockElements),blockElements=extend({},optionalEndTagBlockElements,stringToMap("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,section,table,ul")),inlineElements=extend({},optionalEndTagInlineElements,stringToMap("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),svgElements=stringToMap("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan"),blockedElements=stringToMap("script,style"),validElements=extend({},voidElements,blockElements,inlineElements,optionalEndTagElements),uriAttrs=stringToMap("background,cite,href,longdesc,src,xlink:href,xml:base"),htmlAttrs=stringToMap("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,c
1olspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,valign,value,vspace,width"),svgAttrs=stringToMap("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode
1-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan",!0),validAttrs=extend({},uriAttrs,svgAttrs,htmlAttrs);function stringToMap(str,lowercaseKeys){return arrayToMap(str.split(","),lowercaseKeys)}function arrayToMap(items,lowercaseKeys){var i,obj={};for(i=0;i<items.length;i++)obj[lowercaseKeys?lowercase(items[i]):items[i]]=!0;return obj}function addElementsTo(elementsMap,newElements){newElements&&newElements.length&&extend(elementsMap,arrayToMap(newElements))}var getInertBodyElement=function(window,document){var inertDocument;if(!document||!document.implementation)throw $sanitizeMinErr("noinert","Can't create an inert html document");var inertBodyElement=((inertDocument=document.implementation.createHTMLDocument("inert")).documentElement||inertDocument.getDocumentElement()).querySelector("body");return inertBodyElement.innerHTML='<svg><g onload="this.parentNode.remove()"></g></svg>',inertBodyElement.querySelector("svg")?(inertBodyElement.innerHTML='<svg><p><style><img src="</style><img src=x onerror=alert(1)//">',inertBodyElement.querySelector("svg img")?function(html){html="<remove></remove>"+html;try{var body=(new window.DOMParser).parseFromString(html,"text/html").body;return body.firstChild.remove(),body}catch(e){return}}:function(html){return inertBodyElement.innerHTML=html,document.documentMode&&stripCustomNsAttrs(inertBodyElement),inertBodyElement}):function(html){html="<remove></remove>"+html;try{html=encodeURI(html)}catch(e){return}var xhr=new window.XMLHttpRequest;xhr.responseType="document",xhr.open("GET","data:text/html;charset=utf-8,"+html,!1),xhr.send(null);var body=xhr.response.body;return body.firstChild.remove(),body}}(window,window.document);function attrToMap(attrs){for(var map={},i=0,ii=attrs.length;i<ii;i++){var attr=attrs[i];map[attr.name]=attr.value}return map}function encodeEntities(value){return value.replace(/&/g,"&").replace(SURROGATE_PAIR_REGEXP,function(value){return"&#"+(1024*(value.charCodeAt(0)-55296)+(value.charCodeAt(1)-56320)+65536)+";"}).replace(NON_ALPHANUMERIC_REGEXP,function(value){return"&#"+value.charCodeAt(0)+";"}).replace(/</g,"<").replace(/>/g,">")}function stripCustomNsAttrs(node){for(;node;){if(node.nodeType===window.Node.ELEMENT_NODE)for(var attrs=node.attributes,i=0,l=attrs.length;i<l;i++){var attrNode=attrs[i],attrName=attrNode.name.toLowerCase();"xmlns:ns1"!==attrName&&0!==attrName.lastIndexOf("ns1:",0)||(node.removeAttributeNode(attrNode),i--,l--)}var nextNode=node.firstChild;nextNode&&stripCustomNsAttrs(nextNode),node=getNonDescendant("nextSibling",node)}}function getNonDescendant(propName,node){var nextNode=node[propName];if(nextNode&&nodeContains.call(node,nextNode))throw $sanitizeMinErr("elclob","Failed to sanitize html because the element is clobbered: {0}",node.outerHTML||node.outerText);return nextNode}}).info({angularVersion:"1.7.3"}),angular.module("ngSanitize").filter("linky",["$sanitize",function($sanitize){var LINKY_URL_REGEXP=/((s?ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i,MAILTO_REGEXP=/^mailto:/i,linkyMinErr=angular.$$minErr("linky"),isDefined=angular.isDefined,isFunction=angular.isFunction,isObject=angular.isObject,isString=angular.isString;return function(text,target,attributes){if(null==text||""===text)return text;if(!isString(text))throw linkyMinErr("notstring","Expected string but received: {0}",text);for(var match,url,i,attributesFn=isFunction(attributes)?attributes:isObject(attributes)?function(){return attributes}:function(){return{}},raw=text,html=[];match=raw.match(LINKY_URL_REGEXP);)url=match[0],match[2]||match[4]||(url=(match[3]?"http://":"mailto:")+url),i=match.index,addText(raw.substr(0,i)),addLink(url,match[0].replace(MAILTO_REGEXP,"")),raw=raw.substring(i+match[0].length);return addText(raw),$sanitize(html.join(""));function addText(text){var chars,buf;text&&html.push((chars=text,htmlSanitizeWriter(buf=[],noop).chars(chars),buf.join("")))}function addLink(url,text){var key,linkAttributes=attributesFn(url);for(key in html.push("<a "),linkAttributes)html.push(key+'="'+linkAttributes[key]+'" ');!isDefined(target)||"target"in linkAttributes||html.push('target="',target,'" '),html.push('href="',url.replace(/"/g,"""),'">'),addText(text),html.push("</a>")}}}])}(window,window.angular),function(root,factory){"use strict";"undefined"!=typeof module&&module.exports?module.exports=factory(require("angular")):"function"==typeof define&&define.amd?define(["angular"],factory):factory(root.angular)}(window,function(angular){"use strict";
vendor: 4,148 bytes, line 1
1angular.module("angucomplete-alt",[]).directive("angucompleteAlt",["$q","$parse","$http","$sce","$timeout","$templateCache","$interpolate",function($q,$parse,$http,$sce,$timeout,$templateCache,$interpolate){function link(scope,elem,attrs,ctrl){var hideTimer,responseFormatter,unbindInitialValue,displaySearching,displayNoResults,fn,inputField=elem.find("input"),minlength=3,searchTimer=null,requiredClassName="autocomplete-required",validState=null,httpCanceller=null,httpCallInProgress=!1,dd=elem[0].querySelector(".angucomplete-dropdown"),isScrollOn=!1,mousedownOn=null;function handleInputChange(newval,initial){newval&&("object"==typeof newval?(scope.searchStr=extractTitle(newval),callOrAssign({originalObject:newval})):"string"==typeof newval&&0<newval.length?scope.searchStr=newval:console&&console.error&&console.error("Tried to set "+(initial?"initial":"")+" value of angucomplete to",newval,"which is an invalid value"),handleRequired(!0))}function clickoutHandlerForDropdown(event){mousedownOn=null,scope.hideResults(event),document.body.removeEventListener("click",clickoutHandlerForDropdown)}function ie8EventNormalizer(event){return event.which?event.which:event.keyCode}function callOrAssign(value){"function"==typeof scope.selectedObject?scope.selectedObject(value,scope.selectedObjectData):scope.selectedObject=value,handleRequired(!!value)}function extractTitle(data){return scope.titleField.split(",").map(function(field){return extractValue(data,field)}).join(" ")}function extractValue(obj,key){var keys,result;if(key){keys=key.split("."),result=obj;for(var i=0;i<keys.length;i++)result=result[keys[i]]}else result=obj;return result}function findMatchString(target,str){var result,matches,re;if(re=new RegExp(str.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i"),target)return target.match&&target.replace||(target=target.toString()),result=(matches=target.match(re))?target.replace(re,'<span class="'+scope.matchClass+'">'+matches[0]+"</span>"):target,$sce.trustAsHtml(result)}function handleRequired(valid){scope.notEmpty=valid,validState=scope.searchStr,scope.fieldRequired&&ctrl&&scope.inputName&&ctrl[scope.inputName].$setValidity(requiredClassName,valid)}function handleOverrideSuggestions(event){!scope.overrideSuggestions||scope.selectedObject&&scope.selectedObject.originalObject===scope.searchStr||(event&&event.preventDefault(),$timeout.cancel(searchTimer),cancelHttpRequest(),callOrAssign({originalObject:scope.searchStr}),scope.clearSelected&&(scope.searchStr=null),clearResults())}function dropdownRow(){return elem[0].querySelectorAll(".angucomplete-row")[scope.currentIndex]}function dropdownScrollTopTo(offset){dd.scrollTop=dd.scrollTop+offset}function updateInputField(){var current=scope.results[scope.currentIndex];scope.matchClass?inputField.val(extractTitle(current.originalObject)):inputField.val(current.title)}function httpSuccessCallbackGen(str){return function(responseData,status,headers,config){status||headers||config||!responseData.data||(responseData=responseData.data),scope.searching=!1,processResults(extractValue(responseFormatter(responseData),scope.remoteUrlDataField),str)}}function httpErrorCallback(errorRes,status,headers,config){scope.searching=httpCallInProgress,status||headers||config||(status=errorRes.status),0!==status&&-1!==status&&(scope.remoteUrlErrorCallback?scope.remoteUrlErrorCallback(errorRes,status,headers,config):console&&console.error&&console.error("http error"))}function cancelHttpRequest(){httpCanceller&&httpCanceller.resolve()}function getRemoteResults(str){var params={},url=scope.remoteUrl+encodeURIComponent(str);scope.remoteUrlRequestFormatter&&(params={params:scope.remoteUrlRequestFormatter(str)},url=scope.remoteUrl),scope.remoteUrlRequestWithCredentials&&(params.withCredentials=!0),cancelHttpRequest(),httpCanceller=$q.defer(),params.timeout=httpCanceller.promise,httpCallInProgress=!0,$http.get(url,params).then(httpSuccessCallbackGen(str)).catch(httpErrorCallback).finally(function(){httpCallInProgress=!1})}function getRemoteResultsWithCustomHandler(str){cancelHttpRequest(),httpCanceller=$q.defer(),scope.remoteApiHandler(str,httpCanceller.promise).then(
1httpSuccessCallbackGen(str)).catch(httpErrorCallback)}function clearResults(){scope.showDropdown=!1,scope.results=[],dd&&(dd.scrollTop=0)}function initResults(){scope.showDropdown=displaySearching,scope.currentIndex=scope.focusFirst?0:-1,scope.results=[]}function searchTimerComplete(str){!str||str.length<minlength||(scope.localData?scope.$apply(function(){var matches;matches=void 0!==scope.localSearch()?scope.localSearch()(str,scope.localData):function(str){var i,match,s,value,searchFields=scope.searchFields.split(","),matches=[];for(void 0!==scope.parseInput()&&(str=scope.parseInput()(str)),i=0;i<scope.localData.length;i++){for(match=!1,s=0;s<searchFields.length;s++)value=extractValue(scope.localData[i],searchFields[s])||"",match=match||0<=value.toString().toLowerCase().indexOf(str.toString().toLowerCase());match&&(matches[matches.length]=scope.localData[i])}return matches}(str),scope.searching=!1,processResults(matches,str)}):scope.remoteApiHandler?getRemoteResultsWithCustomHandler(str):getRemoteResults(str))}function processResults(responseData,str){var i,description,image,text,formattedText,formattedDesc;if(responseData&&0<responseData.length)for(scope.results=[],i=0;i<responseData.length;i++)scope.titleField&&""!==scope.titleField&&(text=formattedText=extractTitle(responseData[i])),description="",scope.descriptionField&&(description=formattedDesc=extractValue(responseData[i],scope.descriptionField)),image="",scope.imageField&&(image=extractValue(responseData[i],scope.imageField)),scope.matchClass&&(formattedText=findMatchString(text,str),formattedDesc=findMatchString(description,str)),scope.results[scope.results.length]={title:formattedText,description:formattedDesc,image:image,originalObject:responseData[i]};else scope.results=[];scope.autoMatch&&1===scope.results.length&&function(result,obj,str){if(!str)return!1;for(var key in obj)if(obj[key].toLowerCase()===str.toLowerCase())return scope.selectResult(result),!0;return!1}(scope.results[0],{title:text,desc:description||""},scope.searchStr)?scope.showDropdown=!1:0!==scope.results.length||displayNoResults?scope.showDropdown=!0:scope.showDropdown=!1}function showAll(){scope.localData?(scope.searching=!1,processResults(scope.localData,"")):scope.remoteApiHandler?(scope.searching=!0,getRemoteResultsWithCustomHandler("")):(scope.searching=!0,getRemoteResults(""))}elem.on("mousedown",function(event){event.target.id?(mousedownOn=event.target.id)===scope.id+"_dropdown"&&document.body.addEventListener("click",clickoutHandlerForDropdown):mousedownOn=event.target.className}
1),scope.currentIndex=scope.focusFirst?0:null,scope.searching=!1,unbindInitialValue=scope.$watch("initialValue",function(newval){newval&&(unbindInitialValue(),handleInputChange(newval,!0))}),scope.$watch("fieldRequired",function(newval,oldval){newval!==oldval&&(newval?validState&&-1!==scope.currentIndex?handleRequired(!0):handleRequired(!1):ctrl[scope.inputName].$setValidity(requiredClassName,!0))}),scope.$on("angucomplete-alt:clearInput",function(event,elementId){elementId&&elementId!==scope.id||(scope.searchStr=null,callOrAssign(),handleRequired(!1),clearResults())}),scope.$on("angucomplete-alt:changeInput",function(event,elementId,newval){elementId&&elementId===scope.id&&handleInputChange(newval)}),scope.onFocusHandler=function(){scope.focusIn&&scope.focusIn(),0!==minlength||scope.searchStr&&0!==scope.searchStr.length||(scope.currentIndex=scope.focusFirst?0:scope.currentIndex,scope.showDropdown=!0,showAll())},scope.hideResults=function(){mousedownOn&&(mousedownOn===scope.id+"_dropdown"||0<=mousedownOn.indexOf("angucomplete"))?mousedownOn=null:(hideTimer=$timeout(function(){clearResults(),scope.$apply(function(){scope.searchStr&&0<scope.searchStr.length&&inputField.val(scope.searchStr)})},200),cancelHttpRequest(),scope.focusOut&&scope.focusOut(),scope.overrideSuggestions&&scope.searchStr&&0<scope.searchStr.length&&-1===scope.currentIndex&&handleOverrideSuggestions())},scope.resetHideResults=function(){hideTimer&&$timeout.cancel(hideTimer)},scope.hoverRow=function(index){scope.currentIndex=index},scope.selectResult=function(result){scope.matchClass&&(result.title=extractTitle(result.originalObject),result.description=extractValue(result.originalObject,scope.descriptionField)),scope.clearSelected?scope.searchStr=null:scope.searchStr=result.title,callOrAssign(result),clearResults()},scope.inputChangeHandler=function(str){return str.length<minlength?(cancelHttpRequest(),clearResults()):0===str.length&&0===minlength&&showAll(),scope.inputChanged&&(str=scope.inputChanged(str)),str},scope.fieldRequiredClass&&""!==scope.fieldRequiredClass&&(requiredClassName=scope.fieldRequiredClass),scope.minlength&&""!==scope.minlength&&(minlength=parseInt(scope.minlength,10)),scope.pause||(scope.pause=500),scope.clearSelected||(scope.clearSelected=!1),scope.overrideSuggestions||(scope.overrideSuggestions=!1),scope.fieldRequired&&ctrl&&(scope.initialValue?handleRequired(!0):handleRequired(!1)),scope.inputType=attrs.type?attrs.type:"text",scope.textSearching=attrs.textSearching?attrs.textSearching:"Searching...",scope.textNoResults=attrs.textNoResults?attrs.textNoResults:"No results found",displaySearching="false"!==scope.textSearching,displayNoResults="false"!==scope.textNoResults,scope.maxlength=attrs.maxlength?attrs.maxlength:524288,inputField.on("keydown",function(event){var which=ie8EventNormalizer(event),row=null,rowTop=null;13===which&&scope.results?(0<=scope.currentIndex&&scope.currentIndex<scope.results.length?(event.preventDefault(),scope.selectResult(scope.results[scope.currentIndex])):(handleOverrideSuggestions(event),clearResults()),scope.$apply()):40===which&&scope.results?(event.preventDefault(),scope.currentIndex+1<scope.results.length&&scope.showDropdown&&(scope.$apply(function(){scope.currentIndex++,updateInputField()}),isScrollOn&&(row=dropdownRow(),dd.getBoundingClientRect().top+parseInt(getComputedStyle(dd).maxHeight,10)<row.getBoundingClientRect().bottom&&dropdownScrollTopTo(function(row){var css=getComputedStyle(row);return row.offsetHeight+parseInt(css.marginTop,10)+parseInt(css.marginBottom,10)}(row))))):38===which&&scope.results?(event.preventDefault(),1<=scope.currentIndex?(scope.$apply(function(){scope.currentIndex--,updateInputField()}),isScrollOn&&(rowTop=dropdownRow().getBoundingClientRect().top-(dd.getBoundingClientRect().top+parseInt(getComputedStyle(dd).paddingTop,10)))<0&&dropdownScrollTopTo(rowTop-1)):0===scope.currentIndex&&scope.$apply(function(){scope.currentIndex=-1,inputField.val(scope.searchStr)})):9===which?scope.results&&0<scope.results.length&&scope.showDropdown?-1===scope.currentIndex&&scope.overrideSuggestions?handleOverrideSuggestions():(-1===scope.currentIndex&&(scope.currentIndex=0),scope.selectResult(scope.results[scope.currentIndex]),scope.$digest()):scope.searchStr&&0<scope.searchStr.length&&handleOverrideSuggestions():27===which&&event.preventDefault()}),inputField.on("keyup compositionend",function(event){var which=ie8EventNormalizer(event);
1if(37!==which&&39!==which)if(38===which||13===which)event.preventDefault();else if(40===which)event.preventDefault(),!scope.showDropdown&&scope.searchStr&&scope.searchStr.length>=minlength&&(initResults(),scope.searching=!0,searchTimerComplete(scope.searchStr));else if(27===which)clearResults(),scope.$apply(function(){inputField.val(scope.searchStr)});else{if(0===minlength&&!scope.searchStr)return;scope.searchStr&&""!==scope.searchStr?scope.searchStr.length>=minlength&&(initResults(),searchTimer&&$timeout.cancel(searchTimer),scope.searching=!0,searchTimer=$timeout(function(){searchTimerComplete(scope.searchStr)},scope.pause)):scope.showDropdown=!1,validState&&validState!==scope.searchStr&&!scope.clearSelected&&scope.$apply(function(){callOrAssign()})}}),fn="remoteUrlResponseFormatter",responseFormatter=function(data){return scope[fn]?scope[fn](data):data},$timeout(function(){var css=getComputedStyle(dd);isScrollOn=css.maxHeight&&"auto"===css.overflowY})}return $templateCache.put("/angucomplete-alt/index.html",'<div class="angucomplete-holder" ng-class="{\'angucomplete-dropdown-visible\': showDropdown}"> <input id="{{id}}_value" name="{{inputName}}" tabindex="{{fieldTabindex}}" ng-class="{\'angucomplete-input-not-empty\': notEmpty}" ng-model="searchStr" ng-disabled="disableInput" type="{{inputType}}" placeholder="{{placeholder}}" maxlength="{{maxlength}}" ng-focus="onFocusHandler()" class="{{inputClass}}" ng-focus="resetHideResults()" ng-blur="hideResults($event)" autocapitalize="off" autocorrect="off" autocomplete="off" ng-change="inputChangeHandler(searchStr)"/> <div id="{{id}}_dropdown" class="angucomplete-dropdown" ng-show="showDropdown"> <div class="angucomplete-searching" ng-show="searching" ng-bind="textSearching"></div> <div class="angucomplete-searching" ng-show="!searching && (!results || results.length == 0)" ng-bind="textNoResults"></div> <div class="angucomplete-row" ng-repeat="result in results" ng-click="selectResult(result)" ng-mouseenter="hoverRow($index)" ng-class="{\'angucomplete-selected-row\': $index == currentIndex}"> <div ng-if="imageField" class="angucomplete-image-holder"> <img ng-if="result.image && result.image != \'\'" ng-src="{{result.image}}" class="angucomplete-image"/> <div ng-if="!result.image && result.image != \'\'" class="angucomplete-image-default"></div> </div> <div class="angucomplete-title" ng-if="matchClass" ng-bind-html="result.title"></div> <div class="angucomplete-title" ng-if="!matchClass">{{ result.title }}</div> <div ng-if="matchClass && result.description && result.description != \'\'" class="angucomplete-description" ng-bind-html="result.description"></div> <div ng-if="!matchClass && result.description && result.description != \'\'" class="angucomplete-description">{{result.description}}</div> </div> </div></div>'),{restrict:"EA",require:"^?form",scope:{selectedObject:"=",selectedObjectData:"=",disableInput:"=",initialValue:"=",localData:"=",localSearch:"&",remoteUrlRequestFormatter:"=",remoteUrlRequestWithCredentials:"@",remoteUrlResponseFormatter:"=",remoteUrlErrorCallback:"=",remoteApiHandler:"=",id:"@",type:"@",placeholder:"@",textSearching:"@",textNoResults:"@",remoteUrl:"@",remoteUrlDataField:"@",titleField:"@",descriptionField:"@",imageField:"@",inputClass:"@",pause:"@",searchFields:"@",minlength:"@",matchClass:"@",clearSelected:"@",overrideSuggestions:"@",fieldRequired:"=",fieldRequiredClass:"@",inputChanged:"=",autoMatch:"@",focusOut:"&",focusIn:"&",fieldTabindex:"@",inputName:"@",focusFirst:"@",parseInput:"&"},templateUrl:function(element,attrs){return attrs.templateUrl||"/angucomplete-alt/index.html"},compile:function(tElement){var startSym=$interpolate.startSymbol(),endSym=$interpolate.endSymbol();if("{{"!==startSym||"}}"!==endSym){var interpolatedHtml=tElement.html().replace(/\{\{/g,startSym).replace(/\}\}/g,endSym);tElement.html(interpolatedHtml)}return link}}}])}),function(){"use strict";angular.module("ngMask",[])}(),function(){"use strict";angular.module("ngMask").directive("mask",["$log","$timeout","MaskService",function($log,$timeout,MaskService){return{restrict:"A",require:"ngModel",compile:function($element,$attrs){if($attrs.mask&&$attrs.ngModel){var timeout,promise,maskService=MaskService.create();return{pre:function($scope,$element,$attrs,controller){promise=maskService.generateRegex({mask:$attrs.mask,repeat:$attrs.repeat||$attrs.maskRepeat,clean:"true"===($attrs.clean||$attrs.maskClean),limit:"true"===($attrs.limit||$attrs.maskLimit||"true"),restrict:$attrs.restrict||$attrs.maskRestrict||"select",validate:"true"===($attrs.validate||$attrs.maskValidate||"true"),model:$attrs.ngModel,value:$attrs.ngValue})},post:function($scope,$element,$attrs,controller){var timeout,options=maskService.getOptions();function parseViewValue(value){var untouchedValue=value;options=maskService.getOptions(),value=value||"";var viewValue=maskService.getViewValue(value),maskWithoutOptionals=options.maskWithoutOptionals||"",viewValueWithDivisors=viewValue.withDivisors(!0),viewValueWithoutDivisors=viewValue.withoutDivisors(!0);try{var regex=maskService.getRegex(viewValueWithDivisors.length-1),fullRegex=maskService.getRegex(maskWithoutOptionals.length-1),validCurrentPosition=regex.test(viewValueWithDivisors)||fullRegex.test(viewValueWithDivisors),diffValueAndViewValueLengthIsOne=value.length-viewValueWithDivisors.length==1,diffMaskA
1ndViewValueIsGreaterThanZero=0<maskWithoutOptionals.length-viewValueWithDivisors.length;if("accept"!==options.restrict)if("select"!==options.restrict||validCurrentPosition&&!diffValueAndViewValueLengthIsOne)"reject"!==options.restrict||validCurrentPosition||(viewValueWithDivisors=(viewValue=maskService.removeWrongPositions(viewValueWithDivisors)).withDivisors(!0),viewValueWithoutDivisors=viewValue.withoutDivisors(!0));else{var lastCharInputed=value[value.length-1];lastCharInputed!==viewValueWithDivisors[viewValueWithDivisors.length-1]&&diffMaskAndViewValueIsGreaterThanZero&&(viewValueWithDivisors+=lastCharInputed);var wrongPosition=maskService.getFirstWrongPosition(viewValueWithDivisors);angular.isDefined(wrongPosition)&&setSelectionRange(wrongPosition)}options.limit||(viewValueWithDivisors=viewValue.withDivisors(!1),viewValueWithoutDivisors=viewValue.withoutDivisors(!1)),options.validate&&controller.$dirty&&(fullRegex.test(viewValueWithDivisors)||controller.$isEmpty(untouchedValue)?controller.$setValidity("mask",!0):controller.$setValidity("mask",!1)),value!==viewValueWithDivisors&&(controller.$setViewValue(angular.copy(viewValueWithDivisors),"input"),controller.$render())}catch(e){throw $log.error("[mask - parseViewValue]"),e}return options.clean?viewValueWithoutDivisors:viewValueWithDivisors}var callParseViewValue=function(){parseViewValue(),controller.$parsers.push(parseViewValue),options.value&&$scope.$evalAsync(function($scope){controller.$setViewValue(angular.copy(options.value),"input"),controller.$render()})};$element.on("click input paste keyup",function(){timeout=$timeout(function(){$timeout.cancel(timeout),parseViewValue($element.val()),$scope.$apply()},100)});var watcher=$scope.$watch($attrs.ngModel,function(newValue,oldValue){angular.isDefined(newValue)&&(parseViewValue(newValue),watcher())});$scope.$watch(function(){return[$attrs.mask]},function(){(promise=maskService.generateRegex({mask:$attrs.mask,repeat:$attrs.repeat||$attrs.maskRepeat,clean:"true"===($attrs.clean||$attrs.maskClean),limit:"true"===($attrs.limit||$attrs.maskLimit||"true"),restrict:$attrs.restrict||$attrs.maskRestrict||"select",validate:"true"===($attrs.validate||$attrs.maskValidate||"true"),model:$attrs.ngModel,value:$attrs.ngValue}).then(function(){$element.triggerHandler("click")})).then(callParseViewValue)},!0),promise.then(callParseViewValue)}}}function setSelectionRange(selectionStart){"number"==typeof selectionStart&&($timeout.cancel(timeout),timeout=$timeout(function(){var selectionEnd=selectionStart+1,input=$element[0];if(input.setSelectionRange)input.focus(),input.setSelectionRange(selectionStart,selectionEnd);else if(input.createTextRange){var range=input.createTextRange();range.collapse(!0),range.moveEnd("character",selectionEnd),range.moveStart("character",selectionStart),range.select()}}))}$log.info("Mask and ng-model attributes are required!")}}}])}(),function(){"use strict";angular.module("ngMask").factory("MaskService",["$q","OptionalService","UtilService",function($q,OptionalService,UtilService){return{create:function(){var options,maskWithoutOptionals,maskWithoutOptionalsLength=0,maskWithoutOptionalsAndDivisorsLength=0,optionalIndexes=[],optionalDivisors={},optionalDivisorsCombinations=[],divisors=[],divisorElements={},regex=[],patterns={9:/[0-9]/,8:/[0-8]/,7:/[0-7]/,6:/[0-6]/,5:/[0-5]/,4:/[0-4]/,3:/[0-3]/,2:/[0-2]/,1:/[0-1]/,0:/[0]/,"*":/./,w:/\w/,W:/\W/,d:/\d/,D:/\D/,s:/\s/,S:/\S/,b:/\b/,A:/[A-Z]/,a:/[a-z]/,Z:/[A-ZÃÃÃÃÃÃÃÃẼÃÃÃĨÃÃÃÃÃÃÃŨ]/,z:/[a-zçáà ãâéèêẽÃìĩîóòôõúùũüû]/,"@":/[a-zA-Z]/,"#":/[a-zA-Zçáà ãâéèêẽÃìĩîóòôõúùũüûÃÃÃÃÃÃÃÃẼÃÃÃĨÃÃÃÃÃÃÃŨ]/,"%":/[0-9a-zA-Zçáà ãâéèêẽÃìĩîóòôõúùũüûÃÃÃÃÃÃÃÃẼÃÃÃĨÃÃÃÃÃÃÃŨ]/};function generateIntermetiateElementRegex(i,forceOptional){var charRegex,currentPos;try{var element=maskWithoutOptionals[i],elementRegex=patterns[element],hasOptional=isOptional(i);charRegex=elementRegex?"("+elementRegex.source+")":(currentPos=i,UtilService.inArray(currentPos,divisors)||(divisors.push(i),divisorElements[i]=element),"(\\"+element+")")}catch(e){throw e}return(hasOptional||forceOptional)&&(charRegex+="?"),new RegExp(charRegex)}function generateIntermetiateRegex(i,forceOptional){var elementRegex,elementOptionalRegex;try{var intermetiateElementRegex=generateIntermetiateElementRegex(i,forceOptional);elementRegex=intermetiateElementRegex;var hasOptional=isOptional(i),currentRegex=intermetiateElementRegex.source;hasOptional&&i+1<maskWithoutOptionalsLength&&(currentRegex+=generateIntermetiateRegex(i+1,!0).elementOptionalRegex().source),elementOptionalRegex=new RegExp(currentRegex)}catch(e){throw e}return{elementRegex:function(){return elementRegex},elementOptionalRegex:function(){return elementOptionalRegex}}}function getRegex(index){var currentRegex;try{currentRegex=regex[index]?regex[index].source:""}catch(e){throw e}return new RegExp("^"+currentRegex+"$")}function isOptional(currentPos){return UtilService.inArray(currentPos,optionalIndexes)}function removeDivisors(value){value=value.toString();try{if(0<divisors.length&&value){for(var keys=Object.keys(divisorElements),elments=[],i=keys.length-1;0<=i;i--){var divisor=divisorElements[keys[i]];divisor&&elments.push(divisor)}elments=UtilService.uniqueArray(elments);var regex=new RegExp("[\\"+elments.join("\\")+"]","g");return value.replace(regex,"")}return value}catch(e){throw e}}function insertDivisors(array,combination){function insert(array,output){for(var out=output,i=0;i<array.length;i++){var divisor=array[i];divisor<out.length&&out.splice(divisor,0,divisorElements[divisor])}return out}var output=array,divs=divisors.filter(function(it){var optionalDivisorsKeys=Object.keys(optionalDivisors).map(function(it){return parseInt(it)});return!UtilService.inArray(it,combination)&&!UtilService.inArray(it,optionalDivisorsKeys)});return angular.isArray(array)&&angular.isArray(combination)?(output=insert(divs,output),output=insert(combination,output)):output}function getViewValue(value){try{var outputWithoutDivisors=removeDivisors(value),output=function(value){var output=value.split(""),defaultDivisors=!0;if(0<optionalIndexes.length){for(var lazyArguments=[],optionalDivisorsKeys=Object.keys(optionalDivisors),i=0;i<optionalDivisorsKeys.length;i++){var val=optionalDivisors[optionalDivisorsKeys[i]];lazyArguments.push(val)}for(0===optionalDivisorsCombinations.length&&UtilService.lazyProduct(lazyArguments,function(){optionalDivisorsCombinations.push(Array.prototype.slice.call(arguments))}),i=optionalDivisorsCombinations.length-1;0<=i;i--){var outputClone=angular.copy(output),viewValueWithDivisors=(outputClone=insertDivisors(outputClone,optionalDivisorsCombinations[i])).join("");if(getRegex(maskWithoutOptionals.length-1).test(viewValueWithDivisors)){defaultDivisors=!1,output=outputClone;break}}}return defaultDivisors&&(output=insertDivisors(output,divisors)),output.join("")}(outputWithoutDivisors);return{withDivisors:function(capped){return capped?output.substr(0,maskWithoutOptionalsLength):output},withoutDivisors:function(capped){return capped?outputWithoutDivisors.substr(0,maskWithoutOptionalsAndDivisorsLength):outputWithoutDivisors}}}catch(e){throw e}}function getWrongPositions(viewValueWithDivisors,onlyFirst){var pos=[];if(!viewValueWithDivisors)return 0;for(var i=0;i<viewValueWithDivisors.length;i++){var pattern=getRegex(i),value=viewValueWithDivisors.substr(0,i+1);if(pattern&&!pattern.test(value)&&(pos.push(i),onlyFirst))break}return pos}return{getViewValue:getViewValue,generateRegex:function(opts){var deferred=$q.defer();maskWithoutOptionals=null,maskWithoutOptionalsAndDivisorsLength=maskWithoutOptionalsLength=0,optionalIndexes=[],optionalDivisors={},optionalDivisorsCombinations=[],divisors=[],divisorElements={},regex=[],options=opts;try{var cumulativeRegex,mask=opts.mask,repeat=opts.repeat;if(!mask)return;repeat&&(mask=Array(parseInt(repeat)+1).join(mask)),optionalIndexes=OptionalService.getOptionals(mask).fromMaskWithoutOptionals(),options.maskWithoutOptionals=maskWithoutOptionals=OptionalService.removeOptionals(mask),maskWithoutOptionalsLength=maskWithoutOptionals.length;for(var i=0;i<maskWithoutOptionalsLength;i++){var charRegex=generateIntermetiateRegex(i),elementRegex=charRegex.elementRegex(),elementOptionalRegex=charRegex.elementOptionalRegex(),newRegex=cumulativeRegex?cumulativeRegex.source+elementOptionalRegex.source:elementOptionalRegex.source;newRegex=new RegExp(newRegex),cumulativeRegex=cumulativeRegex?cumulativeRegex.source+elementRegex.source:elementRegex.source,cumulativeRegex=new RegExp(cumulativeRegex),regex.push(new
1Regex)}!function(){function sortNumber(a,b){return a-b}for(var sortedDivisors=divisors.sort(sortNumber),sortedOptionals=optionalIndexes.sort(sortNumber),i=0;i<sortedDivisors.length;i++)for(var divisor=sortedDivisors[i],j=1;j<=sortedOptionals.length;j++){var optional=sortedOptionals[j-1];if(divisor<=optional)break;optionalDivisors[divisor]?optionalDivisors[divisor]=optionalDivisors[divisor].concat(divisor-j):optionalDivisors[divisor]=[divisor-j],divisorElements[divisor-j]=divisorElements[divisor]}}(),maskWithoutOptionalsAndDivisorsLength=removeDivisors(maskWithoutOptionals).length,deferred.resolve({options:options,divisors:divisors,divisorElements:divisorElements,optionalIndexes:optionalIndexes,optionalDivisors:optionalDivisors,optionalDivisorsCombinations:optionalDivisorsCombinations})}catch(e){throw deferred.reject(e),e}return deferred.promise},getRegex:getRegex,getOptions:function(){return options},removeDivisors:removeDivisors,getFirstWrongPosition:function(viewValueWithDivisors){return getWrongPositions(viewValueWithDivisors,!0)[0]},removeWrongPositions:function(viewValueWithDivisors){for(var wrongPositions=getWrongPositions(viewValueWithDivisors,!1),newViewValue=viewValueWithDivisors,i=0;i<wrongPositions.length;i++){var wrongPosition=wrongPositions[i],viewValueArray=viewValueWithDivisors.split("");viewValueArray.splice(wrongPosition,1),newViewValue=viewValueArray.join("")}return getViewValue(newViewValue)}}}}}])}(),function(){"use strict";angular.module("ngMask").factory("OptionalService",[function(){return{removeOptionals:function(mask){var newMask;try{newMask=mask.replace(/\?/g,"")}catch(e){throw e}return newMask},getOptionals:function(mask){var indexes=[];try{for(var regexp=/\?/g,match=[];null!=(match=regexp.exec(mask));)indexes.push(match.index-1)}catch(e){throw e}return{fromMask:function(){return indexes},fromMaskWithoutOptionals:function(){return function(optionals){for(var indexes=[],i=0;i<optionals.length;i++)indexes.push(optionals[i]-i);return indexes}(indexes)}}}}}])}(),function(){"use strict";angular.module("ngMask").factory("UtilService",[function(){return{lazyProduct:function(sets,f,context){context||(context=this);for(var p=[],max=sets.length-1,lens=[],i=sets.length;i--;)lens[i]=sets[i].length;!function dive(d){var a=sets[d],len=lens[d];if(d===max)for(var i=0;i<len;++i)p[d]=a[i],f.apply(context,p);else for(i=0;i<len;++i)p[d]=a[i],dive(d+1);p.pop()}(0)},inArray:function(i,array){var output;try{output=-1<array.indexOf(i)}catch(e){throw e}return output},uniqueArray:function(array){for(var u={},a=[],i=0,l=array.length;i<l;++i)u.hasOwnProperty(array[i])||(a.push(array[i]),u[array[i]]=1);return a}}}])}(),function(factory){"function"==typeof define&&define.amd?define(["jquery"],function($){factory($,window,document)}):"object"==typeof module&&module.exports?module.exports=factory(require("jquery"),window,document):factory(jQuery,window,document)}(function($,window,document,undefined){"use strict";var pluginName="intlTelInput",id=1,defaults={allowDropdown:!0,autoHideDialCode:!0,autoPlaceholder:"polite",customPlaceholder:null,dropdownContainer:"",excludeCountries:[],formatOnDisplay:!0,geoIpLookup:null,hiddenInput:"",initialCountry:"",localizedCountries:null,nationalMode:!0,onlyCountries:[],placeholderNumberType:"MOBILE",preferredCountries:["us","gb"],separateDialCode:!1,utilsScript:""},keys_UP=38,keys_DOWN=40,keys_ENTER=13,keys_ESC=27,keys_PLUS=43,keys_A=65,keys_Z=90,keys_SPACE=32,keys_TAB=9,regionlessNanpNumbers=["800","822","833","844","855","866","877","880","881","882","883","884","885","886","887","888","889"];function Plugin(element,options){this.telInput=$(element),this.options=$.extend({},defaults,options),this.ns="."+pluginName+id++,this.isGoodBrowser=Boolean(element.setSelectionRange),this.hadInitialPlaceholder=Boolean($(element).attr("placeholder"))}$(window).on("load",function(){$.fn[pluginName].windowLoaded=!0}),Plugin.prototype={_init:function(){return this.options.nationalMode&&(this.options.autoHideDialCode=!1),this.options.separateDialCode&&(this.options.autoHideDialCode=this.options.nationalMode=!1),this.isMobile=/Android.+Mobile|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),this.isMobile&&($("body").addClass("iti-mobile"),this.options.dropdownContainer||(this.options.dropdownContainer="body")),this.autoCountryDeferred=new $.Deferred,this.utilsScriptDeferred=new $.Deferred,this.selectedCountryData={},this._processCountryData(),this._generateMarkup(),this._setInitialState(),this._initListeners(),this._initRequests(),[this.autoCountryDeferred,this.utilsScriptDeferred]},_processCountryData:function(){this._processAllCountries(),this._processCountryCodes(),this._processPreferredCountries(),this.options.localizedCountries&&this._translateCountriesByLocale(),(this.options.onlyCountries.length||this.options.localizedCountries)&&this.countries.sort(this._countryNameSort)},_addCountryCode:function(iso2,dialCode,priority){dialCode in this.countryCodes||(this.countryCodes[dialCode]=[]);
1var index=priority||0;this.countryCodes[dialCode][index]=iso2},_processAllCountries:function(){if(this.options.onlyCountries.length){var lowerCaseOnlyCountries=this.options.onlyCountries.map(function(country){return country.toLowerCase()});this.countries=allCountries.filter(function(country){return-1<lowerCaseOnlyCountries.indexOf(country.iso2)})}else if(this.options.excludeCountries.length){var lowerCaseExcludeCountries=this.options.excludeCountries.map(function(country){return country.toLowerCase()});this.countries=allCountries.filter(function(country){return-1===lowerCaseExcludeCountries.indexOf(country.iso2)})}else this.countries=allCountries},_translateCountriesByLocale:function(){for(var i=0;i<this.countries.length;i++){var iso=this.countries[i].iso2.toLowerCase();iso in this.options.localizedCountries&&(this.countries[i].name=this.options.localizedCountries[iso])}},_countryNameSort:function(a,b){return a.name.localeCompare(b.name)},_processCountryCodes:function(){this.countryCodes={};for(var i=0;i<this.countries.length;i++){var c=this.countries[i];if(this._addCountryCode(c.iso2,c.dialCode,c.priority),c.areaCodes)for(var j=0;j<c.areaCodes.length;j++)this._addCountryCode(c.iso2,c.dialCode+c.areaCodes[j])}},_processPreferredCountries:function(){this.preferredCountries=[];for(var i=0;i<this.options.preferredCountries.length;i++){var countryCode=this.options.preferredCountries[i].toLowerCase(),countryData=this._getCountryData(countryCode,!1,!0);countryData&&this.preferredCountries.push(countryData)}},_generateMarkup:function(){this.telInput.attr("autocomplete","off");var parentClass="intl-tel-input";this.options.allowDropdown&&(parentClass+=" allow-dropdown"),this.options.separateDialCode&&(parentClass+=" separate-dial-code"),this.telInput.wrap($("<div>",{class:parentClass})),this.flagsContainer=$("<div>",{class:"flag-container"}).insertBefore(this.telInput);var selectedFlag=$("<div>",{class:"selected-flag",role:"combobox","aria-owns":"country-listbox"});if(selectedFlag.appendTo(this.flagsContainer),this.selectedFlagInner=$("<div>",{class:"iti-flag"}).appendTo(selectedFlag),this.options.separateDialCode&&(this.selectedDialCode=$("<div>",{class:"selected-dial-code"}).appendTo(selectedFlag)),this.options.allowDropdown?(selectedFlag.attr("tabindex","0"),$("<div>",{class:"iti-arrow"}).appendTo(selectedFlag),this.countryList=$("<ul>",{class:"country-list hide",id:"country-listbox","aria-expanded":"false",role:"listbox"}),this.preferredCountries.length&&(this._appendListItems(this.preferredCountries,"preferred"),$("
1<li>",{class:"divider",role:"separator","aria-disabled":"true"}).appendTo(this.countryList)),this._appendListItems(this.countries,""),this.countryListItems=this.countryList.children(".country"),this.options.dropdownContainer?this.dropdown=$("<div>",{class:"intl-tel-input iti-container"}).append(this.countryList):this.countryList.appendTo(this.flagsContainer)):this.countryListItems=$(),this.options.hiddenInput){var hiddenInputName=this.options.hiddenInput,name=this.telInput.attr("name");if(name){var i=name.lastIndexOf("[");-1!==i&&(hiddenInputName=name.substr(0,i)+"["+hiddenInputName+"]")}this.hiddenInput=$("<input>",{type:"hidden",name:hiddenInputName}).insertAfter(this.telInput)}},_appendListItems:function(countries,className){for(var tmp="",i=0;i<countries.length;i++){var c=countries[i];tmp+="<li class='country "+className+"' id='iti-item-"+c.iso2+"' role='option' data-dial-code='"+c.dialCode+"' data-country-code='"+c.iso2+"'>",tmp+="<div class='flag-box'><div class='iti-flag "+c.iso2+"'></div></div>",tmp+="<span class='country-name'>"+c.name+"</span>",tmp+="<span class='dial-code'>+"+c.dialCode+"</span>",tmp+="</li>"}this.countryList.append(tmp)},_setInitialState:function(){var val=this.telInput.val(),dialCode=this._getDialCode(val),isRegionlessNanp=this._isRegionlessNanp(val);dialCode&&!isRegionlessNanp?this._updateFlagFromNumber(val):"auto"!==this.options.initialCountry&&(this.options.initialCountry?this._setFlag(this.options.initialCountry.toLowerCase()):dialCode&&isRegionlessNanp?this._setFlag("us"):(this.defaultCountry=this.preferredCountries.length?this.preferredCountries[0].iso2:this.countries[0].iso2,val||this._setFlag(this.defaultCountry)),val||this.options.nationalMode||this.options.autoHideDialCode||this.options.separateDialCode||this.telInput.val("+"+this.selectedCountryData.dialCode)),val&&this._updateValFromNumber(val)},_initListeners:function(){this._initKeyListeners(),this.options.autoHideDialCode&&this._initFocusListeners(),this.options.allowDropdown&&this._initDropdownListeners(),this.hiddenInput&&this._initHiddenInputListener()},_initHiddenInputListener:function(){var that=this,form=this.telInput.closest("form");form.length&&form.submit(function(){that.hiddenInput.val(that.getNumber())})},_initDropdownListeners:function(){var that=this,label=this.telInput.closest("label");label.length&&label.on("click"+this.ns,function(e){that.countryList.hasClass("hide")?that.telInput.focus():e.preventDefault()}),this.selectedFlagInner.parent().on("click"+this.ns,function(e){!that.countryList.hasClass("hide")||that.telInput.prop("disabled")||that.telInput.prop("readonly")||that._showDropdown()}),this.flagsContainer.on("keydown"+that.ns,function(e){!that.countryList.hasClass("hide")||e.which!=keys_UP&&e.which!=keys_DOWN&&e.which!=keys_SPACE&&e.which!=keys_ENTER||(e.preventDefault(),e.stopPropagation(),that._showDropdown()),e.which==keys_TAB&&that._closeDropdown()})},_initRequests:function(){var that=this;this.options.utilsScript&&!window.intlTelInputUtils?$.fn[pluginName].windowLoaded?$.fn[pluginName].loadUtils(this.options.utilsScript):$(window).on("load",function(){$.fn[pluginName].loadUtils(that.options.utilsScript)}):this.utilsScriptDeferred.resolve(),"auto"===this.options.initialCountry?this._loadAutoCountry():this.autoCountryDeferred.resolve()},_loadAutoCountry:function(){$.fn[pluginName].autoCountry?this.handleAutoCountry():$.fn[pluginName].startedLoadingAutoCountry||($.fn[pluginName].startedLoadingAutoCountry=!0,"function"==typeof this.options.geoIpLookup&&this.options.geoIpLookup(function(countryCode){$.fn[pluginName].autoCountry=countryCode.toLowerCase(),setTimeout(function(){$(".intl-tel-input input").intlTelInput("handleAutoCountry")})}))},_initKeyListeners:function(){var that=this;this.telInput.on("keyup"+this.ns,function(){that._updateFlagFromNumber(that.telInput.val())&&that._triggerCountryChange()}),this.telInput.on("cut"+this.ns+" paste"+this.ns,function(){setTimeout(function(){that._updateFlagFromNumber(that.telInput.val())&&that._triggerCountryChange()})})},_cap:function(number){var max=this.telInput.attr("maxlength");return max&&number.length>max?number.substr(0,max):number},_initFocusListeners:function(){var that=this;this.telInput.on("mousedown"+this.ns,function(e){that.telInput.is(":focus")||that.telInput.val()||(e.preventDefault(),that.telInput.focus())}),this.telInput.on("focus"+this.ns,function(e){that.telInput.val()||that.telInput.prop("readonly")||!that.selectedCountryData.dialCode||(that.telInput.val("+"+that.selectedCountryData.dialCode),that.telInput.one("keypress.plus"+that.ns,function(e){e.which==keys_PLUS&&that.telInput.val("")}
1),setTimeout(function(){var input=that.telInput[0];if(that.isGoodBrowser){var len=that.telInput.val().length;input.setSelectionRange(len,len)}}))});var form=this.telInput.prop("form");form&&$(form).on("submit"+this.ns,function(){that._removeEmptyDialCode()}),this.telInput.on("blur"+this.ns,function(){that._removeEmptyDialCode()})},_removeEmptyDialCode:function(){var value=this.telInput.val();if("+"==value.charAt(0)){var numeric=this._getNumeric(value);numeric&&this.selectedCountryData.dialCode!=numeric||this.telInput.val("")}this.telInput.off("keypress.plus"+this.ns)},_getNumeric:function(s){return s.replace(/\D/g,"")},_showDropdown:function(){this._setDropdownPosition();var activeListItem=this.countryList.children(".active");activeListItem.length&&(this._highlightListItem(activeListItem),this._scrollTo(activeListItem)),this._bindDropdownListeners(),this.selectedFlagInner.children(".iti-arrow").addClass("up"),this.telInput.trigger("open:countrydropdown")},_setDropdownPosition:function(){var that=this;if(this.options.dropdownContainer&&this.dropdown.appendTo(this.options.dropdownContainer),this.dropdownHeight=this.countryList.removeClass("hide").attr("aria-expanded","true").outerHeight(),!this.isMobile){var pos=this.telInput.offset(),inputTop=pos.top,windowTop=$(window).scrollTop(),dropdownFitsBelow=inputTop+this.telInput.outerHeight()+this.dropdownHeight<windowTop+$(window).height(),dropdownFitsAbove=inputTop-this.dropdownHeight>windowTop;if(this.countryList.toggleClass("dropup",!dropdownFitsBelow&&dropdownFitsAbove),this.options.dropdownContainer){var extraTop=!dropdownFitsBelow&&dropdownFitsAbove?0:this.telInput.innerHeight();this.dropdown.css({top:inputTop+extraTop,left:pos.left}),$(window).on("scroll"+this.ns,function(){that._closeDropdown()})}}},_bindDropdownListeners:function(){var that=this;this.countryList.on("mouseover"+this.ns,".country",function(e){that._highlightListItem($(this))}),this.countryList.on("click"+this.ns,".country",function(e){that._selectListItem($(this))});var isOpening=!0;$("html").on("click"+this.ns,function(e){isOpening||that._closeDropdown(),isOpening=!1});var query="",queryTimer=null;$(document).on("keydown"+this.ns,function(e){e.preventDefault(),e.which==keys_UP||e.which==keys_DOWN?that._handleUpDownKey(e.which):e.which==keys_ENTER?that._handleEnterKey():e.which==keys_ESC?that._closeDropdown():(e.which>=keys_A&&e.which<=keys_Z||e.which==keys_SPACE)&&(queryTimer&&clearTimeout(queryTimer),query+=String.fromCharCode(e.which),that._searchForCountry(query),queryTimer=setTimeout(function(){query=""},1e3))})},_handleUpDownKey:function(key){var current=this.countryList.children(".highlight").first(),next=key==keys_UP?current.prev():current.next();next.length&&(next.hasClass("divider")&&(next=key==keys_UP?next.prev():next.next()),this._highlightListItem(next),this._scrollTo(next))},_handleEnterKey:function(){var currentCountry=this.countryList.children(".highlight").first();currentCountry.length&&this._selectListItem(currentCountry)},_searchForCountry:function(query){for(var i=0;i<this.countries.length;i++)if(this._startsWith(this.countries[i].name,query)){var listItem=this.countryList.children("[data-country-code="+this.countries[i].iso2+"]").not(".preferred");this._highlightListItem(listItem),this._scrollTo(listItem,!0);break}},_startsWith:function(a,b){return a.substr(0,b.length).toUpperCase()==b},_updateValFromNumber:function(number){if(this.options.formatOnDisplay&&window.intlTelInputUtils&&this.selectedCountryData){var format=this.options.separateDialCode||!this.options.nationalMode&&"+"==number.charAt(0)?intlTelInputUtils.numberFormat.INTERNATIONAL:intlTelInputUtils.numberFormat.NATIONAL;number=intlTelInputUtils.formatNumber(number,this.selectedCountryData.iso2,format)}number=this._beforeSetNumber(number),this.telInput.val(number)},_updateFlagFromNumber:function(number){number&&this.options.nationalMode&&"1"==this.selectedCountryData.dialCode&&"+"!=number.charAt(0)&&("1"!=number.charAt(0)&&(number="1"+number),number="+"+number);var dialCode=this._getDialCode(number),countryCode=null,numeric=this._getNumeric(number);if(dialCode){var countryCodes=this.countryCodes[this._getNumeric(dialCode)],alreadySelected=-1<$.inArray(this.selectedCountryData.iso2,countryCodes),isNanpAreaCode="+1"==dialCode&&4<=numeric.length;if((!("1"==this.selectedCountryData.dialCode)||!this._isRegionlessNanp(numeric))&&(!alreadySelected||isNanpAreaCode))for(var j=0;j<countryCodes.length;j++)if(countryCodes[j]){countryCode=countryCodes[j];break}}else"+"==number.charAt(0)&&numeric.length?countryCode="":number&&"+"!=number||(countryCode=this.defaultCountry);return null!==countryCode&&this._setFlag(countryCode)},_isRegionlessNanp:function(number){var numeric=this._getNumeric(number);if("1"!=numeric.charAt(0))return!1;var areaCode=numeric.substr(1,3);return-1<$.inArray(areaCode,regionlessNanpNumbers)},_highlightListItem:function(listItem){this.countryListItems.removeClass("highlight"),listItem.addClass("highlight")},_getCountryData:function(countryCode,ignoreOnlyCountriesOption,allowF
1ail){for(var countryList=ignoreOnlyCountriesOption?allCountries:this.countries,i=0;i<countryList.length;i++)if(countryList[i].iso2==countryCode)return countryList[i];if(allowFail)return null;throw new Error("No country data for '"+countryCode+"'")},_setFlag:function(countryCode){var prevCountry=this.selectedCountryData.iso2?this.selectedCountryData:{};this.selectedCountryData=countryCode?this._getCountryData(countryCode,!1,!1):{},this.selectedCountryData.iso2&&(this.defaultCountry=this.selectedCountryData.iso2),this.selectedFlagInner.attr("class","iti-flag "+countryCode);var title=countryCode?this.selectedCountryData.name+": +"+this.selectedCountryData.dialCode:"Unknown";if(this.selectedFlagInner.parent().attr("title",title),this.options.separateDialCode){var dialCode=this.selectedCountryData.dialCode?"+"+this.selectedCountryData.dialCode:"",parent=this.telInput.parent();prevCountry.dialCode&&parent.removeClass("iti-sdc-"+(prevCountry.dialCode.length+1)),dialCode&&parent.addClass("iti-sdc-"+dialCode.length),this.selectedDialCode.text(dialCode)}if(this._updatePlaceholder(),this.options.allowDropdown&&(this.countryListItems.removeClass("active").attr("aria-selected","false"),countryCode)){var listItem=this.countryListItems.find(".iti-flag."+countryCode).first().closest(".country");listItem.addClass("active").attr("aria-selected","true"),this.countryList.attr("aria-activedescendant",listItem.attr("id"))}return prevCountry.iso2!==countryCode},_updatePlaceholder:function(){var shouldSetPlaceholder="aggressive"===this.options.autoPlaceholder||!this.hadInitialPlaceholder&&(!0===this.options.autoPlaceholder||"polite"===this.options.autoPlaceholder);if(window.intlTelInputUtils&&shouldSetPlaceholder){var numberType=intlTelInputUtils.numberType[this.options.placeholderNumberType],placeholder=this.selectedCountryData.iso2?intlTelInputUtils.getExampleNumber(this.selectedCountryData.iso2,this.options.nationalMode,numberType):"";placeholder=this._beforeSetNumber(placeholder),"function"==typeof this.options.customPlaceholder&&(placeholder=this.options.customPlaceholder(placeholder,this.selectedCountryData)),this.telInput.attr("placeholder",placeholder)}},_selectListItem:function(listItem){var flagChanged=this._setFlag(listItem.attr("data-country-code"));if(this._closeDropdown(),this._updateDialCode(listItem.attr("data-dial-code"),!0),this.telInput.focus(),this.isGoodBrowser){var len=this.telInput.val().length;this.telInput[0].setSelectionRange(len,len)}flagChanged&&this._triggerCountryChange()},_closeDropdown:function(){this.countryList.addClass("hide"),this.countryList.attr("aria-expanded","false"),this.selectedFlagInner.children(".iti-arrow").removeClass("up"),$(document).off(this.ns),$("html").off(this.ns),this.countryList.off(this.ns),this.options.dropdownContainer&&(this.isMobile||$(window).off("scroll"+this.ns),this.dropdown.detach()),this.telInput.trigger("close:countrydropdown")},_scrollTo:function(element,middle){var container=this.countryList,containerHeight=container.height(),containerTop=container.offset().top,containerBottom=containerTop+containerHeight,elementHeight=element.outerHeight(),elementTop=element.offset().top,elementBottom=elementTop+elementHeight,newScrollTop=elementTop-containerTop+container.scrollTop(),middleOffset=containerHeight/2-elementHeight/2;if(elementTop<containerTop)middle&&(newScrollTop-=middleOffset),container.scrollTop(newScrollTop);else if(containerBottom<elementBottom){middle&&(newScrollTop+=middleOffset);var heightDifference=containerHeight-elementHeight;container.scrollTop(newScrollTop-heightDifference)}},_updateDialCode:function(newDialCode,hasSelectedListItem){var newNumber,inputVal=this.telInput.val();if(newDialCode="+"+newDialCode,"+"==inputVal.charAt(0)){var prevDialCode=this._getDialCode(inputVal);newNumber=prevDialCode?inputVal.replace(prevDialCode,newDialCode):newDialCode}else{if(this.options.nationalMode||this.options.separateDialCode)return;if(inputVal)newNumber=newDialCode+inputVal;else{if(!hasSelectedListItem&&this.options.autoHideDialCode)return;newNumber=newDialCode}}this.telInput.val(newNumber)},_getDialCode:function(number){var dialCode="";if("+"==number.charAt(0))for(var numericChars="",i=0;i<number.length;i++){var c=number.charAt(i);if($.isNumeric(c)&&(numericChars+=c,this.countryCodes[numericChars]&&(dialCode=number.substr(0,i+1)),4==numericChars.length))break}return dialCode},_getFullNumber:function(){var val=$.trim(this.telInput.val()),dialCode=this.selectedCountryData.dialCode,numericVal=this._getNumeric(val),normalizedVal="1"==numericVal.charAt(0)?numericVal:"1"+numericVal;return(this.options.separateDialCode?"+"+dialCode:val&&"+"!=val.charAt(0)&&"1"!=val.charAt(0)&&dialCode&&"1"==dialCode.charAt(0)&&4==dialCode.length&&dialCode!=normalizedVal.substr(0,4)?dialCode.substr(1):"")+val},_beforeSetNumber:function(number){if(this.options.separateDialCode){var dialCode=this._getDialCode(number);if(dialCode){null!==this.selectedCountryData.areaCodes&&(dialCode="+"+this.selectedCountryData.dialCode);var start=" "===number[dialCode.length]||"-"===number[dialCode.length]?dialCode.length+1:dialCode.length;number=number.substr(start)}}return this._cap(number)},_triggerCountryChange:function(){this.telInput.trigger("countrychange",this.selectedCountryData)},handleAutoCountry:function(){"auto"===this.options.initialCountry&&(this.defaultCountry=$.fn[pluginName].autoCountry,this.telInput.val()||this.setCountry(this.defaultCountry),this.autoCountryDeferred.resolve())},handleUtils:function(){window.intlTelInputUtils&&(this.telInput.val()&&this._updateV
1alFromNumber(this.telInput.val()),this._updatePlaceholder()),this.utilsScriptDeferred.resolve()},destroy:function(){if(this.options.allowDropdown&&(this._closeDropdown(),this.selectedFlagInner.parent().off(this.ns),this.telInput.closest("label").off(this.ns)),this.options.autoHideDialCode){var form=this.telInput.prop("form");form&&$(form).off(this.ns)}this.telInput.off(this.ns),this.telInput.parent().before(this.telInput).remove()},getExtension:function(){return window.intlTelInputUtils?intlTelInputUtils.getExtension(this._getFullNumber(),this.selectedCountryData.iso2):""},getNumber:function(format){return window.intlTelInputUtils?intlTelInputUtils.formatNumber(this._getFullNumber(),this.selectedCountryData.iso2,format):""},getNumberType:function(){return window.intlTelInputUtils?intlTelInputUtils.getNumberType(this._getFullNumber(),this.selectedCountryData.iso2):-99},getSelectedCountryData:function(){return this.selectedCountryData},getValidationError:function(){return window.intlTelInputUtils?intlTelInputUtils.getValidationError(this._getFullNumber(),this.selectedCountryData.iso2):-99},isValidNumber:function(){var val=$.trim(this._getFullNumber()),countryCode=this.options.nationalMode?this.selectedCountryData.iso2:"";return window.intlTelInputUtils?intlTelInputUtils.isValidNumber(val,countryCode):null},setCountry:function(countryCode){countryCode=countryCode.toLowerCase(),this.selectedFlagInner.hasClass(countryCode)||(this._setFlag(countryCode),this._updateDialCode(this.selectedCountryData.dialCode,!1),this._triggerCountryChange())},setNumber:function(number){var flagChanged=this._updateFlagFromNumber(number);this._updateValFromNumber(number),flagChanged&&this._triggerCountryChange()},setPlaceholderNumberType:function(type){this.options.placeholderNumberType=type,this._updatePlaceholder()}},$.fn[pluginName]=function(options){var returns,args=arguments;if(options===undefined||"object"==typeof options){var deferreds=[];return this.each(function(){if(!$.data(this,"plugin_"+pluginName)){var instance=new Plugin(this,options),instanceDeferreds=instance._init();deferreds.push(instanceDeferreds[0]),deferreds.push(instanceDeferreds[1]),$.data(this,"plugin_"+pluginName,instance)}}),$.when.apply(null,deferreds)}if("string"==typeof options&&"_"!==options[0])return this.each(function(){var instance=$.data(this,"plugin_"+pluginName);instance instanceof Plugin&&"function"==typeof instance[options]&&(returns=instance[options].apply(instance,Array.prototype.slice.call(args,1))),"destroy"===options&&$.data(this,"plugin_"+pluginName,null)}
1),returns!==undefined?returns:this},$.fn[pluginName].getCountryData=function(){return allCountries},$.fn[pluginName].loadUtils=function(path){return $.fn[pluginName].startedLoadingUtilsScript?null:($.fn[pluginName].startedLoadingUtilsScript=!0,$.ajax({type:"GET",url:path,complete:function(){$(".intl-tel-input input").intlTelInput("handleUtils")},dataType:"script",cache:!0}))},$.fn[pluginName].defaults=defaults,$.fn[pluginName].version="13.0.2";for(var allCountries=[["Afghanistan (â«Ø§ÙØºØ§ÙØ³ØªØ§Ùâ¬â)","af","93"],["Albania (Shqipëri)","al","355"],["Algeria (â«Ø§Ùجزائرâ¬â)","dz","213"],["American Samoa","as","1684"],["Andorra","ad","376"],["Angola","ao","244"],["Anguilla","ai","1264"],["Antigua and Barbuda","ag","1268"],["Argentina","ar","54"],["Armenia (ÕÕ¡ÕµÕ¡Õ½Õ¿Õ¡Õ¶)","am","374"],["Aruba","aw","297"],["Australia","au","61",0],["Austria (Ãsterreich)","at","43"],["Azerbaijan (AzÉrbaycan)","az","994"],["Bahamas","bs","1242"],["Bahrain (â«Ø§ÙØ¨ØØ±ÙÙâ¬â)","bh","973"],["Bangladesh (বাà¦à¦²à¦¾à¦¦à§à¦¶)","bd","880"],["Barbados","bb","1246"],["Belarus (ÐелаÑÑÑÑ)","by","375"],["Belgium (België)","be","32"],["Belize","bz","501"],["Benin (Bénin)","bj","229"],["Bermuda","bm","1441"],["Bhutan (འà½à¾²à½´à½)","bt","975"],["Bolivia","bo","591"],["Bosnia and Herzegovina (ÐоÑна и ХеÑÑеговина)","ba","387"],["Botswana","bw","267"],["Brazil (Brasil)","br","55"],["British Indian Ocean Territory","io","246"],["British Virgin Islands","vg","1284"],["Brunei","bn","673"],["Bulgaria (ÐÑлгаÑиÑ)","bg","359"],["Burkina Faso","bf","226"],["Burundi (Uburundi)","bi","257"],["Cambodia (ááááá»áá¶)","kh","855"],["Cameroon (Cameroun)","cm","237"],["Canada","ca","1",1,["204","226","236","249","250","289","306","343","365","387","403","416","418","431","437","438","450","506","514","519","548","579","581","587","604","613","639","647","672","705","709","742","778","780","782","807","819","825","867","873","902","905"]],["Cape Verde (Kabu Verdi)","cv","238"],["Caribbean Netherlands","bq","599",1],["Cayman Islands","ky","1345"],["Central African Republic (République centrafricaine)","cf","236"],["Chad (Tchad)","td","235"],["Chile","cl","56"],["China (ä¸å½)","cn","86"],["Christmas Island","cx","61",2],["Cocos (Keeling) Islands","cc","61",1],["Colombia","co","57"],["Comoros (â«Ø¬Ø²Ø± اÙÙÙ
رâ¬â)","km","269"],["Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)","cd","243"],["Congo (Republic) (Congo-Brazzaville)","cg","242"],["Cook Islands","ck","682"],["Costa Rica","cr","506"],["Côte dâIvoire","ci","225"],["Croatia (Hrvatska)","hr","385"],["Cuba","cu","53"],["Curaçao","cw","599",0],["Cyprus (ÎÏÏÏοÏ)","cy","357"],["Czech Republic (Äeská republika)","cz","420"],["Denmark (Danmark)","dk","45"],["Djibouti","dj","253"],["Dominica","dm","1767"],["Dominican Republic (República Dominicana)","do","1",2,["809","829","849"]],["Ecuador","ec","593"],["Egypt (â«Ù
صرâ¬â)","eg","20"],["El Salvador","sv","503"],["Equatorial Guinea (Guinea Ecuatorial)","gq","240"],["Eritrea","er","291"],["Estonia (Eesti)","ee","372"],["Ethiopia","et","251"],["Falkland Islands (Islas Malvinas)","fk","500"],["Faroe Islands (Føroyar)","fo","298"],["Fiji","fj","679"],["Finland (Suomi)","fi","358",0],["France","fr","33"],["French Guiana (Guyane française)","gf","594"],["French Polynesia (Polynésie française)","pf","689"],["Gabon","ga","241"],["Gambia","gm","220"],["Georgia (á¡áá¥áá ááááá)","ge","995"],["Germany (Deutschland)","de","49"],["Ghana (Gaana)","gh","233"],["Gibraltar","gi","350"],["Greece (Îλλάδα)","gr","30"],["Greenland (Kalaallit Nunaat)","gl","299"],["Grenada","gd","1473"],["Guadeloupe","gp","590",0],["Guam","gu","1671"],["Guatemala","gt","502"],["Guernsey","gg","44",1],["Guinea (Guinée)","gn","224"],["Guinea-Bissau (Guiné Bissau)","gw","245"],["Guyana","gy","592"],["Haiti","ht","509"],["Honduras","hn","504"],["Hong Kong (馿¸¯)","hk","852"],["Hungary (Magyarország)","hu","36"],["Iceland (Ãsland)","is","354"],["India (à¤à¤¾à¤°à¤¤)","in","91"],["Indonesia","id","62"],["Iran (â«Ø§ÛراÙâ¬â)","ir","98"],["Iraq (â«Ø§ÙعراÙâ¬â)","iq","964"],["Ireland","ie","353"],["Isle of Man","im","44",2],["Israel (â«×שר××â¬â)","il","972"],["Italy (Italia)","it","39",0],["Jamaica","jm","1",4,["876","658"]],["Japan (æ¥æ¬)","jp","81"],["Jersey","je","44",3],["Jordan (â«Ø§ÙأردÙâ¬â)","jo","962"],["Kazakhstan (ÐазаÑ
ÑÑан)","kz","7",1],["Kenya","ke","254"],["Kiribati","ki","686"],["Kosovo","xk","383"],["Kuwait (â«Ø§ÙÙÙÙØªâ¬â)","kw","965"],["Kyrgyzstan (ÐÑÑг
1ÑзÑÑан)","kg","996"],["Laos (ລາວ)","la","856"],["Latvia (Latvija)","lv","371"],["Lebanon (â«ÙØ¨ÙØ§Ùâ¬â)","lb","961"],["Lesotho","ls","266"],["Liberia","lr","231"],["Libya (â«ÙÙØ¨Ùاâ¬â)","ly","218"],["Liechtenstein","li","423"],["Lithuania (Lietuva)","lt","370"],["Luxembourg","lu","352"],["Macau (æ¾³é)","mo","853"],["Macedonia (FYROM) (ÐакедониÑа)","mk","389"],["Madagascar (Madagasikara)","mg","261"],["Malawi","mw","265"],["Malaysia","my","60"],["Maldives","mv","960"],["Mali","ml","223"],["Malta","mt","356"],["Marshall Islands","mh","692"],["Martinique","mq","596"],["Mauritania (â«Ù
ÙØ±ÙتاÙÙØ§â¬â)","mr","222"],["Mauritius (Moris)","mu","230"],["Mayotte","yt","262",1],["Mexico (México)","mx","52"],["Micronesia","fm","691"],["Moldova (Republica Moldova)","md","373"],["Monaco","mc","377"],["Mongolia (Ðонгол)","mn","976"],["Montenegro (Crna Gora)","me","382"],["Montserrat","ms","1664"],["Morocco (â«Ø§ÙÙ
غربâ¬â)","ma","212",0],["Mozambique (Moçambique)","mz","258"],["Myanmar (Burma) (áá¼ááºáá¬)","mm","95"],["Namibia (Namibië)","na","264"],["Nauru","nr","674"],["Nepal (नà¥à¤ªà¤¾à¤²)","np","977"],["Netherlands (Nederland)","nl","31"],["New Caledonia (Nouvelle-Calédonie)","nc","687"],["New Zealand","nz","64"],["Nicaragua","ni","505"],["Niger (Nijar)","ne","227"],["Nigeria","ng","234"],["Niue","nu","683"],["Norfolk Island","nf","672"],["North Korea (ì¡°ì 민주주ì ì¸ë¯¼ ê³µíêµ)","kp","850"],["Northern Mariana Islands","mp","1670"],["Norway (Norge)","no","47",0],["Oman (â«Ø¹ÙÙ
اÙâ¬â)","om","968"],["Pakistan (â«Ù¾Ø§Ú©Ø³ØªØ§Ùâ¬â)","pk","92"],["Palau","pw","680"],["Palestine (â«ÙÙØ³Ø·ÙÙâ¬â)","ps","970"],["Panama (Panamá)","pa","507"],["Papua New Guinea","pg","675"],["Paraguay","py","595"],["Peru (Perú)","pe","51"],["Philippines","ph","63"],["Poland (Polska)","pl","48"],["Portugal","pt","351"],["Puerto Rico","pr","1",3,["787","939"]],["Qatar (â«Ùطرâ¬â)","qa","974"],["Réunion (La Réunion)","re","262",0],["Romania (România)","ro","40"],["Russia (РоÑÑиÑ)","ru","7",0],["Rwanda","rw","250"],["Saint Barthélemy","bl","590",1],["Saint Helena","sh","290"],["Saint Kitts and Nevis","kn","1869"],["Saint Lucia","lc","1758"],["Saint Martin (Saint-Martin (partie française))","mf","590",2],["Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)","pm","508"],["Saint Vincent and the Grenadines","vc","1784"],["Samoa","ws","685"],["San Marino","sm","378"],["São Tomé and PrÃncipe (São Tomé e PrÃncipe)","st","239"],["Saudi Arabia (â«Ø§ÙÙ
Ù
ÙÙØ© Ø§ÙØ¹Ø±Ø¨ÙØ© Ø§ÙØ³Ø¹ÙØ¯ÙØ©â¬â)","sa","966"],["Senegal (Sénégal)","sn","221"],["Serbia (СÑбиÑа)","rs","381"],["Seychelles","sc","248"],["Sierra Leone","sl","232"],["Singapore","sg","65"],["Sint Maarten","sx","1721"],["Slovakia (Slovensko)","sk","421"],["Slovenia (Slovenija)","si","386"],["Solomon Islands","sb","677"],["Somalia (Soomaaliya)","so","252"],["South Africa","za","27"],["South Korea (ëí민êµ)","kr","82"],["South Sudan (â«Ø¬ÙÙØ¨ Ø§ÙØ³ÙداÙâ¬â)","ss","211"],["Spain (España)","es","34"],["Sri Lanka (à·à·âර෠ලà¶à¶à·à·)","lk","94"],["Sudan (â«Ø§ÙØ³ÙØ¯Ø§Ùâ¬â)","sd","249"],["Suriname","sr","597"],["Svalbard and Jan Mayen","sj","47",1],["Swaziland","sz","268"],["Sweden (Sverige)","se","46"],["Switzerland (Schweiz)","ch","41"],["Syria (â«Ø³ÙØ±ÙØ§â¬â)","sy","963"],["Taiwan (å°ç£)","tw","886"],["Tajikistan","tj","992"],["Tanzania","tz","255"],["Thailand (à¹à¸à¸¢)","th","66"],["Timor-Leste","tl","670"],["Togo","tg","228"],["Tokelau","tk","690"],["Tonga","to","676"],["Trinidad and Tobago","tt","1868"],["Tunisia (â«ØªÙÙØ³â¬â)","tn","216"],["Turkey (Türkiye)","tr","90"],["Turkmenistan","tm","993"],["Turks and Caicos Islands","tc","1649"],["Tuvalu","tv","688"],["U.S. Virgin Islands","vi","1340"],["Uganda","ug","256"],["Ukraine (УкÑаÑна)","ua","380"],["United Arab Emirates (â«Ø§ÙØ¥Ù
ارات Ø§ÙØ¹Ø±Ø¨ÙØ© اÙÙ
ØªØØ¯Ø©â¬â)","ae","971"],["United Kingdom","gb","44",0],["United States","us","1",0],["Uruguay","uy","598"],["Uzbekistan (OÊ»zbekiston)","uz","998"],["Vanuatu","vu","678"],["Vatican City (Città del Vaticano)","va","39",1],["Venezuela","ve","58"],["Vietnam (Viá»t Nam)","vn","84"],["Wallis and Futuna (Wallis-et-Futuna)","wf","681"],["Western Sahara (â«Ø§ÙØµØØ±Ø§Ø¡ Ø§ÙØºØ±Ø¨ÙØ©â¬â)","eh","212",1],["Yemen (â«Ø§ÙÙÙ
Ùâ¬â)","ye","967"],["Zambia","zm","260"],["Zimbabwe","zw","263"],["Ã
land Islands","ax","358",1]],i=0;i<allCountries.length;i++){var c=allCountries[i];allCountries[i]={name:c[0],iso2:c[1],dialCode:c[2],priority:c[3]||0,areaCodes:c[4]||null}}}),function(){var aa=this;function k(a){return"string"==typeof a}function m(a,b){a=a.split(".");var d,c=aa;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(;a.length&&(d=a.shift());)a.length||void 0===b?c=c[d]&&c[d]!==Object.prototype[d]?c[d]:c[d]={}:c[d]=b}function n(a,b){function c(){}c.prototype=b.prototype,a.o=b.prototype,a.prototype=new c,(a.prototype.constructor=a).aa=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}}var p=Array.prototype.indexOf?function(a,b,c){return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){if(c=null==c?0:c<0?Math.max(0,a.length+c):c,k(a))return k(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};function q(a,b){a.sort(b||ba)}function ba(a,b){return b<a?1:a<b?-1:0}function da(a,b){switch(this.a=a,this.h=!!b.i,this.c=b.b,this.m=b.type,this.l=!1,this.c){case ea:case fa:case ha:case ia:case ja:case ka:case la:this.l=!0}this.g=b.defaultValue}var la=1,ka=2,ea=3,fa=4,ha=6,ia=16,ja=18;function ma(a,b){for(this.c=a,this.a={},a=0;a<b.length;a++){var c=b[a];this.a[c.a]=c}}function r(){this.a={},this.g=this.f().a,this.c=this.h=null}function oa(a,b){for(var c=function(a){return q(a=function(a){var d,b=[],c=0;for(d in a)b[c++]=a[d];return b}(a.a),function(a,c){return a.a-c.a}),a}(a.f()),d=0;d<c.length;d++){var e=c[d],f=e.a;
vendor: 8,709 bytes, line 1
1if(null!=b.a[f]){a.c&&delete a.c[e.a];var g=11==e.c||10==e.c;if(e.h){e=w(b,f);for(var h=0;h<e.length;h++)v(a,f,g?e[h].clone():e[h])}else e=x(b,f),g?(g=x(a,f))?oa(g,e):u(a,f,e.clone()):u(a,f,e)}}}function x(a,b){var c=a.a[b];if(null==c)return null;if(a.h){if(b in a.c)return a.c[b];var d=a.h,e=a.g[b];if(null!=c)if(e.h){for(var f=[],g=0;g<c.length;g++)f[g]=d.c(e,c[g]);c=f}else c=d.c(e,c);return a.c[b]=c}return c}function t(a,b,c){var d=x(a,b);return a.g[b].h?d[c||0]:d}function y(a,b){if(null!=a.a[b])a=t(a,b,void 0);else a:{if(void 0===(a=a.g[b]).g)if((b=a.m)===Boolean)a.g=!1;else if(b===Number)a.g=0;else{if(b!==String){a=new b;break a}a.g=a.l?"0":""}a=a.g}return a}function w(a,b){return x(a,b)||[]}function A(a,b){return a.g[b].h?null!=a.a[b]?a.a[b].length:0:null!=a.a[b]?1:0}function u(a,b,c){a.a[b]=c,a.c&&(a.c[b]=c)}function v(a,b,c){a.a[b]||(a.a[b]=[]),a.a[b].push(c),a.c&&delete a.c[b]}function B(a,b){var d,c=[];for(d in b)0!=d&&c.push(new da(d,b[d]));return new ma(a,c)}function C(){}r.prototype.has=function(a){return null!=this.a[a.a]},r.prototype.get=function(a,b){return t(this,a.a,b)},r.prototype.set=function(a,b){u(this,a.a,b)},r.prototype.add=function(a,b){v(this,a.a,b)},r.prototype.clone=function(){var a=new this.constructor;return a!=this&&(a.a={},a.c&&(a.c={}),oa(a,this)),a},C.prototype.a=function(a){throw new a.c,Error("Unimplemented")},C.prototype.c=function(a,b){if(11==a.c||10==a.c)return b instanceof r?b:this.a(a.m.prototype.f(),b);if(14==a.c)return k(b)&&pa.test(b)&&0<(a=Number(b))?a:b;if(!a.l)return b;if((a=a.m)===String){if("number"==typeof b)return String(b)}else if(a===Number&&k(b)&&("Infinity"===b||"-Infinity"===b||"NaN"===b||pa.test(b)))return Number(b);return b};var pa=/^-?[0-9]+$/;function D(){}function E(){}function F(a,b){null!=a&&this.a.apply(this,arguments)}function G(){r.call(this)}n(D,C),D.prototype.a=function(a,b){return(a=new a.c).h=this,a.a=b,a.c={},a},n(E,D),E.prototype.c=function(a,b){return 8==a.c?!!b:C.prototype.c.apply(this,arguments)},E.prototype.a=function(a,b){return E.o.a.call(this,a,b)},F.prototype.c="",F.prototype.set=function(a){this.c=""+a},F.prototype.a=function(a,b,c){if(this.c+=String(a),null!=b)for(var d=1;d<arguments.length;d++)this.c+=arguments[d];return this},F.prototype.toString=function(){return this.c},n(G,r);var qa=null;function H(){r.call(this)}n(H,r);var ra=null;function I(){r.call(this)}n(I,r);var sa=null;function J(){r.call(this)}G.f=G.prototype.f=function(){var a=qa;return a||(qa=a=B(G,{0:{name:"NumberFormat",j:"i18n.phonenumbers.NumberFormat"},1:{name:"pattern",required:!0,b:9,type:String},2:{name:"format",required:!0,b:9,type:String},3:{name:"leading_digits_pattern",i:!0,b:9,type:String},4:{name:"national_prefix_formatting_rule",b:9,type:String},6:{name:"national_prefix_optional_when_formatting",b:8,defaultValue:!1,type:Boolean},5:{name:"domestic_carrier_code_formatting_rule",b:9,type:String}})),a},H.f=H.prototype.f=function(){var a=ra;return a||(ra=a=B(H,{0:{name:"PhoneNumberDesc",j:"i18n.phonenumbers.PhoneNumberDesc"},2:{name:"national_number_pattern",b:9,type:String},9:{name:"possible_length",i:!0,b:5,type:Number},10:{name:"possible_length_local_only",i:!0,b:5,type:Number},6:{name:"example_number",b:9,type:String}})),a},I.f=I.prototype.f=function(){var a=sa;return a||(sa=a=B(I,{0:{name:"PhoneMetadata",j:"i18n.phonenumbers.PhoneMetadata"},1:{name:"general_desc",b:11,type:H},2:{name:"fixed_line",b:11,type:H},3:{name:"mobile",b:11,type:H},4:{name:"toll_free",b:11,type:H},5:{name:"premium_rate",b:11,type:H},6:{name:"shared_cost",b:11,type:H},7:{name:"personal_number",b:11,type:H},8:{name:"voip",b:11,type:H},21:{name:"pager",b:11,type:H},25:{name:"uan",b:11,type:H},27:{name:"emergency",b:11,type:H},28:{name:"voicemail",b:11,type:H},29:{name:"short_code",b:11,type:H},30:{name:"standard_rate",b:11,type:H},31:{name:"carrier_specific",b:11,type:H},33:{name:"sms_services",b:11,type:H},24:{name:"no_international_dialling",b:11,type:H},9:{name:"id",required:!0,b:9,type:String},10:{name:"country_code",b:5,type:Number},11:{name:"international_prefix",b:9,type:String},17:{name:"preferred_international_prefix",b:9,type:String},12:{name:"national_prefix",b:9,type:String},13:{name:"preferred_extn_prefix",b:9,type:String},15:{name:"national_prefix_for_parsing",b:9,type:String},16:{name:"national_prefix_transform_rule",b:9,type:String},18:{name:"same_mobile_and_fixed_line_pattern",b:8,defaultValue:!1,type:Boolean},19:{name:"number_format",i:!0,b:11,type:G},20:{name:"intl_number_format",i:!0,b:11,type:G},22:{name:"main_country_for_code",b:8,defaultValue:!1,type:Boolean},23:{name:"leading_digits",b:9,type:String},26:{name:"leading_zero_possible",b:8,defaultValue:!1,type:Boolean}})),a},n(J,r);var ta=null,ua={$:0,w:1,v:5,u:10,s:20};J.prototype.f=function(){var a=ta;return a||(ta=a=B(J,{0:{name:"PhoneNumber",j:"i18n.phonenumbers.PhoneNumber"},1:{name:"country_code",required:!0,b:5,type:Number},2:{name:"national_number",required:!0,b:4,type:Number},3:{name:"extension",b:9,type:String},4:{name:"italian_leading_zero",b:8,type:Boolean},8:{name:"number_of_leading_zeros",b:5,defaultValue:1,type:Number},5:{name:"raw_input",b:9,type:String},6:{name:"country_code_source",b:14,defaultValue:0,type:ua},7:{name:"preferred_domestic_carrier_code",b:9,type:String}})),a},(J.ctor=J).f=J.prototype.f;var K={1:"US AG AI AS BB BM BS CA DM DO GD GU JM KN KY LC MP MS PR SX TC TT VC VG VI".split(" "),7:["RU","KZ"],20:["EG"],27:["ZA"],30:["GR"],31:["NL"],32:["BE"],33:["FR"],34:["ES"],36:["HU"],39:["IT","VA"],40:["RO"],41:["CH"],43:["AT"],44:["GB","GG","IM","JE"],45:["DK"],46:["SE"],47:["NO","SJ"],48:["PL"],49:["DE"],51:["PE"],52:["MX"],53:["CU"],54:["AR"],55:["BR"],56:["CL"],57:["CO"],58:["VE"],60:["MY"],61:["AU","CC","CX"],62:["ID"],63:["PH"],64:["NZ"],65:["SG"],66:["TH"],81:["JP"],82:["KR"],84:["VN"],86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],211:["SS"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],239:["ST"],240:["GQ"],241:["GA"],242:["CG"],243:["CD"],244:["AO"],245:["GW"],246:["IO"],247:["AC"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],290:["SH","TA"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],370:["LT"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],381:["RS"],382:["ME"],383:["XK"],385:["HR"],386:["SI"],387:["BA"],389:["MK"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],508:["PM"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],599:["CW","BQ"],670:["TL"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],683:["NU"],685:["WS"],686:["KI"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],692:["MH"],800:["001"],808:["001"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],870:["001"],878:["001"],880:["BD"],881:["001"],882:["001"],883:["001"],886:["TW"],888:["001"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],979:["001"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},wa={AC:[,[,,"(?:[01589]\\d|[46])\\d{4}",,,,,,,[5,6]],[,,"6[2-467]\\d{3}",,,,"62889",,,[5]],[,,"4\\d{4}",,,,"40123",,,[5]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"AC",247,"00",,,,,,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"[01589]\\d{5}",,,,"542011",,,[6]],,,[,,,,,,,,,[-1]]],AD:[,[,,"(?:1|6\\d)\\d{7}|[136-9]\\d{5}",,,,,,,[6,8,9]],[,,"[78]\\d{5}",,,,"712345",,,[6]],[,,"(?:3\\d|6(?:[0-8]|9(?:0\\d{2})?))\\d{4}",,,,"312345",,,[6,9]],[,,"180[02]\\d{4}",,,,"18001234",,,[8]],[,,"[19]\\d{5}",,,,"912345",,,[6]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"AD",376,"00",,,,,,,,[[,"(\\d{3})(\\d{3})","$1 $2",["[136-9]"]],[,"(\\d{4})(\\d{4})","$1 $2",["180","180[02]"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["690"]]],,[,,,,,,,,,[-1]],,,[,,"1800\\d{4}",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AE:[,[,,"(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}
1",,,,,,,[5,6,7,8,9,10,11,12]],[,,"[2-4679][2-8]\\d{6}",,,,"22345678",,,[8],[7]],[,,"5[024-68]\\d{7}",,,,"501234567",,,[9]],[,,"400\\d{6}|800\\d{2,9}",,,,"800123456"],[,,"900[02]\\d{5}",,,,"900234567",,,[9]],[,,"700[05]\\d{5}",,,,"700012345",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"AE",971,"00","0",,,"0",,,,[[,"([2-4679])(\\d{3})(\\d{4})","$1 $2 $3",["[2-4679][2-8]"],"0$1"],[,"(5\\d)(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"],[,"([479]00)(\\d)(\\d{5})","$1 $2 $3",["[479]00"],"$1"],[,"([68]00)(\\d{2,9})","$1 $2",["[68]00"],"$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"600[25]\\d{5}",,,,"600212345",,,[9]],,,[,,,,,,,,,[-1]]],AF:[,[,,"[2-7]\\d{8}",,,,,,,[9],[7]],[,,"(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\\d{6}",,,,"234567890",,,,[7]],[,,"7(?:[014-9]\\d|2[89]|3[01])\\d{6}",,,,"701234567"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"AF",93,"00","0",,,"0",,,,[[,"([2-7]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AG:[,[,,"(?:268|[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"268(?:4(?:6[0-38]|84)|56[0-2])\\d{4}",,,,"2684601234",,,,[7]],[,,"268(?:464|7(?:1[3-9]|2\\d|3[246]|64|[78][0-689]))\\d{4}",,,,"2684641234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,"26848[01]\\d{4}",,,,"2684801234",,,,[7]],"AG",1,"011","1",,,"1",,,,,,[,,"26840[69]\\d{4}",,,,"2684061234",,,,[7]],,"268",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AI:[,[,,"(?:264|[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"2644(?:6[12]|9[78])\\d{4}",,,,"2644612345",,,,[7]],[,,"264(?:235|476|5(?:3[6-9]|8[1-4])|7(?:29|72))\\d{4}",,,,"2642351234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"AI",1,"011","1",,,"1",,,,,,[,,,,,,,,,[-1]],,"264",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AL:[,[,,"(?:(?:[2-58]|6\\d)\\d\\d|700)\\d{5}|(?:8\\d{2,3}|900)\\d{3}",,,,,,,[6,7,8,9],[5]],[,,"(?:[2358](?:[16-9]\\d[2-9]|[2-5][2-9]\\d)|4(?:[2-57-9][2-9]\\d|6\\d{2}))\\d{4}",,,,"22345678",,,[8],[5,6,7]],[,,"6(?:[689][2-9]|7[2-6])\\d{6}",,,,"662123456",,,[9]],[,,"800\\d{4}",,,,"8001234",,,[7]],[,,"900[1-9]\\d{2}",,,,"900123",,,[6]],[,,"808[1-9]\\d{2}",,,,"808123",,,[6]],[,,"700[2-9]\\d{4}",,,,"70021234",,,[8]],[,,,,,,,,,[-1]],"AL",355,"00","0",,,"0",,,,[[,"(4)(\\d{3})(\\d{4})","$1 $2 $3",["4[0-6]"],"0$1"],[,"(6\\d)(\\d{3})(\\d{4})","$1 $2 $3",["6"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2358][2-5]|4[7-9]"],"0$1"],[,"(\\d{3})(\\d{3,5})","$1 $2",["[235][16-9]|[79]|8[016-9]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AM:[,[,,"(?:[1-489]\\d|55|60|77)\\d{6}",,,,,,,[8],[5,6]],[,,"(?:1[0-2]\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2|47\\d)\\d{5}",,,,"10123456",,,,[5,6]],[,,"(?:4[1349]|55|77|88|9[13-9])\\d{6}",,,,"77123456"],[,,"800\\d{5}",,,,"80012345"],[,,"90[016]\\d{5}",,,,"90012345"],[,,"80[1-4]\\d{5}",,,,"80112345"],[,,,,,,,,,[-1]],[,,"60(?:2[78]|3[5-9]|4[02-9]|5[0-46-9]|[6-8]\\d|90)\\d{4}",,,,"60271234"],"AM",374,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{6})","$1 $2",["1|47"],"(0$1)"],[,"(\\d{2})(\\d{6})","$1 $2",["4[1349]|[5-7]|88|9[1-9]"],"0$1"],[,"(\\d{3})(\\d{5})","$1 $2",["[23]"],"(0$1)"],[,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["8|90"],"0 $1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AO:[,[,,"[29]\\d{8}",,,,,,,[9]],[,,"2\\d(?:[26-9]\\d|\\d[26-9])\\d{5}",,,,"222123456"],[,,"9[1-49]\\d{7}",,,,"923123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"AO",244,"00",,,,,,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AR:[,[,,"(?:11|(?:[2368]|9\\d)\\d)\\d{8}",,,,,,,[10,11],[6,7,8]],[,,"11\\d{8}|(?:2(?:2(?:[013]\\d|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:[07]\\d|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|6[013-9])|4(?:7[3-8]|9\\d)|6(?:[01346]\\d|2[24-6]|5[15-8])|80\\d|9(?:[012789]\\d|3[1-6]|4[02-9]|5[234]|6[2-46]))|3(?:3(?:2[79]|6\\d|8[2578])|4(?:0[0124-9]|[1-357]\\d|4[24-7]|6[02-9]|8[0-79]|9[1236-8])|5(?:[138]\\d|2[1245]|4[1-9]|6[2-4]|7[1-6])|6[24]\\d|7(?:[
1069]\\d|1[1568]|2[013-9]|3[145]|4[0-35-9]|5[14-8]|7[2-57]|8[0-24-9])|8(?:[01578]\\d|2[15-7]|3[0-24-9]|4[13-6]|6[1-357-9]|9[124]))|670\\d)\\d{6}",,,,"1123456789",,,[10],[6,7,8]],[,,"675\\d{7}|9(?:11[2-9]\\d{7}|(?:2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[12358]|5[138]|6[24]|7[069]|8[013578]))[2-9]\\d{6}|\\d{4}[2-9]\\d{5})",,,,"91123456789",,,,[6,7,8]],[,,"800\\d{7}",,,,"8001234567",,,[10]],[,,"60[04579]\\d{7}",,,,"6001234567",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"AR",54,"00","0",,,"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))?15)?","9$1",,,[[,"([68]\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"],"0$1"],[,"(\\d{2})(\\d{4})","$1-$2",["[2-9]"],"$1"],[,"(\\d{3})(\\d{4})","$1-$2",["[2-9]"],"$1"],[,"(\\d{4})(\\d{4})","$1-$2",["[2-9]"],"$1"],[,"(9)(11)(\\d{4})(\\d{4})","$2 15-$3-$4",["911"],"0$1"],[,"(9)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9(?:2[2-4689]|3[3-8])","9(?:2(?:2[013]|3[067]|49|6[01346]|8|9[147-9])|3(?:36|4[1-358]|5[138]|6|7[069]|8[013578]))","9(?:2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3[4-6]|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45])))","9(?:2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3(?:4|5[014]|6[1-39])|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45])))"],"0$1"],[,"(9)(\\d{4})(\\d{2})(\\d{4})","$2 15-$3-$4",["9[23]"],"0$1"],[,"(11)(\\d{4})(\\d{4})","$1 $2-$3",["11"],"0$1",,1],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["2(?:2[013]|3[067]|49|6[01346]|8|9[147-9])|3(?:36|4[1-358]|5[138]|6|7[069]|8[013578])","2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3[4-6]|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45]))","2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3(?:4|5[014]|6[1-39])|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45]))"],"0$1",,1],[,"(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["[23]"],"0$1",,1],[,"(\\d{3})","$1",["1[0-2]|911"],"$1"]],[[,"([68]\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"],"0$1"],[,"(9)(11)(\\d{4})(\\d{4})","$1 $2 $3-$4",["911"]],[,"(9)(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3-$4",["9(?:2[2-4689]|3[3-8])","9(?:2(?:2[013]|3[067]|49|6[01346]|8|9[147-9])|3(?:36|4[1-358]|5[138]|6|7[069]|8[013578]))","9(?:2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3[4-6]|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45])))","9(?:2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3(?:4|5[014]|6[1-39])|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45])))"]],[,"(9)(\\d{4})(\\d{2})(\\d{4})","$1 $2 $3-$4",["9[23]"]],[,"(11)(\\d{4})(\\d{4})","$1 $2-$3",["11"],"0$1",,1],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["2(?:2[013]|3[067]|49|6[01346]|8|9[147-9])|3(?:36|4[1-358]|5[138]|6|7[069]|8[013578])","2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3[4-6]|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45]))","2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3(?:4|5[014]|6[1-39])|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45]))"],"0$1",,1],[,"(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["[23]"],"0$1",,1]],[,,,,,,,,,[-1]],,,[,,"810\\d{7}",,,,,,,[10]],[,,"810\\d{7}",,,,"8101234567",,,[10]],,,[,,,,,,,,,[-1]]],AS:[,[,,"(?:[58]\\d\\d|684|900)\\d{7}",,,,,,,[10],[7]],[,,"6846(?:22|33|44|55|77|88|9[19])\\d{4}",,,,"6846221234",,,,[7]],[,,"684(?:2(?:5[2468]|72)|7(?:3[13]|70))\\d{4}",,,,"6847331234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"AS",1,"011","1",,,"1",,,,,,[,,,,,,,,,[-1]],,"684",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AT:[,[,,"[1-35-9]\\d{8,12}|4(?:[0-24-9]\\d{4,11}|3(?:[05]\\d{3,10}|[2-467]\\d{3,4}|8\\d{3,6}|9\\d{3,7}))|[1-35-8]\\d{7}|[1-35-7]\\d{5,6}|[15]\\d{4}|1\\d{3}",,,,,,,[4,5,6,7,8,9,10,11,12,13],[3]],[,,"1\\d{3,12}|(?:2(?:1[467]|2[13-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|9[1458])|3(?:1[1-8]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|4(?:2[1-8]|35|63|7[1368]|8[2457])|5(?:12|2[1-8]|3[357]|4[147]|5[12578]|6[37])|6(?:13|2[1-47]|4[1-35-8]|5[468]|62)|7(?:2[1-8]|3[25]|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\\d{3,10}",,,,"1234567890",,,,[3]],[,,"6(?:5[0-3579]|6[013-9]|[7-9]\\d)\\d{4,10}",,,,"664123456",,,[7,8,9,10,11,12,13]],[,,"800\\d{6,10}",,,,"800123456",,,[9,10,11,12,13]],[,,"9(?:0[01]|3[019])\\d{6,10}",,,,"900123456",,,[9,10,11,12,13]],[,,"8(?:10\\d|2(?:[01]\\d|8\\d?))\\d{5,9}",,,,"810123456",,,[8,9,10,11,12,13]],[,,,,,,,,,[-1]],[,,"5(?:(?:0[1-9]|17)\\d{2,10}|[79]\\d{3,11})|7[28]0\\d{6,10}",,,,"780123456",,,[5,6,7,8,9,10,11,12,13]],"AT",43,"00","0",,,"0",,,,[[,"(116\\d{3})","$1",["116"],"$1"],[,"(1)(\\d{3,12})","$1 $2",["1"],"0$1"],[,"(5\\d)(\\d{3,5})","$1 $2",["5[079]"],"0$1"],[,"(5\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["5[079]"],"0$1"],[,"(5\\d)(\\d{4})(\\d{4,7})","$1 $2 $3",["5[079]"],"0$1"],[,"(\\d{3})(\\d{3,10})","$1 $2",["(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:[28]0|32)|[89]"],"0$1"],[,"(\\d{3})(\\d{2})","$1 $2",["517"],"0$1"],[,"(\\d{4})(\\d{3,9})","$1 $2",["2|3(?:1[1-578]|[3-8])|4[2378]|5[2-6]|6(?:[12]|4[1-9]|5[468])|7(?:[24][1-8]|35|[5-79])"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AU:[,[,,"1\\d{4,9}|[2-578]\\d{8}",,,,,,,[5,6,7,8,9,10]],[,,"[237]\\d{8}|8(?:51(?:0(?:0[03-9]|[1247]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-6])|1(?:1[69]|[23]\\d|4[0-4]))|[6-8]\\d{4}|9(?:[02-9]\\d{3}|1(?:[0-57-9]\\d{2}|6[0135-9]\\d)))\\d{3}",,,,"212345678",,,[9],[8]],[,,"14(?:5\\d|71)\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[6-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}",,,,"412345678",,,[9]],[,,"180(?:0\\d{3}|2)\\d{3}",,,,"1800123456",,,[7,10]],[,,"19(?:0[0126]\\d|[679])\\d{5}",,,,"1900123456",,,[8,10]],[,,"13(?:00\\d{3}|45[0-4]|\\d)\\d{3}",,,,"1300123456",,,[6,8,10]],[,,"500\\d{6}",,,,"500123456",,,[9]],[,,"550\\d{6}",,,,"550123456",,,[9]],"AU",61,"(?:14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011)|001[14-689]","0",,,"0",,"0011",,[[,"([2378])(\\d{4})(\\d{4})","$1 $2 $3",["[2378]"],"(0$1)"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["14|[45]"],"0$1"],[,"(16)(\\d{3,4})","$1 $2",["16"],"0$1"],[,"(16)(\\d{3})(\\d{2,4})","$1 $2 $3",["16"],"0$1"],[,"(1[389]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["1[389]0","1(?:[38]0|9)0"]],[,"(180)(2\\d{3})","$1 $2",["180","1802"]],[,"(19\\d)(\\d{3})","$1 $2",["19[13]"]],[,"(19\\d{2})(\\d{4})","$1 $2",["19[679]"]],[,"(13)(\\d{2})(\\d{2})","$1 $2 $3",["13[1-9]"]]],,[,,"16\\d{3,7}",,,,"1612345",,,[5,6,7,8,9]],1,,[,,"1(?:3(?:00\\d{3}|45[0-4]|\\d)\\d{3}|80(?:0\\d{6}|2\\d{3}))",,,,,,,[6,7,8,10]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AW:[,[,,"(?:[25-79]\\d\\d|800)\\d{4}",,,,,,,[7]],[,,"5(?:2\\d|8[1-9])\\d{4}",,,,"5212345"],[,,"(?:290|5[69]\\d|6(?:[03]0|22|4[0-2]|[69]\\d)|7(?:[34]\\d|7[07])|9(?:6[45]|9[4
1-8]))\\d{4}",,,,"5601234"],[,,"800\\d{4}",,,,"8001234"],[,,"900\\d{4}",,,,"9001234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"28\\d{5}|501\\d{4}",,,,"5011234"],"AW",297,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],AX:[,[,,"1\\d{5,11}|(?:[27]|4\\d)\\d{4,9}|[356]0\\d{6,8}|800\\d{4,7}|[35]0\\d{4,5}",,,,,,,[5,6,7,8,9,10,11,12]],[,,"18[1-8]\\d{3,9}",,,,"181234567",,,[6,7,8,9,10,11,12]],[,,"4\\d{5,10}|50\\d{4,8}",,,,"412345678",,,[6,7,8,9,10,11]],[,,"800\\d{4,7}",,,,"8001234567",,,[7,8,9,10]],[,,"[67]00\\d{5,6}",,,,"600123456",,,[8,9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"AX",358,"00|99(?:[01469]|5(?:11|3[23]|41|5[59]|77|88|9[09]))","0",,,"0",,"00",,,,[,,,,,,,,,[-1]],,,[,,"[13]00\\d{3,7}|2(?:0(?:0\\d{3,7}|2[023]\\d{1,6}|9[89]\\d{1,6}))|60(?:[12]\\d{5,6}|6\\d{7})|7(?:1\\d{7}|3\\d{8}|5[03-9]\\d{3,7})",,,,,,,[5,6,7,8,9,10]],[,,"[13]0\\d{4,8}|2(?:0(?:[016-8]\\d{3,7}|[2-59]\\d{2,7})|9\\d{4,8})|60(?:[12]\\d{5,6}|6\\d{7})|7(?:1\\d{7}|3\\d{8}|5[03-9]\\d{2,7})",,,,"10112345",,,[5,6,7,8,9,10]],,,[,,,,,,,,,[-1]]],AZ:[,[,,"(?:(?:(?:[12457]\\d|60|88)\\d|365)\\d{3}|900200)\\d{3}",,,,,,,[9],[7]],[,,"(?:1[28]\\d{3}|2(?:02|1[24]|2[2-4]|33|[45]2|6[23])\\d{2}|365(?:[0-46-9]\\d|5[0-35-9]))\\d{4}",,,,"123123456",,,,[7]],[,,"(?:36554|(?:4[04]|5[015]|60|7[07])\\d{3})\\d{4}",,,,"401234567"],[,,"88\\d{7}",,,,"881234567"],[,,"900200\\d{3}",,,,"900200123"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"AZ",994,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[28]|2(?:[0-36]|[45]2)|365"],"(0$1)"],[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[4-8]"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BA:[,[,,"(?:[3589]\\d|49|6\\d\\d?|70)\\d{6}",,,,,,,[8,9],[6]],[,,"(?:3(?:[05679][2-9]|1[4579]|[23][24-9]|4[2-4689]|8[2457-9])|49[2-579]|5(?:0[2-49]|[13][2-9]|[268][2-4679]|4[4689]|5[2-79]|7[2-69]|9[2-4689]))\\d{5}",,,,"30212345",,,[8],[6]],[,,"6(?:0(?:3\\d|40)|[1-356]\\d|44[0-6]|71[137])\\d{5}",,,,"61123456"],[,,"8[08]\\d{6}",,,,"80123456",,,[8]],[,,"9[0246]\\d{6}",,,,"90123456",,,[8]],[,,"8[12]\\d{6}",,,,"82123456",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BA",387,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2-$3",["[3-5]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["6[1-356]|[7-9]"],"0$1"],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["6[047]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"70(?:3[0146]|[56]0)\\d{4}",,,,"70341234",,,[8]],,,[,,,,,,,,,[-1]]],BB:[,[,,"(?:246|[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"246(?:2(?:2[78]|7[0-4])|4(?:1[024-6]|2\\d|3[2-9])|5(?:20|[34]\\d|54|7[1-3])|6(?:2\\d|38)|7(?:37|57)|9(?:1[89]|63))\\d{4}",,,,"2464123456",,,,[7]],[,,"246(?:2(?:[356]\\d|4[0-57-9]|8[0-79])|45\\d|69[5-7]|8(?:[2-5]\\d|83))\\d{4}",,,,"2462501234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}|246976\\d{4}",,,,"9002123456",,,,[7]],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,"24631\\d{5}",,,,"2463101234",,,,[7]],"BB",1,"011","1",,,"1",,,,,,[,,,,,,,,,[-1]],,"246",[,,,,,,,,,[-1]],[,,"246(?:292|367|4(?:1[7-9]|3[01]|44|67)|736)\\d{4}",,,,"2464301234",,,,[7]],,,[,,,,,,,,,[-1]]],BD:[,[,,"[13469]\\d{9}|8[0-79]\\d{7,8}|[2-7]\\d{8}|[2-9]\\d{7}|[3-689]\\d{6}|[57-9]\\d{5}",,,,,,,[6,7,8,9,10]],[,,"2(?:[45]\\d{3}|7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|[139][1-6]|2[0157-9]|41|6[1-35]|7[1-5]|8[1-8]|90)|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[0167]|7[15]|8[0146-9]))\\d{4}|3(?:12?[5-7]\\d{2}|0(?:2(?:[025-79]\\d|[348]\\d{1,2})|3(?:[2-4]\\d|[56]\\d?))|2(?:1\\d{2}|2(?:[12]\\d|[35]\\d{1,2}|4\\d?))|3(?:1\\d{2}|2(?:[2356]\\d|4\\d{1,2}))|4(?:1\\d{2}|2(?:2\\d{1,2}|[47]|5\\d{2}))|5(?:1\\d{2}|29)|[67]1\\d{2}|8(?:1\\d{2}|2(?:2\\d{2}|3|4\\d)))\\d{3}|4(?:0(?:2(?:[09]\\d|7)|33\\d{2})|1\\d{3}|2(?:1\\d{2}|2(?:[25]\\d?|[348]\\d|[67]\\d{1,2}))|3(?:1\\d{2}(?:\\d{2})?|2(?:[045]\\d|[236-9]\\d{1,2})|32\\d{2})|4(?:[18]\\d{2}|2(?:[2-46]\\d{2}|3)|5[25]\\d{2})|5(?:1\\d{2}|2(?:3\\d|5))|6(?:[18]\\d{2}|2(?:3(?:\\d{2})?|[46]\\d{1,2}|5\\d{2}|7\\d)|5(?:3\\d?|4\\d|[57]\\d{1,2}|6\\d{2}|8))|71\\d{2}|8(?:[18]\\d{2}|23\\d{2}|54\\d{2})|9(?:[18]\\d{2}|2[2-5]\\d{2}|53\\d{1,2}))\\d{3}|5(?:02[03489]\\d{2}|1\\d{2}|2(?:1\\d{2}|2(?:2(?:\\d{2})?|[457]\\d{2}))|3(?:1\\d{2}|2(?:[37](?:\\d{2})?|[569]\\d{2}))|4(?:1\\d{2}|2[46]\\d{2})|5(?:1\\d{2}|26\\d{1,2})|6(?:[18]\\d{2}|2|53\\d{2})|7(?:1|24)\\d{2}|8(?:1|26)\\d{2}|91\\d{2})\\d{3}|6(?:0(?:1\\d{2}|2(?:3\\d{2}|4\\d{1,2}))|2(?:2[2-5]\\d{2}|5(?:[3-5]\\d{2}|7)|8\\d{2})|3(?:1|2[3478])\\d{2}|4(?:1|2[34])\\d{2}|5(?:1|2[47])\\d{2}|6(?:[18]\\d{2}|6(?:2(?:2\\d|[34]\\d{2})|5(?:[24]\\d{2}|3\\d|5\\d{1,2})))|72[2-5]\\d{2}|8(?:1\\d{2}|2[2-5]\\d{2})|9(?:1\\d{2}|2[2-6]\\d{2}))\\d{3}|7(?:(?:02|[3-589]1|6[12]|72[24])\\d{2}|21\\d{3}|32)\\d{3}|8(?:(?:4[12]|[5-7]2|1\\d?)|(?:0|3[12]|[5-7]1|217)\\d)\\d{4}|9(?:[35]1|(?:[024]2|81)\\d|(?:1|[24]1)\\d{2})\\d{3}",,,,"27111234",,,[6,7,8,9]],[,,"(?:1[13-9]\\d|(?:3[78]|44)[02-9]|6(?:44|6[02-9]))\\d{7}",,,,"1812345678",,,[10]],[,,"80[03]\\d{7}",,,,"8001234567",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"96(?:0[469]|1[0-4]|3[389]|6[69]|7[78])\\d{6}",,,,"9604123456",,,[10]],"BD",880,"00","0",,,"0",,,,[[,"(2)(\\d{7,8})","$1-$2",["2"],"0$1"],[,"(\\d{2})(\\d{4,6})","$1-$2",["[3-79]1"],"0$1"],[,"(\\d{4})(\\d{3,6})","$1-$2",["1|3(?:0|[2-58]2)|4(?:0|[25]2|3[23]|[4689][25])|5(?:[02-578]2|6[25])|6(?:[0347-9]2|[26][25])|7[02-9]2|8(?:[023][23]|[4-7]2)|9(?:[02][23]|[458]2|6[01367])"],"0$1"],[,"(\\d{3})(\\d{3,7})","$1-$2",["[3-79][2-9]|8"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BE:[,[,,"4\\d{8}|[1-9]\\d{7}",,,,,,,[8,9]],[,,"(?:1[0-69]|[23][2-8]|4[23]|5\\d|6[013-57-9]|71|8[1-79]|9[2-4])\\d{6}|80[2-8]\\d{5}",,,,"12345678",,,[8]],[,,"4(?:56|6[0135-8]|[79]\\d|8[3-9])\\d{6}",,,,"470123456",,,[9]],[,,"800[1-9]\\d{4}",,,,"80012345",,,[8]],[,,"(?:70(?:2[0-57]|3[0457]|44|69|7[0579])|90(?:0[0-35-8]|1[36]|2[0-3568]|3[0135689]|4[2-68]|5[1-68]|6[0-378]|7[23568]|9[34679]))\\d{4}",,,,"90012345",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BE",32,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4[5-9]"],"0$1"],[,"(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[23]|4[23]|9[2-4]"],"0$1"],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[156]|7[018]|8(?:0[1-9]|[1-79])"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:80|9)0"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"78[0-7]\\d{5}",,,,"78102345",,,[8]],,,[,,,,,,,,,[-1]]],BF:[,[,,"[25-7]\\d{7}",,,,,,,[8]],[,,"2(?:0(?:49|5[23]|6[56]|9[016-9])|4(?:4[569]|5[4-6]|6[56]|7[0179])|5(?:[34]\\d|50|6[5-7]))\\d{4}",,,,"20491234"],[,,"(?:5[124-8]|[67]\\d)\\d{6}",,,,"70123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BF",226,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BG:[,[,,"[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}",,,,,,,[6,7,8,9],[4,5]],[,,"2\\d{5,7}|(?:[36]\\d|5[1-9]|8[1-6]|9[1-7])\\d{5,6}
1|(?:4(?:[124-7]\\d|3[1-6])|7(?:0[1-9]|[1-9]\\d))\\d{4,5}",,,,"2123456",,,[6,7,8],[4,5]],[,,"(?:8[7-9]\\d|9(?:8\\d|9[69]))\\d{6}|4(?:3[0789]|8\\d)\\d{5}",,,,"48123456",,,[8,9]],[,,"800\\d{5}",,,,"80012345",,,[8]],[,,"90\\d{6}",,,,"90123456",,,[8]],[,,,,,,,,,[-1]],[,,"700\\d{5}",,,,"70012345",,,[8]],[,,,,,,,,,[-1]],"BG",359,"00","0",,,"0",,,,[[,"(2)(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["2"],"0$1"],[,"(2)(\\d{3})(\\d{3,4})","$1 $2 $3",["2"],"0$1"],[,"(\\d{3})(\\d{4})","$1 $2",["43[124-7]|70[1-9]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["43[124-7]|70[1-9]"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[78]00"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["99[69]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["48|8[7-9]|9[08]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BH:[,[,,"[136-9]\\d{7}",,,,,,,[8]],[,,"(?:1(?:3[1356]|6[0156]|7\\d)\\d|6(?:1[16]\\d|500|6(?:0\\d|3[12]|44|7[7-9])|9[69][69])|7(?:1(?:11|78)|7\\d{2}))\\d{4}",,,,"17001234"],[,,"(?:3(?:[1-4679]\\d|5[013-69]|8[0-47-9])\\d|6(?:3(?:00|33|6[16])|6(?:[69]\\d|3[03-9]|7[0-6])))\\d{4}",,,,"36001234"],[,,"80\\d{6}",,,,"80123456"],[,,"(?:87|9[014578])\\d{6}",,,,"90123456"],[,,"84\\d{6}",,,,"84123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BH",973,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BI:[,[,,"(?:[267]\\d|31)\\d{6}",,,,,,,[8]],[,,"22\\d{6}",,,,"22201234"],[,,"(?:29|31|6[189]|7[125-9])\\d{6}",,,,"79561234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BI",257,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BJ:[,[,,"[2689]\\d{7}",,,,,,,[8]],[,,"2(?:02|1[037]|2[45]|3[68])\\d{5}",,,,"20211234"],[,,"(?:6\\d|9[03-9])\\d{6}",,,,"90011234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"857[58]\\d{4}",,,,"85751234"],"BJ",229,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2689]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"81\\d{6}",,,,"81123456"],,,[,,,,,,,,,[-1]]],BL:[,[,,"(?:590|69\\d)\\d{6}",,,,,,,[9]],[,,"590(?:2[7-9]|5[12]|87)\\d{4}",,,,"590271234"],[,,"69(?:0\\d{2}|1(?:2[29]|3[0-5]))\\d{4}",,,,"690001234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BL",590,"00","0",,,"0",,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BM:[,[,,"(?:441|[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"441(?:2(?:02|23|61|[3479]\\d)|[46]\\d{2}|5(?:4\\d|60|89)|824)\\d{4}",,,,"4412345678",,,,[7]],[,,"441(?:[37]\\d|5[0-39])\\d{5}",,,,"4413701234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"BM",1,"011","1",,,"1",,,,,,[,,,,,,,,,[-1]],,"441",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BN:[,[,,"[2-578]\\d{6}",,,,,,,[7]],[,,"2(?:[013-9]\\d|2[0-7])\\d{4}|[3-5]\\d{6}",,,,"2345678"],[,,"22[89]\\d{4}|[78]\\d{6}",,,,"7123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BN",673,"00",,,,,,,,[[,"([2-578]\\d{2})(\\d{4})","$1 $2",["[2-578]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BO:[,[,,"(?:[2-467]\\d{3}|80017)\\d{4}",,,,,,,[8,9],[7]],[,,"(?:2(?:2\\d{2}|5(?:11|[258]\\d|9[67])|6(?:12|2\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\d{2}|4(?:6\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:2\\d|3[234]|4[248]|5[24]|6[2-6]|7\\d))|4(?:4\\d{2}|6(?:11|[24689]\\d|72)))\\d{4}",,,,"22123456",,,[8],[7]],[,,"[67]\\d{7}",,,,"71234567",,,[8]],[,,"80017\\d{4}",,,,"800171234",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BO",591,"00(1\\d)?","0",,,"0(1\\d)?",,,,[[,"([234])(\\d{7})","$1 $2",["[2-4]"],,"0$CC $1"],[,"([67]\\d{7})","$1",["[67]"],,"0$CC $1"],[,"(800)(\\d{2})(\\d{4})","$1 $2 $3",["800"],,"0$CC $1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BQ:[,[,,"(?:[34]1|7\\d)\\d{5}",,,,,,,[7]],[,,"(?:318[023]|41(?:6[023]|70)|7(?:1[578]|50)\\d)\\d{3}",,,,"7151234"],[,,"(?:31(?:8[14-8]|9[14578])|416[145-9]|7(?:0[01]|7[07]|8\\d|9[056])\\d)\\d{3}",,,,"3181234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BQ",599,"00",,,,,,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BR:[,[,,"(?:[1-46-9]\\d\\d|5(?:[0-46-9]\\d|5[0-24679]))\\d{8}|[1-9]\\d{9}|[3589]\\d{8}|[34]\\d{7}",,,,,,,[8,9,10,11]],[,,"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-5]\\d{7}",,,,"1123456789",,,[10],[8]],[,,"(?:[189][1-9]|2[12478])(?:7|9\\d)\\d{7}|(?:3[1-578]|[46][1-9]|5[13-5]|7[13-579])(?:[6-9]|9\\d)\\d{7}",,,,"11961234567",,,[10,11],[8]],[,,"800\\d{6,7}",,,,"800123456",,,[9,10]],[,,"(?:300|[59]00\\d?)\\d{6}",,,,"300123456",,,[9,10]],[,,"(?:300\\d(?:\\d{2})?|4(?:0(?:0\\d|20)|370))\\d{4}",,,,"40041234",,,[8,10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BR",55,"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)","0",,,"0(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?","$2",,,[[,"(\\d{4})(\\d{4})","$1-$2",["300|4(?:0[02]|37)","300|4(?:0(?:0|20)|370)"]],[,"([3589]00)(\\d{2,3})(\\d{4})","$1 $2 $3",["[3589]00"],"0$1"],[,"(\\d{3,5})","$1",["1[125689]"]],[,"(\\d{4})(\\d{4})","$1-$2",["[2-9](?:0[1-9]|[1-9])"]],[,"(\\d{5})(\\d{4})","$1-$2",["9(?:0[1-9]|[1-9])"]],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["[1-9][1-9]"],"($1)","0 $CC ($1)"],[,"(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["[1-9][1-9]9"],"($1)","0 $CC ($1)"]],[[,"(\\d{4})(\\d{4})","$1-$2",["300|4(?:0[02]|37)","300|4(?:0(?:0|20)|370)"]],[,"([3589]00)(\\d{2,3})(\\d{4})","$1 $2 $3",["[3589]00"],"0$1"],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["[1-9][1-9]"],"($1)","0 $CC ($1)"],[,"(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["[1-9][1-9]9"],"($1)","0 $CC ($1)"]],[,,,,,,,,,[-1]],,,[,,"(?:300\\d|40(?:0\\d|20))\\d{4}",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BS:[,[,,"(?:242|[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[347]|8[0-4]|9[2-467])|461|502|6(?:0[1-4]|12|2[013]|[45]0|7[67]|8[78]|9[89])|7(?:02|88))\\d{4}",,,,"2423456789",,,,[7]],[,,"242(?:3(?:5[79]|7[56]|95)|4(?:[23][1-9]|4[1-35-9]|5[1-8]|6[2-8]|7\\d|81)|5(?:2[45]|3[35]|44|5[1-46-9]|65|77)|6[34]6|7(?:27|38)|8(?:0[1-9]|1[02-9]|2\\d|[89]9))\\d{4}",,,,"2423591234",,,,[7]],[,,"242300\\d{4}|8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456",,,,[7]],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"BS",1,"011","1",,,"1",,,,,,[,,,,,,,,,[-1]],,"242",[,,,,,,,,,[-1]],[,,"242225[0-46-9]\\d{3}",,,,"2422250123"],,,[,,,,,,,,,[-1]]],BT:[,[,,"[17]\\d{7}|[2-8]\\d{6}",,,,,,,[7,8],[6]],[,,"(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\\d{5}",,,,"2345678",,,[7],[6]],[,,"(?:1[67]|77)\\d{6}",,,,"17123456",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BT",975,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1|77"]],[,"([2-8])(\\d{3})(\\d{3})","$1 $2 $3",["[2-68]|7[246]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BW:[,[,,"(?:(?:[2-6]|7\\d)\\d|90)\\d{5}",,,,,,,[7,8]],[,,"(?:2(?:4[0-48]|6[0-24]|9[0578])|3(?:1[0-35-9]|55|[69]\\d|7[01])|4(?:6[03]|7[1267]|9[0-5])|5(?:3[0389]|4[0489]|7[1-47]|88|9[0-49])|6(?:2[1-35]|5[149]|8[067]))\\d{4}",,,,"2401234",,,[7]],[,,"7(?:[1-6]\\d|7[014-8])\\d{5}",,,,"71123456",,,[8]],[,,,,,,,,,[-1]],[,,"90\\d{5}",,,,"9012345",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"79[12][01]\\d{4}",,,,"79101234",,,[8]],"BW",267,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[2-6]"]],[,"(7\\d)(\\d{3})(\\d{3})","$1 $2 $3",["7"]],[,"(90)(\\d{5})","$1 $2",["90"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BY:[,[,,"(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}",,,,,,,[6,7,8,9,10,11],[5]],[,,"(?:1(?:5(?:1[1-5]|[24]\\d|6[2-4]|9[1-7])|6(?:[235]\\d|4[1-7])|7\\d{2})|2(?:1(?:[246]\\d|3[0-35-9]|5[1-9])|2(?:[235]\\d|4[0-8])|3(?:[26]\\d|3[02-79]|4[024-7]|5[03-7])))\\d{5}",,,,"152450911",,,[9],[5,6,7]],[,,"(?:2(?:5[5679]|9[1-9])|33\\d|44\\d)\\d{6}",,,,"294911911",,,[9]],[,,"8(?:0[13]|20\\d)\\d{7}|800\\d{3,7}",,,,"8011234567"],[,,"(?:810|902)\\d{7}",,,,"9021234567",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"249\\d{6}",,,,"249123456",,,[9]],"BY",375,"810","8",,,"8?0?",,"8~10",,[[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["17[0-3589]|2[4-9]|[34]","17(?:[02358]|1[0-2]|9[0189])|2[4-9]|[34]"],"8 0$1"],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["1(?:5[24]|6[235]|7[467])|2(?:1[246]|2[25]|3[26])","1(?:5[24]|6(?:2|3[04-9]|5[0346-9])|7(?:[46]|7[37-9]))|2(?:1[246]|2[25]|3[26])"],"8 0$1"],[,"(\\d{4})(\\d{2})(\\d{3})","$1 $2-$3",["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])","1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"],"8 0$1"],[,"([89]\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8[01]|9"],"8 $1"],[,"(82\\d)(\\d{4})(\\d{4})","$1 $2 $3",["82"],"8 $1"],[,"(800)(\\d{3})","$1 $2",["800"],"8 $1"],[,"(800)(\\d{2})(\\d{2,4})","$1 $2 $3",["800"],"8 $1"]],,[,,,,,,,,,[-1]],,,[,,"8(?:0[13]|10|20\\d)\\d{7}|800\\d{3,7}|902\\d{7}"],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],BZ:[,[,,"(?:0800\\d|[2-8])\\d{6}
1",,,,,,,[7,11]],[,,"(?:2(?:[02]\\d|36)|[3-58][02]\\d|7(?:[02]\\d|32))\\d{4}",,,,"2221234",,,[7]],[,,"6[0-35-7]\\d{5}",,,,"6221234",,,[7]],[,,"0800\\d{7}",,,,"08001234123",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"BZ",501,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1-$2",["[2-8]"]],[,"(0)(800)(\\d{4})(\\d{3})","$1-$2-$3-$4",["080","0800"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CA:[,[,,"(?:[2-8]\\d|90)\\d{8}",,,,,,,[10],[7]],[,,"(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|65)|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:04|13|39|47)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\d{6}",,,,"5062345678",,,,[7]],[,,"(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|65)|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:04|13|39|47)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\d{6}",,,,"2042345678",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"(?:5(?:00|2[12]|33|44|66|77|88)|622)[2-9]\\d{6}",,,,"5002345678"],[,,"600[2-9]\\d{6}",,,,"6002012345"],"CA",1,"011","1",,,"1",,,1,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CC:[,[,,"1\\d{5,9}|[458]\\d{8}",,,,,,,[6,7,8,9,10]],[,,"8(?:51(?:0(?:02|31|60)|118)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:08|22|68)|4[29]8|62\\d|70[23]|959))\\d{3}",,,,"891621234",,,[9],[8]],[,,"14(?:5\\d|71)\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[6-9]|7[02-9]|8[0-2547-9]|9[017-9])\\d{6}",,,,"412345678",,,[9]],[,,"180(?:0\\d{3}|2)\\d{3}",,,,"1800123456",,,[7,10]],[,,"19(?:0[0126]\\d|[679])\\d{5}",,,,"1900123456",,,[8,10]],[,,"13(?:00\\d{2})?\\d{4}",,,,"1300123456",,,[6,10]],[,,"500\\d{6}",,,,"500123456",,,[9]],[,,"550\\d{6}",,,,"550123456",,,[9]],"CC",61,"(?:14(?:1[14]|34|4[17]|[56]6|7[47]|88))?001[14-689]","0",,,"0",,"0011",,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CD:[,[,,"[189]\\d{8}|[1-68]\\d{6}",,,,,,,[7,9]],[,,"1(?:2\\d{7}|\\d{6})|[2-6]\\d{6}",,,,"1234567"],[,,"8(?:[0-2459]\\d{2}|8)\\d{5}|9[017-9]\\d{7}",,,,"991234567"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CD",243,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["12"],"0$1"],[,"([89]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8[0-2459]|9"],"0$1"],[,"(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["88"],"0$1"],[,"(\\d{2})(\\d{5})","$1 $2",["[1-6]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CF:[,[,,"(?:[27]\\d{3}|8776)\\d{4}",,,,,,,[8]],[,,"2[12]\\d{6}",,,,"21612345"],[,,"7[0257]\\d{6}",,,,"70012345"],[,,,,,,,,,[-1]],[,,"8776\\d{4}",,,,"87761234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CF",236,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CG:[,[,,"(?:(?:0\\d|80)\\d|222)\\d{6}",,,,,,,[9]],[,,"222[1-589]\\d{5}",,,,"222123456"],[,,"0[14-6]\\d{7}",,,,"061234567"],[,,,,,,,,,[-1]],[,,"80(?:0\\d{2}|11[0-4])\\d{4}",,,,"800123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CG",242,"00",,,,,,,,[[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["801"]],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[02]"]],[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["800"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CH:[,[,,"8\\d{11}|[2-9]\\d{8}",,,,,,,[9,12]],[,,"(?:2[12467]|3[1-4]|4[134]|5[256]|6[12]|[7-9]1)\\d{7}",,,,"212345678",,,[9]],[,,"7[5-9]\\d{7}",,,,"781234567",,,[9]],[,,"800\\d{6}",,,,"800123456",,,[9]],[,,"90[016]\\d{6}",,,,"900123456",,,[9]],[,,"84[0248]\\d{6}",,,,"840123456",,,[9]],[,,"878\\d{6}",,,,"878123456",,,[9]],[,,,,,,,,,[-1]],"CH",41,"00","0",,,"0",,,,[[,"([2-9]\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-7]|[89]1"],"0$1"],[,"([89]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8[047]|90"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["860"],"0$1"]],,[,,"74[0248]\\d{6}",,,,"740123456",,,[9]],,,[,,,,,,,,,[-1]],[,,"5[18]\\d{7}",,,,"581234567",,,[9]],,,[,,"860\\d{9}",,,,"860123456789",,,[12]]],CI:[,[,,"[02-8]\\d{7}",,,,,,,[8]],[,,"(?:2(?:0[023]|1[02357]|[23][045]|4[03-5])|3(?:0[06]|1[069]|[2-4][07]|5[09]|6[08]))\\d{5}",,,,"21234567"],[,,"(?:[07][1-9]|[45]\\d|6[014-9]|8[4-9])\\d{6}",,,,"01234567"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CI",225,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CK:[,[,,"[2-8]\\d{4}",,,,,,,[5]],[,,"(?:2\\d|3[13-7]|4[1-5])\\d{3}",,,,"21234"],[,,"[5-8]\\d{4}",,,,"71234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CK",682,"00",,,,,,,,[[,"(\\d{2})(\\d{3})","$1 $2"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CL:[,[,,"(?:1230|[2-57-9]\\d|6\\d{1,3})\\d{7}",,,,,,,[9,10,11]],[,,"2(?:1962\\d{4}|2\\d{7}|32[0-467]\\d{5})|(?:3[2-5]\\d|[47][1-35]\\d|5[1-3578]\\d|6[13-57]\\d|8(?:0[1-9]|[1-9]\\d)|9[3-9]\\d)\\d{6}",,,,"221234567",,,[9]],[,,"2(?:1962\\d{4}|2\\d{7}|32[0-467]\\d{5})|(?:3[2-5]\\d|[47][1-35]\\d|5[1-3578]\\d|6[13-57]\\d|8(?:0[1-9]|[1-9]\\d)|9[3-9]\\d)\\d{6}",,,,"961234567",,,[9]],[,,"800\\d{6}|1230\\d{7}",,,,"800123456",,,[9,11]],[,,,,,,,,,[-1]],[,,"600\\d{7,8}",,,,"6001234567",,,[10,11]],[,,,,,,,,,[-1]],[,,"44\\d{7}",,,,"441234567",,,[9]],"CL",56,"(?:0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))0",,,,,,,1,[[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2[23]"],"($1)"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[357]|4[1-35]|6[13-57]|8(?:0[1-9]|[1-9])"],"($1)"],[,"(9)(\\d{4})(\\d{4})","$1 $2 $3",["9"]],[,"(44)(\\d{3})(\\d{4})","$1 $2 $3",["44"]],[,"([68]00)(\\d{3})(\\d{3,4})","$1 $2 $3",["[68]00"]],[,"(600)(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3 $4",["600"]],[,"(1230)(\\d{3})(\\d{4})","$1 $2 $3",["123","1230"]],[,"(\\d{5})(\\d{4})","$1 $2",["219"],"($1)"],[,"(\\d{4,5})","$1",["[1-9]"],"$1"]],[[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2[23]"],"($1)"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[357]|4[1-35]|6[13-57]|8(?:0[1-9]|[1-9])"],"($1)"],[,"(9)(\\d{4})(\\d{4})","$1 $2 $3",["9"]],[,"(44)(\\d{3})(\\d{4})","$1 $2 $3",["44"]],[,"([68]00)(\\d{3})(\\d{3,4})","$1 $2 $3",["[68]00"]],[,"(600)(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3 $4",["600"]],[,"(1230)(\\d{3})(\\d{4})","$1 $2 $3",["123","1230"]],[,"(\\d{5})(\\d{4})","$1 $2",["219"],"($1)"]],[,,,,,,,,,[-1]],,,[,,"600\\d{7,8}",,,,,,,[10,11]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CM:[,[,,"(?:[26]\\d\\d|88)\\d{6}",,,,,,,[8,9]],[,,"2(?:22|33|4[23])\\d{6}",,,,"222123456",,,[9]],[,,"6[5-9]\\d{7}",,,,"671234567",,,[9]],[,,"88\\d{6}",,,,"88012345",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CM",237,"00",,,,,,,,[[,"([26])(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[26]"]],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[23]|88"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CN:[,[,,"(?:(?:(?
1:1[03-68]|2\\d)\\d\\d|[3-79])\\d|8[0-57-9])\\d{7}|[1-579]\\d{10}|8[0-57-9]\\d{8,9}|[1-79]\\d{9}|[1-9]\\d{7}|[12]\\d{6}",,,,,,,[7,8,9,10,11,12],[5,6]],[,,"21(?:100\\d{2}|95\\d{3,4}|\\d{8,10})|(?:10|2[02-57-9]|3(?:11|7[179])|4(?:[15]1|3[1-35])|5(?:1\\d|2[37]|3[12]|51|7[13-79]|9[15])|7(?:31|5[457]|6[09]|91)|8(?:[57]1|98))(?:100\\d{2}|95\\d{3,4}|\\d{8})|(?:3(?:1[02-9]|35|49|5\\d|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|3[3-9]|5[2-9]|6[4789]|7\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[17]\\d|2[248]|3[04-9]|4[3-6]|5[0-4689]|6[2368]|9[02-9])|8(?:078|1[236-8]|2[5-7]|3\\d|5[1-9]|7[02-9]|8[3678]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100\\d{2}|95\\d{3,4}|\\d{7})",,,,"1012345678",,,,[5,6]],[,,"1(?:[38]\\d{3}|4[57]\\d{2}|5[0-35-9]\\d{2}|66\\d{2}|7(?:[0-35-8]\\d{2}|40[0-5])|9[89]\\d{2})\\d{6}",,,,"13123456789",,,[11]],[,,"(?:10)?800\\d{7}",,,,"8001234567",,,[10,12]],[,,"16[08]\\d{5}",,,,"16812345",,,[8]],[,,"400\\d{7}|950\\d{7,8}|(?:10|2[0-57-9]|3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[4789]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[3678]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))96\\d{3,4}",,,,"4001234567",,,[7,8,9,10,11],[5,6]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CN",86,"(?:1(?:[12]\\d{3}|79\\d{2}|9[0-7]\\d{2}))?00","0",,,"(1(?:[12]\\d{3}|79\\d{2}|9[0-7]\\d{2}))|0",,"00",,[[,"([48]00)(\\d{3})(\\d{4})","$1 $2 $3",["[48]00"]],[,"(\\d{5,6})","$1",["100|95"]],[,"(\\d{2})(\\d{5,6})","$1 $2",["(?:10|2\\d)[19]","(?:10|2\\d)(?:10|9[56])","(?:10|2\\d)(?:100|9[56])"],"0$1","$CC $1"],[,"(\\d{3})(\\d{5,6})","$1 $2",["[3-9]","[3-9]\\d\\d[19]","[3-9]\\d\\d(?:10|9[56])"],"0$1","$CC $1"],[,"(\\d{3,4})(\\d{4})","$1 $2",["[2-9]"]],[,"(21)(\\d{4})(\\d{4,6})","$1 $2 $3",["21"],"0$1","$CC $1",1],[,"([12]\\d)(\\d{4})(\\d{4})","$1 $2 $3",["10[1-9]|2[02-9]","10[1-9]|2[02-9]","10(?:[1-79]|8(?:0[1-9]|[1-9]))|2[02-9]"],"0$1","$CC $1",1],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:1[02-9]|35|49|5|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|[35][2-9]|6[47-9]|7|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[04-9]|4[3-6]|6[2368])|8(?:1[236-8]|2[5-7]|3|5[1-9]|7[02-9]|8[36-8]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])"],"0$1","$CC $1",1],[,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["3(?:11|7[179])|4(?:[15]1|3[1-35])|5(?:1|2[37]|3[12]|51|7[13-79]|9[15])|7(?:[39]1|5[457]|6[09])|8(?:[57]1|98)"],"0$1","$CC $1",1],[,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["807","8078"],"0$1","$CC $1",1],[,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["1(?:[3-57-9]|66)"],,"$CC $1"],[,"(10800)(\\d{3})(\\d{4})","$1 $2 $3",["108","1080","10800"]],[,"(\\d{3})(\\d{7,8})","$1 $2",["950"]]],[[,"([48]00)(\\d{3})(\\d{4})","$1 $2 $3",["[48]00"]],[,"(\\d{2})(\\d{5,6})","$1 $2",["(?:10|2\\d)[19]","(?:10|2\\d)(?:10|9[56])","(?:10|2\\d)(?:100|9[56])"],"0$1","$CC $1"],[,"(\\d{3})(\\d{5,6})","$1 $2",["[3-9]","[3-9]\\d\\d[19]","[3-9]\\d\\d(?:10|9[56])"],"0$1","$CC $1"],[,"(21)(\\d{4})(\\d{4,6})","$1 $2 $3",["21"],"0$1","$CC $1",1],[,"([12]\\d)(\\d{4})(\\d{4})","$1 $2 $3",["10[1-9]|2[02-9]","10[1-9]|2[02-9]","10(?:[1-79]|8(?:0[1-9]|[1-9]))|2[02-9]"],"0$1","$CC $1",1],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:1[02-9]|35|49|5|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|[35][2-9]|6[47-9]|7|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[04-9]|4[3-6]|6[2368])|8(?:1[236-8]|2[5-7]|3|5[1-9]|7[02-9]|8[36-8]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])"],"0$1","$CC $1",1],[,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["3(?:11|7[179])|4(?:[15]1|3[1-35])|5(?:1|2[37]|3[12]|51|7[13-79]|9[15])|7(?:[39]1|5[457]|6[09])|8(?:[57]1|98)"],"0$1","$CC $1",1],[,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["807","8078"],"0$1","$CC $1",1],[,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["1(?:[3-57-9]|66)"],,"$CC $1"],[,"(10800)(\\d{3})(\\d{4})","$1 $2 $3",["108","1080","10800"]],[,"(\\d{3})(\\d{7,8})","$1 $2",["950"]]],[,,,,,,,,,[-1]],,,[,,"(?:4|(?:10)?8)00\\d{7}|950\\d{7,8}",,,,,,,[10,11,12]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CO:[,[,,"(?:1\\d|3)\\d{9}|[124-8]\\d{7}",,,,,,,[8,10,11],[7]],[,,"[124-8][2-9]\\d{6}",,,,"12345678",,,[8],[7]],[,,"3(?:0[0-5]|1\\d|2[0-3]|5[01])\\d{7}",,,,"3211234567",,,[10]],[,,"1800\\d{7}",,,,"18001234567",,,[11]],[,,"19(?:0[01]|4[78])\\d{7}",,,,"19001234567",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CO",57,"00(?:4(?:[14]4|56)|[579])","0",,,"0([3579]|4(?:44|56))?",,,,[[,"(\\d)(\\d{7})","$1 $2",["1(?:[2-7]|8[2-9]|9[0-3])|[24-8]","1(?:[2-7]|8[2-9]|9(?:09|[1-3]))|[24-8]"],"($1)","0$CC $1"],[,"(\\d{3})(\\d{7})","$1 $2",["3"],,"0$CC $1"],[,"(1)(\\d{3})(\\d{7})","$1-$2-$3",["1(?:80|9[04])","1(?:800|9(?:0[01]|4[78]))"],"0$1"]],[[,"(\\d)(\\d{7})","$1 $2",["1(?:[2-7]|8[2-9]|9[0-3])|[24-8]","1(?:[2-7]|8[2-9]|9(?:09|[1-3]))|[24-8]"],"($1)","0$CC $1"],[,"(\\d{3})(\\d{7})","$1 $2",["3"],,"0$CC $1"],[,"(1)(\\d{3})(\\d{7})","$1 $2 $3",["1(?:80|9[04])","1(?:800|9(?:0[01]|4[78]))"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CR:[,[,,"(?:8\\d|90)\\d{8}|[24-8]\\d{7}",,,,,,,[8,10]],[,,"2(?:[024-7]\\d{2}|1(?:0[7-9]|[1-9]\\d))\\d{4}",,,,"22123456",,,[8]],[,,"5(?:0[01]|7[0-3])\\d{5}|6(?:[0-4]\\d{3}|500[01])\\d{3}|(?:7[0-3]|8[3-9])\\d{6}",,,,"83123456",,,[8]],[,,"800\\d{7}",,,,"8001234567",,,[10]],[,,"90[059]\\d{7}",,,,"9001234567",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"210[0-6]\\d{4}|4\\d{7}|5100\\d{4}",,,,"40001234",,,[8]],"CR",506,"00",,,,"(19(?:0[012468]|1[09]|20|66|77|99))",,,,[[,"(\\d{4})(\\d{4})","$1 $2",["[24-7]|8[3-9]"],,"$CC $1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[89]0"],,"$CC $1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CU:[,[,,"[2-57]\\d{7}|[2-47]\\d{6}|[34]\\d{5}",,,,,,,[6,7,8],[4,5]],[,,"2[1-4]\\d{5,6}|3(?:1\\d{6}|[23]\\d{4,6})|4(?:[125]\\d{5,6}|[36]\\d{6}|[78]\\d{4,6})|7\\d{6,7}",,,,"71234567",,,,[4,5]],[,,"5\\d{7}",,,,"51234567",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CU",53,"119","0",,,"0",,,,[[,"(\\d)(\\d{6,7})","$1 $2",["7"],"(0$1)"],[,"(\\d{2})(\\d{4,6})","$1 $2",["[2-4]"],"(0$1)"],[,"(\\d)(\\d{7})","$1 $2",["5"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CV:[,[,,"[2-59]\\d{6}",,,,,,,[7]],[,,"2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\\d|7[1-3]|8[1-5])\\d{4}",,,,"2211234"],[,,"(?:[34][36]|5[1-389]|9\\d)\\d{5}",,,,"9911234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CV",238,"0",,,,,,,,[[,"(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CW:[,[,,"(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}",,,,,,,[7,8]],[,,"9(?:[48]\\d{2}|50\\d|7(?:2[0-24]|[34]\\d|6[35-7]|77|8[7-9]))\\d{4}",,,,"94151234",,,[8]],[,,"9(?:5(?:[12467]\\d|3[01])|6(?:[15-9]\\d|3[01]))\\d{4}",,,,"95181234",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"60[0-2]\\d{4}",,,,"6001234",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"CW",599,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[13-7]"]],[,"(9)(\\d{3})(\\d{4})","$1 $2 $3",["9"]]],,[,,"955\\d{5}",,,,"95581234",,,[8]],1,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CX:[,[,,"1\\d{5,9}|[458]\\d{8}",,,,,,,[6,7,8,9,10]],[,,"8(?:51(?:0(?:01|30|59)|117)|91(?:00[6-9]|1(?:21|49|78|81)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}",,,,"891641234",,,[9],[8]],[,,"14(?:5\\d|71)\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[6-9]|7[02-9]|8[0-2547-9]|9[017-9])\\d{6}",,,,"412345678",,,[9]],[,,"180(?:0\\d{3}|2)\\d{3}",,,,"1800123456",,,[7,10]],[,,"19(?:0[0126]\\d|[679])\\d{5}",,,,"1900123456",,,[8,10]],[,,"13(?:00\\d{2})?\\d{4}",,,,"1300123456",,,[6,8,10]],[,,"500\\d{6}",,,,"500123456",,,[9]],[,,"550\\d{6}",,,,"550123456",,,[9]],"CX",61,"(?:14(?:1[14]|34|4[17]|[56]6|7[47]|88))?001[14-689]","0",,,"0",,"0011",,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],CY:[,[,,"(?:[279]\\d|[58]0)\\d{6}",,,,,,,[8]],[,,"2[2-6]\\d{6}",,,,"22345678"],[,,"9[4-79]\\d{6}",,,,"96123456"],[,,"800\\d{5}",,,,"80001234"],[,,"90[09]\\d{5}",,,,"90012345"],[,,"80[1-9]\\d{5}",,,,"80112345"],[,,"700\\d{5}",,,,"70012345"],[,,,,,,,,,[-1]],"CY",357,"00",,,,,,,,[[,"(\\d{2})(\\d{6})","$1 $2"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"(?:50|77)\\d{6}",,,,"77123456"],,,[,,,,,,,,,[-1]]],CZ:[,[,,"(?:[2-578]\\d|60|9\\d{1,4})\\d{7}",,,,,,,[9,10,11,12]],[,,"2\\d{8}|(?:3[1257-9]|4[16-9]|5[13-9])\\d{7}",,,,"212345678",,,[9]],[,,"(?:60[1-8]|7(?:0[2-5]|[2379]\\d))\\d{6}",,,,"601123456",,,[9]],[,,"800\\d{6}",,,,"800123456",,,[9]],[,,"9(?:0[05689]|76)\\d{6}",,,,"900123456",,,[9]],[,,"8[134]\\d{7}",,,,"811234567",,,[9]],[,,"70[01]\\d{6}",,,,"700123456",,,[9]],[,,"9[17]0\\d{6}",,,,"910123456",,,[9]],"CZ",420,"00",,,,,,,,[[,"([2-9]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]|9[015-7]"]],[,"(96\\d)(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["96"]],[,"(9\\d)(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9[36]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"9(?:5\\d|7[234])\\d{6}",,,,"972123456",,,[9]],,,[,,"9(?:3\\d{9}|6\\d{7,10})",,,,"93123456789"]],DE:[,[,,"(?:1|[358]\\d{11})\\d{3}|[1-35689]\\d{13}|4(?:[0-8]\\d{5,12}|9(?:[05]\\d|44|6[1-8])\\d{9})|[1-35-9]\\d{6,12}|49(?:[0-357]\\d|[46][1-8])\\d{4,8}|49(?:[0-3579]\\d|4[1-9]|6[0-8])\\d{3}|[1-9]\\d{5}|[13-68]\\d{4}",,,,,,,[4,5,6,7,8,9,10,11,12,13,14,15],[3]],[,,"2\\d{5,13}|3(?:0\\d{3,13}|2\\d{9}|[3-9]\\d{4,13})|4(?:0\\d{3,12}|[1-8]\\d{4,12}|9(?:[0-37]\\d|4(?:[1-35-8]|4\\d?)|5\\d{1,2}|6[1-8]\\d?)\\d{2,8})|5(?:0[2-8]|[1256]\\d|[38][0-8]|4\\d{0,2}|[79][0-7])\\d{3,11}|6(?:\\d{5,13}|9\\d{3,12})|7(?:0[2-8]|[1-9]\\d)\\d{3,10}|8(?:0[2-9]|[1-8]\\d|9\\d?)\\d{3,10}|9(?:0[6-9]\\d{3,10}|1\\d{4,12}|[2-9]\\d{4,11})",,,,"30123456",,,[5,6,7,8,9,10,11,12,13,14,15],[3,4]],[,,"1(?:5[0-25-9]\\d{8}|6[023]\\d{7,8}|7\\d{8,9})",,,,"15123456789",,,[10,11]],[,,"800\\d{7,12}",,,,"8001234567890",,,[10,11,12,13,14,15]],[,,"137[7-9]\\d{6}|900(?:[135]\\d{6}|9\\d{7})",,,,"9001234567",,,[10,11]],[,,"1(?:3(?:7[1-6]\\d{6}|8\\d{4})|80\\d{5,11})",,,,"18012345",,,[7,8,9,10,11,12,13,14]],[,,"700\\d{8}",,,,"70012345678",,,[11]],[,,,,,,,,,[-1]],"DE",49,"00","0",,,"0",,,,[[,"(1\\d{2})(\\d{7,8})","$1 $2",["1[67]"],"0$1"],[,"(15\\d{3})(\\d{6})","$1 $2",["15[0568]"],"0$1"],[,"(1\\d{3})(\\d{7})","$1 $2",["15"],"0$1"],[,"(\\d{2})(\\d{3,11})","$1 $2",["3[02]|40|[68]9"],"0$1"],[,"(\\d{3})(\\d{3,11})","$1 $2",["2(?:0[1-389]|1[124]|2[18]|3[14]|[4-9]1)|3(?:[35-9][15]|4[015])|[4-8][1-9]1|9(?:06|[1-9]1)","2(?:0[1-389]|1(?:[14]|2[0-8])|2[18]|3[14]|[4-9]1)|3(?:[35-9][15]|4[015])|[4-8][1-9]1|9(?:06|[1-9]1)"],"0$1"],[,"(\\d{4})(\\d{2,11})","$1 $2",["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|[7-9](?:0[1-9]|[1-9])","[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|[46][1246]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|3[1357]|4[13578]|6[1246]|7[1356]|9[1346])|5(?:0[14]|2[1-3589]|3[1357]|[49][1246]|6[1-4]|7[13468]|8[13568])|6(?:0[1356]|2[1-489]|3[124-6]|4[1347]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|3[1357]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|4[1347]|6[0135-9]|7[1467]|8[136])|9(?:0[12479]|2[1358]|3[1357]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|[7-9](?:0[1-9]|[1-9])"],"0$1"],[,"(3\\d{4})(\\d{1,10})","$1 $2",["3"],"0$1"],[,"(800)(\\d{7,12})","$1 $2",["800"],"0$1"],[,"(\\d{3})(\\d)(\\d{4,10})","$1 $2 $3",["1(?:37|80)|900","1(?:37|80)|900[1359]"],"0$1"],[,"(1\\d{2})(\\d{5,11})","$1 $2",["181"],"0$1"],[,"(18\\d{3})(\\d{6})","$1 $2",["185","1850","18500"],"0$1"],[,"(18\\d{2})(\\d{7})","$1 $2",["18[68]"],"0$1"],[,"(18\\d)(\\d{8})","$1 $2",["18[2-579]"],"0$1"],[,"(700)(\\d{4})(\\d{4})","$1 $2 $3",["700"],"0$1"],[,"(138)(\\d{4})","$1 $2",["138"],"0$1"],[,"(15[013-68])(\\d{2})(\\d{8})","$1 $2 $3",["15[013-68]"],"0$1"],[,"(15[279]\\d)(\\d{2})(\\d{7})","$1 $2 $3",["15[279]"],"0$1"],[,"(1[67]\\d)(\\d{2})(\\d{7,8})","$1 $2 $3",["1(?:6[023]|7)"],"0$1"]],,[,,"16(?:4\\d{1,10}|[89]\\d{1,11})",,,,"16412345",,,[4,5,6,7,8,9,10,11,12,13,14]],,,[,,,,,,,,,[-1]],[,,"18(?:1\\d{5,11}|[2-9]\\d{8})",,,,"18500123456",,,[8,9,10,11,12,13,14]],,,[,,"1(?:5(?:(?:2\\d55|7\\d99|9\\d33)\\d{7}|(?:[034568]00|113)\\d{8})|6(?:013|255|399)\\d{7,8}
1|7(?:[015]13|[234]55|[69]33|[78]99)\\d{7,8})",,,,"177991234567",,,[12,13]]],DJ:[,[,,"(?:2\\d|77)\\d{6}",,,,,,,[8]],[,,"2(?:1[2-5]|7[45])\\d{5}",,,,"21360003"],[,,"77\\d{6}",,,,"77831001"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"DJ",253,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],DK:[,[,,"[2-9]\\d{7}",,,,,,,[8]],[,,"(?:[2-7]\\d|8[126-9]|9[1-36-9])\\d{6}",,,,"32123456"],[,,"(?:[2-7]\\d|8[126-9]|9[1-36-9])\\d{6}",,,,"20123456"],[,,"80\\d{6}",,,,"80123456"],[,,"90\\d{6}",,,,"90123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"DK",45,"00",,,,,,,1,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],DM:[,[,,"(?:[58]\\d\\d|767|900)\\d{7}",,,,,,,[10],[7]],[,,"767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4]|70[1-3])\\d{4}",,,,"7674201234",,,,[7]],[,,"767(?:2(?:[234689]5|7[5-7])|31[5-7]|61[1-7])\\d{4}",,,,"7672251234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"DM",1,"011","1",,,"1",,,,,,[,,,,,,,,,[-1]],,"767",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],DO:[,[,,"(?:[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"8(?:[04]9[2-9]\\d{6}|29(?:2(?:[0-59]\\d|6[04-9]|7[0-27]|8[0237-9])|3(?:[0-35-9]\\d|4[7-9])|[45]\\d{2}|6(?:[0-27-9]\\d|[3-5][1-9]|6[0135-8])|7(?:0[013-9]|[1-37]\\d|4[1-35689]|5[1-4689]|6[1-57-9]|8[1-79]|9[1-8])|8(?:0[146-9]|1[0-48]|[248]\\d|3[1-79]|5[01589]|6[013-68]|7[124-8]|9[0-8])|9(?:[0-24]\\d|3[02-46-9]|5[0-79]|60|7[0169]|8[57-9]|9[02-9]))\\d{4})",,,,"8092345678",,,,[7]],[,,"8[024]9[2-9]\\d{6}",,,,"8092345678",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"DO",1,"011","1",,,"1",,,,,,[,,,,,,,,,[-1]],,"8[024]9",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],DZ:[,[,,"(?:[1-4]|[5-79]\\d|80)\\d{7}",,,,,,,[8,9]],[,,"(?:1\\d|2[013-79]|3[0-8]|4[0135689])\\d{6}|9619\\d{5}",,,,"12345678"],[,,"(?:5[4-6]|7[7-9])\\d{7}|6(?:[569]\\d|7[0-6])\\d{6}",,,,"551234567",,,[9]],[,,"800\\d{6}",,,,"800123456",,,[9]],[,,"80[3-689]1\\d{5}",,,,"808123456",,,[9]],[,,"80[12]1\\d{5}",,,,"801123456",,,[9]],[,,,,,,,,,[-1]],[,,"98[23]\\d{6}",,,,"983123456",,,[9]],"DZ",213,"00","0",,,"0",,,,[[,"([1-4]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-4]"],"0$1"],[,"([5-8]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-8]"],"0$1"],[,"(9\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],EC:[,[,,"1800\\d{6,7}|(?:[2-7]|9\\d)\\d{7}",,,,,,,[8,9,10,11],[7]],[,,"[2-7][2-7]\\d{6}",,,,"22123456",,,[8],[7]],[,,"9(?:(?:39|[57][89]|[89]\\d)\\d|6(?:[0-27-9]\\d|30))\\d{5}",,,,"991234567",,,[9]],[,,"1800\\d{6,7}",,,,"18001234567",,,[10,11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"[2-7]890\\d{4}",,,,"28901234",,,[8]],"EC",593,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{4})","$1 $2-$3",["[247]|[356][2-8]"],"(0$1)"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["9"],"0$1"],[,"(1800)(\\d{3})(\\d{3,4})","$1 $2 $3",["180","1800"],"$1"]],[[,"(\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[247]|[356][2-8]"]],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["9"],"0$1"],[,"(1800)(\\d{3})(\\d{3,4})","$1 $2 $3",["180","1800"],"$1"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],EE:[,[,,"8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d\\d|900)\\d{4}",,,,,,,[7,8,10]],[,,"(?:3[23589]|4[3-8]|6\\d|7[1-9]|88)\\d{5}",,,,"3212345",,,[7]],[,,"(?:5\\d|8[1-5])\\d{6}|5(?:[02]\\d{2}|1(?:[0-8]\\d|95)|5[0-478]\\d|64[0-4]|65[1-589])\\d{3}",,,,"51234567",,,[7,8]],[,,"800(?:0\\d{3}|1\\d|[2-9])\\d{3}",,,,"80012345"],[,,"(?:40\\d{2}|900)\\d{4}",,,,"9001234",,,[7,8]],[,,,,,,,,,[-1]],[,,"70[0-2]\\d{5}",,,,"70012345",,,[8]],[,,,,,,,,,[-1]],"EE",372,"00",,,,,,,,[[,"([3-79]\\d{2})(\\d{4})","$1 $2",["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]","[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]"]],[,"(70)(\\d{2})(\\d{4})","$1 $2 $3",["70"]],[,"(8000)(\\d{3})(\\d{3})","$1 $2 $3",["800","8000"]],[,"([458]\\d{3})(\\d{3,4})","$1 $2",["40|5|8(?:00|[1-5])","40|5|8(?:00[1-9]|[1-5])"]]],,[,,,,,,,,,[-1]],,,[,,"800[2-9]\\d{3}",,,,,,,[7]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],EG:[,[,,"(?:[189]\\d?|[24-6])\\d{8}|[13]\\d{7}",,,,,,,[8,9,10],[7]],[,,"(?:1(?:3[23]\\d|5(?:[23]|9\\d))|2[2-4]\\d{2}|3\\d{2}|4(?:0[2-5]|[578][23]|64)\\d|5(?:0[2-7]|5\\d|7[23])\\d|6[24-689]3\\d|8(?:2[2-57]|4[26]|6[237]|8[2-4])\\d|9(?:2[27]|3[24]|52|6[2356]|7[2-4])\\d)\\d{5}",,,,"234567890",,,[8,9],[7]],[,,"1[0125]\\d{8}",,,,"1001234567",,,[10]],[,,"800\\d{7}",,,,"8001234567",,,[10]],[,,"900\\d{7}",,,,"9001234567",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"EG",20,"00","0",,,"0",,,,[[,"(\\d)(\\d{7,8})","$1 $2",["[23]"],"0$1"],[,"(\\d{2})(\\d{6,7})","$1 $2",["1(?:3|5[239])|[4-6]|[89][2-9]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1[0-25]|[89]00"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],EH:[,[,,"[5-8]\\d{8}",,,,,,,[9]],[,,"528[89]\\d{5}",,,,"528812345"],[,,"(?:6(?:[0-79]\\d|8[0-247-9])|7(?:0[067]|6[1267]|7[017]))\\d{6}",,,,"650123456"],[,,"80\\d{7}",,,,"801234567"],[,,"89\\d{7}",,,,"891234567"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"5924[01]\\d{4}",,,,"592401234"],"EH",212,"00","0",,,"0",,,,,,[,,,,,,,,,[-1]],,"528[89]",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ER:[,[,,"[178]\\d{6}",,,,,,,[7],[6]],[,,"1(?:1[12568]|20|40|55|6[146])\\d{4}|8\\d{6}",,,,"8370362",,,,[6]],[,,"17[1-3]\\d{4}|7\\d{6}",,,,"7123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"ER",291,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",,"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ES:[,[,,"(?:51|[6-9]\\d)\\d{7}",,,,,,,[9]],[,,"8(?:[1356]\\d|[28][0-8]|[47][1-9])\\d{6}|9(?:[135]\\d{7}|[28][0-8]\\d{6}|4[1-9]\\d{6}|6(?:[0-8]\\d{6}|9(?:0(?:[0-57-9]\\d{4}|6(?:0[0-8]|1[1-9]|[2-9]\\d)\\d{2})|[1-9]\\d{5}))|7(?:[124-9]\\d{2}|3(?:[0-8]\\d|9[1-9]))\\d{4})",,,,"810123456"],[,,"(?:6\\d{6}|7[1-48]\\d{5}|9(?:6906(?:09|10)|7390\\d{2}))\\d{2}",,,,"612345678"],[,,"[89]00\\d{6}",,,,"800123456"],[,,"80[367]\\d{6}",,,,"803123456"],[,,"90[12]\\d{6}",,,,"901123456"],[,,"70\\d{7}",,,,"701234567"],[,,,,,,,,,[-1]],"ES",34,"00",,,,,,,,[[,"([89]00)(\\d{3})(\\d{3})","$1 $2 $3",["[89]00"]],[,"([5-9]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[568]|[79][0-8]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"51\\d{7}",,,,"511234567"],,,[,,,,,,,,,[-1]]],ET:[,[,,"(?:11|[2-59]\\d)\\d{7}",,,,,,,[9],[7]],[,,"(?:11(?:1(?:1[124]|2[2-57]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01
1]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-3]|6[5-8])|5(?:1[578]|44|5[0-4])|6(?:18|2[69]|39|4[5-7]|5[1-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|22[0-6]|33[0134689]|44[04]|55[0-6]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:11[1-9]|22[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}",,,,"111112345",,,,[7]],[,,"9\\d{8}",,,,"911234567"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"ET",251,"00","0",,,"0",,,,[[,"([1-59]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[1-59]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],FI:[,[,,"(?:1\\d|[2-689])\\d{4,10}|7\\d{4,9}",,,,,,,[5,6,7,8,9,10,11,12]],[,,"1(?:[3569][1-8]\\d{3,9}|[47]\\d{5,10})|2[1-8]\\d{3,9}|3(?:[1-8]\\d{3,9}|9\\d{4,8})|[5689][1-8]\\d{3,9}",,,,"1312345678"],[,,"4(?:[0-8]\\d{4,9}|9\\d{3,8})|50\\d{4,8}",,,,"412345678",,,[6,7,8,9,10,11]],[,,"800\\d{4,7}",,,,"8001234567",,,[7,8,9,10]],[,,"[67]00\\d{5,6}",,,,"600123456",,,[8,9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"FI",358,"00|99(?:[01469]|5(?:11|3[23]|41|5[59]|77|88|9[09]))","0",,,"0",,"00",,[[,"(\\d{3})(\\d{3,7})","$1 $2",["(?:[1-3]0|[6-8])0"],"0$1"],[,"(75\\d{3})","$1",["75[12]"],"0$1"],[,"(116\\d{3})","$1",["116"],"$1"],[,"(\\d{2})(\\d{4,10})","$1 $2",["[14]|2[09]|50|7[135]"],"0$1"],[,"(\\d)(\\d{4,11})","$1 $2",["[25689][1-8]|3"],"0$1"]],,[,,,,,,,,,[-1]],1,,[,,"[13]00\\d{3,7}|2(?:0(?:0\\d{3,7}|2[023]\\d{1,6}|9[89]\\d{1,6}))|60(?:[12]\\d{5,6}|6\\d{7})|7(?:1\\d{7}|3\\d{8}|5[03-9]\\d{3,7})",,,,,,,[5,6,7,8,9,10]],[,,"[13]0\\d{4,8}|2(?:0(?:[016-8]\\d{3,7}|[2-59]\\d{2,7})|9\\d{4,8})|60(?:[12]\\d{5,6}|6\\d{7})|7(?:1\\d{7}|3\\d{8}|5[03-9]\\d{3,7})",,,,"10112345",,,[5,6,7,8,9,10]],,,[,,,,,,,,,[-1]]],FJ:[,[,,"(?:(?:0800\\d|[235-9])\\d|45)\\d{5}",,,,,,,[7,11]],[,,"(?:3[0-5]\\d|6(?:03|[25-7]\\d)|8[58]\\d)\\d{4}",,,,"3212345",,,[7]],[,,"(?:[279]\\d|45|5[01568]|8[034679])\\d{5}",,,,"7012345",,,[7]],[,,"0800\\d{7}",,,,"08001234567",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"FJ",679,"0(?:0|52)",,,,,,"00",,[[,"(\\d{3})(\\d{4})","$1 $2",["[2-9]"]],[,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],FK:[,[,,"[2-7]\\d{4}",,,,,,,[5]],[,,"[2-47]\\d{4}",,,,"31234"],[,,"[56]\\d{4}",,,,"51234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"FK",500,"00",,,,,,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],FM:[,[,,"[39]\\d{6}",,,,,,,[7]],[,,"3[2357]0[1-9]\\d{3}|9[2-6]\\d{5}",,,,"3201234"],[,,"3[2357]0[1-9]\\d{3}|9[2-7]\\d{5}",,,,"3501234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"FM",691,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],FO:[,[,,"(?:[2-8]\\d|90)\\d{4}",,,,,,,[6]],[,,"(?:20|[3-4]\\d|8[19])\\d{4}",,,,"201234"],[,,"(?:[27][1-9]|5\\d)\\d{4}",,,,"211234"],[,,"80[257-9]\\d{3}",,,,"802123"],[,,"90(?:[1345][15-7]|2[125-7]|99)\\d{2}",,,,"901123"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"(?:6[0-36]|88)\\d{4}",,,,"601234"],"FO",298,"00",,,,"(10(?:01|[12]0|88))",,,,[[,"(\\d{6})","$1",,,"$CC $1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],FR:[,[,,"[1-9]\\d{8}",,,,,,,[9]],[,,"[1-5]\\d{8}",,,,"123456789"],[,,"(?:6\\d|7[3-9])\\d{7}",,,,"612345678"],[,,"80[0-5]\\d{6}",,,,"801234567"],[,,"8[129]\\d{7}",,,,"891123456"],[,,"884\\d{6}",,,,"884012345"],[,,,,,,,,,[-1]],[,,"9\\d{8}",,,,"912345678"],"FR",33,"00","0",,,"0",,,,[[,"([1-79])(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[1-79]"],"0$1"],[,"(1\\d{2})(\\d{3})","$1 $2",["11"],"$1"],[,"(8\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0 $1"]],[[,"([1-79])(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[1-79]"],"0$1"],[,"(8\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0 $1"]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"80[6-9]\\d{6}",,,,"806123456"],,,[,,,,,,,,,[-1]]],GA:[,[,,"(?:0\\d|[2-7])\\d{6}",,,,,,,[7,8]],[,,"01\\d{6}",,,,"01441234",,,[8]],[,,"0?[2-7]\\d{6}",,,,"06031234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"GA",241,"00",,,,,,,,[[,"(\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-7]"],"0$1"],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GB:[,[,,"[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}",,,,,,,[7,9,10],[4,5,6,8]],[,,"2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{7}|1(?:1(?:3[0-58]|4[0-5]|5[0-26-9]|6[0-4]|[78][0-49])|21[0-7]|31[0-8]|[4-69]1\\d)\\d{6}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)|3(?:0\\d|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[28][02-57-9]|[37]\\d|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|2[024-9]|3[015689]|4[02-9]|5[03-9]|6\\d|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0124578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|8\\d|9[2-57]))\\d{6}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[345])))|3(?:638[2-5]|647[23]|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2
1-57]|6[1-8]|7[2-8])|140)|8(?:052|87[123]))|5(?:24(?:3[2-79]|6\\d)|276\\d|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[567]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|955[0-4])|7(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|84(?:3[2-58]))|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}|176888[2-46-8]\\d{2}|16977[23]\\d{3}",,,,"1212345678",,,[9,10],[4,5,6,7,8]],[,,"7(?:[1-3]\\d{3}|4(?:[0-46-9]\\d{2}|5(?:[0-689]\\d|7[0-57-9]))|5(?:0[0-8]|[13-9]\\d|2[0-35-9])\\d|7(?:0(?:0[01]|[1-9]\\d)|[1-7]\\d{2}|8[02-9]\\d|9[0-689]\\d)|8(?:[014-9]\\d|[23][0-8])\\d|9(?:[024-9]\\d{2}|1(?:[02-9]\\d|1[028])|3[0-689]\\d))\\d{5}",,,,"7400123456",,,[10]],[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})",,,,"8001234567"],[,,"(?:87[123]|9(?:[01]\\d|8[2349]))\\d{7}",,,,"9012345678",,,[10]],[,,"8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})",,,,"8431234567",,,[7,10]],[,,"70\\d{8}",,,,"7012345678",,,[10]],[,,"56\\d{8}",,,,"5612345678",,,[10]],"GB",44,"00","0"," x",,"0",,,,[[,"(7\\d{3})(\\d{6})","$1 $2",["7(?:[1-57-9]|62)","7(?:[1-57-9]|624)"],"0$1"],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2|5[56]|7[06]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:[02-9]1|1)|3|9[018]"],"0$1"],[,"(\\d{5})(\\d{4,5})","$1 $2",["1(?:38|5[23]|69|76|94)","1(?:(?:38|69)7|5(?:24|39)|768|946)","1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"],"0$1"],[,"(1\\d{3})(\\d{5,6})","$1 $2",["1"],"0$1"],[,"(800)(\\d{4})","$1 $2",["800","8001","80011","800111","8001111"],"0$1"],[,"(845)(46)(4\\d)","$1 $2 $3",["845","8454","84546","845464"],"0$1"],[,"(8\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8(?:4[2-5]|7[0-3])"],"0$1"],[,"(80\\d)(\\d{3})(\\d{4})","$1 $2 $3",["80"],"0$1"],[,"(800)(\\d{6})","$1 $2",["800"],"0$1"]],,[,,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}",,,,"7640123456",,,[10]],1,,[,,,,,,,,,[-1]],[,,"(?:3[0347]|55)\\d{8}",,,,"5512345678",,,[10]],,,[,,,,,,,,,[-1]]],GD:[,[,,"(?:473|[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-49]|5[5-79]|68|73|90)|63[68]|7(?:58|84)|800|938)\\d{4}",,,,"4732691234",,,,[7]],[,,"473(?:4(?:0[2-79]|1[04-9]|2[0-5]|58)|5(?:2[01]|3[3-8])|901)\\d{4}",,,,"4734031234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"GD",1,"011","1",,,"1",,,,,,[,,,,,,,,,[-1]],,"473",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GE:[,[,,"(?:[3-57]\\d\\d|800)\\d{6}",,,,,,,[9],[6]],[,,"(?:3(?:[256]\\d|4[124-9]|7[0-4])|4(?:1\\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\\d{6}",,,,"322123456",,,,[6]],[,,"(?:5(?:[14]4|5[0157-9]|68|7[0147-9]|9[1-35-9])|790)\\d{6}",,,,"555123456"],[,,"800\\d{6}",,,,"800123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"706\\d{6}",,,,"706123456"],"GE",995,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[348]"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5|790"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,"706\\d{6}"],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GF:[,[,,"[56]94\\d{6}",,,,,,,[9]],[,,"594(?:[023]\\d|1[01]|4[03-9]|5[6-9]|6[0-3]|80|9[014])\\d{4}",,,,"594101234"],[,,"694(?:[0-249]\\d|3[0-48])\\d{4}",,,,"694201234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"GF",594,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GG:[,[,,"(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?",,,,,,,[7,9,10],[6]],[,,"1481[25-9]\\d{5}",,,,"1481256789",,,[10],[6]],[,,"7(?:781\\d|839\\d|911[17])\\d{5}",,,,"7781123456",,,[10]],[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})",,,,"8001234567"],[,,"(?:87[123]|9(?:[01]\\d|8[0-3]))\\d{7}",,,,"9012345678",,,[10]],[,,"8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})",,,,"8431234567",,,[7,10]],[,,"70\\d{8}",,,,"7012345678",,,[10]],[,,"56\\d{8}",,,,"5612345678",,,[10]],"GG",44,"00","0",,,"0",,,,,,[,,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}",,,,"7640123456",,,[10]],,,[,,,,,,,,,[-1]],[,,"(?:3[0347]|55)\\d{8}",,,,"5512345678",,,[10]],,,[,,,,,,,,,[-1]]],GH:[,[,,"(?:[235]\\d{3}|800)\\d{5}
1",,,,,,,[8,9],[7]],[,,"3(?:0(?:[237]\\d|80)|[167](?:2[0-6]|7\\d|80)|2(?:2[0-5]|7\\d|80)|3(?:2[0-3]|7\\d|80)|4(?:2[013-9]|3[01]|7\\d|80)|5(?:2[0-7]|7\\d|80)|8(?:2[0-2]|7\\d|80)|9(?:[28]0|7\\d))\\d{5}",,,,"302345678",,,[9],[7]],[,,"(?:2[034678]\\d|5(?:[0457]\\d|6[01]))\\d{6}",,,,"231234567",,,[9]],[,,"800\\d{5}",,,,"80012345",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"GH",233,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[235]"],"0$1"],[,"(\\d{3})(\\d{5})","$1 $2",["8"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,"800\\d{5}",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GI:[,[,,"(?:[25]\\d|62)\\d{6}",,,,,,,[8]],[,,"2(?:00\\d{2}|1(?:6[24-7]\\d|90[0-2])|2(?:2[2457]\\d|50[0-2]))\\d{3}",,,,"20012345"],[,,"(?:5[46-8]|62)\\d{6}",,,,"57123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"GI",350,"00",,,,,,,,[[,"(\\d{3})(\\d{5})","$1 $2",["2"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GL:[,[,,"(?:19|[2-689]\\d)\\d{4}",,,,,,,[6]],[,,"(?:19|3[1-7]|6[14689]|8[14-79]|9\\d)\\d{4}",,,,"321000"],[,,"(?:[25][1-9]|4[2-9])\\d{4}",,,,"221234"],[,,"80\\d{4}",,,,"801234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"3[89]\\d{4}",,,,"381234"],"GL",299,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GM:[,[,,"[2-9]\\d{6}",,,,,,,[7]],[,,"(?:4(?:[23]\\d{2}|4(?:1[024679]|[6-9]\\d))|5(?:54[0-7]|6(?:[67]\\d)|7(?:1[04]|2[035]|3[58]|48))|8\\d{3})\\d{3}",,,,"5661234"],[,,"[23679]\\d{6}",,,,"3012345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"GM",220,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GN:[,[,,"(?:30|6\\d\\d|722)\\d{6}",,,,,,,[8,9]],[,,"30(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])\\d{4}",,,,"30241234",,,[8]],[,,"6[02356]\\d{7}",,,,"601123456",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"722\\d{6}",,,,"722123456",,,[9]],"GN",224,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["3"]],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[67]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GP:[,[,,"(?:590|69\\d)\\d{6}",,,,,,,[9]],[,,"590(?:0[1-68]|1[0-2]|2[0-68]|3[1289]|4[0-24-9]|5[3-579]|6[0189]|7[08]|8[0-689]|9\\d)\\d{4}",,,,"590201234"],[,,"69(?:0\\d{2}|1(?:2[29]|3[0-5]))\\d{4}",,,,"690001234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"GP",590,"00","0",,,"0",,,,[[,"([56]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["590|69[01]"],"0$1"]],,[,,,,,,,,,[-1]],1,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GQ:[,[,,"(?:222|(?:3\\d|55|[89]0)\\d)\\d{6}",,,,,,,[9]],[,,"3(?:3(?:3\\d[7-9]|[0-24-9]\\d[46])|5\\d{2}[7-9])\\d{4}",,,,"333091234"],[,,"(?:222|55[15])\\d{6}",,,,"222123456"],[,,"80\\d[1-9]\\d{5}",,,,"800123456"],[,,"90\\d[1-9]\\d{5}",,,,"900123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"GQ",240,"00",,,,,,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235]"]],[,"(\\d{3})(\\d{6})","$1 $2",["[89]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GR:[,[,,"(?:[268]\\d|[79]0)\\d{8}",,,,,,,[10]],[,,"2(?:1\\d{2}|2(?:2[1-46-9]|3[1-8]|4[1-7]|5[1-4]|6[1-8]|7[1-5]|[89][1-9])|3(?:1\\d|2[1-57]|[35][1-3]|4[13]|7[1-7]|8[124-6]|9[1-79])|4(?:1\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\d|[29][1-4]|3[1-5]|4[124]|5[1-6])|6(?:1\\d|3[1245]|4[1-7]|5[13-9]|[269][1-6]|7[14]|8[1-5])|7(?:1\\d|2[1-5]|3[1-6]|4[1-7]|5[1-57]|6[135]|9[125-7])|8(?:1\\d|2[1-5]|[34][1-4]|9[1-57]))\\d{6}",,,,"2123456789"],[,,"6(?:8[57-9]|9\\d)\\d{7}",,,,"6912345678"],[,,"800\\d{7}",,,,"8001234567"],[,,"90[19]\\d{7}",,,,"9091234567"],[,,"8(?:0[16]|12|25)\\d{7}",,,,"8011234567"],[,,"70\\d{8}",,,,"7012345678"],[,,,,,,,,,[-1]],"GR",30,"00",,,,,,,,[[,"([27]\\d)(\\d{4})(\\d{4})","$1 $2 $3",["21|7"]],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["2[2-9]1|[689]"]],[,"(2\\d{3})(\\d{6})","$1 $2",["2[2-9][02-9]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GT:[,[,,"(?:1\\d{3}|[2-7])\\d{7}",,,,,,,[8,11]],[,,"[267][2-9]\\d{6}",,,,"22456789",,,[8]],[,,"[345]\\d{7}",,,,"51234567",,,[8]],[,,"18[01]\\d{8}",,,,"18001112222",,,[11]],[,,"19\\d{9}",,,,"19001112222",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"GT",502,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",["[2-7]"]],[,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GU:[,[,,"(?:[58]\\d\\d|671|900)\\d{7}",,,,,,,[10],[7]],[,,"671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[0236-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[079]7|2[0167]|3[45]|47|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}",,,,"6713001234",,,,[7]],[,,"671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[0236-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[079]7|2[0167]|3[45]|47|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}",,,,"6713001234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"GU",1,"011","1",,,"1",,,1,,,[,,,,,,,,,[-1]],,"671",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GW:[,[,,"[49]\\d{8}|4\\d{6}",,,,,,,[7,9]],[,,"443\\d{6}",,,,"443201234",,,[9]],[,,"9(?:5\\d|6[569]|77)\\d{6}",,,,"955012345",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"40\\d{5}",,,,"4012345",,,[7]],"GW",245,"00",,,,,,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["44|9[5-7]"]],[,"(\\d{3})(\\d{4})","$1 $2",["40"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],GY:[,[,,"(?:(?:(?
1:[2-46]\\d|77)\\d|862)\\d|9008)\\d{3}",,,,,,,[7]],[,,"(?:2(?:1[6-9]|2[0-35-9]|3[1-4]|5[3-9]|6\\d|7[0-24-79])|3(?:2[25-9]|3\\d)|4(?:4[0-24]|5[56])|77[1-57])\\d{4}",,,,"2201234"],[,,"6\\d{6}",,,,"6091234"],[,,"(?:289|862)\\d{4}",,,,"2891234"],[,,"9008\\d{3}",,,,"9008123"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"GY",592,"001",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],HK:[,[,,"8[0-46-9]\\d{6,7}|9\\d{4}(?:\\d(?:\\d(?:\\d{4})?)?)?|(?:[235-79]\\d|46)\\d{6}",,,,,,,[5,6,7,8,9,11]],[,,"(?:2(?:[13-8]\\d|2[013-9]|9[0-24-9])\\d|3(?:[1569][0-24-9]\\d|4[0-246-9]\\d|7[0-24-69]\\d|8(?:4[04]|9\\d))|58(?:0[1-8]|1[2-9]))\\d{4}",,,,"21234567",,,[8]],[,,"(?:46(?:0[0-6]|10|4[0-57-9])|5(?:[1-59][0-46-9]\\d|6[0-4689]\\d|7(?:[0-2469]\\d|30))|6(?:0[1-9]\\d|[13-59]\\d{2}|2(?:[0-57-9]\\d|6[01])|[68][0-57-9]\\d|7[0-79]\\d)|707[1-5]|8480|9(?:0[1-9]\\d|1[02-9]\\d|2(?:[0-8]\\d|9[03-9])|[358][0-8]\\d|[467]\\d{2}))\\d{4}",,,,"51234567",,,[8]],[,,"800\\d{6}",,,,"800123456",,,[9]],[,,"900(?:[0-24-9]\\d{7}|3\\d{1,4})",,,,"90012345678",,,[5,6,7,8,11]],[,,,,,,,,,[-1]],[,,"8(?:1[0-4679]\\d|2(?:[0-36]\\d|7[0-4])|3(?:[034]\\d|2[09]|70))\\d{4}",,,,"81123456",,,[8]],[,,,,,,,,,[-1]],"HK",852,"00(?:[126-9]|30|5[09])?",,,,,,"00",,[[,"(\\d{4})(\\d{4})","$1 $2",["[2-7]|[89](?:0[1-9]|[1-9])"]],[,"(800)(\\d{3})(\\d{3})","$1 $2 $3",["800"]],[,"(900)(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["900"]],[,"(900)(\\d{2,5})","$1 $2",["900"]]],,[,,"7(?:1(?:0[0-38]|1[0-3679]|3[013]|69|9[136])|2(?:[02389]\\d|1[18]|7[27-9])|3(?:[0-38]\\d|7[0-369]|9[2357-9])|47\\d|5(?:[178]\\d|5[0-5])|6(?:0[0-7]|2[236-9]|[35]\\d)|7(?:[27]\\d|8[7-9])|8(?:[23689]\\d|7[1-9])|9(?:[025]\\d|6[0-246-8]|7[0-36-9]|8[238]))\\d{4}",,,,"71123456",,,[8]],,,[,,,,,,,,,[-1]],[,,"30(?:0[1-9]|[15-7]\\d|2[047]|89)\\d{4}",,,,"30161234",,,[8]],,,[,,,,,,,,,[-1]]],HN:[,[,,"[237-9]\\d{7}",,,,,,,[8]],[,,"2(?:2(?:0[019]|1[1-36]|[23]\\d|4[04-6]|5[57]|7[013689]|8[0146-9]|9[012])|4(?:07|2[3-59]|3[13-689]|4[0-68]|5[1-35])|5(?:16|4[03-5]|5\\d|6[4-6]|74)|6(?:[056]\\d|17|3[04]|4[0-378]|[78][0-8]|9[01])|7(?:6[46-9]|7[02-9]|8[034])|8(?:79|8[0-35789]|9[1-57-9]))\\d{4}",,,,"22123456"],[,,"[37-9]\\d{7}",,,,"91234567"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"HN",504,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1-$2"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],HR:[,[,,"(?:[24-69]\\d|3[0-79])\\d{7}|80\\d{5,7}|[1-79]\\d{7}|6\\d{5,6}",,,,,,,[6,7,8,9]],[,,"1\\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\\d{6,7}",,,,"12345678",,,[8,9],[6,7]],[,,"9(?:01\\d|[1259]\\d{2}|7(?:[0679]\\d|51)|8\\d{1,2})\\d{5}",,,,"921234567",,,[8,9]],[,,"80[01]\\d{4,6}",,,,"800123456",,,[7,8,9]],[,,"6(?:[01]\\d{0,2}|[459]\\d{2})\\d{4}",,,,"611234",,,[6,7,8]],[,,,,,,,,,[-1]],[,,"7[45]\\d{6}",,,,"74123456",,,[8]],[,,,,,,,,,[-1]],"HR",385,"00","0",,,"0",,,,[[,"(1)(\\d{4})(\\d{3})","$1 $2 $3",["1"],"0$1"],[,"([2-5]\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-5]"],"0$1"],[,"(9\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],[,"(6[01])(\\d{2})(\\d{2,3})","$1 $2 $3",["6[01]"],"0$1"],[,"([67]\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[67]"],"0$1"],[,"(80[01])(\\d{2})(\\d{2,3})","$1 $2 $3",["80[01]"],"0$1"],[,"(80[01])(\\d{3})(\\d{3})","$1 $2 $3",["80[01]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"(?:62\\d?|72)\\d{6}",,,,"62123456",,,[8,9]],,,[,,,,,,,,,[-1]]],HT:[,[,,"[2-489]\\d{7}",,,,,,,[8]],[,,"2(?:2\\d|5[1-5]|81|9[149])\\d{5}",,,,"22453300"],[,,"[34]\\d{7}",,,,"34101234"],[,,"8\\d{7}",,,,"80012345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"(?:9(?:[67][0-4]|8[0-3589]|9\\d))\\d{5}",,,,"98901234"],"HT",509,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],HU:[,[,,"[2357]\\d{8}|[1-9]\\d{7}",,,,,,,[8,9],[6]],[,,"(?:1\\d|2[2-9]|3[2-7]|4[24-9]|5[2-79]|6[23689]|7[2-9]|8[2-57-9]|9[2-69])\\d{6}",,,,"12345678",,,[8],[6]],[,,"(?:[257]0|3[01])\\d{7}",,,,"201234567",,,[9]],[,,"[48]0\\d{6}",,,,"80123456",,,[8]],[,,"9[01]\\d{6}",,,,"90123456",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"21\\d{7}",,,,"211234567",,,[9]],"HU",36,"00","06",,,"06",,,,[[,"(1)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"($1)"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"($1)"]],,[,,,,,,,,,[-1]],,,[,,"[48]0\\d{6}",,,,,,,[8]],[,,"38\\d{7}",,,,"381234567",,,[9]],,,[,,,,,,,,,[-1]]],ID:[,[,,"(?:[1-36]|8\\d{5})\\d{6}|[1-9]\\d{8,10}|[2-9]\\d{7}",,,,,,,[7,8,9,10,11,12],[5,6]],[,,"2(?:1(?:14\\d{3}|500\\d{3}|\\d{7,8})|2\\d{6,8}|4\\d{7,8})|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\\d|9[1-8])|3(?:1|[25][1-8]|3[1-68]|4[1-3]|6[1-3568]|7[0-469]|8\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|43|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[124-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:19?|[25]\\d|3[1-69]|4[1-6])|7(?:02|[125][1-9]|[36]\\d|4[1-8]|7[0-36-9])|9(?:0[12]|1[013-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\d{5,8}",,,,"218350123",,,[7,8,9,10,11],[5,6]],[,,"(?:2(?:1(?:3[145]|4[01]|5[1-469]|60|8[0359])|2(?:88|9[1256])|3[1-4]9|4(?:36|91)|5(?:1[349]|[2-4]9)|6[0-7]9|7(?:[1-36]9|4[39])|8[1-5]9|9[1-48]9)|3(?:19[1-3]|2[12]9|3[13]9|4(?:1[69]|39)|5[14]9|6(?:1[69]|2[89])|709)|4[13]19|5(?:1(?:19|8[39])|4[129]9|6[12]9)|6(?:19[12]|2(?:[23]9|77))|7(?:1[13]9|2[15]9|419|5(?:1[89]|29)|6[15]9|7[178]9))\\d{5,6}|8[1-35-9]\\d{7,10}",,,,"812345678",,,[9,10,11,12]],[,,"177\\d{6,8}|800\\d{5,7}",,,,"8001234567",,,[8,9,10,11]],[,,"809\\d{7}",,,,"8091234567",,,[10]],[,,"804\\d{7}",,,,"8041234567",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"ID",62,"0(?:0[1789]|10(?:00|1[67]))","0",,,"0",,,,[[,"(\\d{2})(\\d{5,8})","$1 $2",["2[124]|[36]1"],"(0$1)"],[,"(\\d{3})(\\d{5,8})","$1 $2",["2[035-9]|[36][02-9]|[4579]"],"(0$1)"],[,"(8\\d{2})(\\d{3,4})(\\d{3})","$1-$2-$3",["8[1-35-9]"],"0$1"],[,"(8\\d{2})(\\d{4})(\\d{4,5})","$1-$2-$3",["8[1-35-9]"],"0$1"],[,"(1)(500)(\\d{3})","$1 $2 $3",["150","1500"],"$1"],[,"(177)(\\d{6,8})","$1 $2",["177"],"0$1"],[,"(800)(\\d{5,7})","$1 $2",["800"],"0$1"],[,"(804)(\\d{3})(\\d{4})","$1 $2 $3",["804"],"0$1"],[,"(80\\d)(\\d)(\\d{3})(\\d{3})","$1 $2 $3 $4",["80[79]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,"8071\\d{6}",,,,,,,[10]],[,,"1500\\d{3}|8071\\d{6}",,,,"8071123456",,,[7,10]],,,[,,,,,,,,,[-1]]],IE:[,[,,"[148]\\d{9}|[124-9]\\d{8}|[124-69]\\d{7}|[24-69]\\d{6}",,,,,,,[7,8,9,10],[5,6]],[,,"1\\d{7,8}|2(?:1\\d{6,7}|3\\d{7}|[24-9]\\d{5})|4(?:0[24]\\d{5}|[1-469]\\d{7}|5\\d{6}|7\\d{5}|8[0-46-9]\\d{7})|5(?:0[45]\\d{5}|1\\d{6}|[23679]\\d{7}|8\\d{5})|6(?:1\\d{6}|[237-9]\\d{5}|[4-6]\\d{7})|7[14]\\d{7}|9(?:1\\d{6}|[04]\\d{7}|[35-9]\\d{5})",,,,"2212345",,,,[5,6]],[,,"8(?:22\\d{6}|[35-9]\\d{7})",,,,"850123456",,,[9]],[,,"1800\\d{6}",,,,"1800123456",,,[10]],[,,"15(?:1[2-8]|[2-8]0|9[089])\\d{6}",,,,"1520123456",,,[10]],[,,"18[59]0\\d{6}",,,,"1850123456",,,[10]],[,,"700\\d{6}",,,,"700123456",,,[9]],[,,"76\\d{7}",,,,"761234567",,,[9]],"IE",353,"00","0",,,"0",,,,[[,"(1)(\\d{3,4})(\\d{4})","$1 $2 $3",["1"],"(0$1)"],[,"(\\d{2})(\\d{5})","$1 $2",["2[24-9]|47|58|6[237-9]|9[35-9]"],"(0$1)"],[,"(\\d{3})(\\d{5})","$1 $2",["40[24]|50[45]"],"(0$1)"],[,"(48)(\\d{4})(\\d{4})","$1 $2 $3",["48"],"(0$1)"],[,"(818)(\\d{3})(\\d{3})","$1 $2 $3",["818"],"(0$1)"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[24-69]|7[14]"],"(0$1)"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["76|8[35-9]"],"0$1"],[,"(8\\d)(\\d)(\\d{3})(\\d{4})","$1 $2 $3 $4",["8[35-9]5"],"0$1"],[,"(700)(\\d{3})(\\d{3})","$1 $2 $3",["700"],"0$1"],[,"(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:5|8[059])","1(?:5|8[059]0)"],"$1"]],,[,,,,,,,,,[-1]],,,[,,"18[59]0\\d{6}",,,,,,,[10]],[,,"818\\d{6}",,,,"818123456",,,[9]],,,[,,"8[35-9]5\\d{7}",,,,"8551234567",,,[10]]],IL:[,[,,"1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}|[2-689]\\d{3}",,,,,,,[4,7,8,9,10,11,12]],[,,"(?:153\\d{1,2}|[2-489])\\d{7}",,,,"21234567",,,[8,11,12],[7]],[,,"5(?:[0-489][2-9]\\d|5(?:01|2[2-5]|3[23]|4[45]|5[015689]|6[6-8]|7[0-267]|8[7-9]|9[1-9])|6\\d{2})\\d{5}",,,,"502345678",,,[9]],[,,"1(?:80[019]\\d{3}|255)\\d{3}",,,,"1800123456",,,[7,10]],[,,"1(?:212|(?:9(?:0[01]|19)|200)\\d{2})\\d{4}",,,,"1919123456",,,[8,9,10]],[,,"1700\\d{6}",,,,"1700123456",,,[10]],[,,,,,,,,,[-1]],[,,"7(?:18\\d|2[23]\\d|3[237]\\d|47\\d|6[58]\\d|7\\d{2}|8(?:2\\d|33|55|77|81)|9[2579]\\d)\\d{5}",,,,"771234567",,,[9]],"IL",972,"0(?:0|1[2-9])","0",,,"0",,,,[[,"([2-489])(\\d{3})(\\d{4})","$1-$2-$3",["[2-489]"],"0$1"],[,"([57]\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],[,"(153)(\\d{1,2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["153"]],[,"(1)([7-9]\\d{2})(\\d{3})(\\d{3})","$1-$2-$3-$4",["1[7-9]"]],[,"(1255)(\\d{3})","$1-$2",["125","1255"]],[,"(1200)(\\d{3})(\\d{3})","$1-$2-$3",["120","1200"]],[,"(1212)(\\d{2})(\\d{2})","$1-$2-$3",["121","1212"]],[,"(1599)(\\d{6})","$1-$2",["159","1599"]],[,"(151)(\\d{1,2})(\\d{3})(\\d{4})","$1-$2 $3-$4",["151"]],[,"(\\d{4})","*$1",["[2-689]"]]],,[,,,,,,,,,[-1]],,,[,,"1700\\d{6}|[2-689]\\d{3}",,,,,,,[4,10]],[,,"[2-689]\\d{3}|1599\\d{6}",,,,"1599123456",,,[4,10]],,,[,,"151\\d{8,9}",,,,"15112340000",,,[11,12]]],IM:[,[,,"(?:1624|(?:[3578]\\d|90)\\d\\d)\\d{6}",,,,,,,[10],[6]],[,,"1624[5-8]\\d{5}",,,,"1624756789",,,,[6]],[,,"7(?:4576|[59]24\\d|624[0-4689])\\d{5}",,,,"7924123456"],[,,"808162\\d{4}",,,,"8081624567"],[,,"(?:872299|90[0167]624)\\d{4}",,,,"9016247890"],[,,"8(?:4(?:40[49]06|5624\\d)|70624\\d)\\d{3}",,,,"8456247890"],[,,"70\\d{8}",,,,"7012345678"],[,,"56\\d{8}",,,,"5612345678"],"IM",44,"00","0",,,"0",,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"3(?:08162\\d|3\\d{5}|4(?:40[49]06|5624\\d)|7(?:0624\\d|2299\\d))\\d{3}|55\\d{8}",,,,"5512345678"],,,[,,,,,,,,,[-1]]],IN:[,[,,"(?:00800|1\\d{0,5}|[2-9]\\d\\d)\\d{7}",,,,,,,[8,9,10,11,12,13],[6,7]],[,,"(?:11|2[02]|33|4[04]|79|80)[2-7]\\d{7}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|[36][25]|22|4[28]|5[12]|[78]1|9[15])|6(?:12|[2345]1|57|6[13]|7[14]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-7]\\d{6}|(?:(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[13-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1-5]|4[25-8]|5[125689]|6[235-7]|7[157-9]|8[2-46-8])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|[57][2-689]|6[24-578]|8[1-6])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d|7(?:(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|9\\d)\\d|8(?:2[0-6]|[013-8]\\d)))[2-7]\\d{5}
1",,,,"7410410123",,,[10],[6,7,8]],[,,"(?:6(?:0(?:0[0-359]|26)\\d|1279|2(?:[06][0-59]|3[0589]|8[0-49]|9[0-6])\\d|3(?:0[0-39]\\d|5(?:0[0-6]|[1-9]\\d)|6[0-3]\\d|7[015-9]\\d|8\\d{2}|9[0-79]\\d)|90[019]\\d)|7(?:0\\d{3}|19[0-5]\\d|2(?:[0235679]\\d{2}|[14][017-9]\\d|8(?:[0-59]\\d|[678][089]))|3(?:[05-8]\\d{2}|1(?:[089]\\d|11|7[02-8])|2(?:[0-49][089]|[5-8]\\d)|3[017-9]\\d|4(?:[07-9]\\d|11)|9(?:[016-9]\\d|[2-5][089]))|4(?:0\\d{2}|1(?:[015-9]\\d|[23][089]|4[089])|2(?:0[089]|[1-7][089]|[89]\\d)|3(?:[0-8][089]|9\\d)|4(?:[089]\\d|11|7[02-8])|[56]\\d[089]|7(?:[089]\\d|11|7[02-8])|8(?:[0-24-7][089]|[389]\\d)|9(?:[0-6][089]|7[089]|[89]\\d))|5(?:[0346-8]\\d{2}|1(?:[07-9]\\d|11)|2(?:[04-9]\\d|[123][089])|5[017-9]\\d|9(?:[0-6][089]|[7-9]\\d))|6(?:0(?:[0-47]\\d|[5689][089])|(?:1[0-257-9]|[6-9]\\d)\\d|2(?:[0-4]\\d|[5-9][089])|3(?:[02-8][089]|[19]\\d)|4\\d[089]|5(?:[0-367][089]|[4589]\\d))|7(?:0(?:0[02-9]|[13-7][089]|[289]\\d)|[1-9]\\d{2})|8(?:[0-79]\\d{2}|8(?:[089]\\d|11|7[02-9]))|9(?:[089]\\d{2}|313|7(?:[02-8]\\d|9[07-9])))|8(?:0(?:[01589]\\d{2}|6[67]\\d|7(?:[02-8]\\d|9[04-9]))|1(?:[0-57-9]\\d{2}|6(?:[089]\\d|7[02-8]))|2(?:0(?:[089]\\d|7[02-8])|[14](?:[089]\\d|7[02-8])|[235-9]\\d{2})|3(?:[0357-9]\\d{2}|1(?:[089]\\d|7[02-8])|2(?:[089]\\d|7[02-8])|4\\d{2}|6(?:[089]\\d|7[02-8]))|[45]\\d{3}|6(?:[02457-9]\\d{2}|1(?:[089]\\d|7[02-8])|3(?:[089]\\d|7[02-8])|6(?:[08]\\d|7[02-8]|9\\d))|7(?:0[07-9]\\d|[1-69]\\d{2}|[78](?:[089]\\d|7[02-8]))|8(?:[0-25-9]\\d{2}|3(?:[089]\\d|7[02-8])|4(?:[0489]\\d|7[02-8]))|9(?:[02-9]\\d{2}|1(?:[0289]\\d|7[02-8])))|9\\d{4})\\d{5}",,,,"8123456789",,,[10]],[,,"00800\\d{7}|1(?:600\\d{6}|80(?:0\\d{4,9}|3\\d{9}))",,,,"1800123456"],[,,"186[12]\\d{9}",,,,"1861123456789",,,[13]],[,,"1860\\d{7}",,,,"18603451234",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"IN",91,"00","0",,,"0",,,,[[,"(\\d{8})","$1",["561","5616","56161"],"$1",,1],[,"(\\d{5})(\\d{5})","$1 $2",["6(?:0[02]|12|2[03689]|3[05-9]|9[019])|7(?:[02-8]|19|9[037-9])|8(?:0[015-9]|[1-9])|9","6(?:0(?:0|26)|127|2(?:[06][0-59]|3[0589]|8[0-39]|9[0-46])|3(?:0[0-39]|5[0-46-9]|6[0-3]|7[015-9]|8|9[0-79])|9[019])|7(?:[07]|19[0-5]|2(?:[0235-9]|[14][017-9])|3(?:[025-9]|[134][017-9])|4(?:[0-35689]|[47][017-9])|5(?:[02-46-9]|[15][017-9])|6(?:[02-9]|1[0-257-9])|8(?:[0-79]|8[0189])|9(?:[089]|31|7[02-9]))|8(?:0(?:[01589]|6[67]|7[02-9])|1(?:[0-57-9]|6[07-9])|2(?:[014][07-9]|[235-9])|3(?:[03-57-9]|[126][07-9])|[45]|6(?:[02457-9]|[136][07-9])|7(?:[078][07-9]|[1-69])|8(?:[0-25-9]|3[07-9]|4[047-9])|9(?:[02-9]|1[027-9]))|9","6(?:0(?:0|26)|1279|2(?:[06][0-59]|3[0589]|8[0-39]|9[0-46])|3(?:0[0-39]|5[0-46-9]|6[0-3]|7[015-9]|8|9[0-79])|9[019])|7(?:0|19[0-5]|2(?:[0235-79]|[14][017-9]|8(?:[0-69]|[78][089]))|3(?:[05-8]|1(?:[0189]|7[02-9])|2(?:[0-49][089]|[5-8])|3[017-9]|4(?:[07-9]|11)|9(?:[01689]|[2-5][089]|7[0189]))|4(?:[056]|1(?:[0135-9]|[24][089])|[29](?:[0-7][089]|[89])|3(?:[0-8][089]|9)|[47](?:[089]|11|7[02-8])|8(?:[0-24-7][089]|[389]))|5(?:[0346-9]|[15][017-9]|2(?:[03-9]|[12][089]))|6(?:[0346-9]|1[0-257-9]|2(?:[0-4]|[5-9][089])|5(?:[0-367][089]|[4589]))|7(?:0(?:[02-9]|1[089])|[1-9])|8(?:[0-79]|8(?:0[0189]|11|8[013-9]|9))|9(?:[089]|313|7(?:[02-8]|9[07-9])))|8(?:0(?:[01589]|6[67]|7(?:[02-8]|9[04-9]))|1(?:[0-57-9]|6(?:[089]|7[02-8]))|2(?:[014](?:[089]|7[02-8])|[235-9])|3(?:[03-57-9]|[126](?:[089]|7[02-8]))|[45]|6(?:[02457-9]|[136](?:[089]|7[02-8]))|7(?:0[07-9]|[1-69]|[78](?:[089]|7[02-8]))|8(?:[0-25-9]|3(?:[089]|7[02-8])|4(?:[0489]|7[02-8]))|9(?:[02-9]|1(?:[0289]|7[02-8])))|9"],"0$1",,1],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79[1-9]|80[2-46]"],"0$1",,1],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:2[0-249]|3[0-25]|4[145]|[59][14]|[68][1-9]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1|9[15])|6(?:12|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)"],"0$1",,1],[,"(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:[23579]|[468][1-9])|[2-8]"],"0$1",,1],[,"(\\d{2})(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3 $4",["008"],"0$1",,1],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["140"],"$1",,1],[,"(\\d{4})(\\d{2})(\\d{4})","$1 $2 $3",["160","1600"],"$1",,1],[,"(\\d{4})(\\d{4,5})","$1 $2",["180","1800"],"$1",,1],[,"(\\d{4})(\\d{2,4})(\\d{4})","$1 $2 $3",["180","1800"],"$1",,1],[,"(\\d{4})(\\d{3,4})(\\d{4})","$1 $2 $3",["186","1860"],"$1",,1],[,"(\\d{4})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["18[06]"],"$1",,1]],,[,,,,,,,,,[-1]],,,[,,"00800\\d{7}|1(?:600\\d{6}|8(?:0(?:0\\d{4,9}|3\\d{9})|6(?:0\\d{7}|[12]\\d{9})))"],[,,"140\\d{7}",,,,"1409305260",,,[10]],,,[,,,,,,,,,[-1]]],IO:[,[,,"3\\d{6}",,,,,,,[7]],[,,"37\\d{5}",,,,"3709100"],[,,"38\\d{5}",,,,"3801234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"IO",246,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],IQ:[,[,,"(?:1|[2-6]\\d?|7\\d\\d)\\d{7}",,,,,,,[8,9,10],[6,7]],[,,"1\\d{7}|(?:2[13-5]|3[02367]|4[023]|5[03]|6[026])\\d{6,7}",,,,"12345678",,,[8,9],[6,7]],[,,"7[3-9]\\d{8}",,,,"7912345678",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"IQ",964,"00","0",,,"0",,,,[[,"(1)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],[,"([2-6]\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-6]"],"0$1"],[,"(7\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],IR:[,[,,"[1-9]\\d{9}|[1-8]\\d{5,6}",,,,,,,[6,7,10],[4,5,8]],[,,"(?:(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])(?:\\d{8}|(?:[16]|[289]\\d?)\\d{3}))|94(?:000|11[0-7]|2\\d{2}|30[01]|4(?:11|40))\\d{5}",,,,"2123456789",,,,[4,5,8]],[,,"9(?:0(?:[1-35]\\d{2}|44\\d)|[13]\\d{3}|2[0-2]\\d{2}|9(?:[01]\\d{2}|44\\d|8(?:10|88)|9(?:0[013]|1[134]|21|9[89])))\\d{5}",,,,"9123456789",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"993\\d{7}",,,,"9932123456",,,[10]],"IR",98,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[1-8]"],"0$1"],[,"(\\d{2})(\\d{4,5})","$1 $2",["[1-8]"],"0$1"],[,"(\\d{4,5})","$1",["96"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,"(?:9411[1-7]|94440)\\d{5}",,,,,,,[10]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],IS:[,[,,"(?:38\\d|[4-9])\\d{6}",,,,,,,[7,9]],[,,"(?:4(?:1[0-24-69]|2[0-7]|[37][0-8]|4[0-245]|5[0-68]|6\\d|8[0-36-8])|5(?:05|[156]\\d|2[02578]|3[0-579]|4[03-7]|7[0-2578]|8[0-35-9]|9[013-689])|87[23])\\d{4}",,,,"4101234",,,[7]],[,,"38[589]\\d{6}|(?:6(?:1[1-8]|2[0-6]|3[027-9]|4[014679]|5[0159]|6[0-69]|70|8[06-8]|9\\d)|7(?:5[057]|[6-8]\\d|9[0-3])|8(?:2[0-59]|[3469]\\d|5[1-9]|8[28]))\\d{4}",,,,"6111234"],[,,"800\\d{4}",,,,"8001234",,,[7]],[,,"90\\d{5}",,,,"9011234",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"49\\d{5}",,,,"4921234",,,[7]],"IS",354,"1(?:0(?:01|10|20)|100)|00",,,,,,"00",,[[,"(\\d{3})(\\d{4})","$1 $2",["[4-9]"]],[,"(3\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["3"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"809\\d{4}",,,,"8091234",,,[7]],,,[,,"(?:689|8(?:7[0189]|80)|95[48])\\d{4}",,,,"6891234",,,[7]]],IT:[,[,,"0\\d{6}(?:\\d{4})?|3[0-8]\\d{9}|(?:[0138]\\d?|55)\\d{8}|[08]\\d{5}
1(?:\\d{2})?",,,,,,,[6,7,8,9,10,11]],[,,"0(?:2\\d{4,9}|(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])\\d|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)\\d|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])\\d|6(?:[0-57-9]\\d{2}|6(?:[0-8]\\d|9[0-79]))|7(?:[0159]\\d|2[12]|3[1-7]|4[2346]|6[13569]|7[13-6]|8[1-59])\\d|8(?:[0159]\\d|2[34578]|3[1-356]|[6-8][1-5])\\d|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6])\\d)\\d{1,6})",,,,"0212345678"],[,,"3(?:1\\d{8}|[245-9]\\d{7,8}|3\\d{7,9})",,,,"3123456789",,,[9,10,11]],[,,"80(?:0\\d{6}|3\\d{3})",,,,"800123456",,,[6,9]],[,,"0878\\d{5}|1(?:44|6[346])\\d{6}|89(?:2\\d{3}|4(?:[0-4]\\d{2}|[5-9]\\d{4})|5(?:[0-4]\\d{2}|[5-9]\\d{6})|9\\d{6})",,,,"899123456",,,[6,8,9,10]],[,,"84(?:[08]\\d{6}|[17]\\d{3})",,,,"848123456",,,[6,9]],[,,"1(?:78\\d|99)\\d{6}",,,,"1781234567",,,[9,10]],[,,"55\\d{8}",,,,"5512345678",,,[10]],"IT",39,"00",,,,,,,,[[,"(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[26]|55"]],[,"(0[26])(\\d{4})(\\d{5})","$1 $2 $3",["0[26]"]],[,"(0[26])(\\d{4,6})","$1 $2",["0[26]"]],[,"(0\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[13-57-9][0159]"]],[,"(\\d{3})(\\d{3,6})","$1 $2",["0[13-57-9][0159]|8(?:03|4[17]|9[245])","0[13-57-9][0159]|8(?:03|4[17]|9(?:2|[45][0-4]))"]],[,"(0\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["0[13-57-9][2-46-8]"]],[,"(0\\d{3})(\\d{2,6})","$1 $2",["0[13-57-9][2-46-8]"]],[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[13]|8(?:00|4[08]|9[59])","[13]|8(?:00|4[08]|9(?:5[5-9]|9))"]],[,"(\\d{4})(\\d{4})","$1 $2",["894","894[5-9]"]],[,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["3"]]],,[,,,,,,,,,[-1]],1,,[,,"848\\d{6}",,,,,,,[9]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],JE:[,[,,"(?:1534|(?:[3578]\\d|90)\\d\\d)\\d{6}",,,,,,,[10],[6]],[,,"1534[0-24-8]\\d{5}",,,,"1534456789",,,,[6]],[,,"7(?:509\\d|7(?:00[378]|97[7-9])|829\\d|937\\d)\\d{5}",,,,"7797712345"],[,,"80(?:07(?:35|81)|8901)\\d{4}",,,,"8007354567"],[,,"(?:871206|90(?:066[59]|1810|71(?:07|55)))\\d{4}",,,,"9018105678"],[,,"8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|70002)\\d{4}",,,,"8447034567"],[,,"701511\\d{4}",,,,"7015115678"],[,,"56\\d{8}",,,,"5612345678"],"JE",44,"00","0",,,"0",,,,,,[,,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}",,,,"7640123456"],,,[,,,,,,,,,[-1]],[,,"3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))\\d{4}|55\\d{8}",,,,"5512345678"],,,[,,,,,,,,,[-1]]],JM:[,[,,"(?:[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"876(?:5(?:0[12]|1[0-468]|2[35]|63)|6(?:0[1-3579]|1[0237-9]|[23]\\d|40|5[06]|6[2-589]|7[05]|8[04]|9[4-9])|7(?:0[2-689]|[1-6]\\d|8[056]|9[45])|9(?:0[1-8]|1[02378]|[2-8]\\d|9[2-468]))\\d{4}",,,,"8765230123",,,,[7]],[,,"876(?:2[14-9]\\d|[348]\\d{2}|5(?:0[3-9]|[2-57-9]\\d|6[0-24-9])|7(?:0[07]|7\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579]))\\d{4}",,,,"8762101234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"JM",1,"011","1",,,"1",,,,,,[,,,,,,,,,[-1]],,"876",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],JO:[,[,,"(?:(?:(?:[268]|7\\d)\\d|32|53)\\d|900)\\d{5}",,,,,,,[8,9]],[,,"(?:2(?:6(?:2[0-35-9]|3[0-57-8]|4[24-7]|5[0-24-8]|[6-8][023]|9[0-3])|7(?:0[1-79]|10|2[014-7]|3[0-689]|4[019]|5[0-3578]))|32(?:0[1-69]|1[1-35-7]|2[024-7]|3\\d|4[0-3]|[57][023]|6[03])|53(?:0[0-3]|[13][023]|2[0-59]|49|5[0-35-9]|6[15]|7[45]|8[1-6]|9[0-36-9])|6(?:2[50]0|3(?:00|33)|4(?:0[0125]|1[2-7]|2[0569]|[38][07-9]|4[025689]|6[0-589]|7\\d|9[0-2])|5(?:[01][056]|2[034]|3[0-57-9]|4[17-8]|5[0-69]|6[0-35-9]|7[1-379]|8[0-68]|9[02-39]))|87(?:[02]0|7[08]|90))\\d{4}",,,,"62001234",,,[8]],[,,"7(?:55[0-49]|7[025-9]\\d|8[0-25-9]\\d|9[0-25-9]\\d)\\d{5}",,,,"790123456",,,[9]],[,,"80\\d{6}",,,,"80012345",,,[8]],[,,"900\\d{5}",,,,"90012345",,,[8]],[,,"85\\d{6}",,,,"85012345",,,[8]],[,,"70\\d{7}",,,,"700123456",,,[9]],[,,,,,,,,,[-1]],"JO",962,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2356]|87"],"(0$1)"],[,"(7)(\\d{4})(\\d{4})","$1 $2 $3",["7[457-9]"],"0$1"],[,"(\\d{2})(\\d{7})","$1 $2",["70"],"0$1"],[,"(\\d{3})(\\d{5,6})","$1 $2",["8[0158]|9"],"0$1"]],,[,,"74(?:66|77)\\d{5}",,,,"746612345",,,[9]],,,[,,,,,,,,,[-1]],[,,"8(?:10|8\\d)\\d{5}",,,,"88101234",,,[8]],,,[,,,,,,,,,[-1]]],JP:[,[,,"00[1-9]\\d{6,14}|[257-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}",,,,,,,[8,9,10,11,12,13,14,15,16,17]],[,,"(?:1(?:1[235-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-9])|2[2-9]\\d|[36][1-9]\\d|4(?:6[02-8]|[2-578]\\d|9[2-59])|5(?:6[1-9]|7[2-8]|[2-589]\\d)|7(?:3[4-9]|4[02-9]|[25-9]\\d)|8(?:3[2-9]|4[5-9]|5[1-9]|8[03-9]|[2679]\\d)|9(?:[679][1-9]|[2-58]\\d))\\d{6}",,,,"312345678",,,[9]],[,,"[7-9]0[1-9]\\d{7}",,,,"9012345678",,,[10]],[,,"120\\d{6}|800\\d{7}|00(?:37\\d{6,13}|66\\d{6,13}|777(?:[01]\\d{2}|5\\d{3}|8\\d{4})|882[1245]\\d{4})",,,,"120123456"],[,,"990\\d{6}",,,,"990123456",,,[9]],[,,,,,,,,,[-1]],[,,"60\\d{7}",,,,"601234567",,,[9]],[,,"50[1-9]\\d{7}",,,,"5012345678",,,[10]],"JP",81,"010","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|57|99)0"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["800"],"0$1"],[,"(\\d{4})(\\d{4})","$1-$2",["007","0077"],"$1"],[,"(\\d{4})(\\d{2})(\\d{3,4})","$1-$2-$3",["007","0077"],"$1"],[,"(\\d{4})(\\d{2})(\\d{4})","$1-$2-$3",["008","0088"],"$1"],[,"(\\d{4})(\\d{3})(\\d{3,4})","$1-$2-$3",["00[36]","00(?:37|66)"],"$1"],[,"(\\d{4})(\\d{4})(\\d{4,5})","$1-$2-$3",["00[36]","00(?:37|66)"],"$1"],[,"(\\d{4})(\\d{5})(\\d{5,6})","$1-$2-$3",["00[36]","00(?:37|66)"],"$1"],[,"(\\d{4})(\\d{6})(\\d{6,7})","$1-$2-$3",["00[36]","00(?:37|66)"],"$1"],[,"(\\d{2})(\\d{4})(\\d{4}
1)","$1-$2-$3",["[2579]0|80[1-9]"],"0$1"],[,"(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:49|80|9[16])","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[78]|96)|477|51[24]|636)|9(?:496|802|9(?:1[23]|69))","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[78]|96[2457-9])|477|51[24]|636[2-57-9])|9(?:496|802|9(?:1[23]|69))"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["1(?:2[3-6]|3[3-9]|4[2-6]|5[2-8]|[68][2-7]|7[2-689]|9[1-578])|2(?:2[03-689]|3[3-58]|4[0-468]|5[04-8]|6[013-8]|7[06-9]|8[02-57-9]|9[13])|4(?:2[28]|3[689]|6[035-7]|7[05689]|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9[4-9])|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9[014-9])|8(?:2[49]|3[3-8]|4[5-8]|5[2-9]|6[35-9]|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9[3-7])","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9[2-8])|3(?:[3-6][2-9]|7[2-6]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5[4-7]|6[2-9]|8[2-8]|9[236-9])|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3[34]|4[2-69]|[5-7]))","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:20|[3578]|4[04-9]|6[56]))|3(?:[3-6][2-9]|7(?:[2-5]|6[0-59])|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:20|[3578]|4[04-9]|6(?:5[25]|60)))|3(?:[3-6][2-9]|7(?:[2-5]|6[0-59])|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1|2(?:2[37]|5[5-9]|64|78|8[39]|91)|4(?:2[2689]|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93)","1|2(?:2[37]|5(?:[57]|[68]0|9[19])|64|78|8[39]|917)|4(?:2(?:20|[68]|9[178])|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93[34])","1|2(?:2[37]|5(?:[57]|[68]0|9(?:17|99))|64|78|8[39]|917)|4(?:2(?:20|[68]|9[178])|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93(?:31|4))"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["2(?:[34]7|[56]9|74|9[14-79])|82|993"],"0$1"],[,"(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["3|4(?:2[09]|7[01])|6[1-9]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[2479][1-9]"],"0$1"]],[[,"(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|57|99)0"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["800"],"0$1"],[,"(\\d{2})(\\d{4})(\\d{4}
1)","$1-$2-$3",["[2579]0|80[1-9]"],"0$1"],[,"(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:49|80|9[16])","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[78]|96)|477|51[24]|636)|9(?:496|802|9(?:1[23]|69))","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[78]|96[2457-9])|477|51[24]|636[2-57-9])|9(?:496|802|9(?:1[23]|69))"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["1(?:2[3-6]|3[3-9]|4[2-6]|5[2-8]|[68][2-7]|7[2-689]|9[1-578])|2(?:2[03-689]|3[3-58]|4[0-468]|5[04-8]|6[013-8]|7[06-9]|8[02-57-9]|9[13])|4(?:2[28]|3[689]|6[035-7]|7[05689]|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9[4-9])|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9[014-9])|8(?:2[49]|3[3-8]|4[5-8]|5[2-9]|6[35-9]|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9[3-7])","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9[2-8])|3(?:[3-6][2-9]|7[2-6]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5[4-7]|6[2-9]|8[2-8]|9[236-9])|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3[34]|4[2-69]|[5-7]))","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:20|[3578]|4[04-9]|6[56]))|3(?:[3-6][2-9]|7(?:[2-5]|6[0-59])|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:20|[3578]|4[04-9]|6(?:5[25]|60)))|3(?:[3-6][2-9]|7(?:[2-5]|6[0-59])|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1|2(?:2[37]|5[5-9]|64|78|8[39]|91)|4(?:2[2689]|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93)","1|2(?:2[37]|5(?:[57]|[68]0|9[19])|64|78|8[39]|917)|4(?:2(?:20|[68]|9[178])|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93[34])","1|2(?:2[37]|5(?:[57]|[68]0|9(?:17|99))|64|78|8[39]|917)|4(?:2(?:20|[68]|9[178])|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93(?:31|4))"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["2(?:[34]7|[56]9|74|9[14-79])|82|993"],"0$1"],[,"(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["3|4(?:2[09]|7[01])|6[1-9]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[2479][1-9]"],"0$1"]],[,,"20\\d{8}",,,,"2012345678",,,[10]],,,[,,"00(?:37\\d{6,13}|66\\d{6,13}|777(?:[01]\\d{2}|5\\d{3}|8\\d{4})|882[1245]\\d{4})"],[,,"570\\d{6}",,,,"570123456",,,[9]],,,[,,,,,,,,,[-1]]],KE:[,[,,"(?:(?:2|80)0\\d?|[4-7]\\d\\d|900)\\d{6}|[4-6]\\d{6,7}",,,,,,,[7,8,9,10]],[,,"20\\d{6,7}|4(?:0\\d{6,7}|[136]\\d{7}|[245]\\d{5,7})|5(?:[08]\\d{7}|[1-79]\\d{5,7})|6(?:[01457-9]\\d{5,7}|2\\d{7}|6\\d{6,7})",,,,"202012345",,,[7,8,9]],[,,"7\\d{8}",,,,"712123456",,,[9]],[,,"800[24-8]\\d{5,6}",,,,"800223456",,,[9,10]],[,,"900[02-9]\\d{5}",,,,"900223456",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"KE",254,"000","0",,,"005|0",,,,[[,"(\\d{2})(\\d{5,7})","$1 $2",["[24-6]"],"0$1"],[,"(\\d{3})(\\d{6})","$1 $2",["7"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KG:[,[,,"(?:[235-7]\\d|99)\\d{7}|800\\d{6,7}",,,,,,,[9,10],[5,6]],[,,"(?:3(?:1(?:[256]\\d|3[1-9]|47)|2(?:22|3[0-479]|6[0-7])|4(?:22|5[6-9]|6\\d)|5(?:22|3[4-7]|59|6\\d)|6(?:22|5[35-7]|6\\d)|7(?:22|3[468]|4[1-9]|59|[67]\\d)|9(?:22|4[1-8]|6\\d))|6(?:09|12|2[2-4])\\d)\\d{5}",,,,"312123456",,,[9],[5,6]],[,,"(?:2(?:0[0-35]|2\\d)|5[0-24-7]\\d|7(?:[
107]\\d|55)|99[69])\\d{6}",,,,"700123456",,,[9]],[,,"800\\d{6,7}",,,,"800123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"KG",996,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[25-79]|31[25]"],"0$1"],[,"(\\d{4})(\\d{5})","$1 $2",["3(?:1[36]|[2-9])"],"0$1"],[,"(\\d{3})(\\d{3})(\\d)(\\d{3})","$1 $2 $3 $4",["8"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KH:[,[,,"1\\d{9}|[1-9]\\d{7,8}",,,,,,,[8,9,10],[6,7]],[,,"(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])(?:[237-9]|4[56]|5\\d|6\\d?)\\d{5}|23(?:4[234]|8\\d{2})\\d{4}",,,,"23756789",,,[8,9],[6,7]],[,,"(?:1(?:[013-79]\\d|[28]\\d{1,2})|2[3-6]48|3(?:[18]\\d{2}|[2-6]48)|4[2-4]48|5[2-5]48|6(?:[016-9]\\d|[2-5]48)|7(?:[07-9]\\d|[16]\\d{2}|[2-5]48)|8(?:[013-79]\\d|8\\d{2})|9(?:6\\d{2}|7\\d{1,2}|[0-589]\\d))\\d{5}",,,,"91234567",,,[8,9]],[,,"1800(?:1\\d|2[019])\\d{4}",,,,"1800123456",,,[10]],[,,"1900(?:1\\d|2[09])\\d{4}",,,,"1900123456",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"KH",855,"00[14-9]","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["1\\d[1-9]|[2-9]"],"0$1"],[,"(1[89]00)(\\d{3})(\\d{3})","$1 $2 $3",["1[89]0","1[89]00"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KI:[,[,,"(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}",,,,,,,[5,8]],[,,"(?:[24]\\d|3[1-9]|50|8[0-5])\\d{3}|(?:65(?:02[12]|12[56]|22[89]|[3-5]00)|7(?:27\\d{2}|3100|5(?:02[12]|12[56]|22[89]|[34](?:00|81)|500)))\\d{3}",,,,"31234"],[,,"(?:6(?:200[01]|30[01]\\d)|7(?:200[01]|3(?:0[0-5]\\d|140)))\\d{3}",,,,"72001234",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"30(?:0[01]\\d{2}|12(?:11|20))\\d{2}",,,,"30010000",,,[8]],"KI",686,"00",,,,"0",,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KM:[,[,,"[3478]\\d{6}",,,,,,,[7]],[,,"7[4-7]\\d{5}",,,,"7712345"],[,,"[34]\\d{6}",,,,"3212345"],[,,,,,,,,,[-1]],[,,"8\\d{6}",,,,"8001234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"KM",269,"00",,,,,,,,[[,"(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KN:[,[,,"(?:[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"869(?:2(?:29|36)|302|4(?:6[015-9]|70))\\d{4}",,,,"8692361234",,,,[7]],[,,"869(?:5(?:5[6-8]|6[5-7])|66\\d|76[02-7])\\d{4}",,,,"8697652917",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"KN",1,"011","1",,,"1",,,,,,[,,,,,,,,,[-1]],,"869",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KP:[,[,,"(?:(?:19\\d|2)\\d|85)\\d{6}",,,,,,,[8,10],[6,7]],[,,"2\\d{7}|85\\d{6}",,,,"21234567",,,[8],[6,7]],[,,"19[123]\\d{7}",,,,"1921234567",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"KP",850,"00|99","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,"2(?:[0-24-9]\\d{2}|3(?:[0-79]\\d|8[02-9]))\\d{4}",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KR:[,[,,"(?:00(?:0\\d|[1-9]\\d{1,4})|(?:[13-6]\\d|2)\\d?|70\\d|80)\\d{7}|1\\d{7}|[3-6]\\d{4,5}",,,,,,,[5,6,8,9,10,11,12,13,14],[3,7]],[,,"2[1-9]\\d{6,7}|(?:3[1-3]|[46][1-4]|5[1-5])(?:1\\d{2,3}|[1-9]\\d{6,7})",,,,"22123456",,,[5,6,8,9,10],[3,7]],[,,"1[0-26-9]\\d{7,8}",,,,"1000000000",,,[9,10]],[,,"(?:00(?:3(?:08|68\\d)|798\\d{1,3})|80\\d)\\d{6}",,,,"801234567",,,[9,11,12,13,14]],[,,"60[2-9]\\d{6}",,,,"602345678",,,[9]],[,,,,,,,,,[-1]],[,,"50\\d{8}",,,,"5012345678",,,[10]],[,,"70\\d{8}",,,,"7012345678",,,[10]],"KR",82,"00(?:[1259]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))","0",,,"0(8[1-46-8]|85\\d{2})?",,,,[[,"(\\d{2})(\\d{3,4})","$1-$2",["(?:3[1-3]|[46][1-4]|5[1-5])1"],"0$1","0$CC-$1"],[,"(\\d{4})(\\d{4})","$1-$2",["1(?:5[246-9]|6[046-8]|8[03579])","1(?:5(?:22|44|66|77|88|99)|6(?:[07]0|44|6[16]|88)|8(?:00|33|55|77|99))"],"$1","0$CC-$1"],[,"(\\d{5})","$1",["1[016-9]1","1[016-9]11","1[016-9]114"],"0$1","0$CC-$1"],[,"(\\d)(\\d{3,4})(\\d{4})","$1-$2-$3",["2[1-9]"],"0$1","0$CC-$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60[2-9]|80"],"0$1","0$CC-$1"],[,"(\\d{2})(\\d{3,4})(\\d{4})","$1-$2-$3",["1[0-25-9]|(?:3[1-3]|[46][1-4]|5[1-5])[1-9]"],"0$1","0$CC-$1"],[,"(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[57]0"],"0$1","0$CC-$1"],[,"(\\d{5})(\\d{3})(\\d{3})","$1 $2 $3",["003","0030","00308"],"$1","0$CC-$1"],[,"(\\d{5})(\\d{3,4})(\\d{4})","$1 $2 $3",["00[37]","00(?:36|79)","00(?:36|79)8"],"$1","0$CC-$1"],[,"(\\d{5})(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["007","0079","00798"],"$1","0$CC-$1"]],[[,"(\\d{2})(\\d{3,4})","$1-$2",["(?:3[1-3]|[46][1-4]|5[1-5])1"],"0$1","0$CC-$1"],[,"(\\d{4})(\\d{4})","$1-$2",["1(?:5[246-9]|6[046-8]|8[03579])","1(?:5(?:22|44|66|77|88|99)|6(?:[07]0|44|6[16]|88)|8(?:00|33|55|77|99))"],"$1","0$CC-$1"],[,"(\\d{5})","$1",["1[016-9]1","1[016-9]11","1[016-9]114"],"0$1","0$CC-$1"],[,"(\\d)(\\d{3,4})(\\d{4})","$1-$2-$3",["2[1-9]"],"0$1","0$CC-$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60[2-9]|80"],"0$1","0$CC-$1"],[,"(\\d{2})(\\d{3,4})(\\d{4})","$1-$2-$3",["1[0-25-9]|(?:3[1-3]|[46][1-4]|5[1-5])[1-9]"],"0$1","0$CC-$1"],[,"(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[57]0"],"0$1","0$CC-$1"]],[,,"15\\d{7,8}",,,,"1523456789",,,[9,10]],,,[,,"00(?:3(?:08|68\\d)|798\\d{1,3})\\d{6}",,,,,,,[11,12,13,14]],[,,"1(?:5(?:22|44|66|77|88|99)|6(?:00|44|6[16]|70|88)|8(?:00|33|55|77|99))\\d{4}",,,,"15441234",,,[8]],,,[,,,,,,,,,[-1]]],KW:[,[,,"(?:18|[2569]\\d\\d)\\d{5}",,,,,,,[7,8]],[,,"(?:2(?:[23]\\d{2}|4(?:[1-35-9]\\d|44)|5(?:0[034]|[2-46]\\d|5[1-3]|7[1-7])))\\d{4}",,,,"22345678",,,[8]],[,,"(?:5(?:[05]\\d{2}|1[0-7]\\d|2(?:22|5[25])|6[56]\\d)|6(?:0[034679]\\d|222|5[015-9]\\d|6\\d{2}|7(?:0[013-9]|[67]\\d)|9(?:[069]\\d|3[039]))|9(?:0[09]\\d|11[01]|22\\d|4[01479]\\d|55\\d|6[0679]\\d|7(?:02|[1-9]\\d)|8[057-9]\\d|9\\d{2}))\\d{4}",,,,"50012345",,,[8]],[,,"18\\d{5}",,,,"1801234",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"KW",965,"00",,,,,,,,[[,"(\\d{4})(\\d{3,4})","$1 $2",["[16]|2(?:[0-35-9]|4[0-35-9])|52[25]|9[0-24-9]"]],[,"(\\d{3})(\\d{5})","$1 $2",["244|5(?:[015]|6[56])"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KY:[,[,,"(?:345|[58]\\d\\d|900)\\d{7}
1",,,,,,,[10],[7]],[,,"345(?:2(?:22|44)|444|6(?:23|38|40)|7(?:4[35-79]|6[6-9]|77)|8(?:00|1[45]|25|[48]8)|9(?:14|4[035-9]))\\d{4}",,,,"3452221234",,,,[7]],[,,"345(?:32[1-9]|5(?:1[67]|2[5-79]|4[6-9]|50|76)|649|9(?:1[67]|2[2-9]|3[689]))\\d{4}",,,,"3453231234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002345678"],[,,"900[2-9]\\d{6}|345976\\d{4}",,,,"9002345678"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"KY",1,"011","1",,,"1",,,,,,[,,"345849\\d{4}",,,,"3458491234"],,"345",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],KZ:[,[,,"(?:33622|(?:7\\d|80)\\d{3})\\d{5}",,,,,,,[10]],[,,"33622\\d{5}|7(?:1(?:0(?:[23]\\d|4[0-3]|59|63)|1(?:[23]\\d|4[0-79]|59)|2(?:[23]\\d|59)|3(?:2\\d|3[0-79]|4[0-35-9]|59)|4(?:[24]\\d|3[013-9]|5[1-9])|5(?:2\\d|3[1-9]|4[0-7]|59)|6(?:[234]\\d|5[19]|61)|72\\d|8(?:[27]\\d|3[1-46-9]|4[0-5]))|2(?:1(?:[23]\\d|4[46-9]|5[3469])|2(?:2\\d|3[0679]|46|5[12679])|3(?:[234]\\d|5[139])|4(?:2\\d|3[1235-9]|59)|5(?:[23]\\d|4[01246-8]|59|61)|6(?:2\\d|3[1-9]|4[0-4]|59)|7(?:[2379]\\d|40|5[279])|8(?:[23]\\d|4[0-3]|59)|9(?:2\\d|3[124578]|59)))\\d{5}",,,,"7123456789"],[,,"7(?:0[012578]|47|6[02-4]|7[15-8]|85)\\d{7}",,,,"7710009998"],[,,"800\\d{7}",,,,"8001234567"],[,,"809\\d{7}",,,,"8091234567"],[,,,,,,,,,[-1]],[,,"808\\d{7}",,,,"8081234567"],[,,"751\\d{7}",,,,"7511234567"],"KZ",7,"810","8",,,"8",,"8~10",,,,[,,,,,,,,,[-1]],,,[,,"751\\d{7}"],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LA:[,[,,"(?:2\\d|3)\\d{8}|(?:[235-8]\\d|41)\\d{6}",,,,,,,[8,9,10],[6]],[,,"(?:2[13]|3(?:0\\d|[14])|[5-7][14]|41|8[1468])\\d{6}",,,,"21212862",,,[8,9],[6]],[,,"20(?:2[2389]|5[24-689]|7[6-8]|9[1-35-9])\\d{6}",,,,"2023123456",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"LA",856,"00","0",,,"0",,,,[[,"(20)(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["20"],"0$1"],[,"([2-8]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["2[13]|3[14]|[4-8]"],"0$1"],[,"(30)(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["30"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LB:[,[,,"[7-9]\\d{7}|[13-9]\\d{6}",,,,,,,[7,8]],[,,"(?:[14-6]\\d{2}|7(?:[2-57]\\d|62|8[0-7]|9[04-9])|8[02-9]\\d|9\\d{2})\\d{4}",,,,"1123456",,,[7]],[,,"(?:3\\d|7(?:[01]\\d|6[013-9]|8[89]|9[1-3])|81\\d)\\d{5}",,,,"71123456"],[,,,,,,,,,[-1]],[,,"9[01]\\d{6}",,,,"90123456",,,[8]],[,,"80\\d{6}",,,,"80123456",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"LB",961,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]"],"0$1"],[,"([7-9]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["7(?:[01]|6[013-9]|8[89]|9[1-3])|[89][01]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LC:[,[,,"(?:[58]\\d\\d|758|900)\\d{7}",,,,,,,[10],[7]],[,,"758(?:4(?:30|5[0-9]|6[2-9]|8[0-2])|57[0-2]|638)\\d{4}",,,,"7584305678",,,,[7]],[,,"758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2\\d|3[01]))\\d{4}",,,,"7582845678",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"LC",1,"011","1",,,"1",,,,,,[,,,,,,,,,[-1]],,"758",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LI:[,[,,"(?:(?:[2378]|6\\d\\d)\\d|90)\\d{5}",,,,,,,[7,9]],[,,"(?:2(?:01|1[27]|3\\d|6[02-578]|96)|3(?:7[0135-7]|8[048]|9[0269]))\\d{4}",,,,"2345678",,,[7]],[,,"6(?:5(?:09|1\\d|20)|6(?:0[0-6]|10|2[06-9]|39))\\d{5}|7(?:[37-9]\\d|42|56)\\d{4}",,,,"660234567"],[,,"80(?:02[28]|9\\d{2})\\d{2}",,,,"8002222",,,[7]],[,,"90(?:02[258]|1(?:23|3[14])|66[136])\\d{2}",,,,"9002222",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"LI",423,"00","0",,,"0|10(?:01|20|66)",,,,[[,"(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[237-9]"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6[56]"]],[,"(69)(7\\d{2})(\\d{4})","$1 $2 $3",["697"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"870(?:28|87)\\d{2}",,,,"8702812",,,[7]],,,[,,"697(?:42|56|[78]\\d)\\d{4}",,,,"697861234",,,[9]]],LK:[,[,,"(?:[1-7]\\d|[89]1)\\d{7}",,,,,,,[9],[7]],[,,"1(?:1[2-57]\\d{6}|973\\d{5})|(?:2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7]|[89]1)[2-57]\\d{6}",,,,"112345678",,,,[7]],[,,"7[0125-8]\\d{7}",,,,"712345678"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"LK",94,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[1-689]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LR:[,[,,"(?:[25]\\d|33|77|88)\\d{7}|(?:2\\d|[45])\\d{6}",,,,,,,[7,8,9]],[,,"(?:2\\d{3}|33333)\\d{4}",,,,"21234567",,,[8,9]],[,,"(?:20\\d{2}|330\\d|4[67]|5(?:55)?\\d|77\\d{2}|88\\d{2})\\d{5}",,,,"770123456",,,[7,9]],[,,,,,,,,,[-1]],[,,"332(?:02|[2-5]\\d)\\d{4}",,,,"332021234",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"LR",231,"00","0",,,"0",,,,[[,"(2\\d)(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],[,"([4-5])(\\d{3})(\\d{3})","$1 $2 $3",["[45]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[23578]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LS:[,[,,"(?:[256]\\d\\d|800)\\d{5}",,,,,,,[8]],[,,"2\\d{7}",,,,"22123456"],[,,"[56]\\d{7}",,,,"50123456"],[,,"800[256]\\d{4}",,,,"80021234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"LS",266,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LT:[,[,,"(?:[3469]\\d|52|[78]0)\\d{6}",,,,,,,[8]],[,,"(?:3[1478]|4[124-6]|52)\\d{6}",,,,"31234567"],[,,"6\\d{7}",,,,"61234567"],[,,"800\\d{5}",,,,"80012345"],[,,"9(?:0[0239]|10)\\d{5}",,,,"90012345"],[,,"808\\d{5}
1",,,,"80812345"],[,,"700\\d{5}",,,,"70012345"],[,,,,,,,,,[-1]],"LT",370,"00","8",,,"[08]",,,,[[,"([34]\\d)(\\d{6})","$1 $2",["37|4(?:1|5[45]|6[2-4])"],"(8-$1)",,1],[,"([3-6]\\d{2})(\\d{5})","$1 $2",["3[148]|4(?:[24]|6[09])|528|6"],"(8-$1)",,1],[,"([7-9]\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["[7-9]"],"8 $1",,1],[,"(5)(2\\d{2})(\\d{4})","$1 $2 $3",["52[0-79]"],"(8-$1)",,1]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"70[67]\\d{5}",,,,"70712345"],,,[,,,,,,,,,[-1]]],LU:[,[,,"[2457-9]\\d{3,10}|3(?:[0-46-9]\\d{2,9}|5(?:[013-9]\\d{1,8}|2\\d{1,3}))|6\\d{8}",,,,,,,[4,5,6,7,8,9,10,11]],[,,"2[2-9]\\d{2,9}|(?:3(?:[0-46-9]\\d|5[013-9])|[457]\\d{2}|8(?:0[2-9]|[13-9]\\d)|9(?:0[89]|[2-579]\\d))\\d{1,8}",,,,"27123456"],[,,"6(?:[269][18]|5[158]|7[189]|81)\\d{6}",,,,"628123456",,,[9]],[,,"800\\d{5}",,,,"80012345",,,[8]],[,,"90[015]\\d{5}",,,,"90012345",,,[8]],[,,"801\\d{5}",,,,"80112345",,,[8]],[,,,,,,,,,[-1]],[,,"20(?:1\\d{5}|[2-689]\\d{1,7})",,,,"20201234",,,[4,5,6,7,8,9,10]],"LU",352,"00",,,,"(15(?:0[06]|1[12]|35|4[04]|55|6[26]|77|88|99)\\d)",,,,[[,"(\\d{2})(\\d{3})","$1 $2",["[2-5]|7[1-9]|[89](?:0[2-9]|[1-9])"],,"$CC $1"],[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[2-5]|7[1-9]|[89](?:0[2-9]|[1-9])"],,"$CC $1"],[,"(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["20"],,"$CC $1"],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4",["2(?:[0367]|4[3-8])"],,"$CC $1"],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["20"],,"$CC $1"],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4 $5",["2(?:[0367]|4[3-8])"],,"$CC $1"],[,"(\\d{2})(\\d{2})(\\d{2})(\\d{1,4})","$1 $2 $3 $4",["2(?:[12589]|4[12])|[3-5]|7[1-9]|8(?:0[2-9]|[1-9])|9(?:0[2-46-9]|[1-9])"],,"$CC $1"],[,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["70|80[01]|90[015]"],,"$CC $1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"],,"$CC $1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LV:[,[,,"(?:[268]\\d|90)\\d{6}",,,,,,,[8]],[,,"6\\d{7}",,,,"63123456"],[,,"2\\d{7}",,,,"21234567"],[,,"80\\d{6}",,,,"80123456"],[,,"90\\d{6}",,,,"90123456"],[,,"81\\d{6}",,,,"81123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"LV",371,"00",,,,,,,,[[,"([2689]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[2689]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],LY:[,[,,"(?:[2569]\\d|71)\\d{7}",,,,,,,[9],[7]],[,,"(?:2[1345]|5[1347]|6[123479]|71)\\d{7}",,,,"212345678",,,,[7]],[,,"9[1-6]\\d{7}",,,,"912345678"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"LY",218,"00","0",,,"0",,,,[[,"([25-79]\\d)(\\d{7})","$1-$2",["[25-79]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MA:[,[,,"[5-8]\\d{8}",,,,,,,[9]],[,,"5(?:2(?:[015-79]\\d|2[02-9]|3[2-57]|4[2-8]|8[235-7])\\d|3(?:[0-48]\\d|[57][2-9]|6[2-8]|9[3-9])\\d|4[067]\\d{2}|5[03]\\d{2})\\d{4}",,,,"520123456"],[,,"(?:6(?:[0-79]\\d|8[0-247-9])|7(?:0[067]|6[1267]|7[017]))\\d{6}",,,,"650123456"],[,,"80\\d{7}",,,,"801234567"],[,,"89\\d{7}",,,,"891234567"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"5924[01]\\d{4}",,,,"592401234"],"MA",212,"00","0",,,"0",,,,[[,"([5-7]\\d{2})(\\d{6})","$1-$2",["5(?:2[015-7]|3[0-4])|[67]"],"0$1"],[,"([58]\\d{3})(\\d{5})","$1-$2",["5(?:2[2-489]|3[5-9]|92)|892","5(?:2(?:[2-48]|9[0-7])|3(?:[5-79]|8[0-7])|924)|892"],"0$1"],[,"(5\\d{4})(\\d{4})","$1-$2",["5(?:29|38)","5(?:29|38)[89]"],"0$1"],[,"([5]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5(?:4[067]|5[03])"],"0$1"],[,"(8[09])(\\d{7})","$1-$2",["8(?:0|9[013-9])"],"0$1"]],,[,,,,,,,,,[-1]],1,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MC:[,[,,"(?:(?:[349]|6\\d)\\d\\d|870)\\d{5}",,,,,,,[8,9]],[,,"870\\d{5}|9[2-47-9]\\d{6}",,,,"99123456",,,[8]],[,,"3\\d{7}|4(?:4\\d|5[1-9])\\d{5}|6\\d{8}",,,,"612345678"],[,,"90\\d{6}",,,,"90123456",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"MC",377,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[39]"],"$1"],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["4"],"0$1"],[,"(6)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["6"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["8"],"$1"]],,[,,,,,,,,,[-1]],,,[,,"870\\d{5}",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MD:[,[,,"(?:[235-7]\\d|[89]0)\\d{6}",,,,,,,[8]],[,,"(?:2[1-9]\\d|3[1-79]\\d|5(?:33|5[257]))\\d{5}",,,,"22212345"],[,,"(?:562|6\\d{2}|7(?:[189]\\d|6[07]|7[457-9]))\\d{5}",,,,"62112345"],[,,"800\\d{5}",,,,"80012345"],[,,"90[056]\\d{5}",,,,"90012345"],[,,"808\\d{5}
1",,,,"80812345"],[,,,,,,,,,[-1]],[,,"3[08]\\d{6}",,,,"30123456"],"MD",373,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["22|3"],"0$1"],[,"([25-7]\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["2[13-9]|[5-7]"],"0$1"],[,"([89]\\d{2})(\\d{5})","$1 $2",["[89]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"803\\d{5}",,,,"80312345"],,,[,,,,,,,,,[-1]]],ME:[,[,,"(?:20|[3-79]\\d|80\\d?)\\d{6}",,,,,,,[8,9],[6]],[,,"(?:20[2-8]|3(?:[0-2][2-7]|3[24-7])|4(?:0[2-467]|1[2467])|5(?:[01][2467]|2[2-467]))\\d{5}",,,,"30234567",,,[8],[6]],[,,"6(?:00\\d|3[024]\\d|6[0-25]\\d|[7-9]\\d{2})\\d{4}",,,,"67622901",,,[8]],[,,"80(?:[0-2578]|9\\d)\\d{5}",,,,"80080002"],[,,"(?:9(?:4[1568]|5[178]))\\d{5}",,,,"94515151",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"78[1-49]\\d{5}",,,,"78108780",,,[8]],"ME",382,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-57-9]|6[036-9]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"77[1-9]\\d{5}",,,,"77273012",,,[8]],,,[,,,,,,,,,[-1]]],MF:[,[,,"(?:590|69\\d)\\d{6}",,,,,,,[9]],[,,"590(?:0[079]|13|2[79]|30|43|5[0-268]|7[79]|87)\\d{4}",,,,"590271234"],[,,"69(?:0\\d{2}|1(?:2[29]|3[0-5]))\\d{4}",,,,"690001234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"MF",590,"00","0",,,"0",,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MG:[,[,,"[23]\\d{8}",,,,,,,[9],[7]],[,,"20(?:2\\d{2}|4[47]\\d|5[3467]\\d|6[279]\\d|7(?:2[29]|[35]\\d)|8[268]\\d|9[245]\\d)\\d{4}",,,,"202123456",,,,[7]],[,,"3[2-49]\\d{7}",,,,"321234567"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"22\\d{7}",,,,"221234567"],"MG",261,"00","0",,,"0",,,,[[,"([23]\\d)(\\d{2})(\\d{3})(\\d{2})","$1 $2 $3 $4",["[23]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MH:[,[,,"(?:(?:[256]\\d|45)\\d|329)\\d{4}",,,,,,,[7]],[,,"(?:247|528|625)\\d{4}",,,,"2471234"],[,,"(?:235|329|45[56]|545)\\d{4}",,,,"2351234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"635\\d{4}",,,,"6351234"],"MH",692,"011","1",,,"1",,,,[[,"(\\d{3})(\\d{4})","$1-$2"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MK:[,[,,"[2-578]\\d{7}",,,,,,,[8],[6,7]],[,,"(?:2(?:[23]\\d|5[0-24578]|6[01]|82)|3(?:1[3-68]|[23][2-68]|4[23568])|4(?:[23][2-68]|4[3-68]|5[2568]|6[25-8]|7[24-68]|8[4-68]))\\d{5}",,,,"22012345",,,,[6,7]],[,,"7(?:[0-25-8]\\d{2}|3[2-4]\\d|421|9[23]\\d)\\d{4}",,,,"72345678"],[,,"800\\d{5}",,,,"80012345"],[,,"5[02-9]\\d{6}",,,,"50012345"],[,,"8(?:0[1-9]|[1-9]\\d)\\d{5}",,,,"80123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"MK",389,"00","0",,,"0",,,,[[,"(2)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],[,"([347]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[347]"],"0$1"],[,"([58]\\d{2})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["[58]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ML:[,[,,"(?:[246-9]\\d|50)\\d{6}",,,,,,,[8]],[,,"(?:2(?:0(?:2\\d|7[0-8])|1(?:2[67]|[4-689]\\d))|4(?:0[0-4]|4[1-39])\\d)\\d{4}",,,,"20212345"],[,,"(?:2(?:079|17\\d)|50\\d{2}|[679]\\d{3}|8[239]\\d{2})\\d{4}",,,,"65012345"],[,,"80\\d{6}",,,,"80012345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"ML",223,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24-9]"]],[,"(\\d{4})","$1",["67|74"]]],[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24-9]"]]],[,,,,,,,,,[-1]],,,[,,"80\\d{6}"],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MM:[,[,,"(?:1|[24-7]\\d)\\d{5,7}|8\\d{6,9}|9(?:[0-46-9]\\d{6,8}|5\\d{6})|2\\d{5}",,,,,,,[6,7,8,9,10],[5]],[,,"1(?:2\\d{1,2}|[35]\\d|4(?:\\d|2[2-469]|39|6[25]|70)|6\\d?|[89][0-6]\\d)\\d{4}|2(?:2(?:000\\d{3}|\\d{4})|3\\d{4}|4(?:0\\d{5}|2[246]\\d{4}|39\\d{4}|62\\d{4}|70\\d{4}|\\d{4})|5(?:1\\d{3,6}|[02-9]\\d{3,5})|[6-9]\\d{4})|4(?:2(?:[25-8]|4(?:80)?)|3(?:2(?:02)?|[36]|4(?:70)?|56?)|[46][2-6]|5(?:[35]|4(?:70)?))\\d{4}|5(?:2(?:2(?:\\d{1,2})?|[35-8]|4(?:70)?)|3[2-68]|4(?:21?|4(?:70)?|[5-8])|5[23]|6[2-4]|7(?:[235-8]|4(?:80)?)|8(?:[25-7]|4(?:70)?)|9(?:[235-7]|4(?:70)?))\\d{4}|6(?:0[23]|1(?:2(?:0|4\\d)?|[356])|2[2-6]|3(?:[25-6]|4(?:70)?)|4(?:2(?:4\\d)?|[3-6])|5[2-4]|6[2-8]|7(?:[2367]|4(?:\\d|39|[67]0)|5\\d?|8[145
1]\\d)|8[245]|9(?:20?|4))\\d{4}|7(?:[04](?:[25-8]|4(?:70)?)|1(?:20?|[35-7]|4(?:70)?)|22|3[2-4]|5(?:[235-7]|4(?:70)?))\\d{4}|8(?:1(?:2\\d{1,2}|[35689]\\d|4(?:70)?\\d)|2(?:2\\d|3(?:\\d|20)|[4-8]\\d)|3(?:2|4(?:70)?)\\d|4[24-7]\\d|5[245]\\d|6[23]\\d)\\d{3}",,,,"1234567",,,[6,7,8,9],[5]],[,,"17[01]\\d{4}|9(?:2(?:[0-4]|5\\d{2}|6[0-5]\\d)|3(?:[0-36]|4[069])\\d|4(?:0[0-4]\\d|[1379]\\d|2\\d{2}|4[0-589]\\d|5\\d{2}|88)|5[0-6]|6(?:1\\d|9\\d{2}|\\d)|7(?:3|5[0-2]|[6-9]\\d)\\d|8(?:\\d|9\\d{2})|9(?:1\\d|[5-7]\\d{2}|[089]))\\d{5}",,,,"92123456",,,[7,8,9,10]],[,,"80080[01][1-9]\\d{3}",,,,"8008001234",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"(?:1(?:333|468)|2468)\\d{4}",,,,"13331234",,,[8]],"MM",95,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["1|2[245]"],"0$1"],[,"(2)(\\d{4})(\\d{4})","$1 $2 $3",["251"],"0$1"],[,"(\\d)(\\d{2})(\\d{3})","$1 $2 $3",["16|2"],"0$1"],[,"(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["[4-8]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[4-8]"],"0$1"],[,"(9)(\\d{3})(\\d{4,6})","$1 $2 $3",["9(?:2[0-4]|[35-9]|4[137-9])"],"0$1"],[,"(9)([34]\\d{4})(\\d{4})","$1 $2 $3",["9(?:3[0-36]|4[0-57-9])"],"0$1"],[,"(9)(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["92[56]"],"0$1"],[,"(9)(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3 $4",["93"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MN:[,[,,"[12]\\d{8,9}|[1257-9]\\d{7}",,,,,,,[8,9,10],[6,7]],[,,"[12](?:1\\d|2(?:[1-3]\\d?|7\\d)|3[2-8]\\d{1,2}|4[2-68]\\d{1,2}|5[1-4689]\\d{1,2})\\d{5}|5[0568]\\d{6}",,,,"50123456",,,,[6,7]],[,,"(?:8(?:[05689]\\d|3[01])|9[013-9]\\d)\\d{5}",,,,"88123456",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"7[05-8]\\d{6}",,,,"75123456",,,[8]],"MN",976,"001","0",,,"0",,,,[[,"([12]\\d)(\\d{2})(\\d{4})","$1 $2 $3",["[12]1"],"0$1"],[,"([12]2\\d)(\\d{5,6})","$1 $2",["[12]2[1-3]"],"0$1"],[,"([12]\\d{3})(\\d{5})","$1 $2",["[12](?:27|[3-5])","[12](?:27|[3-5]\\d)2"],"0$1"],[,"(\\d{4})(\\d{4})","$1 $2",["[57-9]"],"$1"],[,"([12]\\d{4})(\\d{4,5})","$1 $2",["[12](?:27|[3-5])","[12](?:27|[3-5]\\d)[4-9]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MO:[,[,,"(?:28|[68]\\d)\\d{6}",,,,,,,[8]],[,,"(?:28[2-57-9]|8(?:11|[2-57-9]\\d))\\d{5}",,,,"28212345"],[,,"6(?:[2356]\\d{2}|8(?:[02][5-9]|[1478]\\d|[356][0-4]))\\d{4}",,,,"66123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"MO",853,"00",,,,,,,,[[,"([268]\\d{3})(\\d{4})","$1 $2",["[268]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MP:[,[,,"(?:[58]\\d\\d|(?:67|90)0)\\d{7}",,,,,,,[10],[7]],[,,"670(?:2(?:3[3-7]|56|8[5-8])|32[1238]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\d{4}",,,,"6702345678",,,,[7]],[,,"670(?:2(?:3[3-7]|56|8[5-8])|32[1238]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\d{4}",,,,"6702345678",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"MP",1,"011","1",,,"1",,,1,,,[,,,,,,,,,[-1]],,"670",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MQ:[,[,,"(?:596|69\\d)\\d{6}",,,,,,,[9]],[,,"596(?:0[0-7]|10|2[7-9]|3[05-9]|4[0-46-8]|[5-7]\\d|8[09]|9[4-8])\\d{4}",,,,"596301234"],[,,"69(?:6(?:[0-47-9]\\d|5[0-6]|6[0-4])|727)\\d{4}",,,,"696201234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"MQ",596,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MR:[,[,,"(?:[2-4]\\d\\d|800)\\d{5}",,,,,,,[8]],[,,"25[08]\\d{5}|35\\d{6}|45[1-7]\\d{5}",,,,"35123456"],[,,"[234][0-46-9]\\d{6}",,,,"22123456"],[,,"800\\d{5}",,,,"80012345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"MR",222,"00",,,,,,,,[[,"([2-48]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-48]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MS:[,[,,"(?:(?:[58]\\d\\d|900)\\d\\d|66449)\\d{5}",,,,,,,[10],[7]],[,,"664491\\d{4}",,,,"6644912345",,,,[7]],[,,"66449[2-6]\\d{4}",,,,"6644923456",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"MS",1,"011","1",,,"1",,,,,,[,,,,,,,,,[-1]],,"664",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MT:[,[,,"(?:(?:[2579]\\d\\d|800)\\d|3550)\\d{4}",,,,,,,[8]],[,,"2(?:0(?:[169]\\d|3[1-4])|[1-357]\\d{2})\\d{4}",,,,"21001234"],[,,"(?:7(?:210|[79]\\d{2})|9(?:2(?:1[01]|31)|69[67]|8(?:1[1-3]|89|97)|9\\d{2}))\\d{4}",,,,"96961234"],[,,"800[3467]\\d{4}",,,,"80071234"],[,,"5(?:0(?:0(?:37|43)|6\\d{2}|70\\d|9[0168]\\d)|[12]\\d0[1-5])\\d{3}",,,,"50037123"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"3550\\d{4}",,,,"35501234"],"MT",356,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2"]],,[,,"7117\\d{4}",,,,"71171234"],,,[,,,,,,,,,[-1]],[,,"501\\d{5}",,,,"50112345"],,,[,,,,,,,,,[-1]]],MU:[,[,,"(?:[2-468]|5\\d)\\d{6}",,,,,,,[7,8]],[,,"(?:2(?:[03478]\\d|1[0-7]|6[1-69])|4(?:[013568]\\d|2[4-7])|5(?:44\\d|471)|6\\d{2}|8(?:14|3[129]))\\d{4}
1",,,,"54480123"],[,,"5(?:2[589]\\d|4(?:2[1-389]|[489]\\d|7[1-9])|7\\d{2}|8(?:[0-689]\\d|7[15-8])|9[0-8]\\d)\\d{4}",,,,"52512345",,,[8]],[,,"80[012]\\d{4}",,,,"8001234",,,[7]],[,,"30\\d{5}",,,,"3012345",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"3(?:20|9\\d)\\d{4}",,,,"3201234",,,[7]],"MU",230,"0(?:0|[2-7]0|33)",,,,,,"020",,[[,"([2-46-9]\\d{2})(\\d{4})","$1 $2",["[2-46-9]"]],[,"(5\\d{3})(\\d{4})","$1 $2",["5"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MV:[,[,,"(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}",,,,,,,[7,10]],[,,"(?:3(?:0[0-3]|3[0-59])|6(?:[57][02468]|6[024568]|8[024689]))\\d{4}",,,,"6701234",,,[7]],[,,"(?:46[46]|7[2-9]\\d|9[14-9]\\d)\\d{4}",,,,"7712345",,,[7]],[,,"800\\d{7}",,,,"8001234567",,,[10]],[,,"900\\d{7}",,,,"9001234567",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"MV",960,"0(?:0|19)",,,,,,"00",,[[,"(\\d{3})(\\d{4})","$1-$2",["[3467]|9(?:0[1-9]|[1-9])"]],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]00"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"4[05]0\\d{4}",,,,"4001234",,,[7]],,,[,,,,,,,,,[-1]]],MW:[,[,,"1\\d{6}(?:\\d{2})?|(?:[23]1|77|88|99)\\d{7}",,,,,,,[7,9]],[,,"(?:1[2-9]|21\\d{2})\\d{5}",,,,"1234567"],[,,"(?:111|77\\d|88\\d|99\\d)\\d{6}",,,,"991234567",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"31\\d{7}",,,,"310123456",,,[9]],"MW",265,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["1"],"0$1"],[,"(2\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[17-9]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["31"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MX:[,[,,"(?:1\\d|[2-9])\\d{9}",,,,,,,[10,11],[7,8]],[,,"(?:33|55|81)\\d{8}|(?:2(?:0[01]|2[1-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|7[1-8]|9[1-5])|4(?:1[1-57-9]|[24-6][1-9]|[37][1-8]|8[1-35-9]|9[2-689])|5(?:88|9[1-79])|6(?:1[2-68]|[234][1-9]|5[1-3689]|6[12457-9]|7[1-7]|8[67]|9[4-8])|7(?:[13467][1-9]|2[1-9]|5[13-9]|8[1-69]|9[17])|8(?:2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69][1-9]|7[12]|8[1-8]))\\d{7}",,,,"2221234567",,,[10],[7,8]],[,,"1(?:(?:33|55|81)\\d{8}|(?:2(?:2[1-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|7[1-8]|9[1-5])|4(?:1[1-57-9]|[24-6][1-9]|[37][1-8]|8[1-35-9]|9[2-689])|5(?:88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[12457-9]|7[1-7]|8[67]|9[4-8])|7(?:[13467][1-9]|2[1-9]|5[13-9]|8[1-69]|9[17])|8(?:2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69][1-9]|7[12]|8[1-8]))\\d{7})",,,,"12221234567",,,[11]],[,,"8(?:00|88)\\d{7}",,,,"8001234567",,,[10]],[,,"900\\d{7}",,,,"9001234567",,,[10]],[,,"300\\d{7}",,,,"3001234567",,,[10]],[,,"500\\d{7}",,,,"5001234567",,,[10]],[,,,,,,,,,[-1]],"MX",52,"0[09]","01",,,"0[12]|04[45](\\d{10})","1$1",,,[[,"([358]\\d)(\\d{4})(\\d{4})","$1 $2 $3",["33|55|81"],"01 $1",,1],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2467]|3[0-2457-9]|5[089]|8[02-9]|9[0-35-9]"],"01 $1",,1],[,"(1)([358]\\d)(\\d{4})(\\d{4})","044 $2 $3 $4",["1(?:33|55|81)"],"$1",,1],[,"(1)(\\d{3})(\\d{3})(\\d{4})","044 $2 $3 $4",["1(?:[2467]|3[0-2457-9]|5[089]|8[2-9]|9[1-35-9])"],"$1",,1]],[[,"([358]\\d)(\\d{4})(\\d{4})","$1 $2 $3",["33|55|81"],"01 $1",,1],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2467]|3[0-2457-9]|5[089]|8[02-9]|9[0-35-9]"],"01 $1",,1],[,"(1)([358]\\d)(\\d{4})(\\d{4})","$1 $2 $3 $4",["1(?:33|55|81)"]],[,"(1)(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1(?:[2467]|3[0-2457-9]|5[089]|8[2-9]|9[1-35-9])"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MY:[,[,,"(?:1\\d\\d?|3\\d|[4-9])\\d{7}",,,,,,,[8,9,10],[6,7]],[,,"(?:3(?:2(?:0(?:11|2[0-8]|3[0-24-79]|[579]\\d|8[0-57-9])|1(?:0[6-9]|1[03-9]|[467]\\d|8[0-2]|9[13])|2(?:0[1-3]|2[2-4]|4[0-25-7]|6[0-8]|7[02-689]|8\\d|9[5-9])|3(?:0[0-3]|3[0-36]|8[0-35-9]|9[1-3])|6(?:0[0-5]|[139]\\d|8[15-8])|7(?:1\\d|2[0-7]|3[0-3]|42|7[0-356]|8[0-35-8])|8(?:00|4[78]|5[6-9])|93[58])|3(?:0(?:0[0-35-9]|10|5[01]|8[0-6]|9[39])|1(?:0[1-39]|10|2[02-469]|3[245]|4[0-3589]|6[0-35-9]|7[067]|8[0-57]|9[0-278])|2(?:1[3467]|2[45]|4[1-3]|5[0689]|6[04589]|7[0-3579]|8[0-489]|9[0-27])|3(?:1[7-9]|2[1-6]|4[1-689]|5[89]|6[1-3]|7\\d|8[125]|9[236])|6(?:[12]0|3[01]|5[0-256]|6[08]|8[45]))|4(?:0(?:09|[14]\\d|2[0-8]|3[12]|5[01]|65)|1(?:0[0-8]|31|4\\d|6[12])|2(?:17|5[0-35-9]|6[024-6]|7[0189]|8[057-9]|9\\d)|770|8(?:0[0-2]|1[0-3569]|2[01]))|5(?:0(?:2[0-2]|3[0-35-9])|1(?:0[1-3]|1[05]|2[0-6]|31|6[1-7]|9[1258])|270|48[0-5]|5(?:1\\d|2[0-6]|4[0-589]|6[125-9]|9[01])|6(?:1[1-4]|2[0-589]|3\\d|5[0-3])|7(?:21|40)|8(?:7[06-9]|8[025-9]|9[12]))|6(?:0(?:2[0-28]|3[24-9]|4[246-9]|5[57]|6[13-6]|7[358]|8[1247]|9[0-59])|1(?:[04][0-58]|15|2[02-8]|3[015-9]|5[016-8]|7[7-9]|8[14-9]|9[1-356])|2(?:[05]\\d|11|[46][1-3]|7[02-79]|8[015-7])|303|4(?:1[129]|2[01]|3[36]|6[0-2])|690|7(?:3\\d|89))|7(?:118|2(?:0[02]|6[01])|4(?:[59]\\d|8[01])|6(?:1[01]|2\\d|5[0-2]|6[0-69])|7(?:1[0-37-9]|[28]\\d|3[1-5]|7[0-3])|8(?:[04]\\d|3[129]|59|6[1-356]|7[02-79]|8[02-7]|90)|9(?:10|3[1-3]|4[016-9]|[56]\\d|7[12]|8\\d))|8(?:0(?:0[08]|11|2[0-7]|5[12]|6\\d|7[013-69]|8[0-24]|9[0-5])|100|21[0-36]|3(?:08|1\\d|2[0-589]|31)|408|5(?:2[0-35-79]|88)|6(?:0[0-259]|5[5-79]|6[01]|8[46-9]|9[019])|7(?:0[35-8]|2[3-7]|3\\d|4[0149]|5[0-2]|6[016-9]|7[5-9]|8[037]|90)|8(?:00|61|7[0-3]|8\\d|9[0-4])|9(?:1[1-3]|[2-5]\\d|6[1-4689]|8[89]|9[0-689]))|9(?:0(?:1[0-289]|2[15]|5[014-9]|7[04-68]|8[0-256])|1(?:0[0-3568]|3[0-49]|4[015]|7[0-59]|9[15])|2(?:0[0-25-7]|12|2[1-6]|3[1256]|7[14]|8\\d)|3[68]8|41[01]|5(?:14|2[01]|4[03-9]|6[5-79]|7[0-2569])))\\d|4(?:2(?:0[01]|1[07-9]|2[02-46-9]|38|4[0-28]|5[0-589]|6[0-47-9]|8[0-389]|9[0-38])\\d|3(?:0[5-9]|[12][034]|3[0-37]|47|5[168]|6[7-9]|7[0135-8]|8\\d|9[0-27-9])\\d|4(?:[02-9]\\d{2}|1(?:[02-9]\\d|10))|5(?:[07]\\d{2}|1[0-358]\\d|2[1246]\\d|3[06-9]\\d|4[0589]\\d|5[12457-9]\\d|6[0-689]\\d|8(?:[0-57-9]\\d|60)|9(?:[2-57-9]\\d|60))|6(?:0[79]|1[0-689]|2[0135-9]|[3-5]\\d|6[07-9]|7[23]|8[03-9]|99)\\d|7(?:0[0-59]\\d|1[04679]\\d|2(?:[02-9]\\d|10)|[37]\\d{2}|4(?:[0178]\\d|5[0-6])|5(?:[0-57-9]\\d|60)|6[024-689]\\d|8[0-79]\\d|9(?:[0479]\\d|3[01]))|8(?:1[0189]\\d|2[046-9]\\d|3[058]\\d|5[029]\\d|6(?:[0689]\\d|40)|8[14568]\\d|9[0-389]\\d)|9(?:0[1368]\\d|1[13-9]\\d|[27]\\d{2}|3(?:[0-368]\\d|7[0-3])|4[013-79]\\d|5[0-35689]\\d|6[0-46-9]\\d|8[0-24-9]\\d|97\\d))|5(?:2(?:0[13589]\\d|1[0-2]\\d|2[056]\\d|3(?:[067]\\d|2[01])|4[0-69]\\d|5[3-6]\\d|8[0-25-9]\\d|9[0-469]\\d)|3(?:[12][0-38]|3[0-37]|4[89]|5[01346-9]|[67]\\d|8[01589]|95)\\d|4(?:0[1346]\\d|1[02-35-9]\\d|2[1379]\\d|3[0-46-9]\\d|4[013689]\\d|[59]\\d{2}|6(?:[15-9]\\d|20)|7[036-9]\\d|8[015-8]\\d)|5(?:0[167]\\d|17\\d|2[025-9]\\d|3[035-7]\\d|4[0-35-9]\\d|8[13]\\d|9(?:[124-9]\\d|31))|6(?:0[89]\\d|1[02-46-8]\\d|2[0-69]\\d|3(?:[1-367]\\d|40)|4[0-689]\\d|5(?:[0-24-9]\\d|30)|6[1457-9]\\d|7\\d{2}|8[0-57-9]\\d|9[0-389]\\d)|7(?:1(?:[024679]\\d|80)|2[0-35-8]\\d|3[23]\\d|4[34]\\d|5[0-36-9]\\d|6[356-9]\\d|7\\d{2}|8(?:[23]\\d|[01]1)|9(?:[1-689]\\d|70))|8(?:0[145-9]\\d|1[0-2]\\d|2[09]\\d|3(?:[058]\\d|0[017])|4[016-9]\\d|5[02-9]\\d|7(?:10|2\\d)|8[013589]\\d|9[0-57-9]\\d)|9[23]0\\d)|6(?:2(?:2[1246-9]\\d|3[0-5]\\d|4[02]\\d|5[1-3]\\d|[68]\\d{2}|7(?:[04-8]\\d|10)|9[2-5]\\d)|3(?:1(?:[125-9]\\d|3[01])|3[0-7]\\d|5[0-478]\\d|79\\d|8[3-578]\\d|9[018]\\d)|4(?:1[015]|[2-689]\\d|7[1-79])\\d|5(?:09\\d|1(?:10|[2479]\\d)|2[1-579]\\d|3(?:[0-467]\\d|50)|4[0-24-9]\\d|5\\d{2}|60\\d)|6(?:0[13]\\d|1[0-57]\\d|2[03]\\d|3[0-478]\\d|4[0-8]\\d|5[013-689]\\d|6[0-467]\\d|[78]\\d{2}|9(?:[13-9]\\d|20))|7(?:01|2[06-9]|3[367]|5[7-9]|6\\d|7[0156]|8[12]|9[0-47-9])\\d|85[0-26]\\d|9(?:0[167]|10|[57]\\d|6[02-9]|8[013-9])\\d)|7(?:2(?:0[7-9]|1[016-9]|2[0-8]|[39]\\d|4[014]|5[0-79]|6[125-8]|7[1246-9]|8[37-9])\\d|3(?:0[0-5]|[35]\\d|40|5[0-478]|6[0-5]|8[0-26-8])\\d|4(?:0[07-9]|[1-35]\\d|6[7-9]|7[57]|8[1-68])\\d|5(?:0[04-9]|1[0-68]|2[0-378]|3[0-3]|5\\d|6[0-2]|7[018]|8[5-7]|9[05-9])\\d|6(?:5[0-24-9]|6[0-3568]|7[0457-9]|8[02-9]|9\\d)\\d|7(?:0[25-8]\\d|1(?:[01]\\d|20)|2[0-2]\\d|3[489]\\d|[457-9]\\d{2}|6(?:[0-8]\\d|90))|8(?:01[01]|10\\d|[289]\\d{2}
1|3(?:[028]\\d|10)|50\\d|6[0-357-9]\\d|7(?:[0235-9]\\d|[14]0))|9(?:0(?:[0246-8]\\d|10)|[1-4]\\d{2}|50\\d|6[014589]\\d|[7-9]0\\d))|8(?:2(?:2(?:[013-5]\\d|[28][0-8]|6[016]|7[0-589]|9[0-49])|3(?:[02][0-689]|1[1-59]|[3-7]\\d|8[0-389]|9[13])|4(?:0[1-3]|[1-8]\\d|9[1-359])|5(?:0[1-7]|[17]\\d|20|3[0-26-9]|4[1-9]|5[0-35]|8[0-689]|9[02367])|6(?:[147]\\d|2[0-25-9]|39|5[014-9]|6[1-9]|8[1-8]|9[089])|7(?:0[017-9]|1[1-356]|20|3[01457-9]|4[15]|5[0-25]|6[0-6]|70|8[0-2]|9[01378])|8(?:0[3-57-9]|[15]0|2[124-9]|3[01]|4[02-6]|6[02-578]|7\\d|8[25-8]|9[04-689]))|3(?:220|3(?:0[089]|10|2[0-7]|3[7-9]|4[0-48])|4(?:0[68]|1[0-478]|2[5-79]|3[024-9]|50|6\\d|7[0-57]|8[05]|96)|5(?:4[4578]|55|6[2-9]|70|8[459]|92))|4(?:2(?:[15]\\d|2[0-489]|3[124-9])|3(?:0[1-8]|[1-4]\\d|5[0-3]|6[1-7]|7[56]|8[0-4]|9[1-578])|4(?:05|80)|555|6(?:1[0-3]|20|3[1-4]|4[0-24-7]|5\\d|6[0-2]|71|8[0-47-9]|9[0-689])|7(02|1[79]|21|3[0-2468]|5[0-5]|6[0256]|7[0-8]|8[01589]|9[026-9])|8(?:0[1-9]|1[0-3568]|2[0138]|3[0-4]|4[046-9]|5[06]|6\\d|7[0-579]|80|9[0-8]))|5(?:2(?:0[0-26]|1\\d|2[0-5]|3[18]|4[0-2]|6[3-68]|70|8[025-9]|9[05-9])|3(?:10|2\\d|31|95)|4(?:0[1-7]|[1-4]\\d|5[02-6]|6[0-3]|7[0-245]|8[125]|9[1-6])|5(?:40|55)|6(?:0[1459]|1[0-8]|2[0-36-8]|3[0-35-8]|[45]\\d|6[0-8]|80)|7(?:1[07-9]|20|3[3-9]|4[02-4]|5[05689]|6[015-9]|7\\d|8[045]|9[0-6]))|6(?:2(?:01|3[12]|5[1-7]|60|8[1-6]|9[0-8])|3(?:0[0137]|[134]\\d|2[0-8]|[59][01]|60|[78]1)|4(?:2[2-4]|49|5[17]|6\\d|7[0-46-9]|8[0-689])|5(?:0[6-8]|55|8[0149]|90)|8(?:5\\d|[68]0)|9(?:5[12]|81))|7(?:2(?:0[189]|[12][1-9]|3[0-47]|50)|3(?:[01][1-9]|3\\d|4[0-245]|6[4-9]|7[237-9]|9[12])|4(?:[0-2]\\d|3[167-9]|[45][0-3]|6[0-8]|7[25-9]|8[0-6]|90)|5(?:0[1-9]|[89]\\d)|7(?:1[89]|[27]\\d|3[013-9]|4[0-8]|50|6[01568]|82)|8(?:[03][1-3]|1[0-28]|2[0-38]|48|5[0-4]|6[1-3]|7[124]|8[013-57-9]|9[07]))|8(?:2(?:0[13-7]|[1-9]\\d)|3(?:0[1-47-9]|[128]\\d|3[0-4]|4[1-9]|5[0-35-7]|6[0-46-9]|9[3-7])|4(?:0[1-58]|1[1-5]|[2-57-9]\\d|69)|5(?:1[1-35-9]|2\\d|3[2-8]|52)|6(?:0[2-9]|1[1-8]|[23]\\d|41|5[12367]|6[1-9]|7[14-9]|8[02-8]|9[05])|7(?:0[1-589]|[1-35-8]\\d|4[0-7]|9[0-46-9])|8(?:01|30|5[0-48]|6[13]|7\\d|8[013-689]|9[24-9])|9(?:0[2-4689]|1\\d|2[08]|3[18]|4[03]|59|6[0-36-9]|7[0-35-79]|8[1235]))|9(?:2(?:[057][1-9]|[1-3]\\d|4[0-8]|6[1-5]|8[015-9]|9[04-6])|300|4(?:01|36|6[1-6]|[89][12])|5(?:0[25689]|1\\d|2[0134]|3[1-8]|5[17]|6[0-35-9]|7[0-7]|91)|6(?:1[1-9]|2[23]|3[0-4]|6[03-9]|7[0-7])|7(?:0[1-68]|1[1-8]|2[25-9]|3[056]|4[4-9]|[5-8]\\d|9[0-46-9])|8(?:0[1-7]|[189]\\d|2[1-46]|4[1-689]|5[0-79]|6[1-9]|71)|9(?:0[1-3]|1\\d|2[0-35-7]|3[67]|4[12]|5[0-249]|6[5-9]|75|8[1-6])))|9(?:2(?:0[458]\\d|1[2-57]\\d|2[0-589]\\d|[39]\\d{2}|4(?:[02-9]\\d|10)|5(?:[024-6]\\d|[7-9]0)|6(?:[03-9]\\d|20)|7[0-26-9]\\d|8(?:[0-24-68]\\d|7[01]))|3(?:0[0-2689]\\d|1(?:[0235]\\d|1[0-2]|4[01])|2(?:0[01]|[1-57-9]\\d|6[0-2])|3(?:00|1[0-4]|2\\d)|4[05]\\d|5[0-3568]\\d|6(?:[1-357-9]\\d|60)|[78]0\\d)|4(?:0[24578]\\d|1[02-57-9]\\d|2\\d{2}|3(?:[0278]\\d|1[01]|60)|4[013579]\\d|5[0-8]\\d|6[0678]\\d|7[013-9]\\d|8[01569]\\d)|5(0(?:[589]\\d|7[01])|1\\d{2}|2[0159]\\d|3[14689]\\d|4[0-46-9]\\d|5[0-35-9]\\d|6[0156-8]\\d|7[0-35]\\d|8[0-7]\\d|9[0-3589]\\d)|6(?:0[269]\\d|[12]\\d{2}|3[0-57-9]\\d|44[0-2]|5[01379]\\d|6[02-9]\\d|7[69]\\d|8(?:[0-24-8]\\d|30)|9(?:[0-24-9]\\d|3[01]))|7(?:0[0136-8]|1[02-4]|2[156]|3[258]|[489]\\d|5[0-589]|6[024-9]|7[0-689])\\d|8(?:0(?:0[01]|1\\d)|1[3-9]\\d|[23]\\d{2}|4[0-24-689]\\d|5[0-689]\\d|6[02-9]\\d|7(?:[01]0|[2-4]\\d)|888)|9(?:00\\d|1[2-57-9]\\d|2(?:00|1[01]|[238]\\d)|3(?:[2-467]\\d|50)|4[4-9]\\d|5(?:[0-2457-9]\\d|60)|6[0156]\\d|7[04-9]\\d|8[01]\\d)))\\d{3}",,,,"323856789",,,[8,9],[6,7]],[,,"1(?:0(?:[23568]\\d|4[0-6]|7[016-9]|9[0-8])\\d|1(?:[1-5]\\d{2}|6(?:0[5-9]|[1-9]\\d))\\d|[23679][2-9]\\d{2}|4(?:[235-9]\\d{2}|400)|59\\d{3}|8(?:1[23]\\d|[236]\\d{2}|4(?:[06]\\d|7[0-4])|5[7-9]\\d|7[016-9]\\d|8(?:[01]\\d|[27][0-4])|9[0-8]\\d))\\d{4}",,,,"123456789",,,[9,10]],[,,"1[378]00\\d{6}",,,,"1300123456",,,[10]],[,,"1600\\d{6}",,,,"1600123456",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"154(?:6(?:0\\d|1[0-3])|8(?:[25]1|4[0189]|7[0-4679]))\\d{4}",,,,"1546012345",,,[10]],"MY",60,"00","0",,,"0",,,,[[,"([4-79])(\\d{3})(\\d{4})","$1-$2 $3",["[4-79]"],"0$1"],[,"(3)(\\d{4})(\\d{4})","$1-$2 $3",["3"],"0$1"],[,"([18]\\d)(\\d{3})(\\d{3,4})","$1-$2 $3",["1[02-46-9][1-9]|8"],"0$1"],[,"(1)([36-8]00)(\\d{2})(\\d{4})","$1-$2-$3-$4",["1[36-8]0","1[36-8]00"]],[,"(11)(\\d{4})(\\d{4})","$1-$2 $3",["11"],"0$1"],[,"(15[49])(\\d{3})(\\d{4})","$1-$2 $3",["15[49]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],MZ:[,[,,"(?:2|8\\d)\\d{7}",,,,,,,[8,9]],[,,"2(?:[1346]\\d|5[0-2]|[78][12]|93)\\d{5}",,,,"21123456",,,[8]],[,,"8[2-7]\\d{7}",,,,"821234567",,,[9]],[,,"800\\d{6}",,,,"800123456",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"MZ",258,"00",,,,,,,,[[,"([28]\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["2|8[2-7]"]],[,"(80\\d)(\\d{3})(\\d{3})","$1 $2 $3",["80"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NA:[,[,,"[68]\\d{7,8}",,,,,,,[8,9]],[,,"6(?:1(?:17|2(?:[0189]\\d|[2-6]|7\\d?)|3(?:[01378]|2\\d)|4(?:[024]|10?|3[15]?)|69|7[014])|2(?:17|5(?:[0-36-8]|4\\d?)|69|70)|3(?:17|2(?:[0237]\\d?|[14-689])|34|6[289]|7[01]|81)|4(?:17|2(?:[012]|7\\d?)|4(?:[06]|1\\d?)|5(?:[01357]|[25]\\d?)|69|7[01])|5(?:17|2(?:[0459]|[23678]\\d?)|69|7[01])|6(?:17|2(?:5|6\\d?)|38|42|69|7[01])|7(?:17|2(?:[569]|[234]\\d?)|3(?:0\\d?|[13])|6[89]|7[01]))\\d{4}",,,,"61221234"],[,,"(?:60|8[125])\\d{7}",,,,"811234567",,,[9]],[,,,,,,,,,[-1]],[,,"8701\\d{5}",,,,"870123456",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"8(?:3\\d{2}|86)\\d{5}",,,,"88612345"],"NA",264,"00","0",,,"0",,,,[[,"(8\\d)(\\d{3})(\\d{4})","$1 $2 $3",["8[1-35]"],"0$1"],[,"(6\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["6"],"0$1"],[,"(88)(\\d{3})(\\d{3})","$1 $2 $3",["88"],"0$1"],[,"(870)(\\d{3})(\\d{3})","$1 $2 $3",["870"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NC:[,[,,"[2-57-9]\\d{5}",,,,,,,[6]],[,,"(?:2[03-9]|3[0-5]|4[1-7]|88)\\d{4}",,,,"201234"],[,,"(?:5[0-4]|[79]\\d|8[0-79])\\d{4}",,,,"751234"],[,,,,,,,,,[-1]],[,,"36\\d{4}",,,,"366711"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"NC",687,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1.$2.$3",["[2-46-9]|5[0-4]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NE:[,[,,"[0289]\\d{7}",,,,,,,[8]],[,,"2(?:0(?:20|3[1-7]|4[134]|5[14]|6[14578]|7[1-578])|1(?:4[145
1]|5[14]|6[14-68]|7[169]|88))\\d{4}",,,,"20201234"],[,,"(?:8[04589]|9\\d)\\d{6}",,,,"93123456"],[,,"08\\d{6}",,,,"08123456"],[,,"09\\d{6}",,,,"09123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"NE",227,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["09|[289]"]],[,"(08)(\\d{3})(\\d{3})","$1 $2 $3",["08"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NF:[,[,,"[13]\\d{5}",,,,,,,[6],[5]],[,,"(?:1(?:06|17|28|39)|3[012]\\d)\\d{3}",,,,"106609",,,,[5]],[,,"3[58]\\d{4}",,,,"381234",,,,[5]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"NF",672,"00",,,,,,,,[[,"(\\d{2})(\\d{4})","$1 $2",["1"]],[,"(\\d)(\\d{5})","$1 $2",["3"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NG:[,[,,"[78]\\d{10,13}|[7-9]\\d{9}|[1-9]\\d{7}|[124-7]\\d{6}",,,,,,,[7,8,10,11,12,13,14],[5,6]],[,,"[12]\\d{6,7}|9(?:0[3-9]|[1-9]\\d)\\d{5}|(?:3\\d|4[023568]|5[02368]|6[02-469]|7[4-69]|8[2-9])\\d{6}|(?:4[47]|5[14579]|6[1578]|7[0-357])\\d{5,6}|(?:78|41)\\d{5}",,,,"18040123",,,[7,8],[5,6]],[,,"(?:1(?:7[34]\\d|8(?:04|[124579]\\d|8[0-3])|95\\d)|287[0-7]|3(?:18[1-8]|88[0-7]|9(?:8[5-9]|6[1-5]))|4(?:28[0-2]|6(?:7[1-9]|8[02-47])|88[0-2])|5(?:2(?:7[7-9]|8\\d)|38[1-79]|48[0-7]|68[4-7])|6(?:2(?:7[7-9]|8\\d)|4(?:3[7-9]|[68][129]|7[04-69]|9[1-8])|58[0-2]|98[7-9])|7(?:38[0-7]|69[1-8]|78[2-4])|8(?:28[3-9]|38[0-2]|4(?:2[12]|3[147-9]|5[346]|7[4-9]|8[014-689]|90)|58[1-8]|78[2-9]|88[5-7])|98[07]\\d)\\d{4}|(?:70(?:[1-689]\\d|7[0-3])|8(?:0(?:1[01]|[2-9]\\d)|1(?:[0-8]\\d|9[01]))|90[235-9]\\d)\\d{6}",,,,"8021234567",,,[8,10]],[,,"800\\d{7,11}",,,,"80017591759",,,[10,11,12,13,14]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"NG",234,"009","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]|9(?:0[3-9]|[1-9])"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[3-6]|7(?:0[1-9]|[1-79])|8[2-9]"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["70|8[01]|90[235-9]"],"0$1"],[,"([78]00)(\\d{4})(\\d{4,5})","$1 $2 $3",["[78]00"],"0$1"],[,"([78]00)(\\d{5})(\\d{5,6})","$1 $2 $3",["[78]00"],"0$1"],[,"(78)(\\d{2})(\\d{3})","$1 $2 $3",["78"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"700\\d{7,11}",,,,"7001234567",,,[10,11,12,13,14]],,,[,,,,,,,,,[-1]]],NI:[,[,,"(?:1800|[25-8]\\d{3})\\d{4}",,,,,,,[8]],[,,"2\\d{7}",,,,"21234567"],[,,"(?:5(?:5[0-7]|[78]\\d)|6(?:20|3[035]|4[045]|5[05]|77|8[1-9]|9[059])|7[5-8]\\d|8\\d{2})\\d{5}",,,,"81234567"],[,,"1800\\d{4}",,,,"18001234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"NI",505,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NL:[,[,,"(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|(?:8\\d|9[01])\\d{5,8}|1\\d{4,5}",,,,,,,[5,6,7,8,9,10]],[,,"(?:1(?:[035]\\d|1[13-578]|6[124-8]|7[24]|8[0-467])|2(?:[0346]\\d|2[2-46-9]|5[125]|9[479])|3(?:[03568]\\d|1[3-8]|2[01]|4[1-8])|4(?:[0356]\\d|1[1-368]|7[58]|8[15-8]|9[23579])|5(?:[0358]\\d|[19][1-9]|2[1-57-9]|4[13-8]|6[126]|7[0-3578])|7\\d{2})\\d{6}",,,,"101234567",,,[9]],[,,"6[1-58]\\d{7}",,,,"612345678",,,[9]],[,,"800\\d{4,7}",,,,"8001234",,,[7,8,9,10]],[,,"90[069]\\d{4,7}",,,,"9061234",,,[7,8,9,10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"(?:6760|(?:85|91)\\d{2})\\d{5}",,,,"851234567",,,[9]],"NL",31,"00","0",,,"0",,,,[[,"([1-57-9]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1[035]|2[0346]|3[03568]|4[0356]|5[0358]|7|8[4578]|91"],"0$1"],[,"([1-5]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"],"0$1"],[,"(6)(\\d{8})","$1 $2",["6[0-57-9]"],"0$1"],[,"(66)(\\d{7})","$1 $2",["66"],"0$1"],[,"(14)(\\d{3,4})","$1 $2",["14"],"$1"],[,"([89]0\\d)(\\d{4,7})","$1 $2",["[89]0"],"0$1"]],,[,,"66\\d{7}",,,,"662345678",,,[9]],,,[,,"140(?:1(?:[035]|[16-8]\\d)|2(?:[0346]|[259]\\d)|3(?:[03568]|[124]\\d)|4(?:[0356]|[17-9]\\d)|5(?:[0358]|[124679]\\d)|7\\d|8[458])",,,,,,,[5,6]],[,,"140(?:1(?:[035]|[16-8]\\d)|2(?:[0346]|[259]\\d)|3(?:[03568]|[124]\\d)|4(?:[0356]|[17-9]\\d)|5(?:[0358]|[124679]\\d)|7\\d|8[458])|8[478]\\d{7}",,,,"14020",,,[5,6,9]],,,[,,,,,,,,,[-1]]],NO:[,[,,"(?:0|[2-9]\\d{3})\\d{4}",,,,,,,[5,8]],[,,"(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7[0-8])\\d{6}",,,,"21234567",,,[8]],[,,"(?:4[015-8]|5[89]|9\\d)\\d{6}",,,,"40612345",,,[8]],[,,"80[01]\\d{5}",,,,"80012345",,,[8]],[,,"82[09]\\d{5}",,,,"82012345",,,[8]],[,,"810(?:0[0-6]|[2-8]\\d)\\d{3}",,,,"81021234",,,[8]],[,,"880\\d{5}",,,,"88012345",,,[8]],[,,"85[0-5]\\d{5}",,,,"85012345",,,[8]],"NO",47,"00",,,,,,,,[[,"([489]\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["[489]"]],[,"([235-7]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[235-7]"]]],,[,,,,,,,,,[-1]],1,,[,,,,,,,,,[-1]],[,,"0\\d{4}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}",,,,"01234"],,,[,,"81[23]\\d{5}",,,,"81212345",,,[8]]],NP:[,[,,"9\\d{9}|[1-9]\\d{7}",,,,,,,[8,10],[6,7]],[,,"(?:1[0-6]\\d|2[13-79][2-6]|3[135-8][2-6]|4[146-9][2-6]|5[135-7][2-6]|6[13-9][2-6]|7[15-9][2-6]|8[1-46-9][2-6]|9[1-79][2-6])\\d{5}",,,,"14567890",,,[8],[6,7]],[,,"9(?:6[0-3]|7[245]|8[0-24-68])\\d{7}",,,,"9841234567",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"NP",977,"00","0",,,"0",,,,[[,"(1)(\\d{7})","$1-$2",["1[2-6]"],"0$1"],[,"(\\d{2})(\\d{6})","$1-$2",["1[01]|[2-8]|9(?:[1-69]|7[15-9])"],"0$1"],[,"(9\\d{2})(\\d{7})","$1-$2",["9(?:6[013]|7[245]|8)"],"$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NR:[,[,,"(?:444|55\\d|888)\\d{4}",,,,,,,[7]],[,,"(?:444|888)\\d{4}",,,,"4441234"],[,,"55[4-9]\\d{4}",,,,"5551234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"NR",674,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NU:[,[,,"(?:[47]|888\\d)\\d{3}",,,,,,,[4,7]],[,,"[47]\\d{3}",,,,"7012",,,[4]],[,,"888[4-9]\\d{3}",,,,"8884012",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"NU",683,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["888"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],NZ:[,[,,"[28]\\d{7,9}|[346]\\d{7}|(?:508|[79]\\d)\\d{6,7}",,,,,,,[8,9,10],[7]],[,,"(?:3[2-79]|[49][2-9]|6[235-9]|7[2-57-9])\\d{6}|24099\\d{3}",,,,"32345678",,,[8],[7]],[,,"2(?:[028]\\d{7,8}|1\\d{6,8}|[79]\\d{7})",,,,"211234567"],[,,"508\\d{6,7}|80\\d{6,8}",,,,"800123456"],[,,"90\\d{6,7}",,,,"900123456",,,[8,9]],[,,,,,,,,,[-1]],[,,"70\\d{7}",,,,"701234567",,,[9]],[,,,,,,,,,[-1]],"NZ",64,"0(?:0|161)","0",,,"0",,"00",,[[,"(\\d)(\\d{3})(\\d{4})","$1-$2 $3",["240|[346]|7[2-57-9]|9[1-9]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["21"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{3,5})","$1 $2 $3",["2(?:1[1-9]|[69]|7[0-35-9])|70|86"],"0$1"],[,"(2\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["2[028]"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["90"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:10|74)|5|[89]0"],"0$1"]],,[,,"[28]6\\d{6,7}",,,,"26123456",,,[8,9]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],OM:[,[,,"(?:[279]\\d{3}
1|500|8007\\d?)\\d{4}",,,,,,,[7,8,9]],[,,"2[2-6]\\d{6}",,,,"23123456",,,[8]],[,,"7[19]\\d{6}|9(?:0[1-9]|[1-9]\\d)\\d{5}",,,,"92123456",,,[8]],[,,"8007\\d{4,5}|500\\d{4}",,,,"80071234"],[,,"900\\d{5}",,,,"90012345",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"OM",968,"00",,,,,,,,[[,"(2\\d)(\\d{6})","$1 $2",["2"]],[,"([79]\\d{3})(\\d{4})","$1 $2",["[79]"]],[,"([58]00)(\\d{4,6})","$1 $2",["[58]00"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PA:[,[,,"(?:[1-57-9]|6\\d)\\d{6}",,,,,,,[7,8]],[,,"(?:1(?:0\\d|1[479]|2[37]|3[0137]|4[17]|5[05]|[68][58]|7[0167]|9[39])|2(?:[0235-79]\\d|1[0-7]|4[013-9]|8[026-9])|3(?:[089]\\d|1[014-7]|2[0-35]|33|4[0-579]|55|6[068]|7[06-8])|4(?:00|3[0-579]|4\\d|7[0-57-9])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-26-8]|3[03]|4[04]|5[05-9]|6[05]|7[0-24-9]|8[7-9]|90)|8(?:09|2[89]|3\\d|4[0-24-689]|5[014]|8[02])|9(?:0[5-9]|1[0135-8]|2[036-9]|3[35-79]|40|5[0457-9]|6[05-9]|7[04-9]|8[35-8]|9\\d))\\d{4}",,,,"2001234",,,[7]],[,,"(?:1[16]1|21[89]|8(?:1[01]|7[23]))\\d{4}|6(?:[02-9]\\d|1[0-5])\\d{5}",,,,"61234567"],[,,"800\\d{4}",,,,"8001234",,,[7]],[,,"(?:8(?:22|55|60|7[78]|86)|9(?:00|81))\\d{4}",,,,"8601234",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"PA",507,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1-$2",["[1-57-9]"]],[,"(\\d{4})(\\d{4})","$1-$2",["6"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PE:[,[,,"(?:[14-8]|9\\d)\\d{7}",,,,,,,[8,9],[6,7]],[,,"(?:1\\d|4[1-4]|5[1-46]|6[1-7]|7[2-46]|8[2-4])\\d{6}",,,,"11234567",,,[8],[6,7]],[,,"9\\d{8}",,,,"912345678",,,[9]],[,,"800\\d{5}",,,,"80012345",,,[8]],[,,"805\\d{5}",,,,"80512345",,,[8]],[,,"801\\d{5}",,,,"80112345",,,[8]],[,,"80[24]\\d{5}",,,,"80212345",,,[8]],[,,,,,,,,,[-1]],"PE",51,"19(?:1[124]|77|90)00","0"," Anexo ",,"0",,,,[[,"(1)(\\d{7})","$1 $2",["1"],"(0$1)"],[,"([4-8]\\d)(\\d{6})","$1 $2",["[4-7]|8[2-4]"],"(0$1)"],[,"(\\d{3})(\\d{5})","$1 $2",["80"],"(0$1)"],[,"(9\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PF:[,[,,"[48]\\d{7}|4\\d{5}",,,,,,,[6,8]],[,,"4(?:[09][45689]\\d|4)\\d{4}",,,,"40412345"],[,,"8[79]\\d{6}",,,,"87123456",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"PF",689,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4[09]|8[79]"]],[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["44"]]],,[,,,,,,,,,[-1]],,,[,,"44\\d{4}",,,,,,,[6]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PG:[,[,,"(?:180|(?:(?:[2-59]|7\\d)\\d|64|85)\\d)\\d{4}",,,,,,,[7,8]],[,,"(?:3[0-2]\\d|4[257]\\d|5[34]\\d|64[1-9]|77(?:[0-24]\\d|30)|85[02-46-9]|9[78]\\d)\\d{4}",,,,"3123456",,,[7]],[,,"7(?:[0-689]\\d|75)\\d{5}",,,,"70123456",,,[8]],[,,"180\\d{4}",,,,"1801234",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"2(?:0[0-47]|7[568])\\d{4}",,,,"2751234",,,[7]],"PG",675,"140[1-3]|00",,,,,,"00",,[[,"(\\d{3})(\\d{4})","$1 $2",["[13-689]|27"]],[,"(\\d{4})(\\d{4})","$1 $2",["20|7"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PH:[,[,,"(?:1800\\d{2,4}|2|[89]\\d{4})\\d{5}|[3-8]\\d{8}|[28]\\d{7}",,,,,,,[6,8,9,10,11,12,13],[5,7]],[,,"2\\d{5}(?:\\d{2})?|(?:3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578]|8[2-8])\\d{7}|88(?:22\\d{6}|42\\d{4})",,,,"21234567",,,[6,8,9,10],[5,7]],[,,"(?:81[37]|9(?:0[5-9]|1[024-9]|2[0-35-9]|3[02-9]|4[235-9]|5[056]|6[5-7]|7[34-79]|89|9[4-9]))\\d{7}",,,,"9051234567",,,[10]],[,,"1800\\d{7,9}",,,,"180012345678",,,[11,12,13]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"PH",63,"00","0",,,"0",,,,[[,"(2)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"(0$1)"],[,"(2)(\\d{5})","$1 $2",["2"],"(0$1)"],[,"(\\d{4})(\\d{4,6})","$1 $2",["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|5(?:22|44)|642|8(?:62|8[245])","3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"],"(0$1)"],[,"(\\d{5})(\\d{4})","$1 $2",["346|4(?:27|9[35])|883","3469|4(?:279|9(?:30|56))|8834"],"(0$1)"],[,"([3-8]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[3-8]"],"(0$1)"],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["81|9"],"0$1"],[,"(1800)(\\d{3})(\\d{4})","$1 $2 $3",["180","1800"]],[,"(1800)(\\d{1,2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["180","1800"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PK:[,[,,"(?:122|[24-8]\\d{4,5}|9(?:[013-9]\\d{2,4}|2(?:[01]\\d\\d|2(?:[025-8]\\d|1[01]))\\d))\\d{6}|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}",,,,,,,[8,9,10,11,12],[6,7]],[,,"(?:21|42)[2-9]\\d{7}|(?:2[25]|4[0146-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\\d{6}|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8]))[2-9]\\d{5,6}|58[126]\\d{7}",,,,"2123456789",,,[9,10],[6,7,8]],[,,"3(?:[014]\\d|2[0-5]|3[0-7]|55|64)\\d{7}",,,,"3012345678",,,[10]],[,,"800\\d{5}",,,,"80012345",,,[8]],[,,"900\\d{5}",,,,"90012345",,,[8]],[,,,,,,,,,[-1]],[,,"122\\d{6}",,,,"122044444",,,[9]],[,,,,,,,,,[-1]],"PK",92,"00","0",,,"0",,,,[[,"([89]00)(\\d{3})(\\d{2})","$1 $2 $3",["[89]00"],"0$1"],[,"(1\\d{3})(\\d{5})","$1 $2",["1"],"$1"],[,"(\\d{2})(\\d{7,8})","$1 $2",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"],"(0$1)"],[,"(\\d{3})(\\d{6,7})","$1 $2",["2[349]|45|54|60|72|8[2-5]|9[2-469]","(?:2[349]|45|54|60|72|8[2-5]|9[2-469])\\d[2-9]"],"(0$1)"],[,"(58\\d{3})(\\d{5})","$1 $2",["58[126]"],"(0$1)"],[,"(3\\d{2})(\\d{7})","$1 $2",["3"],"0$1"],[,"(\\d{2})(111)(\\d{3})(\\d{3})","$1 $2 $3 $4",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)1","(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)11","(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)111"],"(0$1)"],[,"(\\d{3})(111)(\\d{3})(\\d{3})","$1 $2 $3 $4",["2[349]|45|54|60|72|8[2-5]|9[2-9]","(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d1","(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d11","(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d111"],"(0$1)"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467])|6(?:[1-8]|0[468])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\\d{6}",,,,"21111825888",,,[11,12]],,,[,,,,,,,,,[-1]]],PL:[,[,,"[1-9]\\d{6}(?:\\d{2})?|6\\d{5}
1(?:\\d{2})?",,,,,,,[6,7,8,9]],[,,"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])(?:\\d{7}|19\\d{3})",,,,"123456789",,,[7,9]],[,,"(?:45|5[0137]|6[069]|7[2389]|88)\\d{7}",,,,"512345678",,,[9]],[,,"800\\d{6}",,,,"800123456",,,[9]],[,,"70[01346-8]\\d{6}",,,,"701234567",,,[9]],[,,"801\\d{6}",,,,"801234567",,,[9]],[,,,,,,,,,[-1]],[,,"39\\d{7}",,,,"391234567",,,[9]],"PL",48,"00",,,,,,,,[[,"(\\d{3})(\\d{3})","$1 $2",["11[68]|64"]],[,"(\\d{5})","$1",["19"]],[,"(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145]"]],[,"(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["64"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["26|39|45|5[0137]|6[0469]|7[02389]|8[08]"]],[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[14]|2[0-57-9]|3[2-4]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145]"]]],,[,,"64\\d{4,7}",,,,"641234567"],,,[,,,,,,,,,[-1]],[,,"804\\d{6}",,,,"804123456",,,[9]],,,[,,,,,,,,,[-1]]],PM:[,[,,"[45]\\d{5}",,,,,,,[6]],[,,"(?:4[1-3]|50)\\d{4}",,,,"430123"],[,,"(?:4[02-4]|5[05])\\d{4}",,,,"551234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"PM",508,"00","0",,,"0",,,,[[,"([45]\\d)(\\d{2})(\\d{2})","$1 $2 $3",["[45]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PR:[,[,,"(?:[589]\\d\\d|787)\\d{7}",,,,,,,[10],[7]],[,,"(?:787|939)[2-9]\\d{6}",,,,"7872345678",,,,[7]],[,,"(?:787|939)[2-9]\\d{6}",,,,"7872345678",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002345678"],[,,"900[2-9]\\d{6}",,,,"9002345678"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"PR",1,"011","1",,,"1",,,1,,,[,,,,,,,,,[-1]],,"787|939",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PS:[,[,,"(?:(?:1\\d|5)\\d\\d|[2489]2)\\d{6}",,,,,,,[8,9,10],[7]],[,,"(?:22[234789]|42[45]|82[01458]|92[369])\\d{5}",,,,"22234567",,,[8],[7]],[,,"5[69]\\d{7}",,,,"599123456",,,[9]],[,,"1800\\d{6}",,,,"1800123456",,,[10]],[,,,,,,,,,[-1]],[,,"1700\\d{6}",,,,"1700123456",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"PS",970,"00","0",,,"0",,,,[[,"([2489])(2\\d{2})(\\d{4})","$1 $2 $3",["[2489]2"],"0$1"],[,"(5[69]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["5[69]"],"0$1"],[,"(1[78]00)(\\d{3})(\\d{3})","$1 $2 $3",["1[78]0","1[78]00"],"$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PT:[,[,,"(?:[26-9]\\d|30)\\d{7}",,,,,,,[9]],[,,"2(?:[12]\\d|[35][1-689]|4[1-59]|6[1-35689]|7[1-9]|8[1-69]|9[1256])\\d{6}",,,,"212345678"],[,,"9(?:[1236]\\d{2}|480)\\d{5}",,,,"912345678"],[,,"80[02]\\d{6}",,,,"800123456"],[,,"6(?:0[178]|4[68])\\d{6}|76(?:0[1-57]|1[2-47]|2[237])\\d{5}",,,,"760123456"],[,,"80(?:8\\d|9[1579])\\d{5}",,,,"808123456"],[,,"884[0-4689]\\d{5}",,,,"884123456"],[,,"30\\d{7}",,,,"301234567"],"PT",351,"00",,,,,,,,[[,"(2\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2[12]"]],[,"([2-46-9]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2[3-9]|[346-9]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"7(?:0(?:7\\d|8[17]))\\d{5}",,,,"707123456"],,,[,,"600\\d{6}",,,,"600110000"]],PW:[,[,,"(?:[25-8]\\d\\d|345|488|900)\\d{4}",,,,,,,[7]],[,,"(?:2(?:55|77)|345|488|5(?:35|44|87)|6(?:22|54|79)|7(?:33|47)|8(?:24|55|76)|900)\\d{4}",,,,"2771234"],[,,"(?:6[234689]0|77\\d|88[0-4])\\d{4}",,,,"6201234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"PW",680,"01[12]",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],PY:[,[,,"(?:[2-46-9]\\d|5[0-8])\\d{7}|[2-9]\\d{5,7}",,,,,,,[6,7,8,9],[5]],[,,"(?:[26]1|3[289]|4[124678]|7[123]|8[1236])\\d{5,7}|(?:2(?:2[4568]|7[15]|9[1-5])|3(?:18|3[167]|4[2357]|51)|4(?:18|2[45]|3[12]|5[13]|64|71|9[1-47])|5(?:[1-4]\\d|5[0234])|6(?:3[1-3]|44|7[1-4678])|7(?:17|4[0-4]|6[1-578]|75|8[0-8])|858)\\d{5,6}",,,,"212345678",,,[7,8,9],[5,6]],[,,"9(?:51|6[129]|[78][1-6]|9[1-5])\\d{6}",,,,"961456789",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"8700[0-4]\\d{4}",,,,"870012345",,,[9]],"PY",595,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{5})","$1 $2",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],[,"(\\d{3})(\\d{3,6})","$1 $2",["[2-9]0"],"0$1"],[,"(\\d{3})(\\d{6})","$1 $2",["9[1-9]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["870","8700"]],[,"(\\d{3})(\\d{4,5})","$1 $2",["[2-8][1-9]"],"(0$1)"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8][1-9]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"[2-9]0\\d{4,7}",,,,"201234567"],,,[,,,,,,,,,[-1]]],QA:[,[,,"(?:(?:2|[3-7]\\d)\\d\\d|800)\\d{4}",,,,,,,[7,8]],[,,"4[04]\\d{6}",,,,"44123456",,,[8]],[,,"[3567]\\d{7}",,,,"33123456",,,[8]],[,,"800\\d{4}",,,,"8001234",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"QA",974,"00",,,,,,,,[[,"([28]\\d{2})(\\d{4})","$1 $2",["[28]"]],[,"([3-7]\\d{3})(\\d{4})","$1 $2",["[3-7]"]]],,[,,"2(?:[12]\\d|61)\\d{4}",,,,"2123456",,,[7]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],RE:[,[,,"(?:26|[68]\\d)\\d{7}",,,,,,,[9]],[,,"262\\d{6}",,,,"262161234"],[,,"69(?:2\\d{2}|3(?:0[0-46]|1[013]|2[0-2]|3[0-39]|4\\d|5[05]|6[0-26]|7[0-27]|8[0-38]|9[0-479]))\\d{4}",,,,"692123456"],[,,"80\\d{7}",,,,"801234567"],[,,"89[1-37-9]\\d{6}",,,,"891123456"],[,,"8(?:1[019]|2[0156]|84|90)\\d{6}",,,,"810123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"RE",262,"00","0",,,"0",,,,[[,"([268]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[268]"],"0$1"]],,[,,,,,,,,,[-1]],1,"262|69|8",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],RO:[,[,,"(?:[237]\\d|[89]0)\\d{7}|[23]\\d{5}",,,,,,,[6,9]],[,,"2(?:1(?:\\d{7}|9\\d{3}
1)|[3-6](?:\\d{7}|\\d9\\d{2}))|3(?:1\\d{4}(?:\\d{3})?|[3-6]\\d{7})",,,,"211234567"],[,,"7(?:[02-7]\\d{2}|1(?:[01]\\d|20)|8[03-8]\\d|99\\d)\\d{5}",,,,"712034567",,,[9]],[,,"800\\d{6}",,,,"800123456",,,[9]],[,,"90[036]\\d{6}",,,,"900123456",,,[9]],[,,"801\\d{6}",,,,"801123456",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"RO",40,"00","0"," int ",,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[23]1"],"0$1"],[,"(\\d{2})(\\d{4})","$1 $2",["[23]1"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[23][3-7]|[7-9]"],"0$1"],[,"(2\\d{2})(\\d{3})","$1 $2",["2[3-6]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"37\\d{7}",,,,"372123456",,,[9]],,,[,,,,,,,,,[-1]]],RS:[,[,,"[127]\\d{6,11}|3(?:[0-79]\\d{5,10}|8(?:[02-9]\\d{4,9}|1\\d{4,5}))|6\\d{7,9}|800\\d{3,9}|90\\d{4,8}|7\\d{5}",,,,,,,[6,7,8,9,10,11,12],[5]],[,,"(?:1(?:[02-9][2-9]|1[1-9])\\d|2(?:[0-24-7][2-9]\\d|[389](?:0[2-9]|[2-9]\\d))|3(?:[0-8][2-9]\\d|9(?:[2-9]\\d|0[2-9])))\\d{3,8}",,,,"10234567",,,[7,8,9,10,11,12],[5,6]],[,,"6(?:[0-689]|7\\d)\\d{6,7}",,,,"601234567",,,[8,9,10]],[,,"800\\d{3,9}",,,,"80012345"],[,,"(?:90[0169]|78\\d)\\d{3,7}",,,,"90012345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"RS",381,"00","0",,,"0",,,,[[,"([23]\\d{2})(\\d{4,9})","$1 $2",["(?:2[389]|39)0"],"0$1"],[,"([1-3]\\d)(\\d{5,10})","$1 $2",["1|2(?:[0-24-7]|[389][1-9])|3(?:[0-8]|9[1-9])"],"0$1"],[,"(6\\d)(\\d{6,8})","$1 $2",["6"],"0$1"],[,"([89]\\d{2})(\\d{3,9})","$1 $2",["[89]"],"0$1"],[,"(7[26])(\\d{4,9})","$1 $2",["7[26]"],"0$1"],[,"(7[08]\\d)(\\d{4,9})","$1 $2",["7[08]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"7[06]\\d{4,10}",,,,"700123456"],,,[,,,,,,,,,[-1]]],RU:[,[,,"[347-9]\\d{9}",,,,,,,[10]],[,,"(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-79]|7[1-37-9]))\\d{7}",,,,"3011234567"],[,,"9\\d{9}",,,,"9123456789"],[,,"80[04]\\d{7}",,,,"8001234567"],[,,"80[39]\\d{7}",,,,"8091234567"],[,,,,,,,,,[-1]],[,,"808\\d{7}",,,,"8081234567"],[,,,,,,,,,[-1]],"RU",7,"810","8",,,"8",,"8~10",,[[,"(\\d{3})(\\d{2})(\\d{2})","$1-$2-$3",["[1-79]"],"$1",,1],[,"([3489]\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[3489]"],"8 ($1)",,1],[,"(7\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"8 ($1)",,1]],[[,"([3489]\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[3489]"],"8 ($1)",,1],[,"(7\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"8 ($1)",,1]],[,,,,,,,,,[-1]],1,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],RW:[,[,,"(?:06|[27]\\d\\d|[89]00)\\d{6}",,,,,,,[8,9]],[,,"2[258]\\d{7}|06\\d{6}",,,,"250123456"],[,,"7[238]\\d{7}",,,,"720123456",,,[9]],[,,"800\\d{6}",,,,"800123456",,,[9]],[,,"900\\d{6}",,,,"900123456",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"RW",250,"00","0",,,"0",,,,[[,"(2\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2"]],[,"([7-9]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"],"0$1"],[,"(0\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SA:[,[,,"(?:(?:[15]|8\\d)\\d|92)\\d{7}",,,,,,,[9,10],[7]],[,,"1(?:1\\d|2[24-8]|3[35-8]|4[3-68]|6[2-5]|7[235-7])\\d{6}",,,,"112345678",,,[9],[7]],[,,"(?:5(?:[013-689]\\d|7[0-36-8])|811\\d)\\d{6}",,,,"512345678"],[,,"800\\d{7}",,,,"8001234567",,,[10]],[,,,,,,,,,[-1]],[,,"92[05]\\d{6}",,,,"920012345",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"SA",966,"00","0",,,"0",,,,[[,"(1\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1[1-467]"],"0$1"],[,"(5\\d)(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"],[,"(92\\d{2})(\\d{5})","$1 $2",["92"],"$1"],[,"(800)(\\d{3})(\\d{4})","$1 $2 $3",["800"],"$1"],[,"(811)(\\d{3})(\\d{3,4})","$1 $2 $3",["811"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SB:[,[,,"(?:[1-6]|[7-9]\\d\\d)\\d{4}",,,,,,,[5,7]],[,,"(?:1[4-79]|[23]\\d|4[0-2]|5[03]|6[0-37])\\d{3}",,,,"40123",,,[5]],[,,"48\\d{3}|7(?:30|[46-8]\\d|5[025-9]|9[0-5])\\d{4}|8[4-9]\\d{5}|9(?:1[2-9]|2[013-9]|3[0-2]|[46]\\d|5[0-46-9]|7[0-689]|8[0-79]|9[0-8])\\d{4}",,,,"7421234"],[,,"1[38]\\d{3}",,,,"18123",,,[5]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"5[12]\\d{3}",,,,"51123",,,[5]],"SB",677,"0[01]",,,,,,,,[[,"(\\d{2})(\\d{5})","$1 $2",["[7-9]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SC:[,[,,"(?:(?:(?
1:[24]\\d|64)\\d|971)\\d|8000)\\d{3}",,,,,,,[7]],[,,"4[2-46]\\d{5}",,,,"4217123"],[,,"2[5-8]\\d{5}",,,,"2510123"],[,,"8000\\d{3}",,,,"8000000"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"(?:64\\d|971)\\d{4}",,,,"6412345"],"SC",248,"0(?:[02]|10?)",,,,,,"00",,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[246]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SD:[,[,,"[19]\\d{8}",,,,,,,[9]],[,,"1(?:5\\d|8[3567])\\d{6}",,,,"151231234"],[,,"(?:1[0-2]|9[0-3569])\\d{7}",,,,"911231234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"SD",249,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",,"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SE:[,[,,"(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|[27]\\d{5}",,,,,,,[6,7,8,9,10,12]],[,,"1(?:0[1-8]\\d{6}|[136]\\d{5,7}|(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\\d)\\d{5,6})|2(?:[136]\\d{5,7}|(?:2[0-7]|4[0136-8]|5[0138]|7[018]|8[01]|9[0-57])\\d{5,6})|3(?:[356]\\d{5,7}|(?:0[0-4]|1\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])\\d{5,6})|4(?:[0246]\\d{5,7}|(?:1[013-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])\\d{5,6})|5(?:0[0-6]|[15][0-5]|2[0-68]|3[0-4]|4\\d|6[03-5]|7[013]|8[0-79]|9[01])\\d{5,6}|6(?:[03]\\d{5,7}|(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])\\d{5,6})|8\\d{6,8}|9(?:0[1-9]\\d{4,6}|(?:1[0-68]|2\\d|3[02-5]|4[0-3]|5[0-4]|[68][01]|7[0135-8])\\d{5,6})",,,,"8123456",,,[7,8,9]],[,,"7[02369]\\d{7}",,,,"701234567",,,[9]],[,,"20\\d{4,7}",,,,"20123456",,,[6,7,8,9]],[,,"649\\d{6}|9(?:00|39|44)[1-8]\\d{3,6}",,,,"9001234567",,,[7,8,9,10]],[,,"77(?:0\\d{3}(?:\\d{3})?|[1-7]\\d{6})",,,,"771234567",,,[6,9]],[,,"75[1-8]\\d{6}",,,,"751234567",,,[9]],[,,,,,,,,,[-1]],"SE",46,"00","0",,,"0",,,,[[,"([1-469]\\d)(\\d{3})(\\d{2})","$1-$2 $3",["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"],"0$1"],[,"(9[034]\\d)(\\d{4})","$1-$2",["9(?:00|39|44)"],"0$1"],[,"(8)(\\d{2,3})(\\d{2,3})(\\d{2})","$1-$2 $3 $4",["8"],"0$1"],[,"([1-69]\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1-$2 $3 $4",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[0-5]|4[0-3])"],"0$1"],[,"(\\d{3})(\\d{2,3})(\\d{2})","$1-$2 $3",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[0-5]|4[0-3])"],"0$1"],[,"(7\\d)(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["7"],"0$1"],[,"(77)(\\d{2})(\\d{2})","$1-$2$3",["77"],"0$1"],[,"(20)(\\d{2,3})(\\d{2})","$1-$2 $3",["20"],"0$1"],[,"(9[034]\\d)(\\d{2})(\\d{2})(\\d{3})","$1-$2 $3 $4",["9[034]"],"0$1"],[,"(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4 $5",["25[245]|67[3-6]"],"0$1"]],[[,"([1-469]\\d)(\\d{3})(\\d{2})","$1 $2 $3",["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"]],[,"(9[034]\\d)(\\d{4})","$1 $2",["9(?:00|39|44)"]],[,"(8)(\\d{2,3})(\\d{2,3})(\\d{2})","$1 $2 $3 $4",["8"]],[,"([1-69]\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90"]],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[0-5]|4[0-3])"]],[,"(\\d{3})(\\d{2,3})(\\d{2})","$1 $2 $3",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[0-5]|4[0-3])"]],[,"(7\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7"]],[,"(77)(\\d{2})(\\d{2})","$1 $2 $3",["77"]],[,"(20)(\\d{2,3})(\\d{2})","$1 $2 $3",["20"]],[,"(9[034]\\d)(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["9[034]"]],[,"(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["25[245]|67[3-6]"]]],[,,"74[02-9]\\d{6}",,,,"740123456",,,[9]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,"(?:25[245]|67[3-6])\\d{9}",,,,"254123456789",,,[12]]],SG:[,[,,"(?:1\\d{3}|[369]|7000|8(?:\\d{2})?)\\d{7}",,,,,,,[8,10,11]],[,,"6[1-9]\\d{6}",,,,"61234567",,,[8]],[,,"(?:8[1-8]|9[0-8])\\d{6}",,,,"81234567",,,[8]],[,,"1?800\\d{7}",,,,"18001234567",,,[10,11]],[,,"1900\\d{7}",,,,"19001234567",,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"3[12]\\d{6}",,,,"31234567",,,[8]],"SG",65,"0[0-3]\\d",,,,,,,,[[,"([3689]\\d{3})(\\d{4})","$1 $2",["[369]|8[1-9]"]],[,"(1[89]00)(\\d{3})(\\d{4})","$1 $2 $3",["1[89]0","1[89]00"]],[,"(7000)(\\d{4})(\\d{3})","$1 $2 $3",["700","7000"]],[,"(800)(\\d{3})(\\d{4})","$1 $2 $3",["800"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"7000\\d{7}",,,,"70001234567",,,[11]],,,[,,,,,,,,,[-1]]],SH:[,[,,"(?:[256]\\d|8)\\d{3}",,,,,,,[4,5]],[,,"2(?:[0-57-9]\\d|6[4-9])\\d{2}",,,,"22158"],[,,"[56]\\d{4}",,,,"51234",,,[5]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"262\\d{2}",,,,"26212",,,[5]],"SH",290,"00",,,,,,,,,,[,,,,,,,,,[-1]],1,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SI:[,[,,"[1-8]\\d{7}|90\\d{4,6}|8\\d{4,6}",,,,,,,[5,6,7,8]],[,,"(?:1\\d|[25][2-8]|3[24-8]|4[24-8]|7[3-8])\\d{6}",,,,"11234567",,,[8],[7]],[,,"(?:[37][01]\\d|4[0139]\\d|51\\d|6(?:[48]\\d|5[15-7]|9[69]))\\d{5}",,,,"31234567",,,[8]],[,,"80\\d{4,6}",,,,"80123456",,,[6,7,8]],[,,"90\\d{4,6}|89[1-3]\\d{2,5}",,,,"90123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"(?:59|8[1-3])\\d{6}",,,,"59012345",,,[8]],"SI",386,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[12]|[34][24-8]|5[2-8]|7[3-8]"],"(0$1)"],[,"([3-7]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[37][01]|4[0139]|51|6"],"0$1"],[,"([89][09])(\\d{3,6})","$1 $2",["[89][09]"],"0$1"],[,"([58]\\d{2})(\\d{5})","$1 $2",["59|8[1-3]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SJ:[,[,,"(?:0|(?:[4589]\\d|79)\\d\\d)\\d{4}",,,,,,,[5,8]],[,,"79\\d{6}",,,,"79123456",,,[8]],[,,"(?:4[015-8]|5[89]|9\\d)\\d{6}",,,,"41234567",,,[8]],[,,"80[01]\\d{5}",,,,"80012345",,,[8]],[,,"82[09]\\d{5}",,,,"82012345",,,[8]],[,,"810(?:0[0-6]|[2-8]\\d)\\d{3}",,,,"81021234",,,[8]],[,,"880\\d{5}",,,,"88012345",,,[8]],[,,"85[0-5]\\d{5}",,,,"85012345",,,[8]],"SJ",47,"00",,,,,,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"0\\d{4}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}",,,,"01234"],,,[,,"81[23]\\d{5}",,,,"81212345",,,[8]]],SK:[,[,,"[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}",,,,,,,[6,7,9]],[,,"2(?:1(?:6\\d{3,4}|7\\d{3})|[2-9]\\d{7})|[3-5][1-8](?:1(?:6\\d{2,3}|7\\d{3})|\\d{7})",,,,"221234567"],[,,"9(?:0(?:[1-8]\\d|9[1-9])|(?:1[0-24-9]|[45]\\d)\\d)\\d{5}",,,,"912123456",,,[9]],[,,"800\\d{6}",,,,"800123456",,,[9]],[,,"9(?:[78]\\d{7}|00\\d{6})",,,,"900123456",,,[9]],[,,"8[5-9]\\d{7}",,,,"850123456",,,[9]],[,,,,,,,,,[-1]],[,,"6(?:02|5[0-4]|9[0-6])\\d{6}",,,,"690123456",,,[9]],"SK",421,"00","0",,,"0",,,,[[,"(2)(1[67])(\\d{3,4})","$1 $2 $3",["21[67]"],"0$1"],[,"([3-5]\\d)(\\d{2})(\\d{2,3})","$1 $2 $3",["[3-5]"],"0$1"],[,"(2)(\\d{3})(\\d{3})(\\d{2})","$1/$2 $3 $4",["2"],"0$1"],[,"([3-5]\\d)(\\d{3})(\\d{2})(\\d{2})","$1/$2 $3 $4",["[3-5]"],"0$1"],[,"([689]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[689]"],"0$1"],[,"(9090)(\\d{3})","$1 $2",["909","9090"],"0$1"]],,[,,"9090\\d{3}",,,,"9090123",,,[7]],,,[,,"(?:602|8(?:00|[5-9]\\d)|9(?:00|[78]\\d))\\d{6}|9090\\d{3}",,,,,,,[7,9]],[,,"96\\d{7}",,,,"961234567",,,[9]],,,[,,,,,,,,,[-1]]],SL:[,[,,"(?:[2-578]\\d|66|99)\\d{6}",,,,,,,[8],[6]],[,,"[235]2[2-4][2-9]\\d{4}",,,,"22221234",,,,[6]],[,,"(?:2[15]|3[013-5]|4[04]|5[05]|66|7[5-9]|8[08]|99)\\d{6}",,,,"25123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"SL",232,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{6})","$1 $2",,"(0$1)"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SM:[,[,,"(?:0549|[5-7]\\d)\\d{6}",,,,,,,[8,10],[6]],[,,"0549(?:8[0157-9]|9\\d)\\d{4}",,,,"0549886377",,,[10],[6]],[,,"6[16]\\d{6}",,,,"66661212",,,[8]],[,,,,,,,,,[-1]],[,,"7[178]\\d{6}",,,,"71123456",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"5[158]\\d{6}",,,,"58001110",,,[8]],"SM",378,"00",,,,"([89]\\d{5})","0549$1",,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"]],[,"(0549)(\\d{6})","$1 $2",["054","0549"]],[,"(\\d{6})","0549 $1",["[89]"]]],[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"]],[,"(0549)(\\d{6})","($1) $2",["054","0549"]],[,"(\\d{6})","(0549) $1",["[89]"]]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SN:[,[,,"(?:[378]\\d{4}|93330)\\d{4}",,,,,,,[9]],[,,"3(?:0(?:1[0-2]|80)|282|3(?:8[1-9]|9[3-9])|611)\\d{5}
1",,,,"301012345"],[,,"7(?:[06-8]\\d|21|90)\\d{6}",,,,"701234567"],[,,"800\\d{6}",,,,"800123456"],[,,"88[4689]\\d{6}",,,,"884123456"],[,,"81[02468]\\d{6}",,,,"810123456"],[,,,,,,,,,[-1]],[,,"39[01]\\d{6}|3392\\d{5}|93330\\d{4}",,,,"933301234"],"SN",221,"00",,,,,,,,[[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[379]"]],[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SO:[,[,,"[346-9]\\d{8}|[12679]\\d{7}|(?:[1-4]\\d|59)\\d{5}|[1348]\\d{5}",,,,,,,[6,7,8,9]],[,,"(?:1\\d{1,2}|2[0-79]\\d|3[0-46-8]?\\d|4[0-7]?\\d|59\\d|8[125])\\d{4}",,,,"4012345",,,[6,7]],[,,"(?:15\\d|2(?:4\\d|8)|3[59]\\d{2}|4[89]\\d{2}|6[1-9]?\\d{2}|7(?:[1-8]\\d|9\\d{1,2})|8[08]\\d{2}|9(?:0[67]|[2-9])\\d)\\d{5}",,,,"71123456",,,[7,8,9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"SO",252,"00","0",,,"0",,,,[[,"(\\d{6})","$1",["[134]"]],[,"(\\d)(\\d{6})","$1 $2",["[13-5]|2[0-79]"]],[,"(\\d)(\\d{7})","$1 $2",["24|[67]"]],[,"(\\d{2})(\\d{4})","$1 $2",["8[125]"]],[,"(\\d{2})(\\d{5,7})","$1 $2",["15|28|6[1-35-9]|799|9[2-9]"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["3[59]|4[89]|6[24-6]|79|8[08]|90"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SR:[,[,,"(?:[2-5]|68|[78]\\d)\\d{5}",,,,,,,[6,7]],[,,"(?:2[1-3]|3[0-7]|4\\d|5[2-58]|68\\d)\\d{4}",,,,"211234"],[,,"(?:7[124-7]|8[125-9])\\d{5}",,,,"7412345",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"56\\d{4}",,,,"561234",,,[6]],"SR",597,"00",,,,,,,,[[,"(\\d{3})(\\d{3})","$1-$2",["[2-4]|5[2-58]"]],[,"(\\d{2})(\\d{2})(\\d{2})","$1-$2-$3",["56"]],[,"(\\d{3})(\\d{4})","$1-$2",["[6-8]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SS:[,[,,"[19]\\d{8}",,,,,,,[9]],[,,"18\\d{7}",,,,"181234567"],[,,"(?:12|9[1257])\\d{7}",,,,"977123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"SS",211,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",,"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ST:[,[,,"(?:22|9\\d)\\d{5}",,,,,,,[7]],[,,"22\\d{5}",,,,"2221234"],[,,"9(?:0(?:0[5-9]|[1-9]\\d)|[89]\\d{2})\\d{3}",,,,"9812345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"ST",239,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SV:[,[,,"[267]\\d{7}|[89]00\\d{4}(?:\\d{4})?",,,,,,,[7,8,11]],[,,"2[1-6]\\d{6}",,,,"21234567",,,[8]],[,,"[67]\\d{7}",,,,"70123456",,,[8]],[,,"800\\d{4}(?:\\d{4})?",,,,"8001234",,,[7,11]],[,,"900\\d{4}(?:\\d{4})?",,,,"9001234",,,[7,11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"SV",503,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",["[267]"]],[,"(\\d{3})(\\d{4})","$1 $2",["[89]"]],[,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[89]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SX:[,[,,"(?:(?:[58]\\d\\d|900)\\d|7215)\\d{6}",,,,,,,[10],[7]],[,,"7215(?:4[2-8]|8[239]|9[056])\\d{4}",,,,"7215425678",,,,[7]],[,,"7215(?:1[02]|2\\d|5[034679]|8[014-8])\\d{4}",,,,"7215205678",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002123456"],[,,"900[2-9]\\d{6}",,,,"9002123456"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"SX",1,"011","1",,,"1",,,,,,[,,,,,,,,,[-1]],,"721",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SY:[,[,,"[1-39]\\d{8}|[1-5]\\d{7}",,,,,,,[8,9],[6,7]],[,,"(?:1(?:1\\d?|4\\d|[2356])|2(?:1\\d?|[235])|3(?:[13]\\d|4)|4[13]|5[1-3])\\d{6}",,,,"112345678",,,,[6,7]],[,,"9(?:22|[3-589]\\d|6[024-9])\\d{6}",,,,"944567890",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"SY",963,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-5]"],"0$1",,1],[,"(9\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1",,1]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],SZ:[,[,,"(?:0800|(?:[237]\\d|900)\\d\\d)\\d{4}",,,,,,,[8,9]],[,,"[23][2-5]\\d{6}",,,,"22171234",,,[8]],[,,"7[6-9]\\d{6}",,,,"76123456",,,[8]],[,,"0800\\d{4}",,,,"08001234",,,[8]],[,,"900\\d{6}",,,,"900012345",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"70\\d{6}",,,,"70012345",,,[8]],"SZ",268,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",["[0237]"]],[,"(\\d{5})(\\d{4})","$1 $2",["900"]]],,[,,,,,,,,,[-1]],,,[,,"0800\\d{4}",,,,,,,[8]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TA:[,[,,"8\\d{3}",,,,,,,[4]],[,,"8\\d{3}",,,,"8999"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"TA",290,"00",,,,,,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TC:[,[,,"(?:[58]\\d\\d|649|900)\\d{7}",,,,,,,[10],[7]],[,,"649(?:712|9(?:4\\d|50))\\d{4}",,,,"6497121234",,,,[7]],[,,"649(?:2(?:3[129]|4[1-7])|3(?:3[1-389]|4[1-8])|4[34][1-3])\\d{4}",,,,"6492311234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002345678"],[,,"900[2-9]\\d{6}",,,,"9002345678"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,"64971[01]\\d{4}",,,,"6497101234",,,,[7]],"TC",1,"011","1",,,"1",,,,,,[,,,,,,,,,[-1]],,"649",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TD:[,[,,"(?:22|[69]\\d|77)\\d{6}",,,,,,,[8]],[,,"22(?:[3789]0|5[0-5]|6[89])\\d{4}",,,,"22501234"],[,,"(?:6[023568]\\d|77\\d|9\\d{2})\\d{5}",,,,"63012345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"TD",235,"00|16",,,,,,"00",,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TG:[,[,,"[279]\\d{7}",,,,,,,[8]],[,,"2(?:2[2-7]|3[23]|4[45]|55|6[67]|77)\\d{5}",,,,"22212345"],[,,"(?:7[09]|9[0-36-9])\\d{6}",,,,"90112345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"TG",228,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[279]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TH:[,[,,"(?:1\\d\\d?|[2-57]|[689]\\d)\\d{7}",,,,,,,[8,9,10]],[,,"(?:2\\d|3[2-9]|4[2-5]|5[2-6]|7[3-7])\\d{6}",,,,"21234567",,,[8]],[,,"(?:14|6[1-6]|[89]\\d)\\d{7}",,,,"812345678",,,[9]],[,,"1800\\d{6}",,,,"1800123456",,,[10]],[,,"1900\\d{6}",,,,"1900123456",,,[10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"6[08]\\d{7}",,,,"601234567",,,[9]],"TH",66,"00[1-9]","0",,,"0",,,,[[,"(2)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],[,"([13-9]\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["14|[3-9]"],"0$1"],[,"(1[89]00)(\\d{3})(\\d{3})","$1 $2 $3",["1[89]0","1[89]00"],"$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TJ:[,[,,"(?:[3-59]\\d|77|88)\\d{7}",,,,,,,[9],[3,5,7]],[,,"(?:3(?:1[3-5]|2[245]|3[12]|4[24-7]|5[25]|72)|4(?:46|74|87))\\d{6}",,,,"372123456",,,,[3,5,7]],[,,"(?:41[18]|(?:5[05]|77|88|9[0-35-9])\\d)\\d{6}",,,,"917123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"TJ",992,"810","8",,,"8",,"8~10",,[[,"([349]\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[34]7|91[78]"],,,1],[,"([457-9]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["4[148]|[578]|9(?:[0235-9]|1[59])"],,,1],[,"(331700)(\\d)(\\d{2})","$1 $2 $3",["331","3317","33170","331700"],,,1],[,"(\\d{4})(\\d)(\\d{4})","$1 $2 $3",["3[1-5]","3(?:[1245]|3(?:[02-9]|1[0-589]))"],,,1]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TK:[,[,,"[2-47]\\d{3,6}",,,,,,,[4,5,6,7]],[,,"(?:2[2-4]|[34]\\d)\\d{2,5}",,,,"3101"],[,,"7[2-4]\\d{2,5}",,,,"7290"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"TK",690,"00",,,,,,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TL:[,[,,"(?:[2-4]\\d|7\\d\\d?|[89]0)\\d{5}",,,,,,,[7,8]],[,,"(?:2[1-5]|3[1-9]|4[1-4])\\d{5}",,,,"2112345",,,[7]],[,,"7[3-8]\\d{6}",,,,"77212345",,,[8]],[,,"80\\d{5}",,,,"8012345",,,[7]],[,,"90\\d{5}",,,,"9012345",,,[7]],[,,,,,,,,,[-1]],[,,"70\\d{5}",,,,"7012345",,,[7]],[,,,,,,,,,[-1]],"TL",670,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[2-489]|70"]],[,"(\\d{4})(\\d{4})","$1 $2",["7[3-8]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TM:[,[,,"[1-6]\\d{7}",,,,,,,[8]],[,,"(?:1(?:2\\d|3[1-9])|2(?:22|4[0-35-8])|3(?:22|4[03-9])|4(?:22|3[128]|4\\d|6[15])|5(?:22|5[7-9]|6[014-689]))\\d{5}",,,,"12345678"],[,,"6[1-9]\\d{6}",,,,"66123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"TM",993,"810","8",,,"8",,"8~10",,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["12"],"(8 $1)"],[,"(\\d{2})(\\d{6})","$1 $2",["6"],"8 $1"],[,"(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2-$3-$4",["13|[2-5]"],"(8 $1)"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TN:[,[,,"[2-57-9]\\d{7}",,,,,,,[8]],[,,"(?:3[0-2]\\d{3}|7\\d{4}|81200)\\d{3}",,,,"30010123"],[,,"(?:[259]\\d{3}|3(?:001|1(?:[1-35]\\d|40)|240|6[0-4]\\d|91\\d)|4[0-6]\\d{2})\\d{4}",,,,"20123456"],[,,"8010\\d{4}",,,,"80101234"],[,,"88\\d{6}",,,,"88123456"],[,,"8[12]10\\d{4}",,,,"81101234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"TN",216,"00",,,,,,,,[[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TO:[,[,,"(?:(?:080|[56])0|[2-4]\\d|[78]\\d(?:\\d{2})?)\\d{3}",,,,,,,[5,7]],[,,"(?:2\\d|3[1-8]|4[1-4]|[56]0|7[0149]|8[05])\\d{3}",,,,"20123",,,[5]],[,,"(?:7[578]|8[46-9])\\d{5}",,,,"7715123",,,[7]],[,,"0800\\d{3}",,,,"0800222",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"TO",676,"00",,,,,,,,[[,"(\\d{2})(\\d{3})","$1-$2",["[1-6]|7[0-4]|8[05]"]],[,"(\\d{3})(\\d{4})","$1 $2",["7[5-9]|8[46-9]"]],[,"(\\d{4})(\\d{3})","$1 $2",["0"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TR:[,[,,"(?:[2-58]\\d\\d|900)\\d{7}|4\\d{6}",,,,,,,[7,10]],[,,"(?:2(?:[13][26]|[28][2468]|[45][268]|[67][246])|3(?:[13][28]|[24-6][2468]|[78][02468]|92)|4(?:[16][246]|[23578][2468]|4[26]))\\d{7}",,,,"2123456789",,,[10]],[,,"5(?:(?:0[15-7]|1[06]|24|[34]\\d|5[1-59]|9[46])\\d{2}|6161)\\d{5}",,,,"5012345678",,,[10]],[,,"800\\d{7}",,,,"8001234567",,,[10]],[,,"(?:8[89]8|900)\\d{7}",,,,"9001234567",,,[10]],[,,,,,,,,,[-1]],[,,"592(?:21[12]|461)\\d{4}",,,,"5922121234",,,[10]],[,,,,,,,,,[-1]],"TR",90,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[23]|4(?:[0-35-9]|4[0-35-9])"],"(0$1)",,1],[,"(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5(?:[02-69]|1[06])"],"0$1",,1],[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["51|[89]"],"0$1",,1],[,"(444)(\\d{1})(\\d{3})","$1 $2 $3",["444"],,,1]],,[,,"512\\d{7}",,,,"5123456789",,,[10]],,,[,,"444\\d{4}",,,,,,,[7]],[,,"444\\d{4}|850\\d{7}",,,,"4441444"],,,[,,,,,,,,,[-1]]],TT:[,[,,"(?:[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"868(?:2(?:01|[23]\\d)|6(?:0[7-9]|1[02-8]|2[1-9]|[3-69]\\d|7[0-79])|82[124])\\d{4}",,,,"8682211234",,,,[7]],[,,"868(?:2(?:6[6-9]|[789]\\d)|3(?:0[1-9]|1[02-9]|[2-9]\\d)|4[6-9]\\d|6(?:20|78|8\\d)|7(?:0[1-9]|1[02-9]|[2-9]\\d))\\d{4}",,,,"8682911234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002345678"],[,,"900[2-9]\\d{6}",,,,"9002345678"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"TT",1,"011","1",,,"1",,,,,,[,,,,,,,,,[-1]],,"868",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,"868619\\d{4}",,,,"8686191234",,,,[7]]],TV:[,[,,"(?:2|7\\d\\d|90)\\d{4}",,,,,,,[5,6,7]],[,,"2[02-9]\\d{3}",,,,"20123",,,[5]],[,,"(?:7[01]\\d|90)\\d{4}",,,,"901234",,,[6,7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"TV",688,"00",,,,,,,,,,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],TW:[,[,,"(?:[24589]|7\\d)\\d{8}|[2-8]\\d{7}|2\\d{6}",,,,,,,[7,8,9,10]],[,,"(?:2(?:[235-8]\\d{3}|4\\d{2,3})|3[2-9]\\d{2}|4(?:[239]\\d|[78])\\d{2}|5[2-8]\\d{2}|6[235-79]\\d{2}|7[1-9]\\d{2}|8(?:2(?:3\\d|66)|[7-9]\\d{2}))\\d{4}",,,,"221234567",,,[8,9]],[,,"9[0-8]\\d{7}",,,,"912345678",,,[9]],[,,"80[0-79]\\d{6}",,,,"800123456",,,[9]],[,,"20(?:2|[013-9]\\d{2})\\d{4}",,,,"203123456",,,[7,9]],[,,,,,,,,,[-1]],[,,"99\\d{7}",,,,"990123456",,,[9]],[,,"70\\d{8}",,,,"7012345678",,,[10]],"TW",886,"0(?:0[25679]|19)","0","#",,"0",,,,[[,"(20)(\\d)(\\d{4})","$1 $2 $3",["202"],"0$1"],[,"([258]0)(\\d{3})(\\d{4})","$1 $2 $3",["20[013-9]|50[0-46-9]|80[0-79]"],"0$1"],[,"([2-8])(\\d{3,4})(\\d{4})","$1 $2 $3",["[25][2-8]|[346]|[78][1-9]"],"0$1"],[,"(9\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"],[,"(70)(\\d{4})(\\d{4})","$1 $2 $3",["70"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"50[0-46-9]\\d{6}",,,,"500123456",,,[9]],,,[,,,,,,,,,[-1]]],TZ:[,[,,"(?:[26-8]\\d|41|90)\\d{7}",,,,,,,[9]],[,,"2[2-8]\\d{7}",,,,"222345678"],[,,"(?:6[2-9]|7[13-9])\\d{7}",,,,"621234567"],[,,"80[08]\\d{6}",,,,"800123456"],[,,"90\\d{7}",,,,"900123456"],[,,"8(?:40|6[01])\\d{6}",,,,"840123456"],[,,,,,,,,,[-1]],[,,"41\\d{7}
1",,,,"412345678"],"TZ",255,"00[056]","0",,,"0",,,,[[,"([24]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[24]"],"0$1"],[,"([67]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[67]"],"0$1"],[,"([89]\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[89]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,"(?:8(?:[04]0|6[01])|90\\d)\\d{6}"],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],UA:[,[,,"[3-9]\\d{8}",,,,,,,[9],[5,6,7]],[,,"(?:3[1-8]|4[13-8]|5[1-7]|6[12459])\\d{7}",,,,"311234567",,,,[5,6,7]],[,,"(?:39|50|6[36-8]|7[1-3]|9[1-9])\\d{7}",,,,"391234567"],[,,"800\\d{6}",,,,"800123456"],[,,"900[2-49]\\d{5}",,,,"900212345"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"89[1-579]\\d{6}",,,,"891234567"],"UA",380,"00","0",,,"0",,"0~0",,[[,"([3-9]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[38]9|4(?:[45][0-5]|87)|5(?:0|[67][37])|6[36-8]|7|9[1-9]","[38]9|4(?:[45][0-5]|87)|5(?:0|6(?:3[14-7]|7)|7[37])|6[36-8]|7|9[1-9]"],"0$1"],[,"([3-689]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["(?:3[1-8]|4[136-8])2|5(?:[12457]2|6[24])|6(?:[12][29]|[49]2|5[24])|8[0-8]|90","3(?:[1-46-8]2[013-9]|52)|4(?:[1378]2|62[013-9])|5(?:[12457]2|6[24])|6(?:[12][29]|[49]2|5[24])|8[0-8]|90"],"0$1"],[,"([3-6]\\d{3})(\\d{5})","$1 $2",["3(?:[1-46-8]|5[013-9])|4(?:[137][013-9]|[45][6-9]|6|8[4-6])|5(?:[1245][013-9]|3|6[0135689]|7[4-6])|6(?:[12][13-8]|[49][013-9]|5[0135-9])","3(?:[1-46-8](?:[013-9]|22)|5[013-9])|4(?:[137][013-9]|[45][6-9]|6(?:[013-9]|22)|8[4-6])|5(?:[1245][013-9]|3|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][13-8]|[49][013-9]|5[0135-9])"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],UG:[,[,,"(?:(?:[29]0|[347]\\d)\\d|800)\\d{6}",,,,,,,[9],[5,6,7]],[,,"20(?:[0147]\\d{3}|2(?:40|[5-9]\\d)\\d|3(?:0[0-4]|[2367]\\d)\\d|5[0-4]\\d{2}|6(?:00[0-2]|30[0-4]|[5-9]\\d{2})|8[0-2]\\d{2})\\d{3}|[34]\\d{8}",,,,"312345678",,,,[5,6,7]],[,,"7(?:[09][0-7]\\d|[1578]\\d{2}|2(?:[03]\\d|60)|30\\d|4[0-4]\\d)\\d{5}",,,,"712345678"],[,,"800[123]\\d{5}",,,,"800123456"],[,,"90[123]\\d{6}",,,,"901123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"UG",256,"00[057]","0",,,"0",,,,[[,"(\\d{3})(\\d{6})","$1 $2",["20[0-8]|4(?:6[45]|[7-9])|[7-9]","20(?:[013-8]|2[5-9])|4(?:6[45]|[7-9])|[7-9]"],"0$1"],[,"(\\d{2})(\\d{7})","$1 $2",["3|4(?:[1-5]|6[0-36-9])"],"0$1"],[,"(2024)(\\d{5})","$1 $2",["202","2024"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],US:[,[,,"[2-9]\\d{9}",,,,,,,[10],[7]],[,,"(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[0-24679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[16]|5[017]|6[0-279]|78|8[012])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-258]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[014678]|4[0179]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}",,,,"2015550123",,,,[7]],[,,"(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[0-24679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[16]|5[017]|6[0-279]|78|8[012])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-258]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[014678]|4[0179]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}",,,,"2015550123",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002345678"],[,,"900[2-9]\\d{6}",,,,"9002345678"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"US",1,"011","1",,,"1",,,1,[[,"(\\d{3})(\\d{4})","$1-$2",,,,1],[,"(\\d{3})(\\d{3})(\\d{4})","($1) $2-$3",,,,1]],[[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3"]],[,,,,,,,,,[-1]],1,,[,,,,,,,,,[-1]],[,,"710[2-9]\\d{6}",,,,"7102123456"],,,[,,,,,,,,,[-1]]],UY:[,[,,"(?:[249]\\d\\d|80)\\d{5}|9\\d{6}",,,,,,,[7,8]],[,,"2\\d{7}|4[2-7]\\d{6}",,,,"21231234",,,[8],[7]],[,,"9[1-9]\\d{6}",,,,"94231234",,,[8]],[,,"80[05]\\d{4}",,,,"8001234",,,[7]],[,,"90[0-8]\\d{4}",,,,"9001234",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"UY",598,"0(?:1[3-9]\\d|0)","0"," int. ",,"0",,"00",,[[,"(\\d{4})(\\d{4})","$1 $2",["[24]"]],[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9[1-9]"],"0$1"],[,"(\\d{3})(\\d{4})","$1 $2",["[89]0"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],UZ:[,[,,"[679]\\d{8}",,,,,,,[9],[7]],[,,"(?:6(?:1(?:22|3[124]|4[1-4]|5[123578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|6\\d{2}|7(?:[23]\\d|7[69])|9(?:22|4[1-8]|6[135]))|7(?:0(?:5[4-9]|6[0146]|7[12456]|9[135-8])|1[12]\\d|2(?:22|3[1345789]|4[123579]|5[14])|3(?:2\\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|6(?:22|3[12457]|4[13-8])|9(?:22|5[1-9])))\\d{5}",,,,"669050123",,,,[7]],[,,"6(?:1(?:2(?:98|2[01])|35[0-4]|50\\d|61[23]|7(?:[
101][017]|4\\d|55|9[5-9]))|2(?:11\\d|2(?:[12]1|9[01379])|5(?:[126]\\d|3[0-4])|7\\d{2})|5(?:19[01]|2(?:27|9[26])|30\\d|59\\d|7\\d{2})|6(?:2(?:1[5-9]|2[0367]|38|41|52|60)|3[79]\\d|4(?:56|83)|7(?:[07]\\d|1[017]|3[07]|4[047]|5[057]|67|8[0178]|9[79])|9[0-3]\\d)|7(?:2(?:24|3[237]|4[5-9]|7[15-8])|5(?:7[12]|8[0589])|7(?:0\\d|[39][07])|9(?:0\\d|7[079]))|9(?:2(?:1[1267]|5\\d|3[01]|7[0-4])|5[67]\\d|6(?:2[0-26]|8\\d)|7\\d{2}))\\d{4}|7(?:0\\d{3}|1(?:13[01]|6(?:0[47]|1[67]|66)|71[3-69]|98\\d)|2(?:2(?:2[79]|95)|3(?:2[5-9]|6[0-6])|57\\d|7(?:0\\d|1[17]|2[27]|3[37]|44|5[057]|66|88))|3(?:2(?:1[0-6]|21|3[469]|7[159])|33\\d|5(?:0[0-4]|5[579]|9\\d)|7(?:[0-3579]\\d|4[0467]|6[67]|8[078])|9[4-6]\\d)|4(?:2(?:29|5[0257]|6[0-7]|7[1-57])|5(?:1[0-4]|8\\d|9[5-9])|7(?:0\\d|1[024589]|2[0127]|3[0137]|[46][07]|5[01]|7[5-9]|9[079])|9(?:7[015-9]|[89]\\d))|5(?:112|2(?:0\\d|2[29]|[49]4)|3[1568]\\d|52[6-9]|7(?:0[01578]|1[017]|[23]7|4[047]|[5-7]\\d|8[78]|9[079]))|6(?:2(?:2[1245]|4[2-4])|39\\d|41[179]|5(?:[349]\\d|5[0-2])|7(?:0[017]|[13]\\d|22|44|55|67|88))|9(?:22[128]|3(?:2[0-4]|7\\d)|57[05629]|7(?:2[05-9]|3[37]|4\\d|60|7[2579]|87|9[07])))\\d{4}|9[0-57-9]\\d{7}",,,,"912345678"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"UZ",998,"810","8",,,"8",,"8~10",,[[,"([679]\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[679]"],"8 $1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VA:[,[,,"0\\d{6}(?:\\d{4})?|3[0-8]\\d{9}|(?:[0138]\\d?|55)\\d{8}|[08]\\d{5}(?:\\d{2})?",,,,,,,[6,7,8,9,10,11]],[,,"06698\\d{1,6}",,,,"0669812345"],[,,"3(?:1\\d{8}|[245-9]\\d{7,8}|3\\d{7,9})",,,,"3123456789",,,[9,10,11]],[,,"80(?:0\\d{6}|3\\d{3})",,,,"800123456",,,[6,9]],[,,"0878\\d{5}|1(?:44|6[346])\\d{6}|89(?:2\\d{3}|4(?:[0-4]\\d{2}|[5-9]\\d{4})|5(?:[0-4]\\d{2}|[5-9]\\d{6})|9\\d{6})",,,,"899123456",,,[6,8,9,10]],[,,"84(?:[08]\\d{6}|[17]\\d{3})",,,,"848123456",,,[6,9]],[,,"1(?:78\\d|99)\\d{6}",,,,"1781234567",,,[9,10]],[,,"55\\d{8}",,,,"5512345678",,,[10]],"VA",39,"00",,,,,,,,,,[,,,,,,,,,[-1]],,,[,,"848\\d{6}",,,,,,,[9]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VC:[,[,,"(?:[58]\\d\\d|784|900)\\d{7}",,,,,,,[10],[7]],[,,"784(?:266|3(?:6[6-9]|7\\d|8[0-24-6])|4(?:38|5[0-36-8]|8[0-8])|5(?:55|7[0-2]|93)|638|784)\\d{4}",,,,"7842661234",,,,[7]],[,,"784(?:4(?:3[0-5]|5[45]|89|9[0-8])|5(?:2[6-9]|3[0-4]))\\d{4}",,,,"7844301234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002345678"],[,,"900[2-9]\\d{6}",,,,"9002345678"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"VC",1,"011","1",,,"1",,,,,,[,,,,,,,,,[-1]],,"784",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VE:[,[,,"(?:(?:[24]\\d|50)\\d|[89]00)\\d{7}",,,,,,,[10],[7]],[,,"(?:2(?:12|3[457-9]|[58][1-9]|[467]\\d|9[1-6])|50[01])\\d{7}",,,,"2121234567",,,,[7]],[,,"4(?:1[24-8]|2[46])\\d{7}",,,,"4121234567"],[,,"800\\d{7}",,,,"8001234567"],[,,"900\\d{7}",,,,"9001234567"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"VE",58,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{7})","$1-$2",,"0$1","$CC $1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VG:[,[,,"(?:284|[58]\\d\\d|900)\\d{7}",,,,,,,[10],[7]],[,,"284(?:(?:229|4(?:22|9[45])|774|8(?:52|6[459]))\\d{4}|496[0-5]\\d{3})",,,,"2842291234",,,,[7]],[,,"284(?:(?:3(?:0[0-3]|4[0-7]|68|9[34])|4(?:4[0-6]|68|99)|54[0-57])\\d{4}|496[6-9]\\d{3})",,,,"2843001234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002345678"],[,,"900[2-9]\\d{6}",,,,"9002345678"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"VG",1,"011","1",,,"1",,,,,,[,,,,,,,,,[-1]],,"284",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VI:[,[,,"(?:(?:34|90)0|[58]\\d\\d)\\d{7}",,,,,,,[10],[7]],[,,"340(?:2(?:01|2[0678]|44|77)|3(?:32|44)|4(?:22|7[34])|5(?:1[34]|55)|6(?:26|4[23]|77|9[023])|7(?:1[2-57-9]|27|7\\d)|884|998)\\d{4}",,,,"3406421234",,,,[7]],[,,"340(?:2(?:01|2[0678]|44|77)|3(?:32|44)|4(?:22|7[34])|5(?:1[34]|55)|6(?:26|4[23]|77|9[023])|7(?:1[2-57-9]|27|7\\d)|884|998)\\d{4}",,,,"3406421234",,,,[7]],[,,"8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",,,,"8002345678"],[,,"900[2-9]\\d{6}",,,,"9002345678"],[,,,,,,,,,[-1]],[,,"5(?:00|2[12]|33|44|66|77|88)[2-9]\\d{6}",,,,"5002345678"],[,,,,,,,,,[-1]],"VI",1,"011","1",,,"1",,,1,,,[,,,,,,,,,[-1]],,"340",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],VN:[,[,,"[12]\\d{9}|(?:[19]\\d|8[0-35-9])\\d{7}|1\\d{7}|69\\d{5,6}|(?:[18]\\d\\d|799)\\d{4}",,,,,,,[7,8,9,10]],[,,"2(?:0[3-9]|1[0-689]|2[0-25-9]|3[2-9]|4[2-8]|5[124-9]|6[0-39]|7[0-7]|8[2-7]|9[0-4679])\\d{7}",,,,"2101234567",,,[9,10]],[,,"(?:1(?:2\\d|6[2-9]|8[68]|99)\\d|8(?:6[689]|8\\d|9[89])|9(?:[0-8]\\d|9[013-9]))\\d{6}",,,,"912345678",,,[9,10]],[,,"1800\\d{4,6}",,,,"1800123456",,,[8,9,10]],[,,"1900\\d{4,6}",,,,"1900123456",,,[8,9,10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"992\\d{6}",,,,"992012345",,,[9]],"VN",84,"00","0",,,"0",,,,[[,"([17]99)(\\d{4})","$1 $2",["[17]99"],"0$1",,1],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2[48]"],"0$1",,1],[,"(80)(\\d{5})","$1 $2",["80"],"0$1",,1],[,"(69\\d)(\\d{4,5})","$1 $2",["69"],"0$1",,1],[,"(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["2[0-35-79]"],"0$1",,1],[,"([89]\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8(?:8|9[89])|9"],"0$1",,1],[,"(1[2689]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1(?:[26]|8[68]|99)"],"0$1",,1],[,"(86[689])(\\d{3})(\\d{3})","$1 $2 $3",["86[689]"],"0$1",,1],[,"(1[89]00)(\\d{4,6})","$1 $2",["1[89]0","1[89]00"],"$1",,1]],,[,,,,,,,,,[-1]],,,[,,"[17]99\\d{4}|69\\d{5,6}",,,,,,,[7,8]],[,,"[17]99\\d{4}|69\\d{5,6}|80\\d{5}",,,,"1992000",,,[7,8]],,,[,,,,,,,,,[-1]]],VU:[,[,,"(?:(?:[23]|[57]\\d\\d|900)\\d|[48]8)\\d{3}",,,,,,,[5,7]],[,,"(?:2[02-9]\\d|3(?:[5-7]\\d|8[0-8])|48[4-9]|88\\d)\\d{2}",,,,"22123",,,[5]],[,,"(?:5(?:7[2-5]|[0-689]\\d)|7[013-7]\\d)\\d{4}",,,,"5912345",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"VU",678,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[579]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"3[03]\\d{3}|900\\d{4}",,,,"30123"],,,[,,,,,,,,,[-1]]],WF:[,[,,"(?:[45]0|68|72|8\\d)\\d{4}",,,,,,,[6]],[,,"(?:50|68|72)\\d{4}",,,,"501234"],[,,"(?:50|68|72|8[23])\\d{4}",,,,"501234"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"WF",681,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,"[48]0\\d{4}",,,,"401234"]],WS:[,[,,"(?:[2-6]|8\\d(?:\\d{4})?)\\d{4}|[78]\\d{6}",,,,,,,[5,6,7,10]],[,,"(?:[2-5]\\d|6[1-9])\\d{3}",,,,"22123",,,[5]],[,,"(?:7[25-7]|8(?:[3-7]|9\\d{3}))\\d{5}",,,,"7212345",,,[7,10]],[,,"800\\d{3}",,,,"800123",,,[6]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"WS",685,"0",,,,,,,,[[,"(8\\d{2})(\\d{3,7})","$1 $2",["8"]],[,"(7\\d)(\\d{5})","$1 $2",["7"]],[,"(\\d{5})","$1",["[2-6]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],XK:[,[,,"(?:[23]\\d{2,3}|4\\d\\d|[89]00)\\d{5}",,,,,,,[8,9]],[,,"(?:2[89]0?|3(?:8|90?))\\d{6}",,,,"28012345"],[,,"4[3-79]\\d{6}",,,,"43201234",,,[8]],[,,"800\\d{5}",,,,"80001234",,,[8]],[,,"900\\d{5}",,,,"90001234",,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"XK",383,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[23][89]|4[3-79]"],"0$1"],[,"(\\d{3})(\\d{5})","$1 $2",["[89]00"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",,"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],YE:[,[,,"(?:1|7\\d)\\d{7}|[1-7]\\d{6}",,,,,,,[7,8,9],[6]],[,,"(?:1(?:7\\d|[2-68])|2[2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-68])\\d{5}",,,,"1234567",,,[7,8],[6]],[,,"7[0137]\\d{7}",,,,"712345678",,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"YE",967,"00","0",,,"0",,,,[[,"([1-7])(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-6]|7[24-68]"],"0$1"],[,"(7\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["7[0137]"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],YT:[,[,,"(?:(?:26|63)9|80\\d)\\d{6}",,,,,,,[9]],[,,"269(?:0[67]|5[01]|6\\d|[78]0)\\d{4}",,,,"269601234"],[,,"639(?:0[0-79]|1[019]|[267]\\d|3[09]|[45]0|9[04-79])\\d{4}",,,,"639012345"],[,,"80\\d{7}",,,,"801234567"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"YT",262,"00","0",,,"0",,,,,,[,,,,,,,,,[-1]],,"269|63",[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ZA:[,[,,"[1-9]\\d{8}|8\\d{4,7}",,,,,,,[5,6,7,8,9]],[,,"(?:1[0-8]|2[1-378]|3[1-69]|4\\d|5[1346-8])\\d{7}",,,,"101234567",,,[9]],[,,"(?:6\\d|7[0-46-9])\\d{7}|8(?:[1-4]\\d{1,5}|5\\d{5})\\d{2}",,,,"711234567"],[,,"80\\d{7}",,,,"801234567",,,[9]],[,,"86[2-9]\\d{6}|9[0-2]\\d{7}",,,,"862345678",,,[9]],[,,"860\\d{6}",,,,"860123456",,,[9]],[,,,,,,,,,[-1]],[,,"87\\d{7}",,,,"871234567",,,[9]],"ZA",27,"00","0",,,"0",,,,[[,"(860)(\\d{3})(\\d{3})","$1 $2 $3",["860"],"0$1"],[,"(\\d{2})(\\d{3,4})","$1 $2",["8[1-4]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["8[1-4]"],"0$1"],[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-79]|8(?:[0-57]|6[1-9])"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"861\\d{6}",,,,"861123456",,,[9]],,,[,,,,,,,,,[-1]]],ZM:[,[,,"(?:(?:21|9\\d)\\d|800)\\d{6}",,,,,,,[9],[6,7]],[,,"21[1-8]\\d{6}",,,,"211234567",,,,[6,7]],[,,"9[4-9]\\d{7}",,,,"955123456"],[,,"800\\d{6}",,,,"800123456"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"ZM",260,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{4})","$1 $2",,"$1"],[,"([1-8])(\\d{2})(\\d{4})","$1 $2 $3",["[1-8]"],"$1"],[,"([29]\\d)(\\d{7})","$1 $2",["[29]"],"0$1"],[,"(800)(\\d{3})(\\d{3})","$1 $2 $3",["800"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],ZW:[,[,,"2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{7})|(?:[38]\\d|7)\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}",,,,,,,[5,6,7,8,9,10],[3,4]],[,,"(?:2(?:0(?:4\\d|5\\d{2})|2[278]\\d|48\\d|7(?:[1-7]\\d|[089]\\d{2})|8(?:[2-57-9]|[146]\\d{2})|98)|3(?:08|17|3[78]|7(?:[19]|[56]\\d)|8[37]|98)|5[15][78]|6(?:28\\d{2}|37|6[78]|75\\d|98|8(?:7\\d|8)))\\d{3}|(?:2(?:1[39]|2[0157]|31|[56][14]|7[35]|84)|329)\\d{7}|(?:1(?:3\\d{2}|[4-8]|9\\d)|2(?:0\\d{2}|12|292|[569]\\d)|3(?:[26]|[013459]\\d)|5(?:0|1[2-4]|26|[37]2|5\\d{2}|[689]\\d)|6(?:[39]|[01246]\\d|[78]\\d{2}))\\d{3}|(?:29\\d|39|54)\\d{6}|(?:(?:25|54)83\\d|2582\\d{2}|65[2-8])\\d{2}|(?:4\\d{6,7}|9[2-9]\\d{4,5})",,,,"1312345",,,,[3,4]],[,,"(?:7(?:1\\d|3[2-9]|7[1-9]|8[2-5])|8644)\\d{6}",,,,"712345678",,,[9,10]],[,,"80(?:[01]\\d|20|8[0-8])\\d{3}",,,,"8001234",,,[7]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"86(?:1[12]|30|55|77|8[368])\\d{6}",,,,"8686123456",,,[10]],"ZW",263,"00","0",,,"0",,,,[[,"([49])(\\d{3})(\\d{2,4})","$1 $2 $3",["4|9[2-9]"],"0$1"],[,"(7\\d)(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],[,"(86\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["86[24]"],"0$1"],[,"([2356]\\d{2})(\\d{3,5})","$1 $2",["2(?:0[45]|2[278]|[49]8|[78])|3(?:[09]8|17|3[78]|7[1569]|8[37])|5[15][78]|6(?:[29]8|37|[68][78]|75)"],"0$1"],[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:1[39]|2[0157]|31|[56][14]|7[35]|84)|329"],"0$1"],[,"([1-356]\\d)(\\d{3,5})","$1 $2",["1[3-9]|2[02569]|3[0-69]|5[05689]|6"],"0$1"],[,"([235]\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[23]9|54"],"0$1"],[,"([25]\\d{3})(\\d{3,5})","$1 $2",["(?:25|54)8","258[23]|5483"],"0$1"],[,"(8\\d{3})(\\d{6})","$1 $2",["86"],"0$1"],[,"(80\\d)(\\d{4})","$1 $2",["80"],"0$1"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],800:[,[,,"\\d{8}",,,,,,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"\\d{8}",,,,"12345678"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"001",800,,,,,,,,1,[[,"(\\d{4})(\\d{4})","$1 $2"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],808:[,[,,"\\d{8}",,,,,,,[8]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"\\d{8}",,,,"12345678"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"001",808,,,,,,,,1,[[,"(\\d{4})(\\d{4})","$1 $2"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],870:[,[,,"[35-7]\\d{8}",,,,,,,[9]],[,,,,,,,,,[-1]],[,,"(?:[356]\\d|7[6-8])\\d{7}",,,,"301234567"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"001",870,,,,,,,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],878:[,[,,"10\\d{10}",,,,,,,[12]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"10\\d{10}",,,,"101234567890"],"001",878,,,,,,,,1,[[,"(\\d{2})(\\d{5})(\\d{5})","$1 $2 $3"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],881:[,[,,"[67]\\d{8}",,,,,,,[9]],[,,,,,,,,,[-1]],[,,"[67]\\d{8}",,,,"612345678"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"001",881,,,,,,,,,[[,"(\\d)(\\d{3})(\\d{5})","$1 $2 $3",["[67]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],882:[,[,,"[13]\\d{6}(?:\\d{2,5})?|1\\d{7}",,,,,,,[7,8,9,10,11,12]],[,,,,,,,,,[-1]],[,,"3(?:2\\d{3}|37\\d{2}|4(?:2|7\\d{3}))\\d{4}",,,,"3421234",,,[7,9,10]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15678]|9[0689])\\d{4}|6\\d{5,10})|3(?:45|9\\d{3})\\d{7}",,,,"390123456789"],"001",882,,,,,,,,,[[,"(\\d{2})(\\d{4})(\\d{3})","$1 $2 $3",["3[23]"]],[,"(\\d{2})(\\d{5})","$1 $2",["16|342"]],[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["34[57]"]],[,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["348"]],[,"(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["1"]],[,"(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["16"]],[,"(\\d{2})(\\d{4,5})(\\d{5})","$1 $2 $3",["16|39"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,"348[57]\\d{7}",,,,"34851234567",,,[11]]],883:[,[,,"51\\d{7}(?:\\d{3})?",,,,,,,[9,12]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"51(?:00\\d{5}
1(?:\\d{3})?|[13]0\\d{8})",,,,"510012345"],"001",883,,,,,,,,1,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["510"]],[,"(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["510"]],[,"(\\d{4})(\\d{4})(\\d{4})","$1 $2 $3",["51[13]"]]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]],888:[,[,,"\\d{11}",,,,,,,[11]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"001",888,,,,,,,,1,[[,"(\\d{3})(\\d{3})(\\d{5})","$1 $2 $3"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,"\\d{11}",,,,"12345678901"],,,[,,,,,,,,,[-1]]],979:[,[,,"\\d{9}",,,,,,,[9]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,"\\d{9}",,,,"123456789"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],"001",979,,,,,,,,1,[[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3"]],,[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,,[,,,,,,,,,[-1]]]};function M(){this.a={}}M.c=void 0,M.a=function(){return M.c?M.c:M.c=new M};var xa={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","ï¼":"0","ï¼":"1","ï¼":"2","ï¼":"3","ï¼":"4","ï¼":"5","ï¼":"6","ï¼":"7","ï¼":"8","ï¼":"9","Ù ":"0","Ù¡":"1","Ù¢":"2","Ù£":"3","Ù¤":"4","Ù¥":"5","Ù¦":"6","Ù§":"7","Ù¨":"8","Ù©":"9","Û°":"0","Û±":"1","Û²":"2","Û³":"3","Û´":"4","Ûµ":"5","Û¶":"6","Û·":"7","Û¸":"8","Û¹":"9"},ya={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","ï¼":"0","ï¼":"1","ï¼":"2","ï¼":"3","ï¼":"4","ï¼":"5","ï¼":"6","ï¼":"7","ï¼":"8","ï¼":"9","Ù ":"0","Ù¡":"1","Ù¢":"2","Ù£":"3","Ù¤":"4","Ù¥":"5","Ù¦":"6","Ù§":"7","Ù¨":"8","Ù©":"9","Û°":"0","Û±":"1","Û²":"2","Û³":"3","Û´":"4","Ûµ":"5","Û¶":"6","Û·":"7","Û¸":"8","Û¹":"9",A:"2",B:"2",C:"2",D:"3",E:"3",F:"3",G:"4",H:"4",I:"4",J:"5",K:"5",L:"5",M:"6",N:"6",O:"6",P:"7",Q:"7",R:"7",S:"7",T:"8",U:"8",V:"8",W:"9",X:"9",Y:"9",Z:"9"},N=/^[+\uff0b]+/,za=/([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9])/,Aa=/[+\uff0b0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]/,Ba=/[\\\/] *x/,Ca=/[^0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9A-Za-z#]+$/,Da=/(?:.*?[A-Za-z]){3}.*/,Ea=/(?:;ext=([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})|[ \u00a0\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00f3))?n?|\uff45?\uff58\uff54\uff4e?|[;,x\uff58#\uff03~\uff5e]|int|anexo|\uff49\uff4e\uff54)[:\.\uff0e]?[ \u00a0\t,-]*([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})#?|[- ]+([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,5})#)$/i,Fa=/^[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{2}$|^[+\uff0b]*(?:[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\[\]/~\u2053\u223c\uff5e*]*[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]){3,}[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\[\]/~\u2053\u223c\uff5e*A-Za-z0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]*(?:;ext=([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})|[ \u00a0\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00f3))?n?|\uff45?\uff58\uff54\uff4e?|[;,x\uff58#\uff03~\uff5e]|int|anexo|\uff49\uff4e\uff54)[:\.\uff0e]?[ \u00a0\t,-]*([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})#?|[- ]+([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,5})#)?$/i,Ga=/(\$\d)/;function Ia(a){return!(a.length<2)&&O(Fa,a)}function Ja(a){return O(Da,a)?P(a,ya):P(a,xa)}function Ka(a){var b=Ja(a.toString());a.c="",a.a(b)}function La(a){return null!=a&&(1!=A(a,9)||-1!=w(a,9)[0])}function P(a,b){for(var d,c=new F,e=a.length,f=0;f<e;++f)null!=(d=b[(d=a.charAt(f)).toUpperCase()])&&c.a(d);return c.toString()}function Q(a){return null!=a&&isNaN(a)&&a.toUpperCase()in wa}function Ma(a,b,c){if(0==t(b,2)&&null!=b.a[5]){var d=y(b,5);if(0<d.length)return d}d=y(b,1);var e=R(b);if(0==c)return Na(d,0,e,"");if(!(d in K))return e;a=S(a,d,T(d)),b=null!=b.a[3]&&0!=t(b,3).length?3==c?";ext="+t(b,3):null!=a.a[13]?t(a,13)+y(b,3):" ext. "+y(b,3):"";a:{for(var f,g=(a=0==w(a,20).length||2==c?w(a,19):w(a,20)).length,h=0;h<g;++h){var l=A(f=a[h],3);if((0==l||0==e.search(t(f,3,l-1)))&&O(l=new RegExp(t(f,1)),e)){a=f;break a}}a=null}return null!=a&&(a=y(g=a,2),f=new RegExp(t(g,1)),y(g,5),g=y(g,4),e=2==c&&null!=g&&0<g.length?e.replace(f,a.replace(Ga,g)):e.replace(f,a),3==c&&(e=(e=e.replace(/^[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\[\]/~\u2053\u223c\uff5e]+/,"")).replace(/[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\[\]/~\u2053\u223c\uff5e]+/g,"-"))),Na(d,c,e,b)}function S(a,b,c){return U(a,"001"==c?""+b:c)}function R(a){if(null==a.a[2])return"";var b=""+t(a,2);return null!=a.a[4]&&t(a,4)&&0<y(a,8)?Array(y(a,8)+1).join("0")+b:b}function Na(a,b,c,d){switch(b){case 0:return"+"+a+c+d;case 1:return"+"+a+" "+c+d;case 3:return"tel:+"+a+"-"+c+d;default:return c+d}}function V(a,b){switch(b){case 4:return t(a,5);case 3:return t(a,4);case 1:return t(a,3);case 0:case 2:return t(a,2);case 5:return t(a,6);case 6:return t(a,8);case 7:return t(a,7);case 8:return t(a,21);case 9:return t(a,25);case 10:return t(a,28);default:return t(a,1)}}function W(a,b){return X(a,t(b,1))?X(a,t(b,5))?4:X(a,t(b,4))?3:X(a,t(b,6))?5:X(a,t(b,8))?6:X(a,t(b,7))?7:X(a,t(b,21))?8:X(a,t(b,25))?9:X(a,t(b,28))?10:X(a,t(b,2))?t(b,18)||X(a,t(b,3))?2:0:!t(b,18)&&X(a,t(b,3))?1:-1:-1}function U(a,b){if(null==b)return null;b=b.toUpperCase();var c=a.a[b];if(null==c){if(null==(c=wa[b]))return null;c=(new E).a(I.f(),c),a.a[b]=c}return c}function X(a,b){var c=a.length;return!(0<A(b,9)&&-1==p(w(b,9),c))&&O(y(b,2),a)}function Oa(a,b){if(null==b)return null;var c=y(b,1);if(null==(c=K[c]))a=null;else if(1==c.length)a=c[0];else a:{b=R(b);for(var d,e=c.length,f=0;f<e;f++){var g=U(a,d=c[f]);if(null!=g.a[23]){if(0==b.search(t(g,23))){a=d;break a}}else if(-1!=W(b,g)){a=d;break a}}a=null}return a}function T(a){return null==(a=K[a])?"ZZ":a[0]}function Y(a,b,c,d){var e=V(c,d),f=0==A(e,9)?w(t(c,1),9):w(e,9);if(e=w(e,10),2==d){if(!La(V(c,0)))return Y(a,b,c,1);La(a=V(c,1))&&(q(f=f.concat(0==A(a,9)?w(t(c,1),9):w(a,9))),0==e.length?e=w(a,10):q(e=e.concat(w(a,10))))}return-1==f[0]?5:(b=b.length,-1<p(e,b)?4:(c=f[0])==b?0:b<c?2:f[f.length-1]<b?3:-1<p(f,b,1)?0:5)}function Pa(a,b){var c=R(b);return(b=y(b,1))in K?Y(a,c,b=S(a,b,T(b)),-1):1}function Qa(a,b,c,d,e,f){if(0==b.length)return 0;var g;b=new F(b),null!=c&&(g=t(c,11)),null==g&&(g="NonMatch");var h=b.toString();if(0==h.length)g=20;else if(N.test(h))h=h.replace(N,""),b.c="",b.a(Ja(h)),g=1;else{if(h=new RegExp(g),Ka(b),0==(g=b.toString()).search(h)){h=g.match(h)[0].length;var l=g.substring(h).match(za);g=!(l&&null!=l[1]&&0<l[1].length&&"0"==P(l[1],xa))&&(b.c="",b.a(g.substring(h)),!0)}else g=!1;g=g?5:20}if(e&&u(f,6,g),20==g)return null!=c&&(h=""+(g=y(c,10)),0==(l=b.toString()).lastIndexOf(h,0)&&(h=new F(l.substring(h.length)),l=t(c,1),l=new RegExp(y(l,2)),Ra(h,c,null),h=h.toString(),!O(l,b.toString())&&O(l,h)||3==Y(a,b.toString(),c,-1)))?(d.a(h),e&&u(f,6,10),u(f,1,g),g):(u(f,1,0),0);if(b.c.length<=2)throw Error("Phone number too short after IDD");a:{if(0!=(a=b.toString()).length&&"0"!=a.charAt(0))for(e=a.length,b=1;b<=3&&b<=e;++b)if((c=parseInt(a.substring(0,b),10))in K){d.a(a.substring(b)),d=c;break a}d=0}if(0!=d)return u(f,1,d),d;throw Error("Invalid country calling code")}function Ra(a,b,c){var d=a.toString(),e=d.length,f=t(b,15);if(0!=e&&null!=f&&0!=f.length){var g=new RegExp("^(?:"+f+")");if(e=g.exec(d)){var h=O(f=new RegExp(y(t(b,1),2)),d),l=e.length-1;null==(b=t(b,16))||0==b.length||null==e[l]||0==e[l].length?h&&!O(f,d.substring(e[0].length))||(null!=c&&0<l&&null!=e[l]&&c.a(e[1]),a.set(d.substring(e[0].length))):(d=d.replace(g,b),(!h||O(f,d))&&(null!=c&&0<l&&c.a(e[1]),a.set(d)))}}}function Z(a,b,c){if(!Q(c)&&0<b.length&&"+"!=b.charAt(0))throw Error("Invalid country calling code");return Sa(a,b,c,!0)}function Sa(a,b,c,d){if(null==b)throw Error("The string supplied did not seem to be a phone number");if(250<b.length)throw Error("The string supplied is too long to be a phone number");var e=new F,f=b.indexOf(";phone-context=");if(0<=f){var g=f+15;if("+"==b.charAt(g)){var h=b.indexOf(";",g);0<h?e.a(b.substring(g,h)):e.a(b.substring(g))}g=b.indexOf("tel:"),e.a(b.substring(0<=g?g+4:0,f))}else e.a(function(a){var b=a.search(Aa);return 0<=b?0<=(b=(a=(a=a.substring(b)).replace(Ca,"")).search(Ba))&&(a=a.substring(0,b)):a="",a}(b));if(0<(g=(f=e.toString()).indexOf(";isub="))&&(e.c="",e.a(f.substring(0,g))),!Ia(e.toString()))throw Error("The string supplied did not seem to be a phone number");if(f=e.toString(),!(Q(c)||null!=f&&0<f.length&&N.test(f)))throw Error("Invalid country calling code");f=new J,d&&u(f,5,b);a:{if(0<=(g=(b=e.toString()).search(Ea))&&Ia(b.substring(0,g)))for(var l=(h=b.match(Ea)).length,z=1;z<l;++z)if(null!=h[z]&&0<h[z].length){e.c="",e.a(b.substring(0,g)),b=h[z];break a}b=""}0<b.length&&u(f,3,b),g=U(a,c),b=new F,h=0,l=e.toString();try{h=Qa(a,l,g,b,d,f)}catch(L){if("Invalid country calling code"!=L.message||!N.test(l))throw L;if(0==(h=Qa(a,l=l.replace(N,""),g,b,d,f)))throw L}if(0!=h?(e=T(h))!=c&&(g=S(a,h,e)):(Ka(e),b.a(e.toString()),null!=c?u(f,1,h=y(g,10)):d&&(delete f.a[6],f.c&&delete f.c[6])),b.c.length<2)throw Error("The string supplied is too short to be a phone number");if(null!=g&&(c=new F,Ra(e=new F(b.toString()),g,c),2!=(a=Y(a,e.toString(),g,-1))&&4!=a&&5!=a&&(b=e,d&&0<c.toString().length&&u(f,7,c.toString()))),(a=(d=b.toString()).length)<2)throw Error("The string supplied is too short to be a phone number");if(17<a)throw Error("The string supplied is too long to be a phone number");if(1<d.length&&"0"==d.charAt(0)){for(u(f,4,!0),a=1;a<d.length-1&&"0"==d.charAt(a);)a++;1!=a&&u(f,8,a)}return u(f,2,parseInt(d,10)),f}function O(a,b){return!(!(a="string"==typeof a?b.match("^(?:"+a+")$"):b.match(a))||a[0].length!=b.length)}m("intlTelInputUtils",{}),m("intlTelInputUtils.formatNumber",function(a,b,c){try{var d=M.a(),e=Z(d,a,b),f=Pa(d,e);return 0==f||4==f?Ma(d,e,void 0===c?0:c):a}catch(g){return a}}),m("intlTelInputUtils.getExampleNumber",function(a,b,c){try{var d=M.a();a:{if(Q(a)){var e=V(U(d,a),c);try{if(null!=e.a[6]){var g=Sa(d,t(e,6),a,!1);break a}}catch(h){}}g=null}return Ma(d,g,b?2:1)}catch(h){return""}}),m("intlTelInputUtils.getExtension",function(a,b){try{return t(Z(M.a(),a,b),3)}catch(c){return""}}),m("intlTelInputUtils.getNumberType",function(a,b){try{var c=M.a(),d=Z(c,a,b),e=Oa(c,d),f=S(c,y(d,1),e);if(null==f)var g=-1;else g=W(R(d),f);return g}catch(l){return-99}}),m("intlTelInputUtils.getValidationError",function(a,b){try{var c=M.a();return Pa(c,Z(c,a,b))}catch(e){return"Invalid country calling code"==e.message?1:"The string supplied did not seem to be a phone number"==e.message?4:"Phone number too short after IDD"==e.message||"The string supplied is too short to be a phone number"==e?2:"The string supplied is too long to be a phone number"==e.message?3:-99}}),m("intlTelInputUtils.isValidNumber",function(a,b){try{var h,c=M.a(),d=Z(c,a,b),e=Oa(c,d),f=y(d,1),g=S(c,f,e);if(!(h=null==g)){var l;if(l="001"!=e){var z=U(c,e);if(null==z)throw Error("Invalid region code: "+e);l=f!=y(z,10)}h=l}if(h)var va=!1;else va=-1!=W(R(d),g);return va}catch(Ua){return!1}}),m("intlTelInputUtils.numberFormat",{E164:0,INTERNATIONAL:1,NATIONAL:2,RFC3966:3}),m("intlTelInputUtils.numberType",{FIXED_LINE:0,MOBILE:1,FIXED_LINE_OR_MOBILE:2,TOLL_FREE:3,PREMIUM_RATE:4,SHARED_COST:5,VOIP:6,PERSONAL_NUMBER:7,PAGER:8,UAN:9,VOICEMAIL:10,UNKNOWN:-1}),m("intlTelInputUtils.validationError",{IS_POSSIBLE:0,INVALID_COUNTRY_CODE:1,TOO_SHORT:2,TOO_LONG:3,NOT_A_NUMBER:4})}(),function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?module.exports=factory():"function"==typeof define&&define.amd?define(factory):global.moment=factory()}(this,function(){"use strict";var hookCallback,some;function hooks(){return hookCallback.apply(null,arguments)}function isArray(input){return input instanceof Array||"[object Array]"===Object.prototype.toString.call(input)}function isObject(input){return null!=input&&"[object Object]"===Object.prototype.toString.call(input)}function hasOwnProp(a,b){return Object.prototype.hasOwnProperty.call(a,b)}
vendor: 4,816 bytes, line 1
1function isObjectEmpty(obj){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(obj).length;var k;for(k in obj)if(hasOwnProp(obj,k))return!1;return!0}function isUndefined(input){return void 0===input}function isNumber(input){return"number"==typeof input||"[object Number]"===Object.prototype.toString.call(input)}function isDate(input){return input instanceof Date||"[object Date]"===Object.prototype.toString.call(input)}function map(arr,fn){var i,res=[],arrLen=arr.length;for(i=0;i<arrLen;++i)res.push(fn(arr[i],i));return res}function extend(a,b){for(var i in b)hasOwnProp(b,i)&&(a[i]=b[i]);return hasOwnProp(b,"toString")&&(a.toString=b.toString),hasOwnProp(b,"valueOf")&&(a.valueOf=b.valueOf),a}function createUTC(input,format,locale,strict){return createLocalOrUTC(input,format,locale,strict,!0).utc()}function getParsingFlags(m){return null==m._pf&&(m._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}),m._pf}function isValid(m){var flags=null,parsedParts=!1,isNowValid=m._d&&!isNaN(m._d.getTime());return isNowValid&&(flags=getParsingFlags(m),parsedParts=some.call(flags.parsedDateParts,function(i){return null!=i}),isNowValid=flags.overflow<0&&!flags.empty&&!flags.invalidEra&&!flags.invalidMonth&&!flags.invalidWeekday&&!flags.weekdayMismatch&&!flags.nullInput&&!flags.invalidFormat&&!flags.userInvalidated&&(!flags.meridiem||flags.meridiem&&parsedParts),m._strict&&(isNowValid=isNowValid&&0===flags.charsLeftOver&&0===flags.unusedTokens.length&&void 0===flags.bigHour)),null!=Object.isFrozen&&Object.isFrozen(m)?isNowValid:(m._isValid=isNowValid,m._isValid)}function createInvalid(flags){var m=createUTC(NaN);return null!=flags?extend(getParsingFlags(m),flags):getParsingFlags(m).userInvalidated=!0,m}some=Array.prototype.some?Array.prototype.some:function(fun){var i,t=Object(this),len=t.length>>>0;for(i=0;i<len;i++)if(i in t&&fun.call(this,t[i],i,t))return!0;return!1};var momentProperties=hooks.momentProperties=[],updateInProgress=!1;function copyConfig(to,from){var i,prop,val,momentPropertiesLen=momentProperties.length;if(isUndefined(from._isAMomentObject)||(to._isAMomentObject=from._isAMomentObject),isUndefined(from._i)||(to._i=from._i),isUndefined(from._f)||(to._f=from._f),isUndefined(from._l)||(to._l=from._l),isUndefined(from._strict)||(to._strict=from._strict),isUndefined(from._tzm)||(to._tzm=from._tzm),isUndefined(from._isUTC)||(to._isUTC=from._isUTC),isUndefined(from._offset)||(to._offset=from._offset),isUndefined(from._pf)||(to._pf=getParsingFlags(from)),isUndefined(from._locale)||(to._locale=from._locale),0<momentPropertiesLen)for(i=0;i<momentPropertiesLen;i++)isUndefined(val=from[prop=momentProperties[i]])||(to[prop]=val);return to}function Moment(config){copyConfig(this,config),this._d=new Date(null!=config._d?config._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===updateInProgress&&(updateInProgress=!0,hooks.updateOffset(this),updateInProgress=!1)}function isMoment(obj){return obj instanceof Moment||null!=obj&&null!=obj._isAMomentObject}function warn(msg){!1===hooks.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+msg)}function deprecate(msg,fn){var firstTime=!0;return extend(function(){if(null!=hooks.deprecationHandler&&hooks.deprecationHandler(null,msg),firstTime){var arg,i,key,args=[],argLen=arguments.length;for(i=0;i<argLen;i++){if(arg="","object"==typeof arguments[i]){for(key in arg+="\n["+i+"] ",arguments[0])hasOwnProp(arguments[0],key)&&(arg+=key+": "+arguments[0][key]+", ");arg=arg.slice(0,-2)}else arg=arguments[i];args.push(arg)}warn(msg+"\nArguments: "+Array.prototype.slice.call(args).join("")+"\n"+(new Error).stack),firstTime=!1}return fn.apply(this,arguments)},fn)}var keys,deprecations={};function deprecateSimple(name,msg){null!=hooks.deprecationHandler&&hooks.deprecationHandler(name,msg),deprecations[name]||(warn(msg),deprecations[name]=!0)}function isFunction(input){return"undefined"!=typeof Function&&input instanceof Function||"[object Function]"===Object.prototype.toString.call(input)}function mergeConfigs(parentConfig,childConfig){var prop,res=extend({},parentConfig);for(prop in childConfig)hasOwnProp(childConfig,prop)&&(isObject(parentConfig[prop])&&isObject(childConfig[prop])?(res[prop]={},extend(res[prop],parentConfig[prop]),extend(res[prop],childConfig[prop])):null!=childConfig[prop]?res[prop]=childConfig[prop]:delete res[prop]);for(prop in parentConfig)hasOwnProp(parentConfig,prop)&&!hasOwnProp(childConfig,prop)&&isObject(parentConfig[prop])&&(res[prop]=extend({},res[prop]));return res}function Locale(config){null!=config&&this.set(config)}
vendor: 5,570 bytes, line 1
1hooks.suppressDeprecationWarnings=!1,hooks.deprecationHandler=null,keys=Object.keys?Object.keys:function(obj){var i,res=[];for(i in obj)hasOwnProp(obj,i)&&res.push(i);return res};function zeroFill(number,targetLength,forceSign){var absNumber=""+Math.abs(number),zerosToFill=targetLength-absNumber.length;return(0<=number?forceSign?"+":"":"-")+Math.pow(10,Math.max(0,zerosToFill)).toString().substr(1)+absNumber}var formattingTokens=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,localFormattingTokens=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,formatFunctions={},formatTokenFunctions={};function addFormatToken(token,padded,ordinal,callback){var func=callback;"string"==typeof callback&&(func=function(){return this[callback]()}),token&&(formatTokenFunctions[token]=func),padded&&(formatTokenFunctions[padded[0]]=function(){return zeroFill(func.apply(this,arguments),padded[1],padded[2])}),ordinal&&(formatTokenFunctions[ordinal]=function(){return this.localeData().ordinal(func.apply(this,arguments),token)})}function formatMoment(m,format){return m.isValid()?(format=expandFormat(format,m.localeData()),formatFunctions[format]=formatFunctions[format]||function(format){var i,length,input,array=format.match(formattingTokens);for(i=0,length=array.length;i<length;i++)formatTokenFunctions[array[i]]?array[i]=formatTokenFunctions[array[i]]:array[i]=(input=array[i]).match(/\[[\s\S]/)?input.replace(/^\[|\]$/g,""):input.replace(/\\/g,"");return function(mom){var i,output="";for(i=0;i<length;i++)output+=isFunction(array[i])?array[i].call(mom,format):array[i];return output}}(format),formatFunctions[format](m)):m.localeData().invalidDate()}function expandFormat(format,locale){var i=5;function replaceLongDateFormatTokens(input){return locale.longDateFormat(input)||input}for(localFormattingTokens.lastIndex=0;0<=i&&localFormattingTokens.test(format);)format=format.replace(localFormattingTokens,replaceLongDateFormatTokens),localFormattingTokens.lastIndex=0,i-=1;return format}var aliases={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function normalizeUnits(units){return"string"==typeof units?aliases[units]||aliases[units.toLowerCase()]:void 0}function normalizeObjectUnits(inputObject){var normalizedProp,prop,normalizedInput={};for(prop in inputObject)hasOwnProp(inputObject,prop)&&(normalizedProp=normalizeUnits(prop))&&(normalizedInput[normalizedProp]=inputObject[prop]);return normalizedInput}var priorities={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};var regexes,match1=/\d/,match2=/\d\d/,match3=/\d{3}/,match4=/\d{4}/,match6=/[+-]?\d{6}/,match1to2=/\d\d?/,match3to4=/\d\d\d\d?/,match5to6=/\d\d\d\d\d\d?/,match1to3=/\d{1,3}/,match1to4=/\d{1,4}/,match1to6=/[+-]?\d{1,6}/,matchUnsigned=/\d+/,matchSigned=/[+-]?\d+/,matchOffset=/Z|[+-]\d\d:?\d\d/gi,matchShortOffset=/Z|[+-]\d\d(?::?\d\d)?/gi,matchWord=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,match1to2NoLeadingZero=/^[1-9]\d?/,match1to2HasZero=/^([1-9]\d|\d)/;function addRegexToken(token,regex,strictRegex){regexes[token]=isFunction(regex)?regex:function(isStrict,localeData){return isStrict&&strictRegex?strictRegex:regex}}function getParseRegexForToken(token,config){return hasOwnProp(regexes,token)?regexes[token](config._strict,config._locale):new RegExp(regexEscape(token.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(matched,p1,p2,p3,p4){return p1||p2||p3||p4})))}function regexEscape(s){return s.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function absFloor(number){return number<0?Math.ceil(number)||0:Math.floor(number)}function toInt(argumentForCoercion){var coercedNumber=+argumentForCoercion,value=0;return 0!==coercedNumber&&isFinite(coercedNumber)&&(value=absFloor(coercedNumber)),value}regexes={};var tokens={};function addParseToken(token,callback){var i,tokenLen,func=callback;for("string"==typeof token&&(token=[token]),isNumber(callback)&&(func=function(input,array){array[callback]=toInt(input)}),tokenLen=token.length,i=0;i<tokenLen;i++)tokens[token[i]]=func}function addWeekParseToken(token,callback){addParseToken(token,function(input,array,config,token){config._w=config._w||{},callback(input,config._w,config,token)})}function addTimeToArrayFromToken(token,input,config){null!=input&&hasOwnProp(tokens,token)&&tokens[token](input,config._a,config,token)}function isLeapYear(year){return year%4==0&&year%100!=0||year%400==0}var YEAR=0,MONTH=1,DATE=2,HOUR=3,MINUTE=4,SECOND=5,MILLISECOND=6,WEEK=7,WEEKDAY=8;function daysInYear(year){return isLeapYear(year)?366:365}
vendor: 7,493 bytes, line 1
1addFormatToken("Y",0,0,function(){var y=this.year();return y<=9999?zeroFill(y,4):"+"+y}),addFormatToken(0,["YY",2],0,function(){return this.year()%100}),addFormatToken(0,["YYYY",4],0,"year"),addFormatToken(0,["YYYYY",5],0,"year"),addFormatToken(0,["YYYYYY",6,!0],0,"year"),addRegexToken("Y",matchSigned),addRegexToken("YY",match1to2,match2),addRegexToken("YYYY",match1to4,match4),addRegexToken("YYYYY",match1to6,match6),addRegexToken("YYYYYY",match1to6,match6),addParseToken(["YYYYY","YYYYYY"],YEAR),addParseToken("YYYY",function(input,array){array[YEAR]=2===input.length?hooks.parseTwoDigitYear(input):toInt(input)}),addParseToken("YY",function(input,array){array[YEAR]=hooks.parseTwoDigitYear(input)}),addParseToken("Y",function(input,array){array[YEAR]=parseInt(input,10)}),hooks.parseTwoDigitYear=function(input){return toInt(input)+(68<toInt(input)?1900:2e3)};var indexOf,getSetYear=makeGetSet("FullYear",!0);function makeGetSet(unit,keepTime){return function(value){return null!=value?(set$1(this,unit,value),hooks.updateOffset(this,keepTime),this):get(this,unit)}}function get(mom,unit){if(!mom.isValid())return NaN;var d=mom._d,isUTC=mom._isUTC;switch(unit){case"Milliseconds":return isUTC?d.getUTCMilliseconds():d.getMilliseconds();case"Seconds":return isUTC?d.getUTCSeconds():d.getSeconds();case"Minutes":return isUTC?d.getUTCMinutes():d.getMinutes();case"Hours":return isUTC?d.getUTCHours():d.getHours();case"Date":return isUTC?d.getUTCDate():d.getDate();case"Day":return isUTC?d.getUTCDay():d.getDay();case"Month":return isUTC?d.getUTCMonth():d.getMonth();case"FullYear":return isUTC?d.getUTCFullYear():d.getFullYear();default:return NaN}}function set$1(mom,unit,value){var d,isUTC,year,month,date;if(mom.isValid()&&!isNaN(value)){switch(d=mom._d,isUTC=mom._isUTC,unit){case"Milliseconds":return void(isUTC?d.setUTCMilliseconds(value):d.setMilliseconds(value));case"Seconds":return void(isUTC?d.setUTCSeconds(value):d.setSeconds(value));case"Minutes":return void(isUTC?d.setUTCMinutes(value):d.setMinutes(value));case"Hours":return void(isUTC?d.setUTCHours(value):d.setHours(value));case"Date":return void(isUTC?d.setUTCDate(value):d.setDate(value));case"FullYear":break;default:return}year=value,month=mom.month(),date=29!==(date=mom.date())||1!==month||isLeapYear(year)?date:28,isUTC?d.setUTCFullYear(year,month,date):d.setFullYear(year,month,date)}}function daysInMonth(year,month){if(isNaN(year)||isNaN(month))return NaN;var x,modMonth=(month%(x=12)+x)%x;return year+=(month-modMonth)/12,1===modMonth?isLeapYear(year)?29:28:31-modMonth%7%2}indexOf=Array.prototype.indexOf?Array.prototype.indexOf:function(o){var i;for(i=0;i<this.length;++i)if(this[i]===o)return i;return-1},addFormatToken("M",["MM",2],"Mo",function(){return this.month()+1}),addFormatToken("MMM",0,0,function(format){return this.localeData().monthsShort(this,format)}),addFormatToken("MMMM",0,0,function(format){return this.localeData().months(this,format)}),addRegexToken("M",match1to2,match1to2NoLeadingZero),addRegexToken("MM",match1to2,match2),addRegexToken("MMM",function(isStrict,locale){return locale.monthsShortRegex(isStrict)}),addRegexToken("MMMM",function(isStrict,locale){return locale.monthsRegex(isStrict)}),addParseToken(["M","MM"],function(input,array){array[MONTH]=toInt(input)-1}),addParseToken(["MMM","MMMM"],function(input,array,config,token){var month=config._locale.monthsParse(input,token,config._strict);null!=month?array[MONTH]=month:getParsingFlags(config).invalidMonth=input});var defaultLocaleMonths="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),defaultLocaleMonthsShort="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),MONTHS_IN_FORMAT=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,defaultMonthsShortRegex=matchWord,defaultMonthsRegex=matchWord;function setMonth(mom,value){if(!mom.isValid())return mom;if("string"==typeof value)if(/^\d+$/.test(value))value=toInt(value);else if(!isNumber(value=mom.localeData().monthsParse(value)))return mom;var month=value,date=mom.date();return date=date<29?date:Math.min(date,daysInMonth(mom.year(),month)),mom._isUTC?mom._d.setUTCMonth(month,date):mom._d.setMonth(month,date),mom}function getSetMonth(value){return null!=value?(setMonth(this,value),hooks.updateOffset(this,!0),this):get(this,"Month")}function computeMonthsParse(){function cmpLenRev(a,b){return b.length-a.length}var i,mom,shortP,longP,shortPieces=[],longPieces=[],mixedPieces=[];for(i=0;i<12;i++)mom=createUTC([2e3,i]),shortP=regexEscape(this.monthsShort(mom,"")),longP=regexEscape(this.months(mom,"")),shortPieces.push(shortP),longPieces.push(longP),mixedPieces.push(longP),mixedPieces.push(shortP);shortPieces.sort(cmpLenRev),longPieces.sort(cmpLenRev),mixedPieces.sort(cmpLenRev),this._monthsRegex=new RegExp("^("+mixedPieces.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+longPieces.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+shortPieces.join("|")+")","i")}function createUTCDate(y){var date,args;return y<100&&0<=y?((args=Array.prototype.slice.call(arguments))[0]=y+400,date=new Date(Date.UTC.apply(null,args)),isFinite(date.getUTCFullYear())&&date.setUTCFullYear(y)):date=new Date(Date.UTC.apply(null,arguments)),date}function firstWeekOffset(year,dow,doy){var fwd=7+dow-doy;return-((7+createUTCDate(year,0,fwd).getUTCDay()-dow)%7)+fwd-1}function dayOfYearFromWeeks(year,week,weekday,dow,doy){var resYear,resDayOfYear,dayOfYear=1+7*(week-1)+(7+weekday-dow)%7+firstWeekOffset(year,dow,doy);return resDayOfYear=dayOfYear<=0?daysInYear(resYear=year-1)+dayOfYear:dayOfYear>daysInYear(year)?(resYear=year+1,dayOfYear-daysInYear(year)):(resYear=year,dayOfYear),{year:resYear,dayOfYear:resDayOfYear}}function weekOfYear(mom,dow,doy){var resWeek,resYear,weekOffset=firstWeekOffset(mom.year(),dow,doy),week=Math.floor((mom.dayOfYear()-weekOffset-1)/7)+1;return week<1?resWeek=week+weeksInYear(resYear=mom.year()-1,dow,doy):week>weeksInYear(mom.year(),dow,doy)?(resWeek=week-weeksInYear(mom.year(),dow,doy),resYear=mom.year()+1):(resYear=mom.year(),resWeek=week),{week:resWeek,year:resYear}}function weeksInYear(year,dow,doy){var weekOffset=firstWeekOffset(year,dow,doy),weekOffsetNext=firstWeekOffset(year+1,dow,doy);return(daysInYear(year)-weekOffset+weekOffsetNext)/7}addFormatToken("w",["ww",2],"wo","week"),addFormatToken("W",["WW",2],"Wo","isoWeek"),addRegexToken("w",match1to2,match1to2NoLeadingZero),addRegexToken("ww",match1to2,match2),addRegexToken("W",match1to2,match1to2NoLeadingZero),addRegexToken("WW",match1to2,match2),addWeekParseToken(["w","ww","W","WW"],function(input,week,config,token){week[token.substr(0,1)]=toInt(input)});function shiftWeekdays(ws,n){return ws.slice(n,7).concat(ws.slice(0,n))}addFormatToken("d",0,"do","day"),addFormatToken("dd",0,0,function(format){return this.localeData().weekdaysMin(this,format)}),addFormatToken("ddd",0,0,function(format){return this.localeData().weekdaysShort(this,format)}),addFormatToken("dddd",0,0,function(format){return this.localeData().weekdays(this,format)}),addFormatToken("e",0,0,"weekday"),addFormatToken("E",0,0,"isoWeekday"),addRegexToken("d",match1to2),addRegexToken("e",match1to2),addRegexToken("E",match1to2),addRegexToken("dd",function(isStrict,locale){return locale.weekdaysMinRegex(isStrict)}),addRegexToken("ddd",function(isStrict,locale){return locale.weekdaysShortRegex(isStrict)}),addRegexToken("dddd",function(isStrict,locale){return locale.weekdaysRegex(isStrict)}
vendor: 5,503 bytes, line 1
1),addWeekParseToken(["dd","ddd","dddd"],function(input,week,config,token){var weekday=config._locale.weekdaysParse(input,token,config._strict);null!=weekday?week.d=weekday:getParsingFlags(config).invalidWeekday=input}),addWeekParseToken(["d","e","E"],function(input,week,config,token){week[token]=toInt(input)});var defaultLocaleWeekdays="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),defaultLocaleWeekdaysShort="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),defaultLocaleWeekdaysMin="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),defaultWeekdaysRegex=matchWord,defaultWeekdaysShortRegex=matchWord,defaultWeekdaysMinRegex=matchWord;function computeWeekdaysParse(){function cmpLenRev(a,b){return b.length-a.length}var i,mom,minp,shortp,longp,minPieces=[],shortPieces=[],longPieces=[],mixedPieces=[];for(i=0;i<7;i++)mom=createUTC([2e3,1]).day(i),minp=regexEscape(this.weekdaysMin(mom,"")),shortp=regexEscape(this.weekdaysShort(mom,"")),longp=regexEscape(this.weekdays(mom,"")),minPieces.push(minp),shortPieces.push(shortp),longPieces.push(longp),mixedPieces.push(minp),mixedPieces.push(shortp),mixedPieces.push(longp);minPieces.sort(cmpLenRev),shortPieces.sort(cmpLenRev),longPieces.sort(cmpLenRev),mixedPieces.sort(cmpLenRev),this._weekdaysRegex=new RegExp("^("+mixedPieces.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+longPieces.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+shortPieces.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+minPieces.join("|")+")","i")}function hFormat(){return this.hours()%12||12}function meridiem(token,lowercase){addFormatToken(token,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),lowercase)})}function matchMeridiem(isStrict,locale){return locale._meridiemParse}addFormatToken("H",["HH",2],0,"hour"),addFormatToken("h",["hh",2],0,hFormat),addFormatToken("k",["kk",2],0,function(){return this.hours()||24}),addFormatToken("hmm",0,0,function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)}),addFormatToken("hmmss",0,0,function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)}),addFormatToken("Hmm",0,0,function(){return""+this.hours()+zeroFill(this.minutes(),2)}),addFormatToken("Hmmss",0,0,function(){return""+this.hours()+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)}),meridiem("a",!0),meridiem("A",!1),addRegexToken("a",matchMeridiem),addRegexToken("A",matchMeridiem),addRegexToken("H",match1to2,match1to2HasZero),addRegexToken("h",match1to2,match1to2NoLeadingZero),addRegexToken("k",match1to2,match1to2NoLeadingZero),addRegexToken("HH",match1to2,match2),addRegexToken("hh",match1to2,match2),addRegexToken("kk",match1to2,match2),addRegexToken("hmm",match3to4),addRegexToken("hmmss",match5to6),addRegexToken("Hmm",match3to4),addRegexToken("Hmmss",match5to6),addParseToken(["H","HH"],HOUR),addParseToken(["k","kk"],function(input,array,config){var kInput=toInt(input);array[HOUR]=24===kInput?0:kInput}),addParseToken(["a","A"],function(input,array,config){config._isPm=config._locale.isPM(input),config._meridiem=input}),addParseToken(["h","hh"],function(input,array,config){array[HOUR]=toInt(input),getParsingFlags(config).bigHour=!0}),addParseToken("hmm",function(input,array,config){var pos=input.length-2;array[HOUR]=toInt(input.substr(0,pos)),array[MINUTE]=toInt(input.substr(pos)),getParsingFlags(config).bigHour=!0}),addParseToken("hmmss",function(input,array,config){var pos1=input.length-4,pos2=input.length-2;array[HOUR]=toInt(input.substr(0,pos1)),array[MINUTE]=toInt(input.substr(pos1,2)),array[SECOND]=toInt(input.substr(pos2)),getParsingFlags(config).bigHour=!0}),addParseToken("Hmm",function(input,array,config){var pos=input.length-2;array[HOUR]=toInt(input.substr(0,pos)),array[MINUTE]=toInt(input.substr(pos))}),addParseToken("Hmmss",function(input,array,config){var pos1=input.length-4,pos2=input.length-2;array[HOUR]=toInt(input.substr(0,pos1)),array[MINUTE]=toInt(input.substr(pos1,2)),array[SECOND]=toInt(input.substr(pos2))});var getSetHour=makeGetSet("Hours",!0);var globalLocale,baseConfig={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:defaultLocaleMonths,monthsShort:defaultLocaleMonthsShort,week:{dow:0,doy:6},weekdays:defaultLocaleWeekdays,weekdaysMin:defaultLocaleWeekdaysMin,weekdaysShort:defaultLocaleWeekdaysShort,meridiemParse:/[ap]\.?m?\.?/i},locales={},localeFamilies={};function commonPrefix(arr1,arr2){var i,minl=Math.min(arr1.length,arr2.length);for(i=0;i<minl;i+=1)if(arr1[i]!==arr2[i])return i;return minl}function normalizeLocale(key){return key?key.toLowerCase().replace("_","-"):key}function loadLocale(name){var oldLocale=null;if(void 0===locales[name]&&"undefined"!=typeof module&&module&&module.exports&&function(name){return!(!name||!name.match("^[^/\\\\]*$"))}(name))try{oldLocale=globalLocale._abbr,require("./locale/"+name),get
vendor: 4,771 bytes, line 1
1SetGlobalLocale(oldLocale)}catch(e){locales[name]=null}return locales[name]}function getSetGlobalLocale(key,values){var data;return key&&((data=isUndefined(values)?getLocale(key):defineLocale(key,values))?globalLocale=data:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+key+" not found. Did you forget to load it?")),globalLocale._abbr}function defineLocale(name,config){if(null===config)return delete locales[name],null;var locale,parentConfig=baseConfig;if(config.abbr=name,null!=locales[name])deprecateSimple("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),parentConfig=locales[name]._config;else if(null!=config.parentLocale)if(null!=locales[config.parentLocale])parentConfig=locales[config.parentLocale]._config;else{if(null==(locale=loadLocale(config.parentLocale)))return localeFamilies[config.parentLocale]||(localeFamilies[config.parentLocale]=[]),localeFamilies[config.parentLocale].push({name:name,config:config}),null;parentConfig=locale._config}return locales[name]=new Locale(mergeConfigs(parentConfig,config)),localeFamilies[name]&&localeFamilies[name].forEach(function(x){defineLocale(x.name,x.config)}),getSetGlobalLocale(name),locales[name]}function getLocale(key){var locale;if(key&&key._locale&&key._locale._abbr&&(key=key._locale._abbr),!key)return globalLocale;if(!isArray(key)){if(locale=loadLocale(key))return locale;key=[key]}return function(names){for(var j,next,locale,split,i=0;i<names.length;){for(j=(split=normalizeLocale(names[i]).split("-")).length,next=(next=normalizeLocale(names[i+1]))?next.split("-"):null;0<j;){if(locale=loadLocale(split.slice(0,j).join("-")))return locale;if(next&&next.length>=j&&commonPrefix(split,next)>=j-1)break;j--}i++}return globalLocale}(key)}function checkOverflow(m){var overflow,a=m._a;return a&&-2===getParsingFlags(m).overflow&&(overflow=a[MONTH]<0||11<a[MONTH]?MONTH:a[DATE]<1||a[DATE]>daysInMonth(a[YEAR],a[MONTH])?DATE:a[HOUR]<0||24<a[HOUR]||24===a[HOUR]&&(0!==a[MINUTE]||0!==a[SECOND]||0!==a[MILLISECOND])?HOUR:a[MINUTE]<0||59<a[MINUTE]?MINUTE:a[SECOND]<0||59<a[SECOND]?SECOND:a[MILLISECOND]<0||999<a[MILLISECOND]?MILLISECOND:-1,getParsingFlags(m)._overflowDayOfYear&&(overflow<YEAR||DATE<overflow)&&(overflow=DATE),getParsingFlags(m)._overflowWeeks&&-1===overflow&&(overflow=WEEK),getParsingFlags(m)._overflowWeekday&&-1===overflow&&(overflow=WEEKDAY),getParsingFlags(m).overflow=overflow),m}var extendedIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,basicIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,tzRegex=/Z|[+-]\d\d(?::?\d\d)?/,isoDates=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],isoTimes=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],aspNetJsonRegex=/^\/?Date\((-?\d+)/i,rfc2822=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,obsOffsets={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function configFromISO(config){var i,l,allowTime,dateFormat,timeFormat,tzFormat,string=config._i,match=extendedIsoRegex.exec(string)||basicIsoRegex.exec(string),isoDatesLen=isoDates.length,isoTimesLen=isoTimes.length;if(match){for(getParsingFlags(config).iso=!0,i=0,l=isoDatesLen;i<l;i++)if(isoDates[i][1].exec(match[1])){dateFormat=isoDates[i][0],allowTime=!1!==isoDates[i][2];break}if(null==dateFormat)return void(config._isValid=!1);if(match[3]){for(i=0,l=isoTimesLen;i<l;i++)if(isoTimes[i][1].exec(match[3])){timeFormat=(match[2]||" ")+isoTimes[i][0];break}if(null==timeFormat)return void(config._isValid=!1)}if(!allowTime&&null!=timeFormat)return void(config._isValid=!1);if(match[4]){if(!tzRegex.exec(match[4]))return void(config._isValid=!1);tzFormat="Z"}config._f=dateFormat+(timeFormat||"")+(tzFormat||""),configFromStringAndFormat(config)}
vendor: 4,103 bytes, line 1
1else config._isValid=!1}function extractFromRFC2822Strings(yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr){var result=[function(yearStr){var year=parseInt(yearStr,10);{if(year<=49)return 2e3+year;if(year<=999)return 1900+year}return year}(yearStr),defaultLocaleMonthsShort.indexOf(monthStr),parseInt(dayStr,10),parseInt(hourStr,10),parseInt(minuteStr,10)];return secondStr&&result.push(parseInt(secondStr,10)),result}function configFromRFC2822(config){var parsedArray,match=rfc2822.exec(config._i.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(match){if(parsedArray=extractFromRFC2822Strings(match[4],match[3],match[2],match[5],match[6],match[7]),!function(weekdayStr,parsedInput,config){return!weekdayStr||defaultLocaleWeekdaysShort.indexOf(weekdayStr)===new Date(parsedInput[0],parsedInput[1],parsedInput[2]).getDay()||(getParsingFlags(config).weekdayMismatch=!0,config._isValid=!1)}(match[1],parsedArray,config))return;config._a=parsedArray,config._tzm=function(obsOffset,militaryOffset,numOffset){if(obsOffset)return obsOffsets[obsOffset];if(militaryOffset)return 0;var hm=parseInt(numOffset,10),m=hm%100;return(hm-m)/100*60+m}(match[8],match[9],match[10]),config._d=createUTCDate.apply(null,config._a),config._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm),getParsingFlags(config).rfc2822=!0}else config._isValid=!1}function defaults(a,b,c){return null!=a?a:null!=b?b:c}function configFromArray(config){var i,date,currentDate,expectedWeekday,yearToUse,input=[];if(!config._d){for(currentDate=function(config){var nowValue=new Date(hooks.now());return config._useUTC?[nowValue.getUTCFullYear(),nowValue.getUTCMonth(),nowValue.getUTCDate()]:[nowValue.getFullYear(),nowValue.getMonth(),nowValue.getDate()]}(config),config._w&&null==config._a[DATE]&&null==config._a[MONTH]&&function(config){var w,weekYear,week,weekday,dow,doy,temp,weekdayOverflow,curWeek;null!=(w=config._w).GG||null!=w.W||null!=w.E?(dow=1,doy=4,weekYear=defaults(w.GG,config._a[YEAR],weekOfYear(createLocal(),1,4).year),week=defaults(w.W,1),((weekday=defaults(w.E,1))<1||7<weekday)&&(weekdayOverflow=!0)):(dow=config._locale._week.dow,doy=config._locale._week.doy,curWeek=weekOfYear(createLocal(),dow,doy),weekYear=defaults(w.gg,config._a[YEAR],curWeek.year),week=defaults(w.w,curWeek.week),null!=w.d?((weekday=w.d)<0||6<weekday)&&(weekdayOverflow=!0):null!=w.e?(weekday=w.e+dow,(w.e<0||6<w.e)&&(weekdayOverflow=!0)):weekday=dow);week<1||week>weeksInYear(weekYear,dow,doy)?getParsingFlags(config)._overflowWeeks=!0:null!=weekdayOverflow?getParsingFlags(config)._overflowWeekday=!0:(temp=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy),config._a[YEAR]=temp.year,config._dayOfYear=temp.dayOfYear)}(config),null!=config._dayOfYear&&(yearToUse=defaults(config._a[YEAR],currentDate[YEAR]),(config._dayOfYear>daysInYear(yearToUse)||0===config._dayOfYear)&&(getParsingFlags(config)._overflowDayOfYear=!0),date=createUTCDate(yearToUse,0,config._dayOfYear),config._a[MONTH]=date.getUTCMonth(),config._a[DATE]=date.getUTCDate()),i=0;i<3&&null==config._a[i];++i)config._a[i]=input[i]=currentDate[i];for(;i<7;i++)config._a[i]=input[i]=null==config._a[i]?2===i?1:0:config._a[i];24===config._a[HOUR]&&0===config._a[MINUTE]&&0===config._a[SECOND]&&0===config._a[MILLISECOND]&&(config._nextDay=!0,config._a[HOUR]=0),config._d=(config._useUTC?createUTCDate:function(y,m,d,h,M,s,ms){var date;return y<100&&0<=y?(date=new Date(y+400,m,d,h,M,s,ms),isFinite(date.getFullYear())&&date.setFullYear(y)):date=new Date(y,m,d,h,M,s,ms),date}).apply(null,input),expectedWeekday=config._useUTC?config._d.getUTCDay():config._d.getDay(),null!=config._tzm&&config._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm),config._nextDay&&(config._a[HOUR]=24),config._w&&void 0!==config._w.d&&config._w.d!==expectedWeekday&&(getParsingFlags(config).weekdayMismatch=!0)}}function configFromStringAndFormat(config){if(config._f!==hooks.ISO_8601)if(config._f!==hooks.RFC_2822){config._a=[],getParsingFlags(config).empty=!0;var i,parsedInput,tokens,token,skipped,era,tokenLen,string=""+config._i,str
vendor: 4,307 bytes, line 1
1ingLength=string.length,totalParsedInputLength=0;for(tokenLen=(tokens=expandFormat(config._f,config._locale).match(formattingTokens)||[]).length,i=0;i<tokenLen;i++)token=tokens[i],(parsedInput=(string.match(getParseRegexForToken(token,config))||[])[0])&&(0<(skipped=string.substr(0,string.indexOf(parsedInput))).length&&getParsingFlags(config).unusedInput.push(skipped),string=string.slice(string.indexOf(parsedInput)+parsedInput.length),totalParsedInputLength+=parsedInput.length),formatTokenFunctions[token]?(parsedInput?getParsingFlags(config).empty=!1:getParsingFlags(config).unusedTokens.push(token),addTimeToArrayFromToken(token,parsedInput,config)):config._strict&&!parsedInput&&getParsingFlags(config).unusedTokens.push(token);getParsingFlags(config).charsLeftOver=stringLength-totalParsedInputLength,0<string.length&&getParsingFlags(config).unusedInput.push(string),config._a[HOUR]<=12&&!0===getParsingFlags(config).bigHour&&0<config._a[HOUR]&&(getParsingFlags(config).bigHour=void 0),getParsingFlags(config).parsedDateParts=config._a.slice(0),getParsingFlags(config).meridiem=config._meridiem,config._a[HOUR]=function(locale,hour,meridiem){var isPm;if(null==meridiem)return hour;return null!=locale.meridiemHour?locale.meridiemHour(hour,meridiem):(null!=locale.isPM&&((isPm=locale.isPM(meridiem))&&hour<12&&(hour+=12),isPm||12!==hour||(hour=0)),hour)}(config._locale,config._a[HOUR],config._meridiem),null!==(era=getParsingFlags(config).era)&&(config._a[YEAR]=config._locale.erasConvertYear(era,config._a[YEAR])),configFromArray(config),checkOverflow(config)}else configFromRFC2822(config);else configFromISO(config)}function prepareConfig(config){var input=config._i,format=config._f;return config._locale=config._locale||getLocale(config._l),null===input||void 0===format&&""===input?createInvalid({nullInput:!0}):("string"==typeof input&&(config._i=input=config._locale.preparse(input)),isMoment(input)?new Moment(checkOverflow(input)):(isDate(input)?config._d=input:isArray(format)?function(config){var tempConfig,bestMoment,scoreToBeat,i,currentScore,validFormatFound,bestFormatIsValid=!1,configfLen=config._f.length;if(0===configfLen)return getParsingFlags(config).invalidFormat=!0,config._d=new Date(NaN);for(i=0;i<configfLen;i++)currentScore=0,validFormatFound=!1,tempConfig=copyConfig({},config),null!=config._useUTC&&(tempConfig._useUTC=config._useUTC),tempConfig._f=config._f[i],configFromStringAndFormat(tempConfig),isValid(tempConfig)&&(validFormatFound=!0),currentScore+=getParsingFlags(tempConfig).charsLeftOver,currentScore+=10*getParsingFlags(tempConfig).unusedTokens.length,getParsingFlags(tempConfig).score=currentScore,bestFormatIsValid?currentScore<scoreToBeat&&(scoreToBeat=currentScore,bestMoment=tempConfig):(null==scoreToBeat||currentScore<scoreToBeat||validFormatFound)&&(scoreToBeat=currentScore,bestMoment=tempConfig,validFormatFound&&(bestFormatIsValid=!0));extend(config,bestMoment||tempConfig)}(config):format?configFromStringAndFormat(config):function(config){var input=config._i;isUndefined(input)?config._d=new Date(hooks.now()):isDate(input)?config._d=new Date(input.valueOf()):"string"==typeof input?function(config){var matched=aspNetJsonRegex.exec(config._i);null===matched?(configFromISO(config),!1===config._isValid&&(delete config._isValid,configFromRFC2822(config),!1===config._isValid&&(delete config._isValid,config._strict?config._isValid=!1:hooks.createFromInputFallback(config)))):config._d=new Date(+matched[1])}(config):isArray(input)?(config._a=map(input.slice(0),function(obj){return parseInt(obj,10)}),configFromArray(config)):isObject(input)?function(config){if(!config._d){var i=normalizeObjectUnits(config._i),dayOrDate=void 0===i.day?i.date:i.day;config._a=map([i.year,i.month,dayOrDate,i.hour,i.minute,i.second,i.millisecond],function(obj){return obj&&parseInt(obj,10)}),configFromArray(config)}}(config):isNumber(input)?config._d=new Date(input):hooks.createFromInputFallback(config)}(config),isValid(config)||(config._d=null),config))}function createLocalOrUTC(input,format,locale,strict,isUTC){var res,c={};return!0!==format&&!1!==format||(strict=format,format=void 0),!0!==locale&&!1!==locale||(strict=locale,locale=void 0),(isObject(input)&&isObjectEmpty(input)||isArray(input)&&0===input.length)&&(input=void 0),c._isAMomentObject=!0,
vendor: 2,091 bytes, line 1
1c._useUTC=c._isUTC=isUTC,c._l=locale,c._i=input,c._f=format,c._strict=strict,(res=new Moment(checkOverflow(prepareConfig(c))))._nextDay&&(res.add(1,"d"),res._nextDay=void 0),res}function createLocal(input,format,locale,strict){return createLocalOrUTC(input,format,locale,strict,!1)}hooks.createFromInputFallback=deprecate("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(config){config._d=new Date(config._i+(config._useUTC?" UTC":""))}),hooks.ISO_8601=function(){},hooks.RFC_2822=function(){};var prototypeMin=deprecate("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var other=createLocal.apply(null,arguments);return this.isValid()&&other.isValid()?other<this?this:other:createInvalid()}),prototypeMax=deprecate("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var other=createLocal.apply(null,arguments);return this.isValid()&&other.isValid()?this<other?this:other:createInvalid()});function pickBy(fn,moments){var res,i;if(1===moments.length&&isArray(moments[0])&&(moments=moments[0]),!moments.length)return createLocal();for(res=moments[0],i=1;i<moments.length;++i)moments[i].isValid()&&!moments[i][fn](res)||(res=moments[i]);return res}var ordering=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Duration(duration){var normalizedInput=normalizeObjectUnits(duration),years=normalizedInput.year||0,quarters=normalizedInput.quarter||0,months=normalizedInput.month||0,weeks=normalizedInput.week||normalizedInput.isoWeek||0,days=normalizedInput.day||0,hours=normalizedInput.hour||0,minutes=normalizedInput.minute||0,seconds=normalizedInput.second||0,milliseconds=normalizedInput.millisecond||0;this._isValid=function(m){var key,i,unitHasDecimal=!1,orderLen=ordering.length;
vendor: 6,223 bytes, line 1
1for(key in m)if(hasOwnProp(m,key)&&(-1===indexOf.call(ordering,key)||null!=m[key]&&isNaN(m[key])))return!1;for(i=0;i<orderLen;++i)if(m[ordering[i]]){if(unitHasDecimal)return!1;parseFloat(m[ordering[i]])!==toInt(m[ordering[i]])&&(unitHasDecimal=!0)}return!0}(normalizedInput),this._milliseconds=+milliseconds+1e3*seconds+6e4*minutes+1e3*hours*60*60,this._days=+days+7*weeks,this._months=+months+3*quarters+12*years,this._data={},this._locale=getLocale(),this._bubble()}function isDuration(obj){return obj instanceof Duration}function absRound(number){return number<0?-1*Math.round(-1*number):Math.round(number)}function offset(token,separator){addFormatToken(token,0,0,function(){var offset=this.utcOffset(),sign="+";return offset<0&&(offset=-offset,sign="-"),sign+zeroFill(~~(offset/60),2)+separator+zeroFill(~~offset%60,2)})}offset("Z",":"),offset("ZZ",""),addRegexToken("Z",matchShortOffset),addRegexToken("ZZ",matchShortOffset),addParseToken(["Z","ZZ"],function(input,array,config){config._useUTC=!0,config._tzm=offsetFromString(matchShortOffset,input)});var chunkOffset=/([\+\-]|\d\d)/gi;function offsetFromString(matcher,string){var parts,minutes,matches=(string||"").match(matcher);return null===matches?null:0===(minutes=60*(parts=((matches[matches.length-1]||[])+"").match(chunkOffset)||["-",0,0])[1]+toInt(parts[2]))?0:"+"===parts[0]?minutes:-minutes}function cloneWithOffset(input,model){var res,diff;return model._isUTC?(res=model.clone(),diff=(isMoment(input)||isDate(input)?input.valueOf():createLocal(input).valueOf())-res.valueOf(),res._d.setTime(res._d.valueOf()+diff),hooks.updateOffset(res,!1),res):createLocal(input).local()}function getDateOffset(m){return-Math.round(m._d.getTimezoneOffset())}function isUtc(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}hooks.updateOffset=function(){};var aspNetRegex=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,isoRegex=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function createDuration(input,key){var sign,ret,diffRes,duration=input,match=null;return isDuration(input)?duration={ms:input._milliseconds,d:input._days,M:input._months}:isNumber(input)||!isNaN(+input)?(duration={},key?duration[key]=+input:duration.milliseconds=+input):(match=aspNetRegex.exec(input))?(sign="-"===match[1]?-1:1,duration={y:0,d:toInt(match[DATE])*sign,h:toInt(match[HOUR])*sign,m:toInt(match[MINUTE])*sign,s:toInt(match[SECOND])*sign,ms:toInt(absRound(1e3*match[MILLISECOND]))*sign}):(match=isoRegex.exec(input))?(sign="-"===match[1]?-1:1,duration={y:parseIso(match[2],sign),M:parseIso(match[3],sign),w:parseIso(match[4],sign),d:parseIso(match[5],sign),h:parseIso(match[6],sign),m:parseIso(match[7],sign),s:parseIso(match[8],sign)}):null==duration?duration={}:"object"==typeof duration&&("from"in duration||"to"in duration)&&(diffRes=function(base,other){var res;if(!base.isValid()||!other.isValid())return{milliseconds:0,months:0};other=cloneWithOffset(other,base),base.isBefore(other)?res=positiveMomentsDifference(base,other):((res=positiveMomentsDifference(other,base)).milliseconds=-res.milliseconds,res.months=-res.months);return res}(createLocal(duration.from),createLocal(duration.to)),(duration={}).ms=diffRes.milliseconds,duration.M=diffRes.months),ret=new Duration(duration),isDuration(input)&&hasOwnProp(input,"_locale")&&(ret._locale=input._locale),isDuration(input)&&hasOwnProp(input,"_isValid")&&(ret._isValid=input._isValid),ret}function parseIso(inp,sign){var res=inp&&parseFloat(inp.replace(",","."));return(isNaN(res)?0:res)*sign}function positiveMomentsDifference(base,other){var res={};return res.months=other.month()-base.month()+12*(other.year()-base.year()),base.clone().add(res.months,"M").isAfter(other)&&--res.months,res.milliseconds=+other-+base.clone().add(res.months,"M"),res}function createAdder(direction,name){return function(val,period){var tmp;return null===period||isNaN(+period)||(deprecateSimple(name,"moment()."+name+"(period, number) is deprecated. Please use moment()."+name+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),tmp=val,val=period,period=tmp),addSubtract(this,createDuration(val,period),direction),this}}function addSubtract(mom,duration,isAdding,updateOffset){var milliseconds=duration._milliseconds,days=absRound(duration._days),months=absRound(duration._months);mom.isValid()&&(updateOffset=null==updateOffset||updateOffset,months&&setMonth(mom,get(mom,"Month")+months*isAdding),days&&set$1(mom,"Date",get(mom,"Date")+days*isAdding),milliseconds&&mom._d.setTime(mom._d.valueOf()+milliseconds*isAdding),updateOffset&&hooks.updateOffset(mom,days||months))}createDuration.fn=Duration.prototype,createDuration.invalid=function(){return createDuration(NaN)};var add=createAdder(1,"add"),subtract=createAdder(-1,"subtract");function isString(input){return"string"==typeof input||input instanceof String}function isMomentInput(input){return isMoment(input)||isDate(input)||isString(input)||isNumber(input)||function(input){var arrayTest=isArray(input),dataTypeTest=!1;arrayTest&&(dataTypeTest=0===input.filter(function(item){return!isNumber(item)&&isString(input)}).length);return arrayTest&&dataTypeTest}(input)||function(input){var i,property,objectTest=isObject(input)&&!isObjectEmpty(input),propertyTest=!1,properties=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],propertyLen=properties.length;for(i=0;i<propertyLen;i+=1)property=properties[i],propertyTest=propertyTest||hasOwnProp(input,property);return objectTest&&propertyTest}(input)||null==input}function monthDiff(a,b){if(a.date()<b.date())return-monthDiff(b,a);var wholeMonthDiff=12*(b.year()-a.year())+(b.month()-a.month()),anchor=a.clone().add(wholeMonthDiff,"months");return-(wholeMonthDiff+(b-anchor<0?(b-anchor)/(anchor-a.clone().add(wholeMonthDiff-1,"months")):(b-anchor)/(a.clone().add(wholeMonthDiff+1,"months")-anchor)))||0}function locale(key){var newLocaleData;return void 0===key?this._locale._abbr:(null!=(newLocaleData=getLocale(key))&&
vendor: 4,148 bytes, line 1
1(this._locale=newLocaleData),this)}hooks.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",hooks.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var lang=deprecate("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(key){return void 0===key?this.localeData():this.locale(key)});function localeData(){return this._locale}var MS_PER_400_YEARS=126227808e5;function mod$1(dividend,divisor){return(dividend%divisor+divisor)%divisor}function localStartOfDate(y,m,d){return y<100&&0<=y?new Date(y+400,m,d)-MS_PER_400_YEARS:new Date(y,m,d).valueOf()}function utcStartOfDate(y,m,d){return y<100&&0<=y?Date.UTC(y+400,m,d)-MS_PER_400_YEARS:Date.UTC(y,m,d)}function matchEraAbbr(isStrict,locale){return locale.erasAbbrRegex(isStrict)}function computeErasParse(){var i,l,erasName,erasAbbr,erasNarrow,abbrPieces=[],namePieces=[],narrowPieces=[],mixedPieces=[],eras=this.eras();for(i=0,l=eras.length;i<l;++i)erasName=regexEscape(eras[i].name),erasAbbr=regexEscape(eras[i].abbr),erasNarrow=regexEscape(eras[i].narrow),namePieces.push(erasName),abbrPieces.push(erasAbbr),narrowPieces.push(erasNarrow),mixedPieces.push(erasName),mixedPieces.push(erasAbbr),mixedPieces.push(erasNarrow);this._erasRegex=new RegExp("^("+mixedPieces.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+namePieces.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+abbrPieces.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+narrowPieces.join("|")+")","i")}function addWeekYearFormatToken(token,getter){addFormatToken(0,[token,token.length],0,getter)}function getSetWeekYearHelper(input,week,weekday,dow,doy){var weeksTarget;return null==input?weekOfYear(this,dow,doy).year:((weeksTarget=weeksInYear(input,dow,doy))<week&&(week=weeksTarget),function(weekYear,week,weekday,dow,doy){var dayOfYearData=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy),date=createUTCDate(dayOfYearData.year,0,dayOfYearData.dayOfYear);return this.year(date.getUTCFullYear()),this.month(date.getUTCMonth()),this.date(date.getUTCDate()),this}.call(this,input,week,weekday,dow,doy))}addFormatToken("N",0,0,"eraAbbr"),addFormatToken("NN",0,0,"eraAbbr"),addFormatToken("NNN",0,0,"eraAbbr"),addFormatToken("NNNN",0,0,"eraName"),addFormatToken("NNNNN",0,0,"eraNarrow"),addFormatToken("y",["y",1],"yo","eraYear"),addFormatToken("y",["yy",2],0,"eraYear"),addFormatToken("y",["yyy",3],0,"eraYear"),addFormatToken("y",["yyyy",4],0,"eraYear"),addRegexToken("N",matchEraAbbr),addRegexToken("NN",matchEraAbbr),addRegexToken("NNN",matchEraAbbr),addRegexToken("NNNN",function(isStrict,locale){return locale.erasNameRegex(isStrict)}),addRegexToken("NNNNN",function(isStrict,locale){return locale.erasNarrowRegex(isStrict)}),addParseToken(["N","NN","NNN","NNNN","NNNNN"],function(input,array,config,token){var era=config._locale.erasParse(input,token,config._strict);era?getParsingFlags(config).era=era:getParsingFlags(config).invalidEra=input}),addRegexToken("y",matchUnsigned),addRegexToken("yy",matchUnsigned),addRegexToken("yyy",matchUnsigned),addRegexToken("yyyy",matchUnsigned),addRegexToken("yo",function(isStrict,locale){return locale._eraYearOrdinalRegex||matchUnsigned}),addParseToken(["y","yy","yyy","yyyy"],YEAR),addParseToken(["yo"],function(input,array,config,token){var match;config._locale._eraYearOrdinalRegex&&(match=input.match(config._locale._eraYearOrdinalRegex)),config._locale.eraYearOrdinalParse?array[YEAR]=config._locale.eraYearOrdinalParse(input,match):array[YEAR]=parseInt(input,10)}),addFormatToken(0,["gg",2],0,function(){return this.weekYear()%100}),addFormatToken(0,["GG",2],0,function(){return this.isoWeekYear()%100}),addWeekYearFormatToken("gggg","weekYear"),addWeekYearFormatToken("ggggg","weekYear"),addWeekYearFormatToken("GGGG","isoWeekYear"),addWeekYearFormatToken("GGGGG","isoWeekYear"),addRegexToken("G",matchSigned),addRegexToken("g",matchSigned),addRegexToken("GG",match1to2,match2),addRegexToken("gg",match1to2,match2),addRegexToken("GGGG",match1to4,match4),addRegexToken("gggg",match1to4,match4),addRegexToken("GGGGG",match1to6,match6),addRegexToken("ggggg",match1to6,match6),addWee
vendor: 4,190 bytes, line 1
1kParseToken(["gggg","ggggg","GGGG","GGGGG"],function(input,week,config,token){week[token.substr(0,2)]=toInt(input)}),addWeekParseToken(["gg","GG"],function(input,week,config,token){week[token]=hooks.parseTwoDigitYear(input)}),addFormatToken("Q",0,"Qo","quarter"),addRegexToken("Q",match1),addParseToken("Q",function(input,array){array[MONTH]=3*(toInt(input)-1)}),addFormatToken("D",["DD",2],"Do","date"),addRegexToken("D",match1to2,match1to2NoLeadingZero),addRegexToken("DD",match1to2,match2),addRegexToken("Do",function(isStrict,locale){return isStrict?locale._dayOfMonthOrdinalParse||locale._ordinalParse:locale._dayOfMonthOrdinalParseLenient}),addParseToken(["D","DD"],DATE),addParseToken("Do",function(input,array){array[DATE]=toInt(input.match(match1to2)[0])});var getSetDayOfMonth=makeGetSet("Date",!0);addFormatToken("DDD",["DDDD",3],"DDDo","dayOfYear"),addRegexToken("DDD",match1to3),addRegexToken("DDDD",match3),addParseToken(["DDD","DDDD"],function(input,array,config){config._dayOfYear=toInt(input)}),addFormatToken("m",["mm",2],0,"minute"),addRegexToken("m",match1to2,match1to2HasZero),addRegexToken("mm",match1to2,match2),addParseToken(["m","mm"],MINUTE);var getSetMinute=makeGetSet("Minutes",!1);addFormatToken("s",["ss",2],0,"second"),addRegexToken("s",match1to2,match1to2HasZero),addRegexToken("ss",match1to2,match2),addParseToken(["s","ss"],SECOND);var token,getSetMillisecond,getSetSecond=makeGetSet("Seconds",!1);for(addFormatToken("S",0,0,function(){return~~(this.millisecond()/100)}),addFormatToken(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),addFormatToken(0,["SSS",3],0,"millisecond"),addFormatToken(0,["SSSS",4],0,function(){return 10*this.millisecond()}),addFormatToken(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),addFormatToken(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),addFormatToken(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),addFormatToken(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),addFormatToken(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),addRegexToken("S",match1to3,match1),addRegexToken("SS",match1to3,match2),addRegexToken("SSS",match1to3,match3),token="SSSS";token.length<=9;token+="S")addRegexToken(token,matchUnsigned);function parseMs(input,array){array[MILLISECOND]=toInt(1e3*("0."+input))}for(token="S";token.length<=9;token+="S")addParseToken(token,parseMs);getSetMillisecond=makeGetSet("Milliseconds",!1),addFormatToken("z",0,0,"zoneAbbr"),addFormatToken("zz",0,0,"zoneName");var proto=Moment.prototype;function preParsePostFormat(string){return string}proto.add=add,proto.calendar=function(time,formats){1===arguments.length&&(arguments[0]?isMomentInput(arguments[0])?(time=arguments[0],formats=void 0):function(input){var i,objectTest=isObject(input)&&!isObjectEmpty(input),propertyTest=!1,properties=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"];for(i=0;i<properties.length;i+=1)propertyTest=propertyTest||hasOwnProp(input,properties[i]);return objectTest&&propertyTest}(arguments[0])&&(formats=arguments[0],time=void 0):formats=time=void 0);var now=time||createLocal(),sod=cloneWithOffset(now,this).startOf("day"),format=hooks.calendarFormat(this,sod)||"sameElse",output=formats&&(isFunction(formats[format])?formats[format].call(this,now):formats[format]);return this.format(output||this.localeData().calendar(format,this,createLocal(now)))},proto.clone=function(){return new Moment(this)},proto.diff=function(input,units,asFloat){var that,zoneDelta,output;if(!this.isValid())return NaN;if(!(that=cloneWithOffset(input,this)).isValid())return NaN;switch(zoneDelta=6e4*(that.utcOffset()-this.utcOffset()),units=normalizeUnits(units)){case"year":output=monthDiff(this,that)/12;break;case"month":output=monthDiff(this,that);break;case"quarter":output=monthDiff(this,that)/3;break;case"second":output=(this-that)/1e3;break;case"minute":output=(this-that)/6e4;break;case"hour":output=(this-that)/36e5;break;case"day":output=(this-that-zoneDelta)/864e5;break;case"week":output=(this-that-zoneDelta)/6048e5;break;default:output=this-that}return asFloat?output:absFloor(output)},proto.endOf=function(units){var time,startOfDate;
vendor: 4,336 bytes, line 1
1if(void 0===(units=normalizeUnits(units))||"millisecond"===units||!this.isValid())return this;switch(startOfDate=this._isUTC?utcStartOfDate:localStartOfDate,units){case"year":time=startOfDate(this.year()+1,0,1)-1;break;case"quarter":time=startOfDate(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":time=startOfDate(this.year(),this.month()+1,1)-1;break;case"week":time=startOfDate(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":time=startOfDate(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":time=startOfDate(this.year(),this.month(),this.date()+1)-1;break;case"hour":time=this._d.valueOf(),time+=36e5-mod$1(time+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":time=this._d.valueOf(),time+=6e4-mod$1(time,6e4)-1;break;case"second":time=this._d.valueOf(),time+=1e3-mod$1(time,1e3)-1}return this._d.setTime(time),hooks.updateOffset(this,!0),this},proto.format=function(inputString){inputString||(inputString=this.isUtc()?hooks.defaultFormatUtc:hooks.defaultFormat);var output=formatMoment(this,inputString);return this.localeData().postformat(output)},proto.from=function(time,withoutSuffix){return this.isValid()&&(isMoment(time)&&time.isValid()||createLocal(time).isValid())?createDuration({to:this,from:time}).locale(this.locale()).humanize(!withoutSuffix):this.localeData().invalidDate()},proto.fromNow=function(withoutSuffix){return this.from(createLocal(),withoutSuffix)},proto.to=function(time,withoutSuffix){return this.isValid()&&(isMoment(time)&&time.isValid()||createLocal(time).isValid())?createDuration({from:this,to:time}).locale(this.locale()).humanize(!withoutSuffix):this.localeData().invalidDate()},proto.toNow=function(withoutSuffix){return this.to(createLocal(),withoutSuffix)},proto.get=function(units){return isFunction(this[units=normalizeUnits(units)])?this[units]():this},proto.invalidAt=function(){return getParsingFlags(this).overflow},proto.isAfter=function(input,units){var localInput=isMoment(input)?input:createLocal(input);return!(!this.isValid()||!localInput.isValid())&&("millisecond"===(units=normalizeUnits(units)||"millisecond")?this.valueOf()>localInput.valueOf():localInput.valueOf()<this.clone().startOf(units).valueOf())},proto.isBefore=function(input,units){var localInput=isMoment(input)?input:createLocal(input);return!(!this.isValid()||!localInput.isValid())&&("millisecond"===(units=normalizeUnits(units)||"millisecond")?this.valueOf()<localInput.valueOf():this.clone().endOf(units).valueOf()<localInput.valueOf())},proto.isBetween=function(from,to,units,inclusivity){var localFrom=isMoment(from)?from:createLocal(from),localTo=isMoment(to)?to:createLocal(to);return!!(this.isValid()&&localFrom.isValid()&&localTo.isValid())&&("("===(inclusivity=inclusivity||"()")[0]?this.isAfter(localFrom,units):!this.isBefore(localFrom,units))&&(")"===inclusivity[1]?this.isBefore(localTo,units):!this.isAfter(localTo,units))},proto.isSame=function(input,units){var inputMs,localInput=isMoment(input)?input:createLocal(input);return!(!this.isValid()||!localInput.isValid())&&("millisecond"===(units=normalizeUnits(units)||"millisecond")?this.valueOf()===localInput.valueOf():(inputMs=localInput.valueOf(),this.clone().startOf(units).valueOf()<=inputMs&&inputMs<=this.clone().endOf(units).valueOf()))},proto.isSameOrAfter=function(input,units){return this.isSame(input,units)||this.isAfter(input,units)},proto.isSameOrBefore=function(input,units){return this.isSame(input,units)||this.isBefore(input,units)},proto.isValid=function(){return isValid(this)},proto.lang=lang,proto.locale=locale,proto.localeData=localeData,proto.max=prototypeMax,proto.min=prototypeMin,proto.parsingFlags=function(){return extend({},getParsingFlags(this))},proto.set=function(units,value){if("object"==typeof units){var i,prioritized=function(unitsObj){var u,units=[];for(u in unitsObj)hasOwnProp(unitsObj,u)&&units.push({unit:u,priority:priorities[u]});return units.sort(function(a,b){return a.priority-b.priority}),units}(units=normalizeObjectUnits(units)),prioritizedLen=prioritized.length;for(i=0;i<prioritizedLen;i++)this[prioritized[i].unit](units[prioritized[i].unit])}else if(isFunction(this[units=normalizeUnits(units)]))return this[units](value);return this},proto.startOf=function(units){var time,startOfDate;
vendor: 9,577 bytes, line 1
1if(void 0===(units=normalizeUnits(units))||"millisecond"===units||!this.isValid())return this;switch(startOfDate=this._isUTC?utcStartOfDate:localStartOfDate,units){case"year":time=startOfDate(this.year(),0,1);break;case"quarter":time=startOfDate(this.year(),this.month()-this.month()%3,1);break;case"month":time=startOfDate(this.year(),this.month(),1);break;case"week":time=startOfDate(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":time=startOfDate(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":time=startOfDate(this.year(),this.month(),this.date());break;case"hour":time=this._d.valueOf(),time-=mod$1(time+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":time=this._d.valueOf(),time-=mod$1(time,6e4);break;case"second":time=this._d.valueOf(),time-=mod$1(time,1e3)}return this._d.setTime(time),hooks.updateOffset(this,!0),this},proto.subtract=subtract,proto.toArray=function(){var m=this;return[m.year(),m.month(),m.date(),m.hour(),m.minute(),m.second(),m.millisecond()]},proto.toObject=function(){var m=this;return{years:m.year(),months:m.month(),date:m.date(),hours:m.hours(),minutes:m.minutes(),seconds:m.seconds(),milliseconds:m.milliseconds()}},proto.toDate=function(){return new Date(this.valueOf())},proto.toISOString=function(keepOffset){if(!this.isValid())return null;var utc=!0!==keepOffset,m=utc?this.clone().utc():this;return m.year()<0||9999<m.year()?formatMoment(m,utc?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):isFunction(Date.prototype.toISOString)?utc?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",formatMoment(m,"Z")):formatMoment(m,utc?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},proto.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var prefix,year,suffix,func="moment",zone="";return this.isLocal()||(func=0===this.utcOffset()?"moment.utc":"moment.parseZone",zone="Z"),prefix="["+func+'("]',year=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",suffix=zone+'[")]',this.format(prefix+year+"-MM-DD[T]HH:mm:ss.SSS"+suffix)},"undefined"!=typeof Symbol&&null!=Symbol.for&&(proto[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),proto.toJSON=function(){return this.isValid()?this.toISOString():null},proto.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},proto.unix=function(){return Math.floor(this.valueOf()/1e3)},proto.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},proto.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},proto.eraName=function(){var i,l,val,eras=this.localeData().eras();for(i=0,l=eras.length;i<l;++i){if(val=this.clone().startOf("day").valueOf(),eras[i].since<=val&&val<=eras[i].until)return eras[i].name;if(eras[i].until<=val&&val<=eras[i].since)return eras[i].name}return""},proto.eraNarrow=function(){var i,l,val,eras=this.localeData().eras();for(i=0,l=eras.length;i<l;++i){if(val=this.clone().startOf("day").valueOf(),eras[i].since<=val&&val<=eras[i].until)return eras[i].narrow;if(eras[i].until<=val&&val<=eras[i].since)return eras[i].narrow}return""},proto.eraAbbr=function(){var i,l,val,eras=this.localeData().eras();for(i=0,l=eras.length;i<l;++i){if(val=this.clone().startOf("day").valueOf(),eras[i].since<=val&&val<=eras[i].until)return eras[i].abbr;if(eras[i].until<=val&&val<=eras[i].since)return eras[i].abbr}return""},proto.eraYear=function(){var i,l,dir,val,eras=this.localeData().eras();for(i=0,l=eras.length;i<l;++i)if(dir=eras[i].since<=eras[i].until?1:-1,val=this.clone().startOf("day").valueOf(),eras[i].since<=val&&val<=eras[i].until||eras[i].until<=val&&val<=eras[i].since)return(this.year()-hooks(eras[i].since).year())*dir+eras[i].offset;return this.year()},proto.year=getSetYear,proto.isLeapYear=function(){return isLeapYear(this.year())},proto.weekYear=function(input){return getSetWeekYearHelper.call(this,input,this.week(),this.weekday()+this.localeData()._week.dow,this.localeData()._week.dow,this.localeData()._week.doy)},proto.isoWeekYear=function(input){return getSetWeekYearHelper.call(this,input,this.isoWeek(),this.isoWeekday(),1,4)},proto.quarter=proto.quarters=function(input){return null==input?Math.ceil((this.month()+1)/3):this.month(3*(input-1)+this.month()%3)},proto.month=getSetMonth,proto.daysInMonth=function(){return daysInMonth(this.year(),this.month())},proto.week=proto.weeks=function(input){var week=this.localeData().week(this);return null==input?week:this.add(7*(input-week),"d")},proto.isoWeek=proto.isoWeeks=function(input){var week=weekOfYear(this,1,4).week;return null==input?week:this.add(7*(input-week),"d")},proto.weeksInYear=function(){var weekInfo=this.localeData()._week;return weeksInYear(this.year(),weekInfo.dow,weekInfo.doy)},proto.weeksInWeekYear=function(){var weekInfo=this.localeData()._week;return weeksInYear(this.weekYear(),weekInfo.dow,weekInfo.doy)},proto.isoWeeksInYear=function(){return weeksInYear(this.year(),1,4)},proto.isoWeeksInISOWeekYear=function(){return weeksInYear(this.isoWeekYear(),1,4)},proto.date=getSetDayOfMonth,proto.day=proto.days=function(input){if(!this.isValid())return null!=input?this:NaN;var day=get(this,"Day");return null!=input?(input=function(input,locale){return"string"!=typeof input?input:isNaN(input)?"number"==typeof(input=locale.weekdaysParse(input))?input:null:parseInt(input,10)}(input,this.localeData()),this.add(input-day,"d")):day},proto.weekday=function(input){if(!this.isValid())return null!=input?this:NaN;var weekday=(this.day()+7-this.localeData()._week.dow)%7;return null==input?weekday:this.add(input-weekday,"d")},proto.isoWeekday=function(input){if(!this.isValid())return null!=input?this:NaN;if(null==input)return this.day()||7;var weekday=function(input,locale){return"string"==typeof input?locale.weekdaysParse(input)%7||7:isNaN(input)?null:input}(input,this.localeData());return this.day(this.day()%7?weekday:weekday-7)},proto.dayOfYear=function(input){var dayOfYear=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==input?dayOfYear:this.add(input-dayOfYear,"d")},proto.hour=proto.hours=getSetHour,proto.minute=proto.minutes=getSetMinute,proto.second=proto.seconds=getSetSecond,proto.millisecond=proto.milliseconds=getSetMillisecond,proto.utcOffset=function(input,keepLocalTime,keepMinutes){var localAdjust,offset=this._offset||0;if(!this.isValid())return null!=input?this:NaN;if(null==input)return this._isUTC?offset:getDateOffset(this);if("string"==typeof input){if(null===(input=offsetFromString(matchShortOffset,input)))return this}else Math.abs(input)<16&&!keepMinutes&&(input*=60);return!this._isUTC&&keepLocalTime&&(localAdjust=getDateOffset(this)),this._offset=input,this._isUTC=!0,null!=localAdjust&&this.add(localAdjust,"m"),offset!==input&&(!keepLocalTime||this._changeInProgress?addSubtract(this,createDuration(input-offset,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,hooks.updateOffset(this,!0),this._changeInProgress=null)),this},proto.utc=function(keepLocalTime){return this.utcOffset(0,keepLocalTime)},proto.local=function(keepLocalTime){return this._isUTC&&(this.utcOffset(0,keepLocalTime),this._isUTC=!1,keepLocalTime&&this.subtract(getDateOffset(this),"m")),this},proto.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var tZone=offsetFromString(matchOffset,this._i);null!=tZone?this.utcOffset(tZone):this.utcOffset(0,!0)}return this},proto.hasAlignedHourOffset=function(input){return!!this.isValid()&&(input=input?createLocal(input).utcOffset():0,(this.utcOffset()-input)%60==0)},proto.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},proto.isLocal=function(){return!!this.isValid()&&!this._isUTC},proto.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},proto.isUtc=isUtc,proto.isUTC=isUtc,proto.zoneAbbr=function(){return this._isUTC?"UTC":""},proto.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},proto.dates=deprecate("dates accessor is deprecated. Use date instead.",getSetDayOfMonth),proto.months=deprecate("months accessor is deprecated. Use month instead",getSetMonth),proto.years=deprecate("years accessor is deprecated. Use year instead",getSetYear),proto.zone=deprecate("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(input,keepLocalTime){return null!=input?("string"!=typeof input&&(input=-input),this.utcOffset(input,keepLocalTime),this):-this.utcOffset()}),proto.isDSTShifted=deprecate("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!isUndefined(this._isDSTShifted))return this._isDSTShifted;var other,c={};return copyConfig(c,this),(c=prepareConfig(c))._a?(other=c._isUTC?createUTC(c._a):createLocal(c._a),this._isDSTShifted=this.isValid()&&0<function(array1,array2,dontConvert){var i,len=Math.min(array1.length,array2.length),lengthDiff=Math.abs(array1.length-array2.length),diffs=0;for(i=0;i<len;i++)(dontConvert&&array1[i]!==array2[i]||!dontConvert&&toInt(array1[i])!==toInt(array2[i]))&&diffs++;return diffs+lengthDiff}(c._a,other.toArray())):this._isDSTShifted=!1,this._isDSTShifted});var proto$1=Locale.prototype;function get$1(format,index,field,setter){var locale=getLocale(),utc=createUTC().set(setter,index);
vendor: 5,399 bytes, line 1
1return locale[field](utc,format)}function listMonthsImpl(format,index,field){if(isNumber(format)&&(index=format,format=void 0),format=format||"",null!=index)return get$1(format,index,field,"month");var i,out=[];for(i=0;i<12;i++)out[i]=get$1(format,i,field,"month");return out}function listWeekdaysImpl(localeSorted,format,index,field){format=("boolean"==typeof localeSorted?isNumber(format)&&(index=format,format=void 0):(format=localeSorted,localeSorted=!1,isNumber(index=format)&&(index=format,format=void 0)),format||"");var i,locale=getLocale(),shift=localeSorted?locale._week.dow:0,out=[];if(null!=index)return get$1(format,(index+shift)%7,field,"day");for(i=0;i<7;i++)out[i]=get$1(format,(i+shift)%7,field,"day");return out}proto$1.calendar=function(key,mom,now){var output=this._calendar[key]||this._calendar.sameElse;return isFunction(output)?output.call(mom,now):output},proto$1.longDateFormat=function(key){var format=this._longDateFormat[key],formatUpper=this._longDateFormat[key.toUpperCase()];return format||!formatUpper?format:(this._longDateFormat[key]=formatUpper.match(formattingTokens).map(function(tok){return"MMMM"===tok||"MM"===tok||"DD"===tok||"dddd"===tok?tok.slice(1):tok}).join(""),this._longDateFormat[key])},proto$1.invalidDate=function(){return this._invalidDate},proto$1.ordinal=function(number){return this._ordinal.replace("%d",number)},proto$1.preparse=preParsePostFormat,proto$1.postformat=preParsePostFormat,proto$1.relativeTime=function(number,withoutSuffix,string,isFuture){var output=this._relativeTime[string];return isFunction(output)?output(number,withoutSuffix,string,isFuture):output.replace(/%d/i,number)},proto$1.pastFuture=function(diff,output){var format=this._relativeTime[0<diff?"future":"past"];return isFunction(format)?format(output):format.replace(/%s/i,output)},proto$1.set=function(config){var prop,i;for(i in config)hasOwnProp(config,i)&&(isFunction(prop=config[i])?this[i]=prop:this["_"+i]=prop);this._config=config,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},proto$1.eras=function(m,format){var i,l,date,eras=this._eras||getLocale("en")._eras;for(i=0,l=eras.length;i<l;++i){switch(typeof eras[i].since){case"string":date=hooks(eras[i].since).startOf("day"),eras[i].since=date.valueOf()}switch(typeof eras[i].until){case"undefined":eras[i].until=1/0;break;case"string":date=hooks(eras[i].until).startOf("day").valueOf(),eras[i].until=date.valueOf()}}return eras},proto$1.erasParse=function(eraName,format,strict){var i,l,name,abbr,narrow,eras=this.eras();for(eraName=eraName.toUpperCase(),i=0,l=eras.length;i<l;++i)if(name=eras[i].name.toUpperCase(),abbr=eras[i].abbr.toUpperCase(),narrow=eras[i].narrow.toUpperCase(),strict)switch(format){case"N":case"NN":case"NNN":if(abbr===eraName)return eras[i];break;case"NNNN":if(name===eraName)return eras[i];break;case"NNNNN":if(narrow===eraName)return eras[i]}else if(0<=[name,abbr,narrow].indexOf(eraName))return eras[i]},proto$1.erasConvertYear=function(era,year){var dir=era.since<=era.until?1:-1;return void 0===year?hooks(era.since).year():hooks(era.since).year()+(year-era.offset)*dir},proto$1.erasAbbrRegex=function(isStrict){return hasOwnProp(this,"_erasAbbrRegex")||computeErasParse.call(this),isStrict?this._erasAbbrRegex:this._erasRegex},proto$1.erasNameRegex=function(isStrict){return hasOwnProp(this,"_erasNameRegex")||computeErasParse.call(this),isStrict?this._erasNameRegex:this._erasRegex},proto$1.erasNarrowRegex=function(isStrict){return hasOwnProp(this,"_erasNarrowRegex")||computeErasParse.call(this),isStrict?this._erasNarrowRegex:this._erasRegex},proto$1.months=function(m,format){return m?isArray(this._months)?this._months[m.month()]:this._months[(this._months.isFormat||MONTHS_IN_FORMAT).test(format)?"format":"standalone"][m.month()]:isArray(this._months)?this._months:this._months.standalone},proto$1.monthsShort=function(m,format){return m?isArray(this._monthsShort)?this._monthsShort[m.month()]:this._monthsShort[MONTHS_IN_FORMAT.test(format)?"format":"standalone"][m.month()]:isArray(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},proto$1.monthsParse=function(monthName,format,strict){var i,mom,regex;if(this._monthsParseExact)return function(monthName,format,strict){var i,ii,mom,llc=monthName.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],i=0;i<12;++i)mom=createUTC([2e3,i]),this._shortMonthsParse[i]=this.monthsShort(mom,"").toLocaleLowerCase(),this._longMonthsParse[i]=this.months(mom,"").toLocaleLowerCase();return strict?"MMM"===format?-1!==(ii=indexOf.call(this._shortMonthsParse,llc))?ii:null:-1!==(ii=indexOf.call(this._longMonthsParse,llc))?ii:null:"MMM"===format?-1!==(ii=indexOf.call(this._shortMonthsParse,llc))?ii:-1!==(ii=indexOf.call(this._longMonthsParse,llc))?ii:null:-1!==(ii=indexOf.call(this._longMonthsParse,llc))?ii:-1!==(ii=indexOf.call(this._shortMonthsParse,llc))?ii:null}.call(this,monthName,format,strict);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){if(mom=createUTC([2e3,i]),strict&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(mom,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(mom,"").replace(".","")+"$","i")),str
vendor: 6,653 bytes, line 1
1ict||this._monthsParse[i]||(regex="^"+this.months(mom,"")+"|^"+this.monthsShort(mom,""),this._monthsParse[i]=new RegExp(regex.replace(".",""),"i")),strict&&"MMMM"===format&&this._longMonthsParse[i].test(monthName))return i;if(strict&&"MMM"===format&&this._shortMonthsParse[i].test(monthName))return i;if(!strict&&this._monthsParse[i].test(monthName))return i}},proto$1.monthsRegex=function(isStrict){return this._monthsParseExact?(hasOwnProp(this,"_monthsRegex")||computeMonthsParse.call(this),isStrict?this._monthsStrictRegex:this._monthsRegex):(hasOwnProp(this,"_monthsRegex")||(this._monthsRegex=defaultMonthsRegex),this._monthsStrictRegex&&isStrict?this._monthsStrictRegex:this._monthsRegex)},proto$1.monthsShortRegex=function(isStrict){return this._monthsParseExact?(hasOwnProp(this,"_monthsRegex")||computeMonthsParse.call(this),isStrict?this._monthsShortStrictRegex:this._monthsShortRegex):(hasOwnProp(this,"_monthsShortRegex")||(this._monthsShortRegex=defaultMonthsShortRegex),this._monthsShortStrictRegex&&isStrict?this._monthsShortStrictRegex:this._monthsShortRegex)},proto$1.week=function(mom){return weekOfYear(mom,this._week.dow,this._week.doy).week},proto$1.firstDayOfYear=function(){return this._week.doy},proto$1.firstDayOfWeek=function(){return this._week.dow},proto$1.weekdays=function(m,format){var weekdays=isArray(this._weekdays)?this._weekdays:this._weekdays[m&&!0!==m&&this._weekdays.isFormat.test(format)?"format":"standalone"];return!0===m?shiftWeekdays(weekdays,this._week.dow):m?weekdays[m.day()]:weekdays},proto$1.weekdaysMin=function(m){return!0===m?shiftWeekdays(this._weekdaysMin,this._week.dow):m?this._weekdaysMin[m.day()]:this._weekdaysMin},proto$1.weekdaysShort=function(m){return!0===m?shiftWeekdays(this._weekdaysShort,this._week.dow):m?this._weekdaysShort[m.day()]:this._weekdaysShort},proto$1.weekdaysParse=function(weekdayName,format,strict){var i,mom,regex;if(this._weekdaysParseExact)return function(weekdayName,format,strict){var i,ii,mom,llc=weekdayName.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)mom=createUTC([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(mom,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(mom,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(mom,"").toLocaleLowerCase();return strict?"dddd"===format?-1!==(ii=indexOf.call(this._weekdaysParse,llc))?ii:null:"ddd"===format?-1!==(ii=indexOf.call(this._shortWeekdaysParse,llc))?ii:null:-1!==(ii=indexOf.call(this._minWeekdaysParse,llc))?ii:null:"dddd"===format?-1!==(ii=indexOf.call(this._weekdaysParse,llc))?ii:-1!==(ii=indexOf.call(this._shortWeekdaysParse,llc))?ii:-1!==(ii=indexOf.call(this._minWeekdaysParse,llc))?ii:null:"ddd"===format?-1!==(ii=indexOf.call(this._shortWeekdaysParse,llc))?ii:-1!==(ii=indexOf.call(this._weekdaysParse,llc))?ii:-1!==(ii=indexOf.call(this._minWeekdaysParse,llc))?ii:null:-1!==(ii=indexOf.call(this._minWeekdaysParse,llc))?ii:-1!==(ii=indexOf.call(this._weekdaysParse,llc))?ii:-1!==(ii=indexOf.call(this._shortWeekdaysParse,llc))?ii:null}.call(this,weekdayName,format,strict);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(mom=createUTC([2e3,1]).day(i),strict&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(mom,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(mom,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(mom,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[i]||(regex="^"+this.weekdays(mom,"")+"|^"+this.weekdaysShort(mom,"")+"|^"+this.weekdaysMin(mom,""),this._weekdaysParse[i]=new RegExp(regex.replace(".",""),"i")),strict&&"dddd"===format&&this._fullWeekdaysParse[i].test(weekdayName))return i;if(strict&&"ddd"===format&&this._shortWeekdaysParse[i].test(weekdayName))return i;if(strict&&"dd"===format&&this._minWeekdaysParse[i].test(weekdayName))return i;if(!strict&&this._weekdaysParse[i].test(weekdayName))return i}},proto$1.weekdaysRegex=function(isStrict){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),isStrict?this._weekdaysStrictRegex:this._weekdaysRegex):(hasOwnProp(this,"_weekdaysRegex")||(this._weekdaysRegex=defaultWeekdaysRegex),this._weekdaysStrictRegex&&isStrict?this._weekdaysStrictRegex:this._weekdaysRegex)},proto$1.weekdaysShortRegex=function(isStrict){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),isStrict?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(hasOwnProp(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=defaultWeekdaysShortRegex),this._weekdaysShortStrictRegex&&isStrict?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},proto$1.weekdaysMinRegex=function(isStrict){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),isStrict?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(hasOwnProp(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=defaultWeekdaysMinRegex),this._weekdaysMinStrictRegex&&isStrict?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},proto$1.isPM=function(input){return"p"===(input+"").toLowerCase().charAt(0)},proto$1.meridiem=function(hours,minutes,isLower){return 11<hours?isLower?"pm":"PM":isLower?"am":"AM"},getSetGlobalLocale("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(number){var b=number%10;return number+(1===toInt(number%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th")}}),hooks.lang=deprecate("moment.lang is deprecated. Use moment.locale instead.",getSetGlobalLocale),hooks.langData=deprecate("moment.langData is deprecated. Use moment.localeData instead.",getLocale);var mathAbs=Math.abs;function addSubtract$1(duration,input,value,direction){var other=createDuration(input,value);return duration._milliseconds+=direction*other._milliseconds,duration._days+=direction*other._days,duration._months+=direction*other._months,duration._bubble()}function absCeil(number){return number<0?Math.floor(number):Math.ceil(number)}function daysToMonths(days){return 4800*days/146097}function monthsToDays(months){return 146097*months/4800}function makeAs(alias){return function(){return this.as(alias)}}var asMilliseconds=makeAs("ms"),asSeconds=makeAs("s"),asMinutes=makeAs("m"),as
vendor: 2,684 bytes, line 1
1Hours=makeAs("h"),asDays=makeAs("d"),asWeeks=makeAs("w"),asMonths=makeAs("M"),asQuarters=makeAs("Q"),asYears=makeAs("y"),valueOf$1=asMilliseconds;function makeGetter(name){return function(){return this.isValid()?this._data[name]:NaN}}var milliseconds=makeGetter("milliseconds"),seconds=makeGetter("seconds"),minutes=makeGetter("minutes"),hours=makeGetter("hours"),days=makeGetter("days"),months=makeGetter("months"),years=makeGetter("years");var round=Math.round,thresholds={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};var abs$1=Math.abs;function sign(x){return(0<x)-(x<0)||+x}function toISOString$1(){if(!this.isValid())return this.localeData().invalidDate();var minutes,hours,years,s,totalSign,ymSign,daysSign,hmsSign,seconds=abs$1(this._milliseconds)/1e3,days=abs$1(this._days),months=abs$1(this._months),total=this.asSeconds();return total?(hours=absFloor((minutes=absFloor(seconds/60))/60),seconds%=60,minutes%=60,years=absFloor(months/12),months%=12,s=seconds?seconds.toFixed(3).replace(/\.?0+$/,""):"",totalSign=total<0?"-":"",ymSign=sign(this._months)!==sign(total)?"-":"",daysSign=sign(this._days)!==sign(total)?"-":"",hmsSign=sign(this._milliseconds)!==sign(total)?"-":"",totalSign+"P"+(years?ymSign+years+"Y":"")+(months?ymSign+months+"M":"")+(days?daysSign+days+"D":"")+(hours||minutes||seconds?"T":"")+(hours?hmsSign+hours+"H":"")+(minutes?hmsSign+minutes+"M":"")+(seconds?hmsSign+s+"S":"")):"P0D"}var proto$2=Duration.prototype;return proto$2.isValid=function(){return this._isValid},proto$2.abs=function(){var data=this._data;return this._milliseconds=mathAbs(this._milliseconds),this._days=mathAbs(this._days),this._months=mathAbs(this._months),data.milliseconds=mathAbs(data.milliseconds),data.seconds=mathAbs(data.seconds),data.minutes=mathAbs(data.minutes),data.hours=mathAbs(data.hours),data.months=mathAbs(data.months),data.years=mathAbs(data.years),this},proto$2.add=function(input,value){return addSubtract$1(this,input,value,1)},proto$2.subtract=function(input,value){return addSubtract$1(this,input,value,-1)},proto$2.as=function(units){if(!this.isValid())return NaN;var days,months,milliseconds=this._milliseconds;if("month"===(units=normalizeUnits(units))||"quarter"===units||"year"===units)switch(days=this._days+milliseconds/864e5,months=this._months+daysToMonths(days),units){case"month":return months;case"quarter":return months/3;case"year":return months/12}else switch(days=this._days+Math.round(monthsToDays(this._months)),units){case"week":return days/7+milliseconds/6048e5;case"day":return days+milliseconds/864e5;case"hour":return 24*days+milliseconds/36e5;case"minute":return 1440*days+milliseconds/6e4;case"second":return 86400*days+milliseconds/1e3;
vendor: 5,098 bytes, line 1
1case"millisecond":return Math.floor(864e5*days)+milliseconds;default:throw new Error("Unknown unit "+units)}},proto$2.asMilliseconds=asMilliseconds,proto$2.asSeconds=asSeconds,proto$2.asMinutes=asMinutes,proto$2.asHours=asHours,proto$2.asDays=asDays,proto$2.asWeeks=asWeeks,proto$2.asMonths=asMonths,proto$2.asQuarters=asQuarters,proto$2.asYears=asYears,proto$2.valueOf=valueOf$1,proto$2._bubble=function(){var seconds,minutes,hours,years,monthsFromDays,milliseconds=this._milliseconds,days=this._days,months=this._months,data=this._data;return 0<=milliseconds&&0<=days&&0<=months||milliseconds<=0&&days<=0&&months<=0||(milliseconds+=864e5*absCeil(monthsToDays(months)+days),months=days=0),data.milliseconds=milliseconds%1e3,seconds=absFloor(milliseconds/1e3),data.seconds=seconds%60,minutes=absFloor(seconds/60),data.minutes=minutes%60,hours=absFloor(minutes/60),data.hours=hours%24,months+=monthsFromDays=absFloor(daysToMonths(days+=absFloor(hours/24))),days-=absCeil(monthsToDays(monthsFromDays)),years=absFloor(months/12),months%=12,data.days=days,data.months=months,data.years=years,this},proto$2.clone=function(){return createDuration(this)},proto$2.get=function(units){return units=normalizeUnits(units),this.isValid()?this[units+"s"]():NaN},proto$2.milliseconds=milliseconds,proto$2.seconds=seconds,proto$2.minutes=minutes,proto$2.hours=hours,proto$2.days=days,proto$2.weeks=function(){return absFloor(this.days()/7)},proto$2.months=months,proto$2.years=years,proto$2.humanize=function(argWithSuffix,argThresholds){if(!this.isValid())return this.localeData().invalidDate();var locale,output,withSuffix=!1,th=thresholds;return"object"==typeof argWithSuffix&&(argThresholds=argWithSuffix,argWithSuffix=!1),"boolean"==typeof argWithSuffix&&(withSuffix=argWithSuffix),"object"==typeof argThresholds&&(th=Object.assign({},thresholds,argThresholds),null!=argThresholds.s&&null==argThresholds.ss&&(th.ss=argThresholds.s-1)),locale=this.localeData(),output=function(posNegDuration,withoutSuffix,thresholds,locale){var duration=createDuration(posNegDuration).abs(),seconds=round(duration.as("s")),minutes=round(duration.as("m")),hours=round(duration.as("h")),days=round(duration.as("d")),months=round(duration.as("M")),weeks=round(duration.as("w")),years=round(duration.as("y")),a=seconds<=thresholds.ss&&["s",seconds]||seconds<thresholds.s&&["ss",seconds]||minutes<=1&&["m"]||minutes<thresholds.m&&["mm",minutes]||hours<=1&&["h"]||hours<thresholds.h&&["hh",hours]||days<=1&&["d"]||days<thresholds.d&&["dd",days];return null!=thresholds.w&&(a=a||weeks<=1&&["w"]||weeks<thresholds.w&&["ww",weeks]),(a=a||months<=1&&["M"]||months<thresholds.M&&["MM",months]||years<=1&&["y"]||["yy",years])[2]=withoutSuffix,a[3]=0<+posNegDuration,a[4]=locale,function(string,number,withoutSuffix,isFuture,locale){return locale.relativeTime(number||1,!!withoutSuffix,string,isFuture)}.apply(null,a)}(this,!withSuffix,th,locale),withSuffix&&(output=locale.pastFuture(+this,output)),locale.postformat(output)},proto$2.toISOString=toISOString$1,proto$2.toString=toISOString$1,proto$2.toJSON=toISOString$1,proto$2.locale=locale,proto$2.localeData=localeData,proto$2.toIsoString=deprecate("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",toISOString$1),proto$2.lang=lang,addFormatToken("X",0,0,"unix"),addFormatToken("x",0,0,"valueOf"),addRegexToken("x",matchSigned),addRegexToken("X",/[+-]?\d+(\.\d{1,3})?/),addParseToken("X",function(input,array,config){config._d=new Date(1e3*parseFloat(input))}),addParseToken("x",function(input,array,config){config._d=new Date(toInt(input))}),hooks.version="2.30.1",hookCallback=createLocal,hooks.fn=proto,hooks.min=function(){return pickBy("isBefore",[].slice.call(arguments,0))},hooks.max=function(){return pickBy("isAfter",[].slice.call(arguments,0))},hooks.now=function(){return Date.now?Date.now():+new Date},hooks.utc=createUTC,hooks.unix=function(input){return createLocal(1e3*input)},hooks.months=function(format,index){return listMonthsImpl(format,index,"months")},hooks.isDate=isDate,hooks.locale=getSetGlobalLocale,hooks.invalid=createInvalid,hooks.duration=createDuration,hooks.isMoment=isMoment,hooks.weekdays=function(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,"weekdays")},hooks.parseZone=function(){return createLocal.apply(null,arguments).parseZone()},hooks.localeData=getLocale,hooks.isDuration=isDuration,hooks.monthsShort=function(format,index){return listMonthsImpl(format,index,"monthsShort")},hooks.weekdaysMin=function(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,"weekdaysMin")},hooks.defineLocale=defineLocale,hooks.updateLocale=function(name,config){if(null!=config){var locale,tmpLocale,parentConfig=baseConfig;null!=locales[name]&&null!=locales[name].parentLocale?locales[name].set(mergeConfigs(locales[name]._config,config)):(null!=(tmpLocale=loadLocale(name))&&(parentConfig=tmpLocale._config),config=mergeConfigs(parentConfig,config),null==tmpLocale&&(config.abbr=name),(locale=new Locale(config)).parentLocale=locales[name],locales[name]=locale),get
1SetGlobalLocale(name)}else null!=locales[name]&&(null!=locales[name].parentLocale?(locales[name]=locales[name].parentLocale,name===getSetGlobalLocale()&&getSetGlobalLocale(name)):null!=locales[name]&&delete locales[name]);return locales[name]},hooks.locales=function(){return keys(locales)},hooks.weekdaysShort=function(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,"weekdaysShort")},hooks.normalizeUnits=normalizeUnits,hooks.relativeTimeRounding=function(roundingFunction){return void 0===roundingFunction?round:"function"==typeof roundingFunction&&(round=roundingFunction,!0)},hooks.relativeTimeThreshold=function(threshold,limit){return void 0!==thresholds[threshold]&&(void 0===limit?thresholds[threshold]:(thresholds[threshold]=limit,"s"===threshold&&(thresholds.ss=limit-1),!0))},hooks.calendarFormat=function(myMoment,now){var diff=myMoment.diff(now,"days",!0);return diff<-6?"sameElse":diff<-1?"lastWeek":diff<0?"lastDay":diff<1?"sameDay":diff<2?"nextDay":diff<7?"nextWeek":"sameElse"},hooks.prototype=proto,hooks.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},hooks}),function(global,factory){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?factory(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],factory):factory(global.moment)}(this,function(moment){"use strict";var monthsNominative="styczeÅ_luty_marzec_kwiecieÅ_maj_czerwiec_lipiec_sierpieÅ_wrzesieÅ_październik_listopad_grudzieÅ".split("_"),monthsSubjective="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrzeÅnia_października_listopada_grudnia".split("_"),monthsParse=[/^sty/i,/^lut/i,/^mar/i,/^kwi/i,/^maj/i,/^cze/i,/^lip/i,/^sie/i,/^wrz/i,/^paź/i,/^lis/i,/^gru/i];function plural(n){return n%10<5&&1<n%10&&~~(n/10)%10!=1}function translate(number,withoutSuffix,key){var result=number+" ";switch(key){case"ss":return result+(plural(number)?"sekundy":"sekund");case"m":return withoutSuffix?"minuta":"minutÄ";case"mm":return result+(plural(number)?"minuty":"minut");case"h":return withoutSuffix?"godzina":"godzinÄ";case"hh":return result+(plural(number)?"godziny":"godzin");case"ww":return result+(plural(number)?"tygodnie":"tygodni");case"MM":return result+(plural(number)?"miesiÄ
ce":"miesiÄcy");case"yy":return result+(plural(number)?"lata":"lat")}}return moment.defineLocale("pl",{months:function(momentToFormat,format){return momentToFormat?/D MMMM/.test(format)?monthsSubjective[momentToFormat.month()]:monthsNominative[momentToFormat.month()]:monthsNominative},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),monthsParse:monthsParse,longMonthsParse:monthsParse,shortMonthsParse:monthsParse,weekdays:"niedziela_poniedziaÅek_wtorek_Åroda_czwartek_piÄ
tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_År_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_År_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DziÅ o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedzielÄ o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W ÅrodÄ o] LT";case 6:return"[W sobotÄ o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszÅÄ
niedzielÄ o] LT";case 3:return"[W zeszÅÄ
ÅrodÄ o] LT";case 6:return"[W zeszÅÄ
sobotÄ o] LT";default:return"[W zeszÅy] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:translate,m:translate,mm:translate,h:translate,hh:translate,d:"1 dzieÅ",dd:"%d dni",w:"tydzieÅ",ww:translate,M:"miesiÄ
c",MM:translate,y:"rok",yy:translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}),function(){"use strict";function isUndefinedOrNull(val){return angular.isUndefined(val)||null===val}function angularMoment(angular,moment){if(void 0===moment){if("function"!=typeof require)throw new Error("Moment cannot be found by angular-moment! Please reference to: https://github.com/urish/angular-moment");moment=function(){try{return require("moment")}catch(e){throw new Error("Please install moment via npm. Please reference to: https://github.com/urish/angular-moment")}}()}return angular.module("angularMoment",[]).constant("angularMomentConfig",{preprocess:null,timezone:null,format:null,statefulFilters:!0}).constant("moment",moment).constant("amTimeAgoConfig",{withoutSuffix:!1,serverTime:null,titleFormat:null,fullDateThreshold:null,fullDateFormat:null,fullDateThresholdUnit:"day"}).directive("amTimeAgo",["$window","moment","amMoment","amTimeAgoConfig",function($window,moment,amMoment,amTimeAgoConfig){return function(scope,element,attr){var currentValue,currentFrom,activeTimeout=null,withoutSuffix=amTimeAgoConfig.withoutSuffix,titleFormat=amTimeAgoConfig.titleFormat,fullDateThreshold=amTimeAgoConfig.fullDateThreshold,fullDateFormat=amTimeAgoConfig.fullDateFormat,fullDateThresholdUnit=amTimeAgoConfig.fullDateThresholdUnit,localDate=(new Date).getTime(),modelName=attr.amTimeAgo,isTimeElement="TIME"===element[0].nodeName.toUpperCase(),setTitleTime=!element.attr("title");function getNow(){var now;if(currentFrom)now=currentFrom;else if(amTimeAgoConfig.serverTime){var nowMillis=(new Date).getTime()-localDate+amTimeAgoConfig.serverTime;now=moment(nowMillis)}else now=moment();return now}function cancelTimer(){activeTimeout&&($window.clearTimeout(activeTimeout),activeTimeout=null)}function updateDateTimeAttr(value){isTimeElement&&element.attr("datetime",value)}function updateMoment(){if(cancelTimer(),currentValue){var momentValue=amMoment.preprocessDate(currentValue);!function updateTime(momentInstance){var timeAgo=getNow().diff(momentInstance,fullDateThresholdUnit),showFullDate=fullDateThreshold&&fullDateThreshold<=timeAgo;if(showFullDate?element.text(momentInstance.format(fullDateFormat)):element.text(momentInstance.from(getNow(),withoutSuffix)),titleFormat&&setTitleTime&&element.attr("title",momentInstance.format(titleFormat)),!showFullDate){var howOld=Math.abs(getNow().diff(momentInstance,"minute")),secondsUntilUpdate=3600;howOld<1?secondsUntilUpdate=1:howOld<60?secondsUntilUpdate=30:howOld<180&&(secondsUntilUpdate=300),activeTimeout=$window.setTimeout(function(){updateTime(momentInstance)},1e3*secondsUntilUpdate)}}(momentValue),updateDateTimeAttr(momentValue.toISOString())}}scope.$watch(modelName,function(value){if(isUndefinedOrNull(value)||""===value)return cancelTimer(),void(currentValue&&(element.text(""),updateDateTimeAttr(""),currentValue=null));currentValue=value,updateMoment()}),angular.isDefined(attr.amFrom)&&scope.$watch(attr.amFrom,function(value){currentFrom=isUndefinedOrNull(value)||""===value?null:moment(value),updateMoment()}),angular.isDefined(attr.amWithoutSuffix)&&scope.$watch(attr.amWithoutSuffix,function(value){"boolean"==typeof value?(withoutSuffix=value,updateMoment()):withoutSuffix=amTimeAgoConfig.withoutSuffix}),attr.$observe("amFullDateThreshold",function(newValue){fullDateThreshold=newValue,updateMoment()}),attr.$observe("amFullDateFormat",function(newValue){fullDateFormat=newValue,updateMoment()}),attr.$observe("amFullDateThresholdUnit",function(newValue){fullDateThresholdUnit=newValue,updateMoment()}),scope.$on("$destroy",function(){cancelTimer()}),scope.$on("amMoment:localeChanged",function(){updateMoment()})}}]).service("amMoment",["moment","$rootScope","$log","angularMomentConfig",function(moment,$rootScope,$log,angularMomentConfig){var defaultTimezone=null;this.changeLocale=function(locale,customization){var result=moment.locale(locale,customization);return angular.isDefined(locale)&&$rootScope.$broadcast("amMoment:localeChanged"),result},this.changeTimezone=function(timezone){moment.tz&&moment.tz.setDefault?(moment.tz.setDefault(timezone),$rootScope.$broadcast("amMoment:timezoneChanged")):$log.warn("angular-moment: changeTimezone() works only with moment-timezone.js v0.3.0 or greater."),angularMomentConfig.timezone=timezone,defaultTimezone=timezone},this.preprocessDate=function(value){return defaultTimezone!==angularMomentConfig.timezone&&this.changeTimezone(angularMomentConfig.timezone),angularMomentConfig.preprocess?angularMomentConfig.preprocess(value):!isNaN(parseFloat(value))&&isFinite(value)?moment(parseInt(value,10)):moment(value)}}]).filter("amParse",["moment",function(moment){return function(value,format){return moment(value,format)}}]).filter("amFromUnix",["moment",function(moment){return function(value){return moment.unix(value)}}]).filter("amUtc",["moment",function(moment){return function(value){return moment.utc(value)}}]).filter("amUtcOffset",["amMoment",function(amMoment){return function(value,offset){return amMoment.preprocessDate(value).utcOffset(offset)}}]).filter("amLocal",["moment",function(moment){return function(value){return moment.isMoment(value)?value.local():null}}]).filter("amTimezone",["amMoment","angularMomentConfig","$log",function(amMoment,angularMomentConfig,$log){return function(value,timezone){var aMoment=amMoment.preprocessDate(value);return timezone?aMoment.tz?aMoment.tz(timezone):($log.warn("angular-moment: named timezone specified but moment.tz() is undefined. Did you forget to include moment-timezone.js ?"),aMoment):aMoment}}]).filter("amCalendar",["moment","amMoment","angularMomentConfig",function(moment,amMoment,angularMomentConfig){function amCalendarFilter(value,referenceTime,formats){if(isUndefinedOrNull(value))return"";var date=amMoment.preprocessDate(value);return date.isValid()?date.calendar(referenceTime,formats):""}return amCalendarFilter.$stateful=angularMomentConfig.statefulFilters,amCalendarFilter}]).filter("amDifference",["moment","amMoment","angularMomentConfig",function(moment,amMoment,angularMomentConfig){function amDifferenceFilter(value,otherValue,unit,usePrecision){if(isUndefinedOrNull(value))return"";var date=amMoment.preprocessDate(value),date2=isUndefinedOrNull(otherValue)?moment():amMoment.preprocessDate(otherValue);return date.isValid()&&date2.isValid()?date.diff(date2,unit,usePrecision):""}return amDifferenceFilter.$stateful=angularMomentConfig.statefulFilters,amDifferenceFilter}]).filter("amDateFormat",["moment","amMoment","angularMomentConfig",function(moment,amMoment,angularMomentConfig){function amDateFormatFilter(value,format){if(isUndefinedOrNull(value))return"";var date=amMoment.preprocessDate(value);return date.isValid()?date.format(format):""}return amDateFormatFilter.$stateful=angularMomentConfig.statefulFilters,amDateFormatFilter}]).filter("amDurationFormat",["moment","angularMomentConfig",function(moment,angularMomentConfig){function amDurationFormatFilter(value,format,suffix){return isUndefinedOrNull(value)?"":moment.duration(value,format).humanize(suffix)}return amDurationFormatFilter.$stateful=angularMomentConfig.statefulFilters,amDurationFormatFilter}]).filter("amTimeAgo",["moment","amMoment","angularMomentConfig",function(moment,amMoment,angularMomentConfig){function amTimeAgoFilter(value,suffix,from){var date,dateFrom;return isUndefinedOrNull(value)?"":(value=amMoment.preprocessDate(value),(date=moment(value)).isValid()?(dateFrom=moment(from),!isUndefinedOrNull(from)&&dateFrom.isValid()?date.from(dateFrom,suffix):date.fromNow(suffix)):"")}return amTimeAgoFilter.$stateful=angularMomentConfig.statefulFilters,amTimeAgoFilter}]).filter("amSubtract",["moment","angularMomentConfig",function(moment,angularMomentConfig){function amSubtractFilter(value,amount,type){return isUndefinedOrNull(value)?"":moment(value).subtract(parseInt(amount,10),type)}return amSubtractFilter.$stateful=angularMomentConfig.statefulFilters,amSubtractFilter}]).filter("amAdd",["moment","angularMomentConfig",function(moment,angularMomentConfig){function amAddFilter(value,amount,type){return isUndefinedOrNull(value)?"":moment(value).add(parseInt(amount,10),type)}return amAddFilter.$stateful=angularMomentConfig.statefulFilters,amAddFilter}]).filter("amStartOf",["moment","angularMomentConfig",function(moment,angularMomentConfig){function amStartOfFilter(value,type){return isUndefinedOrNull(value)?"":moment(value).startOf(type)}return amStartOfFilter.$stateful=angularMomentConfig.statefulFilters,amStartOfFilter}]).filter("amEndOf",["moment","angularMomentConfig",function(moment,angularMomentConfig){function amEndOfFilter(value,type){return isUndefinedOrNull(value)?"":moment(value).endOf(type)}
1return amEndOfFilter.$stateful=angularMomentConfig.statefulFilters,amEndOfFilter}]),"angularMoment"}var isElectron=window&&window.process&&window.process.type;"function"==typeof define&&define.amd?define(["angular","moment"],angularMoment):"undefined"!=typeof module&&module&&module.exports&&"function"==typeof require&&!isElectron?module.exports=angularMoment(require("angular"),require("moment")):angularMoment(angular,("undefined"!=typeof global&&void 0!==global.moment?global:window).moment)}(),function(angular){var Switcher=function(){function Switcher(sce){this.restrict="E",this.require="ngModel",this.scope={model:"=ngModel",disabled:"=?ngDisabled",trueValue:"=?",trueLabel:"@?",falseValue:"=?",falseLabel:"@?",change:"&?ngChange"},this.template='<div class="switcher" ng-class="{active:shadowModel,disabled:disabled}"><span class="switcher-label false" ng-bind-html="trustedHtml(falseLabel)" ng-click="set(false)"></span><label class="switcher-line"><input type="checkbox" ng-model="shadowModel" ng-disabled="disabled" ng-change="onChange()"></label><span class="switcher-label true" ng-bind-html="trustedHtml(trueLabel)" ng-click="set(true)"></span></div>',$sce=sce}return Switcher.prototype.$inject=["$sce"],Switcher.prototype.link=function($scope,$element,$attrs,$controller){angular.forEach({trueValue:!0,falseValue:!1,disabled:!1},function(value,key){angular.isDefined($scope[key])||($scope[key]=value)}),angular.forEach({trueLabel:"On",falseLabel:"Off"},function(value,key){angular.isDefined($scope[key])||($attrs[key]=value)}),$scope.trustedHtml=function(value){return $sce.trustAsHtml(value)},$scope.set=function(value){$scope.disabled||value==$scope.shadowModel||(angular.isFunction($scope.change)&&$scope.change({newValue:value,oldValue:$scope.shadowModel}),$scope.shadowModel=value)},$scope.onChange=function(){var oldValue=$scope.model,newValue=$scope.shadowModel?$scope.trueValue:$scope.falseValue;$scope.model=newValue,angular.isFunction($scope.change)&&$scope.change({newValue:newValue,oldValue:oldValue})},$scope.$watch("model",function(){$scope.shadowModel=$scope.model==$scope.trueValue}),$scope.$watch("shadowModel",function(){$scope.model=$scope[$scope.shadowModel+"Value"]})},Switcher}();angular.module("switcher",[]).directive("switcher",["$sce",function($sce){return new Switcher($sce)}])}(window.angular),function(root,factory){"undefined"!=typeof module&&module.exports?module.exports=factory(require("angular")):"function"==typeof define&&define.amd?define(["angular"],factory):factory(root.angular)}(this,function(angular){"use strict";var activityIndicatorStyle="CircledGrey",templates={Circled:'<div ng-show="AILoading || $root.AILoading" class="ai-circled ai-indicator"></div>',Dotted:'<div ng-show="AILoading || $root.AILoading" class="ai-dotted ai-indicator"><span class="ai-inner1"></span><span class="ai-inner2"></span><span class="ai-inner3"></span></div>',Spinner:'<div ng-show="AILoading || $root.AILoading" class="ai-spinner ai-indicator"><div class="ai-bar1"></div><div class="ai-bar2"></div><div class="ai-bar3"></div><div class="ai-bar4"></div><div class="ai-bar5"></div><div class="ai-bar6"></div><div class="ai-bar7"></div><div class="ai-bar8"></div><div class="ai-bar7"></div><div class="ai-bar8"></div><div class="ai-bar9"></div><div class="ai-bar10"></div></div>'};return angular.module("ngActivityIndicator",[]).provider("$activityIndicator",function(){this.setActivityIndicatorStyle=function(_activityIndicatorStyle){activityIndicatorStyle=_activityIndicatorStyle||activityIndicatorStyle},this.$get=["$rootScope","$timeout",function($rootScope,$timeout){var timer,publicMethods={startAnimating:function(){return $timeout.cancel(timer),$rootScope.AILoading=!0,publicMethods},stopAnimating:function(delay){if(!delay||"number"!=typeof delay)return ready();function ready(){$timeout.cancel(timer),$rootScope.AILoading=!1}return timer=$timeout(ready,delay),publicMethods},isAnimating:function(){return $rootScope.AILoading||!1}};return publicMethods}]}).directive("ngActivityIndicator",function(){return{restrict:"AE",compile:function(elem,attrs){var tmpl=function(styleName,skipNgShow){var parts=styleName.match(/([A-Z]?[^A-Z]*)/g).slice(0,-1),template=parts[0],color=parts[1].toLowerCase(),$template=angular.element(templates[template]);return"Circled"===template?$template.addClass("ai-"+color+"-spin"):$template.addClass("ai-"+color+"-parent"),skipNgShow&&$template.removeAttr("ng-show"),$template}(attrs.ngActivityIndicator||activityIndicatorStyle,!(!attrs.skipNgShow||"yes"!==attrs.skipNgShow));"BODY"===elem[0].nodeName&&angular.element(document.querySelectorAll("[ng-view]")).attr("ng-hide","AILoading || $root.AILoading");elem.append(tmpl)}}})}),function(a,b){"function"==typeof define&&define.amd?define(a):"undefined"!=typeof module&&"object"==typeof exports?module.exports=a():b.rangy=a()}(function(){function a(a,b){var c=typeof a[b];return c==u||!(c!=t||!a[b])||"unknown"==c}function b(a,b){return!(typeof a[b]!=t||!a[b])}function c(a,b){return typeof a[b]!=v}function d(a){return function(b,c){for(var d=c.length;d--;)if(!a(b,c[d]))return!1;return!0}}function e(a){return a&&A(a,z)&&C(a,y)}function f(a){return b(a,"body")?a.body:a.getElementsByTagName("body")[0]}function g(b){typeof console!=v&&a(console,"log")&&console.log(b)}function h(a,b){F&&b?alert(a):g(a)}function i(a){H.initialized=!0,H.supported=!1,h("Rangy is not supported in this environment. Reason: "+a,H.config.alertOnFail)}function k(a){return a.message||a.description||String(a)}function l(){if(F&&!H.initialized){var b,c=!1,d=!1;a(document,"createRange")&&(b=document.createRange(),A(b,x)&&C(b,w)&&(c=!0));var j,h=f(document);if(!h||"body"!=h.nodeName.toLowerCase())return void i("No body element found");if(h&&a(h,"createTextRange")&&(e(b=h.createTextRange())&&(d=!0)),!c&&!d)return void i("Neither Range nor TextRange are available");for(var m in H.initialized=!0,H.features={implementsDomRange:c,implementsTextRange:d},E)(j=E[m])instanceof p&&j.init(j,H);for(var n=0,o=K.length;n<o;++n)try{K[n](H)}catch(a){g("Rangy init listener threw an exception. Continuing. Detail: "+k(a))}}}function m(a,b,c){c&&(a+=" in module "+c.name),H.warn("DEPRECATED: "+a+" is deprecated. Please use "+b+" instead.")}function n(a,b,c,d){a[b]=function(){return m(b,c,d),a[c].apply(a,G.toArray(arguments))}}function p(a,b,c){this.name=a,this.dependencies=b,this.initialized=!1,this.supported=!1,this.initializer=c}function q(a,b,c){var d=new p(a,b,function(b){if(!b.initialized){b.initialized=!0;try{c(H,b),b.supported=!0}
vendor: 7,181 bytes, line 1
1catch(b){g("Module '"+a+"' failed to load: "+k(b)),b.stack&&g(b.stack)}}});return E[a]=d}function r(){}var I,J,t="object",u="function",v="undefined",w=["startContainer","startOffset","endContainer","endOffset","collapsed","commonAncestorContainer"],x=["setStart","setStartBefore","setStartAfter","setEnd","setEndBefore","setEndAfter","collapse","selectNode","selectNodeContents","compareBoundaryPoints","deleteContents","extractContents","cloneContents","insertNode","surroundContents","cloneRange","toString","detach"],y=["boundingHeight","boundingLeft","boundingTop","boundingWidth","htmlText","text"],z=["collapse","compareEndPoints","duplicate","moveToElementText","parentElement","select","setEndPoint","getBoundingClientRect"],A=d(a),B=d(b),C=d(c),D=[].forEach?function(a,b){a.forEach(b)}:function(a,b){for(var c=0,d=a.length;c<d;++c)b(a[c],c)},E={},F=typeof window!=v&&typeof document!=v,G={isHostMethod:a,isHostObject:b,isHostProperty:c,areHostMethods:A,areHostObjects:B,areHostProperties:C,isTextRange:e,getBody:f,forEach:D},H={version:"1.3.0",initialized:!1,isBrowser:F,supported:!0,util:G,features:{},modules:E,config:{alertOnFail:!1,alertOnWarn:!1,preferTextRange:!1,autoInitialize:typeof rangyAutoInitialize==v||rangyAutoInitialize}};H.fail=i,H.warn=function(a){h("Rangy warning: "+a,H.config.alertOnWarn)},!{}.hasOwnProperty?i("hasOwnProperty not supported"):(G.extend=I=function(a,b,c){var d,e;for(var f in b)b.hasOwnProperty(f)&&(d=a[f],e=b[f],c&&null!==d&&"object"==typeof d&&null!==e&&"object"==typeof e&&I(d,e,!0),a[f]=e);return b.hasOwnProperty("toString")&&(a.toString=b.toString),a},G.createOptions=function(a,b){var c={};return I(c,b),a&&I(c,a),c}),F||i("Rangy can only run in a browser"),function(){var a;if(F){var b=document.createElement("div");b.appendChild(document.createElement("span"));var c=[].slice;try{1==c.call(b.childNodes,0)[0].nodeType&&(a=function(a){return c.call(a,0)})}catch(a){}}a||(a=function(a){for(var b=[],c=0,d=a.length;c<d;++c)b[c]=a[c];return b}),G.toArray=a}(),F&&(a(document,"addEventListener")?J=function(a,b,c){a.addEventListener(b,c,!1)}:a(document,"attachEvent")?J=function(a,b,c){a.attachEvent("on"+b,c)}:i("Document does not have required addEventListener or attachEvent method"),G.addListener=J);var K=[];G.deprecationNotice=m,G.createAliasForDeprecatedMethod=n,H.init=l,H.addInitListener=function(a){H.initialized?a(H):K.push(a)};var L=[];H.addShimListener=function(a){L.push(a)},F&&(H.shim=H.createMissingNativeApi=function(a){a=a||window,l();for(var b=0,c=L.length;b<c;++b)L[b](a)},n(H,"createMissingNativeApi","shim")),p.prototype={init:function(){for(var a,b,c=this.dependencies||[],d=0,e=c.length;d<e;++d){if(b=c[d],!((a=E[b])&&a instanceof p))throw new Error("required module '"+b+"' not found");if(a.init(),!a.supported)throw new Error("required module '"+b+"' not supported")}this.initializer(this)},fail:function(a){throw this.initialized=!0,this.supported=!1,new Error(a)},warn:function(a){H.warn("Module "+this.name+": "+a)},deprecationNotice:function(a,b){H.warn("DEPRECATED: "+a+" in module "+this.name+" is deprecated. Please use "+b+" instead")},createError:function(a){return new Error("Error in Rangy "+this.name+" module: "+a)}},H.createModule=function(a){var b,d=q(a,2==arguments.length?(b=arguments[1],[]):(b=arguments[2],arguments[1]),b);H.initialized&&H.supported&&d.init()},H.createCoreModule=function(a,b,c){q(a,b,c)},H.RangePrototype=r,H.rangePrototype=new r,H.selectionPrototype=new function(){},H.createCoreModule("DomUtil",[],function(a,b){function e(a){for(var b=0;a=a.previousSibling;)++b;return b}function g(a,b){var c,d=[];for(c=a;c;c=c.parentNode)d.push(c);for(c=b;c;c=c.parentNode)if(K(d,c))return c;return null}function h(a,b,c){for(var d=c?b:b.parentNode;d;){if(d===a)return!0;d=d.parentNode}return!1}function j(a,b,c){for(var d,e=c?a:a.parentNode;e;){if((d=e.parentNode)===b)return e;e=d}return null}function k(a){var b=a.nodeType;return 3==b||4==b||8==b}function m(a,b){var c=b.nextSibling,d=b.parentNode;return c?d.insertBefore(a,c):d.appendChild(a),a}function o(a){if(9==a.nodeType)return a;if(typeof a.ownerDocument!=F)return a.ownerDocument;if(typeof a.document!=F)return a.document;if(a.parentNode)return o(a.parentNode);throw b.createError("getDocument: no document found for node")}function p(a){var c=o(a);if(typeof c.defaultView!=F)return c.defaultView;if(typeof c.parentWindow!=F)return c.parentWindow;throw b.createError("Cannot get a window object for node")}function q(a){if(typeof a.contentDocument!=F)return a.contentDocument;if(typeof a.contentWindow!=F)return a.contentWindow.document;throw b.createError("getIframeDocument: No Document object found for iframe element")}function s(a){return a&&G.isHostMethod(a,"setTimeout")&&G.isHostObject(a,"document")}function w(a){try{return a.parentNode,!1}catch(a){return!0}}function x(a){if(!a)return"[No node]";if(L&&w(a))return"[Broken node]";if(k(a))return'"'+a.data+'"';if(1!=a.nodeType)return a.nodeName;var b=a.id?' id="'+a.id+'"':"";return"<"+a.nodeName+b+">[index:"+e(a)+",length:"+a.childNodes.length+"]["+(a.innerHTML||"[innerHTML not supported]").slice(0,25)+"]"}function B(a){this.root=a,this._next=a}function D(a,b){this.node=a,this.offset=b}function E(a){this.code=this[a],this.codeName=a,this.message="DOMException: "+this.codeName}var F="undefined",G=a.util,H=G.getBody;G.areHostMethods(document,["createDocumentFragment","createElement","createTextNode"])||b.fail("document missing a Node creation method"),G.isHostMethod(document,"getElementsByTagName")||b.fail("document missing getElementsByTagName method");var I=document.createElement("div");G.areHostMethods(I,["insertBefore","appendChild","cloneNode"])||b.fail("Incomplete Element implementation"),G.isHostProperty(I,"innerHTML")||b.fail("Element is missing innerHTML property");var J=document.createTextNode("test");G.areHostMethods(J,["splitText","deleteData","insertData","appendData","cloneNode"])||b.fail("Incomplete Text Node implementation");var M,K=function(a,b){for(var c=a.length;c--;)if(a[c]===b)return!0;return!1},L=!1;!function(){var b=document.createElement("b");b.innerHTML="1";var c=b.firstChild;b.innerHTML="<br />",L=w(c),a.features.crashyTextNodes=L}(),typeof window.getComputedStyle!=F?M=function(a,b){return p(a).getComputedStyle(a,null)[b]}:typeof document.documentElement.currentStyle!=F?M=function(a,b){return a.currentStyle?a.currentStyle[b]:""}:b.fail("No means of obtaining computed style properties found"),B.prototype={_current:null,hasNext:function(){return!!this._next},next:function(){var a,b,c=this._current=this._next;if(this._current)if(a=c.firstChild)this._next=a;else{for(b=null;c!==this.root&&!(b=c.nextSibling);)c=c.parentNode;this._next=b}return this._current},detach:function(){this._current=this._next=this.root=null}},D.prototype={equals:function(a){return!!a&&this.node===a.node&&this.offset==a.offset},inspect:function(){return"[DomPosition("+x(this.node)+":"+this.offset+")]"},toString:function(){return this.inspect()}},(E.prototype={INDEX_SIZE_ERR:1,HIERARCHY_REQUEST_ERR:3,WRONG_DOCUMENT_ERR:4,NO_MODIFICATION_ALLOWED_ERR:7,NOT_FOUND_ERR:8,NOT_SUPPORTED_ERR:9,INVALID_STATE_ERR:11,INVALID_NODE_TYPE_ER
vendor: 33,792 bytes, line 1
1R:24}).toString=function(){return this.message},a.dom={arrayContains:K,isHtmlNamespace:function(a){var b;return typeof a.namespaceURI==F||null===(b=a.namespaceURI)||"http://www.w3.org/1999/xhtml"==b},parentElement:function(a){var b=a.parentNode;return 1==b.nodeType?b:null},getNodeIndex:e,getNodeLength:function(a){switch(a.nodeType){case 7:case 10:return 0;case 3:case 8:return a.length;default:return a.childNodes.length}},getCommonAncestor:g,isAncestorOf:h,isOrIsAncestorOf:function(a,b){return h(a,b,!0)},getClosestAncestorIn:j,isCharacterDataNode:k,isTextOrCommentNode:function(a){if(!a)return!1;var b=a.nodeType;return 3==b||8==b},insertAfter:m,splitDataNode:function(a,b,c){var d=a.cloneNode(!1);if(d.deleteData(0,b),a.deleteData(b,a.length-b),m(d,a),c)for(var f,g=0;f=c[g++];)f.node==a&&f.offset>b?(f.node=d,f.offset-=b):f.node==a.parentNode&&f.offset>e(a)&&++f.offset;return d},getDocument:o,getWindow:p,getIframeWindow:function(a){if(typeof a.contentWindow!=F)return a.contentWindow;if(typeof a.contentDocument!=F)return a.contentDocument.defaultView;throw b.createError("getIframeWindow: No Window object found for iframe element")},getIframeDocument:q,getBody:H,isWindow:s,getContentDocument:function(a,b,c){var d;if(a?G.isHostProperty(a,"nodeType")?d=1==a.nodeType&&"iframe"==a.tagName.toLowerCase()?q(a):o(a):s(a)&&(d=a.document):d=document,!d)throw b.createError(c+"(): Parameter must be a Window object or DOM node");return d},getRootContainer:function(a){for(var b;b=a.parentNode;)a=b;return a},comparePoints:function(a,c,d,f){var h,i,k,l,m;if(a==d)return c===f?0:c<f?-1:1;if(h=j(d,a,!0))return c<=e(h)?-1:1;if(h=j(a,d,!0))return e(h)<f?-1:1;if(!(i=g(a,d)))throw new Error("comparePoints error: nodes have no common ancestor");if((k=a===i?i:j(a,i,!0))===(l=d===i?i:j(d,i,!0)))throw b.createError("comparePoints got to case 4 and childA and childB are the same!");for(m=i.firstChild;m;){if(m===k)return-1;if(m===l)return 1;m=m.nextSibling}},isBrokenNode:w,inspectNode:x,getComputedStyleProperty:M,createTestElement:function(a,b,c){var d=H(a),e=a.createElement("div");e.contentEditable=""+!!c,b&&(e.innerHTML=b);var f=d.firstChild;return f?d.insertBefore(e,f):d.appendChild(e),e},removeNode:function(a){return a.parentNode.removeChild(a)},fragmentFromNodeChildren:function(a){for(var b,c=o(a).createDocumentFragment();b=a.firstChild;)c.appendChild(b);return c},createIterator:function(a){return new B(a)},DomPosition:D},a.DOMException=E}),H.createCoreModule("DomRange",["DomUtil"],function(a,b){function c(a,b){return 3!=a.nodeType&&(P(a,b.startContainer)||P(a,b.endContainer))}function d(a){return a.document||Q(a.startContainer)}function f(a){return new L(a.parentNode,O(a))}function g(a){return new L(a.parentNode,O(a)+1)}function h(a,b,c){var d=11==a.nodeType?a.firstChild:a;return N(b)?c==b.length?J.insertAfter(a,b):b.parentNode.insertBefore(a,0==c?b:S(b,c)):c>=b.childNodes.length?b.appendChild(a):b.insertBefore(a,b.childNodes[c]),d}function i(a,b,c){if(z(a),z(b),d(b)!=d(a))throw new M("WRONG_DOCUMENT_ERR");var e=R(a.startContainer,a.startOffset,b.endContainer,b.endOffset),f=R(a.endContainer,a.endOffset,b.startContainer,b.startOffset);return c?e<=0&&0<=f:e<0&&0<f}function k(a,b,c){var d,e,f,g;for(c=c||{stop:!1};f=a.next();)if(a.isPartiallySelectedSubtree()){if(!1===b(f))return void(c.stop=!0);if(k(g=a.getSubtreeIterator(),b,c),g.detach(),c.stop)return}else for(d=J.createIterator(f);e=d.next();)if(!1===b(e))return void(c.stop=!0)}function l(a){for(var b;a.next();)a.isPartiallySelectedSubtree()?(l(b=a.getSubtreeIterator()),b.detach()):a.remove()}function m(a){for(var b,c,e=d(a.range).createDocumentFragment();b=a.next();){if(a.isPartiallySelectedSubtree()?(b=b.cloneNode(!1),c=a.getSubtreeIterator(),b.appendChild(m(c)),c.detach()):a.remove(),10==b.nodeType)throw new M("HIERARCHY_REQUEST_ERR");e.appendChild(b)}return e}function o(a){return"["+(void 0===a.getName?"Range":a.getName())+"("+J.inspectNode(a.startContainer)+":"+a.startOffset+", "+J.inspectNode(a.endContainer)+":"+a.endOffset+")]"}function p(a,b){if(this.range=a,this.clonePartiallySelectedTextNodes=b,!a.collapsed){this.sc=a.startContainer,this.so=a.startOffset,this.ec=a.endContainer,this.eo=a.endOffset;var c=a.commonAncestorContainer;this.sc===this.ec&&N(this.sc)?(this.isSingleCharacterDataNode=!0,this._first=this._last=this._next=this.sc):(this._first=this._next=this.sc!==c||N(this.sc)?T(this.sc,c,!0):this.sc.childNodes[this.so],this._last=this.ec!==c||N(this.ec)?T(this.ec,c,!0):this.ec.childNodes[this.eo-1])}}function q(a){return function(b,c){for(var d,e=c?b:b.parentNode;e;){if(d=e.nodeType,V(a,d))return e;e=e.parentNode}return null}}function r(a,b){if(ea(a,b))throw new M("INVALID_NODE_TYPE_ERR")}function s(a,b){if(!V(b,a.nodeType))throw new M("INVALID_NODE_TYPE_ERR")}function t(a,b){if(b<0||b>(N(a)?a.length:a.childNodes.length))throw new M("INDEX_SIZE_ERR")}function u(a,b){if(ca(a,!0)!==ca(b,!0))throw new M("WRONG_DOCUMENT_ERR")}function v(a){if(da(a,!0))throw new M("NO_MODIFICATION_ALLOWED_ERR")}function w(a,b){if(!a)throw new M(b)}function x(a,b){return b<=(N(a)?a.length:a.childNodes.length)}function y(a){return!!a.startContainer&&!!a.endContainer&&!(X&&(J.isBrokenNode(a.startContainer)||J.isBrokenNode(a.endContainer)))&&W(a.startContainer)==W(a.endContainer)&&x(a.startContainer,a.startOffset)&&x(a.endContainer,a.endOffset)}function z(a){if(!y(a))throw new Error("Range error: Range is not valid. This usually happens after DOM mutation. Range: ("+a.inspect()+")")}function A(a,b){z(a);var c=a.startContainer,d=a.startOffset,e=a.endContainer,f=a.endOffset,g=c===e;N(e)&&0<f&&f<e.length&&S(e,f,b),N(c)&&0<d&&d<c.length&&(c=S(c,d,b),g?(f-=d,e=c):e==c.parentNode&&f>=O(c)&&f++,d=0),a.setStartAndEnd(c,d,e,f)}function B(a){z(a);var b=a.commonAncestorContainer.parentNode.cloneNode(!1);return b.appendChild(a.cloneContents()),b.innerHTML}function C(a){a.START_TO_START=ja,a.START_TO_END=ka,a.END_TO_END=la,a.END_TO_START=ma,a.NODE_BEFORE=na,a.NODE_AFTER=oa,a.NODE_BEFORE_AND_AFTER=pa,a.NODE_INSIDE=qa}function D(a){C(a),C(a.prototype)}function E(a,b){return function(){z(this);var d,e=this.startContainer,f=this.startOffset,h=this.commonAncestorContainer,i=new p(this,!0);e!==h&&(e=(d=g(T(e,h,!0))).node,f=d.offset),k(i,v),i.reset();var j=a(i);return i.detach(),b(this,e,f,e,f),j}}function F(b,d){function e(a,b){return function(c){s(c,Z),s(W(c),$);var d=(a?f:g)(c);(b?h:i)(this,d.node,d.offset)}}function h(a,b,c){var e=a.endContainer,f=a.endOffset;b===a.startContainer&&c===a.startOffset||(W(b)==W(e)&&1!=R(b,c,e,f)||(e=b,f=c),d(a,b,c,e,f))}function i(a,b,c){var e=a.startContainer,f=a.startOffset;b===a.endContainer&&c===a.endOffset||(W(b)==W(e)&&-1!=R(b,c,e,f)||(e=b,f=c),d(a,e,f,b,c))}var j=function(){};j.prototype=a.rangePrototype,b.prototype=new j,K.extend(b.prototype,{setStart:function(a,b){r(a,!0),t(a,b),h(this,a,b)},setEnd:function(a,b){r(a,!0),t(a,b),i(this,a,b)},setStartAndEnd:function(){var a=arguments,b=a[0],c=a[1],e=b,f=c;switch(a.length){case 3:f=a[2];break;case 4:e=a[2],f=a[3]}d(this,b,c,e,f)},setBoundary:function(a,b,c){this["set"+(c?"Start":"End")](a,b)},setStartBefore:e(!0,!0),setStartAfter:e(!1,!0),setEndBefore:e(!0,!1),setEndAfter:e(!1,!1),collapse:function(a){z(this),a?d(this,this.startContainer,this.startOffset,this.startContainer,this.startOffset):d(this,this.endContainer,this.endOffset,this.endContainer,this.endOffset)},selectNodeContents:function(a){r(a,!0),d(this,a,0,a,U(a))},selectNode:function(a){r(a,!1),s(a,Z);var b=f(a),c=g(a);d(this,b.node,b.offset,c.node,c.offset)},extractContents:E(m,d),deleteContents:E(l,d),canSurroundContents:function(){z(this),v(this.startContainer),v(this.endContainer);var a=new p(this,!0),b=a._first&&c(a._first,this)||a._last&&c(a._last,this);return a.detach(),!b},splitBoundaries:function(){A(this)},splitBoundariesPreservingPositions:function(a){A(this,a)},normalizeBoundaries:function(){z(this);var a,b=this.startContainer,c=this.startOffset,e=this.endContainer,f=this.endOffset,g=function(a){var b=a.nextSibling;b&&b.nodeType==a.nodeType&&(f=(e=a).length,a.appendData(b.data),Y(b))},h=function(a){var d=a.previousSibling;if(d&&d.nodeType==a.nodeType){var g=(b=a).length;if(c=d.length,a.insertData(0,d.data),Y(d),b==e)f+=c,e=b;else if(e==a.parentNode){var h=O(a);f==h?(e=a,f=g):h<f&&f--}}},i=!0;if(N(e))f==e.length?g(e):0==f&&((a=e.previousSibling)&&a.nodeType==e.nodeType&&(f=a.length,b==e&&(i=!1),a.appendData(e.data),Y(e),e=a));else{if(0<f){var j=e.childNodes[f-1];j&&N(j)&&g(j)}i=!this.collapsed}if(i){if(N(b))0==c?h(b):c==b.length&&((a=b.nextSibling)&&a.nodeType==b.nodeType&&(e==a&&(f+=(e=b).length),b.appendData(a.data),Y(a)));else if(c<b.childNodes.length){var k=b.childNodes[c];k&&N(k)&&h(k)}}else b=e,c=f;d(this,b,c,e,f)},collapseToPoint:function(a,b){r(a,!0),t(a,b),this.setStartAndEnd(a,b)}}),D(b)}function G(a){a.collapsed=a.startContainer===a.endContainer&&a.startOffset===a.endOffset,a.commonAncestorContainer=a.collapsed?a.startContainer:J.getCommonAncestor(a.startContainer,a.endContainer)}function H(a,b,c,d,e){a.startContainer=b,a.startOffset=c,a.endContainer=d,a.endOffset=e,a.document=J.getDocument(b),G(a)}function I(a){this.startContainer=a,this.startOffset=0,this.endContainer=a,this.endOffset=0,this.document=a,G(this)}var J=a.dom,K=a.util,L=J.DomPosition,M=a.DOMException,N=J.isCharacterDataNode,O=J.getNodeIndex,P=J.isOrIsAncestorOf,Q=J.getDocument,R=J.comparePoints,S=J.splitDataNode,T=J.getClosestAncestorIn,U=J.getNodeLength,V=J.arrayContains,W=J.getRootContainer,X=a.features.crashyTextNodes,Y=J.removeNode;p.prototype={_current:null,_next:null,_first:null,_last:null,isSingleCharacterDataNode:!1,reset:function(){this._current=null,this._next=this._first},hasNext:function(){return!!this._next},next:function(){var a=this._current=this._next;return a&&(this._next=a!==this._last?a.nextSibling:null,N(a)&&this.clonePartiallySelectedTextNodes&&(a===this.ec&&(a=a.cloneNode(!0)).deleteData(this.eo,a.length-this.eo),this._current===this.sc&&(a=a.cloneNode(!0)).deleteData(0,this.so))),a},remove:function(){var a,b,c=this._current;!N(c)||c!==this.sc&&c!==this.ec?c.parentNode&&Y(c):(a=c===this.sc?this.so:0)!=(b=c===this.ec?this.eo:c.length)&&c.deleteData(a,b-a)},isPartiallySelectedSubtree:function(){return c(this._current,this.range)},getSubtreeIterator:function(){var a;if(this.isSingleCharacterDataNode)(a=this.range.cloneRange()).collapse(!1);else{a=new I(d(this.range));var b=this._current,c=b,e=0,f=b,g=U(b);P(b,this.sc)&&(c=this.sc,e=this.so),P(b,this.ec)&&(f=this.ec,g=this.eo),H(a,c,e,f,g)}return new p(a,this.clonePartiallySelectedTextNodes)},detach:function(){this.range=this._current=this._next=this._first=this._last=this.sc=this.so=this.ec=this.eo=null}};var Z=[1,3,4,5,7,8,10],$=[2,9,11],aa=[1,3,4,5,7,8,10,11],ba=[1,3,4,5,7,8],ca=q([9,11]),da=q([5,6,10,12]),ea=q([6,10,12]),fa=document.createElement("style"),ga=!1;try{fa.innerHTML="<b>x</b>",ga=3==fa.firstChild.nodeType}catch(a){}var ha=(a.features.htmlParsingConforms=ga)?function(a){var b=this.startContainer,c=Q(b);if(!b)throw new M("INVALID_STATE_ERR");var d=null;return 1==b.nodeType?d=b:N(b)&&(d=J.parentElement(b)),(d=null===d||"HTML"==d.nodeName&&J.isHtmlNamespace(Q(d).documentElement)&&J.isHtmlNamespace(d)?c.createElement("body"):d.cloneNode(!1)).innerHTML=a,J.fragmentFromNodeChildren(d)}:function(a){var c=d(this).createElement("body");return c.innerHTML=a,J.fragmentFromNodeChildren(c)},ia=["startContainer","startOffset","endContainer","endOffset","collapsed","commonAncestorContainer"],ja=0,ka=1,la=2,ma=3,na=0,oa=1,pa=2,qa=3;K.extend(a.rangePrototype,{compareBoundaryPoints:function(a,b){z(this),u(this.startContainer,b.startContainer);var c,d,e,f,g=a==ma||a==ja?"start":"end",h=a==ka||a==ja?"start":"end";return c=this[g+"Container"],d=this[g+"Offset"],e=b[h+"Container"],f=b[h+"Offset"],R(c,d,e,f)},insertNode:function(a){if(z(this),s(a,aa),v(this.startContainer),P(a,this.startContainer))throw new M("HIERARCHY_REQUEST_ERR");var b=h(a,this.startContainer,this.startOffset);this.setStartBefore(b)},cloneContents:function(){var a,b;if(z(this),this.collapsed)return d(this).createDocumentFragment();if(this.startContainer===this.endContainer&&N(this.startContainer))return(a=this.startContainer.cloneNode(!0)).data=a.data.slice(this.startOffset,this.endOffset),(b=d(this).createDocumentFragment()).appendChild(a),b;var c=new p(this,!0);return a=function j(a){for(var b,c,e,f=d(a.range).createDocumentFragment();c=a.next();){if(b=a.isPartiallySelectedSubtree(),c=c.cloneNode(!b),b&&(e=a.getSubtreeIterator(),c.appendChild(j(e)),e.detach()),10==c.nodeType)throw new M("HIERARCHY_REQUEST_ERR");f.appendChild(c)}return f}(c),c.detach(),a},canSurroundContents:function(){z(this),v(this.startContainer),v(this.endContainer);var a=new p(this,!0),b=a._first&&c(a._first,this)||a._last&&c(a._last,this);return a.detach(),!b},surroundContents:function(a){if(s(a,ba),!this.canSurroundContents())throw new M("INVALID_STATE_ERR");var b=this.extractContents();if(a.hasChildNodes())for(;a.lastChild;)a.removeChild(a.lastChild);h(a,this.startContainer,this.startOffset),a.appendChild(b),this.selectNode(a)},cloneRange:function(){z(this);for(var a,b=new I(d(this)),c=ia.length;c--;)b[a=ia[c]]=this[a];return b},toString:function(){z(this);var a=this.startContainer;if(a===this.endContainer&&N(a))return 3==a.nodeType||4==a.nodeType?a.data.slice(this.startOffset,this.endOffset):"";var b=[],c=new p(this,!0);return k(c,function(a){3!=a.nodeType&&4!=a.nodeType||b.push(a.data)}),c.detach(),b.join("")},compareNode:function(a){z(this);var b=a.parentNode,c=O(a);if(!b)throw new M("NOT_FOUND_ERR");var d=this.comparePoint(b,c),e=this.comparePoint(b,c+1);return d<0?0<e?pa:na:0<e?oa:qa},comparePoint:function(a,b){return z(this),w(a,"HIERARCHY_REQUEST_ERR"),u(a,this.startContainer),R(a,b,this.startContainer,this.startOffset)<0?-1:0<R(a,b,this.endContainer,this.endOffset)?1:0},createContextualFragment:ha,toHtml:function(){return B(this)},intersectsNode:function(a,b){if(z(this),W(a)!=function(a){return W(a.startContainer)}(this))return!1;var c=a.parentNode,d=O(a);if(!c)return!0;var f=R(c,d,this.endContainer,this.endOffset),g=R(c,d+1,this.startContainer,this.startOffset);return b?f<=0&&0<=g:f<0&&0<g},isPointInRange:function(a,b){return z(this),w(a,"HIERARCHY_REQUEST_ERR"),u(a,this.startContainer),0<=R(a,b,this.startContainer,this.startOffset)&&R(a,b,this.endContainer,this.endOffset)<=0},intersectsRange:function(a){return i(this,a,!1)},intersectsOrTouchesRange:function(a){return i(this,a,!0)},intersection:function(a){if(this.intersectsRange(a)){var b=R(this.startContainer,this.startOffset,a.startContainer,a.startOffset),c=R(this.endContainer,this.endOffset,a.endContainer,a.endOffset),d=this.cloneRange();return-1==b&&d.setStart(a.startContainer,a.startOffset),1==c&&d.setEnd(a.endContainer,a.endOffset),d}return null},union:function(a){if(this.intersectsOrTouchesRange(a)){var b=this.cloneRange();return-1==R(a.startContainer,a.startOffset,this.startContainer,this.startOffset)&&b.setStart(a.startContainer,a.startOffset),1==R(a.endContainer,a.endOffset,this.endContainer,this.endOffset)&&b.setEnd(a.endContainer,a.endOffset),b}throw new M("Ranges do not intersect")},containsNode:function(a,b){return b?this.intersectsNode(a,!1):this.compareNode(a)==qa},containsNodeContents:function(a){return 0<=this.comparePoint(a,0)&&this.comparePoint(a,U(a))<=0},containsRange:function(a){var b=this.intersection(a);return null!==b&&a.equals(b)},containsNodeText:function(a){var b=this.cloneRange();b.selectNode(a);var c=b.getNodes([3]);if(0<c.length){b.setStart(c[0],0);var d=c.pop();return b.setEnd(d,d.length),this.containsRange(b)}return this.containsNodeContents(a)},getNodes:function(a,b){return z(this),function(a,b,c){var d,e=!(!b||!b.length),f=!!c;e&&(d=new RegExp("^("+b.join("|")+")$"));var g=[];return k(new p(a,!1),function(b){if((!e||d.test(b.nodeType))&&(!f||c(b))){var h=a.startContainer;if(b!=h||!N(h)||a.startOffset!=h.length){var i=a.endContainer;b==i&&N(i)&&0==a.endOffset||g.push(b)}}}),g}(this,a,b)},getDocument:function(){return d(this)},collapseBefore:function(a){this.setEndBefore(a),this.collapse(!1)},collapseAfter:function(a){this.setStartAfter(a),this.collapse(!0)},getBookmark:function(b){var c=d(this),e=a.createRange(c);b=b||J.getBody(c),e.selectNodeContents(b);var f=this.intersection(e),g=0,h=0;return f&&(e.setEnd(f.startContainer,f.startOffset),h=(g=e.toString().length)+f.toString().length),{start:g,end:h,containerNode:b}},moveToBookmark:function(a){var b=a.containerNode,c=0;this.setStart(b,0),this.collapse(!0);for(var d,e,f,g,h=[b],i=!1,j=!1;!j&&(d=h.pop());)if(3==d.nodeType)e=c+d.length,!i&&a.start>=c&&a.start<=e&&(this.setStart(d,a.start-c),i=!0),i&&a.end>=c&&a.end<=e&&(this.setEnd(d,a.end-c),j=!0),c=e;else for(f=(g=d.childNodes).length;f--;)h.push(g[f])},getName:function(){return"DomRange"},equals:function(a){return I.rangesEqual(this,a)},isValid:function(){return y(this)},inspect:function(){return o(this)},detach:function(){}}),F(I,H),K.extend(I,{rangeProperties:ia,RangeIterator:p,copyComparisonConstants:D,createPrototypeRange:F,inspect:o,toHtml:B,getRangeDocument:d,rangesEqual:function(a,b){return a.startContainer===b.startContainer&&a.startOffset===b.startOffset&&a.endContainer===b.endContainer&&a.endOffset===b.endOffset}}),a.DomRange=I}),H.createCoreModule("WrappedRange",["DomRange"],function(a,b){var c,d,e=a.dom,f=a.util,g=e.DomPosition,h=a.DomRange,i=e.getBody,j=e.getContentDocument,k=e.isCharacterDataNode;if(a.features.implementsDomRange&&function(){function d(a){for(var b,c=m.length;c--;)a[b=m[c]]=a.nativeRange[b];a.collapsed=a.startContainer===a.endContainer&&a.startOffset===a.endOffset}var k,l,m=h.rangeProperties;c=function(a){if(!a)throw b.createError("WrappedRange: Range must be specified");this.nativeRange=a,d(this)},h.createPrototypeRange(c,function(a,b,c,d,e){var f=a.startContainer!==b||a.startOffset!=c,g=a.endContainer!==d||a.endOffset!=e,h=!a.equals(a.nativeRange);(f||g||h)&&(a.setEnd(d,e),a.setStart(b,c))}),(k=c.prototype).selectNode=function(a){this.nativeRange.selectNode(a),d(this)},k.cloneContents=function(){return this.nativeRange.cloneContents()},k.surroundContents=function(a){this.nativeRange.surroundContents(a),d(this)},k.collapse=function(a){this.nativeRange.collapse(a),d(this)},k.cloneRange=function(){return new c(this.nativeRange.cloneRange())},k.refresh=function(){d(this)},k.toString=function(){return this.nativeRange.toString()};var n=document.createTextNode("test");i(document).appendChild(n);var o=document.createRange();o.setStart(n,0),o.setEnd(n,0);try{o.setStart(n,1),k.setStart=function(a,b){this.nativeRange.setStart(a,b),d(this)},k.setEnd=function(a,b){this.nativeRange.setEnd(a,b),d(this)},l=function(a){return function(b){this.nativeRange[a](b),d(this)}}}catch(a){k.setStart=function(a,b){try{this.nativeRange.setStart(a,b)}catch(c){this.nativeRange.setEnd(a,b),this.nativeRange.setStart(a,b)}d(this)},k.setEnd=function(a,b){try{this.nativeRange.setEnd(a,b)}catch(c){this.nativeRange.setStart(a,b),this.nativeRange.setEnd(a,b)}d(this)},l=function(a,b){return function(c){try{this.nativeRange[a](c)}catch(d){this.nativeRange[b](c),this.nativeRange[a](c)}d(this)}}}k.setStartBefore=l("setStartBefore","setEndBefore"),k.setStartAfter=l("setStartAfter","setEndAfter"),k.setEndBefore=l("setEndBefore","setStartBefore"),k.setEndAfter=l("setEndAfter","setStartAfter"),k.selectNodeContents=function(a){this.setStartAndEnd(a,0,e.getNodeLength(a))},o.selectNodeContents(n),o.setEnd(n,3);var p=document.createRange();p.selectNodeContents(n),p.setEnd(n,4),p.setStart(n,2),-1==o.compareBoundaryPoints(o.START_TO_END,p)&&1==o.compareBoundaryPoints(o.END_TO_START,p)?k.compareBoundaryPoints=function(a,b){return a==(b=b.nativeRange||b).START_TO_END?a=b.END_TO_START:a==b.END_TO_START&&(a=b.START_TO_END),this.nativeRange.compareBoundaryPoints(a,b)}:k.compareBoundaryPoints=function(a,b){return this.nativeRange.compareBoundaryPoints(a,b.nativeRange||b)};var q=document.createElement("div");q.innerHTML="123";var r=q.firstChild,s=i(document);s.appendChild(q),o.setStart(r,1),o.setEnd(r,2),o.deleteContents(),"13"==r.data&&(k.deleteContents=function(){this.nativeRange.deleteContents(),d(this)},k.extractContents=function(){var a=this.nativeRange.extractContents();return d(this),a}),s.removeChild(q),s=null,f.isHostMethod(o,"createContextualFragment")&&(k.createContextualFragment=function(a){return this.nativeRange.createContextualFragment(a)}),i(document).removeChild(n),k.getName=function(){return"WrappedRange"},a.WrappedRange=c,a.createNativeRange=function(a){return(a=j(a,b,"createNativeRange")).createRange()}}(),a.features.implementsTextRange){var n=function(a,b,c,d,f){var h=a.duplicate();h.collapse(c);var i=h.parentElement();if(e.isOrIsAncestorOf(b,i)||(i=b),!i.canHaveHTML){var j=new g(i.parentNode,e.getNodeIndex(i));return{boundaryPosition:j,nodeInfo:{nodeIndex:j.offset,containerElement:j.node}}}var l=e.getDocument(i).createElement("span");l.parentNode&&e.removeNode(l);for(var m,n,o,p,q,r=c?"StartToStart":"StartToEnd",s=f&&f.containerElement==i?f.nodeIndex:0,t=i.childNodes.length,u=t,v=u;v==t?i.appendChild(l):i.insertBefore(l,i.childNodes[v]),h.moveToElementText(l),0!=(m=h.compareEndPoints(r,a))&&s!=u;){if(-1==m){if(u==s+1)break;s=v}else u=u==s+1?s:v;v=Math.floor((s+u)/2),i.removeChild(l)}if(q=l.nextSibling,-1==m&&q&&k(q)){var w;if(h.setEndPoint(c?"EndToStart":"EndToEnd",a),/[\r\n]/.test(q.data)){var x=h.duplicate(),y=x.text.replace(/\r\n/g,"\r").length;for(w=x.moveStart("character",y);-1==(m=x.compareEndPoints("StartToEnd",x));)w++,x.moveStart("character",1)}else w=h.text.length;p=new g(q,w)}else n=(d||!c)&&l.previousSibling,p=(o=(d||c)&&l.nextSibling)&&k(o)?new g(o,0):n&&k(n)?new g(n,n.data.length):new g(i,e.getNodeIndex(l));return e.removeNode(l),{boundaryPosition:p,nodeInfo:{nodeIndex:v,containerElement:i}}},o=function(a,b){var c,d,f,g,h=a.offset,j=e.getDocument(a.node),l=i(j).createTextRange(),m=k(a.node);return d=m?(c=a.node).parentNode:(c=h<(g=a.node.childNodes).length?g[h]:null,a.node),(f=j.createElement("span")).innerHTML="&#feff;",c?d.insertBefore(f,c):d.appendChild(f),l.moveToElementText(f),l.collapse(!b),d.removeChild(f),m&&l[b?"moveStart":"moveEnd"]("character",h),l};((d=function(a){this.textRange=a,this.refresh()}).prototype=new h(document)).refresh=function(){var a,b,c,d=function(a){var b=a.parentElement(),c=a.duplicate();c.collapse(!0);var d=c.parentElement();(c=a.duplicate()).collapse(!1);var f=c.parentElement(),g=d==f?d:e.getCommonAncestor(d,f);return g==b?g:e.getCommonAncestor(b,g)}(this.textRange);b=function(a){return 0==a.compareEndPoints("StartToEnd",a)}(this.textRange)?a=n(this.textRange,d,!0,!0).boundaryPosition:(a=(c=n(this.textRange,d,!0,!1)).boundaryPosition,n(this.textRange,d,!1,!1,c.nodeInfo).boundaryPosition),this.setStart(a.node,a.offset),this.setEnd(b.node,b.offset)},d.prototype.getName=function(){return"WrappedTextRange"},h.copyComparisonConstants(d);var p=function(a){if(a.collapsed)return o(new g(a.startContainer,a.startOffset),!0);var b=o(new g(a.startContainer,a.startOffset),!0),c=o(new g(a.endContainer,a.endOffset),!1),d=i(h.getRangeDocument(a)).createTextRange();return d.setEndPoint("StartToStart",b),d.setEndPoint("EndToEnd",c),d};if(d.rangeToTextRange=p,d.prototype.toTextRange=function(){return p(this)},a.WrappedTextRange=d,!a.features.implementsDomRange||a.config.preferTextRange){var q=Function("return this;")();void 0===q.Range&&(q.Range=d),a.createNativeRange=function(a){return a=j(a,b,"createNativeRange"),i(a).createTextRange()},a.WrappedRange=d}}a.createRange=function(c){return c=j(c,b,"createRange"),new a.WrappedRange(a.createNativeRange(c))},a.createRangyRange=function(a){return a=j(a,b,"createRangyRange"),new h(a)},f.createAliasForDeprecatedMethod(a,"createIframeRange","createRange"),f.createAliasForDeprecatedMethod(a,"createIframeRangyRange","createRangyRange"),a.addShimListener(function(b){var c=b.document;void 0===c.createRange&&(c.createRange=function(){return a.createRange(c)}),c=b=null})}),H.createCoreModule("WrappedSelection",["DomRange","WrappedRange"],function(a,b){function c(a){return"string"==typeof a?/^backward(s)?$/i.test(a):!!a}function d(a,c){if(a){if(C.isWindow(a))return a;if(a instanceof r)return a.win;var d=C.getContentDocument(a,b,c);return C.getWindow(d)}return window}function f(a){return d(a,"getDocSelection").document.selection}function g(a){var b=!1;return a.anchorNode&&(b=1==C.comparePoints(a.anchorNode,a.anchorOffset,a.focusNode,a.focusOffset)),b}function h(a,b,c){var d=c?"end":"start",e=c?"start":"end";a.anchorNode=b[d+"Container"],a.anchorOffset=b[d+"Offset"],a.focusNode=b[e+"Container"],a.focusOffset=b[e+"Offset"]}function j(a){a.anchorNode=a.focusNode=null,a.anchorOffset=a.focusOffset=0,a.rangeCount=0,a.isCollapsed=!0,a._ranges.length=0}function k(b){var c;return b instanceof F?((c=a.createNativeRange(b.getDocument())).setEnd(b.endContainer,b.endOffset),c.setStart(b.startContainer,b.startOffset)):b instanceof G?c=b.nativeRange:J.implementsDomRange&&b instanceof C.getWindow(b.startContainer).Range&&(c=b),c}function m(a){var c=a.getNodes();if(!function(a){if(!a.length||1!=a[0].nodeType)return!1;for(var b=1,c=a.length;b<c;++b)if(!C.isAncestorOf(a[0],a[b]))return!1;return!0}(c))throw b.createError("getSingleElementFromRange: range "+a.inspect()+" did not consist of a single element");return c[0]}function n(a){return!!a&&void 0!==a.text}function o(a,b){var c=new G(b);a._ranges=[c],h(a,c,!1),a.rangeCount=1,a.isCollapsed=c.collapsed}function p(b){if(b._ranges.length=0,"None"==b.docSelection.type)j(b);else{var c=b.docSelection.createRange();if(n(c))o(b,c);else{b.rangeCount=c.length;for(var d,e=L(c.item(0)),f=0;f<b.rangeCount;++f)(d=a.createRange(e)).selectNode(c.item(f)),b._ranges.push(d);b.isCollapsed=1==b.rangeCount&&b._ranges[0].collapsed,h(b,b._ranges[b.rangeCount-1],!1)}}}function q(a,c){for(var d=a.docSelection.createRange(),e=m(c),f=L(d.item(0)),g=M(f).createControlRange(),h=0,i=d.length;h<i;++h)g.add(d.item(h));try{g.add(e)}catch(a){throw b.createError("addRange(): Element within the specified Range could not be added to control selection (does it have layout?)")}g.select(),p(a)}function r(a,b,c){this.nativeSelection=a,this.docSelection=b,this._ranges=[],this.win=c,this.refresh()}function s(a){a.win=a.anchorNode=a.focusNode=a._ranges=null,a.rangeCount=a.anchorOffset=a.focusOffset=0,a.detached=!0}function t(a,b){for(var c,d,e=ba.length;e--;)if(d=(c=ba[e]).selection,"deleteAll"==b)s(d);else if(c.win==a)return"delete"==b?(ba.splice(e,1),!0):d;return"deleteAll"==b&&(ba.length=0),null}function u(a,c){for(var d,e=L(c[0].startContainer),f=M(e).createControlRange(),g=0,h=c.length;g<h;++g){d=m(c[g]);try{f.add(d)}catch(a){throw b.createError("setRanges(): Element within one of the specified Ranges could not be added to control selection (does it have layout?)")}}f.select(),p(a)}function v(a,b){if(a.win.document!=L(b))throw new H("WRONG_DOCUMENT_ERR")}function w(b){return function(c,d){var e;this.rangeCount?(e=this.getRangeAt(0))["set"+(b?"Start":"End")](c,d):(e=a.createRange(this.win.document)).setStartAndEnd(c,d),this.setSingleRange(e,this.isBackward())}}function x(a){var b=[],c=new I(a.anchorNode,a.anchorOffset),d=new I(a.focusNode,a.focusOffset),e="function"==typeof a.getName?a.getName():"Selection";if(void 0!==a.rangeCount)for(var f=0,g=a.rangeCount;f<g;++f)b[f]=F.inspect(a.getRangeAt(f));return"["+e+"(Ranges: "+b.join(", ")+")(anchor: "+c.inspect()+", focus: "+d.inspect()+"]"}a.config.checkSelectionRanges=!0;var y,z,A="boolean",B="number",C=a.dom,D=a.util,E=D.isHostMethod,F=a.DomRange,G=a.WrappedRange,H=a.DOMException,I=C.DomPosition,J=a.features,K="Control",L=C.getDocument,M=C.getBody,N=F.rangesEqual,O=E(window,"getSelection"),P=D.isHostObject(document,"selection");J.implementsWinGetSelection=O;var Q=(J.implementsDocSelection=P)&&(!O||a.config.preferTextRange);if(Q)y=f,a.isSelectionValid=function(a){var b=d(a,"isSelectionValid").document,c=b.selection;return"None"!=c.type||L(c.createRange().parentElement())==b};else{if(!O)return b.fail("Neither document.selection or window.getSelection() detected."),!1;y=function(a){return d(a,"getWinSelection").getSelection()},a.isSelectionValid=function(){return!0}}var R=(a.getNativeSelection=y)();if(!R)return b.fail("Native selection was null (possibly issue 138?)"),!1;var S=a.createNativeRange(document),T=M(document),U=D.areHostProperties(R,["anchorNode","focusNode","anchorOffset","focusOffset"]);J.selectionHasAnchorAndFocus=U;var V=E(R,"extend");J.selectionHasExtend=V;var W=typeof R.rangeCount==B;J.selectionHasRangeCount=W;var X=!1,Y=!0,Z=V?function(b,c){var d=F.getRangeDocument(c),e=a.createRange(d);e.collapseToPoint(c.endContainer,c.endOffset),b.addRange(k(e)),b.extend(c.startContainer,c.startOffset)}:null;D.areHostMethods(R,["addRange","getRangeAt","removeAllRanges"])&&typeof R.rangeCount==B&&J.implementsDomRange&&function(){var b=window.getSelection();if(b){for(var c=b.rangeCount,d=1<c,e=[],f=g(b),h=0;h<c;++h)e[h]=b.getRangeAt(h);var i=C.createTestElement(document,"",!1),j=i.appendChild(document.createTextNode("Â Â Â ")),k=document.createRange();if(k.setStart(j,1),k.collapse(!0),b.removeAllRanges(),b.addRange(k),Y=1==b.rangeCount,b.removeAllRanges(),!d){var l=window.navigator.appVersion.match(/Chrome\/(.*?) /);if(l&&36<=parseInt(l[1]))X=!1;else{var m=k.cloneRange();k.setStart(j,0),m.setEnd(j,3),m.setStart(j,2),b.addRange(k),b.addRange(m),X=2==b.rangeCount}}for(C.removeNode(i),b.removeAllRanges(),h=0;h<c;++h)0==h&&f?Z?Z(b,e[h]):(a.warn("Rangy initialization: original selection was backwards but selection has been restored forwards because the browser does not support Selection.extend"),b.addRange(e[h])):b.addRange(e[h])}}(),J.selectionSupportsMultipleRanges=X,J.collapsedNonEditableSelectionsSupported=Y;var $,aa,_=!1;T&&E(T,"createControlRange")&&($=T.createControlRange(),D.areHostProperties($,["item","add"])&&(_=!0)),J.implementsControlRange=_,z=U?function(a){return a.anchorNode===a.focusNode&&a.anchorOffset===a.focusOffset}:function(a){return!!a.rangeCount&&a.getRangeAt(a.rangeCount-1).collapsed},E(R,"getRangeAt")?aa=function(a,b){try{return a.getRangeAt(b)}catch(a){return null}}:U&&(aa=function(b){var c=L(b.anchorNode),d=a.createRange(c);return d.setStartAndEnd(b.anchorNode,b.anchorOffset,b.focusNode,b.focusOffset),d.collapsed!==this.isCollapsed&&d.setStartAndEnd(b.focusNode,b.focusOffset,b.anchorNode,b.anchorOffset),d}),r.prototype=a.selectionPrototype;var ba=[],ca=function(a){if(a&&a instanceof r)return a.refresh(),a;var b=t(a=d(a,"getNativeSelection")),c=y(a),e=P?f(a):null;return b?(b.nativeSelection=c,b.docSelection=e,b.refresh()):(b=new r(c,e,a),ba.push({win:a,selection:b})),b};a.getSelection=ca,D.createAliasForDeprecatedMethod(a,"getIframeSelection","getSelection");var fa,da=r.prototype;if(!Q&&U&&D.areHostMethods(R,["removeAllRanges","addRange"])){da.removeAllRanges=function(){this.nativeSelection.removeAllRanges(),j(this)};var ea=function(a,b){Z(a.nativeSelection,b),a.refresh()};da.addRange=W?function(b,d){if(_&&P&&this.docSelection.type==K)q(this,b);else if(c(d)&&V)ea(this,b);else{var e;e=X?this.rangeCount:(this.removeAllRanges(),0);var f=k(b).cloneRange();try{this.nativeSelection.addRange(f)}catch(a){}if(this.rangeCount=this.nativeSelection.rangeCount,this.rangeCount==e+1){if(a.config.checkSelectionRanges){var g=aa(this.nativeSelection,this.rangeCount-1);g&&!N(g,b)&&(b=new G(g))}this._ranges[this.rangeCount-1]=b,h(this,b,ha(this.nativeSelection)),this.isCollapsed=z(this)}else this.refresh()}}:function(a,b){c(b)&&V?ea(this,a):(this.nativeSelection.addRange(k(a)),this.refresh())},da.setRanges=function(a){if(_&&P&&1<a.length)u(this,a);else{this.removeAllRanges();for(var b=0,c=a.length;b<c;++b)this.addRange(a[b])}}}else{if(!(E(R,"empty")&&E(S,"select")&&_&&Q))return b.fail("No means of selecting a Range or TextRange was found"),!1;da.removeAllRanges=function(){try{if(this.docSelection.empty(),"None"!=this.docSelection.type){var a;if(this.anchorNode)a=L(this.anchorNode);else if(this.docSelection.type==K){var b=this.docSelection.createRange();b.length&&(a=L(b.item(0)))}if(a)M(a).createTextRange().select(),this.docSelection.empty()}}catch(a){}j(this)},da.addRange=function(b){this.docSelection.type==K?q(this,b):(a.WrappedTextRange.rangeToTextRange(b).select(),this._ranges[0]=b,this.rangeCount=1,this.isCollapsed=this._ranges[0].collapsed,h(this,b,!1))},da.setRanges=function(a){this.removeAllRanges();var b=a.length;1<b?u(this,a):b&&this.addRange(a[0])}}if(da.getRangeAt=function(a){if(a<0||a>=this.rangeCount)throw new H("INDEX_SIZE_ERR");return this._ranges[a].cloneRange()},Q)fa=function(b){var c;a.isSelectionValid(b.win)?c=b.docSelection.createRange():(c=M(b.win.document).createTextRange()).collapse(!0),b.docSelection.type==K?p(b):n(c)?o(b,c):j(b)};else if(E(R,"getRangeAt")&&typeof R.rangeCount==B)fa=function(b){if(_&&P&&b.docSelection.type==K)p(b);else if(b._ranges.length=b.rangeCount=b.nativeSelection.rangeCount,b.rangeCount){for(var c=0,d=b.rangeCount;c<d;++c)b._ranges[c]=new a.WrappedRange(b.nativeSelection.getRangeAt(c));h(b,b._ranges[b.rangeCount-1],ha(b.nativeSelection)),b.isCollapsed=z(b)}else j(b)};else{if(!U||typeof R.isCollapsed!=A||typeof S.collapsed!=A||!J.implementsDomRange)return b.fail("No means of obtaining a Range or TextRange from the user's selection was found"),!1;fa=function(a){var b,c=a.nativeSelection;c.anchorNode?(b=aa(c,0),a._ranges=[b],a.rangeCount=1,function(a){var b=a.nativeSelection;a.anchorNode=b.anchorNode,a.anchorOffset=b.anchorOffset,a.focusNode=b.focusNode,a.focusOffset=b.focusOffset}(a),a.isCollapsed=z(a)):j(a)}}da.refresh=function(a){var b=a?this._ranges.slice(0):null,c=this.anchorNode,d=this.anchorOffset;if(fa(this),a){var e=b.length;if(e!=this._ranges.length)return!0;
vendor: 4,720 bytes, line 1
1if(this.anchorNode!=c||this.anchorOffset!=d)return!0;for(;e--;)if(!N(b[e],this._ranges[e]))return!0;return!1}};var ha,ga=function(a,b){var c=a.getAllRanges();a.removeAllRanges();for(var d=0,e=c.length;d<e;++d)N(b,c[d])||a.addRange(c[d]);a.rangeCount||j(a)};da.removeRange=_&&P?function(a){if(this.docSelection.type==K){for(var c=this.docSelection.createRange(),d=m(a),e=L(c.item(0)),f=M(e).createControlRange(),g=!1,h=0,i=c.length;h<i;++h)c.item(h)!==d||g?f.add(c.item(h)):g=!0;f.select(),p(this)}else ga(this,a)}:function(a){ga(this,a)},!Q&&U&&J.implementsDomRange?(ha=g,da.isBackward=function(){return ha(this)}):ha=da.isBackward=function(){return!1},da.isBackwards=da.isBackward,da.toString=function(){for(var a=[],b=0,c=this.rangeCount;b<c;++b)a[b]=""+this._ranges[b];return a.join("")},da.collapse=function(b,c){v(this,b);var d=a.createRange(b);d.collapseToPoint(b,c),this.setSingleRange(d),this.isCollapsed=!0},da.collapseToStart=function(){if(!this.rangeCount)throw new H("INVALID_STATE_ERR");var a=this._ranges[0];this.collapse(a.startContainer,a.startOffset)},da.collapseToEnd=function(){if(!this.rangeCount)throw new H("INVALID_STATE_ERR");var a=this._ranges[this.rangeCount-1];this.collapse(a.endContainer,a.endOffset)},da.selectAllChildren=function(b){v(this,b);var c=a.createRange(b);c.selectNodeContents(b),this.setSingleRange(c)},da.deleteFromDocument=function(){if(_&&P&&this.docSelection.type==K){for(var a,b=this.docSelection.createRange();b.length;)a=b.item(0),b.remove(a),C.removeNode(a);this.refresh()}else if(this.rangeCount){var c=this.getAllRanges();if(c.length){this.removeAllRanges();for(var d=0,e=c.length;d<e;++d)c[d].deleteContents();this.addRange(c[e-1])}}},da.eachRange=function(a,b){for(var c=0,d=this._ranges.length;c<d;++c)if(a(this.getRangeAt(c)))return b},da.getAllRanges=function(){var a=[];return this.eachRange(function(b){a.push(b)}),a},da.setSingleRange=function(a,b){this.removeAllRanges(),this.addRange(a,b)},da.callMethodOnEachRange=function(a,b){var c=[];return this.eachRange(function(d){c.push(d[a].apply(d,b||[]))}),c},da.setStart=w(!0),da.setEnd=w(!1),a.rangePrototype.select=function(a){ca(this.getDocument()).setSingleRange(this,a)},da.changeEachRange=function(a){var b=[],c=this.isBackward();this.eachRange(function(c){a(c),b.push(c)}),this.removeAllRanges(),c&&1==b.length?this.addRange(b[0],"backward"):this.setRanges(b)},da.containsNode=function(a,b){return this.eachRange(function(c){return c.containsNode(a,b)},!0)||!1},da.getBookmark=function(a){return{backward:this.isBackward(),rangeBookmarks:this.callMethodOnEachRange("getBookmark",[a])}},da.moveToBookmark=function(b){for(var c,d,e=[],f=0;c=b.rangeBookmarks[f++];)(d=a.createRange(this.win)).moveToBookmark(c),e.push(d);b.backward?this.setSingleRange(e[0],"backward"):this.setRanges(e)},da.saveRanges=function(){return{backward:this.isBackward(),ranges:this.callMethodOnEachRange("cloneRange")}},da.restoreRanges=function(a){this.removeAllRanges();for(var b,c=0;b=a.ranges[c];++c)this.addRange(b,a.backward&&0==c)},da.toHtml=function(){var a=[];return this.eachRange(function(b){a.push(F.toHtml(b))}),a.join("")},J.implementsTextRange&&(da.getNativeTextRange=function(){var c;if(c=this.docSelection){var d=c.createRange();if(n(d))return d;throw b.createError("getNativeTextRange: selection is a control selection")}if(0<this.rangeCount)return a.WrappedTextRange.rangeToTextRange(this.getRangeAt(0));throw b.createError("getNativeTextRange: selection contains no range")}),da.getName=function(){return"WrappedSelection"},da.inspect=function(){return x(this)},da.detach=function(){t(this.win,"delete"),s(this)},r.detachAll=function(){t(null,"deleteAll")},r.inspect=x,r.isDirectionBackward=c,a.Selection=r,a.selectionPrototype=da,a.addShimListener(function(a){void 0===a.getSelection&&(a.getSelection=function(){return ca(a)}),a=null})});var M=!1,N=function(a){M||(M=!0,!H.initialized&&H.config.autoInitialize&&l())};return F&&("complete"==document.readyState?N():(a(document,"addEventListener")&&document.addEventListener("DOMContentLoaded",N,!1),J(window,"load",N))),H},this),function(a,b){"function"==typeof define&&define.amd?define(["./rangy-core"],a):"undefined"!=typeof module&&"object"==typeof exports?module.exports=a(require("rangy")):a(b.rangy)}(function(a){return a.createModule("SaveRestore",["WrappedRange"],function(a,b){function c(a,b){return(b||document).getElementById(a)}function d(a,b){var c,d="selectionBoundary_"+ +new Date+"_"+(""+Math.random()).slice(2),e=o.getDocument(a.startContainer),f=a.cloneRange();return f.collapse(b),(c=e.createElement("span")).id=d,c.style.lineHeight="0",c.style.display="none",c.className="rangySelectionBoundary",c.appendChild(e.createTextNode(r)),f.insertN
1ode(c),c}function e(a,d,e,f){var g=c(e,a);g?(d[f?"setStartBefore":"setEndBefore"](g),p(g)):b.warn("Marker element has been removed. Cannot restore selection.")}function f(a,b){return b.compareBoundaryPoints(a.START_TO_START,a)}function g(b,c){var f,g=a.DomRange.getRangeDocument(b),h=b.toString(),i=q(c);return b.collapsed?{document:g,markerId:(f=d(b,!1)).id,collapsed:!0}:(f=d(b,!1),{document:g,startMarkerId:d(b,!0).id,endMarkerId:f.id,collapsed:!1,backward:i,toString:function(){return"original text: '"+h+"', new text: '"+b.toString()+"'"}})}function h(d,f){var g=d.document;void 0===f&&(f=!0);var h=a.createRange(g);if(d.collapsed){var i=c(d.markerId,g);if(i){i.style.display="inline";var j=i.previousSibling;j&&3==j.nodeType?(p(i),h.collapseToPoint(j,j.length)):(h.collapseBefore(i),p(i))}else b.warn("Marker element has been removed. Cannot restore selection.")}else e(g,h,d.startMarkerId,!0),e(g,h,d.endMarkerId,!1);return f&&h.normalizeBoundaries(),h}function i(b,d){var e,h,i=[],j=q(d);(b=b.slice(0)).sort(f);for(var k=0,l=b.length;k<l;++k)i[k]=g(b[k],j);for(k=l-1;0<=k;--k)e=b[k],h=a.DomRange.getRangeDocument(e),e.collapsed?e.collapseAfter(c(i[k].markerId,h)):(e.setEndBefore(c(i[k].endMarkerId,h)),e.setStartAfter(c(i[k].startMarkerId,h)));return i}function k(a){for(var b=[],d=a.length-1;0<=d;d--)b[d]=h(a[d],!0);return b}function m(a,b){var d=c(b,a);d&&p(d)}var o=a.dom,p=o.removeNode,q=a.Selection.isDirectionBackward,r="\ufeff";a.util.extend(a,{saveRange:g,restoreRange:h,saveRanges:i,restoreRanges:k,saveSelection:function(c){if(!a.isSelectionValid(c))return b.warn("Cannot save selection. This usually happens when the selection is collapsed and the selection document has lost focus."),null;var d=a.getSelection(c),e=d.getAllRanges(),f=1==e.length&&d.isBackward(),g=i(e,f);return f?d.setSingleRange(e[0],f):d.setRanges(e),{win:c,rangeInfos:g,restored:!1}},restoreSelection:function(b,c){if(!b.restored){var d=b.rangeInfos,e=a.getSelection(b.win),f=k(d);1==d.length&&c&&a.features.selectionHasExtend&&d[0].backward?(e.removeAllRanges(),e.addRange(f[0],!0)):e.setRanges(f),b.restored=!0}},removeMarkerElement:m,removeMarkers:function(a){for(var b,c=a.rangeInfos,d=0,e=c.length;d<e;++d)(b=c[d]).collapsed?m(a.doc,b.markerId):(m(a.doc,b.startMarkerId),m(a.doc,b.endMarkerId))}})}),a},this),function(a,b,c){"use strict";function e(a){var c=[];return l(c,b.noop).chars(a),c.join("")}function f(a){var b,c={},d=a.split(",");for(b=0;b<d.length;b++)c[d[b]]=!0;return c}function g(a,c){function d(a,d,f,g){if(d=b.lowercase(d),D[d])for(;k.last()&&E[k.last()];)e("",k.last());C[d]&&k.last()==d&&e("",d),(g=z[d]||!!g)||k.push(d);var i={};f.replace(p,function(a,b,c,d,e){var f=c||d||e||"";i[b]=h(f)}),c.start&&c.start(d,i,g)}function e(a,d){var e,f=0;if(d=b.lowercase(d))for(f=k.length-1;0<=f&&k[f]!=d;f--);if(0<=f){for(e=k.length-1;f<=e;e--)c.end&&c.end(k[e]);k.length=f}}"string"!=typeof a&&(a=null==a?"":""+a);var f,g,i,j,k=[],l=a;for(k.last=function(){return k[k.length-1]};a;){if(g=!(j=""),k.last()&&G[k.last()]?(a=a.replace(new RegExp("([^]*)<\\s*\\/\\s*"+k.last()+"[^>]*>","i"),function(a,b){return b=b.replace(s,"$1").replace(v,"$1"),c.chars&&c.chars(h(b)),""}),e(0,k.last())):(y.test(a)?(i=a.match(y))&&(i[0],c.whitespace&&c.whitespace(i[0]),a=a.replace(i[0],""),g=!1):t.test(a)?(i=a.match(t))&&(c.comment&&c.comment(i[1]),a=a.replace(i[0],""),g=!1):u.test(a)?(i=a.match(u))&&(a=a.replace(i[0],""),g=!1):r.test(a)?(i=a.match(o))&&(a=a.substring(i[0].length),i[0].replace(o,e),g=!1):q.test(a)&&((i=a.match(n))?(i[4]&&(a=a.substring(i[0].length),i[0].replace(n,d)),g=!1):(j+="<",a=a.substring(1))),g&&(j+=(f=a.indexOf("<"))<0?a:a.substring(0,f),a=f<0?"":a.substring(f),c.chars&&c.chars(h(j)))),a==l)throw m("badparse","The sanitizer was unable to parse the following block of html: {0}",a);l=a}e()}function h(a){if(!a)return"";var b=N.exec(a),c=b[1],d=b[3],e=b[2];return e&&(M.innerHTML=e.replace(/</g,"<"),e="textContent"in M?M.textContent:M.innerText),c+e+d}function i(a){return a.replace(/&/g,"&").replace(w,function(a){return"&#"+(1024*(a.charCodeAt(0)-55296)+(a.charCodeAt(1)-56320)+65536)+";"}
1).replace(x,function(a){var b=a.charCodeAt(0);return b<=159||173==b||1536<=b&&b<=1540||1807==b||6068==b||6069==b||8204<=b&&b<=8207||8232<=b&&b<=8239||8288<=b&&b<=8303||65279==b||65520<=b&&b<=65535?"&#"+b+";":a}).replace(/</g,"<").replace(/>/g,">")}function l(a,c){var d=!1,e=b.bind(a,a.push);return{start:function(a,f,g){a=b.lowercase(a),!d&&G[a]&&(d=a),d||!0!==H[a]||(e("<"),e(a),b.forEach(f,function(d,g){var h=b.lowercase(g),l="img"===a&&"src"===h||"background"===h;("style"===h&&""!==(d=function(a){var c="",d=a.split(";");return b.forEach(d,function(a){var d=a.split(":");if(2==d.length){var e=O(b.lowercase(d[0]));a=O(b.lowercase(d[1])),(("color"===e||"background-color"===e)&&(a.match(/^rgb\([0-9%,\. ]*\)$/i)||a.match(/^rgba\([0-9%,\. ]*\)$/i)||a.match(/^hsl\([0-9%,\. ]*\)$/i)||a.match(/^hsla\([0-9%,\. ]*\)$/i)||a.match(/^#[0-9a-f]{3,6}$/i)||a.match(/^[a-z]*$/i))||"text-align"===e&&("left"===a||"right"===a||"center"===a||"justify"===a)||"text-decoration"===e&&("underline"===a||"line-through"===a)||"font-weight"===e&&"bold"===a||"font-style"===e&&"italic"===a||"float"===e&&("left"===a||"right"===a||"none"===a)||"vertical-align"===e&&("baseline"===a||"sub"===a||"super"===a||"test-top"===a||"text-bottom"===a||"middle"===a||"top"===a||"bottom"===a||a.match(/[0-9]*(px|em)/)||a.match(/[0-9]+?%/))||"font-size"===e&&("xx-small"===a||"x-small"===a||"small"===a||"medium"===a||"large"===a||"x-large"===a||"xx-large"===a||"larger"===a||"smaller"===a||a.match(/[0-9]*\.?[0-9]*(px|em|rem|mm|q|cm|in|pt|pc|%)/))||("width"===e||"height"===e)&&a.match(/[0-9\.]*(px|em|rem|%)/)||"direction"===e&&a.match(/^ltr|rtl|initial|inherit$/))&&(c+=e+": "+a+";")}}),c}(d))||function(a,b,c,d){return!("img"!==a||!b["ta-insert-video"]||"ta-insert-video"!==c&&"allowfullscreen"!==c&&"frameborder"!==c&&("contenteditable"!==c||"false"!==d))}(a,f,h,d)||!0===L[h]&&(!0!==I[h]||c(d,l)))&&(e(" "),e(g),e('="'),e(i(d)),e('"'))}),e(g?"/>":">"))},comment:function(a){e(a)},whitespace:function(a){e(i(a))},end:function(a){a=b.lowercase(a),d||!0!==H[a]||(e("</"),e(a),e(">")),a==d&&(d=!1)},chars:function(a){d||e(i(a))}}}var m=b.$$minErr("$sanitize"),n=/^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/,o=/^<\/\s*([\w:-]+)[^>]*>/,p=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,q=/^</,r=/^<\//,s=/<!--(.*?)-->/g,t=/(^<!--.*?-->)/,u=/<!DOCTYPE([^>]*?)>/i,v=/<!\[CDATA\[(.*?)]]>/g,w=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,x=/([^\#-~| |!])/g,y=/^(\s+)/,z=f("area,br,col,hr,img,wbr,input"),A=f("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),B=f("rp,rt"),C=b.extend({},B,A),D=b.extend({},A,f("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")),E=b.extend({},B,f("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),F=f("animate,animateColor,animateMotion,animateTransform,circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,set,stop,svg,switch,text,title,tspan,use"),G=f("script,style"),H=b.extend({},z,D,E,C,F),I=f("background,cite,href,longdesc,src,usemap,xlink:href"),J=f("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,id,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,target,title,type,valign,value,vspace,width"),K=f("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,attributeName,attributeType,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,str
1ikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan"),L=b.extend({},I,K,J),M=document.createElement("pre"),N=/^(\s*)([\s\S]*?)(\s*)$/,O=String.prototype.trim?function(a){return b.isString(a)?a.trim():a}:function(a){return b.isString(a)?a.replace(/^\s\s*/,"").replace(/\s\s*$/,""):a};b.module("ngSanitize",[]).provider("$sanitize",function(){this.$get=["$$sanitizeUri",function(a){return function(b){void 0!==arguments[1]&&(arguments[1].version="taSanitize");var c=[];return g(b,l(c,function(b,c){return!/^unsafe/.test(a(b,c))})),c.join("")}}]}),b.module("ngSanitize").filter("linky",["$sanitize",function(a){var c=/((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"ââ]/,d=/^mailto:/;return function(f,g){function h(a){a&&n.push(e(a))}function i(a,c){n.push("<a "),b.isDefined(g)&&n.push('target="',g,'" '),n.push('href="',a.replace(/"/g,"""),'">'),h(c),n.push("</a>")}if(!f)return f;for(var j,k,l,m=f,n=[];j=m.match(c);)k=j[0],j[2]||j[4]||(k=(j[3]?"http://":"mailto:")+k),l=j.index,h(m.substr(0,l)),i(k,j[0].replace(d,"")),m=m.substring(l+j[0].length);return h(m),a(n.join(""))}}])}(window,window.angular),function(a,b){"function"==typeof define&&define.amd?define("textAngular",["rangy","rangy/lib/rangy-selectionsaverestore"],function(c,d){return a["textAngular.name"]=b(c)}):"object"==typeof exports?module.exports=b(require("rangy"),require("rangy/lib/rangy-selectionsaverestore")):a.textAngular=b(rangy)}(this,function(a){var e={};angular.module("textAngularSetup",[]).constant("taRegisterTool",function(a,c){if(!a||""===a||e.hasOwnProperty(a))throw"textAngular Error: A unique name is required for a Tool Definition";if(c.display&&(""===c.display||!function(a){try{return 0!==angular.element(a).length}catch(a){return!1}}(c.display))||!c.display&&!c.buttontext&&!c.iconclass)throw'textAngular Error: Tool Definition for "'+a+'" does not have a valid display/iconclass/buttontext value';e[a]=c}).value("taTools",e).value("taOptions",{forceTextAngularSanitize:!0,keyMappings:[],toolbar:[["h1","h2","h3","h4","h5","h6","p","pre","quote"],["bold","italics","underline","strikeThrough","ul","ol","redo","undo","clear"],["justifyLeft","justifyCenter","justifyRight","justifyFull","indent","outdent"],["html","insertImage","insertLink","insertVideo","wordcount","charcount"]],classes:{focussed:"focussed",toolbar:"btn-toolbar",toolbarGroup:"btn-group",toolbarButton:"btn btn-default",toolbarButtonActive:"active",disabled:"disabled",textEditor:"form-control",htmlEditor:"form-control"},defaultTagAttributes:{a:{target:""}},setup:{textEditorSetup:function(a){},htmlEditorSetup:function(a){}},defaultFileDropHandler:function(a,b){var c=new FileReader;return"image"===a.type.substring(0,5)&&(c.onload=function(){""!==c.result&&b("insertImage",c.result,!0)},c.readAsDataURL(a),!0)}}).value("taSelectableElements",["a","img"]).value("taCustomRenderers",[{selector:"img",customAttribute:"ta-insert-video",renderLogic:function(a){var b=angular.element("<iframe></iframe>"),c=a.prop("attributes");angular.forEach(c,function(a){b.attr(a.name,a.value)}),b.attr("src",b.attr("ta-insert-video")),a.replaceWith(b)}}]).value("taTranslations",{html:{tooltip:"Toggle html / Rich Text"},heading:{tooltip:"Heading "},p:{tooltip:"Paragraph"},pre:{tooltip:"Preformatted text"},ul:{tooltip:"Unordered List"},ol:{tooltip:"Ordered List"},quote:{tooltip:"Quote/unquote selection or paragraph"},undo:{tooltip:"Undo"},redo:{tooltip:"Redo"},bold:{tooltip:"Bold"},italic:{tooltip:"Italic"},underline:{tooltip:"Underline"},strikeThrough:{tooltip:"Strikethrough"},justifyLeft:{tooltip:"Align text left"},justifyRight:{tooltip:"Align text right"},justifyFull:{tooltip:"Justify text"}
vendor: 26,483 bytes, line 1
1,justifyCenter:{tooltip:"Center"},indent:{tooltip:"Increase indent"},outdent:{tooltip:"Decrease indent"},clear:{tooltip:"Clear formatting"},insertImage:{dialogPrompt:"Please enter an image URL to insert",tooltip:"Insert image",hotkey:"the - possibly language dependent hotkey ... for some future implementation"},insertVideo:{tooltip:"Insert video",dialogPrompt:"Please enter a youtube URL to embed"},insertLink:{tooltip:"Insert / edit link",dialogPrompt:"Please enter a URL to insert"},editLink:{reLinkButton:{tooltip:"Relink"},unLinkButton:{tooltip:"Unlink"},targetToggle:{buttontext:"Open in New Window"}},wordcount:{tooltip:"Display words Count"},charcount:{tooltip:"Display characters Count"}}).factory("taToolFunctions",["$window","taTranslations",function(a,b){return{imgOnSelectAction:function(a,b,c){var d=function(){c.updateTaBindtaTextElement(),c.hidePopover()};a.preventDefault(),c.displayElements.popover.css("width","375px");var e=c.displayElements.popoverContainer;e.empty();var f=angular.element('<div class="btn-group" style="padding-right: 6px;">'),g=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1">100% </button>');g.on("click",function(a){a.preventDefault(),b.css({width:"100%",height:""}),d()});var h=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1">50% </button>');h.on("click",function(a){a.preventDefault(),b.css({width:"50%",height:""}),d()});var i=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1">25% </button>');i.on("click",function(a){a.preventDefault(),b.css({width:"25%",height:""}),d()});var j=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1">Reset</button>');j.on("click",function(a){a.preventDefault(),b.css({width:"",height:""}),d()}),f.append(g),f.append(h),f.append(i),f.append(j),e.append(f),f=angular.element('<div class="btn-group" style="padding-right: 6px;">');var k=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1"><i class="fa fa-align-left"></i></button>');k.on("click",function(a){a.preventDefault(),b.css("float","left"),b.css("cssFloat","left"),b.css("styleFloat","left"),d()});var l=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1"><i class="fa fa-align-right"></i></button>');l.on("click",function(a){a.preventDefault(),b.css("float","right"),b.css("cssFloat","right"),b.css("styleFloat","right"),d()});var m=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1"><i class="fa fa-align-justify"></i></button>');m.on("click",function(a){a.preventDefault(),b.css("float",""),b.css("cssFloat",""),b.css("styleFloat",""),d()}),f.append(k),f.append(m),f.append(l),e.append(f),f=angular.element('<div class="btn-group">');var n=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" unselectable="on" tabindex="-1"><i class="fa fa-trash-o"></i></button>');n.on("click",function(a){a.preventDefault(),b.remove(),d()}),f.append(n),e.append(f),c.showPopover(b),c.showResizeOverlay(b)},aOnSelectAction:function(c,d,e){c.preventDefault(),e.displayElements.popover.css("width","436px");var f=e.displayElements.popoverContainer;f.empty(),f.css("line-height","28px");var g=angular.element('<a href="'+d.attr("href")+'" target="_blank">'+d.attr("href")+"</a>");g.css({display:"inline-block","max-width":"200px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap","vertical-align":"middle"}),f.append(g);var h=angular.element('<div class="btn-group pull-right">'),i=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" tabindex="-1" unselectable="on" title="'+b.editLink.reLinkButton.tooltip+'"><i class="fa fa-edit icon-edit"></i></button>');i.on("click",function(c){c.preventDefault();var f=a.prompt(b.insertLink.dialogPrompt,d.attr("href"));f&&""!==f&&"http://"!==f&&(d.attr("href",f),e.updateTaBindtaTextElement()),e.hidePopover()}),h.append(i);var j=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" tabindex="-1" unselectable="on" title="'+b.editLink.unLinkButton.tooltip+'"><i class="fa fa-unlink icon-unlink"></i></button>');j.on("click",function(a){a.preventDefault(),d.replaceWith(d.contents()),e.updateTaBindtaTextElement(),e.hidePopover()}),h.append(j);var k=angular.element('<button type="button" class="btn btn-default btn-sm btn-small" tabindex="-1" unselectable="on">'+b.editLink.targetToggle.buttontext+"</button>");"_blank"===d.attr("target")&&k.addClass("active"),k.on("click",function(a){a.preventDefault(),d.attr("target","_blank"===d.attr("target")?"":"_blank"),k.toggleClass("active"),e.updateTaBindtaTextElement()}),h.append(k),f.append(h),e.showPopover(d)},extractYoutubeVideoId:function(a){var c=a.match(/(?:youtube(?:-nocookie)?\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/i);return c&&c[1]||null}}}]).run(["taRegisterTool","$window","taTranslations","taSelection","taToolFunctions","$sanitize","taOptions","$log",function(a,b,c,d,e,f,g,h){var i={};if(f("",i),!0===g.forceTextAngularSanitize&&"taSanitize"!==i.version)throw angular.$$minErr("textAngular")("textAngularSetup","The textAngular-sanitize provider has been replaced by another -- have you included angular-sanitize by mistake?");a("html",{iconclass:"fa fa-code",tooltiptext:c.html.tooltip,action:function(){this.$editor().switchView()},activeState:function(){return this.$editor().showHtml}});var k=function(){return this.$editor().wrapSelection("formatBlock","<"+this.name.toUpperCase()+">")};angular.forEach(["h1","h2","h3","h4","h5","h6"],function(b){a(b.toLowerCase(),{buttontext:b.toUpperCase(),tooltiptext:c.heading.tooltip+b.charAt(1),action:k,activeState:function(a){return function(){return this.$editor().queryFormatBlockState(a)}}(b.toLowerCase())})}),a("p",{buttontext:"P",tooltiptext:c.p.tooltip,action:function(){return this.$editor().wrapSelection("formatBlock","<P>")},activeState:function(){return this.$editor().queryFormatBlockState("p")}}),a("pre",{buttontext:"pre",tooltiptext:c.pre.tooltip,action:function(){return this.$editor().wrapSelection("formatBlock","<PRE>")},activeState:function(){return this.$editor().queryFormatBlockState("pre")}}),a("ul",{iconclass:"fa fa-list-ul",tooltiptext:c.ul.tooltip,action:function(){return this.$editor().wrapSelection("insertUnorderedList",null)},activeState:function(){return this.$editor().queryCommandState("insertUnorderedList")}}),a("ol",{iconclass:"fa fa-list-ol",tooltiptext:c.ol.tooltip,action:function(){return this.$editor().wrapSelection("insertOrderedList",null)},activeState:function(){return this.$editor().queryCommandState("insertOrderedList")}}),a("quote",{iconclass:"fa fa-quote-right",tooltiptext:c.quote.tooltip,action:function(){return this.$editor().wrapSelection("formatBlock","<BLOCKQUOTE>")},activeState:function(){return this.$editor().queryFormatBlockState("blockquote")}}),a("undo",{iconclass:"fa fa-undo",tooltiptext:c.undo.tooltip,action:function(){return this.$editor().wrapSelection("undo",null)}}),a("redo",{iconclass:"fa fa-repeat",tooltiptext:c.redo.tooltip,action:function(){return this.$editor().wrapSelection("redo",null)}}),a("bold",{iconclass:"fa fa-bold",tooltiptext:c.bold.tooltip,action:function(){return this.$editor().wrapSelection("bold",null)},activeState:function(){return this.$editor().queryCommandState("bold")},commandKeyCode:98}),a("justifyLeft",{iconclass:"fa fa-align-left",tooltiptext:c.justifyLeft.tooltip,action:function(){return this.$editor().wrapSelection("justifyLeft",null)},activeState:function(a){if(a&&"#document"===a.nodeName)return!1;var b=!1;if(a)try{b="left"===a.css("text-align")||"left"===a.attr("align")||"right"!==a.css("text-align")&&"center"!==a.css("text-align")&&"justify"!==a.css("text-align")&&!this.$editor().queryCommandState("justifyRight")&&!this.$editor().queryCommandState("justifyCenter")&&!this.$editor().queryCommandState("justifyFull")}catch(a){b=!1}return b||this.$editor().queryCommandState("justifyLeft")}}),a("justifyRight",{iconclass:"fa fa-align-right",tooltiptext:c.justifyRight.tooltip,action:function(){return this.$editor().wrapSelection("justifyRight",null)},activeState:function(a){if(a&&"#document"===a.nodeName)return!1;var b=!1;if(a)try{b="right"===a.css("text-align")}catch(a){b=!1}return b||this.$editor().queryCommandState("justifyRight")}}),a("justifyFull",{iconclass:"fa fa-align-justify",tooltiptext:c.justifyFull.tooltip,action:function(){return this.$editor().wrapSelection("justifyFull",null)},activeState:function(a){var b=!1;if(a)try{b="justify"===a.css("text-align")}catch(a){b=!1}return b||this.$editor().queryCommandState("justifyFull")}}),a("justifyCenter",{iconclass:"fa fa-align-center",tooltiptext:c.justifyCenter.tooltip,action:function(){return this.$editor().wrapSelection("justifyCenter",null)},activeState:function(a){if(a&&"#document"===a.nodeName)return!1;var b=!1;if(a)try{b="center"===a.css("text-align")}catch(a){b=!1}return b||this.$editor().queryCommandState("justifyCenter")}}),a("indent",{iconclass:"fa fa-indent",tooltiptext:c.indent.tooltip,action:function(){return this.$editor().wrapSelection("indent",null)},activeState:function(){return this.$editor().queryFormatBlockState("blockquote")},commandKeyCode:"TabKey"}),a("outdent",{iconclass:"fa fa-outdent",tooltiptext:c.outdent.tooltip,action:function(){return this.$editor().wrapSelection("outdent",null)},activeState:function(){return!1},commandKeyCode:"ShiftTabKey"}),a("italics",{iconclass:"fa fa-italic",tooltiptext:c.italic.tooltip,action:function(){return this.$editor().wrapSelection("italic",null)},activeState:function(){return this.$editor().queryCommandState("italic")},commandKeyCode:105}),a("underline",{iconclass:"fa fa-underline",tooltiptext:c.underline.tooltip,action:function(){return this.$editor().wrapSelection("underline",null)},activeState:function(){return this.$editor().queryCommandState("underline")},commandKeyCode:117}),a("strikeThrough",{iconclass:"fa fa-strikethrough",tooltiptext:c.strikeThrough.tooltip,action:function(){return this.$editor().wrapSelection("strikeThrough",null)},activeState:function(){return document.queryCommandState("strikeThrough")}}),a("clear",{iconclass:"fa fa-ban",tooltiptext:c.clear.tooltip,action:function(a,b){var c;this.$editor().wrapSelection("removeFormat",null);var e=angular.element(d.getSelectionElement());c=d.getAllSelectedElements();var f=function(a,b){a=angular.element(a);var c=b;return b||(c=a),angular.forEach(a.children(),function(a){if("ul"===a.tagName.toLowerCase()||"ol"===a.tagName.toLowerCase())c=f(a,c);else{var b=angular.element("<p></p>");b.html(angular.element(a).html()),c.after(b),c=b}}),a.remove(),c};angular.forEach(c,function(a){"ul"!==a.nodeName.toLowerCase()&&"ol"!==a.nodeName.toLowerCase()||f(a)}),angular.forEach(e.find("ul"),f),angular.forEach(e.find("ol"),f);var g=this.$editor(),h=function(a){(a=angular.element(a))[0]!==g.displayElements.text[0]&&a.removeAttr("class"),angular.forEach(a.children(),h)};angular.forEach(e,h),e[0]&&"li"!==e[0].tagName.toLowerCase()&&"ol"!==e[0].tagName.toLowerCase()&&"ul"!==e[0].tagName.toLowerCase()&&"true"!==e[0].getAttribute("contenteditable")&&this.$editor().wrapSelection("formatBlock","default"),b()}});var l=function(a){return-1!==a.toLowerCase().indexOf("javascript")};a("insertImage",{iconclass:"fa fa-picture-o",tooltiptext:c.insertImage.tooltip,action:function(){var a;if((a=b.prompt(c.insertImage.dialogPrompt,"http://"))&&""!==a&&"http://"!==a&&!l(a)){d.getSelectionElement().tagName&&"a"===d.getSelectionElement().tagName.toLowerCase()&&d.setSelectionAfterElement(d.getSelectionElement());var e='<img src="'+a+'">';return this.$editor().wrapSelection("insertHTML",e,!0)}},onElementSelect:{element:"img",action:e.imgOnSelectAction}}),a("insertVideo",{iconclass:"fa fa-youtube-play",tooltiptext:c.insertVideo.tooltip,action:function(){var a;if(a=b.prompt(c.insertVideo.dialogPrompt,"https://"),!l(a)&&a&&""!==a&&"https://"!==a&&(videoId=e.extractYoutubeVideoId(a),videoId)){var f="https://www.youtube.com/embed/"+videoId,g='<img class="ta-insert-video" src="https://img.youtube.com/vi/'+videoId+'/hqdefault.jpg" ta-insert-video="'+f+'" contenteditable="false" allowfullscreen="true" frameborder="0" />';return d.getSelectionElement().tagName&&"a"===d.getSelectionElement().tagName.toLowerCase()&&d.setSelectionAfterElement(d.getSelectionElement()),this.$editor().wrapSelection("insertHTML",g,!0)}},onElementSelect:{element:"img",onlyWithAttrs:["ta-insert-video"],action:e.imgOnSelectAction}}),a("insertLink",{tooltiptext:c.insertLink.tooltip,iconclass:"fa fa-link",action:function(){var a;if((a=d.getSelectionElement().tagName&&"a"===d.getSelectionElement().tagName.toLowerCase()?b.prompt(c.insertLink.dialogPrompt,d.getSelectionElement().href):b.prompt(c.insertLink.dialogPrompt,"http://"))&&""!==a&&"http://"!==a&&!l(a))return this.$editor().wrapSelection("createLink",a,!0)},activeState:function(a){return!!a&&"A"===a[0].tagName},onElementSelect:{element:"a",action:e.aOnSelectAction}}),a("wordcount",{display:'<div id="toolbarWC" style="display:block; min-width:100px;">Words: <span ng-bind="wordcount"></span></div>',disabled:!0,wordcount:0,activeState:function(){var b=this.$editor().displayElements.text[0].innerHTML||"",c=0;return""!==b.replace(/\s*<[^>]*?>\s*/g,"")&&""!==b.trim()&&(c=b.replace(/<\/?(b|i|em|strong|span|u|strikethrough|a|img|small|sub|sup|label)( [^>*?])?>/gi,"").replace(/(<[^>]*?>\s*<[^>]*?>)/gi," ").replace(/(<[^>]*?>)/gi,"").replace(/\s+/gi," ").match(/\S+/g).length),this.wordcount=c,this.$editor().wordcount=c,!1}}),a("charcount",{display:'<div id="toolbarCC" style="display:block; min-width:120px;">Characters: <span ng-bind="charcount"></span></div>',disabled:!0,charcount:0,activeState:function(){var a=this.$editor().displayElements.text,c=(a[0].innerText||a[0].textContent).replace(/(\r\n|\n|\r)/gm,"").replace(/^\s+/g," ").replace(/\s+$/g," ").length;return this.charcount=c,this.$editor().charcount=c,!1}})}]);var g_ie=function(){for(var b=3,c=document.createElement("div"),d=c.getElementsByTagName("i");c.innerHTML="\x3c!--[if gt IE "+ ++b+"]><i></i><![endif]--\x3e",d[0];);return 4<b?b:void 0}(),g_webkit=/AppleWebKit\/([\d.]+)/i.test(navigator.userAgent),h=(navigator.userAgent.toLowerCase().indexOf("firefox"),h||{});h.now=h.now||h.mozNow||h.msNow||h.oNow||h.webkitNow||function(){return(new Date).getTime()};var l,m,n,o,p,q,i=/^(address|article|aside|audio|blockquote|canvas|center|dd|div|dl|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|noscript|ol|output|p|pre|section|table|tfoot|ul|video)$/i,j=/^(ul|li|ol)$/i,k=/^(#text|span|address|article|aside|audio|blockquote|canvas|center|dd|div|dl|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|noscript|ol|output|p|pre|section|table|tfoot|ul|video|li)$/i;if(String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),8<g_ie||void 0===g_ie){for(var r=document.styleSheets,s=0;s<r.length;s++)if((0===r[s].media.length||r[s].media.mediaText.match(/(all|screen)/gi))&&r[s].href&&r[s].href.match(/textangular\.(min\.|)css/gi)){l=r[s];break}l||(l=function(){var a=document.createElement("style");return g_webkit&&a.appendChild(document.createTextNode("")),document.getElementsByTagName("head")[0].appendChild(a),a.sheet}()),m=function(a,b){return o(l,a,b)},o=function(a,b,c){var d,e;return a.cssRules?d=Math.max(a.cssRules.length-1,0):a.rules&&(d=Math.max(a.rules.length-1,0)),a.insertRule?a.insertRule(b+"{"+c+"}",d):a.addRule(b,c,d),l.rules?e=l.rules[d]:l.cssRules&&(e=l.cssRules[d]),e},q=function(a,b){var c,d;for(c=0;c<b.length;c++)if(b[c].cssText===a.cssText){d=c;break}return d},n=function(a){p(l,a)},p=function(a,b){var c=a.cssRules||a.rules;if(c&&0!==c.length){var d=q(b,c);a.removeRule?a.removeRule(d):a.deleteRule(d)}}}angular.module("textAngular.factories",[]).factory("taBrowserTag",[function(){return function(a){return a?""===a?void 0===g_ie?"div":g_ie<=8?"P":"p":g_ie<=8?a.toUpperCase():a:g_ie<=8?"P":"p"}}]).factory("taApplyCustomRenderers",["taCustomRenderers","taDOM",function(a,b){return function(c){var d=angular.element("<div></div>");return d[0].innerHTML=c,angular.forEach(a,function(a){var c=[];a.selector&&""!==a.selector?c=d.find(a.selector):a.customAttribute&&""!==a.customAttribute&&(c=b.getByAttribute(d,a.customAttribute)),angular.forEach(c,function(b){b=angular.element(b),a.selector&&""!==a.selector&&a.customAttribute&&""!==a.customAttribute?void 0!==b.attr(a.customAttribute)&&a.renderLogic(b):a.renderLogic(b)})}),d[0].innerHTML}}]).factory("taFixChrome",function(){return function(a,b){if(!a||!angular.isString(a)||a.length<=0)return a;for(var c,d,e,f=/style\s?=\s?(["'])(?:(?=(\\?))\2.)*?\1/gi,g=/<span class="Apple-converted-space">([^<]+)<\/span>/gi,h="",i=0;c=g.exec(a);)e=(e=c[1]).replace(/ /gi," "),h+=a.substring(i,c.index)+e,i=c.index+c[0].length;if(i&&(a=h+=a.substring(i),h="",i=0),!b){for(;c=f.exec(a);)h+=a.substring(i,c.index-1),d=c[0],(c=/font-family: inherit;|line-height: 1.[0-9]{3,12};|color: inherit; line-height: 1.1;|color: rgb\(\d{1,3}, \d{1,3}, \d{1,3}\);|background-color: rgb\(\d{1,3}, \d{1,3}, \d{1,3}\);/gi.exec(d))?8<(d=d.replace(/( |)font-family: inherit;|( |)line-height: 1.[0-9]{3,12};|( |)color: inherit;|( |)color: rgb\(\d{1,3}, \d{1,3}, \d{1,3}\);|( |)background-color: rgb\(\d{1,3}, \d{1,3}, \d{1,3}\);/gi,"")).length&&(h+=" "+d):h+=" "+d,i=f.lastIndex;h+=a.substring(i)}return 0<i?h.replace(/<span\s?>(.*?)<\/span>(<br(\/|)>|)/gi,"$1"):a}}).factory("taSanitize",["$sanitize",function(a){function b(a,b){for(var c,d=0,e=0,f=/<[^>]*>/gi;c=f.exec(a);)if(e=c.index,"/"===c[0].substr(1,1)){if(0===d)break;d--}else d++;return b+a.substring(0,e)+angular.element(b)[0].outerHTML.substring(b.length)+a.substring(e)}function c(a){if(!a||!angular.isString(a)||a.length<=0)return a;for(var d,f,g,h,i,k,l=/<([^>\/]+?)style=("([^"]+)"|'([^']+)')([^>]*)>/gi,m="",n="",o=0;f=l.exec(a);){h=f[3]||f[4];var p=new RegExp(j,"i");if(angular.isString(h)&&p.test(h)){i="";for(var q=new RegExp(j,"ig");g=q.exec(h);)for(d=0;d<e.length;d++)g[2*d+2]&&(i+="<"+e[d].tag+">");k=c(a.substring(o,f.index)),n+=0<m.length?b(k,m):k,h=h.replace(new RegExp(j,"ig"),""),n+="<"+f[1].trim(),0<h.length&&(n+=' style="'+h+'"'),n+=f[5]+">",o=f.index+f[0].length,m=i}}return n+(0<m.length?b(a.substring(o),m):a.substring(o))}for(var e=[{property:"font-weight",values:["bold"],tag:"b"},{property:"font-style",values:["italic"],tag:"i"}],f=[],g=0;g<e.length;g++){for(var h="("+e[g].property+":\\s*(",i=0;i<e[g].values.length;i++)0<i&&(h+="|"),h+=e[g].values[i];h+=");)",f.push(h)}var j="("+f.join("|")+")",k=new RegExp(/<span id="selectionBoundary_\d+_\d+" class="rangySelectionBoundary">[^<>]+?<\/span>/gi),l=new RegExp(/<span class="rangySelectionBoundary" id="selectionBoundary_\d+_\d+">[^<>]+?<\/span>/gi),m=new RegExp(/<span id="selectionBoundary_\d+_\d+" class="rangySelectionBoundary">[^<>]+?<\/span>/gi);return function(b,e,f){if(!f)try{b=c(b)}catch(a){}if(b=function(a){if(!a||!angular.isString(a)||a.length<=0)return a;for(var b,c=/<([^>\/]+?)align=("([^"]+)"|'([^']+)')([^>]*)>/gi,d="",e=0;b=c.exec(a);){d+=a.substring(e,b.index),e=b.index+b[0].length;var f="<"+b[1]+b[5];/style=("([^"]+)"|'([^']+)')/gi.test(f)?f=f.replace(/style=("([^"]+)"|'([^']+)')/i,'style="$2$3 text-align:'+(b[3]||b[4])+';"'):f+=' style="text-align:'+(b[3]||b[4])+';"',d+=f+=">"}return d+a.substring(e)}(b))try{b=(b=(b=(b=b.replace(k,"")).replace(l,"")).replace(k,"")).replace(m,"")}catch(a){}var g;try{g=a(b),f&&(g=b)}catch(a){g=e||""}var h,i=g.match(/(<pre[^>]*>.*?<\/pre[^>]*>)/gi),j=g.replace(/(&#(9|10);)*/gi,""),n=/<pre[^>]*>.*?<\/pre[^>]*>/gi,o=0,p=0;for(g="";null!==(h=n.exec(j))&&o<i.length;)g+=j.substring(p,h.index)+i[o],p=h.index+h[0].length,o++;return g+j.substring(p)}}]).factory("taToolExecuteAction",["$q","$log",function(a,b){return function(c){void 0!==c&&(this.$editor=function(){return c});var d,e=a.defer(),f=e.promise,g=this.$editor();try{d=this.action(e,g.startAction()),f.finally(function(){g.endAction.call(g)})}catch(a){b.error(a)}(d||void 0===d)&&e.resolve()}}]),angular.module("textAngular.DOM",["textAngular.factories"]).factory("taExecCommand",["taSelection","taBrowserTag","$document",function(b,c,d){var e=function(a,c){var d,e,f=a.find("li");for(e=f.length-1;0<=e;e--)d=angular.element("<"+c+">"+f[e].innerHTML+"</"+c+">"),a.after(d);a.remove(),b.setSelectionToElementEnd(d[0])},f=function(a,d,e,f,g){var h,i,j,k,l,m=a.find("li");for(i=0;i<m.length;i++)if(m[i].outerHTML===d[0].outerHTML){0<(l=i)&&(j=m[i-1]),i+1<m.length&&(k=m[i+1]);break}var n="";if(f?n+="<"+g+">"+d[0].innerHTML+"</"+g+">":(n+="<"+c(e)+">",n+="<li>"+d[0].innerHTML+"</li>",n+="</"+c(e)+">"),h=angular.element(n),!j)return d.remove(),a.after(angular.element(a[0].outerHTML)),a.after(h),a.remove(),void b.setSelectionToElementEnd(h[0]);if(k){var o=(a.parent(),""),p=a[0].nodeName.toLowerCase();for(o+="<"+p+">",i=0;i<l;i++)o+="<li>"+m[i].innerHTML+"</li>";o+="</"+p+">";var q="";for(q+="<"+p+">",i=l+1;i<m.length;i++)q+="<li>"+m[i].innerHTML+"</li>";q+="</"+p+">",a.after(angular.element(q)),a.after(h),a.after(angular.element(o)),a.remove(),b.setSelectionToElementEnd(h[0])}else d.remove(),a.after(h),b.setSelectionToElementEnd(h[0])},h=function(a){/(<br(|\/)>)$/i.test(a.innerHTML.trim())?b.setSelectionBeforeElement(angular.element(a).find("br")[0]):b.setSelectionToElementEnd(a)},k=function(a,b){var c=angular.element("<"+b+">"+a[0].innerHTML+"</"+b+">");a.after(c),a.remove(),h(c.find("li")[0])},l=function(a,b,d){for(var e="",f=0;f<a.length;f++)e+="<"+c("li")+">"+a[f].innerHTML+"</"+c("li")+">";var g=angular.element("<"+d+">"+e+"</"+d+">");b.after(g),b.remove(),h(g.find("li")[0])},m=function(a,b){for(var c=0;c<a.childNodes.length;c++){var d=a.childNodes[c];d.tagName&&d.tagName.match(i)&&m(d,b)}if(null===a.parentNode)return a;if("<br>"===b)return a;var e=angular.element(b);return e[0].innerHTML=a.innerHTML,a.parentNode.insertBefore(e[0],a),a.parentNode.removeChild(a),e};return function(h,n){return h=c(h),function(o,p,q,r){var s,t,u,v,w,x,y,z,A=angular.element("<"+h+">");try{var B,C;b.getSelection&&(z=b.getSelection()),void 0!==(y=b.getSelectionElement()).tagName&&("div"===y.tagName.toLowerCase()&&/taTextElement.+/.test(y.id)&&z&&z.start&&1===z.start.offset&&1===z.end.offset?(B=y.innerHTML,/<br>/i.test(B)&&(B=B.replace(/<br>/i,"​")),/<br\/>/i.test(B)&&(B=B.replace(/<br\/>/i,"​")),/<span>(<span>)+/i.test(B)&&(B=__.replace(/<span>(<span>)+/i,"<span>")),/<\/span>(<\/span>)+/i.test(B)&&(B=__.replace(/<\/span>(<\/span>)+/i,"</span>")),/<span><\/span>/i.test(B)&&(B=B.replace(/<span><\/span>/i,"")),C="<div>"+B+"</div>",y.innerHTML=C,b.setSelectionToElementEnd(y.childNodes[0]),y=b.getSelectionElement()):"span"===y.tagName.toLowerCase()&&z&&z.start&&1===z.start.offset&&1===z.end.offset?(B=y.innerHTML,/<br>/i.test(B)&&(B=B.replace(/<br>/i,"​")),/<br\/>/i.test(B)&&(B=B.replace(/<br\/>/i,"​")),/<span>(<span>)+/i.test(B)&&(B=__.replace(/<span>(<span>)+/i,"<span>")),/<\/span>(<\/span>)+/i.test(B)&&(B=__.replace(/<\/span>(<\/span>)+/i,"</span>")),/<span><\/span>/i.test(B)&&(B=B.replace(/<span><\/span>/i,"")),C="<div>"+B+"</div>",y.innerHTML=C,b.setSelectionToElementEnd(y.childNodes[0]),y=b.getSelectionElement()):"p"===y.tagName.toLowerCase()&&z&&z.start&&1===z.start.offset&&1===z.end.offset?(B=y.innerHTML,/<br>/i.test(B)&&(B=B.replace(/<br>/i,"​"),y.innerHTML=B)):"li"===y.tagName.toLowerCase()&&z&&z.start&&z.start.offset===z.end.offset&&(B=y.innerHTML,/<br>/i.test(B)&&(B=B.replace(/<br>/i,""),y.innerHTML=B)))}catch(a){}if(y){var D=angular.element(y),E=y&&y.tagName&&y.tagName.toLowerCase()||"";if("insertorderedlist"===o.toLowerCase()||"insertunorderedlist"===o.toLowerCase()){var F=c("insertorderedlist"===o.toLowerCase()?"ol":"ul"),G=b.getOnlySelectedElements();if(1<G.length&&("ol"===E||"ul"===E))return function(a,d,e,f,g){var h,i,j,k,l,m=a.find("li"),n=[];for(i=0;i<m.length;i++)for(j=0;j<d.length;j++)m[i].isEqualNode(d[j])&&(n[j]=i);0<n[0]&&(k=m[n[0]-1]),n[d.length-1]+1<m.length&&(l=m[n[d.length-1]+1]);var o="";if(f)for(j=0;j<d.length;j++)o+="<"+g+">"+d[j].innerHTML+"</"+g+">",d[j].remove();else{for(o+="<"+c(e)+">",j=0;j<d.length;j++)o+=d[j].outerHTML,d[j].remove();o+="</"+c(e)+">"}if(h=angular.element(o),!k)return a.after(angular.element(a[0].outerHTML)),a.after(h),a.remove(),void b.setSelectionToElementEnd(h[0]);if(!l)return a.after(h),void b.setSelectionToElementEnd(h[0]);var p="",q=a[0].nodeName.toLowerCase();for(p+="<"+q+">",i=0;i<n[0];i++)p+="<li>"+m[i].innerHTML+"</li>";p+="</"+q+">";var r="";for(r+="<"+q+">",i=n[d.length-1]+1;i<m.length;i++)r+="<li>"+m[i].innerHTML+"</li>";r+="</"+q+">",a.after(angular.element(r)),a.after(h),a.after(angular.element(p)),a.remove(),b.setSelectionToElementEnd(h[0])}(D,G,F,F===E,h);if(E===F)return D[0].childNodes.length!==G.length&&1===G.length?(D=angular.element(G[0]),f(D.parent(),D,F,!0,h)):e(D,h);if("li"===E&&D.parent()[0].tagName.toLowerCase()===F&&1===D.parent().children().length)return e(D.parent(),h);if("li"===E&&D.parent()[0].tagName.toLowerCase()!==F&&1===D.parent().children().length)return k(D.parent(),F);if(E.match(i)&&!D.hasClass("ta-bind")){if(G.length&&D[0].childNodes.length!==G.length&&1===G.length)return D=angular.element(G[0]),f(D.parent(),D,F,F===E,h);if("ol"===E||"ul"===E)return k(D,F);var H=!1;return angular.forEach(D.children(),function(a){a.tagName.match(i)&&(H=!0)}),l(H?D.children():[angular.element("<div>"+y.innerHTML+"</div>")[0]],D,F)}if(E.match(i)){if(0===(v=b.getOnlySelectedElements()).length)t=angular.element("<"+F+"><li>"+y.innerHTML+"</li></"+F+">"),D.html(""),D.append(t);else{if(1===v.length&&("ol"===v[0].tagName.toLowerCase()||"ul"===v[0].tagName.toLowerCase()))return v[0].tagName.toLowerCase()===F?e(angular.element(v[0]),h):k(angular.element(v[0]),F);u="";var I=[];for(s=0;s<v.length;s++)if(3!==v[s].nodeType){var J=angular.element(v[s]);if("li"===v[s].tagName.toLowerCase())continue;u+="ol"===v[s].tagName.toLowerCase()||"ul"===v[s].tagName.toLowerCase()?J[0].innerHTML:"span"!==v[s].tagName.toLowerCase()||"ol"!==v[s].childNodes[0].tagName.toLowerCase()&&"ul"!==v[s].childNodes[0].tagName.toLowerCase()?"<"+c("li")+">
1"+J[0].innerHTML+"</"+c("li")+">":J[0].childNodes[0].innerHTML,I.unshift(J)}t=angular.element("<"+F+">"+u+"</"+F+">"),I.pop().replaceWith(t),angular.forEach(I,function(a){a.remove()})}return void b.setSelectionToElementEnd(t[0])}}else{if("formatblock"===o.toLowerCase()){for("default"===(x=q.toLowerCase().replace(/[<>]/gi,"")).trim()&&(q="<"+(x=h)+">"),t="li"===E?D.parent():D;!t[0].tagName||!t[0].tagName.match(i)&&!t.parent().attr("contenteditable");)E=((t=t.parent())[0].tagName||"").toLowerCase();if(E===x){v=t.children();var K=!1;for(s=0;s<v.length;s++)K=K||v[s].tagName.match(i);t=K?(t.after(v),w=t.next(),t.remove(),w):(A.append(t[0].childNodes),t.after(A),t.remove(),A)}else if(t.parent()[0].tagName.toLowerCase()!==x||t.parent().hasClass("ta-bind"))if(E.match(j))t.wrap(q);else{for(0===(v=b.getOnlySelectedElements()).length&&(v=[t[0]]),s=0;s<v.length;s++)if(3===v[s].nodeType||!v[s].tagName.match(i))for(;3===v[s].nodeType||!v[s].tagName||!v[s].tagName.match(i);)v[s]=v[s].parentNode;if(1<(v=v.filter(function(a,b,c){return c.indexOf(a)===b})).length&&(v=v.filter(function(a,b,c){return!("div"===a.nodeName.toLowerCase()&&/^taTextElement/.test(a.id))})),angular.element(v[0]).hasClass("ta-bind"))(t=angular.element(q))[0].innerHTML=v[0].innerHTML,v[0].innerHTML=t[0].outerHTML;else if("blockquote"===x){for(u="",s=0;s<v.length;s++)u+=v[s].outerHTML;for((t=angular.element(q))[0].innerHTML=u,v[0].parentNode.insertBefore(t[0],v[0]),s=v.length-1;0<=s;s--)v[s].parentNode&&v[s].parentNode.removeChild(v[s])}else if("pre"===x&&b.getStateShiftKey()){for(u="",s=0;s<v.length;s++)u+=v[s].outerHTML;for((t=angular.element(q))[0].innerHTML=u,v[0].parentNode.insertBefore(t[0],v[0]),s=v.length-1;0<=s;s--)v[s].parentNode&&v[s].parentNode.removeChild(v[s])}else for(s=0;s<v.length;s++){var L=m(v[s],q);v[s]===t[0]&&(t=angular.element(L))}}else{var M=t.parent(),N=M.contents();for(s=0;s<N.length;s++)M.parent().hasClass("ta-bind")&&3===N[s].nodeType&&((A=angular.element("<"+h+">"))[0].innerHTML=N[s].outerHTML,N[s]=A[0]),M.parent()[0].insertBefore(N[s],M[0]);M.remove()}return b.setSelectionToElementEnd(t[0]),void t[0].focus()}if("createlink"===o.toLowerCase()){if("a"===E)return void(b.getSelectionElement().href=q);var O='<a href="'+q+'" target="'+(r.a.target?r.a.target:"")+'">',P="</a>";if(b.getSelection().collapsed)b.insertHtml(O+q+P,n);else if(a.getSelection().getRangeAt(0).canSurroundContents()){var R=angular.element(O+P)[0];a.getSelection().getRangeAt(0).surroundContents(R)}return}
vendor: 6,626 bytes, line 1
1if("inserthtml"===o.toLowerCase())return void b.insertHtml(q,n)}try{d[0].execCommand(o,p,q)}catch(a){}}}}}]).service("taSelection",["$document","taDOM","$log",function(b,c,d){var e,f=b[0],g=function(a,b){return a.tagName&&a.tagName.match(/^br$/i)&&0===b&&!a.previousSibling?{element:a.parentNode,offset:0}:{element:a,offset:b}},h={getSelection:function(){var b;try{b=a.getSelection().getRangeAt(0)}catch(a){return}var c=b.commonAncestorContainer,d={start:g(b.startContainer,b.startOffset),end:g(b.endContainer,b.endOffset),collapsed:b.collapsed};return 3===c.nodeType&&("div"===c.parentNode.nodeName.toLowerCase()&&/^taTextElement/.test(c.parentNode.id)||(c=c.parentNode)),"div"===c.nodeName.toLowerCase()&&/^taTextElement/.test(c.id)?(d.start.element=c.childNodes[d.start.offset],d.end.element=c.childNodes[d.end.offset],d.container=c):c.parentNode===d.start.element||c.parentNode===d.end.element?d.container=c.parentNode:d.container=c,d},updateLeftArrowKey:function(b){var c=a.getSelection().getRangeAt(0);if(c&&c.collapsed){var d=h.getFlattenedDom(c);if(!d.findIndex)return;var f,j,g=c.startContainer,i=d.findIndex(function(a,b){return a.node===g||-1!==a.parents.indexOf(g)});if(d.forEach(function(a,b){a.parents.forEach(function(a,b){})}),i+1<d.length&&(f=d[i+1].node),f&&f.textContent&&/^\ufeff([^\ufeff]*)$/.exec(f.textContent))return;if(0<i&&(j=d[i-1].node),0===c.startOffset&&j&&/^\ufeff([^\ufeff]*)$/.exec(j.textContent))return void h.setSelectionToElementEnd(j)}},updateRightArrowKey:function(a){},getFlattenedDom:function(a){var c=a.commonAncestorContainer.parentNode;if(!c)return a.commonAncestorContainer.childNodes;var d=Array.prototype.slice.call(c.childNodes),e=d.indexOf(a.startContainer);return e+1<d.length&&0<e||c.parentNode&&(c=c.parentNode),d=[],function b(a){a.node.childNodes.length?Array.prototype.slice.call(a.node.childNodes).forEach(function(c){var d=a.parents.slice();d.slice(-1)[0]!==a.node&&d.push(a.node),b({parents:d,node:c})}):d.push({parents:a.parents,node:a.node})}({parents:[c],node:c}),d},getOnlySelectedElements:function(){var b=a.getSelection().getRangeAt(0),c=b.commonAncestorContainer;return c=3===c.nodeType?c.parentNode:c,b.getNodes([1],function(a){return a.parentNode===c})},getAllSelectedElements:function(){var b=a.getSelection().getRangeAt(0),c=b.commonAncestorContainer;c=3===c.nodeType?c.parentNode:c;var d=b.getNodes([1],function(a){return a.parentNode===c}),e=c.innerHTML;if((e=e.replace(/<span id=.selectionBoundary[^>]+>\ufeff?<\/span>/gi,""))===b.toHtml()&&("div"!==c.nodeName.toLowerCase()||!/^taTextElement/.test(c.id))){for(var f=[],g=d.length;g--;f.unshift(d[g]));(d=f).push(c)}return d},getSelectionElement:function(){return h.getSelection()?h.getSelection().container:void 0},setSelection:function(b,c,d,e){var f=a.createRange();f.setStart(b,d),f.setEnd(c,e),a.getSelection().setSingleRange(f)},setSelectionBeforeElement:function(b){var c=a.createRange();c.selectNode(b),c.collapse(!0),a.getSelection().setSingleRange(c)},setSelectionAfterElement:function(b){var c=a.createRange();c.selectNode(b),c.collapse(!1),a.getSelection().setSingleRange(c)},setSelectionToElementStart:function(b){var c=a.createRange();c.selectNodeContents(b),c.collapse(!0),a.getSelection().setSingleRange(c)},setSelectionToElementEnd:function(b){var c=a.createRange();c.selectNodeContents(b),c.collapse(!1),b.childNodes&&b.childNodes[b.childNodes.length-1]&&"br"===b.childNodes[b.childNodes.length-1].nodeName&&(c.startOffset=c.endOffset=c.startOffset-1),a.getSelection().setSingleRange(c)},setStateShiftKey:function(a){e=a},getStateShiftKey:function(){return e},insertHtml:function(b,d){var e,g,j,l,m,n,o,p=angular.element("<div>"+b+"</div>"),q=a.getSelection().getRangeAt(0),r=f.createDocumentFragment(),s=p[0].childNodes,t=!0;if(0<s.length){for(l=[],j=0;j<s.length;j++){var u=s[j];"p"===u.nodeName.toLowerCase()&&""===u.innerHTML.trim()||(t=t&&!i.test(u.nodeName),l.push(u))}for(var v=0;v<l.length;v++)n=r.appendChild(l[v]);!t&&q.collapsed&&/^(|<br(|\/)>)$/i.test(q.startContainer.innerHTML)&&q.selectNode(q.startContainer)}else t=!0,n=r=f.createTextNode(b);if(t)q.deleteContents();else if(q.collapsed&&q.startContainer!==d)if(q.startContainer.innerHTML&&q.startContainer.innerHTML.match(/^<[^>]*>$/i))e=q.startContainer,1===q.startOffset?(q.setStartAfter(e),q.setEndAfter(e)):(q.setStartBefore(e),q.setEndBefore(e));else{if(3===q.startContainer.nodeType&&q.startContainer.parentNode!==d)for(g=(e=q.startContainer.parentNode).cloneNode(),c.splitNodes(e.childNodes,e,g,q.startContainer,q.startOffset);!k.test(e.nodeName);){angular.element(e).after(g);var w=g;g=(e=e.parentNode).cloneNode(),c.splitNodes(e.childNodes,e,g,w)}else g=(e=q.startContainer).cloneNode(),c.splitNodes(e.childNodes,e,g,void 0,void 0,q.startOffset);if(angular.element(e).after(g),q.setStartAfter(e),q.setEndAfter(e),/^(|<br(|\/)>)$/i.test(e.innerHTML.trim())&&(q.setStartBefore(e),q.setEndBefore(e),angular.element(e).remove()),/^(|<br(|\/)>)$/i.test(g.innerHTML.trim())&&angular.element(g).remove(),"li"===e.nodeName.toLowerCase()){for(o=f.createDocumentFragment(),m=0;m<r.childNodes.length;m++)p=angular.element("<li>"),c.transferChildNodes(r.childNodes[m],p[0]),c.transferNodeAttributes(r.childNodes[m],p[0]),o.appendChild(p[0]);r=o,n&&(n=(n=r.childNodes[r.childNodes.length-1]).childNodes[n.childNodes.length-1])}}else q.deleteContents();q.insertNode(r),n&&h.setSelectionToElementEnd(n)}};return h}]).service("taDOM",function(){var a={getByAttribute:function(b,c){var d=[],e=b.children();return e.length&&angular.forEach(e,function(b){d=d.concat(a.getByAttribute(angular.element(b),c))}),void 0!==b.attr(c)&&d.push(b),d},transferChildNodes:function(a,b){for(b.innerHTML="";0<a.childNodes.length;)b.appendChild(a.childNodes[0]);return b},splitNodes:function(b,c,d,e,f,g){if(!e&&isNaN(g))throw new Error("taDOM.splitNodes requires a splitNode or splitIndex");for(var h=document.createDocumentFragment(),i=document.createDocumentFragment(),j=0;0<b.length&&(isNaN(g)||g!==j)&&b[0]!==e;)h.appendChild(b[0]),j++;for(!isNaN(f)&&0<=f&&b[0]&&(h.appendChild(document.createTextNode(b[0].nodeValue.substring(0,f))),b[0].nodeValue=b[0].nodeValue.substring(f));0<b.length;)i.appendChild(b[0]);a.transferChildNodes(h,c),a.transferChildNodes(i,d)},transferNodeAttributes:function(a,b){for(var c=0;c<a.attributes.length;c++)b.setAttribute(a.attributes[c].name,a.attributes[c].value);return b}};return a}),angular.module("textAngular.validators",[]).directive("taMaxText",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){var e=parseInt(a.$eval(c.taMaxText));if(isNaN(e))throw"Max text must be an integer";
1c.$observe("taMaxText",function(a){if(e=parseInt(a),isNaN(e))throw"Max text must be an integer";d.$dirty&&d.$validate()}),d.$validators.taMaxText=function(a){var b=angular.element("<div/>");return b.html(a),b.text().length<=e}}}}).directive("taMinText",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){var e=parseInt(a.$eval(c.taMinText));if(isNaN(e))throw"Min text must be an integer";c.$observe("taMinText",function(a){if(e=parseInt(a),isNaN(e))throw"Min text must be an integer";d.$dirty&&d.$validate()}),d.$validators.taMinText=function(a){var b=angular.element("<div/>");return b.html(a),!b.text().length||b.text().length>=e}}}}),angular.module("textAngular.taBind",["textAngular.factories","textAngular.DOM"]).service("_taBlankTest",[function(){return function(a){return!a||""===function(a){var b=document.createElement("DIV");b.innerHTML=a;var c=b.textContent||b.innerText||"";return c.replace("â",""),c.trim()}(a)&&!/<img[^>]+>/.test(a)}}]).directive("taButton",[function(){return{link:function(a,b,c){b.attr("unselectable","on"),b.on("mousedown",function(a,b){return b&&angular.extend(a,b),a.preventDefault(),!1})}}}]).directive("taBind",["taSanitize","$timeout","$document","taFixChrome","taBrowserTag","taSelection","taSelectableElements","taApplyCustomRenderers","taOptions","_taBlankTest","$parse","taDOM","textAngularManager",function(b,c,d,e,f,h,j,l,o,p,q,r,s){return{priority:2,require:["ngModel","?ngModelOptions"],link:function(f,r,u,v){var x,y,z,B=v[0],C=v[1]||{},D=void 0!==r.attr("contenteditable")&&r.attr("contenteditable"),E=D||"textarea"===r[0].tagName.toLowerCase()||"input"===r[0].tagName.toLowerCase(),F=!1,G=!1,H=!1,I=u.taUnsafeSanitizer||o.disableSanitizer,J=u.taKeepStyles||o.keepStyles,K=/^(9|19|20|27|33|34|35|36|37|38|39|40|45|112|113|114|115|116|117|118|119|120|121|122|123|144|145)$/i,L=/^(8|13|32|46|59|61|107|109|173|186|187|188|189|190|191|192|219|220|221|222)$/i,V=[{specialKey:"UndoKey",forbiddenModifiers:12,mustHaveModifiers:[3],keyCode:90},{specialKey:"RedoKey",forbiddenModifiers:4,mustHaveModifiers:[3,8],keyCode:90},{specialKey:"RedoKey",forbiddenModifiers:12,mustHaveModifiers:[3],keyCode:89},{specialKey:"TabKey",forbiddenModifiers:15,mustHaveModifiers:[],keyCode:9},{specialKey:"ShiftTabKey",forbiddenModifiers:7,mustHaveModifiers:[8],keyCode:9}];void 0===u.taDefaultWrap&&(u.taDefaultWrap="p"),""===u.taDefaultWrap?z="":(z=void 0===g_ie||11<=g_ie?"br"===u.taDefaultWrap.toLowerCase()?"<BR><BR>":"<"+u.taDefaultWrap+"><br></"+u.taDefaultWrap+">":g_ie<=8?"<"+u.taDefaultWrap.toUpperCase()+"></"+u.taDefaultWrap.toUpperCase()+">":"<"+u.taDefaultWrap+"></"+u.taDefaultWrap+">",void 0===g_ie||11<=g_ie?"br"===u.taDefaultWrap.toLowerCase()||(u.taDefaultWrap,u.taDefaultWrap):g_ie<=8?(u.taDefaultWrap.toUpperCase(),u.taDefaultWrap.toUpperCase()):(u.taDefaultWrap,u.taDefaultWrap)),C.$options||(C.$options={});var X,W=function(a){if(p(a))return a;var b=angular.element("<div>"+a+"</div>");if(0===b.children().length)a="<"+u.taDefaultWrap+">"+a+"</"+u.taDefaultWrap+">";else{var c,d=b[0].childNodes,e=!1;for(c=0;c<d.length&&!(e=d[c].nodeName.toLowerCase().match(i));c++);if(e)for(a="",c=0;c<d.length;c++){var f=d[c],g=f.nodeName.toLowerCase();if("#comment"===g)a+="\x3c!--"+f.nodeValue+"--\x3e";else if("#text"===g){var h=f.textContent;a+=h.trim()?"<"+u.taDefaultWrap+">"+h+"</"+u.taDefaultWrap+">":h}else if(g.match(i))a+=f.outerHTML;else{var j=f.outerHTML||f.nodeValue;a+=""!==j.trim()?"<"+u.taDefaultWrap+">"+j+"</"+u.taDefaultWrap+">":j}}else a="<"+u.taDefaultWrap+">"+a+"</"+u.taDefaultWrap+">"}return a};u.taPaste&&(y=q(u.taPaste)),r.addClass("ta-bind"),f["$undoManager"+(u.id||"")]=B.$undoManager={_stack:[],_index:0,_max:1e3,push:function(a){return null==a||void 0!==this.current()&&null!==this.current()&&a===this.current()||(this._index<this._stack.length-1&&(this._stack=this._stack.slice(0,this._index+1)),this._stack.push(a),X&&c.cancel(X),this._stack.length>this._max&&this._stack.shift(),this._index=this._stack.length-1),a},undo:function(){return this.setToIndex(this._index-1)},redo:function(){return this.setToIndex(this._index+1)}
vendor: 36,904 bytes, line 1
1,setToIndex:function(a){if(!(a<0||a>this._stack.length-1))return this._index=a,this.current()},current:function(){return this._stack[this._index]}};var Y,Z=function(){if(D)return r[0].innerHTML;if(E)return r.val();throw"textAngular Error: attempting to update non-editable taBind"},$=function(a){return f.$emit("ta-element-select",this),a.preventDefault(),!1},_=f["reApplyOnSelectorHandlers"+(u.id||"")]=function(){F||angular.forEach(j,function(a){r.find(a).off("click",$).on("click",$)})},aa=function(a,b,c){H=c||!1,null!=b||(b=D),null!=a||(a=Z()),p(a)?(""!==B.$viewValue&&B.$setViewValue(""),b&&""!==B.$undoManager.current()&&B.$undoManager.push("")):(_(),B.$viewValue!==a&&(B.$setViewValue(a),b&&B.$undoManager.push(a))),B.$render()},ba=function(a){r[0].innerHTML=a},ca=f["$undoTaBind"+(u.id||"")]=function(){if(!F&&D){var a=B.$undoManager.undo();null!=a&&(ba(a),aa(a,!1),Y&&c.cancel(Y),Y=c(function(){r[0].focus(),h.setSelectionToElementEnd(r[0])},1))}},da=f["$redoTaBind"+(u.id||"")]=function(){if(!F&&D){var a=B.$undoManager.redo();null!=a&&(ba(a),aa(a,!1),Y&&c.cancel(Y),Y=c(function(){r[0].focus(),h.setSelectionToElementEnd(r[0])},1))}};f["updateTaBind"+(u.id||"")]=function(){F||aa(void 0,void 0,!0)};var ea=function(a){return B.$oldViewValue=b(e(a,J),B.$oldViewValue,I)};if(r.attr("required")&&(B.$validators.required=function(a,b){return!p(a||b)}),B.$parsers.push(ea),B.$parsers.unshift(W),B.$formatters.push(ea),B.$formatters.unshift(W),B.$formatters.unshift(function(a){return B.$undoManager.push(a||"")}),E)if(f.events={},D){var ha,ia,fa=!1,ga=function(a){var d=void 0!==a&&a.match(/content=["']*OneNote.File/i);if(a&&a.trim().length){if(a.match(/class=["']*Mso(Normal|List)/i)||a.match(/content=["']*Word.Document/i)||a.match(/content=["']*OneNote.File/i)){var e=a.match(/<!--StartFragment-->([\s\S]*?)<!--EndFragment-->/i);e=(e=e?e[1]:a).replace(/<o:p>[\s\S]*?<\/o:p>/gi,"").replace(/class=(["']|)MsoNormal(["']|)/gi,"");var g=angular.element("<div>"+e+"</div>"),i=angular.element("<div></div>"),j={element:null,lastIndent:[],lastLi:null,isUl:!1};j.lastIndent.peek=function(){var a=this.length;if(0<a)return this[a-1]};for(var k=function(a){j.isUl=a,j.element=angular.element(a?"<ul>":"<ol>"),j.lastIndent=[],j.lastIndent.peek=function(){var a=this.length;if(0<a)return this[a-1]},j.lastLevelMatch=null},l=0;l<=g[0].childNodes.length;l++)if(g[0].childNodes[l]&&"#text"!==g[0].childNodes[l].nodeName){var m=g[0].childNodes[l].tagName.toLowerCase();if("p"===m||"ul"===m||"h1"===m||"h2"===m||"h3"===m||"h4"===m||"h5"===m||"h6"===m||"table"===m){var n=angular.element(g[0].childNodes[l]),o=(n.attr("class")||"").match(/MsoList(Bullet|Number|Paragraph)(CxSp(First|Middle|Last)|)/i);if(o){if(n[0].childNodes.length<2||n[0].childNodes[1].childNodes.length<1)continue;var p="bullet"===o[1].toLowerCase()||"number"!==o[1].toLowerCase()&&!(/^[^0-9a-z<]*[0-9a-z]+[^0-9a-z<>]</i.test(n[0].childNodes[1].innerHTML)||/^[^0-9a-z<]*[0-9a-z]+[^0-9a-z<>]</i.test(n[0].childNodes[1].childNodes[0].innerHTML)),q=(n.attr("style")||"").match(/margin-left:([\-\.0-9]*)/i),s=parseFloat(q?q[1]:0),t=(n.attr("style")||"").match(/mso-list:l([0-9]+) level([0-9]+) lfo[0-9+]($|;)/i);if(t&&t[2]&&(s=parseInt(t[2])),t&&(!j.lastLevelMatch||t[1]!==j.lastLevelMatch[1])||!o[3]||"first"===o[3].toLowerCase()||null===j.lastIndent.peek()||j.isUl!==p&&j.lastIndent.peek()===s)k(p),i.append(j.element);else if(null!=j.lastIndent.peek()&&j.lastIndent.peek()<s)j.element=angular.element(p?"<ul>":"<ol>"),j.lastLi.append(j.element);else if(null!=j.lastIndent.peek()&&j.lastIndent.peek()>s){for(;null!=j.lastIndent.peek()&&j.lastIndent.peek()>s;)if("li"!==j.element.parent()[0].tagName.toLowerCase()){if(!/[uo]l/i.test(j.element.parent()[0].tagName.toLowerCase()))break;j.element=j.element.parent(),j.lastIndent.pop()}else j.element=j.element.parent();j.isUl="ul"===j.element[0].tagName.toLowerCase(),p!==j.isUl&&(k(p),i.append(j.element))}j.lastLevelMatch=t,s!==j.lastIndent.peek()&&j.lastIndent.push(s),j.lastLi=angular.element("<li>"),j.element.append(j.lastLi),j.lastLi.html(n.html().replace(/<!(--|)\[if !supportLists\](--|)>[\s\S]*?<!(--|)\[endif\](--|)>/gi,"")),n.remove()}else k(!1),i.append(n)}}var u=function(a){for(var b=(a=angular.element(a))[0].childNodes.length-1;0<=b;b--)a.after(a[0].childNodes[b]);a.remove()};angular.forEach(i.find("span"),function(a){a.removeAttribute("lang"),a.attributes.length<=0&&u(a)}),angular.forEach(i.find("font"),u),a=i.html(),d&&(a=i.html()||g.html()),a=a.replace(/\n/g," ")}else{if((a=a.replace(/<(|\/)meta[^>]*?>/gi,"")).match(/<[^>]*?(ta-bind)[^>]*?>/)){if(a.match(/<[^>]*?(text-angular)[^>]*?>/)){var v=angular.element("<div>"+a+"</div>");v.find("textarea").remove();for(var w=0;w<binds.length;w++){for(var x=binds[w][0].parentNode.parentNode,z=0;z<binds[w][0].childNodes.length;z++)x.parentNode.insertBefore(binds[w][0].childNodes[z],x);x.parentNode.removeChild(x)}a=v.html().replace('<br class="Apple-interchange-newline">',"")}}else a.match(/^<span/)&&(a.match(/<span class=(\"Apple-converted-space\"|\'Apple-converted-space\')>.<\/span>/gi)||(a=a.replace(/<(|\/)span[^>]*?>/gi,"")));a=a.replace(/<br class="Apple-interchange-newline"[^>]*?>/gi,"").replace(/<span class="Apple-converted-space">( | )<\/span>/gi," ")}/<li(\s.*)?>/i.test(a)&&!1===/(<ul(\s.*)?>|<ol(\s.*)?>).*<li(\s.*)?>/i.test(a)&&(a=a.replace(/<li(\s.*)?>.*<\/li(\s.*)?>/i,"<ul>$&</ul>")),a=a.replace(/^[ |\u00A0]+/gm,function(a){for(var b="",c=0;c<a.length;c++)b+=" ";return b}).replace(/\n|\r\n|\r/g,"<br />").replace(/\t/g," "),y&&(a=y(f,{$html:a})||a),a=a.replace(/<span style=("|')([^<]*?)vertical-align\s*:\s*super;?([^>]*?)("|')>([^<]+?)<\/span>/g,"<sup style='$2$3'>$5</sup>"),a=b(a,"",I),h.insertHtml(a,r[0]),c(function(){B.$setViewValue(Z()),fa=!1,r.removeClass("processing-paste")},0)}else fa=!1,r.removeClass("processing-paste")};if(r.on("paste",f.events.paste=function(b,e){if(e&&angular.extend(b,e),F||fa)return b.stopPropagation(),b.preventDefault(),!1;fa=!0,r.addClass("processing-paste");var f,g=(b.originalEvent||b).clipboardData;if(!g&&window.clipboardData&&window.clipboardData.getData)return f=window.clipboardData.getData("Text"),ga(f),b.stopPropagation(),b.preventDefault(),!1;if(g&&g.getData&&0<g.types.length){for(var h="",i=0;i<g.types.length;i++)h+=" "+g.types[i];return/text\/html/i.test(h)?f=g.getData("text/html"):/text\/plain/i.test(h)&&(f=g.getData("text/plain")),ga(f),b.stopPropagation(),b.preventDefault(),!1}var j=a.saveSelection(),k=angular.element('<div class="ta-hidden-input" contenteditable="true"></div>');d.find("body").append(k),k[0].focus(),c(function(){a.restoreSelection(j),ga(k[0].innerHTML),r[0].focus(),k.remove()},0)}),r.on("cut",f.events.cut=function(a){F?a.preventDefault():c(function(){B.$setViewValue(Z())},0)}),r.on("keydown",f.events.keydown=function(a,b){var c;if(b&&angular.extend(a,b),16===a.keyCode?h.setStateShiftKey(!0):h.setStateShiftKey(!1),a.specialKey=function(a){var b;return V.forEach(function(c){if(c.keyCode===a.keyCode){var d=(a.metaKey?2:0)+(a.ctrlKey?1:0)+(a.shiftKey?8:0)+(a.altKey?4:0);if(c.forbiddenModifiers&d)return;c.mustHaveModifiers.every(function(a){return d&a})&&(b=c.specialKey)}}),b}(a),o.keyMappings.forEach(function(b){a.specialKey===b.commandKeyCode&&(a.specialKey=void 0),b.testForKey(a)&&(c=b.commandKeyCode),"UndoKey"!==b.commandKeyCode&&"RedoKey"!==b.commandKeyCode||b.enablePropagation||a.preventDefault()}),void 0!==c&&(a.specialKey=c),void 0===a.specialKey||"UndoKey"===a.specialKey&&"RedoKey"===a.specialKey||(a.preventDefault(),s.sendKeyCommand(f,a)),!(F||("UndoKey"===a.specialKey&&(ca(),a.preventDefault()),"RedoKey"===a.specialKey&&(da(),a.preventDefault()),13!==a.keyCode||a.shiftKey||a.ctrlKey||a.metaKey||a.altKey))){var d,g=h.getSelectionElement();if(!g.nodeName.match(k))return;var i=angular.element(z);if(function(a,b){for(var c=0;c<a.length;c++)if(a[c]===b)return!0;return!1}(["blockquote","ul","ol"],g.parentNode.tagName.toLowerCase())){if(/^<br(|\/)>$/i.test(g.innerHTML.trim())&&!g.nextSibling){var l=(d=angular.element(g)).parent();l.after(i),d.remove(),0===l.children().length&&l.remove(),h.setSelectionToElementStart(i[0]),a.preventDefault()}/^<[^>]+><br(|\/)><\/[^>]+>$/i.test(g.innerHTML.trim())&&((d=angular.element(g)).after(i),d.remove(),h.setSelectionToElementStart(i[0]),a.preventDefault())}}}),r.on("keyup",f.events.keyup=function(a,b){if(b&&angular.extend(a,b),h.setStateShiftKey(!1),9!==a.keyCode){if(37!==a.keyCode||a.shiftKey||h.updateLeftArrowKey(r),39!==a.keyCode||a.shiftKey||h.updateRightArrowKey(r),X&&c.cancel(X),!F&&!K.test(a.keyCode))if(13===a.keyCode&&(a.ctrlKey||a.metaKey||a.altKey));else{if(""!==z&&"<BR><BR>"!==z&&13===a.keyCode&&!a.ctrlKey&&!a.metaKey&&!a.altKey){for(var e=h.getSelectionElement();!e.nodeName.match(k)&&e!==r[0];)e=e.parentNode;if(a.shiftKey){var f=e.tagName.toLowerCase();if((f===u.taDefaultWrap||"li"===f||"pre"===f||"div"===f)&&!/.+<br><br>/.test(e.innerHTML.trim())){var g=e.previousSibling;g&&(g.innerHTML=g.innerHTML+"<br><br>",angular.element(e).remove(),h.setSelectionToElementEnd(g))}}else if(e.tagName.toLowerCase()!==u.taDefaultWrap&&"li"!==e.nodeName.toLowerCase()&&(""===e.innerHTML.trim()||"<br>"===e.innerHTML.trim())){var i=angular.element(z);angular.element(e).replaceWith(i),h.setSelectionToElementStart(i[0])}}var j=Z();""===z||""!==j.trim()&&"<br>"!==j.trim()?"<"!==j.substring(0,1)&&u.taDefaultWrap:(ba(z),h.setSelectionToElementStart(r.children()[0]));var l=x!==a.keyCode&&L.test(a.keyCode);ha&&c.cancel(ha),ha=c(function(){aa(j,l,!0)},C.$options.debounce||400),l||(X=c(function(){B.$undoManager.push(j)},250)),x=a.keyCode}}else h.getSelection().start.element===r[0]&&r.children().length&&h.setSelectionToElementStart(r.children()[0])}),r.on("input",function(){Z()!==B.$viewValue&&(ia&&c.cancel(ia),ia=c(function(){var b=a.saveSelection(),c=Z();c!==B.$viewValue&&aa(c,!0),0!==B.$viewValue.length&&a.restoreSelection(b)},1e3))}),r.on("blur",f.events.blur=function(){G=!1,F?(H=!0,B.$render()):aa(void 0,void 0,!0)}),u.placeholder&&(8<g_ie||void 0===g_ie)){var ja;if(!u.id)throw"textAngular Error: An unique ID is required for placeholders to work";ja=m("#"+u.id+".placeholder-text:before",'content: "'+u.placeholder+'"'),f.$on("$destroy",function(){n(ja)})}r.on("focus",f.events.focus=function(){G=!0,r.removeClass("placeholder-text"),_()}),r.on("mouseup",f.events.mouseup=function(){var a=h.getSelection();a&&a.start.element===r[0]&&r.children().length&&h.setSelectionToElementStart(r.children()[0])}),r.on("mousedown",f.events.mousedown=function(a,b){b&&angular.extend(a,b),a.stopPropagation()})}else{r.on("change blur",f.events.change=f.events.blur=function(){F||B.$setViewValue(Z())}),r.on("keydown",f.events.keydown=function(a,b){if(b&&angular.extend(a,b),9===a.keyCode){var c=this.selectionStart,d=this.selectionEnd,e=r.val();if(a.shiftKey){var f=e.lastIndexOf("\n",c),g=e.lastIndexOf("\t",c);-1!==g&&f<=g&&(r.val(e.substring(0,g)+e.substring(g+1)),this.selectionStart=this.selectionEnd=c-1)}else r.val(e.substring(0,c)+"\t"+e.substring(d)),this.selectionStart=this.selectionEnd=c+1;a.preventDefault()}});var ka=function(a,b){for(var c="",d=0;d<b;d++)c+=a;return c},la=function(a,b,c){for(var d=0;d<a.length;d++)b.call(c,d,a[d])},ma=function(a,b){var c="",d=a.childNodes;return c+=ka("\t",++b-1)+a.outerHTML.substring(0,4),la(d,function(a,d){var e=d.nodeName.toLowerCase();return"#comment"===e?void(c+="\x3c!--"+d.nodeValue+"--\x3e"):"#text"===e?void(c+=d.textContent):void(d.outerHTML&&(c+="ul"===e||"ol"===e?"\n"+ma(d,b):"\n"+ka("\t",b)+d.outerHTML))}),c+="\n"+ka("\t",b-1)+a.outerHTML.substring(a.outerHTML.lastIndexOf("<"))};B.$formatters.unshift(function(a){var b=angular.element("<div>"+a+"</div>")[0].childNodes;return 0<b.length&&(a="",la(b,function(b,c){var d=c.nodeName.toLowerCase();return"#comment"===d?void(a+="\x3c!--"+c.nodeValue+"--\x3e"):"#text"===d?void(a+=c.textContent):void(c.outerHTML&&(0<a.length&&(a+="\n"),a+="ul"===d||"ol"===d?""+ma(c,0):""+c.outerHTML))})),a})}var na,oa=function(a,b){var d;(b&&angular.extend(a,b),t||F)||(t=!0,d=a.originalEvent?a.originalEvent.dataTransfer:a.dataTransfer,f.$emit("ta-drop-event",this,a,d),c(function(){aa(void 0,void 0,!(t=!1))},100))},pa=!1;B.$render=function(){if(!pa){pa=!0;var a=B.$viewValue||"";H||(D&&G&&(r.removeClass("placeholder-text"),na&&c.cancel(na),na=c(function(){G||(r[0].focus(),h.setSelectionToElementEnd(r.children()[r.children().length-1])),na=void 0},1)),D?(ba((u.placeholder,""===a?z:a)),F?r.off("drop",oa):(_(),r.on("drop",oa))):"textarea"!==r[0].tagName.toLowerCase()&&"input"!==r[0].tagName.toLowerCase()?ba(l(a)):r.val(a)),D&&u.placeholder&&(""===a?G?r.removeClass("placeholder-text"):r.addClass("placeholder-text"):r.removeClass("placeholder-text")),pa=H=!1}},u.taReadonly&&((F=f.$eval(u.taReadonly))?(r.addClass("ta-readonly"),"textarea"!==r[0].tagName.toLowerCase()&&"input"!==r[0].tagName.toLowerCase()||r.attr("disabled","disabled"),void 0!==r.attr("contenteditable")&&r.attr("contenteditable")&&r.removeAttr("contenteditable")):(r.removeClass("ta-readonly"),"textarea"===r[0].tagName.toLowerCase()||"input"===r[0].tagName.toLowerCase()?r.removeAttr("disabled"):D&&r.attr("contenteditable","true")),f.$watch(u.taReadonly,function(a,b){b!==a&&(a?(r.addClass("ta-readonly"),"textarea"!==r[0].tagName.toLowerCase()&&"input"!==r[0].tagName.toLowerCase()||r.attr("disabled","disabled"),void 0!==r.attr("contenteditable")&&r.attr("contenteditable")&&r.removeAttr("contenteditable"),angular.forEach(j,function(a){r.find(a).on("click",$)}),r.off("drop",oa)):(r.removeClass("ta-readonly"),"textarea"===r[0].tagName.toLowerCase()||"input"===r[0].tagName.toLowerCase()?r.removeAttr("disabled"):D&&r.attr("contenteditable","true"),angular.forEach(j,function(a){r.find(a).off("click",$)}),r.on("drop",oa)),F=a)})),D&&!F&&(angular.forEach(j,function(a){r.find(a).on("click",$)}),r.on("drop",oa))}}}]);var t=!1,u=angular.module("textAngular",["ngSanitize","textAngularSetup","textAngular.factories","textAngular.DOM","textAngular.validators","textAngular.taBind"]);return u.config([function(){angular.forEach(e,function(a,b){delete e[b]})}]),u.directive("textAngular",["$compile","$timeout","taOptions","taSelection","taExecCommand","textAngularManager","$document","$animate","$log","$q","$parse",function(b,c,d,e,f,g,h,i,j,k,l){return{require:"?ngModel",scope:{},restrict:"EA",priority:2,link:function(m,n,o,p){var q,r,s,t,u,v,w,x,y,z,A,B,C=o.serial?o.serial:Math.floor(1e16*Math.random());m._name=o.name?o.name:"textAngularEditor"+C;var D=function(a,b,d){c(function(){a.one(b,d)},100)};if(y=f(o.taDefaultWrap),angular.extend(m,angular.copy(d),{wrapSelection:function(a,b,c){"undo"===a.toLowerCase()?m["$undoTaBindtaTextElement"+C]():"redo"===a.toLowerCase()?m["$redoTaBindtaTextElement"+C]():(y(a,!1,b,m.defaultTagAttributes),c&&m["reApplyOnSelectorHandlerstaTextElement"+C](),m.displayElements.text[0].focus())},showHtml:m.$eval(o.taShowHtml)||!1}),o.taFocussedClass&&(m.classes.focussed=o.taFocussedClass),o.taTextEditorClass&&(m.classes.textEditor=o.taTextEditorClass),o.taHtmlEditorClass&&(m.classes.htmlEditor=o.taHtmlEditorClass),o.taDefaultTagAttributes)try{angular.extend(m.defaultTagAttributes,angular.fromJson(o.taDefaultTagAttributes))}catch(a){j.error(a)}o.taTextEditorSetup&&(m.setup.textEditorSetup=m.$parent.$eval(o.taTextEditorSetup)),o.taHtmlEditorSetup&&(m.setup.htmlEditorSetup=m.$parent.$eval(o.taHtmlEditorSetup)),o.taFileDrop?m.fileDropHandler=m.$parent.$eval(o.taFileDrop):m.fileDropHandler=m.defaultFileDropHandler,w=n[0].innerHTML,n[0].innerHTML="",m.displayElements={forminput:angular.element("<input type='hidden' tabindex='-1' style='display: none;'>"),html:angular.element("<textarea></textarea>"),text:angular.element("<div></div>"),scrollWindow:angular.element("<div class='ta-scroll-window'></div>"),popover:angular.element('<div class="popover fade bottom" style="max-width: none; width: 305px;"></div>'),popoverArrow:angular.element('<div class="arrow"></div>'),popoverContainer:angular.element('<div class="popover-content"></div>'),resize:{overlay:angular.element('<div class="ta-resizer-handle-overlay"></div>'),background:angular.element('<div class="ta-resizer-handle-background"></div>'),anchors:[angular.element('<div class="ta-resizer-handle-corner ta-resizer-handle-corner-tl"></div>'),angular.element('<div class="ta-resizer-handle-corner ta-resizer-handle-corner-tr"></div>'),angular.element('<div class="ta-resizer-handle-corner ta-resizer-handle-corner-bl"></div>'),angular.element('<div class="ta-resizer-handle-corner ta-resizer-handle-corner-br"></div>')],info:angular.element('<div class="ta-resizer-handle-info"></div>')}},m.displayElements.popover.append(m.displayElements.popoverArrow),m.displayElements.popover.append(m.displayElements.popoverContainer),m.displayElements.scrollWindow.append(m.displayElements.popover),m.displayElements.popover.on("mousedown",function(a,b){return b&&angular.extend(a,b),a.preventDefault(),!1}),m.handlePopoverEvents=function(){"block"===m.displayElements.popover.css("display")&&(B&&c.cancel(B),B=c(function(){m.reflowPopover(m.resizeElement),m.reflowResizeOverlay(m.resizeElement)},100))},angular.element(window).on("resize",m.handlePopoverEvents),angular.element(window).on("scroll",m.handlePopoverEvents);m.getScrollTop=function(a,b){var c=a.scrollTop;return void 0===c&&(c=0),b&&function(a){var b,c={vertical:!1,horizontal:!1};try{if(null===(b=window.getComputedStyle(a)))return c}catch(a){return c}var d=b["overflow-y"],e=b["overflow-x"];return{vertical:("scroll"===d||"auto"===d)&&a.scrollHeight>a.clientHeight,horizontal:("scroll"===e||"auto"===e)&&a.scrollWidth>a.clientWidth}}(a).vertical&&(a.removeEventListener("scroll",m._scrollListener,!1),a.addEventListener("scroll",m._scrollListener,!1)),0!==c?{node:a.nodeName,top:c}:a.parentNode?m.getScrollTop(a.parentNode,b):{node:"<none>",top:0}},m.showPopover=function(a){m.getScrollTop(m.displayElements.scrollWindow[0],!0),m.displayElements.popover.css("display","block"),c(function(){m.displayElements.resize.overlay.css("display","block")}),m.resizeElement=a,m.reflowPopover(a),i.addClass(m.displayElements.popover,"in"),D(h.find("body"),"click keyup",function(){m.hidePopover()})},m._scrollListener=function(a,b){m.handlePopoverEvents()},m.reflowPopover=function(a){var b=m.getScrollTop(m.displayElements.scrollWindow[0],!1);a[0].offsetTop-b.top<51?(m.displayElements.popover.css("top",a[0].offsetTop+a[0].offsetHeight+m.displayElements.scrollWindow[0].scrollTop+"px"),m.displayElements.popover.removeClass("top").addClass("bottom")):(m.displayElements.popover.css("top",a[0].offsetTop-54+m.displayElements.scrollWindow[0].scrollTop+"px"),m.displayElements.popover.removeClass("bottom").addClass("top"));var d=m.displayElements.text[0].offsetWidth-m.displayElements.popover[0].offsetWidth,e=a[0].offsetLeft+a[0].offsetWidth/2-m.displayElements.popover[0].offsetWidth/2,f=Math.max(0,Math.min(d,e)),g=Math.min(e,Math.max(0,e-d))-11;f+=window.scrollX,g-=window.scrollX,m.displayElements.popover.css("left",f+"px"),m.displayElements.popoverArrow.css("margin-left",g+"px")},m.hidePopover=function(){m.displayElements.popover.css("display","none"),m.displayElements.popoverContainer.attr("style",""),m.displayElements.popoverContainer.attr("class","popover-content"),m.displayElements.popover.removeClass("in"),m.displayElements.resize.overlay.css("display","none")},m.displayElements.resize.overlay.append(m.displayElements.resize.background),angular.forEach(m.displayElements.resize.anchors,function(a){m.displayElements.resize.overlay.append(a)}),m.displayElements.resize.overlay.append(m.displayElements.resize.info),m.displayElements.scrollWindow.append(m.displayElements.resize.overlay),m.displayElements.resize.background.on("click",function(a){m.displayElements.text[0].focus()}),m.reflowResizeOverlay=function(a){a=angular.element(a)[0],m.displayElements.resize.overlay.css({display:"block",left:a.offsetLeft-5+"px",top:a.offsetTop-5+"px",width:a.offsetWidth+10+"px",height:a.offsetHeight+10+"px"}),m.displayElements.resize.info.text(a.offsetWidth+" x "+a.offsetHeight)},m.showResizeOverlay=function(a){var b=h.find("body");z=function(c){var d={width:parseInt(a.attr("width")),height:parseInt(a.attr("height")),x:c.clientX,y:c.clientY};(void 0===d.width||isNaN(d.width))&&(d.width=a[0].offsetWidth),(void 0===d.height||isNaN(d.height))&&(d.height=a[0].offsetHeight),m.hidePopover();var e=d.height/d.width,f=function(b){function c(a){return Math.round(Math.max(0,a))}var f={x:Math.max(0,d.width+(b.clientX-d.x)),y:Math.max(0,d.height+(b.clientY-d.y))},g=void 0!==o.taResizeForceAspectRatio,h=o.taResizeMaintainAspectRatio;if(g||h&&!b.shiftKey){var j=f.y/f.x;f.x=j<e?f.x:f.y/e,f.y=j<e?f.x*e:f.y}var k=angular.element(a);k.css("height",c(f.y)+"px"),k.css("width",c(f.x)+"px"),m.reflowResizeOverlay(a)};b.on("mousemove",f),D(b,"mouseup",function(a){a.preventDefault(),a.stopPropagation(),b.off("mousemove",f),m.$apply(function(){m.hidePopover(),m.updateTaBindtaTextElement()},100)}),c.stopPropagation(),c.preventDefault()},m.displayElements.resize.anchors[3].off("mousedown"),m.displayElements.resize.anchors[3].on("mousedown",z),m.reflowResizeOverlay(a),D(b,"click",function(){m.hideResizeOverlay()})},m.hideResizeOverlay=function(){m.displayElements.resize.anchors[3].off("mousedown",z),m.displayElements.resize.overlay.css("display","none")},m.setup.htmlEditorSetup(m.displayElements.html),m.setup.textEditorSetup(m.displayElements.text),m.displayElements.html.attr({id:"taHtmlElement"+C,"ng-show":"showHtml","ta-bind":"ta-bind","ng-model":"html","ng-model-options":n.attr("ng-model-options")}),m.displayElements.text.attr({id:"taTextElement"+C,contentEditable:"true","ta-bind":"ta-bind","ng-model":"html","ng-model-options":n.attr("ng-model-options")}),m.displayElements.scrollWindow.attr({"ng-hide":"showHtml"}),o.taDefaultWrap&&m.displayElements.text.attr("ta-default-wrap",o.taDefaultWrap),o.taUnsafeSanitizer&&(m.displayElements.text.attr("ta-unsafe-sanitizer",o.taUnsafeSanitizer),m.displayElements.html.attr("ta-unsafe-sanitizer",o.taUnsafeSanitizer)),o.taKeepStyles&&(m.displayElements.text.attr("ta-keep-styles",o.taKeepStyles),m.displayElements.html.attr("ta-keep-styles",o.taKeepStyles)),m.displayElements.scrollWindow.append(m.displayElements.text),n.append(m.displayElements.scrollWindow),n.append(m.displayElements.html),m.displayElements.forminput.attr("name",m._name),n.append(m.displayElements.forminput),o.tabindex&&(n.removeAttr("tabindex"),m.displayElements.text.attr("tabindex",o.tabindex),m.displayElements.html.attr("tabindex",o.tabindex)),o.placeholder&&(m.displayElements.text.attr("placeholder",o.placeholder),m.displayElements.html.attr("placeholder",o.placeholder)),o.taDisabled&&(m.displayElements.text.attr("ta-readonly","disabled"),m.displayElements.html.attr("ta-readonly","disabled"),m.disabled=m.$parent.$eval(o.taDisabled),m.$parent.$watch(o.taDisabled,function(a){m.disabled=a,m.disabled?n.addClass(m.classes.disabled):n.removeClass(m.classes.disabled)})),o.taPaste&&(m._pasteHandler=function(a){return l(o.taPaste)(m.$parent,{$html:a})},m.displayElements.text.attr("ta-paste","_pasteHandler($html)")),b(m.displayElements.scrollWindow)(m),b(m.displayElements.html)(m),m.updateTaBindtaTextElement=m["updateTaBindtaTextElement"+C],m.updateTaBindtaHtmlElement=m["updateTaBindtaHtmlElement"+C],n.addClass("ta-root"),m.displayElements.scrollWindow.addClass("ta-text ta-editor "+m.classes.textEditor),m.displayElements.html.addClass("ta-html ta-editor "+m.classes.htmlEditor);var F=function(a,b){b!==h[0].queryCommandState(a)&&h[0].execCommand(a,!1,null)},G=m._actionRunning=!1;if(m.startAction=function(){var b,c,d,e;return m._actionRunning=!0,b=h[0].queryCommandState("bold"),c=h[0].queryCommandState("italic"),d=h[0].queryCommandState("underline"),e=h[0].queryCommandState("strikeThrough"),G=a.saveSelection(),F("bold",b),F("italic",c),F("underline",d),F("strikeThrough",e),function(){G&&a.restoreSelection(G)}},m.endAction=function(){m._actionRunning=!1,G&&(m.showHtml?m.displayElements.html[0].focus():m.displayElements.text[0].focus(),a.removeMarkers(G)),G=!1,m.updateSelectedStyles(),m.showHtml||m["updateTaBindtaTextElement"+C]()},u=function(a){m.focussed=!0,n.addClass(m.classes.focussed),x.focus(),n.triggerHandler("focus"),m.updateSelectedStyles&&!m._bUpdateSelectedStyles&&c(function(){m.updateSelectedStyles()},0)},m.displayElements.html.on("focus",u),m.displayElements.text.on("focus",u),v=function(a){return m._actionRunning||h[0].activeElement===m.displayElements.html[0]||h[0].activeElement===m.displayElements.text[0]||(n.removeClass(m.classes.focussed),x.unfocus(),c(function(){m._bUpdateSelectedStyles=!1,n.triggerHandler("blur"),m.focussed=!1},0)),a.preventDefault(),!1},m.displayElements.html.on("blur",v),m.displayElements.text.on("blur",v),m.displayElements.text.on("paste",function(a){n.triggerHandler("paste",a)}),m.queryFormatBlockState=function(a){return!m.showHtml&&a.toLowerCase()===h[0].queryCommandValue("formatBlock").toLowerCase()},m.queryCommandState=function(a){return m.showHtml?"":h[0].queryCommandState(a)},m.switchView=function(){m.showHtml=!m.showHtml,i.enabled(!1,m.displayElements.html),i.enabled(!1,m.displayElements.text),m.showHtml?c(function(){return i.enabled(!0,m.displayElements.html),i.enabled(!0,m.displayElements.text),m.displayElements.html[0].focus()},100):c(function(){return i.enabled(!0,m.displayElements.html),i.enabled(!0,m.displayElements.text),m.displayElements.text[0].focus()},100)},o.ngModel){var H=!0;p.$render=function(){if(H){H=!1;var a=m.$parent.$eval(o.ngModel);null!=a||!w||""===w||p.$setViewValue(w)}m.displayElements.forminput.val(p.$viewValue),m.html=p.$viewValue||""},n.attr("required")&&(p.$validators.required=function(a,b){var c=a||b;return!(!c||""===c.trim())})}else m.displayElements.forminput.val(w),m.html=w;if(m.$watch("html",function(a,b){a!==b&&(o.ngModel&&p.$viewValue!==a&&p.$setViewValue(a),m.displayElements.forminput.val(a))}),o.taTargetToolbars)x=g.registerEditor(m._name,m,o.taTargetToolbars.split(","));else{var I=angular.element('<div text-angular-toolbar name="textAngularToolbar'+C+'">');o.taToolbar&&I.attr("ta-toolbar",o.taToolbar),o.taToolbarClass&&I.attr("ta-toolbar-class",o.taToolbarClass),o.taToolbarGroupClass&&I.attr("ta-toolbar-group-class",o.taToolbarGroupClass),o.taToolbarButtonClass&&I.attr("ta-toolbar-button-class",o.taToolbarButtonClass),o.taToolbarActiveButtonClass&&I.attr("ta-toolbar-active-button-class",o.taToolbarActiveButtonClass),o.taFocussedClass&&I.attr("ta-focussed-class",o.taFocussedClass),n.prepend(I),b(I)(m.$parent),x=g.registerEditor(m._name,m,["textAngularToolbar"+C])}m.$on("$destroy",function(){g.unregisterEditor(m._name),angular.element(window).off("blur"),angular.element(window).off("resize",m.handlePopoverEvents),angular.element(window).off("scroll",m.handlePopoverEvents)}),m.$on("ta-element-select",function(a,b){x.triggerElementSelect(a,b)&&m["reApplyOnSelectorHandlerstaTextElement"+C]()}),m.$on("ta-drop-event",function(a,b,d,f){f&&f.files&&0<f.files.length?(m.displayElements.text[0].focus(),e.setSelectionToElementEnd(d.target),angular.forEach(f.files,function(a){try{k.when(m.fileDropHandler(a,m.wrapSelection)||m.fileDropHandler!==m.defaultFileDropHandler&&k.when(m.defaultFileDropHandler(a,m.wrapSelection))).then(function(){m["updateTaBindtaTextElement"+C]()})}catch(a){j.error(a)}}),d.preventDefault(),d.stopPropagation()):c(function(){m["updateTaBindtaTextElement"+C]()},0)}),m._bUpdateSelectedStyles=!1,angular.element(window).on("blur",function(){m._bUpdateSelectedStyles=!1,m.focussed=!1}),m.updateSelectedStyles=function(){var a;A&&c.cancel(A),void 0!==(a=e.getSelectionElement())&&a.parentNode!==m.displayElements.text[0]?x.updateSelectedStyles(angular.element(a)):x.updateSelectedStyles(),m._bUpdateSelectedStyles&&(A=c(m.updateSelectedStyles,200))},q=function(){return m.focussed?void(m._bUpdateSelectedStyles||(m._bUpdateSelectedStyles=!0,m.$apply(function(){m.updateSelectedStyles()}))):void(m._bUpdateSelectedStyles=!1)},m.displayElements.html.on("keydown",q),m.displayElements.text.on("keydown",q),r=function(){m._bUpdateSelectedStyles=!1},m.displayElements.html.on("keyup",r),m.displayElements.text.on("keyup",r),s=function(a,b){if(e.getSelection){var c=e.getSelection();e.getSelectionElement()&&"a"===e.getSelectionElement().nodeName.toLowerCase()&&(3===c.start.element.nodeType&&c.start.element.textContent.length===c.end.offset&&e.setSelectionAfterElement(e.getSelectionElement()),3===c.start.element.nodeType&&0===c.start.offset&&e.setSelectionBeforeElement(e.getSelectionElement()))}b&&angular.extend(a,b),m.$apply(function(){if(x.sendKeyCommand(a))return m._bUpdateSelectedStyles||m.updateSelectedStyles(),a.preventDefault(),!1})},m.displayElements.html.on("keypress",s),m.displayElements.text.on("keypress",s),t=function(){m._bUpdateSelectedStyles=!1,c(function(){m.updateSelectedStyles()},0)},m.displayElements.html.on("mouseup",t),m.displayElements.text.on("mouseup",t)}}}]),u.service("textAngularManager",["taToolExecuteAction","taTools","taRegisterTool","$interval","$rootScope","$log",function(a,b,c,d,e,g){var h,i={},j={},k=0,l=function(a){angular.forEach(j,function(b){b.editorFunctions.updateSelectedStyles(a)})};e.$on("destroy",function(){h&&(d.cancel(h),h=void 0)});var o=function(){50<Math.abs(Date.now()-k)&&(k=Date.now(),h=d(function(){l(),h=void 0},50,1))};return{registerEditor:function(c,d,e){if(!c||""===c)throw"textAngular Error: An editor requires a name";if(!d)throw"textAngular Error: An editor requires a scope";if(j[c])throw'textAngular Error: An Editor with name "'+c+'" already exists';return j[c]={scope:d,toolbars:e,toolbarScopes:[],_registerToolbarScope:function(a){0<=this.toolbars.indexOf(a.name)&&this.toolbarScopes.push(a)},editorFunctions:{disable:function(){angular.forEach(j[c].toolbarScopes,function(a){a.disabled=!0})},enable:function(){angular.forEach(j[c].toolbarScopes,function(a){a.disabled=!1})},focus:function(){angular.forEach(j[c].toolbarScopes,function(a){a._parent=d,a.disabled=!1,a.focussed=!0}),d.focussed=!0},unfocus:function(){angular.forEach(j[c].toolbarScopes,function(a){a.disabled=!0,a.focussed=!1}),d.focussed=!1},updateSelectedStyles:function(a){angular.forEach(j[c].toolbarScopes,function(b){angular.forEach(b.tools,function(c){c.activeState&&(b._parent=d,c.active=c.activeState(a))})})},sendKeyCommand:function(e){var f=!1;return(e.ctrlKey||e.metaKey||e.specialKey)&&angular.forEach(b,function(b,g){if(b.commandKeyCode&&(b.commandKeyCode===e.which||b.commandKeyCode===e.specialKey))for(var h=0;h<j[c].toolbarScopes.length;h++)if(void 0!==j[c].toolbarScopes[h].tools[g]){a.call(j[c].toolbarScopes[h].tools[g],d),f=!0;break}}),f},triggerElementSelect:function(a,e){var f=function(a,b){for(var c=!0,d=0;d<b.length;d++)c=c&&a.attr(b[d]);return c},g=[],h={},i=!1;e=angular.element(e);var k=!1;if(angular.forEach(b,function(a,b){a.onElementSelect&&a.onElementSelect.element&&a.onElementSelect.element.toLowerCase()===e[0].tagName.toLowerCase()&&(!a.onElementSelect.filter||a.onElementSelect.filter(e))&&(k=k||angular.isArray(a.onElementSelect.onlyWithAttrs)&&f(e,a.onElementSelect.onlyWithAttrs),a.onElementSelect.onlyWithAttrs&&!f(e,a.onElementSelect.onlyWithAttrs)||(h[b]=a))}),k?(angular.forEach(h,function(a,b){a.onElementSelect.onlyWithAttrs&&f(e,a.onElementSelect.onlyWithAttrs)&&g.push({name:b,tool:a})}),g.sort(function(a,b){return b.tool.onElementSelect.onlyWithAttrs.length-a.tool.onElementSelect.onlyWithAttrs.length})):angular.forEach(h,function(a,b){g.push({name:b,tool:a})}),0<g.length)for(var l=0;l<g.length;l++){for(var m=g[l].tool,n=g[l].name,o=0;o<j[c].toolbarScopes.length;o++)if(void 0!==j[c].toolbarScopes[o].tools[n]){m.onElementSelect.action.call(j[c].toolbarScopes[o].tools[n],a,e,d),i=!0;break}if(i)break}return i}}},angular.forEach(e,function(a){i[a]&&j[c].toolbarScopes.push(i[a])}),o(),j[c].editorFunctions},retrieveEditor:function(a){return j[a]},unregisterEditor:function(a){delete j[a],o()},registerToolbar:function(a){if(!a)throw"textAngular Error: A toolbar requires a scope";if(!a.name||""===a.name)throw"textAngular Error: A toolbar requires a name";if(i[a.name])throw'textAngular Error: A toolbar with name "'+a.name+'" already exists';i[a.name]=a,angular.forEach(j,function(b){b._registerToolbarScope(a)}),o()},retrieveToolbar:function(a){return i[a]},retrieveToolbarsViaEditor:function(a){var b=[],c=this;return angular.forEach(this.retrieveEditor(a).toolbars,function(a){b.push(c.retrieveToolbar(a))}),b},unregisterToolbar:function(a){delete i[a],o()},updateToolsDisplay:function(a){var b=this;angular.forEach(a,function(a,c){b.updateToolDisplay(c,a)})},resetToolsDisplay:function(){var a=this;angular.forEach(b,function(b,c){a.resetToolDisplay(c)}),o()},updateToolDisplay:function(a,b){var c=this;angular.forEach(i,function(d,e){c.updateToolbarToolDisplay(e,a,b)}),o()},resetToolDisplay:function(a){var b=this;angular.forEach(i,function(c,d){b.resetToolbarToolDisplay(d,a)}),o()},updateToolbarToolDisplay:function(a,b,c){if(!i[a])throw'textAngular Error: No Toolbar with name "'+a+'" exists';i[a].updateToolDisplay(b,c)},resetToolbarToolDisplay:function(a,c){if(!i[a])throw'textAngular Error: No Toolbar with name "'+a+'" exists';i[a].updateToolDisplay(c,b[c],!0)},removeTool:function(a){delete b[a],angular.forEach(i,function(b){delete b.tools[a];for(var c=0;c<b.toolbar.length;c++){for(var d,e=0;e<b.toolbar[c].length;e++){if(b.toolbar[c][e]===a){d={group:c,index:e};break}if(void 0!==d)break}void 0!==d&&(b.toolbar[d.group].slice(d.index,1),b._$element.children().eq(d.group).children().eq(d.index).remove())}}),o()},addTool:function(a,b,d,e){c(a,b),angular.forEach(i,function(c){c.addTool(a,b,d,e)}),o()},addToolToToolbar:function(a,b,d,e,f){c(a,b),i[d].addTool(a,b,e,f),o()},refreshEditor:function(a){if(!j[a])throw'textAngular Error: No Editor with name "'+a+'" exists';j[a].scope.updateTaBindtaTextElement(),j[a].scope.$$phase||j[a].scope.$digest(),o()},sendKeyCommand:function(a,b){var c=j[a._name];if(c&&c.editorFunctions.sendKeyCommand(b))return a._bUpdateSelectedStyles||a.updateSelectedStyles(),b.preventDefault(),!1},updateStyles:l,getVersion:function(){return"v1.5.16"},getToolbarScopes:function(){var a=[];return angular.forEach(j,function(b){a=a.concat(b.toolbarScopes)}),a}}}]),u.directive("textAngularToolbar",["$compile","textAngularManager","taOptions","taTools","taToolExecuteAction","$window",function(a,b,c,d,e,f){return{scope:{name:"@"},restrict:"EA",link:function(g,h,i){if(!g.name||""===g.name)throw"textAngular Error: A toolbar requires a name";angular.extend(g,angular.copy(c)),i.taToolbar&&(g.toolbar=g.$parent.$eval(i.taToolbar)),i.taToolbarClass&&(g.classes.toolbar=i.taToolbarClass),i.taToolbarGroupClass&&(g.classes.toolbarGroup=i.taToolbarGroupClass),i.taToolbarButtonClass&&(g.classes.toolbarButton=i.taToolbarButtonClass),i.taToolbarActiveButtonClass&&(g.classes.toolbarButtonActive=i.taToolbarActiveButtonClass),i.taFocussedClass&&(g.classes.focussed=i.taFocussedClass),g.disabled=!0,g.focussed=!1,(g._$element=h)[0].innerHTML="",h.addClass("ta-toolbar "+g.classes.toolbar),g.$watch("focussed",function(){g.focussed?h.addClass(g.classes.focussed):h.removeClass(g.classes.focussed)});var j=function(b,c){var d;if(d=b&&b.display?angular.element(b.display):angular.element("<button type='button'>"),b&&b.class?d.addClass(b.class):d.addClass(g.classes.toolbarButton),d.attr("name",c.name),d.attr("ta-button","ta-button"),d.attr("ng-disabled","isDisabled()"),d.attr("tabindex","-1"),d.attr("ng-click","executeAction()"),d.attr("ng-class","displayActiveToolClass(active)"),b&&b.tooltiptext&&d.attr("title",b.tooltiptext),b&&!b.display&&!c._display&&(d[0].innerHTML="",b.buttontext&&(d[0].innerHTML=b.buttontext),b.iconclass)){var e=angular.element("<i>"),f=d[0].innerHTML;e.addClass(b.iconclass),d[0].innerHTML="",d.append(e),f&&""!==f&&d.append(" "+f)}return c._lastToolDefinition=angular.copy(b),a(d)(c)};g.tools={},g._parent={disabled:!0,showHtml:!1,queryFormatBlockState:function(){return!1},queryCommandState:function(){return!1}};var k={$window:f,$editor:function(){return g._parent},isDisabled:function(){return("html"!==this.name||!g._parent.startAction)&&("function"!=typeof this.$eval("disabled")&&this.$eval("disabled")||this.$eval("disabled()")||"html"!==this.name&&this.$editor().showHtml||this.$parent.disabled||this.$editor().disabled)},displayActiveToolClass:function(a){return a?g.classes.toolbarButtonActive:""},executeAction:e};angular.forEach(g.toolbar,function(a){var b=angular.element("<div>");b.addClass(g.classes.toolbarGroup),angular.forEach(a,function(a){g.tools[a]=angular.extend(g.$new(!0),d[a],k,{name:a}),g.tools[a].$element=j(d[a],g.tools[a]),b.append(g.tools[a].$element)}),h.append(b)}),g.updateToolDisplay=function(a,b,c){var d=g.tools[a];if(d){if(d._lastToolDefinition&&!c&&(b=angular.extend({}
1,d._lastToolDefinition,b)),null===b.buttontext&&null===b.iconclass&&null===b.display)throw'textAngular Error: Tool Definition for updating "'+a+'" does not have a valid display/iconclass/buttontext value';null===b.buttontext&&delete b.buttontext,null===b.iconclass&&delete b.iconclass,null===b.display&&delete b.display;var e=j(b,d);d.$element.replaceWith(e),d.$element=e}},g.addTool=function(a,b,c,e){var f;g.tools[a]=angular.extend(g.$new(!0),d[a],k,{name:a}),g.tools[a].$element=j(d[a],g.tools[a]),void 0===c&&(c=g.toolbar.length-1),f=angular.element(h.children()[c]),void 0===e?(f.append(g.tools[a].$element),g.toolbar[c][g.toolbar[c].length-1]=a):(f.children().eq(e).after(g.tools[a].$element),g.toolbar[c][e]=a)},b.registerToolbar(g),g.$on("$destroy",function(){b.unregisterToolbar(g.name)})}}}]),u.directive("textAngularVersion",["textAngularManager",function(a){var b=a.getVersion();return{restrict:"EA",link:function(a,c,d){c.html(b)}}}]),u.name}),angular.module("ab-base64",[]).constant("base64",function(){var B64={alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",lookup:null,ie:/MSIE /.test(navigator.userAgent),ieo:/MSIE [67]/.test(navigator.userAgent),encode:function(s){var result,nan0,nan1,nan2,buffer=B64.toUtf8(s),position=-1,len=buffer.length,enc=[,,,];if(B64.ie){for(result=[];++position<len;)nan0=buffer[position],nan1=buffer[++position],enc[0]=nan0>>2,enc[1]=(3&nan0)<<4|nan1>>4,isNaN(nan1)?enc[2]=enc[3]=64:(nan2=buffer[++position],enc[2]=(15&nan1)<<2|nan2>>6,enc[3]=isNaN(nan2)?64:63&nan2),result.push(B64.alphabet.charAt(enc[0]),B64.alphabet.charAt(enc[1]),B64.alphabet.charAt(enc[2]),B64.alphabet.charAt(enc[3]));return result.join("")}for(result="";++position<len;)nan0=buffer[position],nan1=buffer[++position],enc[0]=nan0>>2,enc[1]=(3&nan0)<<4|nan1>>4,isNaN(nan1)?enc[2]=enc[3]=64:(nan2=buffer[++position],enc[2]=(15&nan1)<<2|nan2>>6,enc[3]=isNaN(nan2)?64:63&nan2),result+=B64.alphabet[enc[0]]+B64.alphabet[enc[1]]+B64.alphabet[enc[2]]+B64.alphabet[enc[3]];return result},decode:function(s){if((s=s.replace(/\s/g,"")).length%4)throw new Error("InvalidLengthError: decode failed: The string to be decoded is not the correct length for a base64 encoded string.");if(/[^A-Za-z0-9+\/=\s]/g.test(s))throw new Error("InvalidCharacterError: decode failed: The string contains characters invalid in a base64 encoded string.");var result,buffer=B64.fromUtf8(s),position=0,len=buffer.length;if(B64.ieo){for(result=[];position<len;)buffer[position]<128?result.push(String.fromCharCode(buffer[position++])):191<buffer[position]&&buffer[position]<224?result.push(String.fromCharCode((31&buffer[position++])<<6|63&buffer[position++])):result.push(String.fromCharCode((15&buffer[position++])<<12|(63&buffer[position++])<<6|63&buffer[position++]));return result.join("")}for(result="";position<len;)buffer[position]<128?result+=String.fromCharCode(buffer[position++]):191<buffer[position]&&buffer[position]<224?result+=String.fromCharCode((31&buffer[position++])<<6|63&buffer[position++]):result+=String.fromCharCode((15&buffer[position++])<<12|(63&buffer[position++])<<6|63&buffer[position++]);return result},toUtf8:function(s){var chr,position=-1,len=s.length,buffer=[];if(/^[\x00-\x7f]*$/.test(s))for(;++position<len;)buffer.push(s.charCodeAt(position));else for(;++position<len;)(chr=s.charCodeAt(position))<128?buffer.push(chr):chr<2048?buffer.push(chr>>6|192,63&chr|128):buffer.push(chr>>12|224,chr>>6&63|128,63&chr|128);return buffer},fromUtf8:function(s){var len,position=-1,buffer=[],enc=[,,,];if(!B64.lookup){for(len=B64.alphabet.length,B64.lookup={};++position<len;)B64.lookup[B64.alphabet.charAt(position)]=position;position=-1}for(len=s.length;++position<len&&(enc[0]=B64.lookup[s.charAt(position)],enc[1]=B64.lookup[s.charAt(++position)],buffer.push(enc[0]<<2|enc[1]>>4),enc[2]=B64.lookup[s.charAt(++position)],64!==enc[2])&&(buffer.push((15&enc[1])<<4|enc[2]>>2),enc[3]=B64.lookup[s.charAt(++position)],64!==enc[3]);)buffer.push((3&enc[2])<<6|enc[3]);return buffer}},B64url={decode:function(input){var pad=(input=input.replace(/-/g,"+").replace(/_/g,"/")).length%4;if(pad){if(1===pad)throw new Error("InvalidLengthError: Input base64url string is the wrong length to determine padding");input+=new Array(5-pad).join("=")}return B64.decode(input)},encode:function(input){return B64.encode(input).replace(/\+/g,"-").replace(/\//g,"_").split("=",1)[0]}};return{decode:B64.decode,encode:B64.encode,urldecode:B64url.decode,urlencode:B64url.encode}}()),function(root,factory){if("object"==typeof exports&&"object"==typeof module)module.exports=factory();else if("function"==typeof define&&define.amd)define([],factory);else{var a=factory();
1for(var i in a)("object"==typeof exports?exports:root)[i]=a[i]}}(this,function(){return function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:!1};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.p="",__webpack_require__(0)}([function(module,exports,__webpack_require__){"use strict";module.exports="ngFileSaver",angular.module("ngFileSaver",[]).factory("FileSaver",["Blob","SaveAs","FileSaverUtils",__webpack_require__(1)]).factory("FileSaverUtils",[__webpack_require__(2)]).factory("Blob",["$window",__webpack_require__(3)]).factory("SaveAs",[__webpack_require__(5)])},function(module,exports){"use strict";module.exports=function(Blob,SaveAs,FileSaverUtils){return{saveAs:function(data,filename,disableAutoBOM){return FileSaverUtils.isBlobInstance(data)||FileSaverUtils.handleErrors("Data argument should be a blob instance"),FileSaverUtils.isString(filename)||FileSaverUtils.handleErrors("Filename argument should be a string"),function(blob,filename,disableAutoBOM){try{SaveAs(blob,filename,disableAutoBOM)}catch(err){FileSaverUtils.handleErrors(err.message)}}(data,filename,disableAutoBOM)}}}},function(module,exports){"use strict";module.exports=function(){return{handleErrors:function(msg){throw new Error(msg)},isString:function(obj){return"string"==typeof obj||obj instanceof String},isUndefined:function(obj){return void 0===obj},isBlobInstance:function(obj){return obj instanceof Blob}}}},function(module,exports,__webpack_require__){"use strict";__webpack_require__(4),module.exports=function($window){return $window.Blob}},function(module,exports){!function(view){"use strict";if(view.URL=view.URL||view.webkitURL,view.Blob&&view.URL)try{return new Blob}catch(e){}var BlobBuilder=view.BlobBuilder||view.WebKitBlobBuilder||view.MozBlobBuilder||function(view){var get_class=function(object){return Object.prototype.toString.call(object).match(/^\[object\s(.*)\]$/)[1]},FakeBlobBuilder=function(){this.data=[]},FakeBlob=function(data,type,encoding){this.data=data,this.size=data.length,this.type=type,this.encoding=encoding},FBB_proto=FakeBlobBuilder.prototype,FB_proto=FakeBlob.prototype,FileReaderSync=view.FileReaderSync,FileException=function(type){this.code=this[this.name=type]},file_ex_codes="NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR".split(" "),file_ex_code=file_ex_codes.length,real_URL=view.URL||view.webkitURL||view,real_create_object_URL=real_URL.createObjectURL,real_revoke_object_URL=real_URL.revokeObjectURL,URL=real_URL,btoa=view.btoa,atob=view.atob,ArrayBuffer=view.ArrayBuffer,Uint8Array=view.Uint8Array,origin=/^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?/;for(FakeBlob.fake=FB_proto.fake=!0;file_ex_code--;)FileException.prototype[file_ex_codes[file_ex_code]]=file_ex_code+1;return real_URL.createObjectURL||(URL=view.URL=function(uri){var uri_origin,uri_info=document.createElementNS("http://www.w3.org/1999/xhtml","a");return uri_info.href=uri,"origin"in uri_info||("data:"===uri_info.protocol.toLowerCase()?uri_info.origin=null:(uri_origin=uri.match(origin),uri_info.origin=uri_origin&&uri_origin[1])),uri_info}),URL.createObjectURL=function(blob){var data_URI_header,type=blob.type;return null===type&&(type="application/octet-stream"),blob instanceof FakeBlob?(data_URI_header="data:"+type,"base64"===blob.encoding?data_URI_header+";base64,"+blob.data:"URI"===blob.encoding?data_URI_header+","+decodeURIComponent(blob.data):btoa?data_URI_header+";base64,"+btoa(blob.data):data_URI_header+","+encodeURIComponent(blob.data)):real_create_object_URL?real_create_object_URL.call(real_URL,blob):void 0},URL.revokeObjectURL=function(object_URL){"data:"!==object_URL.substring(0,5)&&real_revoke_object_URL&&real_revoke_object_URL.call(real_URL,object_URL)},FBB_proto.append=function(data){var bb=this.data;if(Uint8Array&&(data instanceof ArrayBuffer||data instanceof Uint8Array)){for(var str="",buf=new Uint8Array(data),i=0,buf_len=buf.length;i<buf_len;i++)str+=String.fromCharCode(buf[i]);bb.push(str)}
1else if("Blob"===get_class(data)||"File"===get_class(data)){if(!FileReaderSync)throw new FileException("NOT_READABLE_ERR");var fr=new FileReaderSync;bb.push(fr.readAsBinaryString(data))}else data instanceof FakeBlob?"base64"===data.encoding&&atob?bb.push(atob(data.data)):"URI"===data.encoding?bb.push(decodeURIComponent(data.data)):"raw"===data.encoding&&bb.push(data.data):("string"!=typeof data&&(data+=""),bb.push(unescape(encodeURIComponent(data))))},FBB_proto.getBlob=function(type){return arguments.length||(type=null),new FakeBlob(this.data.join(""),type,"raw")},FBB_proto.toString=function(){return"[object BlobBuilder]"},FB_proto.slice=function(start,end,type){var args=arguments.length;return args<3&&(type=null),new FakeBlob(this.data.slice(start,1<args?end:this.data.length),type,this.encoding)},FB_proto.toString=function(){return"[object Blob]"},FB_proto.close=function(){this.size=0,delete this.data},FakeBlobBuilder}(view);view.Blob=function(blobParts,options){var type=options&&options.type||"",builder=new BlobBuilder;if(blobParts)for(var i=0,len=blobParts.length;i<len;i++)Uint8Array&&blobParts[i]instanceof Uint8Array?builder.append(blobParts[i].buffer):builder.append(blobParts[i]);var blob=builder.getBlob(type);return!blob.slice&&blob.webkitSlice&&(blob.slice=blob.webkitSlice),blob};var getPrototypeOf=Object.getPrototypeOf||function(object){return object.__proto__};view.Blob.prototype=getPrototypeOf(new view.Blob)}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content||this)},function(module,exports,__webpack_require__){"use strict";module.exports=function(){return __webpack_require__(6).saveAs||function(){}}},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__,saveAs=saveAs||function(view){"use strict";if(!(void 0===view||"undefined"!=typeof navigator&&/MSIE [1-9]\./.test(navigator.userAgent))){var doc=view.document,get_URL=function(){return view.URL||view.webkitURL||view},save_link=doc.createElementNS("http://www.w3.org/1999/xhtml","a"),can_use_save_link="download"in save_link,is_safari=/constructor/i.test(view.HTMLElement)||view.safari,is_chrome_ios=/CriOS\/[\d]+/.test(navigator.userAgent),throw_outside=function(ex){(view.setImmediate||view.setTimeout)(function(){throw ex},0)},revoke=function(file){setTimeout(function(){"string"==typeof file?get_URL().revokeObjectURL(file):file.remove()},4e4)},auto_bom=function(blob){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)?new Blob([String.fromCharCode(65279),blob],{type:blob.type}):blob},FileSaver=function(blob,name,no_auto_bom){no_auto_bom||(blob=auto_bom(blob));var object_url,filesaver=this,force="application/octet-stream"===blob.type,dispatch_all=function(){!function(filesaver,event_types,event){for(var i=(event_types=[].concat(event_types)).length;i--;){var listener=filesaver["on"+event_types[i]];if("function"==typeof listener)try{listener.call(filesaver,event||filesaver)}catch(ex){throw_outside(ex)}}}(filesaver,"writestart progress write writeend".split(" "))};if(filesaver.readyState=filesaver.INIT,can_use_save_link)return object_url=get_URL().createObjectURL(blob),void setTimeout(function(){var node,event;save_link.href=object_url,save_link.download=name,node=save_link,event=new MouseEvent("click"),node.dispatchEvent(event),dispatch_all(),revoke(object_url),filesaver.readyState=filesaver.DONE});!function(){if((is_chrome_ios||force&&is_safari)&&view.FileReader){var reader=new FileReader;return reader.onloadend=function(){var url=is_chrome_ios?reader.result:reader.result.replace(/^data:[^;]*;/,"data:attachment/file;");view.open(url,"_blank")||(view.location.href=url),url=void 0,filesaver.readyState=filesaver.DONE,dispatch_all()},reader.readAsDataURL(blob),filesaver.readyState=filesaver.INIT}object_url||(object_url=get_URL().createObjectURL(blob)),force?view.location.href=object_url:view.open(object_url,"_blank")||(view.location.href=object_url);filesaver.readyState=filesaver.DONE,dispatch_all(),revoke(object_url)}()},FS_proto=FileSaver.prototype;return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(blob,name,no_auto_bom){return name=name||blob.name||"download",no_auto_bom||(blob=auto_bom(blob)),navigator.msSaveOrOpenBlob(blob,name)}:(FS_proto.abort=function(){},FS_proto.readyState=FS_proto.INIT=0,FS_proto.WRITING=1,FS_proto.DONE=2,FS_proto.error=FS_proto.onwritestart=FS_proto.onprogress=FS_proto.onwrite=FS_proto.onabort=FS_proto.onerror=FS_proto.onwriteend=null,function(blob,name,no_auto_bom){return new FileSaver(blob,name||blob.name||"download",no_auto_bom)})}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content);void 0!==module&&module.exports?module.exports.saveAs=saveAs:null!==__webpack_require__(7)&&null!==__webpack_require__(8)&&(void 0===(__WEBPACK_AMD_DEFINE_RESULT__=function(){return saveAs}.call(exports,__webpack_require__,exports,module))||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__))},function(module,exports){module.exports=function(){throw new Error("define cannot be used indirect")}},function(module,exports){(function(__webpack_amd_options__){module.exports=__webpack_amd_options__}).call(exports,{})}])}),function(){"use strict";var app=angular.module("matchMedia",[]);function screenSize($rootScope){var defaultRules={lg:"(min-width: 1200px)",md:"(min-width: 992px) and (max-width: 1199px)",sm:"(min-width: 768px) and (max-width: 991px)",xs:"(max-width: 767px)"};this.isRetina=1<window.devicePixelRatio||window.matchMedia&&window.matchMedia("(-webkit-min-device-pixel-ratio: 1.5),(-moz-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5),(min-resolution: 192dpi),(min-resolution: 2dppx)").matches;var that=this,safeApply=function(fn,scope){var phase=(scope=scope||$rootScope).$root.$$phase;"$apply"===phase||"$digest"===phase?fn&&"function"==typeof fn&&fn():scope.$apply(fn)},assureList=function(list){if("string"!=typeof list&&"[object Array]"!==Object.prototype.toString.call(list))throw new Error("screenSize requires array or comma-separated list");return"string"==typeof list?list.split(/\s*,\s*/):list},getCurrentMatch=function(){var rules=that.rules||defaultRules;for(var property in rules)if(rules.hasOwnProperty(property)&&window.matchMedia(rules[property]).matches)return property};this.get=getCurrentMatch,this.is=function(list){return-1!==(list=assureList(list)).indexOf(getCurrentMatch())},this.on=function(list,callback,scope){return window.addEventListener("resize",listenerFunc),scope&&scope.$on("$destroy",function(){window.removeEventListener("resize",listenerFunc)}),that.is(list);function listenerFunc(){safeApply(callback(that.is(list)),scope)}},this.onChange=function(scope,list,callback){var currentMatch=getCurrentMatch();if(list=assureList(list),!scope)throw"scope has to be applied for cleanup reasons. (destroy)";return window.addEventListener("resize",listenerFunc),scope.$on("$destroy",function(){window.removeEventListener("resize",listenerFunc)}),that.is(list);function listenerFunc(){var previousMatch=currentMatch;currentMatch=getCurrentMatch();var wasPreviousMatch=-1!==list.indexOf(previousMatch),doesCurrentMatch=-1!==list.indexOf(currentMatch);wasPreviousMatch!==doesCurrentMatch&&safeApply(callback(doesCurrentMatch),scope)}},this.when=function(list,callback,scope){return window.addEventListener("resize",function(){!0===that.is(list)&&safeApply(callback(that.is(list)),scope)}),that.is(list)}}app.run(function(){window.matchMedia||(window.matchMedia=function(){var styleMedia=window.styleMedia||window.media;if(!styleMedia){var info,style=document.createElement("style"),script=document.getElementsByTagName("script")[0];style.type="text/css",style.id="matchmediajs-test",script.parentNode.insertBefore(style,script),info="getComputedStyle"in window&&window.getComputedStyle(style,null)||style.currentStyle,styleMedia={matchMedium:function(media){var text="@media "+media+"{ #matchmediajs-test { width: 1px; } }";return style.styleSheet?style.styleSheet.cssText=text:style.textContent=text,"1px"===info.width}}}return function(media){return{matches:styleMedia.matchMedium(media||"all"),media:media||"all"}}}())}),app.service("screenSize",screenSize),screenSize.$inject=["$rootScope"],app.filter("media",["screenSize",function(screenSize){var mediaFilter=function(inputValue,options){var size=screenSize.get(),returnedName="";if(!options)return size;if(options.groups){for(var prop in options.groups){if(options.groups.hasOwnProperty(prop))0<=options.groups[prop].indexOf(size)&&(returnedName=prop)}""===returnedName&&(returnedName=size)}return options.replace&&"string"==typeof options.replace&&0<options.replace.length?
1inputValue.replace(options.replace,returnedName):returnedName};return mediaFilter.$stateful=!0,mediaFilter}])}(),function(root,factory){"use strict";"function"==typeof define&&define.amd?define(["angular"],factory):root.hasOwnProperty("angular")?factory(root.angular):"object"==typeof exports&&(module.exports=factory(require("angular")))}(this,function(angular){"use strict";function isStorageSupported($window,storageType){var supported;try{supported=$window[storageType]}catch(err){supported=!1}if(supported){var key="__"+Math.round(1e7*Math.random());try{$window[storageType].setItem(key,key),$window[storageType].removeItem(key,key)}catch(err){supported=!1}}return supported}return(angular=angular&&angular.module?angular:window.angular).module("ngStorage",[]).provider("$localStorage",_storageProvider("localStorage")).provider("$sessionStorage",_storageProvider("sessionStorage"));function _storageProvider(storageType){var providerWebStorage=isStorageSupported(window,storageType);return function(){var storageKeyPrefix="ngStorage-";this.setKeyPrefix=function(prefix){if("string"!=typeof prefix)throw new TypeError("[ngStorage] - "+storageType+"Provider.setKeyPrefix() expects a String.");storageKeyPrefix=prefix};var serializer=angular.toJson,deserializer=angular.fromJson;this.setSerializer=function(s){if("function"!=typeof s)throw new TypeError("[ngStorage] - "+storageType+"Provider.setSerializer expects a function.");serializer=s},this.setDeserializer=function(d){if("function"!=typeof d)throw new TypeError("[ngStorage] - "+storageType+"Provider.setDeserializer expects a function.");deserializer=d},this.supported=function(){return!!providerWebStorage},this.get=function(key){return providerWebStorage&&deserializer(providerWebStorage.getItem(storageKeyPrefix+key))},this.set=function(key,value){return providerWebStorage&&providerWebStorage.setItem(storageKeyPrefix+key,serializer(value))},this.remove=function(key){providerWebStorage&&providerWebStorage.removeItem(storageKeyPrefix+key)},this.$get=["$rootScope","$window","$log","$timeout","$document",function($rootScope,$window,$log,$timeout,$document){var _last$storage,_debounce,prefixLength=storageKeyPrefix.length,isSupported=isStorageSupported($window,storageType),webStorage=isSupported||($log.warn("This browser does not support Web Storage!"),{setItem:angular.noop,getItem:angular.noop,removeItem:angular.noop}),$storage={$default:function(items){for(var k in items)angular.isDefined($storage[k])||($storage[k]=angular.copy(items[k]));return $storage.$sync(),$storage},$reset:function(items){for(var k in $storage)"$"===k[0]||delete $storage[k]&&webStorage.removeItem(storageKeyPrefix+k);return $storage.$default(items)},$sync:function(){for(var k,i=0,l=webStorage.length;i<l;i++)(k=webStorage.key(i))&&storageKeyPrefix===k.slice(0,prefixLength)&&($storage[k.slice(prefixLength)]=deserializer(webStorage.getItem(k)))},$apply:function(){var temp$storage;if(_debounce=null,!angular.equals($storage,_last$storage)){for(var k in temp$storage=angular.copy(_last$storage),angular.forEach($storage,function(v,k){angular.isDefined(v)&&"$"!==k[0]&&(webStorage.setItem(storageKeyPrefix+k,serializer(v)),delete temp$storage[k])}),temp$storage)webStorage.removeItem(storageKeyPrefix+k);_last$storage=angular.copy($storage)}},$supported:function(){return!!isSupported}};return $storage.$sync(),_last$storage=angular.copy($storage),$rootScope.$watch(function(){_debounce||(_debounce=$timeout($storage.$apply,100,!1))}),$window.addEventListener&&$window.addEventListener("storage",function(event){if(event.key){var doc=$document[0];doc.hasFocus&&doc.hasFocus()||storageKeyPrefix!==event.key.slice(0,prefixLength)||(event.newValue?$storage[event.key.slice(prefixLength)]=deserializer(event.newValue):delete $storage[event.key.slice(prefixLength)],_last$storage=angular.copy($storage),$rootScope.$apply())}}),$window.addEventListener&&$window.addEventListener("beforeunload",function(){$storage.$apply()}),$storage}]}}}),function(){"use strict";angular.module("internationalPhoneNumber",[]).directive("internationalPhoneNumber",["$timeout",function($timeout){return{restrict:"A",require:"^ngModel",scope:{ngModel:"=",defaultCountry:"@"},link:function(scope,element,attrs,ctrl){var handleWhatsSupposedToBeAnArray,options,read,watchOnce;return ctrl&&""!==element.val()&&$timeout(function(){return element.intlTelInput("setNumber",element.val()),ctrl.$setViewValue(element.val())},0),options={autoFormat:!0,autoHideDialCode:!0,defaultCountry:"",nationalMode:!(handleWhatsSupposedToBeAnArray=function(value){return value instanceof Array?value:value.toString().replace(/[ ]/g,"").split(",")}),numberType:"",onlyCountries:void 0,preferredCountries:["us","gb"],responsiveDropdown:!(read=function(){return ctrl.$setViewValue(element.val())}),utilsScript:""},angular.forEach(options,function(value,key){var option;if(attrs.hasOwnProperty(key)&&angular.isDefined(attrs[key]))return option=attrs[key],"preferredCountries"===key?options.preferredCountries=handleWhatsSupposedToBeAnArray(option):"onlyCountries"===key?options.onlyCountries=handleWhatsSupposedToBeAnArray(option):options[key]="boolean"==typeof value?"true"===option:option}),watchOnce=scope.$watch("ngModel",function(newValue){return scope.$$postDigest(function(){return options.defaultCountry=scope.defaultCountry,null!=newValue&&0<newValue.length&&("+"!==newValue[0]&&(newValue="+"+newValue),element.val(newValue)),element.intlTelInput(options),void 0!==attrs.skipUtilScriptDownload||options.utilsScript||element.intlTelInput("loadUtils","/bower_components/intl-tel-input/lib/libphonenumber/build/utils.js"),watchOnce()})}),ctrl.$formatters.push(function(value){return value?(element.intlTelInput("setNumber",value),element.val()):value}),ctrl.$parsers.push(function(value){return value?value.replace(/[^\d]/g,""):value}),ctrl.$validators.internationalPhoneNumber=function(value){var selectedCountry;
vendor: 5,366 bytes, line 1
1return selectedCountry=element.intlTelInput("getSelectedCountryData"),!(value&&(!selectedCountry||selectedCountry.dialCode!==value))||element.intlTelInput("isValidNumber")},element.on("blur keyup change",function(event){return scope.$apply(read)}),element.on("$destroy",function(){return element.intlTelInput("destroy"),element.off("blur keyup change")})}}}])}.call(this),function(n){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).OT=n()}}(function(){return function t(n,l,e){function u(o,i){if(!l[o]){if(!n[o]){var s="function"==typeof require&&require;if(!i&&s)return s(o,!0);if(r)return r(o,!0);var a=new Error("Cannot find module '"+o+"'");throw a.code="MODULE_NOT_FOUND",a}var c=l[o]={exports:{}};n[o][0].call(c.exports,function(l){var e=n[o][1][l];return u(e||l)},c,c.exports,t,n,l,e)}return l[o].exports}for(var r="function"==typeof require&&require,o=0;o<e.length;o++)u(e[o]);return u}({1:[function(n,l,e){(function(e){"use strict";function t(n,l){if(n===l)return 0;for(var e=n.length,t=l.length,u=0,r=Math.min(e,t);u<r;++u)if(n[u]!==l[u]){e=n[u],t=l[u];break}return e<t?-1:t<e?1:0}function u(n){return e.Buffer&&"function"==typeof e.Buffer.isBuffer?e.Buffer.isBuffer(n):!(null==n||!n._isBuffer)}function r(n){return Object.prototype.toString.call(n)}function o(n){return!u(n)&&"function"==typeof e.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(n):!!n&&(n instanceof DataView||!!(n.buffer&&n.buffer instanceof ArrayBuffer)))}function i(n){if(y.isFunction(n)){if(T)return n.name;var e=n.toString().match(O);return e&&e[1]}}function s(n,l){return"string"==typeof n?n.length<l?n:n.slice(0,l):n}function a(n){if(T||!y.isFunction(n))return y.inspect(n);var l=i(n);return"[Function"+(l?": "+l:"")+"]"}function d(n,l,e,t,u){throw new w.AssertionError({message:e,actual:n,expected:l,operator:t,stackStartFunction:u})}function f(n,l){n||d(n,!0,l,"==",w.ok)}function p(n,l,e,i){if(n===l)return!0;if(u(n)&&u(l))return 0===t(n,l);if(y.isDate(n)&&y.isDate(l))return n.getTime()===l.getTime();if(y.isRegExp(n)&&y.isRegExp(l))return n.source===l.source&&n.global===l.global&&n.multiline===l.multiline&&n.lastIndex===l.lastIndex&&n.ignoreCase===l.ignoreCase;if(null!==n&&"object"==typeof n||null!==l&&"object"==typeof l){if(o(n)&&o(l)&&r(n)===r(l)&&!(n instanceof Float32Array||n instanceof Float64Array))return 0===t(new Uint8Array(n.buffer),new Uint8Array(l.buffer));if(u(n)!==u(l))return!1;var s=(i=i||{actual:[],expected:[]}).actual.indexOf(n);return-1!==s&&s===i.expected.indexOf(l)||(i.actual.push(n),i.expected.push(l),function(n,l,e,t){if(null==n||null==l)return!1;if(y.isPrimitive(n)||y.isPrimitive(l))return n===l;if(e&&Object.getPrototypeOf(n)!==Object.getPrototypeOf(l))return!1;var u=h(n),r=h(l);if(u&&!r||!u&&r)return!1;if(u)return n=S.call(n),l=S.call(l),p(n,l,e);var o,i,s=C(n),a=C(l);if(s.length!==a.length)return!1;for(s.sort(),a.sort(),i=s.length-1;0<=i;i--)if(s[i]!==a[i])return!1;for(i=s.length-1;0<=i;i--)if(o=s[i],!p(n[o],l[o],e,t))return!1;return!0}(n,l,e,i))}return e?n===l:n==l}function h(n){return"[object Arguments]"==Object.prototype.toString.call(n)}function m(n,l){if(!n||!l)return!1;if("[object RegExp]"==Object.prototype.toString.call(l))return l.test(n);try{if(n instanceof l)return!0}catch(e){}return!Error.isPrototypeOf(l)&&!0===l.call({},n)}function b(n,l,e,t){var u;if("function"!=typeof l)throw new TypeError('"block" argument must be a function');"string"==typeof e&&(t=e,e=null),u=function(n){var l;try{n()}catch(e){l=e}return l}(l),t=(e&&e.name?" ("+e.name+").":".")+(t?" "+t:"."),n&&!u&&d(u,e,"Missing expected exception"+t);var r="string"==typeof t,i=!n&&u&&!e;if((!n&&y.isError(u)&&r&&m(u,e)||i)&&d(u,e,"Got unwanted exception"+t),n&&u&&e&&!m(u,e)||!n&&u)throw u}var y=n("util/"),E=Object.prototype.hasOwnProperty,S=Array.prototype.slice,T="foo"===function(){}.name,w=l.exports=f,O=/\s*function\s+([^\(\s]*)\s*/;w.AssertionError=function(n){this.name="AssertionError",this.actual=n.actual,this.expected=n.expected,this.operator=n.operator,n.message?(this.message=n.message,this.generatedMessage=!1):(this.message=function(n){return s(a(n.actual),128)+" "+n.operator+" "+s(a(n.expected),128)}(this),this.generatedMessage=!0);var l=n.stackStartFunction||d;if(Error.captureStackTrace)Error.captureStackTrace(this,l);else{var e=new Error;if(e.stack){var t=e.stack,u=i(l),r=t.indexOf("\n"+u);if(0<=r){var o=t.indexOf("\n",r+1);t=t.substring(o+1)}this.stack=t}}},y.inherits(w.AssertionError,Error),w.fail=d,w.ok=f,w.equal=function(n,l,e){n!=l&&d(n,l,e,"==",w.equal)},w.notEqual=function(n,l,e){n==l&&d(n,l,e,"!=",w.notEqual)},w.deepEqual=function(n,l,e){p(n,l,!1)||d(n,l,e,"deepEqual",w.deepEqual)},w.deepStrictEqual=function(n,l,e){p(n,l,!0)||d(n,l,e,"deepStrictEqual",w.deepStrictEqual)},w.notDeepEqual=function(n,l,e){p(n,l,!1)&&d(n,l,e,"notDeepEqual",w.notDeepEqual)},w.notDeepStrictEqual=function g(n,l,e){p(n,l,!0)&&d(n,l,e,"notDeepStrictEqual",g)},w.strictEqual=function(n,l,e){n!==l&&d(n,l,e,"===",w.strictEqual)},w.notStrictEqual=function(n,l,e){n===l&&d(n,l,e,"!==",w.notStrictEqual)},w.throws=function(n,l,e){b(!0,n,l,e)},w.doesNotThrow=function(n,l,e){b(!1,n,l,e)},w.ifError=function(n){if(n)throw n};
vendor: 3,469 bytes, line 1
1var C=Object.keys||function(n){var l=[];for(var e in n)E.call(n,e)&&l.push(e);return l}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"util/":195}],2:[function(l,e,t){(function(l,u){!function(l){var r;"object"==typeof t&&void 0!==e?e.exports=l():("undefined"!=typeof window?r=window:void 0!==u?r=u:"undefined"!=typeof self&&(r=self),r.Promise=l())}(function(){return function r(n,l,e){function t(o,i){if(!l[o]){if(!n[o]){var s="function"==typeof _dereq_&&_dereq_;if(!i&&s)return s(o,!0);if(u)return u(o,!0);var a=new Error("Cannot find module '"+o+"'");throw a.code="MODULE_NOT_FOUND",a}var c=l[o]={exports:{}};n[o][0].call(c.exports,function(l){var e=n[o][1][l];return t(e||l)},c,c.exports,r,n,l,e)}return l[o].exports}for(var u="function"==typeof _dereq_&&_dereq_,o=0;o<e.length;o++)t(e[o]);return t}({1:[function(n,l,e){"use strict";l.exports=function(n){function l(n){var l=new e(n),t=l.promise();return l.setHowMany(1),l.setUnwrap(),l.init(),t}var e=n._SomePromiseArray;n.any=function(n){return l(n)},n.prototype.any=function(){return l(this)}}},{}],2:[function(n,e,t){"use strict";function u(){this._customScheduler=!1,this._isTickUsed=!1,this._lateQueue=new d(16),this._normalQueue=new d(16),this._haveDrainedQueues=!1,this._trampolineEnabled=!0;var n=this;this.drainQueues=function(){n._drainQueues()},this._schedule=c}function r(n,l,e){this._lateQueue.push(n,l,e),this._queueTick()}function o(n,l,e){this._normalQueue.push(n,l,e),this._queueTick()}function i(n){this._normalQueue._pushOne(n),this._queueTick()}var s;try{throw new Error}catch(a){s=a}var c=n("./schedule"),d=n("./queue"),f=n("./util");u.prototype.setScheduler=function(n){var l=this._schedule;return this._schedule=n,this._customScheduler=!0,l},u.prototype.hasCustomScheduler=function(){return this._customScheduler},u.prototype.enableTrampoline=function(){this._trampolineEnabled=!0},u.prototype.disableTrampolineIfNecessary=function(){f.hasDevTools&&(this._trampolineEnabled=!1)},u.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues},u.prototype.fatalError=function(n,e){e?(l.stderr.write("Fatal "+(n instanceof Error?n.stack:n)+"\n"),l.exit(2)):this.throwLater(n)},u.prototype.throwLater=function(n,l){if(1===arguments.length&&(l=n,n=function(){throw l}),"undefined"!=typeof setTimeout)setTimeout(function(){n(l)},0);else try{this._schedule(function(){n(l)})}catch(e){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}},u.prototype.settlePromises=f.hasDevTools?(u.prototype.invokeLater=function(n,l,e){this._trampolineEnabled?r.call(this,n,l,e):this._schedule(function(){setTimeout(function(){n.call(l,e)},100)})},u.prototype.invoke=function(n,l,e){this._trampolineEnabled?o.call(this,n,l,e):this._schedule(function(){n.call(l,e)})},function(n){this._trampolineEnabled?i.call(this,n):this._schedule(function(){n._settlePromises()})}):(u.prototype.invokeLater=r,u.prototype.invoke=o,i),u.prototype._drainQueue=function(n){for(;0<n.length();){var l=n.shift();if("function"==typeof l){var e=n.shift(),t=n.shift();l.call(e,t)}else l._settlePromises()}},u.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,this._drainQueue(this._lateQueue)},u.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},u.prototype._reset=function(){this._isTickUsed=!1}
vendor: 4,534 bytes, line 1
1,e.exports=u,e.exports.firstLineError=s},{"./queue":26,"./schedule":29,"./util":36}],3:[function(n,l,e){"use strict";l.exports=function(n,l,e,t){var u=!1,r=function(n,l){this._reject(l)},o=function(n,l){l.promiseRejectionQueued=!0,l.bindingPromise._then(r,r,null,this,n)},i=function(n,l){0==(50397184&this._bitField)&&this._resolveCallback(l.target)},s=function(n,l){l.promiseRejectionQueued||this._reject(n)};n.prototype.bind=function(r){u||(u=!0,n.prototype._propagateFrom=t.propagateFromFunction(),n.prototype._boundValue=t.boundValueFunction());var a=e(r),c=new n(l);c._propagateFrom(this,1);var d=this._target();if(c._setBoundTo(a),a instanceof n){var f={promiseRejectionQueued:!1,promise:c,target:d,bindingPromise:a};d._then(l,o,void 0,c,f),a._then(i,s,void 0,c,f),c._setOnCancel(a)}else c._resolveCallback(d);return c},n.prototype._setBoundTo=function(n){void 0!==n?(this._bitField=2097152|this._bitField,this._boundTo=n):this._bitField=-2097153&this._bitField},n.prototype._isBound=function(){return 2097152==(2097152&this._bitField)},n.bind=function(l,e){return n.resolve(e).bind(l)}}},{}],4:[function(n,l,e){"use strict";var u;"undefined"!=typeof Promise&&(u=Promise);var r=n("./promise")();r.noConflict=function(){try{Promise===r&&(Promise=u)}catch(n){}return r},l.exports=r},{"./promise":22}],5:[function(n,l,e){"use strict";var t=Object.create;if(t){var u=t(null),r=t(null);u[" size"]=r[" size"]=0}l.exports=function(l){function e(n,e){var t;if(null!=n&&(t=n[e]),"function"==typeof t)return t;var u="Object "+i.classString(n)+" has no method '"+i.toString(e)+"'";throw new l.TypeError(u)}function t(n){return e(n,this.pop()).apply(n,this)}function u(n){return n[this]}function r(n){var l=+this;return l<0&&(l=Math.max(0,l+n.length)),n[l]}var i=n("./util"),s=i.canEvaluate;i.isIdentifier,l.prototype.call=function(n){var l=[].slice.call(arguments,1);return l.push(n),this._then(t,void 0,void 0,l,void 0)},l.prototype.get=function(n){var l;if("number"==typeof n)l=r;else if(s){var t=(void 0)(n);l=null!==t?t:u}else l=u;return this._then(l,void 0,void 0,n,void 0)}}},{"./util":36}],6:[function(n,l,e){"use strict";l.exports=function(l,e,t,u){var r=n("./util"),o=r.tryCatch,i=r.errorObj,s=l._async;l.prototype.break=l.prototype.cancel=function(){if(!u.cancellation())return this._warn("cancellation is disabled");for(var n=this,l=n;n._isCancellable();){if(!n._cancelBy(l)){l._isFollowing()?l._followee().cancel():l._cancelBranched();break}var e=n._cancellationParent;if(null==e||!e._isCancellable()){n._isFollowing()?n._followee().cancel():n._cancelBranched();break}n._isFollowing()&&n._followee().cancel(),n._setWillBeCancelled(),l=n,n=e}},l.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},l.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},l.prototype._cancelBy=function(n){return n===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),!!this._enoughBranchesHaveCancelled()&&(this._invokeOnCancel(),!0))},l.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},l.prototype._cancel=function(){this._isCancellable()&&(this._setCancelled(),s.invoke(this._cancelPromises,this,void 0))},l.prototype._cancelPromises=function(){0<this._length()&&this._settlePromises()},l.prototype._unsetOnCancel=function(){this._onCancelField=void 0},l.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},l.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},l.prototype._doInvokeOnCancel=function(n,l){if(r.isArray(n))for(var e=0;e<n.length;++e)this._doInvokeOnCancel(n[e],l);else if(void 0!==n)if("function"==typeof n){if(!l){var t=o(n).call(this._boundValue());t===i&&(this._attachExtraTrace(t.e),s.throwLater(t.e))}}else n._resultCancelled(this)},l.prototype._invokeOnCancel=function(){var n=this._onCancel();this._unsetOnCancel(),s.invoke(this._doInvokeOnCancel,this,n)},l.prototype._invokeInternalOnCancel=function(){this._isCancellable()&&(this._doInvokeOnCancel(this._onCancel(),!0),this._unsetOnCancel())},l.prototype._resultCancelled=function(){this.cancel()}}},{"./util":36}],7:[function(n,l,e){"use strict";l.exports=function(l){var t=n("./util"),u=n("./es5").keys,r=t.tryCatch,o=t.errorObj;return function(n,e,i){return function(s){var a=i._boundValue();n:for(var c=0;c<n.length;++c){var d=n[c];if(d===Error||null!=d&&d.prototype instanceof Error){if(s instanceof d)return r(e).
vendor: 2,427 bytes, line 1
1call(a,s)}else if("function"==typeof d){var f=r(d).call(a,s);if(f===o)return f;if(f)return r(e).call(a,s)}else if(t.isObject(s)){for(var p=u(d),h=0;h<p.length;++h){var v=p[h];if(d[v]!=s[v])continue n}return r(e).call(a,s)}}return l}}}},{"./es5":13,"./util":36}],8:[function(n,l,e){"use strict";l.exports=function(n){function l(){this._trace=new l.CapturedTrace(t())}function t(){var n=r.length-1;if(0<=n)return r[n]}var u=!1,r=[];return n.prototype._promiseCreated=function(){},n.prototype._pushContext=function(){},n.prototype._popContext=function(){return null},n._peekContext=n.prototype._peekContext=function(){},l.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,r.push(this._trace))},l.prototype._popContext=function(){if(void 0===this._trace)return null;var n=r.pop(),l=n._promiseCreated;return n._promiseCreated=null,l},l.CapturedTrace=null,l.create=function(){if(u)return new l},l.deactivateLongStackTraces=function(){},l.activateLongStackTraces=function(){var e=n.prototype._pushContext,r=n.prototype._popContext,o=n._peekContext,i=n.prototype._peekContext,s=n.prototype._promiseCreated;l.deactivateLongStackTraces=function(){n.prototype._pushContext=e,n.prototype._popContext=r,n._peekContext=o,n.prototype._peekContext=i,n.prototype._promiseCreated=s,u=!1},u=!0,n.prototype._pushContext=l.prototype._pushContext,n.prototype._popContext=l.prototype._popContext,n._peekContext=n.prototype._peekContext=t,n.prototype._promiseCreated=function(){var n=this._peekContext();n&&null==n._promiseCreated&&(n._promiseCreated=this)}},l}},{}],9:[function(n,e,t){"use strict";e.exports=function(e,t){function u(n,l){return{promise:l}}function r(){return!1}function o(n,l,e){var t=this;try{n(l,e,function(n){if("function"!=typeof n)throw new TypeError("onCancel must be a function, got: "+U.toString(n));t._attachCancellationCallback(n)})}catch(u){return u}}function i(n){if(!this._isCancellable())return this;var l=this._onCancel();void 0!==l?U.isArray(l)?l.push(n):this._setOnCancel([l,n]):this._setOnCancel(n)}function s(){return this._onCancelField}function a(n){this._onCancelField=n}function c(){this._cancellationParent=void 0,this._onCancelField=void 0}function d(n,l){if(0!=(1&l)){var e=(this._cancellationParent=n)._branchesRemainingToCancel;void 0===e&&(e=0),n._branchesRemainingToCancel=e+1}0!=(2&l)&&n._isBound()&&this._setBoundTo(n._boundTo)}function p(){var n=this._boundTo;
vendor: 14,991 bytes, line 1
1return void 0!==n&&n instanceof e?n.isFulfilled()?n.value():void 0:n}function h(){this._trace=new N(this._peekContext())}function v(n,l){if(V(n)){var e=this._trace;if(void 0!==e&&l&&(e=e._parent),void 0!==e)e.attachExtraTrace(n);else if(!n.__stackCleaned__){var t=w(n);U.notEnumerableProp(n,"stack",t.message+"\n"+t.stack.join("\n")),U.notEnumerableProp(n,"__stackCleaned__",!0)}}}function _(n,l,t){if(on.warnings){var u,r=new F(n);if(l)t._attachExtraTrace(r);else if(on.longStackTraces&&(u=e._peekContext()))u.attachExtraTrace(r);else{var o=w(r);r.stack=o.message+"\n"+o.stack.join("\n")}ln("warning",r)||O(r,"",!0)}}function S(n){for(var l=[],e=0;e<n.length;++e){var t=n[e],u=" (No stack trace)"===t||q.test(t),r=u&&tn(t);u&&!r&&(z&&" "!==t.charAt(0)&&(t=" "+t),l.push(t))}return l}function w(n){var l=n.stack,e=n.toString();return l="string"==typeof l&&0<l.length?function(n){for(var l=n.stack.replace(/\s+$/g,"").split("\n"),e=0;e<l.length;++e){var t=l[e];if(" (No stack trace)"===t||q.test(t))break}return 0<e&&"SyntaxError"!=n.name&&(l=l.slice(e)),l}(n):[" (No stack trace)"],{message:e,stack:"SyntaxError"==n.name?l:S(l)}}function O(n,l,e){if("undefined"!=typeof console){var t;if(U.isObject(n)){var u=n.stack;t=l+G(u,n)}else t=l+String(n);"function"==typeof P?P(t,e):"function"!=typeof console.log&&"object"!=typeof console.log||console.log(t)}}function C(n,l,e,t){var u=!1;try{"function"==typeof l&&(u=!0,"rejectionHandled"===n?l(t):l(e,t))}catch(r){M.throwLater(r)}"unhandledRejection"===n?ln(n,e,t)||u||O(e,"Unhandled rejection "):ln(n,t)}function j(n){var l;if("function"==typeof n)l="[function "+(n.name||"anonymous")+"]";else{l=n&&"function"==typeof n.toString?n.toString():U.toString(n);if(/\[object [a-zA-Z0-9$_]+\]/.test(l))try{l=JSON.stringify(n)}catch(u){}0===l.length&&(l="(empty array)")}return"(<"+function(n){return n.length<41?n:n.substr(0,38)+"..."}(l)+">, no stack trace)"}function I(){return"function"==typeof rn}function A(n){var l=n.match(un);if(l)return{fileName:l[1],line:parseInt(l[2],10)}}function N(n){this._parent=n,this._promisesCreated=0;var l=this._length=1+(void 0===n?0:n._length);rn(this,N),32<l&&this.uncycle()}var k,D,P,L=e._getDomain,M=e._async,F=n("./errors").Warning,U=n("./util"),V=U.canAttachTrace,B=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,H=/\((?:timers\.js):\d+:\d+\)/,W=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/,q=null,G=null,z=!1,K=!(0==U.env("BLUEBIRD_DEBUG")),X=!(0==U.env("BLUEBIRD_WARNINGS")||!K&&!U.env("BLUEBIRD_WARNINGS")),$=!(0==U.env("BLUEBIRD_LONG_STACK_TRACES")||!K&&!U.env("BLUEBIRD_LONG_STACK_TRACES")),Y=0!=U.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&(X||!!U.env("BLUEBIRD_W_FORGOTTEN_RETURN"));e.prototype.suppressUnhandledRejections=function(){var n=this._target();n._bitField=-1048577&n._bitField|524288},e.prototype._ensurePossibleRejectionHandled=function(){0==(524288&this._bitField)&&(this._setRejectionIsUnhandled(),M.invokeLater(this._notifyUnhandledRejection,this,void 0))},e.prototype._notifyUnhandledRejectionIsHandled=function(){C("rejectionHandled",k,void 0,this)},e.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},e.prototype._returnedNonUndefined=function(){return 0!=(268435456&this._bitField)},e.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var n=this._settledValue();this._setUnhandledRejectionIsNotified(),C("unhandledRejection",D,n,this)}},e.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},e.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},e.prototype._isUnhandledRejectionNotified=function(){return 0<(262144&this._bitField)},e.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},e.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},e.prototype._isRejectionUnhandled=function(){return 0<(1048576&this._bitField)},e.prototype._warn=function(n,l,e){return _(n,l,e||this)},e.onPossiblyUnhandledRejection=function(n){var l=L();D="function"==typeof n?null===l?n:U.domainBind(l,n):void 0},e.onUnhandledRejectionHandled=function(n){var l=L();k="function"==typeof n?null===l?n:U.domainBind(l,n):void 0};var J=function(){};e.longStackTraces=function(){if(M.haveItemsQueued()&&!on.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");if(!on.longStackTraces&&I()){var n=e.prototype._captureStackTrace,l=e.prototype._attachExtraTrace;on.longStackTraces=!0,J=function(){if(M.haveItemsQueued()&&!on.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");e.prototype._captureStackTrace=n,e.prototype._attachExtraTrace=l,t.deactivateLongStackTraces(),M.enableTrampoline(),on.longStackTraces=!1},e.prototype._captureStackTrace=h,e.prototype._attachExtraTrace=v,t.activateLongStackTraces(),M.disableTrampolineIfNecessary()}},e.hasLongStackTraces=function(){return on.longStackTraces&&I()};var Q=function(){try{if("function"==typeof CustomEvent){var n=new CustomEvent("CustomEvent");return U.global.dispatchEvent(n),function(n,l){var e=new CustomEvent(n.toLowerCase(),{detail:l,cancelable:!0});return!U.global.dispatchEvent(e)}}if("function"!=typeof Event)return(n=document.createEvent("CustomEvent")).initCustomEvent("testingtheevent",!1,!0,{}),U.global.dispatchEvent(n),function(n,l){var e=document.createEvent("CustomEvent");return e.initCustomEvent(n.toLowerCase(),!1,!0,l),!U.global.dispatchEvent(e)};var n=new Event("CustomEvent");return U.global.dispatchEvent(n),function(n,l){var e=new Event(n.toLowerCase(),{cancelable:!0});return e.detail=l,!U.global.dispatchEvent(e)}}catch(l){}return function(){return!1}}(),Z=U.isNode?function(){return l.emit.apply(l,arguments)}:U.global?function(n){var l="on"+n.toLowerCase(),e=U.global[l];return!!e&&(e.apply(U.global,[].slice.call(arguments,1)),!0)}:function(){return!1},nn={promiseCreated:u,promiseFulfilled:u,promiseRejected:u,promiseResolved:u,promiseCancelled:u,promiseChained:function(n,l,e){return{promise:l,child:e}},warning:function(n,l){return{warning:l}},unhandledRejection:function(n,l,e){return{reason:l,promise:e}},rejectionHandled:u},ln=function(n){var l=!1;try{l=Z.apply(null,arguments)}catch(e){M.throwLater(e),l=!0}var t=!1;try{t=Q(n,nn[n].apply(null,arguments))}catch(e){M.throwLater(e),t=!0}return t||l};e.config=function(n){if("longStackTraces"in(n=Object(n))&&(n.longStackTraces?e.longStackTraces():!n.longStackTraces&&e.hasLongStackTraces()&&J()),"warnings"in n){var l=n.warnings;on.warnings=!!l,Y=on.warnings,U.isObject(l)&&"wForgottenReturn"in l&&(Y=!!l.wForgottenReturn)}if("cancellation"in n&&n.cancellation&&!on.cancellation){if(M.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");e.prototype._clearCancellationData=c,e.prototype._propagateFrom=d,e.prototype._onCancel=s,e.prototype._setOnCancel=a,e.prototype._attachCancellationCallback=i,e.prototype._execute=o,en=d,on.cancellation=!0}return"monitoring"in n&&(n.monitoring&&!on.monitoring?(on.monitoring=!0,e.prototype._fireEvent=ln):!n.monitoring&&on.monitoring&&(on.monitoring=!1,e.prototype._fireEvent=r)),e},e.prototype._fireEvent=r,e.prototype._execute=function(n,l,e){try{n(l,e)}catch(t){return t}},e.prototype._onCancel=function(){},e.prototype._setOnCancel=function(n){},e.prototype._attachCancellationCallback=function(n){},e.prototype._captureStackTrace=function(){},e.prototype._attachExtraTrace=function(){},e.prototype._clearCancellationData=function(){},e.prototype._propagateFrom=function(n,l){};var en=function(n,l){0!=(2&l)&&n._isBound()&&this._setBoundTo(n._boundTo)},tn=function(){return!1},un=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;U.inherits(N,Error),(t.CapturedTrace=N).prototype.uncycle=function(){var n=this._length;if(!(n<2)){for(var l=[],e={},t=0,u=this;void 0!==u;++t)l.push(u),u=u._parent;for(t=(n=this._length=t)-1;0<=t;--t){var r=l[t].stack;void 0===e[r]&&(e[r]=t)}for(t=0;t<n;++t){var i=e[l[t].stack];if(void 0!==i&&i!==t){0<i&&(l[i-1]._parent=void 0,l[i-1]._length=1),l[t]._parent=void 0,l[t]._length=1;var s=0<t?l[t-1]:this;i<n-1?(s._parent=l[i+1],s._parent.uncycle(),s._length=s._parent._length+1):(s._parent=void 0,s._length=1);for(var a=s._length+1,c=t-2;0<=c;--c)l[c]._length=a,a++;return}}}},N.prototype.attachExtraTrace=function(n){if(!n.__stackCleaned__){this.uncycle();for(var l=w(n),e=l.message,t=[l.stack],u=this;void 0!==u;)t.push(S(u.stack.split("\n"))),u=u._parent;(function(n){for(var l=n[0],e=1;e<n.length;++e){for(var t=n[e],u=l.length-1,r=l[u],o=-1,i=t.length-1;0<=i;--i)if(t[i]===r){o=i;break}for(i=o;0<=i;--i){var s=t[i];if(l[u]!==s)break;l.pop(),u--}l=t}})(t),function(n){for(var l=0;l<n.length;++l)(0===n[l].length||l+1<n.length&&n[l][0]===n[l+1][0])&&(n.splice(l,1),l--)}(t),U.notEnumerableProp(n,"stack",function(n,l){for(var e=0;e<l.length-1;++e)l[e].push("From previous event:"),l[e]=l[e].join("\n");return e<l.length&&(l[e]=l[e].join("\n")),n+"\n"+l.join("\n")}(e,t)),U.notEnumerableProp(n,"__stackCleaned__",!0)}};var rn=function(){var n=/^\s*at\s*/,l=function(n,l){return"string"==typeof n?n:void 0!==l.name&&void 0!==l.message?l.toString():j(l)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,q=n,G=l;var e=Error.captureStackTrace;return tn=function(n){return B.test(n)},function(n,l){Error.stackTraceLimit+=6,e(n,l),Error.stackTraceLimit-=6}}var u,t=new Error;if("string"==typeof t.stack&&0<=t.stack.split("\n")[0].indexOf("stackDetection@"))return q=/@/,G=l,z=!0,function(n){n.stack=(new Error).stack};try{throw new Error}catch(r){u="stack"in r}return"stack"in t||!u||"number"!=typeof Error.stackTraceLimit?(G=function(n,l){return"string"==typeof n?n:"object"!=typeof l&&"function"!=typeof l||void 0===l.name||void 0===l.message?j(l):l.toString()},null):(q=n,G=l,function(n){Error.stackTraceLimit+=6;try{throw new Error}catch(l){n.stack=l.stack}Error.stackTraceLimit-=6})}();"undefined"!=typeof console&&void 0!==console.warn&&(P=function(n){console.warn(n)},U.isNode&&l.stderr.isTTY?P=function(n,l){var e=l?"�[33m":"�[31m";console.warn(e+n+"�[0m\n")}:U.isNode||"string"!=typeof(new Error).stack||(P=function(n,l){console.warn("%c"+n,l?"color: darkorange":"color: red")}));var on={warnings:X,longStackTraces:!1,cancellation:!1,monitoring:!1};return $&&e.longStackTraces(),{longStackTraces:function(){return on.longStackTraces},warnings:function(){return on.warnings},cancellation:function(){return on.cancellation},monitoring:function(){return on.monitoring},propagateFromFunction:function(){return en},boundValueFunction:function(){return p},checkForgottenReturns:function(n,l,e,t,u){if(void 0===n&&null!==l&&Y){if(void 0!==u&&u._returnedNonUndefined())return;if(0==(65535&t._bitField))return;e&&(e+=" ");var r="",o="";if(l._trace){for(var i=l._trace.stack.split("\n"),s=S(i),a=s.length-1;0<=a;--a){var c=s[a];if(!H.test(c)){var d=c.match(W);d&&(r="at "+d[1]+":"+d[2]+":"+d[3]+" ");break}}if(0<s.length){var f=s[0];for(a=0;a<i.length;++a)if(i[a]===f){0<a&&(o="\n"+i[a-1]);break}}}var p="a promise was created in a "+e+"handler "+r+"but was not returned from it, see http://goo.gl/rRqMUw"+o;t._warn(p,!0,l)}},setBounds:function(n,l){if(I()){for(var e,t,u=n.stack.split("\n"),r=l.stack.split("\n"),o=-1,i=-1,s=0;s<u.length;++s)if(a=A(u[s])){e=a.fileName,o=a.line;break}for(s=0;s<r.length;++s){var a;if(a=A(r[s])){t=a.fileName,i=a.line;break}}o<0||i<0||!e||!t||e!==t||i<=o||(tn=function(n){if(B.test(n))return!0;var l=A(n);return!!(l&&l.fileName===e&&o<=l.line&&l.line<=i)})}},warn:_,deprecated:function(n,l){var e=n+" is deprecated and will be removed in a future version.";return l&&(e+=" Use "+l+" instead."),_(e)},CapturedTrace:N,fireDomEvent:Q,fireGlobalEvent:Z}}},{"./errors":12,"./util":36}],10:[function(n,l,e){"use strict";l.exports=function(n){function l(){return this.value}function e(){throw this.reason}n.prototype.return=n.prototype.thenReturn=function(e){return e instanceof n&&e.suppressUnhandledRejections(),this._then(l,void 0,void 0,{value:e},void 0)},n.prototype.throw=n.prototype.thenThrow=function(n){return this._then(e,void 0,void 0,{reason:n},void 0)},n.prototype.catchThrow=function(n){if(arguments.length<=1)return this._then(void 0,e,void 0,{reason:n},void 0);var l=arguments[1];return this.caught(n,function(){throw l})},n.prototype.catchReturn=function(e){if(arguments.length<=1)return e instanceof n&&e.suppressUnhandledRejections(),this._then(void 0,l,void 0,{value:e},void 0);var t=arguments[1];t instanceof n&&t.suppressUnhandledRejections();return this.caught(e,function(){return t})}}},{}],11:[function(n,l,e){"use strict";l.exports=function(n,l){function e(){return r(this)}var u=n.reduce,r=n.all;n.prototype.each=function(n){return u(this,n,l,0)._then(e,void 0,void 0,this,void 0)},n.prototype.mapSeries=function(n){return u(this,n,l,l)},n.each=function(n,t){return u(n,t,l,0)._then(e,void 0,void 0,n,void 0)},n.mapSeries=function(n,e){return u(n,e,l,l)}}},{}],12:[function(n,l,e){"use strict";function t(n,l){function e(t){return this instanceof e?(d(this,"message","string"==typeof t?t:l),d(this,"name",n),void(Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this))):new e(t)}return c(e,Error),e}function u(n){return this instanceof u?(d(this,"name","OperationalError"),d(this,"message",n),this.cause=n,this.isOperational=!0,void(n instanceof Error?(d(this,"message",n.message),d(this,"stack",n.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor))):new u(n)}var r,o,i=n("./es5"),s=i.freeze,a=n("./util"),c=a.inherits,d=a.notEnumerableProp,f=t("Warning","warning"),p=t("CancellationError","cancellation error"),h=t("TimeoutError","timeout error"),v=t("AggregateError","aggregate error");try{r=TypeError,o=RangeError}catch(g){r=t("TypeError","type error"),o=t("RangeError","range error")}for(var m="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),_=0;_<m.length;++_)"function"==typeof Array.prototype[m[_]]&&(v.prototype[m[_]]=Array.prototype[m[_]]);i.defineProperty(v.prototype,"length",{value:0,configurable:!1,writable:!0,enumerable:!0}),v.prototype.isOperational=!0;var b=0;v.prototype.toString=function(){var n=Array(4*b+1).join(" "),l="\n"+n+"AggregateError of:\n";b++,n=Array(4*b+1).join(" ");for(var e=0;e<this.length;++e){for(var t=this[e]===this?"[Circular AggregateError]":this[e]+"",u=t.split("\n"),r=0;r<u.length;++r)u[r]=n+u[r];l+=(t=u.join("\n"))+"\n"}return b--,l},c(u,Error);var y=Error.__BluebirdErrorTypes__;y||(y=s({CancellationError:p,TimeoutError:h,OperationalError:u,RejectionError:u,AggregateError:v}),i.defineProperty(Error,"__BluebirdErrorTypes__",{value:y,writable:!1,enumerable:!1,
vendor: 4,232 bytes, line 1
1configurable:!1})),l.exports={Error:Error,TypeError:r,RangeError:o,CancellationError:y.CancellationError,OperationalError:y.OperationalError,TimeoutError:y.TimeoutError,AggregateError:y.AggregateError,Warning:f}},{"./es5":13,"./util":36}],13:[function(n,l,e){var t=function(){"use strict";return void 0===this}();if(t)l.exports={freeze:Object.freeze,defineProperty:Object.defineProperty,getDescriptor:Object.getOwnPropertyDescriptor,keys:Object.keys,names:Object.getOwnPropertyNames,getPrototypeOf:Object.getPrototypeOf,isArray:Array.isArray,isES5:t,propertyIsWritable:function(n,l){var e=Object.getOwnPropertyDescriptor(n,l);return!(e&&!e.writable&&!e.set)}};else{var u={}.hasOwnProperty,r={}.toString,o={}.constructor.prototype,i=function(n){var l=[];for(var e in n)u.call(n,e)&&l.push(e);return l};l.exports={isArray:function(n){try{return"[object Array]"===r.call(n)}catch(l){return!1}},keys:i,names:i,defineProperty:function(n,l,e){return n[l]=e.value,n},getDescriptor:function(n,l){return{value:n[l]}},freeze:function(n){return n},getPrototypeOf:function(n){try{return Object(n).constructor.prototype}catch(l){return o}},isES5:t,propertyIsWritable:function(){return!0}}}},{}],14:[function(n,l,e){"use strict";l.exports=function(n,l){var e=n.map;n.prototype.filter=function(n,t){return e(this,n,t,l)},n.filter=function(n,t,u){return e(n,t,u,l)}}},{}],15:[function(n,l,e){"use strict";l.exports=function(l,e,t){function u(n,l,e){this.promise=n,this.type=l,this.handler=e,this.called=!1,this.cancelPromise=null}function r(n){this.finallyHandler=n}function o(n,l){return null!=n.cancelPromise&&(1<arguments.length?n.cancelPromise._reject(l):n.cancelPromise._cancel(),!(n.cancelPromise=null))}function i(){return a.call(this,this.promise._target()._settledValue())}function s(n){if(!o(this,n))return f.e=n,f}function a(n){var u=this.promise,a=this.handler;if(!this.called){this.called=!0;var c=this.isFinallyHandler()?a.call(u._boundValue()):a.call(u._boundValue(),n);if(c===t)return c;if(void 0!==c){u._setReturnedNonUndefined();var p=e(c,u);if(p instanceof l){if(null!=this.cancelPromise){if(p._isCancelled()){var h=new d("late cancellation observer");return u._attachExtraTrace(h),f.e=h,f}p.isPending()&&p._attachCancellationCallback(new r(this))}return p._then(i,s,void 0,this,void 0)}}}return u.isRejected()?(o(this),f.e=n,f):(o(this),n)}var c=n("./util"),d=l.CancellationError,f=c.errorObj,p=n("./catch_filter")(t);return u.prototype.isFinallyHandler=function(){return 0===this.type},r.prototype._resultCancelled=function(){o(this.finallyHandler)},l.prototype._passThrough=function(n,l,e,t){return"function"!=typeof n?this.then():this._then(e,t,void 0,new u(this,l,n),void 0)},l.prototype.lastly=l.prototype.finally=function(n){return this._passThrough(n,0,a,a)},l.prototype.tap=function(n){return this._passThrough(n,1,a)},l.prototype.tapCatch=function(n){var e=arguments.length;if(1===e)return this._passThrough(n,1,void 0,a);var t,u=new Array(e-1),r=0;for(t=0;t<e-1;++t){var o=arguments[t];if(!c.isObject(o))return l.reject(new TypeError("tapCatch statement predicate: expecting an object but got "+c.classString(o)));u[r++]=o}u.length=r;var i=arguments[t];return this._passThrough(p(u,i,this),1,void 0,a)},u}},{"./catch_filter":7,"./util":36}],16:[function(n,l,e){"use strict";l.exports=function(l,e,t,u,r,o){function s(n,e,u,r){if(o.cancellation()){var i=new l(t),s=this._finallyPromise=new l(t);this._promise=i.lastly(function(){return s}),i._captureStackTrace(),i._setOnCancel(this)}else{(this._promise=new l(t))._captureStackTrace()}this._stack=r,this._generatorFunction=n,this._receiver=e,this._generator=void 0,this._yieldHandlers="function"==typeof u?[u].concat(h):h,this._yieldedPromise=null,this._cancellationPhase=!1}var c=n("./errors").TypeError,d=n("./util"),f=d.errorObj,p=d.tryCatch,h=[];d.inherits(s,r),s.prototype._isResolved=function(){return null===this._promise},s.prototype._cleanup=function(){this._promise=this._generator=null,o.cancellation()&&null!==this._finallyPromise&&(this._finallyPromise._fulfill(),this._finallyPromise=null)},s.prototype._promiseCancelled=function(){if(!this._isResolved()){var n;if(void 0!==this._generator.return)this._promise._pushContext(),n=p(this._generator.return).c
vendor: 4,892 bytes, line 1
1all(this._generator,void 0),this._promise._popContext();else{var t=new l.CancellationError("generator .return() sentinel");l.coroutine.returnSentinel=t,this._promise._attachExtraTrace(t),this._promise._pushContext(),n=p(this._generator.throw).call(this._generator,t),this._promise._popContext()}this._cancellationPhase=!0,this._yieldedPromise=null,this._continue(n)}},s.prototype._promiseFulfilled=function(n){this._yieldedPromise=null,this._promise._pushContext();var l=p(this._generator.next).call(this._generator,n);this._promise._popContext(),this._continue(l)},s.prototype._promiseRejected=function(n){this._yieldedPromise=null,this._promise._attachExtraTrace(n),this._promise._pushContext();var l=p(this._generator.throw).call(this._generator,n);this._promise._popContext(),this._continue(l)},s.prototype._resultCancelled=function(){if(this._yieldedPromise instanceof l){var n=this._yieldedPromise;this._yieldedPromise=null,n.cancel()}},s.prototype.promise=function(){return this._promise},s.prototype._run=function(){this._generator=this._generatorFunction.call(this._receiver),this._receiver=this._generatorFunction=void 0,this._promiseFulfilled(void 0)},s.prototype._continue=function(n){var e=this._promise;if(n===f)return this._cleanup(),this._cancellationPhase?e.cancel():e._rejectCallback(n.e,!1);var t=n.value;if(!0===n.done)return this._cleanup(),this._cancellationPhase?e.cancel():e._resolveCallback(t);var r=u(t,this._promise);if(r instanceof l||null!==(r=function(n,e,t){for(var r=0;r<e.length;++r){t._pushContext();var o=p(e[r])(n);if(t._popContext(),o===f){t._pushContext();var i=l.reject(f.e);return t._popContext(),i}var s=u(o,t);if(s instanceof l)return s}return null}(r,this._yieldHandlers,this._promise))){var o=(r=r._target())._bitField;0==(50397184&o)?(this._yieldedPromise=r)._proxy(this,null):0!=(33554432&o)?l._async.invoke(this._promiseFulfilled,this,r._value()):0!=(16777216&o)?l._async.invoke(this._promiseRejected,this,r._reason()):this._promiseCancelled()}else this._promiseRejected(new c("A value %s was yielded that could not be treated as a promise\n\n See http://goo.gl/MqrFmX\n\n".replace("%s",String(t))+"From coroutine:\n"+this._stack.split("\n").slice(1,-7).join("\n")))},l.coroutine=function(n,l){if("function"!=typeof n)throw new c("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n");var e=Object(l).yieldHandler,t=s,u=(new Error).stack;return function(){var l=n.apply(this,arguments),r=new t(void 0,void 0,e,u),o=r.promise();return r._generator=l,r._promiseFulfilled(void 0),o}},l.coroutine.addYieldHandler=function(n){if("function"!=typeof n)throw new c("expecting a function but got "+d.classString(n));h.push(n)},l.spawn=function(n){if(o.deprecated("Promise.spawn()","Promise.coroutine()"),"function"!=typeof n)return e("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n");var t=new s(n,this),u=t.promise();return t._run(l.spawn),u}}},{"./errors":12,"./util":36}],17:[function(n,l,e){"use strict";l.exports=function(l,e,t,u,r,o){var i=n("./util");i.canEvaluate,i.tryCatch,i.errorObj,l.join=function(){var n,l=arguments.length-1;0<l&&"function"==typeof arguments[l]&&(n=arguments[l]);var u=[].slice.call(arguments);n&&u.pop();var t=new e(u).promise();return void 0!==n?t.spread(n):t}}},{"./util":36}],18:[function(n,l,e){"use strict";l.exports=function(l,e,t,u,r,o){function i(n,l,e,t){this.constructor$(n),this._promise._captureStackTrace();var u=a();this._callback=null===u?l:c.domainBind(u,l),this._preservedValues=t===r?new Array(this.length()):null,this._limit=e,this._inFlight=0,this._queue=[],p.invoke(this._asyncInit,this,void 0)}function s(n,e,u,r){if("function"!=typeof e)return t("expecting a function but got "+c.classString(e));var o=0;if(void 0!==u){if("object"!=typeof u||null===u)return l.reject(new TypeError("options argument must be an object but it is "+c.classString(u)));if("number"!=typeof u.concurrency)return l.reject(new TypeError("'concurrency' must be a number but it is "+c.classString(u.concurrency)));o=u.concurrency}return new i(n,e,o="number"==typeof o&&isFinite(o)&&1<=o?o:0,r).promise()}var a=l._getDomain,c=n("./util"),d=c.tryCatch,f=c.errorObj,p=l._async;c.inherits(i,e),i.prototype._asyncInit=function(){this._init$(void 0,-2)},i.prototype._init=function(){},i.prototype._promiseFulfilled=function(n,e){var t=this._values,r=this.length(),i=this._preservedValues,s=this._limit;if(e<0){if(t[e=-1*e-1]=n,1<=s&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(1<=s&&this._inFlight>=s)return t[e]=n,this._queue.push(e),!1;null!==i&&(i[e]=n);var a=this._promise,c=this._callback,p=a._boundValue();a._pushContext();var h=d(c).call(p,n,e,r),v=a._popContext();if(o.checkForgottenReturns(h,v,null!==i?"Promise.filter":"Promise.map",a),h===f)return this._reject(h.e),!0;var g=u(h,this._promise);if(g instanceof l){var m=(g=g._target())._bitField;
vendor: 4,122 bytes, line 1
1if(0==(50397184&m))return 1<=s&&this._inFlight++,(t[e]=g)._proxy(this,-1*(e+1)),!1;if(0==(33554432&m))return 0!=(16777216&m)?this._reject(g._reason()):this._cancel(),!0;h=g._value()}t[e]=h}return r<=++this._totalResolved&&(null!==i?this._filter(t,i):this._resolve(t),!0)},i.prototype._drainQueue=function(){for(var n=this._queue,l=this._limit,e=this._values;0<n.length&&this._inFlight<l;){if(this._isResolved())return;var t=n.pop();this._promiseFulfilled(e[t],t)}},i.prototype._filter=function(n,l){for(var e=l.length,t=new Array(e),u=0,r=0;r<e;++r)n[r]&&(t[u++]=l[r]);t.length=u,this._resolve(t)},i.prototype.preservedValues=function(){return this._preservedValues},l.prototype.map=function(n,l){return s(this,n,l,null)},l.map=function(n,l,e,t){return s(n,l,e,t)}}},{"./util":36}],19:[function(n,l,e){"use strict";l.exports=function(l,e,t,u,r){var o=n("./util"),i=o.tryCatch;l.method=function(n){if("function"!=typeof n)throw new l.TypeError("expecting a function but got "+o.classString(n));return function(){var t=new l(e);t._captureStackTrace(),t._pushContext();var u=i(n).apply(this,arguments),o=t._popContext();return r.checkForgottenReturns(u,o,"Promise.method",t),t._resolveFromSyncValue(u),t}},l.attempt=l.try=function(n){if("function"!=typeof n)return u("expecting a function but got "+o.classString(n));var s,t=new l(e);if(t._captureStackTrace(),t._pushContext(),1<arguments.length){r.deprecated("calling Promise.try with more than 1 argument");var a=arguments[1],c=arguments[2];s=o.isArray(a)?i(n).apply(c,a):i(n).call(c,a)}else s=i(n)();var d=t._popContext();return r.checkForgottenReturns(s,d,"Promise.try",t),t._resolveFromSyncValue(s),t},l.prototype._resolveFromSyncValue=function(n){n===o.errorObj?this._rejectCallback(n.e,!1):this._resolveCallback(n,!0)}}},{"./util":36}],20:[function(n,l,e){"use strict";function u(n){var l;if(function(n){return n instanceof Error&&c.getPrototypeOf(n)===Error.prototype}(n)){(l=new a(n)).name=n.name,l.message=n.message,l.stack=n.stack;for(var e=c.keys(n),u=0;u<e.length;++u){var r=e[u];d.test(r)||(l[r]=n[r])}return l}return o.markAsOriginatingFromRejection(n),n}var o=n("./util"),i=o.maybeWrapAsError,a=n("./errors").OperationalError,c=n("./es5"),d=/^(?:name|message|stack|cause)$/;l.exports=function(n,l){return function(e,t){if(null!==n){if(e){var r=u(i(e));n._attachExtraTrace(r),n._reject(r)}else if(l){var o=[].slice.call(arguments,1);n._fulfill(o)}else n._fulfill(t);n=null}}}},{"./errors":12,"./es5":13,"./util":36}],21:[function(n,l,e){"use strict";l.exports=function(l){function e(n,l){if(!r.isArray(n))return t.call(this,n,l);var u=i(l).apply(this._boundValue(),[null].concat(n));u===s&&o.throwLater(u.e)}function t(n,l){var t=this._boundValue(),u=void 0===n?i(l).call(t,null):i(l).call(t,null,n);u===s&&o.throwLater(u.e)}function u(n,l){if(!n){var t=new Error(n+"");t.cause=n,n=t}var u=i(l).call(this._boundValue(),n);u===s&&o.throwLater(u.e)}var r=n("./util"),o=l._async,i=r.tryCatch,s=r.errorObj;l.prototype.asCallback=l.prototype.nodeify=function(n,l){if("function"==typeof n){var r=t;void 0!==l&&Object(l).spread&&(r=e),this._then(r,u,void 0,this,n)}return this}}},{"./util":36}],22:[function(n,e,t){"use strict";e.exports=function(){function t(){}function r(n){n!==E&&function(n,l){if(null==n||n.constructor!==r)throw new b("the promise constructor cannot be invoked directly\n\n See http://goo.gl/MqrFmX\n");if("function"!=typeof l)throw new b("expecting a function but got "+h.classString(l))}(this,n),this._bitField=0,this._fulfillmentHandler0=void 0,this._rejectionHandler0=void 0,this._promise0=void 0,this._receiver0=void 0,this._resolveFromExecutor(n),this._promiseCreated(),this._fireEvent("promiseCreated",this)}function o(n){this.promise._resolveCallback(n)}function i(n){this.promise._rejectCallback(n,!1)}function s(n){var l=new r(E);l._fulfillmentHandler0=n,l._rejectionHandler0=n,l._promise0=n,l._receiver0=n}var a,c=function(){return new b("circular promise resolution chain\n\n See http://goo.gl/MqrFmX\n")},d=function(){return new r.PromiseInspection(this._target())},f=function(n){return r.reject(new b(n))},p={},h=n("./util");
1a=h.isNode?function(){var n=l.domain;return void 0===n&&(n=null),n}:function(){return null},h.notEnumerableProp(r,"_getDomain",a);var v=n("./es5"),g=n("./async"),m=new g;v.defineProperty(r,"_async",{value:m});var _=n("./errors"),b=r.TypeError=_.TypeError;r.RangeError=_.RangeError;var y=r.CancellationError=_.CancellationError;r.TimeoutError=_.TimeoutError,r.OperationalError=_.OperationalError,r.RejectionError=_.OperationalError,r.AggregateError=_.AggregateError;var E=function(){},S={},T={},w=n("./thenables")(r,E),O=n("./promise_array")(r,E,w,f,t),C=n("./context")(r),j=C.create,R=n("./debuggability")(r,C),I=(R.CapturedTrace,n("./finally")(r,w,T)),A=n("./catch_filter")(T),x=n("./nodeback"),N=h.errorObj,k=h.tryCatch;return r.prototype.toString=function(){return"[object Promise]"},r.prototype.caught=r.prototype.catch=function(n){var l=arguments.length;if(1<l){var e,t=new Array(l-1),u=0;for(e=0;e<l-1;++e){var r=arguments[e];if(!h.isObject(r))return f("Catch statement predicate: expecting an object but got "+h.classString(r));t[u++]=r}return t.length=u,n=arguments[e],this.then(void 0,A(t,n,this))}return this.then(void 0,n)},r.prototype.reflect=function(){return this._then(d,d,void 0,this,void 0)},r.prototype.then=function(n,l){if(R.warnings()&&0<arguments.length&&"function"!=typeof n&&"function"!=typeof l){var e=".then() only accepts functions but was passed: "+h.classString(n);1<arguments.length&&(e+=", "+h.classString(l)),this._warn(e)}return this._then(n,l,void 0,void 0,void 0)},r.prototype.done=function(n,l){this._then(n,l,void 0,void 0,void 0)._setIsFinal()},r.prototype.spread=function(n){return"function"!=typeof n?f("expecting a function but got "+h.classString(n)):this.all()._then(n,void 0,void 0,S,void 0)},r.prototype.toJSON=function(){var n={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(n.fulfillmentValue=this.value(),n.isFulfilled=!0):this.isRejected()&&(n.rejectionReason=this.reason(),n.isRejected=!0),n},r.prototype.all=function(){return 0<arguments.length&&this._warn(".all() was passed arguments but it does not take any"),new O(this).promise()},r.prototype.error=function(n){return this.caught(h.originatesFromRejection,n)},r.getNewLibraryCopy=e.exports,r.is=function(n){return n instanceof r},r.fromNode=r.fromCallback=function(n){var l=new r(E);l._captureStackTrace();var e=1<arguments.length&&!!Object(arguments[1]).multiArgs,t=k(n)(x(l,e));return t===N&&l._rejectCallback(t.e,!0),l._isFateSealed()||l._setAsyncGuaranteed(),l},r.all=function(n){return new O(n).promise()},r.resolve=r.fulfilled=r.cast=function(n){var l=w(n);return l instanceof r||((l=new r(E))._captureStackTrace(),l._setFulfilled(),l._rejectionHandler0=n),l},r.reject=r.rejected=function(n){var l=new r(E);return l._captureStackTrace(),l._rejectCallback(n,!0),l},r.setScheduler=function(n){if("function"!=typeof n)throw new b("expecting a function but got "+h.classString(n));return m.setScheduler(n)},r.prototype._then=function(n,l,e,t,u){var o=void 0!==u,i=o?u:new r(E),s=this._target(),c=s._bitField;o||(i._propagateFrom(this,3),i._captureStackTrace(),void 0===t&&0!=(2097152&this._bitField)&&(t=0!=(50397184&c)?this._boundValue():s===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,i));var d=a();if(0!=(50397184&c)){var f,p,v=s._settlePromiseCtx;0!=(33554432&c)?(p=s._rejectionHandler0,f=n):0!=(16777216&c)?(p=s._fulfillmentHandler0,f=l,s._unsetRejectionIsUnhandled()):(v=s._settlePromiseLateCancellationObserver,p=new y("late cancellation observer"),s._attachExtraTrace(p),f=l),m.invoke(v,s,{handler:null===d?f:"function"==typeof f&&h.domainBind(d,f),promise:i,receiver:t,value:p})}else s._addCallbacks(n,l,i,t,d);return i},r.prototype._length=function(){return 65535&this._bitField},r.prototype._isFateSealed=function(){return 0!=(117506048&this._bitField)},r.prototype._isFollowing=function(){return 67108864==(67108864&this._bitField)},r.prototype._setLength=function(n){this._bitField=-65536&this._bitField|65535&n},r.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},r.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRe
1jected",this)},r.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},r.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},r.prototype._isFinal=function(){return 0<(4194304&this._bitField)},r.prototype._unsetCancelled=function(){this._bitField=-65537&this._bitField},r.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},r.prototype._setWillBeCancelled=function(){this._bitField=8388608|this._bitField},r.prototype._setAsyncGuaranteed=function(){m.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},r.prototype._receiverAt=function(n){var l=0===n?this._receiver0:this[4*n-4+3];if(l!==p)return void 0===l&&this._isBound()?this._boundValue():l},r.prototype._promiseAt=function(n){return this[4*n-4+2]},r.prototype._fulfillmentHandlerAt=function(n){return this[4*n-4+0]},r.prototype._rejectionHandlerAt=function(n){return this[4*n-4+1]},r.prototype._boundValue=function(){},r.prototype._migrateCallback0=function(n){var l=(n._bitField,n._fulfillmentHandler0),e=n._rejectionHandler0,t=n._promise0,u=n._receiverAt(0);void 0===u&&(u=p),this._addCallbacks(l,e,t,u,null)},r.prototype._migrateCallbackAt=function(n,l){var e=n._fulfillmentHandlerAt(l),t=n._rejectionHandlerAt(l),u=n._promiseAt(l),r=n._receiverAt(l);void 0===r&&(r=p),this._addCallbacks(e,t,u,r,null)},r.prototype._addCallbacks=function(n,l,e,t,u){var r=this._length();if(65531<=r&&(r=0,this._setLength(0)),0===r)this._promise0=e,this._receiver0=t,"function"==typeof n&&(this._fulfillmentHandler0=null===u?n:h.domainBind(u,n)),"function"==typeof l&&(this._rejectionHandler0=null===u?l:h.domainBind(u,l));else{var o=4*r-4;this[o+2]=e,this[o+3]=t,"function"==typeof n&&(this[o+0]=null===u?n:h.domainBind(u,n)),"function"==typeof l&&(this[o+1]=null===u?l:h.domainBind(u,l))}return this._setLength(r+1),r},r.prototype._proxy=function(n,l){this._addCallbacks(void 0,void 0,l,n,null)},r.prototype._resolveCallback=function(n,l){if(0==(117506048&this._bitField)){if(n===this)return this._rejectCallback(c(),!1);var e=w(n,this);if(!(e instanceof r))return this._fulfill(n);l&&this._propagateFrom(e,2);var t=e._target();if(t===this)return void this._reject(c());var u=t._bitField;if(0==(50397184&u)){var o=this._length();0<o&&t._migrateCallback0(this);for(var i=1;i<o;++i)t._migrateCallbackAt(this,i);this._setFollowing(),this._setLength(0),this._setFollowee(t)}else if(0!=(33554432&u))this._fulfill(t._value());else if(0!=(16777216&u))this._reject(t._reason());else{var s=new y("late cancellation observer");t._attachExtraTrace(s),this._reject(s)}}},r.prototype._rejectCallback=function(n,l,e){var t=h.ensureErrorObject(n),u=t===n;if(!u&&!e&&R.warnings()){var r="a promise was rejected with a non-error: "+h.classString(n);this._warn(r,!0)}this._attachExtraTrace(t,!!l&&u),this._reject(n)},r.prototype._resolveFromExecutor=function(n){if(n!==E){var l=this;this._captureStackTrace(),this._pushContext();var e=!0,t=this._execute(n,function(n){l._resolveCallback(n)},function(n){l._rejectCallback(n,e)});e=!1,this._popContext(),void 0!==t&&l._rejectCallback(t,!0)}},r.prototype._settlePromiseFromHandler=function(n,l,e,t){var u=t._bitField;if(0==(65536&u)){var r;t._pushContext(),l===S?e&&"number"==typeof e.length?r=k(n).apply(this._boundValue(),e):(r=N).e=new b("cannot .spread() a non-array: "+h.classString(e)):r=k(n).call(l,e);var o=t._popContext();0==(65536&(u=t._bitField))&&(r===T?t._reject(e):r===N?t._rejectCallback(r.e,!1):(R.checkForgottenReturns(r,o,"",t,this),t._resolveCallback(r)))}},r.prototype._target=function(){for(var n=this;n._isFollowing();)n=n._followee();return n},r.prototype._followee=function(){return this._rejectionHandler0},r.prototype._setFollowee=function(n){this._rejectionHandler0=n},r.prototype._settlePromise=function(n,l,e,u){var o=n instanceof r,i=this._bitField,s=0!=(134217728&i);0!=(65536&i)?(o&&n._invokeInternalOnCancel(),e instanceof I&&e.isFinallyHandler()?(e.cancelPromise=n,k(l).call(e,u)===N&&n._reject(N.e)):l===d?n._fulfill(d.call(e)):e instanceof t?e._promiseCancelled(n):o||n instanceof O?n._cancel():e.cancel()):"function"==typeof l?o?(s&&n._setAsyncGuaranteed(),this._settlePromiseFromHandler(l,e,u,n)):l.call(e,u,n):e instanceof t?e._isResolved()||(0!=(33554432&i)?e._promiseFulfilled(u,n):e._promiseRe
1jected(u,n)):o&&(s&&n._setAsyncGuaranteed(),0!=(33554432&i)?n._fulfill(u):n._reject(u))},r.prototype._settlePromiseLateCancellationObserver=function(n){var l=n.handler,e=n.promise,t=n.receiver,u=n.value;"function"==typeof l?e instanceof r?this._settlePromiseFromHandler(l,t,u,e):l.call(t,u,e):e instanceof r&&e._reject(u)},r.prototype._settlePromiseCtx=function(n){this._settlePromise(n.promise,n.handler,n.receiver,n.value)},r.prototype._settlePromise0=function(n,l,e){var t=this._promise0,u=this._receiverAt(0);this._promise0=void 0,this._receiver0=void 0,this._settlePromise(t,n,u,l)},r.prototype._clearCallbackDataAtIndex=function(n){var l=4*n-4;this[l+2]=this[l+3]=this[l+0]=this[l+1]=void 0},r.prototype._fulfill=function(n){var l=this._bitField;if(!((117506048&l)>>>16)){if(n===this){var e=c();return this._attachExtraTrace(e),this._reject(e)}this._setFulfilled(),this._rejectionHandler0=n,0<(65535&l)&&(0!=(134217728&l)?this._settlePromises():m.settlePromises(this))}},r.prototype._reject=function(n){var l=this._bitField;if(!((117506048&l)>>>16))return this._setRejected(),this._fulfillmentHandler0=n,this._isFinal()?m.fatalError(n,h.isNode):void(0<(65535&l)?m.settlePromises(this):this._ensurePossibleRejectionHandled())},r.prototype._fulfillPromises=function(n,l){for(var e=1;e<n;e++){var t=this._fulfillmentHandlerAt(e),u=this._promiseAt(e),r=this._receiverAt(e);this._clearCallbackDataAtIndex(e),this._settlePromise(u,t,r,l)}},r.prototype._rejectPromises=function(n,l){for(var e=1;e<n;e++){var t=this._rejectionHandlerAt(e),u=this._promiseAt(e),r=this._receiverAt(e);this._clearCallbackDataAtIndex(e),this._settlePromise(u,t,r,l)}},r.prototype._settlePromises=function(){var n=this._bitField,l=65535&n;if(0<l){if(0!=(16842752&n)){var e=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,e,n),this._rejectPromises(l,e)}else{var t=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,t,n),this._fulfillPromises(l,t)}this._setLength(0)}this._clearCancellationData()},r.prototype._settledValue=function(){var n=this._bitField;return 0!=(33554432&n)?this._rejectionHandler0:0!=(16777216&n)?this._fulfillmentHandler0:void 0},r.defer=r.pending=function(){return R.deprecated("Promise.defer","new Promise"),{promise:new r(E),resolve:o,reject:i}},h.notEnumerableProp(r,"_makeSelfResolutionError",c),n("./method")(r,E,w,f,R),n("./bind")(r,E,w,R),n("./cancel")(r,O,f,R),n("./direct_resolve")(r),n("./synchronous_inspection")(r),n("./join")(r,O,w,E,m,a),(r.Promise=r).version="3.5.0",n("./map.js")(r,O,f,w,E,R),n("./call_get.js")(r),n("./using.js")(r,f,w,j,E,R),n("./timers.js")(r,E,R),n("./generators.js")(r,f,E,w,t,R),n("./nodeify.js")(r),n("./promisify.js")(r,E),n("./props.js")(r,O,w,f),n("./race.js")(r,E,w,f),n("./reduce.js")(r,O,f,w,E,R),n("./settle.js")(r,O,R),n("./some.js")(r,O,f),n("./filter.js")(r,E),n("./each.js")(r,E),n("./any.js")(r),h.toFastProperties(r),h.toFastProperties(r.prototype),s({a:1}),s({b:2}),s({c:3}),s(1),s(function(){}),s(void 0),s(!1),s(new r(E)),R.setBounds(g.firstLineError,h.lastLineError),r}},{"./any.js":1,"./async":2,"./bind":3,"./call_get.js":5,"./cancel":6,"./catch_filter":7,"./context":8,"./debuggability":9,"./direct_resolve":10,"./each.js":11,"./errors":12,"./es5":13,"./filter.js":14,"./finally":15,"./generators.js":16,"./join":17,"./map.js":18,"./method":19,"./nodeback":20,"./nodeify.js":21,"./promise_array":23,"./promisify.js":24,"./props.js":25,"./race.js":27,"./reduce.js":28,"./settle.js":30,"./some.js":31,"./synchronous_inspection":32,"./thenables":33,"./timers.js":34,"./using.js":35,"./util":36}],23:[function(n,l,e){"use strict";l.exports=function(l,e,t,u,r){function i(n){var t=this._promise=new l(e);n instanceof l&&t._propagateFrom(n,3),t._setOnCancel(this),this._values=n,this._length=0,this._totalResolved=0,this._init(void 0,-2)}var s=n("./util");return s.isArray,s.inherits(i,r),i.prototype.length=function(){return this._length},i.prototype.promise=function(){return this._promise},i.prototype._init=function a(n,e){var r=t(this._values,this._promise);if(r instanceof l){var i=(r=r._target())._bitField;if(this._values=r,0==(50397184&i))return this._promise._setAsyncGuaranteed(),r._then(a,this._reject,void 0,this,e);if(0==(33554432&i))return 0!=(16777216&i)?this._reject(r._reason()):this._cancel();r=r._value()}if(null!==(r=s.asArray(r)))return 0===r.length?void(-5===e?this._resolveEmptyArray():this._resolve(function(n){switch(n){case-2:return[];case-3:return{};case-6:return new Map}}(e))):void this._iterate(r);var c=u("expecting an array or an iterable object but got "+s.classString(r)).reason();this._promise._rejectCallback(c,!1)},i.prototype._iterate=function(n){var e=this.getActualLength(n.length);this._length=e,this._values=this.shouldCopyValues()?new Array(e):this._values;for(var u=this._promise,r=!1,o=null,i=0;i<e;++i){var s=t(n[i],u);o=s instanceof l?(s=s._target())._bitField:null,r?null!==o&&s.suppressUnhandledRejections():null!==o?0==(50397184&o)?(s._proxy(this,i),this._values[i]=s):r=0!=(33554432&o)?this._promiseFulfilled(s._value(
vendor: 4,497 bytes, line 1
1),i):0!=(16777216&o)?this._promiseRejected(s._reason(),i):this._promiseCancelled(i):r=this._promiseFulfilled(s,i)}r||u._setAsyncGuaranteed()},i.prototype._isResolved=function(){return null===this._values},i.prototype._resolve=function(n){this._values=null,this._promise._fulfill(n)},i.prototype._cancel=function(){!this._isResolved()&&this._promise._isCancellable()&&(this._values=null,this._promise._cancel())},i.prototype._reject=function(n){this._values=null,this._promise._rejectCallback(n,!1)},i.prototype._promiseFulfilled=function(n,l){return this._values[l]=n,++this._totalResolved>=this._length&&(this._resolve(this._values),!0)},i.prototype._promiseCancelled=function(){return this._cancel(),!0},i.prototype._promiseRejected=function(n){return this._totalResolved++,this._reject(n),!0},i.prototype._resultCancelled=function(){if(!this._isResolved()){var n=this._values;if(this._cancel(),n instanceof l)n.cancel();else for(var e=0;e<n.length;++e)n[e]instanceof l&&n[e].cancel()}},i.prototype.shouldCopyValues=function(){return!0},i.prototype.getActualLength=function(n){return n},i}},{"./util":36}],24:[function(n,l,e){"use strict";l.exports=function(l,e){function t(n){return!S.test(n)}function u(n){try{return!0===n.__isPromisified__}catch(l){return!1}}function r(n,l,e){var t=p.getDataPropertyOrDefault(n,l+e,y);return!!t&&u(t)}function i(n,l,e,t){for(var i=p.inheritedDataKeys(n),s=[],a=0;a<i.length;++a){var c=i[a],d=n[c],f=t===T||T(c,d,n);"function"!=typeof d||u(d)||r(n,c,l)||!t(c,d,n,f)||s.push(c,d)}return function(n,l,e){for(var t=0;t<n.length;t+=2){var u=n[t];if(e.test(u))for(var r=u.replace(e,""),o=0;o<n.length;o+=2)if(n[o]===r)throw new _("Cannot promisify an API that has normal methods with '%s'-suffix\n\n See http://goo.gl/MqrFmX\n".replace("%s",l))}}(s,l,e),s}function a(n,l,e,t,u){for(var r=new RegExp(w(l)+"$"),o=i(n,l,r,e),s=0,a=o.length;s<a;s+=2){var c=o[s],d=o[s+1],h=c+l;if(t===O)n[h]=O(c,f,c,d,l,u);else{var v=t(d,function(){return O(c,f,c,d,l,u)});p.notEnumerableProp(v,"__isPromisified__",!0),n[h]=v}}return p.toFastProperties(n),n}var f={},p=n("./util"),h=n("./nodeback"),v=p.withAppended,g=p.maybeWrapAsError,m=p.canEvaluate,_=n("./errors").TypeError,y={__isPromisified__:!0},S=new RegExp("^(?:"+["arity","length","name","arguments","caller","callee","prototype","__isPromisified__"].join("|")+")$"),T=function(n){return p.isIdentifier(n)&&"_"!==n.charAt(0)&&"constructor"!==n},w=function(n){return n.replace(/([$])/,"\\$")},O=m?void 0:function(n,t,u,r,o,i){function s(){var u=t;t===f&&(u=this);var r=new l(e);r._captureStackTrace();var o="string"==typeof c&&this!==a?this[c]:n,s=h(r,i);try{o.apply(u,v(arguments,s))}catch(d){r._rejectCallback(g(d),!0,!0)}return r._isFateSealed()||r._setAsyncGuaranteed(),r}var a=function(){return this}(),c=n;return"string"==typeof c&&(n=r),p.notEnumerableProp(s,"__isPromisified__",!0),s};l.promisify=function(n,l){if("function"!=typeof n)throw new _("expecting a function but got "+p.classString(n));if(u(n))return n;var o=function(n,l,e){return O(n,l,void 0,n,null,e)}(n,void 0===(l=Object(l)).context?f:l.context,!!l.multiArgs);return p.copyDescriptors(n,o,t),o},l.promisifyAll=function(n,l){if("function"!=typeof n&&"object"!=typeof n)throw new _("the target of promisifyAll must be an object or a function\n\n See http://goo.gl/MqrFmX\n");var e=!!(l=Object(l)).multiArgs,t=l.suffix;"string"!=typeof t&&(t="Async");var u=l.filter;"function"!=typeof u&&(u=T);var r=l.promisifier;if("function"!=typeof r&&(r=O),!p.isIdentifier(t))throw new RangeError("suffix must be a valid identifier\n\n See http://goo.gl/MqrFmX\n");for(var o=p.inheritedDataKeys(n),i=0;i<o.length;++i){var s=n[o[i]];"constructor"!==o[i]&&p.isClass(s)&&(a(s.prototype,t,u,r,e),a(s,t,u,r,e))}return a(n,t,u,r,e)}}},{"./errors":12,"./nodeback":20,"./util":36}],25:[function(n,l,e){"use strict";l.exports=function(l,e,t,u){function r(n){var l,e=!1;if(void 0!==i&&n instanceof i)l=d(n),e=!0;else{var t=c.keys(n),u=t.length;l=new Array(2*u);for(var r=0;r<u;++r){var o=t[r];l[r]=n[o],l[r+u]=o}}this.constructor$(l),this._isMap=e,this._init$(void 0,e?-6:-3)}function o(n){var e,o=t(n);return a(o)?(e=o instanceof l?o._then(l.props,void 0,void 0,void 0,void 0):new r(o).promise(),o instanceof l&&e._propagateFrom(o,2),e):u("cannot await properties of a non-object\n\n See http://goo.gl/MqrFmX\n")}var i,s=n("./util"),a=s.isObject,c=n("./es5");"function"==typeof Map&&(i=Map);var d=function(){function n(n,t){this[l]=n,this[l+e]=t,l++}var l=0,e=0;
vendor: 7,782 bytes, line 1
1return function(t){e=t.size,l=0;var u=new Array(2*t.size);return t.forEach(n,u),u}}();s.inherits(r,e),r.prototype._init=function(){},r.prototype._promiseFulfilled=function(n,l){if(this._values[l]=n,++this._totalResolved>=this._length){var t;if(this._isMap)t=function(n){for(var l=new i,e=n.length/2|0,t=0;t<e;++t){var u=n[e+t],r=n[t];l.set(u,r)}return l}(this._values);else{t={};for(var u=this.length(),r=0,o=this.length();r<o;++r)t[this._values[r+u]]=this._values[r]}return this._resolve(t),!0}return!1},r.prototype.shouldCopyValues=function(){return!1},r.prototype.getActualLength=function(n){return n>>1},l.prototype.props=function(){return o(this)},l.props=function(n){return o(n)}}},{"./es5":13,"./util":36}],26:[function(n,l,e){"use strict";function u(n){this._capacity=n,this._length=0,this._front=0}u.prototype._willBeOverCapacity=function(n){return this._capacity<n},u.prototype._pushOne=function(n){var l=this.length();this._checkCapacity(l+1),this[this._front+l&this._capacity-1]=n,this._length=l+1},u.prototype.push=function(n,l,e){var t=this.length()+3;if(this._willBeOverCapacity(t))return this._pushOne(n),this._pushOne(l),void this._pushOne(e);var u=this._front+t-3;this._checkCapacity(t);var r=this._capacity-1;this[u+0&r]=n,this[u+1&r]=l,this[u+2&r]=e,this._length=t},u.prototype.shift=function(){var n=this._front,l=this[n];return this[n]=void 0,this._front=n+1&this._capacity-1,this._length--,l},u.prototype.length=function(){return this._length},u.prototype._checkCapacity=function(n){this._capacity<n&&this._resizeTo(this._capacity<<1)},u.prototype._resizeTo=function(n){var l=this._capacity;this._capacity=n,function(n,l,e,t,u){for(var r=0;r<u;++r)e[r+t]=n[r+l],n[r+l]=void 0}(this,0,this,l,this._front+this._length&l-1)},l.exports=u},{}],27:[function(n,l,e){"use strict";l.exports=function(l,e,t,u){function r(n,r){var s=t(n);if(s instanceof l)return i(s);if(null===(n=o.asArray(n)))return u("expecting an array or an iterable object but got "+o.classString(n));var a=new l(e);void 0!==r&&a._propagateFrom(r,3);for(var c=a._fulfill,d=a._reject,f=0,p=n.length;f<p;++f){var h=n[f];(void 0!==h||f in n)&&l.cast(h)._then(c,d,void 0,a,null)}return a}var o=n("./util"),i=function(n){return n.then(function(l){return r(l,n)})};l.race=function(n){return r(n,void 0)},l.prototype.race=function(){return r(this,void 0)}}},{"./util":36}],28:[function(n,l,e){"use strict";l.exports=function(l,e,t,u,r,o){function i(n,e,t,u){this.constructor$(n);var o=f();this._fn=null===o?e:p.domainBind(o,e),void 0!==t&&(t=l.resolve(t))._attachCancellationCallback(this),this._initialValue=t,this._currentCancellable=null,this._eachValues=u===r?Array(this._length):0===u?null:void 0,this._promise._captureStackTrace(),this._init$(void 0,-5)}function s(n,l){this.isFulfilled()?l._resolve(n):l._reject(n)}function a(n,l,e,u){return"function"!=typeof l?t("expecting a function but got "+p.classString(l)):new i(n,l,e,u).promise()}function c(n){this.accum=n,this.array._gotAccum(n);var e=u(this.value,this.array._promise);return e instanceof l?(this.array._currentCancellable=e)._then(d,void 0,void 0,this,void 0):d.call(this,e)}function d(n){var r,e=this.array,t=e._promise,u=h(e._fn);t._pushContext(),(r=void 0!==e._eachValues?u.call(t._boundValue(),n,this.index,this.length):u.call(t._boundValue(),this.accum,n,this.index,this.length))instanceof l&&(e._currentCancellable=r);var i=t._popContext();return o.checkForgottenReturns(r,i,void 0!==e._eachValues?"Promise.each":"Promise.reduce",t),r}var f=l._getDomain,p=n("./util"),h=p.tryCatch;p.inherits(i,e),i.prototype._gotAccum=function(n){void 0!==this._eachValues&&null!==this._eachValues&&n!==r&&this._eachValues.push(n)},i.prototype._eachComplete=function(n){return null!==this._eachValues&&this._eachValues.push(n),this._eachValues},i.prototype._init=function(){},i.prototype._resolveEmptyArray=function(){this._resolve(void 0!==this._eachValues?this._eachValues:this._initialValue)},i.prototype.shouldCopyValues=function(){return!1},i.prototype._resolve=function(n){this._promise._resolveCallback(n),this._values=null},i.prototype._resultCancelled=function(n){return n===this._initialValue?this._cancel():void(this._isResolved()||(this._resultCancelled$(),this._currentCancellable instanceof l&&this._currentCancellable.cancel(),this._initialValue instanceof l&&this._initialValue.cancel()))},i.prototype._iterate=function(n){var e,t,u=(this._values=n).length;if(t=void 0!==this._initialValue?(e=this._initialValue,0):(e=l.resolve(n[0]),1),!(this._currentCancellable=e).isRejected())for(;t<u;++t){var r={accum:null,value:n[t],index:t,length:u,array:this};e=e._then(c,void 0,void 0,r,void 0)}void 0!==this._eachValues&&(e=e._then(this._eachComplete,void 0,void 0,this,void 0)),e._then(s,s,void 0,e,this)},l.prototype.reduce=function(n,l){return a(this,n,l,null)},l.reduce=function(n,l,e,t){return a(n,l,e,t)}}},{"./util":36}],29:[function(n,e,t){"use strict";var r,o=n("./util"),s=o.getNativePromise();if(o.isNode&&"undefined"==typeof MutationObserver){var a=u.setImmediate,c=l.nextTick;r=o.isRecentNode?function(n){a.call(u,n)}:function(n){c.call(l,n)}}else if("function"==typeof s&&"function"==typeof s.resolve){var d=s.resolve();r=function(n){d.then(n)}}else r="undefined"==typeof MutationObserver||"undefined"!=typeof window&&window.navigator&&(window.navigator.standalone||window.cordova)?"undefined"!=typeof setImmediate?function(n){setImmediate(n)}:"undefined"!=typeof setTimeout?function(n){setTimeout(n,0)}:function(){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}:function(){var n=document.createElement("div"),l={attributes:!0},e=!1,t=document.createElement("div");new MutationObserver(function(){n.classList.toggle("foo"),e=!1}).observe(t,l);var r=function(){e||(e=!0,t.classList.toggle("foo"))};return function(e){var t=new MutationObserver(function(){t.disconnect(),e()});t.observe(n,l),r()}}();e.exports=r},{"./util":36}],30:[function(n,l,e){"use strict";l.exports=function(l,e,t){function u(n){this.constructor$(n)}var r=l.PromiseInspection;n("./util").inherits(u,e),u.prototype._promiseResolved=function(n,l){return this._values[n]=l,++this._totalResolved>=this._length&&(this._resolve(this._values),!0)},u.prototype._promiseFulfilled=function(n,l){var e=new r;return e._bitField=33554432,e._settledValueField=n,this._promiseResolved(l,e)},u.prototype._promiseRejected=function(n,l){var e=new r;return e._bitField=16777216,e._settledValueField=n,this._promiseResolved(l,e)},l.settle=function(n){return t.deprecated(".settle()",".reflect()"),new u(n).promise()},l.prototype.settle=function(){return l.settle(this)}}},{"./util":36}],31:[function(n,l,e){"use strict";l.exports=function(l,e,t){function u(n){this.constructor$(n),this._howMany=0,this._unwrap=!1,this._initialized=!1}function r(n,l){if((0|l)!==l||l<0)return t("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n");var e=new u(n),r=e.promise();return e.setHowMany(l),e.init(),r}var o=n("./util"),i=n("./errors").RangeError,s=n("./errors").AggregateError,a=o.isArray,c={};o.inherits(u,e),u.prototype._init=function(){if(this._initialized){if(0===this._howMany)return void this._resolve([]);this._init$(void 0,-5);var n=a(this._values);!this._isResolved()&&n&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}},u.prototype.init=function(){this._initialized=!0,this._init()},u.prototype.setUnwrap=function(){this._unwrap=!0},u.prototype.howMany=function(){return this._howMany},u.prototype.setHowMany=function(n){this._howMany=n},u.prototype._promiseFulfilled=function(n){return this._addFulfilled(n),this._fulfilled()===this.howMany()&&(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0)}
vendor: 11,421 bytes, line 1
1,u.prototype._promiseRejected=function(n){return this._addRejected(n),this._checkOutcome()},u.prototype._promiseCancelled=function(){return this._values instanceof l||null==this._values?this._cancel():(this._addRejected(c),this._checkOutcome())},u.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var n=new s,l=this.length();l<this._values.length;++l)this._values[l]!==c&&n.push(this._values[l]);return 0<n.length?this._reject(n):this._cancel(),!0}return!1},u.prototype._fulfilled=function(){return this._totalResolved},u.prototype._rejected=function(){return this._values.length-this.length()},u.prototype._addRejected=function(n){this._values.push(n)},u.prototype._addFulfilled=function(n){this._values[this._totalResolved++]=n},u.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},u.prototype._getRangeError=function(n){var l="Input array must contain at least "+this._howMany+" items but contains only "+n+" items";return new i(l)},u.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},l.some=function(n,l){return r(n,l)},l.prototype.some=function(n){return r(this,n)},l._SomePromiseArray=u}},{"./errors":12,"./util":36}],32:[function(n,l,e){"use strict";l.exports=function(n){function l(n){void 0!==n?(n=n._target(),this._bitField=n._bitField,this._settledValueField=n._isFateSealed()?n._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}l.prototype._settledValue=function(){return this._settledValueField};var e=l.prototype.value=function(){if(!this.isFulfilled())throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},t=l.prototype.error=l.prototype.reason=function(){if(!this.isRejected())throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},u=l.prototype.isFulfilled=function(){return 0!=(33554432&this._bitField)},r=l.prototype.isRejected=function(){return 0!=(16777216&this._bitField)},o=l.prototype.isPending=function(){return 0==(50397184&this._bitField)},i=l.prototype.isResolved=function(){return 0!=(50331648&this._bitField)};l.prototype.isCancelled=function(){return 0!=(8454144&this._bitField)},n.prototype.__isCancelled=function(){return 65536==(65536&this._bitField)},n.prototype._isCancelled=function(){return this._target().__isCancelled()},n.prototype.isCancelled=function(){return 0!=(8454144&this._target()._bitField)},n.prototype.isPending=function(){return o.call(this._target())},n.prototype.isRejected=function(){return r.call(this._target())},n.prototype.isFulfilled=function(){return u.call(this._target())},n.prototype.isResolved=function(){return i.call(this._target())},n.prototype.value=function(){return e.call(this._target())},n.prototype.reason=function(){var n=this._target();return n._unsetRejectionIsUnhandled(),t.call(n)},n.prototype._value=function(){return this._settledValue()},n.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},n.PromiseInspection=l}},{}],33:[function(n,l,e){"use strict";l.exports=function(l,e){function i(n,t,u){var i=new l(e),c=i;u&&u._pushContext(),i._captureStackTrace(),u&&u._popContext();var d=!0,f=s.tryCatch(t).call(n,function(n){i&&(i._resolveCallback(n),i=null)},function(n){i&&(i._rejectCallback(n,d,!0),i=null)});return d=!1,i&&f===a&&(i._rejectCallback(f.e,!0,!0),i=null),c}var s=n("./util"),a=s.errorObj,c=s.isObject,d={}.hasOwnProperty;return function(n,t){if(c(n)){if(n instanceof l)return n;var u=function(n){try{return function(n){return n.then}(n)}catch(l){return a.e=l,a}}(n);if(u===a){t&&t._pushContext();var s=l.reject(u.e);return t&&t._popContext(),s}if("function"==typeof u)return function(n){try{return d.call(n,"_promise0")}catch(l){return!1}}(n)?(s=new l(e),n._then(s._fulfill,s._reject,void 0,s,null),s):i(n,u,t)}return n}}},{"./util":36}],34:[function(n,l,e){"use strict";l.exports=function(l,e,t){function u(n){this.handle=n}function r(n){return clearTimeout(this.handle),n}function o(n){throw clearTimeout(this.handle),n}var i=n("./util"),s=l.TimeoutError;u.prototype._resultCancelled=function(){clearTimeout(this.handle)};var a=function(n){return c(+this).thenReturn(n)},c=l.delay=function(n,r){var o,i;return void 0!==r?(o=l.resolve(r)._then(a,null,null,n,void 0),t.cancellation()&&r instanceof l&&o._setOnCancel(r)):(o=new l(e),i=setTimeout(function(){o._fulfill()},+n),t.cancellation()&&o._setOnCancel(new u(i)),o._captureStackTrace()),o._setAsyncGuaranteed(),o};l.prototype.delay=function(n){return c(n,this)};var d=function(n,l,e){var t;t="string"!=typeof l?l instanceof Error?l:new s("operation timed out"):new s(l),i.markAsOriginatingFromRejection(t),n._attachExtraTrace(t),n._reject(t),null!=e&&e.cancel()};l.prototype.timeout=function(n,l){n=+n;var e,i,s=new u(setTimeout(function(){e.isPending()&&d(e,l,i)},n));return t.cancellation()?(i=this.then(),(e=i._then(r,o,void 0,s,void 0))._setOnCancel(s)):e=this._then(r,o,void 0,s,void 0),e}}},{"./util":36}],35:[function(n,l,e){"use strict";l.exports=function(l,e,t,u,r,o){function i(n){setTimeout(function(){throw n},0)}function a(n,e){var o=0,a=n.length,c=new l(r);return function u(){if(a<=o)return c._fulfill();var r=function(n){var l=t(n);return l!==n&&"function"==typeof n._isDisposable&&"function"==typeof n._getDisposer&&n._isDisposable()&&l._setDisposable(n._getDisposer()),l}(n[o++]);if(r instanceof l&&r._isDisposable()){try{r=t(r._getDisposer().tryDispose(e),n.promise)}catch(d){return i(d)}if(r instanceof l)return r._then(u,i,null,null,null)}u()}(),c}function c(n,l,e){this._data=n,this._promise=l,this._context=e}function d(n,l,e){this.constructor$(n,l,e)}function f(n){return c.isDisposer(n)?(this.resources[this.index]._setDisposable(n),n.promise()):n}function p(n){this.length=n,this.promise=null,this[n-1]=null}var h=n("./util"),v=n("./errors").TypeError,g=n("./util").inherits,m=h.errorObj,_=h.tryCatch,b={};c.prototype.data=function(){return this._data},c.prototype.promise=function(){return this._promise},c.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():b},c.prototype.tryDispose=function(n){var l=this.resource(),e=this._context;void 0!==e&&e._pushContext();var t=l!==b?this.doDispose(l,n):null;return void 0!==e&&e._popContext(),this._promise._unsetDisposable(),this._data=null,t},c.isDisposer=function(n){return null!=n&&"function"==typeof n.resource&&"function"==typeof n.tryDispose},g(d,c),d.prototype.doDispose=function(n,l){return this.data().call(n,n,l)},p.prototype._resultCancelled=function(){for(var n=this.length,e=0;e<n;++e){var t=this[e];t instanceof l&&t.cancel()}},l.using=function(){var n=arguments.length;if(n<2)return e("you must pass at least 2 arguments to Promise.using");var u=arguments[n-1];if("function"!=typeof u)return e("expecting a function but got "+h.classString(u));var r,i=!0;2===n&&Array.isArray(arguments[0])?(n=(r=arguments[0]).length,i=!1):(r=arguments,n--);for(var s=new p(n),d=0;d<n;++d){var v=r[d];if(c.isDisposer(v)){var g=v;(v=v.promise())._setDisposable(g)}else{var b=t(v);b instanceof l&&(v=b._then(f,null,null,{resources:s,index:d},void 0))}s[d]=v}var y=new Array(s.length);for(d=0;d<y.length;++d)y[d]=l.resolve(s[d]).reflect();var E=l.all(y).then(function(n){for(var l=0;l<n.length;++l){var e=n[l];if(e.isRejected())return m.e=e.error(),m;if(!e.isFulfilled())return void E.cancel();n[l]=e.value()}S._pushContext(),u=_(u);var t=i?u.apply(void 0,n):u(n),r=S._popContext();return o.checkForgottenReturns(t,r,"Promise.using",S),t}),S=E.lastly(function(){var n=new l.PromiseInspection(E);return a(s,n)});return(s.promise=S)._setOnCancel(s),S},l.prototype._setDisposable=function(n){this._bitField=131072|this._bitField,this._disposer=n},l.prototype._isDisposable=function(){return 0<(131072&this._bitField)},l.prototype._getDisposer=function(){return this._disposer},l.prototype._unsetDisposable=function(){this._bitField=-131073&this._bitField,this._disposer=void 0},l.prototype.disposer=function(n){if("function"==typeof n)return new d(n,this,u());throw new v}}},{"./errors":12,"./util":36}],36:[function(n,e,t){"use strict";function r(){try{var n=x;return x=null,n.apply(this,arguments)}catch(l){return A.e=l,A}}function i(n){return null==n||!0===n||!1===n||"string"==typeof n||"number"==typeof n}function f(n,l,e){if(i(n))return n;var t={value:e,configurable:!0,enumerable:!1,writable:!0};return R.defineProperty(n,l,t),n}function _(n){try{return n+""}catch(l){return"[no string representation]"}}function b(n){return null!==n&&"object"==typeof n&&"string"==typeof n.message&&"string"==typeof n.name}function S(n){return b(n)&&R.propertyIsWritable(n,"stack")}function T(n){return{}.toString.call(n)}var x,R=n("./es5"),I="undefined"==typeof navigator,A={e:{}},N="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==u?u:void 0!==this?this:null,D=function(){var n=[Array.prototype,Object.prototype,Function.prototype],l=function(l){for(var e=0;e<n.length;++e)if(n[e]===l)return!0;return!1};if(R.isES5){var e=Object.getOwnPropertyNames;return function(n){for(var t=[],u=Object.create(null);null!=n&&!l(n);){var r;try{r=e(n)}catch(o){return t}for(var i=0;i<r.length;++i){var s=r[i];if(!u[s]){u[s]=!0;var a=Object.getOwnPropertyDescriptor(n,s);null!=a&&null==a.get&&null==a.set&&t.push(s)}}n=R.getPrototypeOf(n)}return t}}var t={}.hasOwnProperty;return function(e){if(l(e))return[];var u=[];n:for(var r in e)if(t.call(e,r))u.push(r);else{for(var o=0;o<n.length;++o)if(t.call(n[o],r))continue n;u.push(r)}return u}}(),P=/this\s*\.\s*\S+\s*=/,L=/^[a-z$_][a-z$_0-9]*$/i,M="stack"in new Error?function(n){return S(n)?n:new Error(_(n))}:function(n){if(S(n))return n;try{throw new Error(_(n))}catch(l){return l}},F=function(n){return R.isArray(n)?n:null};if("undefined"!=typeof Symbol&&Symbol.iterator){var U="function"==typeof Array.from?function(n){return Array.from(n)}:function(n){for(var l,e=[],t=n[Symbol.iterator]();!(l=t.next()).done;)e.push(l.value);return e};F=function(n){return R.isArray(n)?n:null!=n&&"function"==typeof n[Symbol.iterator]?U(n):null}}var V=void 0!==l&&"[object process]"===T(l).toLowerCase(),B=void 0!==l&&void 0!==l.env,H={isClass:function(n){try{if("function"==typeof n){var l=R.names(n.prototype),e=R.isES5&&1<l.length,t=0<l.length&&!(1===l.length&&"constructor"===l[0]),u=P.test(n+"")&&0<R.names(n).length;if(e||t||u)return!0}return!1}catch(r){return!1}},isIdentifier:function(n){return L.test(n)},inheritedDataKeys:D,getDataPropertyOrDefault:function(n,l,e){if(!R.isES5)return{}.hasOwnProperty.call(n,l)?n[l]:void 0;var t=Object.getOwnPropertyDescriptor(n,l);return null!=t?null==t.get&&null==t.set?t.value:e:void 0},thrower:function(n){throw n},isArray:R.isArray,asArray:F,notEnumerableProp:f,isPrimitive:i,isObject:function(n){return"function"==typeof n||"object"==typeof n&&null!==n},isError:b,canEvaluate:I,errorObj:A,tryCatch:function(n){return x=n,r},inherits:function(n,l){function e(){for(var e in this.constructor=n,(this.constructor$=l).prototype)t.call(l.prototype,e)&&"$"!==e.charAt(e.length-1)&&(this[e+"$"]=l.prototype[e])}var t={}.hasOwnProperty;return e.prototype=l.prototype,n.prototype=new e,n.prototype},withAppended:function(n,l){var e,t=n.length,u=new Array(t+1);for(e=0;e<t;++e)u[e]=n[e];return u[e]=l,u},maybeWrapAsError:function(n){return i(n)?new Error(_(n)):n}
1,toFastProperties:function(n){function l(){}l.prototype=n;for(var e=8;e--;)new l;return n},filledRange:function(n,l,e){for(var t=new Array(n),u=0;u<n;++u)t[u]=l+u+e;return t},toString:_,canAttachTrace:S,ensureErrorObject:M,originatesFromRejection:function(n){return null!=n&&(n instanceof Error.__BluebirdErrorTypes__.OperationalError||!0===n.isOperational)},markAsOriginatingFromRejection:function(n){try{f(n,"isOperational",!0)}catch(l){}},classString:T,copyDescriptors:function(n,l,e){for(var t=R.names(n),u=0;u<t.length;++u){var r=t[u];if(e(r))try{R.defineProperty(l,r,R.getDescriptor(n,r))}catch(o){}}},hasDevTools:"undefined"!=typeof chrome&&chrome&&"function"==typeof chrome.loadTimes,isNode:V,hasEnvVariables:B,env:function(n){return B?l.env[n]:void 0},global:N,getNativePromise:function(){if("function"==typeof Promise)try{var n=new Promise(function(){});if("[object Promise]"==={}.toString.call(n))return Promise}catch(l){}},domainBind:function(n,l){return n.bind(l)}};H.isRecentNode=H.isNode&&function(){var n=l.versions.node.split(".").map(Number);return 0===n[0]&&10<n[1]||0<n[0]}(),H.isNode&&H.toFastProperties(l);try{throw new Error}catch(W){H.lastLineError=W}e.exports=H},{"./es5":13}]},{},[4])(4)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise)}).call(this,l("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:182}],3:[function(n,l,e){function t(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function u(n){return"function"==typeof n}function o(n){return"object"==typeof n&&null!==n}function i(n){return void 0===n}((l.exports=t).EventEmitter=t).prototype._events=void 0,t.prototype._maxListeners=void 0,t.defaultMaxListeners=10,t.prototype.setMaxListeners=function(n){if(!function(n){return"number"==typeof n}(n)||n<0||isNaN(n))throw TypeError("n must be a positive number");return this._maxListeners=n,this},t.prototype.emit=function(n){var l,e,t,r,s,a;if(this._events||(this._events={}),"error"===n&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if((l=arguments[1])instanceof Error)throw l;var c=new Error('Uncaught, unspecified "error" event. ('+l+")");throw c.context=l,c}if(i(e=this._events[n]))return!1;if(u(e))switch(arguments.length){case 1:e.call(this);break;case 2:e.call(this,arguments[1]);break;case 3:e.call(this,arguments[1],arguments[2]);break;default:r=Array.prototype.slice.call(arguments,1),e.apply(this,r)}else if(o(e))for(r=Array.prototype.slice.call(arguments,1),t=(a=e.slice()).length,s=0;s<t;s++)a[s].apply(this,r);return!0},t.prototype.on=t.prototype.addListener=function(n,l){var e;if(!u(l))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",n,u(l.listener)?l.listener:l),this._events[n]?o(this._events[n])?this._events[n].push(l):this._events[n]=[this._events[n],l]:this._events[n]=l,o(this._events[n])&&!this._events[n].warned&&((e=i(this._maxListeners)?t.defaultMaxListeners:this._maxListeners)&&0<e&&this._events[n].length>e&&(this._events[n].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[n].length),"function"==typeof console.trace&&console.trace())),this},t.prototype.once=function(n,l){function e(){this.removeListener(n,e),t||(t=!0,l.apply(this,arguments))}if(!u(l))throw TypeError("listener must be a function");var t=!1;return e.listener=l,this.on(n,e),this},t.prototype.removeListener=function(n,l){var e,t,r,i;if(!u(l))throw TypeError("listener must be a function");if(!this._events||!this._events[n])return this;if(r=(e=this._events[n]).length,t=-1,e===l||u(e.listener)&&e.listener===l)delete this._events[n],this._events.removeListener&&this.emit("removeListener",n,l);else if(o(e)){for(i=r;0<i--;)if(e[i]===l||e[i].listener&&e[i].listener===l){t=i;break}if(t<0)return this;1===e.length?(e.length=0,delete this._events[n]):e.splice(t,1),this._events.removeListener&&this.emit
1("removeListener",n,l)}return this},t.prototype.removeAllListeners=function(n){var l,e;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[n]&&delete this._events[n],this;if(0===arguments.length){for(l in this._events)"removeListener"!==l&&this.removeAllListeners(l);return this.removeAllListeners("removeListener"),this._events={},this}if(u(e=this._events[n]))this.removeListener(n,e);else if(e)for(;e.length;)this.removeListener(n,e[e.length-1]);return delete this._events[n],this},t.prototype.listeners=function(n){return this._events&&this._events[n]?u(this._events[n])?[this._events[n]]:this._events[n].slice():[]},t.prototype.listenerCount=function(n){if(this._events){var l=this._events[n];if(u(l))return 1;if(l)return l.length}return 0},t.listenerCount=function(n,l){return n.listenerCount(l)}},{}],4:[function(n,l,e){function o(n,l){var e=L(n)||function(n){return function(n){return function(n){return!!n&&"object"==typeof n}(n)&&m(n)}(n)&&A.call(n,"callee")&&(!N.call(n,"callee")||x.call(n)==O)}(n)?function(n,l){for(var e=-1,t=Array(n);++e<n;)t[e]=l(e);return t}(n.length,String):[],t=e.length,r=!!t;for(var o in n)!l&&!A.call(n,o)||r&&("length"==o||f(o,t))||e.push(o);return e}function i(n,l,e){var t=n[l];A.call(n,l)&&v(t,e)&&(void 0!==e||l in n)||(n[l]=e)}function f(n,l){return!!(l=null==l?w:l)&&("number"==typeof n||R.test(n))&&-1<n&&n%1==0&&n<l}function h(n){var l=n&&n.constructor;return n===("function"==typeof l&&l.prototype||I)}function v(n,l){return n===l||n!=n&&l!=l}function m(n){return null!=n&&function(n){return"number"==typeof n&&-1<n&&n%1==0&&n<=w}(n.length)&&!function(n){var l=E(n)?x.call(n):"";return l==C||l==j}(n)}function E(n){var l=typeof n;return!!n&&("object"==l||"function"==l)}function T(n){return m(n)?o(n):function(n){if(!h(n))return k(n);var l=[];for(var e in Object(n))A.call(n,e)&&"constructor"!=e&&l.push(e);return l}(n)}var w=9007199254740991,O="[object Arguments]",C="[object Function]",j="[object GeneratorFunction]",R=/^(?:0|[1-9]\d*)$/,I=Object.prototype,A=I.hasOwnProperty,x=I.toString,N=I.propertyIsEnumerable,k=function(n,l){return function(e){return n(l(e))}}(Object.keys,Object),D=Math.max,P=!N.call({valueOf:1},"valueOf"),L=Array.isArray,M=function(n){return function(n,l){return l=D(void 0===l?n.length-1:l,0),function(){for(var e=arguments,u=-1,r=D(e.length-l,0),o=Array(r);++u<r;)o[u]=e[l+u];u=-1;for(var i=Array(l+1);++u<l;)i[u]=e[u];return i[l]=o,function(n,l,e){switch(e.length){case 0:return n.call(l);case 1:return n.call(l,e[0]);case 2:return n.call(l,e[0],e[1]);case 3:return n.call(l,e[0],e[1],e[2])}return n.apply(l,e)}(n,this,i)}}(function(l,e){var t=-1,u=e.length,r=1<u?e[u-1]:void 0,o=2<u?e[2]:void 0;for(r=3<n.length&&"function"==typeof r?(u--,r):void 0,o&&function(n,l,e){if(!E(e))return!1;var t=typeof l;return!!("number"==t?m(e)&&f(l,e.length):"string"==t&&l in e)&&v(e[l],n)}(e[0],e[1],o)&&(r=u<3?void 0:r,u=1),l=Object(l);++t<u;){var i=e[t];i&&n(l,i,t,r)}return l})}(function(n,l){if(P||h(l)||m(l))!function(n,l,e,t){e||(e={});for(var u=-1,r=l.length;++u<r;){var o=l[u],s=t?t(e[o],n[o],o,e,n):void 0;i(e,o,void 0===s?n[o]:s)}}(l,T(l),n);else for(var e in l)A.call(l,e)&&i(n,e,l[e])});l.exports=M},{}],5:[function(n,l,e){(function(n){function t(n){return D.test(n)}function u(n){return t(n)?function(n){return n.match(k)||[]}(n):function(n){return n.split("")}(n)}function i(n){if("string"==typeof n)return n;if(function(n){return"symbol"==typeof n||function(n){return!!n&&"object"==typeof n}(n)&&U.call(n)==v}(n))return H?H.call(n):"";var l=n+"";return"0"==l&&1/n==-h?"-0":l}function s(n,l,e){var t=n.length;return e=void 0===e?t:e,!l&&t<=e?n:function(n,l,e){var t=-1,u=n.length;l<0&&(l=u<-l?0:u+l),(e=u<e?u:e)<0&&(e+=u),u=e<l?0:e-l>>>0,l>>>=0;for(var r=Array(u);++t<u;)r[t]=n[t+l];return r}(n,l,e)}function f(n){return null==n?"":i(n)}var h=1/0,v="[object Symbol]",g="\\ud800-\\udfff",m="\\u0300-\\u036f\\ufe20-\\ufe23",_="\\u20d0-\\u20f0",b="\\ufe0e\\ufe0f",y="["+g+"]",E="["+m+_+"]",S="\\ud83c[\\udffb-\\udfff]",w="[^"+g+"]",O="(?:\\ud83c[\\udde6-\\uddff]){2}",C="[\\ud800-\\udbff][\\udc00-\\udfff]",j="\\u200d",R="(?:"+E+"|"+S+")"+"?",I="["+b+"]?",x=I+R+("(?:"+j+"(?:"+[w,O,C].join("|")+")"+I+R+")*"),N="(?:"+[w+E+"?",E,O,C,y].join("|")+")",k=RegExp(S+"(?="+S+")|"+N+x,"g"),D=RegExp("["+j+g+m+_+b+"]"),P="object"==typeof n&&n&&n.Object===Object&&n,L="object"==typeof self&&self&&self.Object===Object&&self,M=P||L||Function("return this")(),U=Object.prototype.toString,V=M.Symbol,B=V?V.prototype:void 0,H=B?B.toString:void 0,W=function(n){return function(l){var e=t(l=f(l))?u(l):void 0,r=e?e[0]:l.charAt(0),o=e?s(e,1).join(""):l.slice(1);return r[n]()+o}}("toUpperCase");l.exports=function(n){return W(f(n).toLowerCase())}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],6:[function(n,l,e){(function(n){function t(n,l){return n.set(l[0],l[1]),n}function u(n,l){return n.add(l),n}function i(n,l,e,t){var u=-1,r=n?n.length:0;
vendor: 4,963 bytes, line 1
1for(t&&r&&(e=n[++u]);++u<r;)e=l(e,n[u],u,n);return e}function c(n){var l=!1;if(null!=n&&"function"!=typeof n.toString)try{l=!!(n+"")}catch(e){}return l}function d(n){var l=-1,e=Array(n.size);return n.forEach(function(n,t){e[++l]=[t,n]}),e}function f(n,l){return function(e){return n(l(e))}}function p(n){var l=-1,e=Array(n.size);return n.forEach(function(n){e[++l]=n}),e}function h(n){var l=-1,e=n?n.length:0;for(this.clear();++l<e;){var t=n[l];this.set(t[0],t[1])}}function y(n){var l=-1,e=n?n.length:0;for(this.clear();++l<e;){var t=n[l];this.set(t[0],t[1])}}function C(n){var l=-1,e=n?n.length:0;for(this.clear();++l<e;){var t=n[l];this.set(t[0],t[1])}}function N(n){this.__data__=new y(n)}function F(n,l){var e=Yl(n)||function(n){return function(n){return function(n){return!!n&&"object"==typeof n}(n)&&yn(n)}(n)&&Sl.call(n,"callee")&&(!Al.call(n,"callee")||Tl.call(n)==Nn)}(n)?function(n,l){for(var e=-1,t=Array(n);++e<n;)t[e]=l(e);return t}(n.length,String):[],t=e.length,u=!!t;for(var r in n)!l&&!Sl.call(n,r)||u&&("length"==r||fn(r,t))||e.push(r);return e}function U(n,l,e){var t=n[l];Sl.call(n,l)&&_n(t,e)&&(void 0!==e||l in n)||(n[l]=e)}function V(n,l){for(var e=n.length;e--;)if(_n(n[e][0],l))return e;return-1}function H(n,l,e,t,u,o,i){var s;if(t&&(s=o?t(n,u,o,i):t(n)),void 0!==s)return s;if(!wn(n))return n;var a=Yl(n);if(a){if(s=function(n){var l=n.length,e=n.constructor(l);return l&&"string"==typeof n[0]&&Sl.call(n,"index")&&(e.index=n.index,e.input=n.input),e}(n),!l)return function(n,l){var e=-1,t=n.length;for(l||(l=Array(t));++e<t;)l[e]=n[e];return l}(n,s)}else{var d=$l(n),f=d==Mn||d==Fn;if(Jl(n))return function(n,l){if(l)return n.slice();var e=new n.constructor(n.length);return n.copy(e),e}(n,l);if(d==Bn||d==Nn||f&&!o){if(c(n))return o?n:{};if(s=function(n){return"function"!=typeof n.constructor||vn(n)?{}:function(n){return wn(n)?Il(n):{}}(Rl(n))}(f?{}:n),!l)return function(n,l){return tn(n,Xl(n),l)}(n,function(n,l){return n&&tn(l,Cn(l),n)}(s,n))}else{if(!al[d])return o?n:{};s=function(n,l,e,t){var u=n.constructor;switch(l){case Xn:return $(n);case Dn:case Pn:return new u(+n);case $n:return function(n,l){var e=l?$(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}(n,t);case Yn:case Jn:case Qn:case Zn:case nl:case ll:case el:case tl:case ul:return function(n,l){var e=l?$(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.length)}(n,t);case Un:return J(n,t,e);case Vn:case Gn:return new u(n);case Wn:return function(n){var l=new n.constructor(n.source,ol.exec(n));return l.lastIndex=n.lastIndex,l}(n);case qn:return Z(n,t,e);case zn:return function(n){return Kl?Object(Kl.call(n)):{}}(n)}}(n,d,H,l)}}i||(i=new N);var p=i.get(n);if(p)return p;if(i.set(n,s),!a)var h=e?function(n){return function(n,l,e){var t=l(n);return Yl(n)?t:function(n,l){for(var e=-1,t=l.length,u=n.length;++e<t;)n[u+e]=l[e];return n}(t,e(n))}(n,Cn,Xl)}(n):Cn(n);return function(n,l){for(var e=-1,t=n?n.length:0;++e<t&&!1!==l(n[e],e,n););}(h||n,function(u,r){h&&(u=n[r=u]),U(s,r,H(u,l,e,t,r,n,i))}),s}function z(n){return!(!wn(n)||function(n){return!!yl&&yl in n}(n))&&(Sn(n)||c(n)?wl:il).test(gn(n))}function $(n){var l=new n.constructor(n.byteLength);return new jl(l).set(new jl(n)),l}function J(n,l,e){return i(l?e(d(n),!0):d(n),t,new n.constructor)}function Z(n,l,e){return i(l?e(p(n),!0):p(n),u,new n.constructor)}function tn(n,l,e,t){e||(e={});for(var u=-1,r=l.length;++u<r;){var o=l[u],i=t?t(e[o],n[o],o,e,n):void 0;U(e,o,void 0===i?n[o]:i)}return e}function on(n,l){var e=n.__data__;return function(n){var l=typeof n;return"string"==l||"number"==l||"symbol"==l||"boolean"==l?"__proto__"!==n:null===n}(l)?e["string"==typeof l?"string":"hash"]:e.map}function sn(n,l){var e=function(n,l){return null==n?void 0:n[l]}(n,l);return z(e)?e:void 0}function fn(n,l){return!!(l=null==l?xn:l)&&("number"==typeof n||sl.test(n))&&-1<n&&n%1==0&&n<l}function vn(n){var l=n&&n.constructor;return n===("function"==typeof l&&l.prototype||_l)}function gn(n){if(null!=n){try{return El.call(n)}catch(l){}try{return n+""}catch(l){}}return""}function _n(n,l){return n===l||n!=n&&l!=l}function yn(n){return null!=n&&function(n){return"number"==typeof n&&-1<n&&n%1==0&&n<=xn}(n.length)&&!Sn(n)}function Sn(n){var l=wn(n)?Tl.call(n):"";return l==Mn||l==Fn}function wn(n){var l=typeof n;return!!n&&("object"==l||"function"==l)}function Cn(n){return yn(n)?F(n):function(n){if(!vn(n))return Dl(n);var l=[];for(var e in Object(n))Sl.call(n,e)&&"constructor"!=e&&l.push(e);return l}(n)}var An="__lodash_hash_undefined__",xn=9007199254740991,Nn="[object Arguments]",Dn="[object Boolean]",Pn="[object Date]",Mn="[object Function]",Fn="[object GeneratorFunction]",Un="[object Map]",Vn="[object Number]",Bn="[object Object]",Hn="[object Promise]",Wn="[object RegExp]",qn="[object Set]",Gn="[object String]",zn="[object Symbol]",Kn="[object WeakMap]",Xn="[object ArrayBuffer]",$n="[object DataView]",Yn="[object Float32Array]",Jn="[object Float64Array
1]",Qn="[object Int8Array]",Zn="[object Int16Array]",nl="[object Int32Array]",ll="[object Uint8Array]",el="[object Uint8ClampedArray]",tl="[object Uint16Array]",ul="[object Uint32Array]",ol=/\w*$/,il=/^\[object .+?Constructor\]$/,sl=/^(?:0|[1-9]\d*)$/,al={};al[Nn]=al["[object Array]"]=al[Xn]=al[$n]=al[Dn]=al[Pn]=al[Yn]=al[Jn]=al[Qn]=al[Zn]=al[nl]=al[Un]=al[Vn]=al[Bn]=al[Wn]=al[qn]=al[Gn]=al[zn]=al[ll]=al[el]=al[tl]=al[ul]=!0,al["[object Error]"]=al[Mn]=al[Kn]=!1;var cl="object"==typeof n&&n&&n.Object===Object&&n,dl="object"==typeof self&&self&&self.Object===Object&&self,fl=cl||dl||Function("return this")(),pl="object"==typeof e&&e&&!e.nodeType&&e,hl=pl&&"object"==typeof l&&l&&!l.nodeType&&l,vl=hl&&hl.exports===pl,gl=Array.prototype,ml=Function.prototype,_l=Object.prototype,bl=fl["__core-js_shared__"],yl=function(){var n=/[^.]+$/.exec(bl&&bl.keys&&bl.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),El=ml.toString,Sl=_l.hasOwnProperty,Tl=_l.toString,wl=RegExp("^"+El.call(Sl).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ol=vl?fl.Buffer:void 0,Cl=fl.Symbol,jl=fl.Uint8Array,Rl=f(Object.getPrototypeOf,Object),Il=Object.create,Al=_l.propertyIsEnumerable,xl=gl.splice,Nl=Object.getOwnPropertySymbols,kl=Ol?Ol.isBuffer:void 0,Dl=f(Object.keys,Object),Pl=sn(fl,"DataView"),Ll=sn(fl,"Map"),Ml=sn(fl,"Promise"),Fl=sn(fl,"Set"),Ul=sn(fl,"WeakMap"),Vl=sn(Object,"create"),Bl=gn(Pl),Hl=gn(Ll),Wl=gn(Ml),ql=gn(Fl),Gl=gn(Ul),zl=Cl?Cl.prototype:void 0,Kl=zl?zl.valueOf:void 0;h.prototype.clear=function(){this.__data__=Vl?Vl(null):{}},h.prototype.delete=function(n){return this.has(n)&&delete this.__data__[n]},h.prototype.get=function(n){var l=this.__data__;if(Vl){var e=l[n];return e===An?void 0:e}return Sl.call(l,n)?l[n]:void 0},h.prototype.has=function(n){var l=this.__data__;return Vl?void 0!==l[n]:Sl.call(l,n)},h.prototype.set=function(n,l){return this.__data__[n]=Vl&&void 0===l?An:l,this},y.prototype.clear=function(){this.__data__=[]},y.prototype.delete=function(n){var l=this.__data__,e=V(l,n);return!(e<0||(e==l.length-1?l.pop():xl.call(l,e,1),0))},y.prototype.get=function(n){var l=this.__data__,e=V(l,n);return e<0?void 0:l[e][1]},y.prototype.has=function(n){return-1<V(this.__data__,n)},y.prototype.set=function(n,l){var e=this.__data__,t=V(e,n);return t<0?e.push([n,l]):e[t][1]=l,this},C.prototype.clear=function(){this.__data__={hash:new h,map:new(Ll||y),string:new h}},C.prototype.delete=function(n){return on(this,n).delete(n)},C.prototype.get=function(n){return on(this,n).get(n)},C.prototype.has=function(n){return on(this,n).has(n)},C.prototype.set=function(n,l){return on(this,n).set(n,l),this},N.prototype.clear=function(){this.__data__=new y},N.prototype.delete=function(n){return this.__data__.delete(n)},N.prototype.get=function(n){return this.__data__.get(n)},N.prototype.has=function(n){return this.__data__.has(n)},N.prototype.set=function(n,l){var e=this.__data__;if(e instanceof y){var t=e.__data__;if(!Ll||t.length<199)return t.push([n,l]),this;e=this.__data__=new C(t)}return e.set(n,l),this};var Xl=Nl?f(Nl,Object):function(){return[]},$l=function(n){return Tl.call(n)};(Pl&&$l(new Pl(new ArrayBuffer(1)))!=$n||Ll&&$l(new Ll)!=Un||Ml&&$l(Ml.resolve())!=Hn||Fl&&$l(new Fl)!=qn||Ul&&$l(new Ul)!=Kn)&&($l=function(n){var l=Tl.call(n),e=l==Bn?n.constructor:void 0,t=e?gn(e):void 0;if(t)switch(t){case Bl:return $n;case Hl:return Un;case Wl:return Hn;case ql:return qn;case Gl:return Kn}return l});var Yl=Array.isArray,Jl=kl||function(){return!1};l.exports=function(n){return H(n,!0,!0)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],7:[function(n,l,e){(function(n){function t(n){var l=typeof n;return!!n&&("object"==l||"function"==l)}function o(n){if("number"==typeof n)return n;if(function(n){return"symbol"==typeof n||function(n){return!!n&&"object"==typeof n}(n)&&b.call(n)==a}(n))return s;if(t(n)){var l="function"==typeof n.valueOf?n.valueOf():n;n=t(l)?l+"":l}if("string"!=typeof n)return 0===n?n:+n;n=n.replace(c,"");var e=f.test(n);return e||p.test(n)?h(n.slice(2),e?2:8):d.test(n)?s:+n}var s=NaN,a="[object Symbol]",c=/^\s+|\s+$/g,d=/^[-+]0x[0-9a-f]+$/i,f=/^0b[01]+$/i,p=/^0o[0-7]+$/i,h=parseInt,v="object"==typeof n&&n&&n.Object===Object&&n,g="object"==typeof self&&self&&self.Object===Object&&self,m=v||g||Function("return this")(),b=Object.prototype.toString,y=Math.max,E=Math.min,S=function(){return m.Date.now()};l.exports=function(n,l,e){function u(l){var e=v,t=g;return v=g=void 0,w=l,_=n.apply(t,e)}function a(n){var e=n-T;return void 0===T||l<=e||e<0||C&&m<=n-w}function c(){var n=S();return a(n)?d(n):void(b=setTimeout(c,function(n){var u=l-(n-T);return C?E(u,m-(n-w)):u}(n)))}function d(n){return b=void 0,j&&v?u(n):(v=g=void 0,_)}function h(){var n=S(),e=a(n);if(v=arguments,g=this,T=n,e){if(void 0===b)return function(n){return w=n,b=setTimeout(c,l),O?u(n):_}(T);if(C)return b=setTimeout(c,l),u(T)}return void 0===b&&(b=setTimeout(c,l)),_}var v,g,m,_,b,T,w=0,O=!1,C=!1,j=!0;if("function"!=typeof n)throw new TypeError("Expected a function");return l=o(l)||0,t(e)&&(O=!!e.leading,m=(C="maxWait"in e)?y(o(e.maxWait)||0,l):m,j="trailing"in e?!!e.trailing:j),h.cancel=function(){void 0!==b&&clearTimeout(b),v=T=g=b=void(w=0)},h.flush=function(){return void 0===b?_:d(S())},h}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],8:[function(n,l,e){(function(n){function u(n){var l=-1,e=n?n.length:0;for(this.clear();++l<e;){var t=n[l];this.set(t[0],t[1])}}function c(n){var l=-1,e=n?n.length:0;for(this.clear();++l<e;){var t=n[l];this.set(t[0],t[1])}}function g(n){var l=-1,e=n?n.length:0;for(this.clear();++l<e;){var t=n[l];this.set(t[0],t[1])}}function S(n,l){for(var e=n.length;e--;)if(A(n[e][0],l))return e;return-1}function T(n){return!(!N(n)||function(n){return!!z&&z in n}(n))&&(function(n){var l=N(n)?$.call(n):"";return l==P||l==L}(n)||function(n){var l=!1;if(null!=n&&"function"!=typeof n.toString)try{l=!!(n+"")}catch(e){}return l}(n)?Y:F).test(function(n){if(null!=n){try{return K.call(n)}catch(l){}try{return n+""}catch(l){}}return""}(n))}function w(n,l){var e=n.__data__;return function(n){var l=typeof n;return"string"==l||"number"==l||"symbol"==l||"boolean"==l?"__proto__"!==n:null===n}(l)?e["string"==typeof l?"string":"hash"]:e.map}function O(n,l){var t=function(n,l){return null==n?void 0:n[l]}(n,l);return T(t)?t:void 0}function I(n,l){if("function"!=typeof n||l&&"function"!=typeof l)throw new TypeError(k);var e=function(){var t=arguments,u=l?l.apply(this,t):t[0],r=e.cac
1he;if(r.has(u))return r.get(u);var o=n.apply(this,t);return e.cache=r.set(u,o),o};return e.cache=new(I.Cache||g),e}function A(n,l){return n===l||n!=n&&l!=l}function N(n){var l=typeof n;return!!n&&("object"==l||"function"==l)}var k="Expected a function",D="__lodash_hash_undefined__",P="[object Function]",L="[object GeneratorFunction]",F=/^\[object .+?Constructor\]$/,U="object"==typeof n&&n&&n.Object===Object&&n,V="object"==typeof self&&self&&self.Object===Object&&self,B=U||V||Function("return this")(),H=Array.prototype,W=Function.prototype,q=Object.prototype,G=B["__core-js_shared__"],z=function(){var n=/[^.]+$/.exec(G&&G.keys&&G.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),K=W.toString,X=q.hasOwnProperty,$=q.toString,Y=RegExp("^"+K.call(X).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),J=H.splice,Q=O(B,"Map"),Z=O(Object,"create");u.prototype.clear=function(){this.__data__=Z?Z(null):{}},u.prototype.delete=function(n){return this.has(n)&&delete this.__data__[n]},u.prototype.get=function(n){var l=this.__data__;if(Z){var e=l[n];return e===D?void 0:e}return X.call(l,n)?l[n]:void 0},u.prototype.has=function(n){var l=this.__data__;return Z?void 0!==l[n]:X.call(l,n)},u.prototype.set=function(n,l){return this.__data__[n]=Z&&void 0===l?D:l,this},c.prototype.clear=function(){this.__data__=[]},c.prototype.delete=function(n){var l=this.__data__,e=S(l,n);return!(e<0||(e==l.length-1?l.pop():J.call(l,e,1),0))},c.prototype.get=function(n){var l=this.__data__,e=S(l,n);return e<0?void 0:l[e][1]},c.prototype.has=function(n){return-1<S(this.__data__,n)},c.prototype.set=function(n,l){var e=this.__data__,t=S(e,n);return t<0?e.push([n,l]):e[t][1]=l,this},g.prototype.clear=function(){this.__data__={hash:new u,map:new(Q||c),string:new u}},g.prototype.delete=function(n){return w(this,n).delete(n)},g.prototype.get=function(n){return w(this,n).get(n)},g.prototype.has=function(n){return w(this,n).has(n)},g.prototype.set=function(n,l){return w(this,n).set(n,l),this},I.Cache=g,l.exports=I}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],9:[function(n,l,e){(function(n){function t(n,l){return!!(n?n.length:0)&&-1<function(n,l,e){if(l!=l)return function(n,l,e,t){for(var u=n.length,r=e+(t?1:-1);t?r--:++r<u;)if(l(n[r],r,n))return r;return-1}(n,a,e);for(var t=e-1,u=n.length;++t<u;)if(n[t]===l)return t;return-1}(n,l,0)}function u(n,l,e){for(var t=-1,u=n?n.length:0;++t<u;)if(e(l,n[t]))return!0;return!1}function r(n,l){for(var e=-1,t=n?n.length:0,u=Array(t);++e<t;)u[e]=l(n[e],e,n);return u}function o(n,l){for(var e=-1,t=l.length,u=n.length;++e<t;)n[u+e]=l[e];return n}function a(n){return n!=n}function f(n,l){return n.has(l)}function v(n,l){return function(e){return n(l(e))}}function g(n){var l=-1,e=n?n.length:0;for(this.clear();++l<e;){var t=n[l];this.set(t[0],t[1])}}function S(n){var l=-1,e=n?n.length:0;for(this.clear();++l<e;){var t=n[l];this.set(t[0],t[1])}}function R(n){var l=-1,e=n?n.length:0;for(this.clear();++l<e;){var t=n[l];this.set(t[0],t[1])}}function D(n){var l=-1,e=n?n.length:0;for(this.__data__=new R;++l<e;)this.add(n[l])}function M(n,l){var e=Yn(n)||rn(n)?function(n,l){for(var e=-1,t=Array(n);++e<n;)t[e]=l(e);return t}(n.length,String):[],t=e.length,u=!!t;for(var r in n)!l&&!Ln.call(n,r)||u&&("length"==r||J(r,t))||e.push(r);return e}function F(n,l){for(var e=n.length;e--;)if(un(n[e][0],l))return e;return-1}function H(n){return!(!dn(n)||function(n){return!!Dn&&Dn in n}(n))&&(an(n)||function(n){var l=!1;if(null!=n&&"function"!=typeof n.toString)try{l=!!(n+"")}catch(e){}return l}(n)?Fn:On).test(function(n){if(null!=n){try{return Pn.call(n)}catch(l){}try{return n+""}catch(l){}}return""}(n))}function W(n){if(!dn(n))return function(n){var l=[];if(null!=n)for(var e in Object(n))l.push(e);return l}(n);var l=function(n){var l=n&&n.constructor,e="function"==typeof l&&l.prototype||Nn;return n===e}(n),e=[];for(var t in n)("constructor"!=t||!l&&Ln.call(n,t))&&e.push(t);return e}function K(n){return function(n,l,e){var t=l(n);return Yn(n)?t:o(t,e(n))}(n,hn,$n)}function X(n,l){var e=n.__data__;return function(n){var l=typeof n;return"string"==l||"number"==l||"symbol"==l||"boolean"==l?"__proto__"!==n:null===n}(l)?e["string"==typeof l?"string":"hash"]:e.map}function $(n,l){var e=function(n,l){return null==n?void 0:n[l]}(n,l);return H(e)?e:void 0}function Y(n){return Yn(n)||rn(n)||!!(Wn&&n&&n[Wn])}function J(n,l){return!!(l=null==l?bn:l)&&("number"==typeof n||Cn.test(n))&&-1<n&&n%1==0&&n<l}function en(n){if("string"==typeof n||function(n){return"symbol"==typeof n||fn(n)&&Mn.call(n)==Tn}(n))return n;var l=n+"";return"0"==l&&1/n==-1/0?"-0":l}function un(n,l){return n===l||n!=n&&l!=l}function rn(n){return function(n){return fn(n)&&on(n)}(n)&&Ln.call(n,"callee")&&(!Bn.call(n,"callee")||Mn.call(n)==yn)}function on(n){return null!=n&&function(n){return"number"==typeof n&&-1<n&&n%1==0&&n<=bn}(n.length)&&!an(n)}function an(n){var l=dn(n)?Mn.call(n):"";return l==En||l==Sn}function dn(n){var l=typeof n;return!!n&&("object"==l||"function"==l)}function fn(n){return!!n&&"object"==typeof n}function hn(n){return on(n)?M(n,!0):W(n)}function vn(){return[]}var mn="__lodash_hash_undefined__",bn=9007199254740991,yn="[object Arguments]",En="[object Function]",Sn="[object GeneratorFunction]",Tn="[object Symbol]",On=/^\[object .+?Constructor\]$/,Cn=/^(?:0|[1-9]\d*)$/,jn="object"==typeof n&&n&&n.Object===Object&&n,Rn="object"==typeof self&&self&&self.Object===Object&&self,In=jn||Rn||Function("return this")(),An=Array.prototype,xn=Function.prototype,Nn=Object.prototype,kn=In["__core-js_shared__"],Dn=function(){var n=/[^.]+$/.exec(kn&&kn.keys&&kn.keys.IE_PROTO||"");
vendor: 1,073 bytes, line 1
1return n?"Symbol(src)_1."+n:""}(),Pn=xn.toString,Ln=Nn.hasOwnProperty,Mn=Nn.toString,Fn=RegExp("^"+Pn.call(Ln).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Un=In.Symbol,Vn=v(Object.getPrototypeOf,Object),Bn=Nn.propertyIsEnumerable,Hn=An.splice,Wn=Un?Un.isConcatSpreadable:void 0,qn=Object.getOwnPropertySymbols,Gn=Math.max,zn=$(In,"Map"),Kn=$(Object,"create");g.prototype.clear=function(){this.__data__=Kn?Kn(null):{}},g.prototype.delete=function(n){return this.has(n)&&delete this.__data__[n]},g.prototype.get=function(n){var l=this.__data__;if(Kn){var e=l[n];return e===mn?void 0:e}return Ln.call(l,n)?l[n]:void 0},g.prototype.has=function(n){var l=this.__data__;return Kn?void 0!==l[n]:Ln.call(l,n)},g.prototype.set=function(n,l){return this.__data__[n]=Kn&&void 0===l?mn:l,this},S.prototype.clear=function(){this.__data__=[]},S.prototype.delete=function(n){var l=this.__data__,e=F(l,n);return!(e<0||(e==l.length-1?l.pop():Hn.call(l,e,1),0))},S.prototype.get=function(n){var l=this.__data__,e=F(l,n
1);return e<0?void 0:l[e][1]},S.prototype.has=function(n){return-1<F(this.__data__,n)},S.prototype.set=function(n,l){var e=this.__data__,t=F(e,n);return t<0?e.push([n,l]):e[t][1]=l,this},R.prototype.clear=function(){this.__data__={hash:new g,map:new(zn||S),string:new g}},R.prototype.delete=function(n){return X(this,n).delete(n)},R.prototype.get=function(n){return X(this,n).get(n)},R.prototype.has=function(n){return X(this,n).has(n)},R.prototype.set=function(n,l){return X(this,n).set(n,l),this},D.prototype.add=D.prototype.push=function(n){return this.__data__.set(n,mn),this},D.prototype.has=function(n){return this.__data__.has(n)};var Xn=qn?v(qn,Object):vn,$n=qn?function(n){for(var l=[];n;)o(l,Xn(n)),n=Vn(n);return l}:vn,Yn=Array.isArray,Jn=function(n,l){return l=Gn(void 0===l?n.length-1:l,0),function(){for(var t=arguments,u=-1,r=Gn(t.length-l,0),o=Array(r);++u<r;)o[u]=t[l+u];u=-1;for(var i=Array(l+1);++u<l;)i[u]=t[u];return i[l]=o,function(n,l,e){switch(e.length){case 0:return n.call(l);case 1:return n.call(l,e[0]);case 2:return n.call(l,e[0],e[1]);case 3:return n.call(l,e[0],e[1],e[2])}return n.apply(l,e)}(n,this,i)}}(function(n,l){return null==n?{}:(l=r(function V(n,l,e,t,u){var r=-1,i=n.length;for(e||(e=Y),u||(u=[]);++r<i;){var s=n[r];0<l&&e(s)?1<l?V(s,l-1,e,t,u):o(u,s):t||(u[u.length]=s)}return u}(l,1),en),function(n,l){return function(n,l,e){for(var t=-1,u=l.length,r={};++t<u;){var o=l[t],i=n[o];e(i,o)&&(r[o]=i)}return r}(n=Object(n),l,function(l,e){return e in n})}(n,function(n,l,e,o){var i=-1,s=t,a=!0,c=n.length,p=[],h=l.length;if(!c)return p;e&&(l=r(l,function(n){return function(l){return n(l)}}(e))),o?(s=u,a=!1):200<=l.length&&(s=f,a=!1,l=new D(l));n:for(;++i<c;){var v=n[i],g=e?e(v):v;if(v=o||0!==v?v:0,a&&g==g){for(var m=h;m--;)if(l[m]===g)continue n;p.push(v)}else s(l,g,o)||p.push(v)}return p}(K(n),l)))});l.exports=Jn}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],10:[function(n,l,e){function t(n,l){var e;if("function"!=typeof l)throw new TypeError(d);return n=function(n){var l=function(n){return n?(n=function(n){if("number"==typeof n)return n;if(function(n){return"symbol"==typeof n||function(n){return!!n&&"object"==typeof n}(n)&&S.call(n)==v}(n))return h;if(r(n)){var l="function"==typeof n.valueOf?n.valueOf():n;n=r(l)?l+"":l}if("string"!=typeof n)return 0===n?n:+n;n=n.replace(g,"");var e=_.test(n);return e||b.test(n)?y(n.slice(2),e?2:8):m.test(n)?h:+n}(n))!==f&&n!==-f?n==n?n:0:(n<0?-1:1)*p:0===n?n:0}(n),e=l%1;return l==l?e?l-e:l:0}(n),function(){return 0<--n&&(e=l.apply(this,arguments)),n<=1&&(l=void 0),e}}function r(n){var l=typeof n;return!!n&&("object"==l||"function"==l)}var d="Expected a function",f=1/0,p=17976931348623157e292,h=NaN,v="[object Symbol]",g=/^\s+|\s+$/g,m=/^[-+]0x[0-9a-f]+$/i,_=/^0b[01]+$/i,b=/^0o[0-7]+$/i,y=parseInt,S=Object.prototype.toString;l.exports=function(n){return t(2,n)}},{}],11:[function(n,l,e){(function(n){function u(n,l){for(var e=-1,t=l.length,u=n.length;++e<t;)n[u+e]=l[e];return n}function a(n){return P(n)||function(n){return function(n){return m(n)&&function(n){return null!=n&&function(n){return"number"==typeof n&&-1<n&&n%1==0&&n<=y}(n.length)&&!function(n){var l=function(n){var l=typeof n;return!!n&&("object"==l||"function"==l)}(n)?A.call(n):"";return l==S||l==T}(n)}(n)}(n)&&I.call(n,"callee")&&(!N.call(n,"callee")||A.call(n)==E)}(n)||!!(k&&n&&n[k])}function c(n){if("string"==typeof n||function(n){return"symbol"==typeof n||m(n)&&A.call(n)==w}(n))return n;var l=n+"";return"0"==l&&1/n==-1/0?"-0":l}function m(n){return!!n&&"object"==typeof n}var y=9007199254740991,E="[object Arguments]",S="[object Function]",T="[object GeneratorFunction]",w="[object Symbol]",O="object"==typeof n&&n&&n.Object===Object&&n,C="object"==typeof self&&self&&self.Object===Object&&self,j=O||C||Function("return this")(),R=Object.prototype,I=R.hasOwnProperty,A=R.toString,x=j.Symbol,N=R.propertyIsEnumerable,k=x?x.isConcatSpreadable:void 0,D=Math.max,P=Array.isArray,L=function(n,l){return l=D(void 0===l?n.length-1:l,0),function(){for(var t=arguments,u=-1,r=D(t.length-l,0),o=Array(r);++u<r;)o[u]=t[l+u];u=-1;for(var i=Array(l+1);++u<l;)i[u]=t[u];return i[l]=o,function(n,l,e){switch(e.length){case 0:return n.call(l);case 1:return n.call(l,e[0]);case 2:return n.call(l,e[0],e[1]);case 3:return n.call(l,e[0],e[1],e[2])}return n.apply(l,e)}(n,this,i)}}(function(n,l){return null==n?{}:function(n,l){return function(n,l,e){for(var t=-1,u=l.length,r={};++t<u;){var o=l[t],i=n[o];e(i,o)&&(r[o]=i)}return r}(n=Object(n),l,function(l,e){return e in n})}(n,function(n,l){for(var e=-1,t=n?n.length:0,u=Array(t);++e<t;)u[e]=l(n[e],e,n);return u}(function r(n,l,e,t,o){var i=-1,s=n.length;for(e||(e=a),o||(o=[]);++i<s;){var c=n[i];0<l&&e(c)?1<l?r(c,l-1,e,t,o):u(o,c):t||(o[o.length]=c)}return o}(l,1),c))});l.exports=L}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(n,l,e){var r=n("./_getNative")(n("./_root"),"DataView");l.exports=r},{"./_getNative":86,"./_root":130}],13:[function(n,l,e){function t(n){var l=-1,e=null==n?0:n.length;for(this.clear();++l<e;){var t=n[l];this.set(t[0],t[1])}}var u=n("./_hashClear"),r=n("./_hashDelete"),o=n("./_hashGet"),i=n("./_hashHas"),s=n("./_hashSet");t.prototype.clear=u,t.prototype.delete=r,t.prototype.get=o,t.prototype.has=i,t.prototype.set=s,l.exports=t},{"./_hashClear":94,"./_hashDelete":95,"./_hashGet":96,"./_hashHas":97,"./_hashSet":98}],14:[function(n,l,e){function t(n){var l=-1,e=null==n?0:n.length;for(this.clear();++l<e;){var t=n[l];this.set(t[0],t[1])}}var u=n("./_listCacheClear"),r=n("./_listCacheDelete"),o=n("./_listCacheGet"),i=n("./_listCacheHas"),s=n("./_listCacheSet");t.prototype.clear=u,t.prototype.delete=r,t.prototype.get=o,t.prototype.has=i,t.prototype.set=s,l.exports=t},{"./_listCacheClear":110,"./_listCacheDelete":111,"./_listCacheGet":112,"./_listCacheHas":113,"./_listCacheSet":114}],15:[function(n,l,e){var r=n("./_getNative")(n("./_root"),"Map");l.exports=r},{"./_getNative":86,"./_root":130}],16:[function(n,l,e){function t(n){var l=-1,e=null==n?0:n.length;for(this.clear();++l<e;){var t=n[l];this.set(t[0],t[1])}}var u=n("./_mapCacheClear"),r=n("./_mapCacheDelete"),o=n("./_mapCacheGet"),i=n("./_mapCacheHas"),s=n("./_mapCacheSet");t.prototype.clear=u,t.prototype.delete=r,t.prototype.get=o,t.prototype.has=i,t.prototype.set=s,l.exports=t},{"./_mapCacheClear":115,"./_mapCacheDelete":116,"./_mapCacheGet":117,"./_mapCacheHas":118,"./_mapCacheSet":119}],17:[function(n,l,e){var r=n("./_getNative")(n("./_root"),"Promise");l.exports=r},{"./_getNative":86,"./_root":130}],18:[function(n,l,e){var r=n("./_getNative")(n("./_root"),"Set");l.exports=r},{"./_getNative":86,"./_root":130}],19:[function(n,l,e){function t(n){var l=this.__data__=new u(n);this.size=l.size}var u=n("./_ListCache"),r=n("./_stackClear"),o=n("./_stackDelete"),i=n("./_stackGet"),s=n("./_stackHas"),a=n("./_stackSet");t.prototype.clear=r,t.prototype.delete=o,t.prototype.get=i,t.prototype.has=s,t.prototype.set=a,l.exports=t},{"./_ListCache":14,"./_stackClear":134,"./_stackDelete":135,"./_stackGet":136,"./_stackHas":137,"./_stackSet":138}],20:[function(n,l,e){var u=n("./_root").Symbol;l.exports=u},{"./_root":130}],21:[function(n,l,e){var u=n("./_root").Uint8Array;l.exports=u},{"./_root":130}
vendor: 5,774 bytes, line 1
1],22:[function(n,l,e){var r=n("./_getNative")(n("./_root"),"WeakMap");l.exports=r},{"./_getNative":86,"./_root":130}],23:[function(n,l,e){l.exports=function(n,l){return n.set(l[0],l[1]),n}},{}],24:[function(n,l,e){l.exports=function(n,l){return n.add(l),n}},{}],25:[function(n,l,e){l.exports=function(n,l,e){switch(e.length){case 0:return n.call(l);case 1:return n.call(l,e[0]);case 2:return n.call(l,e[0],e[1]);case 3:return n.call(l,e[0],e[1],e[2])}return n.apply(l,e)}},{}],26:[function(n,l,e){l.exports=function(n,l){for(var e=-1,t=null==n?0:n.length;++e<t&&!1!==l(n[e],e,n););return n}},{}],27:[function(n,l,e){l.exports=function(n,l){for(var e=-1,t=null==n?0:n.length,u=0,r=[];++e<t;){var o=n[e];l(o,e,n)&&(r[u++]=o)}return r}},{}],28:[function(n,l,e){var u=n("./_baseTimes"),r=n("./isArguments"),o=n("./isArray"),i=n("./isBuffer"),s=n("./_isIndex"),a=n("./isTypedArray"),d=Object.prototype.hasOwnProperty;l.exports=function(n,l){var e=o(n),t=!e&&r(n),c=!e&&!t&&i(n),f=!e&&!t&&!c&&a(n),p=e||t||c||f,h=p?u(n.length,String):[],v=h.length;for(var g in n)!l&&!d.call(n,g)||p&&("length"==g||c&&("offset"==g||"parent"==g)||f&&("buffer"==g||"byteLength"==g||"byteOffset"==g)||s(g,v))||h.push(g);return h}},{"./_baseTimes":56,"./_isIndex":103,"./isArguments":152,"./isArray":153,"./isBuffer":156,"./isTypedArray":164}],29:[function(n,l,e){l.exports=function(n,l){for(var e=-1,t=null==n?0:n.length,u=Array(t);++e<t;)u[e]=l(n[e],e,n);return u}},{}],30:[function(n,l,e){l.exports=function(n,l){for(var e=-1,t=l.length,u=n.length;++e<t;)n[u+e]=l[e];return n}},{}],31:[function(n,l,e){l.exports=function(n,l,e,t){var u=-1,r=null==n?0:n.length;for(t&&r&&(e=n[++u]);++u<r;)e=l(e,n[u],u,n);return e}},{}],32:[function(n,l,e){l.exports=function(n){return n.split("")}},{}],33:[function(n,l,e){var u=n("./_baseAssignValue"),r=n("./eq");l.exports=function(n,l,e){(void 0===e||r(n[l],e))&&(void 0!==e||l in n)||u(n,l,e)}},{"./_baseAssignValue":38,"./eq":149}],34:[function(n,l,e){var u=n("./_baseAssignValue"),r=n("./eq"),i=Object.prototype.hasOwnProperty;l.exports=function(n,l,e){var t=n[l];i.call(n,l)&&r(t,e)&&(void 0!==e||l in n)||u(n,l,e)}},{"./_baseAssignValue":38,"./eq":149}],35:[function(n,l,e){var u=n("./eq");l.exports=function(n,l){for(var e=n.length;e--;)if(u(n[e][0],l))return e;return-1}},{"./eq":149}],36:[function(n,l,e){var u=n("./_copyObject"),r=n("./keys");l.exports=function(n,l){return n&&u(l,r(l),n)}},{"./_copyObject":72,"./keys":165}],37:[function(n,l,e){var u=n("./_copyObject"),r=n("./keysIn");l.exports=function(n,l){return n&&u(l,r(l),n)}},{"./_copyObject":72,"./keysIn":166}],38:[function(n,l,e){var u=n("./_defineProperty");l.exports=function(n,l,e){"__proto__"==l&&u?u(n,l,{configurable:!0,enumerable:!0,value:e,writable:!0}):n[l]=e}},{"./_defineProperty":80}],39:[function(n,l,e){var u=n("./_Stack"),r=n("./_arrayEach"),o=n("./_assignValue"),i=n("./_baseAssign"),s=n("./_baseAssignIn"),a=n("./_cloneBuffer"),c=n("./_copyArray"),d=n("./_copySymbols"),f=n("./_copySymbolsIn"),p=n("./_getAllKeys"),h=n("./_getAllKeysIn"),v=n("./_getTag"),g=n("./_initCloneArray"),m=n("./_initCloneByTag"),_=n("./_initCloneObject"),b=n("./isArray"),y=n("./isBuffer"),E=n("./isObject"),S=n("./keys"),T=1,w=2,O=4,C="[object Arguments]",x="[object Function]",N="[object GeneratorFunction]",P="[object Object]",Q={};Q[C]=Q["[object Array]"]=Q["[object ArrayBuffer]"]=Q["[object DataView]"]=Q["[object Boolean]"]=Q["[object Date]"]=Q["[object Float32Array]"]=Q["[object Float64Array]"]=Q["[object Int8Array]"]=Q["[object Int16Array]"]=Q["[object Int32Array]"]=Q["[object Map]"]=Q["[object Number]"]=Q[P]=Q["[object RegExp]"]=Q["[object Set]"]=Q["[object String]"]=Q["[object Symbol]"]=Q["[object Uint8Array]"]=Q["[object Uint8ClampedArray]"]=Q["[object Uint16Array]"]=Q["[object Uint32Array]"]=!0,Q["[object Error]"]=Q[x]=Q["[object WeakMap]"]=!1,l.exports=function t(n,l,e,j,R,I){var A,k=l&T,D=l&w,L=l&O;if(e&&(A=R?e(n,j,R,I):e(n)),void 0!==A)return A;if(!E(n))return n;var M=b(n);if(M){if(A=g(n),!k)return c(n,A)}else{var F=v(n),U=F==x||F==N;if(y(n))return a(n,k);if(F==P||F==C||U&&!R){if(A=D||U?{}:_(n),!k)return D?f(n,s(A,n)):d(n,i(A,n))}else{if(!Q[F])return R?n:{};A=m(n,F,t,k)}}I||(I=new u);var V=I.get(n);if(V)return V;I.set(n,A);var B=L?D?h:p:D?keysIn:S,H=M?void 0:B(n);return r(H||n,function(u,r){H&&(u=n[r=u]),o(A,r,t(u,l,e,r,n,I))}),A}},{"./_Stack":19,"./_arrayEach":26,"./_assignValue":34,"./_baseAssign":36,"./_baseAssignIn":37,"./_cloneBuffer":64,"./_copyArray":71,"./_copySymbols":73,"./_copySymbolsIn":74,"./_getAllKeys":83,"./_getAllKeysIn":84,"./_getTag":91,"./_initCloneArray":99,"./_initCloneByTag":100,"./_initCloneObject":101,"./isArray":153,"./isBuffer":156,"./isObject":159,"./keys":165}],40:[function(n,l,e){var t=n("./isObject"),u=Object.create,r=function(){function n(){}return function(l){if(!t(l))return{};if(u)return u(l);n.prototype=l;var e=new n;return n.prototype=void 0,e}}();l.exports=r},{"./isObject":159}],41:[function(n,l,e){var u=n("./_arrayPush"),r=n("./_isFlattenable");l.exports=function t(n,l,e,o,i){var s=-1,a=n.length;for(e||(e=r),i||(i=[]);++s<a;){var c=n[s];0<l&&e(c)?1<l?t(c,l-1,e,o,i):u(i,c):o||(i[i.length]=c)}return i}},{"./_arrayPush":30,"./_isFlattenable":102}],42:[function(n,l,e){var u=n("./_createBaseFor")();l.exports=u},{"./_createBaseFor":77}],43:[function(n,l,e){var u=n("./_castPath"),r=n("./_toKey");l.exports=function(n,l){for(var e=0,t=(l=u(l,n)).length;null!=n&&e<t;)n=n[r(l[e++])];return e&&e==t?n:void 0}},{"./_castPath":61,"./_toKey":141}],44:[function(n,l,e){var u=n("./_arrayPush"),r=n("./isArray");l.exports=function(n,l,e){var t=l(n);return r(n)?t:u(t,e(n))}},{"./_arrayPush":30,"./isArray":153}],45:[function(n,l,e){var u=n("./_Symbol"),r=n("./_getRawTag"),o=n("./_objectToString"),a=u?u.toStringTag:void 0;
1l.exports=function(n){return null==n?void 0===n?"[object Undefined]":"[object Null]":a&&a in Object(n)?r(n):o(n)}},{"./_Symbol":20,"./_getRawTag":88,"./_objectToString":126}],46:[function(n,l,e){var u=n("./_baseGetTag"),r=n("./isObjectLike");l.exports=function(n){return r(n)&&"[object Arguments]"==u(n)}},{"./_baseGetTag":45,"./isObjectLike":160}],47:[function(n,l,e){var u=n("./isFunction"),r=n("./_isMasked"),o=n("./isObject"),i=n("./_toSource"),a=/^\[object .+?Constructor\]$/,c=Function.prototype,d=Object.prototype,f=c.toString,p=d.hasOwnProperty,h=RegExp("^"+f.call(p).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");l.exports=function(n){return!(!o(n)||r(n))&&(u(n)?h:a).test(i(n))}},{"./_isMasked":107,"./_toSource":142,"./isFunction":157,"./isObject":159}],48:[function(n,l,e){var u=n("./_baseGetTag"),r=n("./isLength"),o=n("./isObjectLike"),x={};x["[object Float32Array]"]=x["[object Float64Array]"]=x["[object Int8Array]"]=x["[object Int16Array]"]=x["[object Int32Array]"]=x["[object Uint8Array]"]=x["[object Uint8ClampedArray]"]=x["[object Uint16Array]"]=x["[object Uint32Array]"]=!0,x["[object Arguments]"]=x["[object Array]"]=x["[object ArrayBuffer]"]=x["[object Boolean]"]=x["[object DataView]"]=x["[object Date]"]=x["[object Error]"]=x["[object Function]"]=x["[object Map]"]=x["[object Number]"]=x["[object Object]"]=x["[object RegExp]"]=x["[object Set]"]=x["[object String]"]=x["[object WeakMap]"]=!1,l.exports=function(n){return o(n)&&r(n.length)&&!!x[u(n)]}},{"./_baseGetTag":45,"./isLength":158,"./isObjectLike":160}],49:[function(n,l,e){var u=n("./_isPrototype"),r=n("./_nativeKeys"),i=Object.prototype.hasOwnProperty;l.exports=function(n){if(!u(n))return r(n);var l=[];for(var e in Object(n))i.call(n,e)&&"constructor"!=e&&l.push(e);return l}},{"./_isPrototype":108,"./_nativeKeys":123}],50:[function(n,l,e){var u=n("./isObject"),r=n("./_isPrototype"),o=n("./_nativeKeysIn"),s=Object.prototype.hasOwnProperty;l.exports=function(n){if(!u(n))return o(n);var l=r(n),e=[];for(var t in n)("constructor"!=t||!l&&s.call(n,t))&&e.push(t);return e}},{"./_isPrototype":108,"./_nativeKeysIn":124,"./isObject":159}],51:[function(n,l,e){var u=n("./_Stack"),r=n("./_assignMergeValue"),o=n("./_baseFor"),i=n("./_baseMergeDeep"),s=n("./isObject"),a=n("./keysIn");l.exports=function t(n,l,e,c,d){n!==l&&o(l,function(o,a){if(s(o))d||(d=new u),i(n,l,a,e,t,c,d);else{var f=c?c(n[a],o,a+"",n,l,d):void 0;void 0===f&&(f=o),r(n,a,f)}},a)}},{"./_Stack":19,"./_assignMergeValue":33,"./_baseFor":42,"./_baseMergeDeep":52,"./isObject":159,"./keysIn":166}],52:[function(n,l,e){var u=n("./_assignMergeValue"),r=n("./_cloneBuffer"),o=n("./_cloneTypedArray"),i=n("./_copyArray"),s=n("./_initCloneObject"),a=n("./isArguments"),c=n("./isArray"),d=n("./isArrayLikeObject"),f=n("./isBuffer"),p=n("./isFunction"),h=n("./isObject"),v=n("./isPlainObject"),g=n("./isTypedArray"),m=n("./toPlainObject");l.exports=function(n,l,e,t,_,b,y){var E=n[e],S=l[e],T=y.get(S);if(T)u(n,e,T);else{var w=b?b(E,S,e+"",n,l,y):void 0,O=void 0===w;if(O){var C=c(S),j=!C&&f(S),R=!C&&!j&&g(S);w=S,C||j||R?w=c(E)?E:d(E)?i(E):j?r(S,!(O=!1)):R?o(S,!(O=!1)):[]:v(S)||a(S)?a(w=E)?w=m(E):(!h(E)||t&&p(E))&&(w=s(S)):O=!1}O&&(y.set(S,w),_(w,S,t,b,y),y.delete(S)),u(n,e,w)}}},{"./_assignMergeValue":33,"./_cloneBuffer":64,"./_cloneTypedArray":70,"./_copyArray":71,"./_initCloneObject":101,"./isArguments":152,"./isArray":153,"./isArrayLikeObject":155,"./isBuffer":156,"./isFunction":157,"./isObject":159,"./isPlainObject":161,"./isTypedArray":164,"./toPlainObject":178}],53:[function(n,l,e){var u=n("./identity"),r=n("./_overRest"),o=n("./_setToString");l.exports=function(n,l){return o(r(n,l,u),n+"")}},{"./_overRest":128,"./_setToString":132,"./identity":151}],54:[function(n,l,e){var t=n("./constant"),u=n("./_defineProperty"),r=n("./identity"),o=u?function(n,l){return u(n,"toString",{configurable:!0,enumerable:!1,value:t(l),writable:!0})}:r;l.exports=o},{"./_defineProperty":80,"./constant":148,"./identity":151}],55:[function(n,l,e){l.exports=function(n,l,e){var t=-1,u=n.length;l<0&&(l=u<-l?0:u+l),(e=u<e?u:e)<0&&(e+=u),u=e<l?0:e-l>>>0,l>>>=0;for(var r=Array(u);++t<u;)r[t]=n[t+l];return r}},{}],56:[function(n,l,e){l.exports=function(n,l){for(var e=-1,t=Array(n);++e<n;)t[e]=l(e);return t}},{}],57:[function(n,l,e){var u=n("./_Symbol"),r=n("./_arrayMap"),o=n("./isArray"),i=n("./isSymbol"),s=1/0,a=u?u.prototype:void 0,c=a?a.toString:void 0;l.exports=function t(n){if("string"==typeof n)return n;if(o(n))return r(n,t)+"";if(i(n))return c?c.call(n):"";var l=n+"";return"0"==l&&1/n==-s?"-0":l}},{"./_Symbol":20,"./_arrayMap":29,"./isArray":153,"./isSymbol":163}],58:[function(n,l,e){l.exports=function(n){return function(l){return n(l)}}},{}],59:[function(n,l,e){var u=n("./_castPath"),r=n("./last"),o=n("./_parent"),i=n("./_toKey");l.exports=function(n,l){return l=u(l,n),null==(n=o(n,l))||delete n[i(r(l))]}},{"./_castPath":61,"./_parent":129,"./_toKey":141,"./last":167}],60:[function(n,l,e){var u=n("./_arrayMap");l.exports=function(n,l){return u(l,function(l){return n[l]})}},{"./_arrayMap":29}],61:[function(n,l,e){var u=n("./isArray"),r=n("./_isKey"),o=n("./_stringToPath"),i=n("./toString");l.exports=function(n,l){return u(n)?n:r(n,l)?[n]:o(i(n))}},{"./_isKey":105,"./_stringToPath":140,"./isArray":153,"./toString":179}],62:[function(n,l,e){var u=n("./_baseSlice");l.exports=function(n,l,e){var t=n.length;return e=void 0===e?t:e,!l&&t<=e?n:u(n,l,e)}},{"./_baseSlice":55}],63:[function(n,l,e){var u=n("./_Uint8Array");l.exports=function(n){var l=new n.constructor(n.byteLength);return new u(l).set(new u(n)),l}},{"./_Uint8Array":21}],64:[function(n,l,e){var u=n("./_root"),r="object"==typeof e&&e&&!e.nodeType&&e,o=r&&"object"==typeof l&&l&&!l.nodeType&&l,s=o&&o.exports===r?u.Buffer:void 0,a=s?s.allocUnsafe:void 0;l.exports=function(n,l){if(l)return n.slice();var e=n.length,t=a?a(e):new n.constructor(e);return n.copy(t),t}},{"./_root":130}],65:[function(n,l,e){var u=n("./_cloneArrayBuffer");l.exports=function(n,l){var e=l?u(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}},{"./_cloneArrayBuffer":63}],66:[function(n,l,e){var u=n("./_addMapEntry"),r=n("./_arrayReduce"),o=n("./_mapToArray");l.exports=function(n,l,e){var t=l?e(o(n),1):o(n);return r(t,u,new n.constructor)}},{"./_addMapEntry":23,"./_arrayReduce":31,"./_mapToArray":120}],67:[function(n,l,e){var u=/\w*$/;l.exports=function(n){var l=new n.constructor(n.source,u.exec(n));return l.lastIndex=n.lastIndex,l}},{}],68:[function(n,l,e){var u=n("./_addSetEntry"),r=n("./_arrayReduce"),o=n("./_setToArray");l.exports=function(n,l,e){var t=l?e(o(n),1):o(n);return r(t,u,new n.constructor)}},{"./_addSetEntry":24,"./_arrayReduce":31,"./_setToArray":131}],69:[function(n,l,e){var u=n("./_Symbol"),r=u?u.prototype:void 0,o=r?r.valueOf:void 0;l.exports=function(n){return o?Object(o.call(n)):{}}},{"./_Symbol":20}],70:[function(n,l,e){var u=n("./_cloneArrayBuffer");l.exports=function(n,l){var e=l?u(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.length)}},{"./_cloneArrayBuffer":63}],71:[function(n,l,e){l.exports=function(n,l){var e=-1,t=n.length;for(l||(l=Array(t));++e<t;)l[e]=n[e];return l}},{}],72:[function(n,l,e){var u=n("./_assignValue"),r=n("./_baseAssignValue");l.exports=function(n,l,e,t){var o=!e;e||(e={});for(var i=-1,s=l.length;++i<s;){var a=l[i],c=t?t(e[a],n[a],a,e,n):void 0;void 0===c&&(c=n[a]),o?r(e,a,c):u(e,a,c)}return e}},{"./_assignValue":34,"./_baseAssignValue":38}],73:[function(n,l,e){var u=n("./_copyObject"),r=n("./_getSymbols");l.exports=function(n,l){return u(n,r(n),l)}},{"./_copyObject":72,"./_getSymbols":89}],74:[function(n,l,e){var u=n("./_copyObject"),r=n("./_getSymbolsIn");l.exports=function(n,l){return u(n,r(n),l)}},{"./_copyObject":72,"./_getSymbolsIn":90}],75:[function(n,l,e){var u=n("./_root")["__core-js_shared__"];l.exports=u},{"./_root":130}],76:[function(n,l,e){var u=n("./_baseRest"),r=n("./_isIterateeCall");l.exports=function(n){return u(function(l,e){var t=-1,u=e.length,o=1<u?e[u-1]:void 0,i=2<u?e[2]:void 0;for(o=3<n.length&&"function"==typeof o?(u--,o):void 0,i&&r(e[0],e[1],i)&&(o=u<3?void 0:o,u=1),l=Object(l);++t<u;){var s=e[t];s&&n(l,s,t,o)}return l})}},{"./_baseRest":53,"./_isIterateeCall":104}],77:[function(n,l,e){l.exports=function(n){return function(l,e,t){for(var u=-1,r=Object(l),o=t(l),i=o.length;i--;){var s=o[n?i:++u];if(!1===e(r[s],s,r))break}return l}}},{}],78:[function(n,l,e){var u=n("./_castSlice"),r=n("./_hasUnicode"),o=n("./_stringToArray"),i=n("./toString");l.exports=function(n){return function(l){l=i(l);var e=r(l)?o(l):void 0,t=e?e[0]:l.charAt(0),s=e?u(e,1).join(""):l.slice(1);return t[n]()+s}}},{"./_castSlice":62,"./_hasUnicode":93,"./_stringToArray":139,"./toString":179}],79:[function(n,l,e){var u=n("./isPlainObject");l.exports=function(n){return u(n)?void 0:n}},{"./isPlainObject":161}],80:[function(n,l,e){var t=n("./_getNative"),u=function(){try{var n=t(Object,"defineProperty");return n({},"",{}),n}catch(l){}}();l.exports=u},{"./_getNative":86}],81:[function(n,l,e){var u=n("./flatten"),r=n("./_overRest"),o=n("./_setToString");l.exports=function(n){return o(r(n,void 0,u),n+"")}},{"./_overRest":128,"./_setToString":132,"./flatten":150}],82:[function(n,l,e){(function(n){var e="object"==typeof n&&n&&n.Object===Object&&n;l.exports=e}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],83:[function(n,l,e){var u=n("./_baseGetAllKeys"),r=n("./_getSymbols"),o=n("./keys");l.exports=function(n){return u(n,o,r)}},{"./_baseGetAllKeys":44,"./_getSymbols":89,"./keys":165}],84:[function(n,l,e){var u=n("./_baseGetAllKeys"),r=n("./_getSymbolsIn"),o=n("./keysIn");l.exports=function(n){return u(n,o,r)}},{"./_baseGetAllKeys":44,"./_getSymbolsIn":90,"./keysIn":166}],85:[function(n,l,e){var u=n("./_isKeyable");l.exports=function(n,l){var e=n.__data__;return u(l)?e["string"==typeof l?"string":"hash"]:e.map}},{"./_isKeyable":106}],86:[function(n,l,e){var u=n("./_baseIsNative"),r=n("./_getValue");l.exports=function(n,l){var e=r(n,l);return u(e)?e:void 0}},{"./_baseIsNative":47,"./_getValue":92}],87:[function(n,l,e){var u=n("./_overArg")(Object.getPrototypeOf,Object);l.exports=u},{"./_overArg":127}],88:[function(n,l,e){var u=n("./_Symbol"),r=Object.prototype,o=r.hasOwnProperty,i=r.toString,s=u?u.toStringTag:void 0;l.exports=function(n){var l=o.call(n,s),e=n[s];try{var t=!(n[s]=void 0)}catch(u){}var r=i.call(n);return t&&(l?n[s]=e:delete n[s]),r}},{"./_Symbol":20}],89:[function(n,l,e){var t=n("./_arrayFilter"),u=n("./stubArray"),o=Object.prototype.propertyIsEnumerable,i=Object.getOwnPropertySymbols,s=i?function(n){return null==n?[]:(n=Object(n),t(i(n),function(l){return o.call(n,l)}))}:u;l.exports=s},{"./_arrayFilter":27,"./stubArray":172}],90:[function(n,l,e){var t=n("./_arrayPush"),u=n("./_getPrototype"),r=n("./_getSymbols"),o=n("./stubArray"),s=Object.getOwnPropertySymbols?function(n){for(var l=[];n;)t(l,r(n)),n=u(n);return l}:o;l.exports=s},{"./_arrayPush":30,"./_getPrototype":87,"./_getSymbols":89,"./stubArray":172}],91:[function(n,l,e){var t=n("./_DataView"),u=n("./_Map"),r=n("./_Promise"),o=n("./_Set"),i=n("./_WeakMap"),s=n("./_baseGetTag"),a=n("./_toSource"),c="[object Map]",f="[object Promise]",p="[object Set]",h="[object WeakMap]",v="[object DataView]",g=a(t),m=a(u),_=a(r),b=a(o),y=a(i),E=s;(t&&E(new t(new ArrayBuffer(1)))!=v||u&&E(new u)!=c||r&&E(r.resolve())!=f||o&&E(new o)!=p||i&&E(new i)!=h)&&
vendor: 4,148 bytes, line 1
1(E=function(n){var l=s(n),e="[object Object]"==l?n.constructor:void 0,t=e?a(e):"";if(t)switch(t){case g:return v;case m:return c;case _:return f;case b:return p;case y:return h}return l}),l.exports=E},{"./_DataView":12,"./_Map":15,"./_Promise":17,"./_Set":18,"./_WeakMap":22,"./_baseGetTag":45,"./_toSource":142}],92:[function(n,l,e){l.exports=function(n,l){return null==n?void 0:n[l]}},{}],93:[function(n,l,e){var d=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");l.exports=function(n){return d.test(n)}},{}],94:[function(n,l,e){var u=n("./_nativeCreate");l.exports=function(){this.__data__=u?u(null):{},this.size=0}},{"./_nativeCreate":122}],95:[function(n,l,e){l.exports=function(n){var l=this.has(n)&&delete this.__data__[n];return this.size-=l?1:0,l}},{}],96:[function(n,l,e){var u=n("./_nativeCreate"),i=Object.prototype.hasOwnProperty;l.exports=function(n){var l=this.__data__;if(u){var e=l[n];return"__lodash_hash_undefined__"===e?void 0:e}return i.call(l,n)?l[n]:void 0}},{"./_nativeCreate":122}],97:[function(n,l,e){var u=n("./_nativeCreate"),o=Object.prototype.hasOwnProperty;l.exports=function(n){var l=this.__data__;return u?void 0!==l[n]:o.call(l,n)}},{"./_nativeCreate":122}],98:[function(n,l,e){var u=n("./_nativeCreate");l.exports=function(n,l){var e=this.__data__;return this.size+=this.has(n)?0:1,e[n]=u&&void 0===l?"__lodash_hash_undefined__":l,this}},{"./_nativeCreate":122}],99:[function(n,l,e){var r=Object.prototype.hasOwnProperty;l.exports=function(n){var l=n.length,e=n.constructor(l);return l&&"string"==typeof n[0]&&r.call(n,"index")&&(e.index=n.index,e.input=n.input),e}},{}],100:[function(n,l,e){var u=n("./_cloneArrayBuffer"),r=n("./_cloneDataView"),o=n("./_cloneMap"),i=n("./_cloneRegExp"),s=n("./_cloneSet"),a=n("./_cloneSymbol"),c=n("./_cloneTypedArray");l.exports=function(n,l,e,t){var A=n.constructor;switch(l){case"[object ArrayBuffer]":return u(n);case"[object Boolean]":case"[object Date]":return new A(+n);case"[object DataView]":return r(n,t);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return c(n,t);case"[object Map]":return o(n,t,e);case"[object Number]":case"[object String]":return new A(n);case"[object RegExp]":return i(n);case"[object Set]":return s(n,t,e);case"[object Symbol]":return a(n)}}},{"./_cloneArrayBuffer":63,"./_cloneDataView":65,"./_cloneMap":66,"./_cloneRegExp":67,"./_cloneSet":68,"./_cloneSymbol":69,"./_cloneTypedArray":70}],101:[function(n,l,e){var u=n("./_baseCreate"),r=n("./_getPrototype"),o=n("./_isPrototype");l.exports=function(n){return"function"!=typeof n.constructor||o(n)?{}:u(r(n))}},{"./_baseCreate":40,"./_getPrototype":87,"./_isPrototype":108}],102:[function(n,l,e){var u=n("./_Symbol"),r=n("./isArguments"),o=n("./isArray"),i=u?u.isConcatSpreadable:void 0;l.exports=function(n){return o(n)||r(n)||!!(i&&n&&n[i])}},{"./_Symbol":20,"./isArguments":152,"./isArray":153}],103:[function(n,l,e){var r=/^(?:0|[1-9]\d*)$/;l.exports=function(n,l){return!!(l=null==l?9007199254740991:l)&&("number"==typeof n||r.test(n))&&-1<n&&n%1==0&&n<l}},{}],104:[function(n,l,e){var u=n("./eq"),r=n("./isArrayLike"),o=n("./_isIndex"),i=n("./isObject");l.exports=function(n,l,e){if(!i(e))return!1;var t=typeof l;return!!("number"==t?r(e)&&o(l,e.length):"string"==t&&l in e)&&u(e[l],n)}},{"./_isIndex":103,"./eq":149,"./isArrayLike":154,"./isObject":159}],105:[function(n,l,e){var u=n("./isArray"),r=n("./isSymbol"),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,i=/^\w*$/;l.exports=function(n,l){if(u(n))return!1;var e=typeof n;return!("number"!=e&&"symbol"!=e&&"boolean"!=e&&null!=n&&!r(n))||i.test(n)||!o.test(n)||null!=l&&n in Object(l)}},{"./isArray":153,"./isSymbol":163}],106:[function(n,l,e){l.exports=function(n){var l=typeof n;return"string"==l||"number"==l||"symbol"==l||"boolean"==l?"__proto__"!==n:null===n}},{}],107:[function(n,l,e){var u=n("./_coreJsData"),r=function(){var n=/[^.]+$/.exec(u&&u.keys&&u.keys.IE_PROTO||"");
1return n?"Symbol(src)_1."+n:""}();l.exports=function(n){return!!r&&r in n}},{"./_coreJsData":75}],108:[function(n,l,e){var u=Object.prototype;l.exports=function(n){var l=n&&n.constructor;return n===("function"==typeof l&&l.prototype||u)}},{}],109:[function(n,l,e){l.exports=function(n){for(var l,e=[];!(l=n.next()).done;)e.push(l.value);return e}},{}],110:[function(n,l,e){l.exports=function(){this.__data__=[],this.size=0}},{}],111:[function(n,l,e){var u=n("./_assocIndexOf"),o=Array.prototype.splice;l.exports=function(n){var l=this.__data__,e=u(l,n);return!(e<0||(e==l.length-1?l.pop():o.call(l,e,1),--this.size,0))}},{"./_assocIndexOf":35}],112:[function(n,l,e){var u=n("./_assocIndexOf");l.exports=function(n){var l=this.__data__,e=u(l,n);return e<0?void 0:l[e][1]}},{"./_assocIndexOf":35}],113:[function(n,l,e){var u=n("./_assocIndexOf");l.exports=function(n){return-1<u(this.__data__,n)}},{"./_assocIndexOf":35}],114:[function(n,l,e){var u=n("./_assocIndexOf");l.exports=function(n,l){var e=this.__data__,t=u(e,n);return t<0?(++this.size,e.push([n,l])):e[t][1]=l,this}},{"./_assocIndexOf":35}],115:[function(n,l,e){var u=n("./_Hash"),r=n("./_ListCache"),o=n("./_Map");l.exports=function(){this.size=0,this.__data__={hash:new u,map:new(o||r),string:new u}}},{"./_Hash":13,"./_ListCache":14,"./_Map":15}],116:[function(n,l,e){var u=n("./_getMapData");l.exports=function(n){var l=u(this,n).delete(n);return this.size-=l?1:0,l}},{"./_getMapData":85}],117:[function(n,l,e){var u=n("./_getMapData");l.exports=function(n){return u(this,n).get(n)}},{"./_getMapData":85}],118:[function(n,l,e){var u=n("./_getMapData");l.exports=function(n){return u(this,n).has(n)}},{"./_getMapData":85}],119:[function(n,l,e){var u=n("./_getMapData");l.exports=function(n,l){var e=u(this,n),t=e.size;return e.set(n,l),this.size+=e.size==t?0:1,this}},{"./_getMapData":85}],120:[function(n,l,e){l.exports=function(n){var l=-1,e=Array(n.size);return n.forEach(function(n,t){e[++l]=[t,n]}),e}},{}],121:[function(n,l,e){var u=n("./memoize");l.exports=function(n){var l=u(n,function(n){return 500===e.size&&e.clear(),n}),e=l.cache;return l}},{"./memoize":168}],122:[function(n,l,e){var u=n("./_getNative")(Object,"create");l.exports=u},{"./_getNative":86}],123:[function(n,l,e){var u=n("./_overArg")(Object.keys,Object);l.exports=u},{"./_overArg":127}],124:[function(n,l,e){l.exports=function(n){var l=[];if(null!=n)for(var e in Object(n))l.push(e);return l}},{}],125:[function(n,l,e){var t=n("./_freeGlobal"),u="object"==typeof e&&e&&!e.nodeType&&e,r=u&&"object"==typeof l&&l&&!l.nodeType&&l,i=r&&r.exports===u&&t.process,s=function(){try{return i&&i.binding&&i.binding("util")}catch(n){}}();l.exports=s},{"./_freeGlobal":82}],126:[function(n,l,e){var r=Object.prototype.toString;l.exports=function(n){return r.call(n)}},{}],127:[function(n,l,e){l.exports=function(n,l){return function(e){return n(l(e))}}},{}],128:[function(n,l,e){var u=n("./_apply"),r=Math.max;l.exports=function(n,l,e){return l=r(void 0===l?n.length-1:l,0),function(){for(var t=arguments,o=-1,i=r(t.length-l,0),s=Array(i);++o<i;)s[o]=t[l+o];o=-1;for(var a=Array(l+1);++o<l;)a[o]=t[o];return a[l]=e(s),u(n,this,a)}}},{"./_apply":25}],129:[function(n,l,e){var u=n("./_baseGet"),r=n("./_baseSlice");l.exports=function(n,l){return l.length<2?n:u(n,r(l,0,-1))}},{"./_baseGet":43,"./_baseSlice":55}],130:[function(n,l,e){var t=n("./_freeGlobal"),u="object"==typeof self&&self&&self.Object===Object&&self,r=t||u||Function("return this")();l.exports=r},{"./_freeGlobal":82}],131:[function(n,l,e){l.exports=function(n){var l=-1,e=Array(n.size);return n.forEach(function(n){e[++l]=n}),e}},{}],132:[function(n,l,e){var t=n("./_baseSetToString"),r=n("./_shortOut")(t);l.exports=r},{"./_baseSetToString":54,"./_shortOut":133}],133:[function(n,l,e){var o=Date.now;l.exports=function(n){var l=0,e=0;return function(){var t=o(),i=16-(t-e);if(e=t,0<i){if(800<=++l)return arguments[0]}else l=0;return n.apply(void 0,arguments)}}},{}],134:[function(n,l,e){var u=n("./_ListCache");l.exports=function(){this.__data__=new u,this.size=0}},{"./_ListCache":14}],135:[function(n,l,e){l.exports=function(n){var l=this.__data__,e=l.delete(n);return this.size=l.size,e}},{}],136:[function(n,l,e){l.exports=function(n){return this.__data__.get(n)}},{}],137:[function(n,l,e){l.exports=function(n){return this.__data__.has(n)}},{}],138:[function(n,l,e){var u=n("./_ListCache"),r=n("./_Map"),o=n("./_MapCache");l.exports=function(n,l){var e=this.__data__;if(e instanceof u){var t=e.__data__;if(!r||t.length<199)return t.push([n,l]),this.size=++e.size,this;e=this.__data__=new o(t)}return e.set(n,l),this.size=e.size,this}},{"./_ListCache":14,"./_Map":15,"./_MapCache":16}],139:[function(n,l,e){var u=n("./_asciiToArray"),r=n("./_hasUnicode"),o=n("./_unicodeToArray");l.exports=function(n){return r(n)?o(n):u(n)}},{"./_asciiToArray":32,"./_hasUnicode":93,"./_unicodeToArray":143}],140:[function(n,l,e){var t=n("./_memoizeCapped"),u=/^\./,r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,i=t(function(n){var l=[];return u.test(n)&&l.push(""),n.replace(r,function(n,e,t,u){l.push(t?u.replace(o,"$1"):e||n)}),l});l.exports=i},{"./_memoizeCapped":121}],141:[function(n,l,e){var u=n("./isSymbol");l.exports=function(n){if("string"==typeof n||u(n))return n;var l=n+"";return"0"==l&&1/n==-1/0?"-0":l}},{"./isSymbol":163}],142:[function(n,l,e){var r=Function.prototype.toString;l.exports=function(n){if(null!=n){try{return r.call(n)}catch(l){}try{return n+""}catch(l){}}return""}},{}],143:[function(n,l,e){var u="\\ud800-\\udfff",c="["+u+"]",d="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",f="\\ud83c[\\udffb-\\udfff]",h="[^"+u+"]",v="(?:\\ud83c[\\udde6-\\uddff]){2}",g="[\\ud800-\\udbff][\\udc00-\\udfff]",_="(?:"+d+"|"+f+")"+"?",b="[\\ufe0e\\ufe0f]?",E=b+_+("(?:\\u200d(?:"+[h,v,g].join("|")+")"+b+_+")*"),S="(?:"+[h+d+"?",d,v,g,c].join("|")+")",T=RegExp(f+"
1(?="+f+")|"+S+E,"g");l.exports=function(n){return n.match(T)||[]}},{}],144:[function(n,l,e){var t=n("./_assignValue"),u=n("./_copyObject"),r=n("./_createAssigner"),o=n("./isArrayLike"),i=n("./_isPrototype"),s=n("./keys"),c=Object.prototype.hasOwnProperty,d=r(function(n,l){if(i(l)||o(l))u(l,s(l),n);else for(var e in l)c.call(l,e)&&t(n,e,l[e])});l.exports=d},{"./_assignValue":34,"./_copyObject":72,"./_createAssigner":76,"./_isPrototype":108,"./isArrayLike":154,"./keys":165}],145:[function(n,l,e){var u=n("./toInteger");l.exports=function(n,l){var e;if("function"!=typeof l)throw new TypeError("Expected a function");return n=u(n),function(){return 0<--n&&(e=l.apply(this,arguments)),n<=1&&(l=void 0),e}}},{"./toInteger":176}],146:[function(n,l,e){var u=n("./toString"),r=n("./upperFirst");l.exports=function(n){return r(u(n).toLowerCase())}},{"./toString":179,"./upperFirst":180}],147:[function(n,l,e){var u=n("./_baseClone");l.exports=function(n){return u(n,4)}},{"./_baseClone":39}],148:[function(n,l,e){l.exports=function(n){return function(){return n}}},{}],149:[function(n,l,e){l.exports=function(n,l){return n===l||n!=n&&l!=l}},{}],150:[function(n,l,e){var u=n("./_baseFlatten");l.exports=function(n){return null!=n&&n.length?u(n,1):[]}},{"./_baseFlatten":41}],151:[function(n,l,e){l.exports=function(n){return n}},{}],152:[function(n,l,e){var t=n("./_baseIsArguments"),u=n("./isObjectLike"),r=Object.prototype,o=r.hasOwnProperty,i=r.propertyIsEnumerable,s=t(function(){return arguments}())?t:function(n){return u(n)&&o.call(n,"callee")&&!i.call(n,"callee")};l.exports=s},{"./_baseIsArguments":46,"./isObjectLike":160}],153:[function(n,l,e){var t=Array.isArray;l.exports=t},{}],154:[function(n,l,e){var u=n("./isFunction"),r=n("./isLength");l.exports=function(n){return null!=n&&r(n.length)&&!u(n)}},{"./isFunction":157,"./isLength":158}],155:[function(n,l,e){var u=n("./isArrayLike"),r=n("./isObjectLike");l.exports=function(n){return r(n)&&u(n)}},{"./isArrayLike":154,"./isObjectLike":160}],156:[function(n,l,e){var t=n("./_root"),u=n("./stubFalse"),r="object"==typeof e&&e&&!e.nodeType&&e,o=r&&"object"==typeof l&&l&&!l.nodeType&&l,s=o&&o.exports===r?t.Buffer:void 0,c=(s?s.isBuffer:void 0)||u;l.exports=c},{"./_root":130,"./stubFalse":173}],157:[function(n,l,e){var u=n("./_baseGetTag"),r=n("./isObject");l.exports=function(n){if(!r(n))return!1;var l=u(n);return"[object Function]"==l||"[object GeneratorFunction]"==l||"[object AsyncFunction]"==l||"[object Proxy]"==l}},{"./_baseGetTag":45,"./isObject":159}],158:[function(n,l,e){l.exports=function(n){return"number"==typeof n&&-1<n&&n%1==0&&n<=9007199254740991}},{}],159:[function(n,l,e){l.exports=function(n){var l=typeof n;return null!=n&&("object"==l||"function"==l)}},{}],160:[function(n,l,e){l.exports=function(n){return null!=n&&"object"==typeof n}},{}],161:[function(n,l,e){var u=n("./_baseGetTag"),r=n("./_getPrototype"),o=n("./isObjectLike"),s=Function.prototype,a=Object.prototype,c=s.toString,d=a.hasOwnProperty,f=c.call(Object);l.exports=function(n){if(!o(n)||"[object Object]"!=u(n))return!1;var l=r(n);if(null===l)return!0;var e=d.call(l,"constructor")&&l.constructor;return"function"==typeof e&&e instanceof e&&c.call(e)==f}},{"./_baseGetTag":45,"./_getPrototype":87,"./isObjectLike":160}],162:[function(n,l,e){var u=n("./_baseGetTag"),r=n("./isArray"),o=n("./isObjectLike");l.exports=function(n){return"string"==typeof n||!r(n)&&o(n)&&"[object String]"==u(n)}},{"./_baseGetTag":45,"./isArray":153,"./isObjectLike":160}],163:[function(n,l,e){var u=n("./_baseGetTag"),r=n("./isObjectLike");l.exports=function(n){return"symbol"==typeof n||r(n)&&"[object Symbol]"==u(n)}},{"./_baseGetTag":45,"./isObjectLike":160}],164:[function(n,l,e){var t=n("./_baseIsTypedArray"),u=n("./_baseUnary"),r=n("./_nodeUtil"),o=r&&r.isTypedArray,i=o?u(o):t;l.exports=i},{"./_baseIsTypedArray":48,"./_baseUnary":58,"./_nodeUtil":125}],165:[function(n,l,e){var u=n("./_arrayLikeKeys"),r=n("./_baseKeys"),o=n("./isArrayLike");l.exports=function(n){return o(n)?u(n):r(n)}},{"./_arrayLikeKeys":28,"./_baseKeys":49,"./isArrayLike":154}],166:[function(n,l,e){var u=n("./_arrayLikeKeys"),r=n("./_baseKeysIn"),o=n("./isArrayLike");l.exports=function(n){return o(n)?u(n,!0):r(n)}},{"./_arrayLikeKeys":28,"./_baseKeysIn":50,"./isArrayLike":154}
1],167:[function(n,l,e){l.exports=function(n){var l=null==n?0:n.length;return l?n[l-1]:void 0}},{}],168:[function(n,l,e){function t(n,l){if("function"!=typeof n||null!=l&&"function"!=typeof l)throw new TypeError(r);var e=function(){var t=arguments,u=l?l.apply(this,t):t[0],r=e.cache;if(r.has(u))return r.get(u);var o=n.apply(this,t);return e.cache=r.set(u,o)||r,o};return e.cache=new(t.Cache||u),e}var u=n("./_MapCache"),r="Expected a function";t.Cache=u,l.exports=t},{"./_MapCache":16}],169:[function(n,l,e){var t=n("./_baseMerge"),r=n("./_createAssigner")(function(n,l,e){t(n,l,e)});l.exports=r},{"./_baseMerge":51,"./_createAssigner":76}],170:[function(n,l,e){var t=n("./_arrayMap"),u=n("./_baseClone"),r=n("./_baseUnset"),o=n("./_castPath"),i=n("./_copyObject"),s=n("./_customOmitClone"),a=n("./_flatRest"),c=n("./_getAllKeysIn"),h=a(function(n,l){var e={};if(null==n)return e;var a=!1;l=t(l,function(l){return l=o(l,n),a||(a=1<l.length),l}),i(n,c(n),e),a&&(e=u(e,7,s));for(var h=l.length;h--;)r(e,l[h]);return e});l.exports=h}
1,{"./_arrayMap":29,"./_baseClone":39,"./_baseUnset":59,"./_castPath":61,"./_copyObject":72,"./_customOmitClone":79,"./_flatRest":81,"./_getAllKeysIn":84}],171:[function(n,l,e){var u=n("./before");l.exports=function(n){return u(2,n)}},{"./before":145}],172:[function(n,l,e){l.exports=function(){return[]}},{}],173:[function(n,l,e){l.exports=function(){return!1}},{}],174:[function(n,l,e){var u=n("./_Symbol"),r=n("./_copyArray"),o=n("./_getTag"),i=n("./isArrayLike"),s=n("./isString"),a=n("./_iteratorToArray"),c=n("./_mapToArray"),d=n("./_setToArray"),f=n("./_stringToArray"),p=n("./values"),g=u?u.iterator:void 0;l.exports=function(n){if(!n)return[];if(i(n))return s(n)?f(n):r(n);if(g&&n[g])return a(n[g]());var l=o(n);return("[object Map]"==l?c:"[object Set]"==l?d:p)(n)}},{"./_Symbol":20,"./_copyArray":71,"./_getTag":91,"./_iteratorToArray":109,"./_mapToArray":120,"./_setToArray":131,"./_stringToArray":139,"./isArrayLike":154,"./isString":162,"./values":181}],175:[function(n,l,e){var u=n("./toNumber");l.exports=function(n){return n?(n=u(n))!==1/0&&n!==-1/0?n==n?n:0:17976931348623157e292*(n<0?-1:1):0===n?n:0}},{"./toNumber":177}],176:[function(n,l,e){var u=n("./toFinite");l.exports=function(n){var l=u(n),e=l%1;return l==l?e?l-e:l:0}},{"./toFinite":175}],177:[function(n,l,e){var u=n("./isObject"),r=n("./isSymbol"),o=NaN,i=/^\s+|\s+$/g,s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,c=/^0o[0-7]+$/i,d=parseInt;l.exports=function(n){if("number"==typeof n)return n;if(r(n))return o;if(u(n)){var l="function"==typeof n.valueOf?n.valueOf():n;n=u(l)?l+"":l}if("string"!=typeof n)return 0===n?n:+n;n=n.replace(i,"");var e=a.test(n);return e||c.test(n)?d(n.slice(2),e?2:8):s.test(n)?o:+n}},{"./isObject":159,"./isSymbol":163}],178:[function(n,l,e){var u=n("./_copyObject"),r=n("./keysIn");l.exports=function(n){return u(n,r(n))}},{"./_copyObject":72,"./keysIn":166}],179:[function(n,l,e){var u=n("./_baseToString");l.exports=function(n){return null==n?"":u(n)}},{"./_baseToString":57}],180:[function(n,l,e){var u=n("./_createCaseFirst")("toUpperCase");l.exports=u},{"./_createCaseFirst":78}],181:[function(n,l,e){var u=n("./_baseValues"),r=n("./keys");l.exports=function(n){return null==n?[]:u(n,r(n))}},{"./_baseValues":60,"./keys":165}],182:[function(n,l,e){function t(){throw new Error("setTimeout has not been defined")}function u(){throw new Error("clearTimeout has not been defined")}function r(n){if(d===setTimeout)return setTimeout(n,0);if((d===t||!d)&&setTimeout)return d=setTimeout,setTimeout(n,0);try{return d(n,0)}catch(l){try{return d.call(null,n,0)}catch(l){return d.call(this,n,0)}}}function i(){g&&h&&(g=!1,h.length?v=h.concat(v):m=-1,v.length&&s())}function s(){if(!g){var n=r(i);g=!0;for(var l=v.length;l;){for(h=v,v=[];++m<l;)h&&h[m].run();m=-1,l=v.length}h=null,g=!1,function(n){if(f===clearTimeout)return clearTimeout(n);if((f===u||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(n);try{f(n)}catch(l){try{return f.call(null,n)}catch(l){return f.call(this,n)}}}(n)}}function a(n,l){this.fun=n,this.array=l}function c(){}var d,f,p=l.exports={};!function(){try{d="function"==typeof setTimeout?setTimeout:t}catch(n){d=t}try{f="function"==typeof clearTimeout?clearTimeout:u}catch(n){f=u}}();var h,v=[],g=!1,m=-1;p.nextTick=function(n){var l=new Array(arguments.length-1);if(1<arguments.length)for(var e=1;e<arguments.length;e++)l[e-1]=arguments[e];v.push(new a(n,l)),1!==v.length||g||r(s)},a.prototype.run=function(){this.fun.apply(null,this.array)},p.title="browser",p.browser=!0,p.env={},p.argv=[],p.version="",p.versions={},p.on=c,p.addListener=c,p.once=c,p.off=c,p.removeListener=c,p.removeAllListeners=c,p.emit=c,p.binding=function(n){throw new Error("process.binding is not supported")},p.cwd=function(){return"/"},p.chdir=function(n){throw new Error("process.chdir is not supported")},p.umask=function(){return 0}},{}],183:[function(n,l,e){"use strict";function t(n){this.name="RavenConfigError",this.message=n}(t.prototype=new Error).constructor=t,l.exports=t},{}],184:[function(n,l,e){"use strict";l.exports={wrapMethod:function(n,l,e){var t=n[l],u=n;if(l in n){var r="warn"===l?"warning":l;n[l]=function(){var n=[].slice.call(arguments),l=""+n.join(" ");e&&e(l,{level:r,logger:"console",extra:{arguments:n}}),t&&Function.prototype.apply.call(t,u,n)}}}}},{}],185:[function(n,l,e){(function(e){"use strict";function t(){return+new Date}function u(){for(var n in this._hasJSON=!("object"!=typeof JSON||!JSON.stringify),this._hasDocument=!r(k),this._hasNavigator=!r(D),this._lastCapturedException=null,this._lastData=null,this._lastEventId=null,this._globalServer=null,this._globalKey=null,this._globalProject=null,this._globalContext={},this._globalOptions={logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],crossOrigin:"anonymous",collectWindowErrors:!0,maxMessageLength:0,maxUrlLength:250,stackTraceLimit:50,autoBreadcrumbs:!0,sampleRate:1},this._ignoreOnError=0,this._isRavenInstalled=!1,this._originalErrorStackTraceLimit=Error.stackTraceLimit,this._originalConsole=N.console||{},this._originalConsoleMethods={},this._plugins=[],this._startTime=t(),this._wrappedBuiltIns=[],this._breadcrumbs=[],this._lastCapturedEvent=null,this._keypressTimeout,this._location=N.location,this._lastHref=this._location&&this._location.href,this._resetBackoff(),this._originalConsole)this._originalConsoleMethods[n]=this._originalConsole[n]}function r(n){return void 0===n}function o(n){return"function"==typeof n}function i(n){return"[object String]"===P.toString.call(n)}function s(n){for(var l in n)return!1;return!0}function a(n,l){var e,t;if(r(n.length))for(e in n)f(n,e)&&l.call(null,e,n[e]);else if(t=n.length)for(e=0;e<t;e++)l.call(null,e,n[e])}function c(n,l){return l&&a(l,function(l,e){n[l]=e}),n}function d(n,l){return!l||n.length<=l?n:n.substr(0,l)+"â¦"}function f(n,l){return P.hasOwnProperty.call(n,l)}function p(n){for(var l,e=[],t=0,u=n.length;t<u;t++)i(l=n[t])?e.push(l.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")):l&&l.source&&e.push(l.source);return new RegExp(e.join("|"),"i")}function h(n){var l=[];return a(n,function(n,e){l.push(encodeURIComponent(n)+"="+encodeURIComponent(e))}),l.join("&")}function v(n){var l=n.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!l)return{};var e=l[6]||"",t=l[8]||"";return{protocol:l[2],host:l[4],path:l[5],relative:l[5]+e+t}}function g(){var n=N.crypto||N.msCrypto;if(r(n)||!n.getRandomValues)return"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,function(n){var l=16*Math.random()|0;return("x"===n?l:3&l|8).toString(16)});var l=new Uint16Array(8);n.getRandomValues(l),l[3]=4095&l[3]|16384,l[4]=16383&l[4]|32768;var e=function(n){for(var l=n.toString(16);l.length<4;)l="0"+l;return l};return e(l[0])+e(l[1])+e(l[2])+e(l[3])+e(l[4])+e(l[5])+e(l[6])+e(l[7])}function m(n){for(var l,u=[],r=0,o=0,s=" > ".length;n&&r++<5&&!("html"===(l=_(n))||1<r&&80<=o+u.length*s+l.length);)u.push(l),o+=l.length,n=n.parentNode;return u.reverse().join(" > ")}function _(n){var l,e,t,u,r,o=[];if(!n||!n.tagName)return"";if(o.push(n.tagName.toLowerCase()),n.id&&o.push("#"+n.id),(l=n.className)&&i(l))for(e=l.split(/\s+/),r=0;r<e.length;r++)o.push("."+e[r]);var s=["type","name","title","alt"];for(r=0;r<s.length;r++)t=s[r],(u=n.getAttribute(t))&&o.push("["+t+'="'+u+'"]');return o.join("")}function b(n,l){return!!(!!n^!!l)}function E(n,l){if(b(n,l))return!1;var e=n.frames,t=l.frames;if(e.length!==t.length)return!1;for(var u,r,o=0;o<e.length;o++)if(u=e[o],r=t[o],u.filename!==r.filename||u.lineno!==r.lineno||u.colno!==r.colno||u.function!==r.function)return!1;return!0}function S(n,l,e,t){var u=n[l];n[l]=e(u),t&&t.push([n,l,u])}var T=n("../vendor/TraceKit/tracekit"),w=n("../vendor/json-stringify-safe/stringify"),O=n("./configError"),C=n("./utils"),j=C.isError,R=C.isObject,I=n("./console").wrapMethod,A="source protocol user pass host port path".split(" "),x=/^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/,N="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{},k=N.document,D=N.navigator;u.prototype={VERSION:"3.14.0",debug:!1,TraceKit:T,config:function(n,l){var e=this;if(e._globalServer)return this._logDebug("error","Error: Raven has already been configured"),e;if(!n)return e;var t=e._globalOptions;l&&a(l,function(n,l){"tags"===n||"extra"===n||"user"===n?e._globalContext[n]=l:t[n]=l}),e.setDSN(n),t.ignoreErrors.push(/^Script error\.?$/),t.ignoreErrors.push(/^Javascript error: Script error\.? on line 0$/),t.ignoreErrors=p(t.ignoreErrors),t.ignoreUrls=!!t.ignoreUrls.length&&p(t.ignoreUrls),t.whitelistUrls=!!t.whitelistUrls.length&&p(t.whitelistUrls),t.includePaths=p(t.includePaths),t.maxBreadcrumbs=Math.max(0,Math.min(t.maxBreadcrumbs||100,100));var u={xhr:!0,console:!0,dom:!0,location:!0}
1,r=t.autoBreadcrumbs;return"[object Object]"==={}.toString.call(r)?r=c(u,r):!1!==r&&(r=u),t.autoBreadcrumbs=r,T.collectWindowErrors=!!t.collectWindowErrors,e},install:function(){var n=this;return n.isSetup()&&!n._isRavenInstalled&&(T.report.subscribe(function(){n._handleOnErrorStackInfo.apply(n,arguments)}),n._instrumentTryCatch(),n._globalOptions.autoBreadcrumbs&&n._instrumentBreadcrumbs(),n._drainPlugins(),n._isRavenInstalled=!0),Error.stackTraceLimit=n._globalOptions.stackTraceLimit,this},setDSN:function(n){var l=this,e=l._parseDSN(n),t=e.path.lastIndexOf("/"),u=e.path.substr(1,t);l._dsn=n,l._globalKey=e.user,l._globalSecret=e.pass&&e.pass.substr(1),l._globalProject=e.path.substr(t+1),l._globalServer=l._getGlobalServer(e),l._globalEndpoint=l._globalServer+"/"+u+"api/"+l._globalProject+"/store/",this._resetBackoff()},context:function(n,l,e){return o(n)&&(e=l||[],l=n,n=void 0),this.wrap(n,l).apply(this,e)},wrap:function(n,l,e){function t(){var t=[],r=arguments.length,i=!n||n&&!1!==n.deep;for(e&&o(e)&&e.apply(this,arguments);r--;)t[r]=i?u.wrap(n,arguments[r]):arguments[r];try{return l.apply(this,t)}catch(s){throw u._ignoreNextOnError(),u.captureException(s,n),s}}var u=this;if(r(l)&&!o(n))return n;if(o(n)&&(l=n,n=void 0),!o(l))return l;try{if(l.__raven__)return l;if(l.__raven_wrapper__)return l.__raven_wrapper__}catch(i){return l}for(var s in l)f(l,s)&&(t[s]=l[s]);return t.prototype=l.prototype,(l.__raven_wrapper__=t).__raven__=!0,t.__inner__=l,t},uninstall:function(){return T.report.uninstall(),this._restoreBuiltIns(),Error.stackTraceLimit=this._originalErrorStackTraceLimit,this._isRavenInstalled=!1,this},captureException:function(n,l){if(!j(n))return this.captureMessage(n,c({trimHeadFrames:1,stacktrace:!0},l));this._lastCapturedException=n;try{var e=T.computeStackTrace(n);this._handleStackInfo(e,l)}catch(t){if(n!==t)throw t}return this},captureMessage:function(n,l){if(!this._globalOptions.ignoreErrors.test||!this._globalOptions.ignoreErrors.test(n)){var e=c({message:n+""},l=l||{});if(this._globalOptions.stacktrace||l&&l.stacktrace){var t;try{throw new Error(n)}catch(u){t=u}t.name=null,l=c({fingerprint:n,trimHeadFrames:(l.trimHeadFrames||0)+1},l);var r=T.computeStackTrace(t),o=this._prepareFrames(r,l);e.stacktrace={frames:o.reverse()}}return this._send(e),this}},captureBreadcrumb:function(n){var l=c({timestamp:t()/1e3},n);if(o(this._globalOptions.breadcrumbCallback)){var e=this._globalOptions.breadcrumbCallback(l);if(R(e)&&!s(e))l=e;else if(!1===e)return this}return this._breadcrumbs.push(l),this._breadcrumbs.length>this._globalOptions.maxBreadcrumbs&&this._breadcrumbs.shift(),this},addPlugin:function(n){var l=[].slice.call(arguments,1);return this._plugins.push([n,l]),this._isRavenInstalled&&this._drainPlugins(),this},setUserContext:function(n){return this._globalContext.user=n,this},setExtraContext:function(n){return this._mergeContext("extra",n),this},setTagsContext:function(n){return this._mergeContext("tags",n),this},clearContext:function(){return this._globalContext={},this},getContext:function(){return JSON.parse(w(this._globalContext))},setEnvironment:function(n){return this._globalOptions.environment=n,this},setRelease:function(n){return this._globalOptions.release=n,this},setDataCallback:function(n){var l=this._globalOptions.dataCallback;return this._globalOptions.dataCallback=o(n)?function(e){return n(e,l)}:n,this},setBreadcrumbCallback:function(n){var l=this._globalOptions.breadcrumbCallback;return this._globalOptions.breadcrumbCallback=o(n)?function(e){return n(e,l)}:n,this},setShouldSendCallback:function(n){var l=this._globalOptions.shouldSendCallback;return this._globalOptions.shouldSendCallback=o(n)?function(e){return n(e,l)}:n,this},setTransport:function(n){return this._globalOptions.transport=n,this},lastException:function(){return this._lastCapturedException},lastEventId:function(){return this._lastEventId},isSetup:function(){return!(!this._hasJSON||!this._globalServer&&(this.ravenNotConfiguredError||(this.ravenNotConfiguredError=!0,this._logDebug("error","Error: Raven has not been configured.")),1))},afterLoad:function(){var n=N.RavenConfig;n&&this.config(n.dsn,n.config).install()},showReportDialog:function(n){if(k){var l=(n=n||{}).eventId||this.lastEventId();if(!l)throw new O("Missing eventId");var e=n.dsn||this._dsn;if(!e)throw new O("Missing DSN");var t=encodeURIComponent,u="";u+="?eventId="+t(l),u+="&dsn="+t(e);var r=n.user||this._globalContext.user;r&&(r.name&&(u+="&name="+t(r.name)),r.email&&(u+="&email="+t(r.email)));var o=this._getGlobalServer(this._parseDSN(e)),i=k.createElement("script");i.async=!0,i.src=o+"/api/embed/error-page/"+u,(k.head||k.body).appendChild(i)}},_ignoreNextOnError:function(){var n=this;this._ignoreOnError+=1,setTimeout(function(){n._ignoreOnError-=1})},_triggerEvent:function(n,l){var e,t;if(this._hasDocument){for(t in l=l||{},n="raven"+n.substr(0,1).toUpperCase()+n.substr(1),k.createEvent?(e=k.createEvent("HTMLEvents")).initEvent(n,!0,!0):(e=k.
vendor: 6,451 bytes, line 1
1createEventObject()).eventType=n,l)f(l,t)&&(e[t]=l[t]);if(k.createEvent)k.dispatchEvent(e);else try{k.fireEvent("on"+e.eventType.toLowerCase(),e)}catch(u){}}},_breadcrumbEventHandler:function(n){var l=this;return function(e){if(l._keypressTimeout=null,l._lastCapturedEvent!==e){var t;l._lastCapturedEvent=e;try{t=m(e.target)}catch(u){t="<unknown>"}l.captureBreadcrumb({category:"ui."+n,message:t})}}},_keypressEventHandler:function(){var n=this;return function(e){var t;try{t=e.target}catch(u){return}var r=t&&t.tagName;if(r&&("INPUT"===r||"TEXTAREA"===r||t.isContentEditable)){var o=n._keypressTimeout;o||n._breadcrumbEventHandler("input")(e),clearTimeout(o),n._keypressTimeout=setTimeout(function(){n._keypressTimeout=null},1e3)}}},_captureUrlChange:function(n,l){var e=v(this._location.href),t=v(l),u=v(n);this._lastHref=l,e.protocol===t.protocol&&e.host===t.host&&(l=t.relative),e.protocol===u.protocol&&e.host===u.host&&(n=u.relative),this.captureBreadcrumb({category:"navigation",data:{to:l,from:n}})},_instrumentTryCatch:function(){function n(n){return function(l,t){for(var u=new Array(arguments.length),r=0;r<u.length;++r)u[r]=arguments[r];var i=u[0];return o(i)&&(u[0]=e.wrap(i)),n.apply?n.apply(this,u):n(u[0],u[1])}}function l(n){var l=N[n]&&N[n].prototype;l&&l.hasOwnProperty&&l.hasOwnProperty("addEventListener")&&(S(l,"addEventListener",function(l){return function(t,r,o,i){try{r&&r.handleEvent&&(r.handleEvent=e.wrap(r.handleEvent))}catch(s){}var a,c,d;return u&&u.dom&&("EventTarget"===n||"Node"===n)&&(c=e._breadcrumbEventHandler("click"),d=e._keypressEventHandler(),a=function(n){if(n){var l;try{l=n.type}catch(e){return}return"click"===l?c(n):"keypress"===l?d(n):void 0}}),l.call(this,t,e.wrap(r,void 0,a),o,i)}},t),S(l,"removeEventListener",function(n){return function(l,e,t,u){try{e=e&&(e.__raven_wrapper__?e.__raven_wrapper__:e)}catch(r){}return n.call(this,l,e,t,u)}},t))}var e=this,t=e._wrappedBuiltIns,u=this._globalOptions.autoBreadcrumbs;S(N,"setTimeout",n,t),S(N,"setInterval",n,t),N.requestAnimationFrame&&S(N,"requestAnimationFrame",function(n){return function(l){return n(e.wrap(l))}},t);for(var r=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],i=0;i<r.length;i++)l(r[i])},_instrumentBreadcrumbs:function(){function n(n,e){n in e&&o(e[n])&&S(e,n,function(n){return l.wrap(n)})}var l=this,e=this._globalOptions.autoBreadcrumbs,t=l._wrappedBuiltIns;if(e.xhr&&"XMLHttpRequest"in N){var u=XMLHttpRequest.prototype;S(u,"open",function(n){return function(e,t){return i(t)&&-1===t.indexOf(l._globalKey)&&(this.__raven_xhr={method:e,url:t,status_code:null}),n.apply(this,arguments)}},t),S(u,"send",function(e){return function(t){function u(){if(r.__raven_xhr&&(1===r.readyState||4===r.readyState)){try{r.__raven_xhr.status_code=r.status}catch(n){}l.captureBreadcrumb({type:"http",category:"xhr",data:r.__raven_xhr})}}for(var r=this,i=["onload","onerror","onprogress"],s=0;s<i.length;s++)n(i[s],r);return"onreadystatechange"in r&&o(r.onreadystatechange)?S(r,"onreadystatechange",function(n){return l.wrap(n,void 0,u)}):r.onreadystatechange=u,e.apply(this,arguments)}},t)}e.xhr&&"fetch"in N&&S(N,"fetch",function(n){return function(e,t){for(var u=new Array(arguments.length),r=0;r<u.length;++r)u[r]=arguments[r];var o="GET";u[1]&&u[1].method&&(o=u[1].method);var i={method:o,url:u[0],status_code:null};return l.captureBreadcrumb({type:"http",category:"fetch",data:i}),n.apply(this,u).then(function(n){return i.status_code=n.status,n})}},t),e.dom&&this._hasDocument&&(k.addEventListener?(k.addEventListener("click",l._breadcrumbEventHandler("click"),!1),k.addEventListener("keypress",l._keypressEventHandler(),!1)):(k.attachEvent("onclick",l._breadcrumbEventHandler("click")),k.attachEvent("onkeypress",l._keypressEventHandler())));var r=N.chrome,c=!(r&&r.app&&r.app.runtime)&&N.history&&history.pushState;if(e.location&&c){var d=N.onpopstate;N.onpopstate=function(){var n=l._location.href;if(l._captureUrlChange(l._lastHref,n),d)return d.apply(this,arguments)},S(history,"pushState",function(n){return function(){var e=2<arguments.length?arguments[2]:void 0;return e&&l._captureUrlChange(l._lastHref,e+""),n.apply(this,arguments)}},t)}if(e.console&&"console"in N&&console.log){var f=function(n,e){l.captureBreadcrumb({message:n,level:e.level,category:"console"})};a(["debug","info","warn","error","log"],function(n,l){I(console,l,f)})}},_restoreBuiltIns:function(){for(var n;this._wrappedBuiltIns.length;){var l=(n=this._wrappedBuiltIns.shift())[0],e=n[1],t=n[2];l[e]=t}},_drainPlugins:function(){var n=this;a(this._plugins,function(l,e){var t=e[0],u=e[1];t.apply(n,[n].concat(u))})},_parseDSN:function(n){var l=x.exec(n),e={},t=7;try{for(;t--;)e[A[t]]=l[t]||""}catch(u){throw new O("Invalid DSN: "+n)}if(e.pass&&!this._globalOptions.allowSecretKey)throw new O("Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key");return e},_getGlobalServer:function(n){var l="//"+n.host+(n.port?":"+n.port:"");return n.protocol&&(l=n.protocol+":"+l),l},_handleOnErrorStackInfo:function(){this._ignoreOnError||this._handleStackInfo.apply(this,arguments)},_handleStackInfo:function(n,l){var e=this._prepareFrames(n,l);this._triggerEvent("handle",{stackInfo:n,options:l}),this._processException(n.name,n.message,n.url,n.lineno,e,l)},_prepareFrames:function(n,l){var e=this,t=[];if(n.stack&&n.stack.length&&(a(n.stack,function(n,l){var u=e._normalizeFrame(l);u&&t.push(u)}),l&&l.trimHeadFrames))for(var u=0;u<l.trimHeadFrames&&u<t.length;u++)t[u].in_app=!1;return t=t.slice(0,this._globalOptions.stackTraceLimit)},_normalizeFrame:function(n){if(n.url){var l={filename:n.url,lineno:n.line,colno:n.column,function:n.func||"?"};return l.in_app=!(this._globalOptions.includePaths.test&&!this._globalOptions.includePaths.test(l.filename)||/(Raven|TraceKit)\./.test(l.function)||/raven\.(min\.)?js$/.test(l.filename)),l}},_processException:function(n,l,e,t,u,r){var o;if((!this._globalOptions.ignoreErrors.test||!this._globalOptions.ignoreErrors.test(l))&&(l+="",u&&u.length?(e=u[0].filename||e,u.reverse(),o={frames:u}
1):e&&(o={frames:[{filename:e,lineno:t,in_app:!0}]}),(!this._globalOptions.ignoreUrls.test||!this._globalOptions.ignoreUrls.test(e))&&(!this._globalOptions.whitelistUrls.test||this._globalOptions.whitelistUrls.test(e)))){var i=c({exception:{values:[{type:n,value:l,stacktrace:o}]},culprit:e},r);this._send(i)}},_trimPacket:function(n){var l=this._globalOptions.maxMessageLength;if(n.message&&(n.message=d(n.message,l)),n.exception){var e=n.exception.values[0];e.value=d(e.value,l)}var t=n.request;return t&&(t.url&&(t.url=d(t.url,this._globalOptions.maxUrlLength)),t.Referer&&(t.Referer=d(t.Referer,this._globalOptions.maxUrlLength))),n.breadcrumbs&&n.breadcrumbs.values&&this._trimBreadcrumbs(n.breadcrumbs),n},_trimBreadcrumbs:function(n){for(var l,e,t={to:1,from:1,url:1},u=0;u<n.values.length;u++)if((l=n.values[u]).hasOwnProperty("data"))for(var r in e=l.data,t)e.hasOwnProperty(r)&&(e[r]=d(e[r],this._globalOptions.maxUrlLength))},_getHttpData:function(){if(this._hasNavigator||this._hasDocument){var n={};return this._hasNavigator&&D.userAgent&&(n.headers={"User-Agent":navigator.userAgent}),this._hasDocument&&(k.location&&k.location.href&&(n.url=k.location.href),k.referrer&&(n.headers||(n.headers={}),n.headers.Referer=k.referrer)),n}},_resetBackoff:function(){this._backoffDuration=0,this._backoffStart=null},_shouldBackoff:function(){return this._backoffDuration&&t()-this._backoffStart<this._backoffDuration},_isRepeatData:function(n){var l=this._lastData;return!(!l||n.message!==l.message||n.culprit!==l.culprit)&&(n.stacktrace||l.stacktrace?E(n.stacktrace,l.stacktrace):!n.exception&&!l.exception||function(n,l){return!b(n,l)&&(n=n.values[0],l=l.values[0],n.type===l.type&&n.value===l.value&&E(n.stacktrace,l.stacktrace))}(n.exception,l.exception))},_setBackoffState:function(n){if(!this._shouldBackoff()){var l=n.status;if(400===l||401===l||429===l){var e;try{e=n.getResponseHeader("Retry-After"),e=1e3*parseInt(e,10)}catch(u){}this._backoffDuration=e||(2*this._backoffDuration||1e3),this._backoffStart=t()}}},_send:function(n){var l=this._globalOptions,e={project:this._globalProject,logger:l.logger,platform:"javascript"},u=this._getHttpData();if(u&&(e.request=u),n.trimHeadFrames&&delete n.trimHeadFrames,(n=c(e,n)).tags=c(c({},this._globalContext.tags),n.tags),n.extra=c(c({},this._globalContext.extra),n.extra),n.extra["session:duration"]=t()-this._startTime,this._breadcrumbs&&0<this._breadcrumbs.length&&(n.breadcrumbs={values:[].slice.call(this._breadcrumbs,0)}),s(n.tags)&&delete n.tags,this._globalContext.user&&(n.user=this._globalContext.user),l.environment&&(n.environment=l.environment),l.release&&(n.release=l.release),l.serverName&&(n.server_name=l.serverName),o(l.dataCallback)&&(n=l.dataCallback(n)||n),n&&!s(n)&&(!o(l.shouldSe
1ndCallback)||l.shouldSendCallback(n)))return this._shouldBackoff()?void this._logDebug("warn","Raven dropped error due to backoff: ",n):void("number"==typeof l.sampleRate?Math.random()<l.sampleRate&&this._sendProcessedPayload(n):this._sendProcessedPayload(n))},_getUuid:function(){return g()},_sendProcessedPayload:function(n,l){var e=this,t=this._globalOptions;if(this.isSetup()){if(this._lastEventId=n.event_id||(n.event_id=this._getUuid()),n=this._trimPacket(n),!this._globalOptions.allowDuplicates&&this._isRepeatData(n))return void this._logDebug("warn","Raven dropped repeat event: ",n);this._lastData=n,this._logDebug("debug","Raven about to send:",n);var u={sentry_version:"7",sentry_client:"raven-js/"+this.VERSION,sentry_key:this._globalKey};this._globalSecret&&(u.sentry_secret=this._globalSecret);var r=n.exception&&n.exception.values[0];this.captureBreadcrumb({category:"sentry",message:r?(r.type?r.type+": ":"")+r.value:n.message,event_id:n.event_id,level:n.level||"error"});var o=this._globalEndpoint;(t.transport||this._makeRequest).call(this,{url:o,auth:u,data:n,options:t,onSuccess:function(){e._resetBackoff(),e._triggerEvent("success",{data:n,src:o}),l&&l()},onError:function(t){e._logDebug("error","Raven transport failed to send: ",t),t.request&&e._setBackoffState(t.request),e._triggerEvent("failure",{data:n,src:o}),t=t||new Error("Raven send failed (no additional details provided)"),l&&l(t)}})}},_makeRequest:function(n){var l=new XMLHttpRequest;if("withCredentials"in l||"undefined"!=typeof XDomainRequest){var t=n.url;"withCredentials"in l?l.onreadystatechange=function(){if(4===l.readyState)if(200===l.status)n.onSuccess&&n.onSuccess();else if(n.onError){var e=new Error("Sentry error code: "+l.status);e.request=l,n.onError(e)}}:(l=new XDomainRequest,t=t.replace(/^https?:/,""),n.onSuccess&&(l.onload=n.onSuccess),n.onError&&(l.onerror=function(){var e=new Error("Sentry error code: XDomainRequest");e.request=l,n.onError(e)})),l.open("POST",t+"?"+h(n.auth)),l.send(w(n.data))}},_logDebug:function(n){this._originalConsoleMethods[n]&&this.debug&&Function.prototype.apply.call(this._originalConsoleMethods[n],this._originalConsole,[].slice.call(arguments,1))},_mergeContext:function(n,l){r(l)?delete this._globalContext[n]:this._globalContext[n]=c(this._globalContext[n]||{},l)}};var P=Object.prototype;"undefined"!=typeof __DEV__&&__DEV__&&(u.utils={isUndefined:r,isFunction:o,isString:i,isObject:R,isEmptyObject:s,isError:j,each:a,objectMerge:c,truncate:d,hasKey:f,joinRegExp:p,urlencode:h,uuid4:g,htmlTreeAsString:m,htmlElementAsString:_,parseUrl:v,fill:S}),u.prototype.setUser=u.prototype.setUserContext,u.prototype.setReleaseContext=u.prototype.setRelease,l.exports=u}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../vendor/TraceKit/tracekit":188,"../vendor/json-stringify-safe/stringify":189,"./configError":183,"./console":184,"./utils":187}],186:[function(n,l,e){(function(e){"use strict";var t=n("./raven"),u="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{},r=u.Raven,o=new t;o.noConflict=function(){return u.Raven=r,o},o.afterLoad(),l.exports=o}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./raven":185}],187:[function(n,l,e){"use strict";function t(n){return"object"==typeof n&&null!==n}l.exports={isObject:t,isError:function(n){var l={}.toString.call(n);return t(n)&&"[object Error]"===l||"[object Exception]"===l||n instanceof Error}}},{}],188:[function(n,l,e){(function(e){"use strict";function t(){return"undefined"==typeof document||void 0===document.location?"":document.location.href}var u=n("../../src/utils"),r={collectWindowErrors:!0,debug:!1},o="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{},i=[].slice,s="?",a=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;r.report=function(){function c(n,l){var e=null;if(!l||r.collectWindowErrors){for(var t in _)if(_.hasOwnProperty(t))try{_[t].apply(null,[n].concat(i.call(arguments,2)))}catch(u){e=u}if(e)throw e}}
1function d(n,l,e,o,i){if(E)r.computeStackTrace.augmentStackTraceWithInitialElement(E,l,e,n),h();else if(i&&u.isError(i))c(r.computeStackTrace(i),!0);else{var f,p={url:l,line:e,column:o},v=void 0,m=n;if("[object String]"==={}.toString.call(n))(f=n.match(a))&&(v=f[1],m=f[2]);p.func=s,c({name:v,message:m,url:t(),stack:[p]},!0)}return!!g&&g.apply(this,arguments)}function h(){var n=E,l=b;c.apply(y=E=b=null,[n,!1].concat(l))}function v(n,l){var e=i.call(arguments,1);if(E){if(y===n)return;h()}var t=r.computeStackTrace(n);if(E=t,y=n,b=e,setTimeout(function(){y===n&&h()},t.incomplete?2e3:0),!1!==l)throw n}var g,m,_=[],b=null,y=null,E=null;return v.subscribe=function(n){m||(g=o.onerror,o.onerror=d,m=!0),_.push(n)},v.unsubscribe=function(n){for(var l=_.length-1;0<=l;--l)_[l]===n&&_.splice(l,1)},v.uninstall=function(){m&&(o.onerror=g,m=!1,g=void 0),_=[]},v}(),r.computeStackTrace=function(){function n(n){if(void 0!==n.stack&&n.stack){for(var l,e,u,r=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,o=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?)(?::(\d+))?(?::(\d+))?\s*$/i,i=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,a=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,c=/\((\S*)(?::(\d+))(?::(\d+))\)/,d=n.stack.split("\n"),f=[],p=(/^(.*) is undefined$/.exec(n.message),0),h=d.length;p<h;++p){if(e=r.exec(d[p])){var v=e[2]&&0===e[2].indexOf("native");e[2]&&0===e[2].indexOf("eval")&&(l=c.exec(e[2]))&&(e[2]=l[1],e[3]=l[2],e[4]=l[3]),u={url:v?null:e[2],func:e[1]||s,args:v?[e[2]]:[],line:e[3]?+e[3]:null,column:e[4]?+e[4]:null}}else if(e=i.exec(d[p]))u={url:e[2],func:e[1]||s,args:[],line:+e[3],column:e[4]?+e[4]:null};else{if(!(e=o.exec(d[p])))continue;e[3]&&-1<e[3].indexOf(" > eval")&&(l=a.exec(e[3]))?(e[3]=l[1],e[4]=l[2],e[5]=null):0!==p||e[5]||void 0===n.columnNumber||(f[0].column=n.columnNumber+1),u={url:e[3],func:e[1]||s,args:e[2]?e[2].split(","):[],line:e[4]?+e[4]:null,column:e[5]?+e[5]:null}}!u.func&&u.line&&(u.func=s),f.push(u)}return f.length?{name:n.name,message:n.message,url:t(),stack:f}:null}}function l(n,l,e,t){var u={url:l,line:e};if(u.url&&u.line){if(n.incomplete=!1,u.func||(u.func=s),0<n.stack.length&&n.stack[0].url===u.url){if(n.stack[0].line===u.line)return!1;if(!n.stack[0].line&&n.stack[0].func===u.func)return n.stack[0].line=u.line,!1}return n.stack.unshift(u),n.partial=!0}return!(n.incomplete=!0)}function e(n,o){for(var i,a,c=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,d=[],f={},p=!1,h=e.caller;h&&!p;h=h.caller)if(h!==u&&h!==r.report){if(a={url:null,func:s,line:null,column:null},h.name?a.func=h.name:(i=c.exec(h.toString()))&&(a.func=i[1]),void 0===a.func)try{a.func=i.input.substring(0,i.input.indexOf("{"))}catch(v){}f[""+h]?p=!0:f[""+h]=!0,d.push(a)}o&&d.splice(0,o);var g={name:n.name,message:n.message,url:t(),stack:d};return l(g,n.sourceURL||n.fileName,n.line||n.lineNumber,n.message||n.description),g}function u(l,u){var o=null;u=null==u?0:+u;try{if(o=n(l))return o}catch(i){if(r.debug)throw i}try{if(o=e(l,u+1))return o}catch(i){if(r.debug)throw i}return{name:l.name,message:l.message,url:t()}}return u.augmentStackTraceWithInitialElement=l,u.computeStackTraceFromStackProp=n,u}(),l.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../src/utils":187}],189:[function(n,l,e){"use strict";function t(n,l){for(var e=0;e<n.length;++e)if(n[e]===l)return e;return-1}function r(n,l){var e=[],u=[];return null==l&&(l=function(n,l){return e[0]===l?"[Circular ~]":"[Circular ~."+u.slice(0,t(e,l)).join(".")+"]"}),function(r,o){if(0<e.length){var i=t(e,this);~i?e.splice(i+1):e.push(this),~i?u.splice(i,1/0,r):u.push(r),~t(e,o)&&(o=l.call(this,r,o))}else e.push(o);return null==n?o:n.call(this,r,o)}}(l.exports=function(n,l,e,t){return JSON.stringify(n,r(l,t),e)}).getSerialize=r},{}],190:[function(n,l,e){var t=n("./lib/encoding.js");l.exports={TextEncoder:t.TextEncoder,TextDecoder:t.TextDecoder}},{"./lib/encoding.js":192}],191:[function(n,l,e){!function(n){"use strict";void 0!==l&&l.exports&&(l.exports=n),n["encoding-indexes"]={big5:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,17392,19506,17923,17830,17784,160359,19831,17843,162993,19682,163013,15253,18230,18244,19527,19520,148159,144919,160594,159371,159954,19543,172881,18255,17882,19589,162924,19719,19108,18081,158499,29221,154196,137827,146950,147297,26189,22267,null,32149,22813,166841,15860,38708,162799,23515,138590,23204,13861,171696,23249,23479,23804,26478,34195,170309,29793,29853,14453,138579,145054,155681,16108,153822,15093,31484,40855,147809,166157,143850,133770,143966,17162,33924,40854,37935,18736,34323,22678,38730,37400,31184,31282,26208,27177,34973,29772,31685,26498,31276,21071,36934,13542,29636,155065,29894,40903,22451,18735,21580,16689,145038,22552,31346,162661,35727,18094,159368,16769,155033,31662,140476,40904,140481,140489,140492,40905,34052,144827,16564,40906,17633,175615,25281,28782,40907,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,12736,12737,12738,12739,12740,131340,12741,131281,131277,12742,12743,131275,139240,12744,131274,12745,12746,12747,12748,131342,12749,12750,256,193,461,192,274,201,282,200,332,211,465,210,null,7870,null,7872,202,257,225,462,224,593,275,233,283,232,299,237,464,236,333,243,466,242,363,250,468,249,470,472,474,476,252,null,7871,null,7873,234,609,9178,9179,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,172969,135493,null,25866,null,null,20029,28381,40270,37343,null,null,161589,25745,20250,20264,20392,20822,20852,20892,20964,21153,21160,21307,21326,21457,21464,22242,22768,22788,22791,22834,22836,23398,23454,23455,23706,24198,24635,25993,26622,26628,26725,27982,28860,30005,32420,32428,32442,32455,32463,32479,32518,32567,33402,33487,33647,35270,35774,35810,36710,36711,36718,29713,31996,32205,26950,31433,21031,null,null,null,null,37260,30904,37214,32956,null,36107,33014,133607,null,null,32927,40647,19661,40393,40460,19518,171510,159758,40458,172339,13761,null,28314,33342,29977,null,18705,39532,39567,40857,31111,164972,138698,132560,142054,20004,20097,20096,20103,20159,20203,20279,13388,20413,15944,20483,20616,13437,13459,13477,20870,22789,20955,20988,20997,20105,21113,21136,21287,13767,21417,13649,21424,13651,21442,21539,13677,13682,13953,21651,21667,21684,21689,21712,21743,21784,21795,21800,13720,21823,13733,137
159,21975,13765,163204,21797,null,134210,134421,151851,21904,142534,14828,131905,36422,150968,169189,16467,164030,30586,142392,14900,18389,164189,158194,151018,25821,134524,135092,134357,135412,25741,36478,134806,134155,135012,142505,164438,148691,null,134470,170573,164073,18420,151207,142530,39602,14951,169460,16365,13574,152263,169940,161992,142660,40302,38933,null,17369,155813,25780,21731,142668,142282,135287,14843,135279,157402,157462,162208,25834,151634,134211,36456,139681,166732,132913,null,18443,131497,16378,22643,142733,null,148936,132348,155799,134988,134550,21881,16571,17338,null,19124,141926,135325,33194,39157,134556,25465,14846,141173,36288,22177,25724,15939,null,173569,134665,142031,142537,null,135368,145858,14738,14854,164507,13688,155209,139463,22098,134961,142514,169760,13500,27709,151099,null,null,161140,142987,139784,173659,167117,134778,134196,157724,32659,135375,141315,141625,13819,152035,134796,135053,134826,16275,134960,134471,135503,134732,null,134827,134057,134472,135360,135485,16377,140950,25650,135085,144372,161337,142286,134526,134527,142417,142421,14872,134808,135367,134958,173618,158544,167122,167321,167114,38314,21708,33476,21945,null,171715,39974,39606,161630,142830,28992,33133,33004,23580,157042,33076,14231,21343,164029,37302,134906,134671,134775,134907,13789,151019,13833,134358,22191,141237,135369,134672,134776,135288,135496,164359,136277,134777,151120,142756,23124,135197,135198,135413,135414,22428,134673,161428,164557,135093,134779,151934,14083,135094,135552,152280,172733,149978,137274,147831,164476,22681,21096,13850,153405,31666,23400,18432,19244,40743,18919,39967,39821,154484,143677,22011,13810,22153,20008,22786,138177,194680,38737,131206,20059,20155,13630,23587,24401,24516,14586,25164,25909,27514,27701,27706,28780,29227,20012,29357,149737,32594,31035,31993,32595,156266,13505,null,156491,32770,32896,157202,158033,21341,34916,35265,161970,35744,36125,38021,38264,38271,38376,167439,38886,39029,39118,39134,39267,17e4,40060,40479,40644,27503,63751,20023,131207,38429,25143,38050,null,20539,28158,171123,40870,15817,34959,147790,28791,23797,19232,152013,13657,154928,24866,166450,36775,37366,29073,26393,29626,144001,172295,15499,137600,19216,30948,29698,20910,165647,16393,27235,172730,16931,34319,133743,31274,170311,166634,38741,28749,21284,139390,37876,30425,166371,40871,30685,20131,20464,20668,20015,20247,40872,21556,32139,22674,22736,138678,24210,24217,24514,141074,25995,144377,26905,27203,146531,27903,null,29184,148741,29580,16091,150035,23317,29881,35715,154788,153237,31379,31724,31939,32364,33528,34199,40873,34960,40874,36537,40875,36815,34143,39392,37409,40876,167353,136255,16497,17058,23066,null,null,null,39016,26475,17014,22333,null,34262,149883,33471,160013,19585,159092,23931,158485,159678,40877,40878,23446,40879,26343,32347,28247,31178,15752,17603,143958,141206,17306,17718,null,23765,146202,35577,23672,15634,144721,23928,40882,29015,17752,147692,138787,19575,14712,13386,131492,158785,35532,20404,131641,22975,33132,38998,170234,24379,134047,null,139713,166253,16642,18107,168057,16135,40883,172469,16632,14294,18167,158790,16764,165554,160767,17773,14548,152730,17761,17691,19849,19579,19830,17898,16328,150287,13921,17630,17597,16877,23870,23880,23894,15868,14351,23972,23993,14368,14392,24130,24253,24357,24451,14600,14612,14655,14669,24791,24893,23781,14729,25015,25017,25039,14776,25132,25232,25317,25368,14840,22193,14851,25570,25595,25607,25690,14923,25792,23829,22049,40863,14999,25990,15037,26111,26195,15090,26258,15138,26390,15170,26532,26624,15192,26698,26756,15218,15217,15227,26889,26947,29276,26980,27039,27013,15292,27094,15325,27237,27252,27249,27266,15340,27289,15346,27307,27317,27348,27382,27521,27585,27626,27765,27818,15563,27906,27910,27942,28033,15599,28068,28081,28181,28184,28201,28294,166336,28347,28386,28378,40831,28392,28393,28452,28468,15686,147265,28545,28606,15722,15733,29111,23705,15754,28716,15761,28752,28756,28783,28799,28809,131877,17345,13809,134872,147159,22462,159443,28990,153568,13902,27042,166889,23412,31305,153825,169177,31333,31357,154028,31419,31408,31426,31427,29137,156813,16842,31450,31453,31466,16879,21682,154625,31499,31573,31529,152334,154878,31650,31599,33692,154548,158847,31696,33825,31634,31672,154912,15789,154725,33938,31738,31750,31797,154817,31812,31875,149634,31910,26237,148856,31945,31943,31974,31860,31987,31989,31950,32359,17693,159300,32093,159446,29837,32137,32171,28981,32179,32210,147543,155689,32228,15635,32245,137209,32229,164717,32285,155937,155994,32366,32402,17195,37996,32295,32576,32577,32583,31030,156368,39393,32663,156497,32675,136801,131176,17756,145254,17667,164666,32762,156809,32773,32776,32797,32808,32815,172167,158915,32827,32828,32865,141076,18825,157222,146915,157416,26405,32935,166472,33031,33050,22704,141046,27775,156824,151480,25831,136330,33304,137310,27219,150117,150165,17530,33321,133901,158290,146814,20473,136445,34018,33634,158474,149927,144688,137075,146936,33450,26907,194964,16859,34123,33488,33562,134678,137140,14017,143741,144730,33403,33506,33560,147083,159139,158469,158615,144846,15807,33565,21996,33669,17675,159141,33708,33729,33747,13438,159444,27223,34138,13462,159298,143087,33880,154596,33905,15827,17636,27303,33866,146613,31064,33960,158614,159351,159299,34014,33807,33681,17568,33939,34020,154769,16960,154816,17731,34100,23282,159385,17703,34163,17686,26559,34326,165413,165435,34241,159880,34306,136578,159949,194994,17770,34344,13896,137378,21495,160666,34430,34673,172280,34798,142375,34737,34778,34831,22113,34412,26710,17935,34885,34886,161248,146873,161252,34910,34972,18011,34996,34997,25537,35013,30583,161551,35207,35210,35238,35241,35239,35260,166437,35303,162084,162493,35484,30611,37374,35472,162393,31465,162618,147343,18195,162616,29052,35596,35615,152624,152933,35647,35660,35661,35497,150138,35728,35739,35503,136927,17941,34895,35995,163156,163215,195028,14117,163155,36054,163224,163261,36114,36099,137488,36059,28764,36113,150729,16080,36215,36265,163842,135188,149898,15228,164284,160012,31463,36525,36534,36547,37588,36633,36653,164709,164882,36773,37635,172703,133712,36787,18730,166366,165181,146875,24312,143970,36857,172052,165564,165121,140069,14720,159447,36919,165180,162494,36961,165228,165387,37032,165651,37060,165606,37038,37117,37223,15088,37289,37316,31916,166195,138889,37390,27807,37441,37474,153017,37561,166598,146587,166668,153051,134449,37676,37739,166625,166891,28815,23235,166626,166629,18789,37444,166892,166969,166911,37747,37979,36540,38277,38310,37926,38304,28662,17081,140922,165592,135804,146990,18911,27676,38523,38550,16748,38563,159445,25050,38582,30965,166624,38589,21452,18849,158904,131700,156688,168111,168165,150225,137493,144138,38705,34370,38710,18959,17725,17797,150249,28789,23361,38683,38748,168405,38743,23370,168427,38751,37925,20688,143543,143548,38793,38815,38833,38846,38848,38866,38880,152684,38894,29724,169011,38911,38901,168989,162170,19153,38964,38963,38987,39014,15118,160117,15697,132656,147804,153350,39114,39095,39112,39111,19199,159015,136915,21936,39137,39142,39148,37752,39225,150057,19314,170071,170245,39413,39436,39483,39440,39512,153381,14020,168113,170965,39648,39650,170757,39668,19470,39700,39725,165376,20532,39732,158120,14531,143485,39760,39744,171326,23109,137315,39822,148043,39938,39935,39948,171624,40404,171959,172434,172459,172257,172323,172511,40318,40323,172340,40462,26760,40388,139611,172435,172576,137531,172595,40249,172217,172724,40592,40597,40606,40610,19764,40618,40623,148324,40641,15200,14821,15645,20274,14270,166955,40706,40712,19350,37924,159138,40727,40726,40761,22175,22154,40773,39352,168075,38898,33919,40802,40809,31452,40846,29206,19390,149877,149947,29047,150008,148296,150097,29598,166874,137466,31135,166270,167478,37737,37875,166468,37612,37761,37835,166252,148665,29207,16107,30578,31299,28880,148595,148472,29054,137199,28835,137406,144793,16071,137349,152623,137208,14114,136955,137273,14049,137076,137425,155467,14115,136896,22363,150053,136190,135848,136134,136374,34051,145062,34051,33877,149908,160101,146993,152924,147195,159826,17652,145134,170397,159526,26617,14131,15381,15847,22636,137506,26640,16471,145215,147681,147595,147727,158753,21707,22174,157361,22162,135135,134056,134669,37830,166675,37788,20216,20779,14361,148534,20156,132197,131967,20299,20362,153169,23144,131499,132043,14745,131850,132116,13365,20265,131776,167603,131701,35546,131596,20120,20685,20749,20386,20227,150030,147082,20290,20526,20588,20609,20428,20453,20568,20732,20825,20827,20829,20830,28278,144789,147001,147135,28018,137348,147081,20904,20931,132576,17629,132259,132242,132241,362
118,166556,132878,21081,21156,133235,21217,37742,18042,29068,148364,134176,149932,135396,27089,134685,29817,16094,29849,29716,29782,29592,19342,150204,147597,21456,13700,29199,147657,21940,131909,21709,134086,22301,37469,38644,37734,22493,22413,22399,13886,22731,23193,166470,136954,137071,136976,23084,22968,37519,23166,23247,23058,153926,137715,137313,148117,14069,27909,29763,23073,155267,23169,166871,132115,37856,29836,135939,28933,18802,37896,166395,37821,14240,23582,23710,24158,24136,137622,137596,146158,24269,23375,137475,137476,14081,137376,14045,136958,14035,33066,166471,138682,144498,166312,24332,24334,137511,137131,23147,137019,23364,34324,161277,34912,24702,141408,140843,24539,16056,140719,140734,168072,159603,25024,131134,131142,140827,24985,24984,24693,142491,142599,149204,168269,25713,149093,142186,14889,142114,144464,170218,142968,25399,173147,25782,25393,25553,149987,142695,25252,142497,25659,25963,26994,15348,143502,144045,149897,144043,21773,144096,137433,169023,26318,144009,143795,15072,16784,152964,166690,152975,136956,152923,152613,30958,143619,137258,143924,13412,143887,143746,148169,26254,159012,26219,19347,26160,161904,138731,26211,144082,144097,26142,153714,14545,145466,145340,15257,145314,144382,29904,15254,26511,149034,26806,26654,15300,27326,14435,145365,148615,27187,27218,27337,27397,137490,25873,26776,27212,15319,27258,27479,147392,146586,37792,37618,166890,166603,37513,163870,166364,37991,28069,28427,149996,28007,147327,15759,28164,147516,23101,28170,22599,27940,30786,28987,148250,148086,28913,29264,29319,29332,149391,149285,20857,150180,132587,29818,147192,144991,150090,149783,155617,16134,16049,150239,166947,147253,24743,16115,29900,29756,37767,29751,17567,159210,17745,30083,16227,150745,150790,16216,30037,30323,173510,15129,29800,166604,149931,149902,15099,15821,150094,16127,149957,149747,37370,22322,37698,166627,137316,20703,152097,152039,30584,143922,30478,30479,30587,149143,145281,14942,149744,29752,29851,16063,150202,150215,16584,150166,156078,37639,152961,30750,30861,30856,30930,29648,31065,161601,153315,16654,31131,33942,31141,27181,147194,31290,31220,16750,136934,16690,37429,31217,134476,149900,131737,146874,137070,13719,21867,13680,13994,131540,134157,31458,23129,141045,154287,154268,23053,131675,30960,23082,154566,31486,16889,31837,31853,16913,154547,155324,155302,31949,150009,137136,31886,31868,31918,27314,32220,32263,32211,32590,156257,155996,162632,32151,155266,17002,158581,133398,26582,131150,144847,22468,156690,156664,149858,32733,31527,133164,154345,154947,31500,155150,39398,34373,39523,27164,144447,14818,150007,157101,39455,157088,33920,160039,158929,17642,33079,17410,32966,33033,33090,157620,39107,158274,33378,33381,158289,33875,159143,34320,160283,23174,16767,137280,23339,137377,23268,137432,34464,195004,146831,34861,160802,23042,34926,20293,34951,35007,35046,35173,35149,153219,35156,161669,161668,166901,166873,166812,166393,16045,33955,18165,18127,14322,35389,35356,169032,24397,37419,148100,26068,28969,28868,137285,40301,35999,36073,163292,22938,30659,23024,17262,14036,36394,36519,150537,36656,36682,17140,27736,28603,140065,18587,28537,28299,137178,39913,14005,149807,37051,37015,21873,18694,37307,37892,166475,16482,166652,37927,166941,166971,34021,35371,38297,38311,38295,38294,167220,29765,16066,149759,150082,148458,16103,143909,38543,167655,167526,167525,16076,149997,150136,147438,29714,29803,16124,38721,168112,26695,18973,168083,153567,38749,37736,166281,166950,166703,156606,37562,23313,35689,18748,29689,147995,38811,38769,39224,134950,24001,166853,150194,38943,169178,37622,169431,37349,17600,166736,150119,166756,39132,166469,16128,37418,18725,33812,39227,39245,162566,15869,39323,19311,39338,39516,166757,153800,27279,39457,23294,39471,170225,19344,170312,39356,19389,19351,37757,22642,135938,22562,149944,136424,30788,141087,146872,26821,15741,37976,14631,24912,141185,141675,24839,40015,40019,40059,39989,39952,39807,39887,171565,39839,172533,172286,40225,19630,147716,40472,19632,40204,172468,172269,172275,170287,40357,33981,159250,159711,158594,34300,17715,159140,159364,159216,33824,34286,159232,145367,155748,31202,144796,144960,18733,149982,15714,37851,37566,37704,131775,30905,37495,37965,20452,13376,36964,152925,30781,30804,30902,30795,137047,143817,149825,13978,20338,28634,28633,28702,28702,21524,147893,22459,22771,22410,40214,22487,28980,13487,147884,29163,158784,151447,23336,137141,166473,24844,23246,23051,17084,148616,14124,19323,166396,37819,37816,137430,134941,33906,158912,136211,148218,142374,148417,22932,146871,157505,32168,155995,155812,149945,
1149899,166394,37605,29666,16105,29876,166755,137375,16097,150195,27352,29683,29691,16086,150078,150164,137177,150118,132007,136228,149989,29768,149782,28837,149878,37508,29670,37727,132350,37681,166606,166422,37766,166887,153045,18741,166530,29035,149827,134399,22180,132634,134123,134328,21762,31172,137210,32254,136898,150096,137298,17710,37889,14090,166592,149933,22960,137407,137347,160900,23201,14050,146779,14e3,37471,23161,166529,137314,37748,15565,133812,19094,14730,20724,15721,15692,136092,29045,17147,164376,28175,168164,17643,27991,163407,28775,27823,15574,147437,146989,28162,28428,15727,132085,30033,14012,13512,18048,16090,18545,22980,37486,18750,36673,166940,158656,22546,22472,14038,136274,28926,148322,150129,143331,135856,140221,26809,26983,136088,144613,162804,145119,166531,145366,144378,150687,27162,145069,158903,33854,17631,17614,159014,159057,158850,159710,28439,160009,33597,137018,33773,158848,159827,137179,22921,23170,137139,23137,23153,137477,147964,14125,23023,137020,14023,29070,37776,26266,148133,23150,23083,148115,27179,147193,161590,148571,148170,28957,148057,166369,20400,159016,23746,148686,163405,148413,27148,148054,135940,28838,28979,148457,15781,27871,194597,150095,32357,23019,23855,15859,24412,150109,137183,32164,33830,21637,146170,144128,131604,22398,133333,132633,16357,139166,172726,28675,168283,23920,29583,31955,166489,168992,20424,32743,29389,29456,162548,29496,29497,153334,29505,29512,16041,162584,36972,29173,149746,29665,33270,16074,30476,16081,27810,22269,29721,29726,29727,16098,16112,16116,16122,29907,16142,16211,30018,30061,30066,30093,16252,30152,30172,16320,30285,16343,30324,16348,30330,151388,29064,22051,35200,22633,16413,30531,16441,26465,16453,13787,30616,16490,16495,23646,30654,30667,22770,30744,28857,30748,16552,30777,30791,30801,30822,33864,152885,31027,26627,31026,16643,16649,31121,31129,36795,31238,36796,16743,31377,16818,31420,33401,16836,31439,31451,16847,20001,31586,31596,31611,31762,31771,16992,17018,31867,31900,17036,31928,17044,31981,36755,28864,134351,32207,32212,32208,32253,32686,32692,29343,17303,32800,32805,31545,32814,32817,32852,15820,22452,28832,32951,33001,17389,33036,29482,33038,33042,30048,33044,17409,15161,33110,33113,33114,17427,22586,33148,33156,17445,33171,17453,33189,22511,33217,33252,33364,17551,33446,33398,33482,33496,33535,17584,33623,38505,27018,33797,28917,33892,24803,33928,17668,33982,34017,34040,34064,34104,34130,17723,34159,34160,34272,17783,34418,34450,34482,34543,38469,34699,17926,17943,34990,35071,35108,35143,35217,162151,35369,35384,35476,35508,35921,36052,36082,36124,18328,22623,36291,18413,20206,36410,21976,22356,36465,22005,36528,18487,36558,36578,36580,36589,36594,36791,36801,36810,36812,36915,39364,18605,39136,37395,18718,37416,37464,37483,37553,37550,37567,37603,37611,37619,37620,37629,37699,37764,37805,18757,18769,40639,37911,21249,37917,37933,37950,18794,37972,38009,38189,38306,18855,38388,38451,18917,26528,18980,38720,18997,38834,38850,22100,19172,24808,39097,19225,39153,22596,39182,39193,20916,39196,39223,39234,39261,39266,19312,39365,19357,39484,39695,31363,39785,39809,39901,39921,39924,19565,39968,14191,138178,40265,39994,40702,22096,40339,40381,40384,40444,38134,36790,40571,40620,40625,40637,40646,38108,40674,40689,40696,31432,40772,131220,131767,132e3,26906,38083,22956,132311,22592,38081,14265,132565,132629,132726,136890,22359,29043,133826,133837,134079,21610,194619,134091,21662,134139,134203,134227,134245,134268,24807,134285,22138,134325,134365,134381,134511,134578,134600,26965,39983,34725,134660,134670,134871,135056,134957,134771,23584,135100,24075,135260,135247,135286,26398,135291,135304,135318,13895,135359,135379,135471,135483,21348,33965,135907,136053,135990,35713,136567,136729,137155,137159,20088,28859,137261,137578,137773,137797,138282,138352,138412,138952,25283,138965,139029,29080,26709,139333,27113,14024,139900,140247,140282,141098,141425,141647,33533,141671,141715,142037,35237,142056,36768,142094,38840,142143,38983,39613,142412,null,142472,142519,154600,142600,142610,142775,142741,142914,143220,143308,143411,143462,144159,144350,24497,26184,26303,162425,144743,144883,29185,149946,30679,144922,145174,32391,131910,22709,26382,26904,146087,161367,155618,146961,147129,161278,139418,18640,19128,147737,
1166554,148206,148237,147515,148276,148374,150085,132554,20946,132625,22943,138920,15294,146687,148484,148694,22408,149108,14747,149295,165352,170441,14178,139715,35678,166734,39382,149522,149755,150037,29193,150208,134264,22885,151205,151430,132985,36570,151596,21135,22335,29041,152217,152601,147274,150183,21948,152646,152686,158546,37332,13427,152895,161330,152926,18200,152930,152934,153543,149823,153693,20582,13563,144332,24798,153859,18300,166216,154286,154505,154630,138640,22433,29009,28598,155906,162834,36950,156082,151450,35682,156674,156746,23899,158711,36662,156804,137500,35562,150006,156808,147439,156946,19392,157119,157365,141083,37989,153569,24981,23079,194765,20411,22201,148769,157436,20074,149812,38486,28047,158909,13848,35191,157593,157806,156689,157790,29151,157895,31554,168128,133649,157990,37124,158009,31301,40432,158202,39462,158253,13919,156777,131105,31107,158260,158555,23852,144665,33743,158621,18128,158884,30011,34917,159150,22710,14108,140685,159819,160205,15444,160384,160389,37505,139642,160395,37680,160486,149968,27705,38047,160848,134904,34855,35061,141606,164979,137137,28344,150058,137248,14756,14009,23568,31203,17727,26294,171181,170148,35139,161740,161880,22230,16607,136714,14753,145199,164072,136133,29101,33638,162269,168360,23143,19639,159919,166315,162301,162314,162571,163174,147834,31555,31102,163849,28597,172767,27139,164632,21410,159239,37823,26678,38749,164207,163875,158133,136173,143919,163912,23941,166960,163971,22293,38947,166217,23979,149896,26046,27093,21458,150181,147329,15377,26422,163984,164084,164142,139169,164175,164233,164271,164378,164614,164655,164746,13770,164968,165546,18682,25574,166230,30728,37461,166328,17394,166375,17375,166376,166726,166868,23032,166921,36619,167877,168172,31569,168208,168252,15863,168286,150218,36816,29327,22155,169191,169449,169392,169400,169778,170193,170313,170346,170435,170536,170766,171354,171419,32415,171768,171811,19620,38215,172691,29090,172799,19857,36882,173515,19868,134300,36798,21953,36794,140464,36793,150163,17673,32383,28502,27313,20202,13540,166700,161949,14138,36480,137205,163876,166764,166809,162366,157359,15851,161365,146615,153141,153942,20122,155265,156248,22207,134765,36366,23405,147080,150686,25566,25296,137206,137339,25904,22061,154698,21530,152337,15814,171416,19581,22050,22046,32585,155352,22901,146752,34672,19996,135146,134473,145082,33047,40286,36120,30267,40005,30286,30649,37701,21554,33096,33527,22053,33074,33816,32957,21994,31074,22083,21526,134813,13774,22021,22001,26353,164578,13869,30004,22e3,21946,21655,21874,134209,134294,24272,151880,134774,142434,134818,40619,32090,21982,135285,25245,38765,21652,36045,29174,37238,25596,25529,25598,21865,142147,40050,143027,20890,13535,134567,20903,21581,21790,21779,30310,36397,157834,30129,32950,34820,34694,35015,33206,33820,135361,17644,29444,149254,23440,33547,157843,22139,141044,163119,147875,163187,159440,160438,37232,135641,37384,146684,173737,134828,134905,29286,138402,18254,151490,163833,135147,16634,40029,25887,142752,18675,149472,171388,135148,134666,24674,161187,135149,null,155720,135559,29091,32398,40272,19994,19972,13687,23309,27826,21351,13996,14812,21373,13989,149016,22682,150382,33325,21579,22442,154261,133497,null,14930,140389,29556,171692,19721,39917,146686,171824,19547,151465,169374,171998,33884,146870,160434,157619,145184,25390,32037,147191,146988,14890,36872,21196,15988,13946,17897,132238,30272,23280,134838,30842,163630,22695,16575,22140,39819,23924,30292,173108,40581,19681,30201,14331,24857,143578,148466,null,22109,135849,22439,149859,171526,21044,159918,13741,27722,40316,31830,39737,22494,137068,23635,25811,169168,156469,160100,34477,134440,159010,150242,134513,null,20990,139023,23950,38659,138705,40577,36940,31519,39682,23761,31651,25192,25397,39679,31695,39722,31870,39726,31810,31878,39957,31740,39689,40727,39963,149822,40794,21875,23491,20477,40600,20466,21088,15878,21201,22375,20566,22967,24082,38856,40363,36700,21609,38836,39232,38842,21292,24880,26924,21466,39946,40194,19515,38465,27008,20646,30022,137069,39386,21107,null,37209,38529,37212,null,37201,167575,25471,159011,27338,22033,37262,30074,25221,132092,29519,31856,154657,146685,null,149785,30422,39837,20010,134356,33726,34882,null,23626,27072,20717,22394,21023,24053,20174,27697,131570,20281,21660,21722,21146,36226,13822,24332,13811,null,27474,37244,40869,39831,38958,39
1092,39610,40616,40580,29050,31508,null,27642,34840,32632,null,22048,173642,36471,40787,null,36308,36431,40476,36353,25218,164733,36392,36469,31443,150135,31294,30936,27882,35431,30215,166490,40742,27854,34774,30147,172722,30803,194624,36108,29410,29553,35629,29442,29937,36075,150203,34351,24506,34976,17591,null,137275,159237,null,35454,140571,null,24829,30311,39639,40260,37742,39823,34805,null,34831,36087,29484,38689,39856,13782,29362,19463,31825,39242,155993,24921,19460,40598,24957,null,22367,24943,25254,25145,25294,14940,25058,21418,144373,25444,26626,13778,23895,166850,36826,167481,null,20697,138566,30982,21298,38456,134971,16485,null,30718,null,31938,155418,31962,31277,32870,32867,32077,29957,29938,35220,33306,26380,32866,160902,32859,29936,33027,30500,35209,157644,30035,159441,34729,34766,33224,34700,35401,36013,35651,30507,29944,34010,13877,27058,36262,null,35241,29800,28089,34753,147473,29927,15835,29046,24740,24988,15569,29026,24695,null,32625,166701,29264,24809,19326,21024,15384,146631,155351,161366,152881,137540,135934,170243,159196,159917,23745,156077,166415,145015,131310,157766,151310,17762,23327,156492,40784,40614,156267,12288,65292,12289,12290,65294,8231,65307,65306,65311,65281,65072,8230,8229,65104,65105,65106,183,65108,65109,65110,65111,65372,8211,65073,8212,65075,9588,65076,65103,65288,65289,65077,65078,65371,65373,65079,65080,12308,12309,65081,65082,12304,12305,65083,65084,12298,12299,65085,65086,12296,12297,65087,65088,12300,12301,65089,65090,12302,12303,65091,65092,65113,65114,65115,65116,65117,65118,8216,8217,8220,8221,12317,12318,8245,8242,65283,65286,65290,8251,167,12291,9675,9679,9651,9650,9678,9734,9733,9671,9670,9633,9632,9661,9660,12963,8453,175,65507,65343,717,65097,65098,65101,65102,65099,65100,65119,65120,65121,65291,65293,215,247,177,8730,65308,65310,65309,8806,8807,8800,8734,8786,8801,65122,65123,65124,65125,65126,65374,8745,8746,8869,8736,8735,8895,13266,13265,8747,8750,8757,8756,9792,9794,8853,8857,8593,8595,8592,8594,8598,8599,8601,8600,8741,8739,65295,65340,8725,65128,65284,65509,12306,65504,65505,65285,65312,8451,8457,65129,65130,65131,13269,13212,13213,13214,13262,13217,13198,13199,13252,176,20825,20827,20830,20829,20833,20835,21991,29929,31950,9601,9602,9603,9604,9605,9606,9607,9608,9615,9614,9613,9612,9611,9610,9609,9532,9524,9516,9508,9500,9620,9472,9474,9621,9484,9488,9492,9496,9581,9582,9584,9583,9552,9566,9578,9569,9698,9699,9701,9700,9585,9586,9587,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,12321,12322,12323,12324,12325,12326,12327,12328,12329,21313,21316,21317,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,12549,12550,12551,12552,12553,12554,12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570,12571,12572,12573,12574,12575,12576,12577,12578,12579,12580,12581,12582,12583,12584,12585,729,713,714,711,715,9216,9217,9218,9219,9220,9221,9222,9223,9224,9225,9226,9227,9228,9229,9230,9231,9232,9233,9234,9235,9236,9237,9238,9239,9240,9241,9242,9243,9244,9245,9246,9247,9249,8364,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,19968,20057,19969,19971,20035,20061,20102,20108,20154,20799,20837,20843,20960,20992,20993,21147,21269,21313,21340,21448,19977,19979,19976,19978,20011,20024,20961,20037,20040,20063,20062,20110,20129,20800,20995,21242,21315,21449,21475,22303,22763,22805,22823,22899,23376,23377,23379,23544,23567,23586,23608,23665,24029,24037,24049,24050,24051,24062,24178,24318,24331,24339,25165,19985,19984,19981,20013,20016,20025,20043,23609,20104,20113,20117,20114,20116,20130,20161,20160,20163,20166,20167,20173,20170,20171,20164,20803,20801,20839,20845,20846,20844,20887,20982,20998,20999,21e3,21243,21246,21247,21270,21305,21320,21319,21317,21342,21380,21451,21450,21453,22764,22825,22827,22826,22829,23380,23569,23588,23610,23663,24052,24187,24319,24340,24341,24515,25096,25142,25163,25166,25903,25991,26007,26020,26041,26085,26352,26376,26408,27424,27490,27513,27595,27604,27611,27663,27700,28779,29226,29238,29243,29255,29273,29275,29356,29579,19993,19990,19989,19988,19992,20027,20045,20047,20046,20197,20184,20180,20181,20182,20183,20195,20196,20185,20190,20805,20804,20873,20874,20908,20985,20986,20984,21002,21152,21151,21253,21254,21271,21277,20191,21322,21321,21345,21344,21359,21358,21435,21487,21476,21491,21484,21486,21481,21480,21500,21496,21493,21483,21478,21482,21490,21489,21488,21477,21485,21499,22235,22234,22806,22830,22833,22900,22902,23381,23427,23612,24040,24039,24038,24066,24067,24179,24188,24321,24344,24343,24517,25098,25171,25172,25170,25169,26021,26086,26414,26412,26410,26411,26413,27491,27597,27665,27664,27704,27713,27712,27710,29359,29572,29577,29916,29926,29976,29983,29992,29993,3e4,30001,30002,30003,30091,30333,30382,30399,30446,30683,30690,30707,31034,31166,31348,31435,19998,19999,20050,20051,20073,20121,20132,20134,20133,20223,20233,20249,20234,20245,20237,20240,20241,20239,20210,20214,20219,20208,20211,20221,20225,20235,20809,20807,20806,20808,20840,20849,20877,20912,21015,21009,21010,21006,21014,21155,21256,21281,21280,21360,21361,21513,21519,21516,21514,21520,21505,21515,21508,21521,21517,21512,21507,21518,21510,21522,22240,22238,22237,22323,22320,22312,22317,22316,22319,22313,22809,22810,22839,22840,22916,22904,22915,22909,22905,22914,22913,23383,23384,23431,23432,23429,23433,23546,23574,23673,24030,24070,24182,24180,24335,24347,24537,24534,25102,25100,25101,25104,25187,25179,25176,25910,26089,26088,26092,26093,26354,26355,26377,26429,26420,26417,26421,27425,27492,27515,27670,27741,27735,27737,27743,27744,27728,27733,27745,27739,27725,27726,28784,29279,29277,30334,31481,31859,31992,32566,32650,32701,32769,32771,32780,32786,32819,32895,32905,32907,32908,33251,33258,33267,33276,33292,33307,33311,33390,33394,33406,34411,34880,34892,34915,35199,38433,20018,20136,20301,20303,20295,20311,20318,20276,20315,20309,20272,20304,20305,20285,20282,20280,20291,20308,20284,20294,20323,20316,20320,20271,20302,20278,20313,20317,20296,20314,20812,20811,20813,20853,20918,20919,21029,21028,21033,21034,21032,21163,21161,21162,21164,21283,21363,21365,21533,21549,21534,21566,21542,21582,21543,21574,21571,21555,21576,21570,21531,21545,21578,21561,21563,21560,21550,21557,21558,21536,21564,21568,21553,21547,21535,21548,22250,22256,22244,22251,22346,22353,22336,22349,22343,22350,22334,22352,22351,22331,22767,22846,22941,22930,22952,22942,22947,22937,22934,22925,22948,22931,22922,22949,23389,23388,23386,23387,23436,23435,23439,23596,23616,23617,23615,23614,23696,23697,23700,23692,24043,24076,24207,24199,24202,24311,24324,24351,24420,24418,24439,24441,24536,24524,24535,24525,24561,24555,24568,24554,25106,25105,25220,25239,25238,25216,25206,25225,25197,25226,25212,25214,25209,25203,25234,25199,25240,25198,25237,25235,25233,25222,25913,25915,25912,26097,26356,26463,26446,26447,26448,26449,26460,26454,26462,26441,26438,26464,26451,26455,27493,27599,27714,27742,27801,27777,27784,27785,27781,27803,27754,27770,27792,27760,27788,27752,27798,27794,27773,27779,27762,27774,27764,27782,27766,27789,27796,27800,27778,28790,28796,28797,28792,29282,29281,29280,29380,29378,29590,29996,29995,30007,30008,30338,30447,30691,31169,31168,31167,31350,31995,32597,32918,32915,32925,32920,32923,32922,32946,33391,33426,33419,33421,35211,35282,35328,35895,35910,35925,35997,36196,36208,36275,36523,36554,36763,36784,36802,36806,36805,36804,24033,37009,37026,37034,37030,37027,37193,37318,37324,38450,38446,38449,38442,38444,20006,20054,20083,20107,20123,20126,20139,20140,20335,20381,20365,20339,20351,20332,20379,20363,20358,20355,20336,20341,20360,20329,20347,20374,20350,20367,20369,20346,20820,20818,20821,20841,20855,20854,20856,20925,20989,21051,21048,21047,21050,2104
10,21038,21046,21057,21182,21179,21330,21332,21331,21329,21350,21367,21368,21369,21462,21460,21463,21619,21621,21654,21624,21653,21632,21627,21623,21636,21650,21638,21628,21648,21617,21622,21644,21658,21602,21608,21643,21629,21646,22266,22403,22391,22378,22377,22369,22374,22372,22396,22812,22857,22855,22856,22852,22868,22974,22971,22996,22969,22958,22993,22982,22992,22989,22987,22995,22986,22959,22963,22994,22981,23391,23396,23395,23447,23450,23448,23452,23449,23451,23578,23624,23621,23622,23735,23713,23736,23721,23723,23729,23731,24088,24090,24086,24085,24091,24081,24184,24218,24215,24220,24213,24214,24310,24358,24359,24361,24448,24449,24447,24444,24541,24544,24573,24565,24575,24591,24596,24623,24629,24598,24618,24597,24609,24615,24617,24619,24603,25110,25109,25151,25150,25152,25215,25289,25292,25284,25279,25282,25273,25298,25307,25259,25299,25300,25291,25288,25256,25277,25276,25296,25305,25287,25293,25269,25306,25265,25304,25302,25303,25286,25260,25294,25918,26023,26044,26106,26132,26131,26124,26118,26114,26126,26112,26127,26133,26122,26119,26381,26379,26477,26507,26517,26481,26524,26483,26487,26503,26525,26519,26479,26480,26495,26505,26494,26512,26485,26522,26515,26492,26474,26482,27427,27494,27495,27519,27667,27675,27875,27880,27891,27825,27852,27877,27827,27837,27838,27836,27874,27819,27861,27859,27832,27844,27833,27841,27822,27863,27845,27889,27839,27835,27873,27867,27850,27820,27887,27868,27862,27872,28821,28814,28818,28810,28825,29228,29229,29240,29256,29287,29289,29376,29390,29401,29399,29392,29609,29608,29599,29611,29605,30013,30109,30105,30106,30340,30402,30450,30452,30693,30717,31038,31040,31041,31177,31176,31354,31353,31482,31998,32596,32652,32651,32773,32954,32933,32930,32945,32929,32939,32937,32948,32938,32943,33253,33278,33293,33459,33437,33433,33453,33469,33439,33465,33457,33452,33445,33455,33464,33443,33456,33470,33463,34382,34417,21021,34920,36555,36814,36820,36817,37045,37048,37041,37046,37319,37329,38263,38272,38428,38464,38463,38459,38468,38466,38585,38632,38738,38750,20127,20141,20142,20449,20405,20399,20415,20448,20433,20431,20445,20419,20406,20440,20447,20426,20439,20398,20432,20420,20418,20442,20430,20446,20407,20823,20882,20881,20896,21070,21059,21066,21069,21068,21067,21063,21191,21193,21187,21185,21261,21335,21371,21402,21467,21676,21696,21672,21710,21705,21688,21670,21683,21703,21698,21693,21674,21697,21700,21704,21679,21675,21681,21691,21673,21671,21695,22271,22402,22411,22432,22435,22434,22478,22446,22419,22869,22865,22863,22862,22864,23004,23e3,23039,23011,23016,23043,23013,23018,23002,23014,23041,23035,23401,23459,23462,23460,23458,23461,23553,23630,23631,23629,23627,23769,23762,24055,24093,24101,24095,24189,24224,24230,24314,24328,24365,24421,24456,24453,24458,24459,24455,24460,24457,24594,24605,24608,24613,24590,24616,24653,24688,24680,24674,24646,24643,24684,24683,24682,24676,25153,25308,25366,25353,25340,25325,25345,25326,25341,25351,25329,25335,25327,25324,25342,25332,25361,25346,25919,25925,26027,26045,26082,26149,26157,26144,26151,26159,26143,26152,26161,26148,26359,26623,26579,26609,26580,26576,26604,26550,26543,26613,26601,26607,26564,26577,26548,26586,26597,26552,26575,26590,26611,26544,26585,26594,26589,26578,27498,27523,27526,27573,27602,27607,27679,27849,27915,27954,27946,27969,27941,27916,27953,27934,27927,27963,27965,27966,27958,27931,27893,27961,27943,27960,27945,27950,27957,27918,27947,28843,28858,28851,28844,28847,28845,28856,28846,28836,29232,29298,29295,29300,29417,29408,29409,29623,29642,29627,29618,29645,29632,29619,29978,29997,30031,30028,30030,30027,30123,30116,30117,30114,30115,30328,30342,30343,30344,30408,30406,30403,30405,30465,30457,30456,30473,30475,30462,30460,30471,30684,30722,30740,30732,30733,31046,31049,31048,31047,31161,31162,31185,31186,31179,3
11359,31361,31487,31485,31869,32002,32005,32e3,32009,32007,32004,32006,32568,32654,32703,32772,32784,32781,32785,32822,32982,32997,32986,32963,32964,32972,32993,32987,32974,32990,32996,32989,33268,33314,33511,33539,33541,33507,33499,33510,33540,33509,33538,33545,33490,33495,33521,33537,33500,33492,33489,33502,33491,33503,33519,33542,34384,34425,34427,34426,34893,34923,35201,35284,35336,35330,35331,35998,36e3,36212,36211,36276,36557,36556,36848,36838,36834,36842,36837,36845,36843,36836,36840,37066,37070,37057,37059,37195,37194,37325,38274,38480,38475,38476,38477,38754,38761,38859,38893,38899,38913,39080,39131,39135,39318,39321,20056,20147,20492,20493,20515,20463,20518,20517,20472,20521,20502,20486,20540,20511,20506,20498,20497,20474,20480,20500,20520,20465,20513,20491,20505,20504,20467,20462,20525,20522,20478,20523,20489,20860,20900,20901,20898,20941,20940,20934,20939,21078,21084,21076,21083,21085,21290,21375,21407,21405,21471,21736,21776,21761,21815,21756,21733,21746,21766,21754,21780,21737,21741,21729,21769,21742,21738,21734,21799,21767,21757,21775,22275,22276,22466,22484,22475,22467,22537,22799,22871,22872,22874,23057,23064,23068,23071,23067,23059,23020,23072,23075,23081,23077,23052,23049,23403,23640,23472,23475,23478,23476,23470,23477,23481,23480,23556,23633,23637,23632,23789,23805,23803,23786,23784,23792,23798,23809,23796,24046,24109,24107,24235,24237,24231,24369,24466,24465,24464,24665,24675,24677,24656,24661,24685,24681,24687,24708,24735,24730,24717,24724,24716,24709,24726,25159,25331,25352,25343,25422,25406,25391,25429,25410,25414,25423,25417,25402,25424,25405,25386,25387,25384,25421,25420,25928,25929,26009,26049,26053,26178,26185,26191,26179,26194,26188,26181,26177,26360,26388,26389,26391,26657,26680,26696,26694,26707,26681,26690,26708,26665,26803,26647,26700,26705,26685,26612,26704,26688,26684,26691,26666,26693,26643,26648,26689,27530,27529,27575,27683,27687,27688,27686,27684,27888,28010,28053,28040,28039,28006,28024,28023,27993,28051,28012,28041,28014,27994,28020,28009,28044,28042,28025,28037,28005,28052,28874,28888,28900,28889,28872,28879,29241,29305,29436,29433,29437,29432,29431,29574,29677,29705,29678,29664,29674,29662,30036,30045,30044,30042,30041,30142,30149,30151,30130,30131,30141,30140,30137,30146,30136,30347,30384,30410,30413,30414,30505,30495,30496,30504,30697,30768,30759,30776,30749,30772,30775,30757,30765,30752,30751,30770,31061,31056,31072,31071,31062,31070,31069,31063,31066,31204,31203,31207,31199,31206,31209,31192,31364,31368,31449,31494,31505,31881,32033,32023,32011,32010,32032,32034,32020,32016,32021,32026,32028,32013,32025,32027,32570,32607,32660,32709,32705,32774,32792,32789,32793,32791,32829,32831,33009,33026,33008,33029,33005,33012,33030,33016,33011,33032,33021,33034,33020,33007,33261,33260,33280,33296,33322,33323,33320,33324,33467,33579,33618,33620,33610,33592,33616,33609,33589,33588,33615,33586,33593,33590,33559,33600,33585,33576,33603,34388,34442,34474,34451,34468,34473,34444,34467,34460,34928,34935,34945,34946,34941,34937,35352,35344,35342,35340,35349,35338,35351,35347,35350,35343,35345,35912,35962,35961,36001,36002,36215,36524,36562,36564,36559,36785,36865,36870,36855,36864,36858,36852,36867,36861,36869,36856,37013,37089,37085,37090,37202,37197,37196,37336,37341,37335,37340,37337,38275,38498,38499,38497,38491,38493,38500,38488,38494,38587,39138,39340,39592,39640,39717,39730,39740,20094,20602,20605,20572,20551,20547,20556,20570,20553,20581,20598,20558,20565,20597,20596,20599,20559,20495,20591,20589,20828,20885,20976,21098,21103,21202,21209,21208,21205,21264,21263,21273,21311,21312,21310,21443,26364,21830,21866,21862,21828,21854,21857,21827,21834,21809,21846,21839,21845,21807,21860,21816,21806,21852,21804,21859,21811,21825,21847,22280,22283,22281,22495,22533,22538,22534,22496,22500,22522,22530,22581,22519,22521,22816,22882,23094,23105,23113,23142,23146,23104,23100,23138,23130,23110,23114,23408,23495,23493,23492,23490,23487,23494,23561,23560,23559,23648,23644,23645,23815,23814,23822,23835,23830,23842,23825,23849,23828,23833,23844,23847,23831,24034,24120,24118,24115,24119,24247,24248,24246,24245,24254,24373,24375,24407,24428,24425,24427,24471,24473,24478,24472,24481,24480,24476,24703,24739,24713,24736,24744,24779,24756,24806,24765,24773,24763,24757,24796,24764,24792,24789,24774,24799,24760,24794,24775,25114,25115,25160,25504,25511,25458,25494,25506,25509,25463,25447,25496,25514,25457,25513,25481,25475,25499,25451,25512,25476,25480,25497,25505,25516,25490,25487,25472,25467,25449,25448,25466,25949,25942,25937,25945,25943,21855,25935,25944,25941,25940,26012,26011,26028,26063,26059,26060,26062,26205,26202,26212,26216,26214,26206,26361,21207,26395,26753,26799,26786,26771,26805,26751,26742,26801,26791,26775,26800,26755,26820,26797,26758,26757,26772,26781,26792,26783,26785,26754,27442,27578,27627,27628,27691,28046,28092,28147,28121,28082,28129,28108,28132,28155,28154,28165,28103,28107,28079,28113,28078,28126,28153,28088,28151,28149,28
1101,28114,28186,28085,28122,28139,28120,28138,28145,28142,28136,28102,28100,28074,28140,28095,28134,28921,28937,28938,28925,28911,29245,29309,29313,29468,29467,29462,29459,29465,29575,29701,29706,29699,29702,29694,29709,29920,29942,29943,29980,29986,30053,30054,30050,30064,30095,30164,30165,30133,30154,30157,30350,30420,30418,30427,30519,30526,30524,30518,30520,30522,30827,30787,30798,31077,31080,31085,31227,31378,31381,31520,31528,31515,31532,31526,31513,31518,31534,31890,31895,31893,32070,32067,32113,32046,32057,32060,32064,32048,32051,32068,32047,32066,32050,32049,32573,32670,32666,32716,32718,32722,32796,32842,32838,33071,33046,33059,33067,33065,33072,33060,33282,33333,33335,33334,33337,33678,33694,33688,33656,33698,33686,33725,33707,33682,33674,33683,33673,33696,33655,33659,33660,33670,33703,34389,24426,34503,34496,34486,34500,34485,34502,34507,34481,34479,34505,34899,34974,34952,34987,34962,34966,34957,34955,35219,35215,35370,35357,35363,35365,35377,35373,35359,35355,35362,35913,35930,36009,36012,36011,36008,36010,36007,36199,36198,36286,36282,36571,36575,36889,36877,36890,36887,36899,36895,36893,36880,36885,36894,36896,36879,36898,36886,36891,36884,37096,37101,37117,37207,37326,37365,37350,37347,37351,37357,37353,38281,38506,38517,38515,38520,38512,38516,38518,38519,38508,38592,38634,38633,31456,31455,38914,38915,39770,40165,40565,40575,40613,40635,20642,20621,20613,20633,20625,20608,20630,20632,20634,26368,20977,21106,21108,21109,21097,21214,21213,21211,21338,21413,21883,21888,21927,21884,21898,21917,21912,21890,21916,21930,21908,21895,21899,21891,21939,21934,21919,21822,21938,21914,21947,21932,21937,21886,21897,21931,21913,22285,22575,22570,22580,22564,22576,22577,22561,22557,22560,22777,22778,22880,23159,23194,23167,23186,23195,23207,23411,23409,23506,23500,23507,23504,23562,23563,23601,23884,23888,23860,23879,24061,24133,24125,24128,24131,24190,24266,24257,24258,24260,24380,24429,24489,24490,24488,24785,24801,24754,24758,24800,24860,24867,24826,24853,24816,24827,24820,24936,24817,24846,24822,24841,24832,24850,25119,25161,25507,25484,25551,25536,25577,25545,25542,25549,25554,25571,25552,25569,25558,25581,25582,25462,25588,25578,25563,25682,25562,25593,25950,25958,25954,25955,26001,26e3,26031,26222,26224,26228,26230,26223,26257,26234,26238,26231,26366,26367,26399,26397,26874,26837,26848,26840,26839,26885,26847,26869,26862,26855,26873,26834,26866,26851,26827,26829,26893,26898,26894,26825,26842,26990,26875,27454,27450,27453,27544,27542,27580,27631,27694,27695,27692,28207,28216,28244,28193,28210,28263,28234,28192,28197,28195,28187,28251,28248,28196,28246,28270,28205,28198,28271,28212,28237,28218,28204,28227,28189,28222,28363,28297,28185,28238,28259,28228,28274,28265,28255,28953,28954,28966,28976,28961,28982,29038,28956,29260,29316,29312,29494,29477,29492,29481,29754,29738,29747,29730,29733,29749,29750,29748,29743,29723,29734,29736,29989,29990,30059,30058,30178,30171,30179,30169,30168,30174,30176,30331,30332,30358,30355,30388,30428,30543,30701,30813,30828,30831,31245,31240,31243,31237,31232,31384,31383,31382,31461,31459,31561,31574,31558,31568,31570,31572,31565,31563,31567,31569,31903,31909,32094,32080,32104,32085,32043,32110,32114,32097,32102,32098,32112,32115,21892,32724,32725,32779,32850,32901,33109,33108,33099,33105,33102,33081,33094,33086,33100,33107,33140,33298,33308,33769,33795,33784,33805,33760,33733,33803,33729,33775,33777,33780,33879,33802,33776,33804,33740,33789,33778,33738,33848,33806,33796,33756,33799,33748,33759,34395,34527,34521,34541,34516,34523,34532,34512,34526,34903,35009,35010,34993,35203,35222,35387,35424,35413,35422,35388,35393,35412,35419,35408,35398,35380,35386,35382,35414,35937,35970,36015,36028,36019,36029,36033,36027,36032,36020,36023,36022,36031,36024,36234,36229,36225,36302,36317,36299,36314,36305,36300,36315,36294,36603,36600,36604,36764,36910,36917,36913,36920,36914,36918,37122,37109,37129,37118,37219,37221,37327,37396,37397,37411,37385,37406,37389,37392,37383,37393,38292,38287,38283,38289,38291,38290,38286,38538,38542,38539,38525,38533,38534,38541,38514,38532,38593,38597,38596,38598,38599,38639,38642,38860,38917,38918,38920,39143,39146,39151,39145,39154,39149,39342,39341,40643,40653,40657,20098,20653,20661,20658,20659,20677,20670,20652,20663,20667,20655,20679,21119,21111,21117,21215,21222,21220,21218,21219,21295,21983,21992,21971,21990,21966,21980,21959,21969,21987,21988,21999,21978,21985,21957,21958,21989,21961,22290,22291,22622,22609,22616,22615,22618,22612,22635,22604,22637,22602,22626,22610,22603,22887,23233,23241,23244,23230,23229,23228,23219,23234,23218,239
113,23919,24140,24185,24265,24264,24338,24409,24492,24494,24858,24847,24904,24863,24819,24859,24825,24833,24840,24910,24908,24900,24909,24894,24884,24871,24845,24838,24887,25121,25122,25619,25662,25630,25642,25645,25661,25644,25615,25628,25620,25613,25654,25622,25623,25606,25964,26015,26032,26263,26249,26247,26248,26262,26244,26264,26253,26371,27028,26989,26970,26999,26976,26964,26997,26928,27010,26954,26984,26987,26974,26963,27001,27014,26973,26979,26971,27463,27506,27584,27583,27603,27645,28322,28335,28371,28342,28354,28304,28317,28359,28357,28325,28312,28348,28346,28331,28369,28310,28316,28356,28372,28330,28327,28340,29006,29017,29033,29028,29001,29031,29020,29036,29030,29004,29029,29022,28998,29032,29014,29242,29266,29495,29509,29503,29502,29807,29786,29781,29791,29790,29761,29759,29785,29787,29788,30070,30072,30208,30192,30209,30194,30193,30202,30207,30196,30195,30430,30431,30555,30571,30566,30558,30563,30585,30570,30572,30556,30565,30568,30562,30702,30862,30896,30871,30872,30860,30857,30844,30865,30867,30847,31098,31103,31105,33836,31165,31260,31258,31264,31252,31263,31262,31391,31392,31607,31680,31584,31598,31591,31921,31923,31925,32147,32121,32145,32129,32143,32091,32622,32617,32618,32626,32681,32680,32676,32854,32856,32902,32900,33137,33136,33144,33125,33134,33139,33131,33145,33146,33126,33285,33351,33922,33911,33853,33841,33909,33894,33899,33865,33900,33883,33852,33845,33889,33891,33897,33901,33862,34398,34396,34399,34553,34579,34568,34567,34560,34558,34555,34562,34563,34566,34570,34905,35039,35028,35033,35036,35032,35037,35041,35018,35029,35026,35228,35299,35435,35442,35443,35430,35433,35440,35463,35452,35427,35488,35441,35461,35437,35426,35438,35436,35449,35451,35390,35432,35938,35978,35977,36042,36039,36040,36036,36018,36035,36034,36037,36321,36319,36328,36335,36339,36346,36330,36324,36326,36530,36611,36617,36606,36618,36767,36786,36939,36938,36947,36930,36948,36924,36949,36944,36935,36943,36942,36941,36945,36926,36929,37138,37143,37228,37226,37225,37321,37431,37463,37432,37437,37440,37438,37467,37451,37476,37457,37428,37449,37453,37445,37433,37439,37466,38296,38552,38548,38549,38605,38603,38601,38602,38647,38651,38649,38646,38742,38772,38774,38928,38929,38931,38922,38930,38924,39164,39156,39165,39166,39347,39345,39348,39649,40169,40578,40718,40723,40736,20711,20718,20709,20694,20717,20698,20693,20687,20689,20721,20686,20713,20834,20979,21123,21122,21297,21421,22014,22016,22043,22039,22013,22036,22022,22025,22029,22030,22007,22038,22047,22024,22032,22006,22296,22294,22645,22654,22659,22675,22666,22649,22661,22653,22781,22821,22818,22820,22890,22889,23265,23270,23273,23255,23254,23256,23267,23413,23518,23527,23521,23525,23526,23528,23522,23524,23519,23565,23650,23940,23943,24155,24163,24149,24151,24148,24275,24278,24330,24390,24432,24505,24903,24895,24907,24951,24930,24931,24927,24922,24920,24949,25130,25735,25688,25684,25764,25720,25695,25722,25681,25703,25652,25709,25723,25970,26017,26071,26070,26274,26280,26269,27036,27048,27029,27073,27054,27091,27083,27035,27063,27067,27051,27060,27088,27085,27053,27084,27046,27075,27043,27465,27468,27699,28467,28436,28414,28435,28404,28457,28478,28448,28460,28431,28418,28450,28415,28399,28422,28465,28472,28466,28451,28437,28459,28463,28552,28458,28396,28417,28402,28364,28407,29076,29081,29053,29066,29060,29074,29246,29330,29334,29508,29520,29796,29795,29802,29808,29805,29956,30097,30247,30221,30219,30217,30227,30433,30435,30596,30589,30591,30561,30913,30879,30887,30899,30889,30883,31118,31119,31117,31278,31281,31402,31401,31469,31471,31649,31637,31627,31605,31639,31645,31636,31631,31672,31623,31620,31929,31933,31934,32187,32176,32156,32189,32190,32160,32202,32180,32178,32177,32186,32162,32191,32181,32184,32173,32210,32199,32172,32624,32736,32737,32735,32862,32858,32903,33104,33152,33167,33160,33162,33151,33154,33255,33274,33287,33300,33310,33355,33993,33983,33990,33988,33945,33950,33970,33948,33995,33976,33984,34003,33936,33980,34001,33994,34623,34588,34619,34594,34597,34612,34584,34645,34615,34601,35059,35074,35060,35065,35064,35069,35048,35098,35055,35494,35468,35486,35491,35469,35489,35475,35492,35498,35493,35496,35480,35473,35482,35495,35946,35981,35980,36051,36049,3
16050,36203,36249,36245,36348,36628,36626,36629,36627,36771,36960,36952,36956,36963,36953,36958,36962,36957,36955,37145,37144,37150,37237,37240,37239,37236,37496,37504,37509,37528,37526,37499,37523,37532,37544,37500,37521,38305,38312,38313,38307,38309,38308,38553,38556,38555,38604,38610,38656,38780,38789,38902,38935,38936,39087,39089,39171,39173,39180,39177,39361,39599,39600,39654,39745,39746,40180,40182,40179,40636,40763,40778,20740,20736,20731,20725,20729,20738,20744,20745,20741,20956,21127,21128,21129,21133,21130,21232,21426,22062,22075,22073,22066,22079,22068,22057,22099,22094,22103,22132,22070,22063,22064,22656,22687,22686,22707,22684,22702,22697,22694,22893,23305,23291,23307,23285,23308,23304,23534,23532,23529,23531,23652,23653,23965,23956,24162,24159,24161,24290,24282,24287,24285,24291,24288,24392,24433,24503,24501,24950,24935,24942,24925,24917,24962,24956,24944,24939,24958,24999,24976,25003,24974,25004,24986,24996,24980,25006,25134,25705,25711,25721,25758,25778,25736,25744,25776,25765,25747,25749,25769,25746,25774,25773,25771,25754,25772,25753,25762,25779,25973,25975,25976,26286,26283,26292,26289,27171,27167,27112,27137,27166,27161,27133,27169,27155,27146,27123,27138,27141,27117,27153,27472,27470,27556,27589,27590,28479,28540,28548,28497,28518,28500,28550,28525,28507,28536,28526,28558,28538,28528,28516,28567,28504,28373,28527,28512,28511,29087,29100,29105,29096,29270,29339,29518,29527,29801,29835,29827,29822,29824,30079,30240,30249,30239,30244,30246,30241,30242,30362,30394,30436,30606,30599,30604,30609,30603,30923,30917,30906,30922,30910,30933,30908,30928,31295,31292,31296,31293,31287,31291,31407,31406,31661,31665,31684,31668,31686,31687,31681,31648,31692,31946,32224,32244,32239,32251,32216,32236,32221,32232,32227,32218,32222,32233,32158,32217,32242,32249,32629,32631,32687,32745,32806,33179,33180,33181,33184,33178,33176,34071,34109,34074,34030,34092,34093,34067,34065,34083,34081,34068,34028,34085,34047,34054,34690,34676,34678,34656,34662,34680,34664,34649,34647,34636,34643,34907,34909,35088,35079,35090,35091,35093,35082,35516,35538,35527,35524,35477,35531,35576,35506,35529,35522,35519,35504,35542,35533,35510,35513,35547,35916,35918,35948,36064,36062,36070,36068,36076,36077,36066,36067,36060,36074,36065,36205,36255,36259,36395,36368,36381,36386,36367,36393,36383,36385,36382,36538,36637,36635,36639,36649,36646,36650,36636,36638,36645,36969,36974,36968,36973,36983,37168,37165,37159,37169,37255,37257,37259,37251,37573,37563,37559,37610,37548,37604,37569,37555,37564,37586,37575,37616,37554,38317,38321,38660,38662,38663,38665,38752,38797,38795,38799,38945,38955,38940,39091,39178,39187,39186,39192,39389,39376,39391,39387,39377,39381,39378,39385,39607,39662,39663,39719,39749,39748,39799,39791,40198,40201,40195,40617,40638,40654,22696,40786,20754,20760,20756,20752,20757,20864,20906,20957,21137,21139,21235,22105,22123,22137,22121,22116,22136,22122,22120,22117,22129,22127,22124,22114,22134,22721,22718,22727,22725,22894,23325,23348,23416,23536,23566,24394,25010,24977,25001,24970,25037,25014,25022,25034,25032,25136,25797,25793,25803,25787,25788,25818,25796,25799,25794,25805,25791,25810,25812,25790,25972,26310,26313,26297,26308,26311,26296,27197,27192,27194,27225,27243,27224,27193,27204,27234,27233,27211,27207,27189,27231,27208,27481,27511,27653,28610,28593,28577,28611,28580,28609,28583,28595,28608,28601,28598,28582,28576,28596,29118,29129,29136,29138,29128,29141,29113,29134,29145,29148,29123,29124,29544,29852,29859,29848,29855,29854,29922,29964,29965,30260,30264,30266,30439,30437,30624,30622,30623,30629,30952,30938,30956,30951,31142,31309,31310,31302,31308,31307,31418,31705,31761,31689,31716,31707,31713,31721,31718,31957,31958,32266,32273,32264,32283,32291,32286,32285,32265,32272,32633,32690,32752,32753,32750,32808,33203,33193,33192,33275,33288,33368,33369,34122,34137,34120,34152,34153,34115,34121,34157,34154,34142,34691,34719,34718,34722,34701,34913,35114,35122,35109,35115,35105,35242,35238,35558,35578,35563,35569,35584,35548,35559,35566,35582,35585,35586,35575,35565,35571,35574,35580,35947,35949,35987,36084,36420,36401,36404,36418,36409,36405,36667,36655,36664,36659,36776,36774,36981,36980,36984,36978,36988,36986,37172,37266,37664,37686,37624,37683,37679,37666,37628,37675,37636,37658,37648,37670,37665,37653,37678,37657,38331,38567,38568,38570,38613,38670,38673,38678,38669,38675,38671,38747,38748,38758,38808,38960,38968,38971,38967,38957,38969,38948,39184,39208,39198,39195,39201,39194,39405,39394,39409,39608,39612,39675,39661,39720,39825,40213,40227,40230,40232,40210,40219,40664,40660,40845,40860,20778,20767,20769,20786,21237,22158,22144,22160,22149,22151,22159,22741,22739,22737,22734,23344,23338,23332,23418,23607,23656,23996,23994,23997,23992,24171,24396,24509,25033,25026,25031,25062,25035,25138,25140,25806,25802,25816,25824,25840,25830,25836,25841,25826,25837,25986,25987,26329,26326,27264,27284,27268,27298,27292,27355,27299,27262,27287,27280,27296,27484,27566,27610,27656,28632,28657,28639,28640,28635,28644,28651,28655,28544,28652,28641,28649,28629,28654,28656,29159,29151,29166,29158,29157,29165,29164,29172,29152,29237,29254,29552,29554,29865,29872,29862,29864,30278,30274,30284,30442,30643,30634,30640,30636,30631,30637,30703,30967,30970,30964,30959,30977,31143,31146,31319,31423,31751,31757,31742,31735,31756,31712,31968,31964,31966,31970,31967,31961,31965,32302,32318,32326,32311,32306,32323,32299,32317,32305,32325,32321,32308,32313,32328,32309,32319,32303,32580,32755,32764,32881,32882,32880,32879,32883,33222,33219,33210,33218,33216,33215,33213,33225,33214,33256,33289,33393,34218,34180,34174,34204,34193,34196,34223,34203,34183,34216,34186,34407,34752,34769,34739,34770,34758,34731,34747,34746,34760,34763,35131,35126,35140,35128,35133,35244,35598,35607,35609,35611,35594,35616,35613,35588,35600,35905,35903,35955,36090,36093,36092,36088,36091,36264,36425,36427,36424,36426,36676,36670,36674,36677,36671,36991,36989,3
16996,36993,36994,36992,37177,37283,37278,37276,37709,37762,37672,37749,37706,37733,37707,37656,37758,37740,37723,37744,37722,37716,38346,38347,38348,38344,38342,38577,38584,38614,38684,38686,38816,38867,38982,39094,39221,39425,39423,39854,39851,39850,39853,40251,40255,40587,40655,40670,40668,40669,40667,40766,40779,21474,22165,22190,22745,22744,23352,24413,25059,25139,25844,25842,25854,25862,25850,25851,25847,26039,26332,26406,27315,27308,27331,27323,27320,27330,27310,27311,27487,27512,27567,28681,28683,28670,28678,28666,28689,28687,29179,29180,29182,29176,29559,29557,29863,29887,29973,30294,30296,30290,30653,30655,30651,30652,30990,31150,31329,31330,31328,31428,31429,31787,31783,31786,31774,31779,31777,31975,32340,32341,32350,32346,32353,32338,32345,32584,32761,32763,32887,32886,33229,33231,33290,34255,34217,34253,34256,34249,34224,34234,34233,34214,34799,34796,34802,34784,35206,35250,35316,35624,35641,35628,35627,35920,36101,36441,36451,36454,36452,36447,36437,36544,36681,36685,36999,36995,37e3,37291,37292,37328,37780,37770,37782,37794,37811,37806,37804,37808,37784,37786,37783,38356,38358,38352,38357,38626,38620,38617,38619,38622,38692,38819,38822,38829,38905,38989,38991,38988,38990,38995,39098,39230,39231,39229,39214,39333,39438,39617,39683,39686,39759,39758,39757,39882,39881,39933,39880,39872,40273,40285,40288,40672,40725,40748,20787,22181,22750,22751,22754,23541,40848,24300,25074,25079,25078,25077,25856,25871,26336,26333,27365,27357,27354,27347,28699,28703,28712,28698,28701,28693,28696,29190,29197,29272,29346,29560,29562,29885,29898,29923,30087,30086,30303,30305,30663,31001,31153,31339,31337,31806,31807,31800,31805,31799,31808,32363,32365,32377,32361,32362,32645,32371,32694,32697,32696,33240,34281,34269,34282,34261,34276,34277,34295,34811,34821,34829,34809,34814,35168,35167,35158,35166,35649,35676,35672,35657,35674,35662,35663,35654,35673,36104,36106,36476,36466,36487,36470,36460,36474,36468,36692,36686,36781,37002,37003,37297,37294,37857,37841,37855,37827,37832,37852,37853,37846,37858,37837,37848,37860,37847,37864,38364,38580,38627,38698,38695,38753,38876,38907,39006,39e3,39003,39100,39237,39241,39446,39449,39693,39912,39911,39894,39899,40329,40289,40306,40298,40300,40594,40599,40595,40628,21240,22184,22199,22198,22196,22204,22756,23360,23363,23421,23542,24009,25080,25082,25880,25876,25881,26342,26407,27372,28734,28720,28722,29200,29563,29903,30306,30309,31014,31018,31020,31019,31431,31478,31820,31811,31821,31983,31984,36782,32381,32380,32386,32588,32768,33242,33382,34299,34297,34321,34298,34310,34315,34311,34314,34836,34837,35172,35258,35320,35696,35692,35686,35695,35679,35691,36111,36109,36489,36481,36485,36482,37300,37323,37912,37891,37885,38369,38704,39108,39250,39249,39336,39467,39472,39479,39477,39955,39949,40569,40629,40680,40751,40799,40803,40801,20791,20792,22209,22208,22210,22804,23660,24013,25084,25086,25885,25884,26005,26345,27387,27396,27386,27570,28748,29211,29351,29910,29908,30313,30675,31824,32399,32396,32700,34327,34349,34330,34851,34850,34849,34847,35178,35180,35261,35700,35703,35709,36115,36490,36493,36491,36703,36783,37306,37934,37939,37941,37946,37944,37938,37931,38370,38712,38713,38706,38911,39015,39013,39255,39493,39491,39488,39486,39631,39764,39761,39981,39973,40367,40372,40386,40376,40605,40687,40729,40796,40806,40807,20796,20795,22216,22218,22217,23423,24020,24018,24398,25087,25892,27402,27489,28753,28760,29568,29924,30090,30318,30316,31155,31840,31839,32894,32893,33247,35186,35183,35324,35712,36118,36119,36497,36499,36705,37192,37956,37969,37970,38717,38718,38851,38849,39019,39253,39509,39501,39634,39706,40009,39985,39998,39995,40403,40407,40756,40812,40810,40852,22220,24022,25088,25891,25899,25898,26348,27408,29914,31434,31844,31843,31845,32403,32406,32404,33250,34360,34367,34865,35722,37008,37007,37987,37984,37988,38760,39023,39260,39514,39515,39511,39635,39636,39633,40020,40023,40022,40421,40607,40692,22225,22761,25900,28766,30321,30322,30679,32592,32648,34870,34873,34914,35731,35730,35734,33399,36123,37312,37994,38722,38728,38724,38854,39024,39519,39714,39768,40031,40441,40442,40572,40573,40711,40823,40818,24307,27414,28771,31852,31854,34875,35264,36513,37313,38002,38e3,39025,39262,39638,39715,40652,28772,30682,35738,38007,38857,39522,39525,32412,35740,36522,37317,38013,38014,38012,40055,40056,40695,35924,38015,40474,29224,39530,39729,40475,40478,31858,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,20022,20031,20101,20128,20866,20886,20907,21241,21304,21353,21430,22794,23424,24027,12083,24191,24308,24400,24417,25908,26080,30098,30326,36789,38582,168,710,12541,12542,12445,12446,12291,20189,12293,12294,12295,12540,65339,65341,10045,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8679,8632,8633,12751,131276,20058,131210,20994,17553,40880,20872,40881,161287,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,65506,65508,65287,65282,12849,8470,8481,12443,12444,11904,11908,11910,11911,11912,11914,11916,11917,11925,11932,11933,11941,11943,11946,11948,11950,11958,11964,11966,11974,11978,11980,11981,11983,11990,11991,11998,12003,null,null,null,643,592,603,596,629,339,248,331,650,618,20034,20060,20981,21274,21378,19975,19980,20039,20109,22231,64012,23662,24435,19983,20871,19982,20014,20115,20162,20169,20168,20888,21244,21356,21433,22304,22787,22828,23568,24063,26081,27571,27596,27668,29247,20017,20028,20200,20188,20201,20193,20189,20186,21004,21276,21324,22306,22307,22807,22831,23425,23428,23570,23611,23668,23667,24068,24192,24194,24521,25097,25168,27669,27702,27715,27711,27707,29358,29360,29578,31160,32906,38430,20238,20248,20268,20213,20244,20209,20224,20215,20232,20253,20226,20229,20258,20243,20228,20212,20242,20913,21011,21001,21008,21158,21282,21279,21325,21386,21511,22241,22239,22318,22314,22324,22844,22912,22908,22917,22907,22910,22903,22911,23382,23573,23589,23676,23674,23675,23678,24031,24181,24196,24322,24346,24436,24533,24532,24527,25180,25182,25188,25185,25190,25186,25177,25184,25178,25189,26095,26094,26430,26425,26424,26427,26426,26431,26428,26419,27672,27718,27730,27740,27727,27722,27732,27723,27724,28785,29278,29364,29365,29582,29994,30335,31349,32593,33400,33404,33408,33405,33407,34381,35198,37017,37015,37016,37019,37012,38434,38436,38432,38435,20310,20283,20322,20297,20307,20324,20286,20327,20306,20319,20289,20312,20269,20275,20287,20321,20879,20921,21020,21022,21025,21165,21166,21257,21347,21362,21390,21391,21552,21559,21546,21588,21573,21529,21532,21541,21528,21565,21583,21569,21544,21540,21575,22254,22247,22245,22337,22341,22348,22345,22347,22354,22790,22848,22950,22936,22944,22935,22926,22946,22928,22927,22951,22945,23438,23442,23592,23594,23693,23695,23688,23691,23689,23698,23690,23686,23699,23701,24032,24074,24078,24203,24201,24204,24200,24205,24325,24349,24440,24438,24530,24529,24528,24557,24552,24558,24563,24545,24548,24547,24570,24559,24567,24571,24576,24564,25146,25219,25228,25230,25231,25236,25223,25201,25211,25210,25200,25217,25224,25207,25213,25202,25204,25911,26096,26100,26099,26098,26101,26437,26439,26457,26453,26444,26440,26461,26445,26458,26443,27600,27673,27674,27768,27751,27755,27780,27787,27791,27761,27759,27753,27802,27757,27783,27797,27804,27750,27763,27749,27771,27790,28788,28794,29283,29375,29373,29379,29382,29377,29370,29381,29589,29591,29587,29588,29586,30010,30009,30100,30101,30337,31037,32820,32917,32921,32912,32914,32924,33424,33423,33413,33422,33425,33427,33418,33411,33412,35960,36809,36799,37023,37025,37029,37022,37031,37024,38448,38440,38447,38445,20019,20376,20348,20357,20349,20352,20359,20342,20340,20361,20356,20343,20300,20375,20330,20378,20345,20353,20344,20368,20380,20372,20382,20370,20354,20373,20331,20334,20894,20924,20926,21045,21042,21043,21062,21041,21180,21258,21259,21308,21394,21396,21639,21631,21633,21649,21634,21640,21611,21626,21630,21605,21612,21620,21606,21645,21615,21601,21600,21656,21603,21607,21604,22263,22265,22383,22386,22381,22379,22385,22384,22390,22400,22389,22395,22387,22388,22370,22376,22397,22796,22853,22965,22970,22991,22990,22962,22988,22977,22966,22972,22979,22998,22961,22973,22976,22984,22964,22983,23394,23397,23443,23445,23620,23623,23726,23716,23712,23733,23727,23720,23724,23711,23715,23725,23714,23722,23719,23709,23717,23734,23728,23718,24087,24084,24089,24360,24354,24355,24356,24404,24450,24446,24445,24542,24549,24621,24614,24601,24626,24587,24628,24586,24599,24627,24602,24606,24620,24610,24589,24592,24622,24595,24593,24588,24585,24604,25108,25149,25261,25268,25297,25278,25258,25270,25290,25262,25267,25263,25275,25257,25264,25272,25917,26024,26043,26121,26108,26116,26130,26120,26107,26115,26123,26125,26117,26109,26129,26128,26358,26378,26501,26476,26510,26514,26486,26491,26520,26502,26500,26484,26509,26508,26490,26527,26513,26521,26499,26493,26497,26488,26489,26516,27429,27520,27518,27614,27677,27795,27884,27883,27886,27865,27830,27860,27821,27879,27831,27856,27842,27834,27843,27846,27885,27890,27858,27869,27828,27786,27805,27776,27870,27840,27952,27853,27847,27824,27897,27855,27881,27857,28820,28824,28805,28819,28806,28804,28817,28822,28802,28826,28803,29290,29398,29387,29400,29385,29404,29394,29396,29402,29388,29393,29604,29601,29613,29606,29602,29600,29612,29597,29917,29928,30015,30016,30014,30092,30104,30383,30451,30449,30448,30453,30712,30716,30713,30715,30714,30711,31042,31039,31173,31352,31355,31483,31861,31997,32821,32911,32942,32931,32952,32949,32941,33312,33440,33472,33451,33434,33432,33435,33461,33447,33454,33468,33438,33466,33460,33448,33441,33449,33474,33444,33475,33462,33442,34416,34415,34413,34414,35926,36818,36811,36819,36813,36822,36821,36823,37042,37044,37039,37043,37040,38457,38461,38460,38458,38467,20429,20421,20435,20402,20425,20427,20417,20436,20444,20441,20411,20403,20443,20423,20438,20410,20416,20409,20460,21060,21065,21184,21186,21309,21372,21399,21398,21401,21400,21690,21665,21677,21669,21711,21699,33549,21687,21678,21718,21686,21701,21702,21664,21616,21692,21666,21694,21618,21726,21680,22453,22430,22431,22436,22412,22423,22429,22427,22420,22424,22415,22425,22437,22426,22421,22772,22797,22867,23009,23006,23
1022,23040,23025,23005,23034,23037,23036,23030,23012,23026,23031,23003,23017,23027,23029,23008,23038,23028,23021,23464,23628,23760,23768,23756,23767,23755,23771,23774,23770,23753,23751,23754,23766,23763,23764,23759,23752,23750,23758,23775,23800,24057,24097,24098,24099,24096,24100,24240,24228,24226,24219,24227,24229,24327,24366,24406,24454,24631,24633,24660,24690,24670,24645,24659,24647,24649,24667,24652,24640,24642,24671,24612,24644,24664,24678,24686,25154,25155,25295,25357,25355,25333,25358,25347,25323,25337,25359,25356,25336,25334,25344,25363,25364,25338,25365,25339,25328,25921,25923,26026,26047,26166,26145,26162,26165,26140,26150,26146,26163,26155,26170,26141,26164,26169,26158,26383,26384,26561,26610,26568,26554,26588,26555,26616,26584,26560,26551,26565,26603,26596,26591,26549,26573,26547,26615,26614,26606,26595,26562,26553,26574,26599,26608,26546,26620,26566,26605,26572,26542,26598,26587,26618,26569,26570,26563,26602,26571,27432,27522,27524,27574,27606,27608,27616,27680,27681,27944,27956,27949,27935,27964,27967,27922,27914,27866,27955,27908,27929,27962,27930,27921,27904,27933,27970,27905,27928,27959,27907,27919,27968,27911,27936,27948,27912,27938,27913,27920,28855,28831,28862,28849,28848,28833,28852,28853,28841,29249,29257,29258,29292,29296,29299,29294,29386,29412,29416,29419,29407,29418,29414,29411,29573,29644,29634,29640,29637,29625,29622,29621,29620,29675,29631,29639,29630,29635,29638,29624,29643,29932,29934,29998,30023,30024,30119,30122,30329,30404,30472,30467,30468,30469,30474,30455,30459,30458,30695,30696,30726,30737,30738,30725,30736,30735,30734,30729,30723,30739,31050,31052,31051,31045,31044,31189,31181,31183,31190,31182,31360,31358,31441,31488,31489,31866,31864,31865,31871,31872,31873,32003,32008,32001,32600,32657,32653,32702,32775,32782,32783,32788,32823,32984,32967,32992,32977,32968,32962,32976,32965,32995,32985,32988,32970,32981,32969,32975,32983,32998,32973,33279,33313,33428,33497,33534,33529,33543,33512,33536,33493,33594,33515,33494,33524,33516,33505,33522,33525,33548,33531,33526,33520,33514,33508,33504,33530,33523,33517,34423,34420,34428,34419,34881,34894,34919,34922,34921,35283,35332,35335,36210,36835,36833,36846,36832,37105,37053,37055,37077,37061,37054,37063,37067,37064,37332,37331,38484,38479,38481,38483,38474,38478,20510,20485,20487,20499,20514,20528,20507,20469,20468,20531,20535,20524,20470,20471,20503,20508,20512,20519,20533,20527,20529,20494,20826,20884,20883,20938,20932,20933,20936,20942,21089,21082,21074,21086,21087,21077,21090,21197,21262,21406,21798,21730,21783,21778,21735,21747,21732,21786,21759,21764,21768,21739,21777,21765,21745,21770,21755,21751,21752,21728,21774,21763,21771,22273,22274,22476,22578,22485,22482,22458,22470,22461,22460,22456,22454,22463,22471,22480,22457,22465,22798,22858,23065,23062,23085,23086,23061,23055,23063,23050,23070,23091,23404,23463,23469,23468,23555,23638,23636,23788,23807,23790,23793,23799,23808,23801,24105,24104,24232,24238,24234,24236,24371,24368,24423,24669,24666,24679,24641,24738,24712,24704,24722,24705,24733,24707,24725,24731,24727,24711,24732,24718,25113,25158,25330,25360,25430,25388,25412,25413,25398,25411,25572,25401,25419,25418,25404,25385,25409,25396,25432,25428,25433,25389,25415,25395,25434,25425,25400,25431,25408,25416,25930,25926,26054,26051,26052,26050,26186,26207,26183,26193,26386,26387,26655,26650,26697,26674,26675,26683,26699,26703,26646,26673,26652,26677,26667,26669,26671,26702,26692,26676,26653,26642,26644,26662,26664,26670,26701,26682,26661,26656,27436,27439,27437,27441,27444,27501,32898,27528,27622,27620,27624,27619,27618,27623,27685,28026,28003,28004,28022,27917,28001,28050,27992,28002,28013,28015,28049,28045,28143,28031,28038,27998,28007,28e3,28055,28016,28028,27999,28034,28056,27951,28008,28043,28030,28032,28036,27926,28035,28027,28029,28021,28048,28892,28883,28881,28893,28875,32569,28898,28887,28882,28894,28896,28884,28877,28869,28870,28871,28890,28878,28897,29250,29304,29303,29302,29440,29434,29428,29438,29430,29427,29435,29441,29651,29657,29669,29654,29628,29671,29667,29673,29660,29650,29659,29652,29661,29658,29655,29656,29672,29918,29919,29940,29941,29985,30043,30047,30128,30145,30139,30148,30144,30143,30134,30138,30346,30409,30493,30491,30480,30483,30482,30499,30481,30485,30489,30490,30498,30503,30755,30764,30754,30773,3
10767,30760,30766,30763,30753,30761,30771,30762,30769,31060,31067,31055,31068,31059,31058,31057,31211,31212,31200,31214,31213,31210,31196,31198,31197,31366,31369,31365,31371,31372,31370,31367,31448,31504,31492,31507,31493,31503,31496,31498,31502,31497,31506,31876,31889,31882,31884,31880,31885,31877,32030,32029,32017,32014,32024,32022,32019,32031,32018,32015,32012,32604,32609,32606,32608,32605,32603,32662,32658,32707,32706,32704,32790,32830,32825,33018,33010,33017,33013,33025,33019,33024,33281,33327,33317,33587,33581,33604,33561,33617,33573,33622,33599,33601,33574,33564,33570,33602,33614,33563,33578,33544,33596,33613,33558,33572,33568,33591,33583,33577,33607,33605,33612,33619,33566,33580,33611,33575,33608,34387,34386,34466,34472,34454,34445,34449,34462,34439,34455,34438,34443,34458,34437,34469,34457,34465,34471,34453,34456,34446,34461,34448,34452,34883,34884,34925,34933,34934,34930,34944,34929,34943,34927,34947,34942,34932,34940,35346,35911,35927,35963,36004,36003,36214,36216,36277,36279,36278,36561,36563,36862,36853,36866,36863,36859,36868,36860,36854,37078,37088,37081,37082,37091,37087,37093,37080,37083,37079,37084,37092,37200,37198,37199,37333,37346,37338,38492,38495,38588,39139,39647,39727,20095,20592,20586,20577,20574,20576,20563,20555,20573,20594,20552,20557,20545,20571,20554,20578,20501,20549,20575,20585,20587,20579,20580,20550,20544,20590,20595,20567,20561,20944,21099,21101,21100,21102,21206,21203,21293,21404,21877,21878,21820,21837,21840,21812,21802,21841,21858,21814,21813,21808,21842,21829,21772,21810,21861,21838,21817,21832,21805,21819,21824,21835,22282,22279,22523,22548,22498,22518,22492,22516,22528,22509,22525,22536,22520,22539,22515,22479,22535,22510,22499,22514,22501,22508,22497,22542,22524,22544,22503,22529,22540,22513,22505,22512,22541,22532,22876,23136,23128,23125,23143,23134,23096,23093,23149,23120,23135,23141,23148,23123,23140,23127,23107,23133,23122,23108,23131,23112,23182,23102,23117,23097,23116,23152,23145,23111,23121,23126,23
1106,23132,23410,23406,23489,23488,23641,23838,23819,23837,23834,23840,23820,23848,23821,23846,23845,23823,23856,23826,23843,23839,23854,24126,24116,24241,24244,24249,24242,24243,24374,24376,24475,24470,24479,24714,24720,24710,24766,24752,24762,24787,24788,24783,24804,24793,24797,24776,24753,24795,24759,24778,24767,24771,24781,24768,25394,25445,25482,25474,25469,25533,25502,25517,25501,25495,25515,25486,25455,25479,25488,25454,25519,25461,25500,25453,25518,25468,25508,25403,25503,25464,25477,25473,25489,25485,25456,25939,26061,26213,26209,26203,26201,26204,26210,26392,26745,26759,26768,26780,26733,26734,26798,26795,26966,26735,26787,26796,26793,26741,26740,26802,26767,26743,26770,26748,26731,26738,26794,26752,26737,26750,26779,26774,26763,26784,26761,26788,26744,26747,26769,26764,26762,26749,27446,27443,27447,27448,27537,27535,27533,27534,27532,27690,28096,28075,28084,28083,28276,28076,28137,28130,28087,28150,28116,28160,28104,28128,28127,28118,28094,28133,28124,28125,28123,28148,28106,28093,28141,28144,28090,28117,28098,28111,28105,28112,28146,28115,28157,28119,28109,28131,28091,28922,28941,28919,28951,28916,28940,28912,28932,28915,28944,28924,28927,28934,28947,28928,28920,28918,28939,28930,28942,29310,29307,29308,29311,29469,29463,29447,29457,29464,29450,29448,29439,29455,29470,29576,29686,29688,29685,29700,29697,29693,29703,29696,29690,29692,29695,29708,29707,29684,29704,30052,30051,30158,30162,30159,30155,30156,30161,30160,30351,30345,30419,30521,30511,30509,30513,30514,30516,30515,30525,30501,30523,30517,30792,30802,30793,30797,30794,30796,30758,30789,30800,31076,31079,31081,31082,3
11075,31083,31073,31163,31226,31224,31222,31223,31375,31380,31376,31541,31559,31540,31525,31536,31522,31524,31539,31512,31530,31517,31537,31531,31533,31535,31538,31544,31514,31523,31892,31896,31894,31907,32053,32061,32056,32054,32058,32069,32044,32041,32065,32071,32062,32063,32074,32059,32040,32611,32661,32668,32669,32667,32714,32715,32717,32720,32721,32711,32719,32713,32799,32798,32795,32839,32835,32840,33048,33061,33049,33051,33069,33055,33068,33054,33057,33045,33063,33053,33058,33297,33336,33331,33338,33332,33330,33396,33680,33699,33704,33677,33658,33651,33700,33652,33679,33665,33685,33689,33653,33684,33705,33661,33667,33676,33693,33691,33706,33675,33662,33701,33711,33672,33687,33712,33663,33702,33671,33710,33654,33690,34393,34390,34495,34487,34498,34497,34501,34490,34480,34504,34489,34483,34488,34508,34484,34491,34492,34499,34493,34494,34898,34953,34965,34984,34978,34986,34970,34961,34977,34975,34968,34983,34969,34971,34967,34980,34988,34956,34963,34958,35202,35286,35289,35285,35376,35367,35372,35358,35897,35899,35932,35933,35965,36005,36221,36219,36217,36284,36290,36281,36287,36289,36568,36574,36573,36572,36567,36576,36577,36900,36875,36881,36892,36876,36897,37103,37098,37104,37108,37106,37107,37076,37099,37100,37097,37206,37208,37210,37203,37205,37356,37364,37361,37363,37368,37348,37369,37354,37355,37367,37352,37358,38266,38278,38280,38524,38509,38507,38513,38511,38591,38762,38916,39141,39319,20635,20629,20628,20638,20619,20643,20611,20620,20622,20637,20584,20636,20626,20610,20615,20831,20948,21266,21265,21412,21415,21905,21928,21925,21933,21879,22085,21922,21907,21896,21903,21941,21889,21923,21906,21924,21885,21900,21926,21887,21909,21921,21902,22284,22569,22583,22553,22558,22567,22563,22568,22517,22600,22565,22556,22555,22579,22591,22582,22574,22585,22584,22573,22572,22587,22881,23215,23188,23199,23162,23202,23198,23160,23206,23164,23205,23212,23189,23214,23095,23172,23178,23191,23171,23179,23209,23163,23165,23180,23196,23183,23187,23197,23530,23501,23499,23508,23505,23498,23502,23564,23600,23863,23875,23915,23873,23883,23871,23861,23889,23886,23893,23859,23866,23890,23869,23857,23897,23874,23865,23881,23864,23868,23858,23862,23872,23877,24132,24129,24408,24486,24485,24491,24777,24761,24780,24802,24782,24772,24852,24818,24842,24854,24837,24821,24851,24824,24828,24830,24769,24835,24856,24861,24848,24831,24836,24843,25162,25492,25521,25520,25550,25573,25576,25583,25539,25757,25587,25546,25568,25590,25557,25586,25589,25697,25567,25534,25565,25564,25540,25560,25555,25538,25543,25548,25547,25544,25584,25559,25561,25906,25959,25962,25956,25948,25960,25957,25996,26013,26014,26030,26064,26066,26236,26220,26235,26240,26225,26233,26218,26226,26369,26892,26835,26884,26844,26922,26860,26858,26865,26895,26838,26871,26859,26852,26870,26899,26896,26867,26849,26887,26828,26888,26992,26804,26897,26863,26822,26900,26872,26832,26877,26876,26856,26891,26890,26903,26830,26824,26845,26846,26854,26868,26833,26886,26836,26857,26901,26917,26823,27449,27451,27455,27452,27540,27543,27545,27541,27581,27632,27634,27635,27696,28156,28230,28231,28191,28233,28296,28220,28221,28229,28258,28203,28223,28225,28253,28275,28188,28211,28235,28224,28241,28219,28163,28206,28254,28264,28252,28257,28209,28200,28256,28273,28267,28217,28194,28208,28243,28261,28199,28280,28260,28279,28245,28281,28242,28262,28213,28214,28250,28960,28958,28975,28923,28974,28977,28963,28965,28962,28978,28959,28968,28986,28955,29259,29274,29320,29321,29318,29317,29323,29458,29451,29488,29474,29489,29491,29479,29490,29485,29478,29475,29493,29452,29742,29740,29744,29739,29718,29722,29729,29741,29745,29732,29731,29725,29737,29728,29746,29947,29999,30063,30060,30183,30170,30177,30182,30173,30175,30180,30167,30357,30354,30426,30534,30535,30532,30541,30533,30538,30542,30539,30540,30686,30700,30816,30820,30821,30812,30829,30833,30826,30830,30832,30825,30824,30814,30818,31092,31091,31090,31088,31234,31242,31235,31244,31236,31385,31462,31460,31562,31547,31556,31560,31564,31566,31552,31576,31557,31906,31902,31912,31905,32088,32111,32099,32083,32086,32103,32106,32079,32109,32092,32107,32082,32084,32105,32081,32095,32078,32574,32575,32613,32614,32674,32672,32673,32727,32849,32847,32848,33022,32980,33091,33098,33106,33103,33095,33085,33101,33082,33254,33262,33271,33272,33273,33284,33340,33341,33343,33397,33595,33743,33785,33827,33728,33768,33810,33767,33764,33788,33782,33808,33734,33736,33771,33763,33727,33793,33757,33765,33752,33791,33761,33739,33742,33750,33781,33737,33801,33807,33758,33809,33798,33730,33779,33749,33786,33735,33745,33770,33811,33731,33772,33774,33732,33787,33751,33762,33819,33755,33790,34520,34530,34534,34515,34531,34522,34538,34525,34539,34524,34540,34537,34519,34536,34513,34888,34902,34901,35002,35031,35001,35e3,35008,35006,34998,35004,34999,35005,34994,35073,35017,35221,35224,35223,35293,35290,35291,35406,35405,35385,35417,35392,35415,35416,35396,35397,35410,35400,35409,35402,35404,35407,35935,35969,35968,36026,36030,36016,36025,36021,36228,36224,36233,36312,36307,36301,36295,36310,36316,36303,36309,36313,36296,36311,36293,36591,36599,36602,36601,36582,36590,36581,36597,36583,36584,36598,36587,36593,36588,36596,36585,36909,36916,36911,37126,37164,37124,37119,37116,37128,37113,37115,37121,37120,37127,37125,37123,37217,37220,37215,37218,37216,37377,37386,37413,37379,37402,37414,37391,37388,37376,37394,37375,37373,37382,3738
10,37415,37378,37404,37412,37401,37399,37381,37398,38267,38285,38284,38288,38535,38526,38536,38537,38531,38528,38594,38600,38595,38641,38640,38764,38768,38766,38919,39081,39147,40166,40697,20099,20100,20150,20669,20671,20678,20654,20676,20682,20660,20680,20674,20656,20673,20666,20657,20683,20681,20662,20664,20951,21114,21112,21115,21116,21955,21979,21964,21968,21963,21962,21981,21952,21972,21956,21993,21951,21970,21901,21967,21973,21986,21974,21960,22002,21965,21977,21954,22292,22611,22632,22628,22607,22605,22601,22639,22613,22606,22621,22617,22629,22619,22589,22627,22641,22780,23239,23236,23243,23226,23224,23217,23221,23216,23231,23240,23227,23238,23223,23232,23242,23220,23222,23245,23225,23184,23510,23512,23513,23583,23603,23921,23907,23882,23909,23922,23916,23902,23912,23911,23906,24048,24143,24142,24138,24141,24139,24261,24268,24262,24267,24263,24384,24495,24493,24823,24905,24906,24875,24901,24886,24882,24878,24902,24879,24911,24873,24896,25120,37224,25123,25125,25124,25541,25585,25579,25616,25618,25609,25632,25636,25651,25667,25631,25621,25624,25657,25655,25634,25635,25612,25638,25648,25640,25665,25653,25647,25610,25626,25664,25637,25639,25611,25575,25627,25646,25633,25614,25967,26002,26067,26246,26252,26261,26256,26251,26250,26265,26260,26232,26400,26982,26975,26936,26958,26978,26993,26943,26949,26986,26937,26946,26967,26969,27002,26952,26953,26933,26988,26931,26941,26981,26864,27e3,26932,26985,26944,26991,26948,26998,26968,26945,26996,26956,26939,26955,26935,26972,26959,26961,26930,26962,26927,27003,26940,27462,27461,27459,27458,27464,27457,27547,64013,27643,27644,27641,27639,27640,28315,28374,28360,28303,28352,28319,28307,28308,28320,28337,28345,28358,28370,28349,28353,28318,28361,28343,28336,28365,28326,28367,28338,28350,28355,28380,28376,28313,28306,28302,28301,28324,28321,28351,28339,28368,28362,28311,28334,28323,28999,29012,29010,29027,29024,28993,29021,29026,29042,29048,29034,29025,28994,29016,28995,29003,29040,29023,29008,29011,28996,29005,29018,29263,29325,29324,29329,29328,29326,29500,29506,29499,29498,29504,29514,29513,29764,29770,29771,29778,29777,29783,29760,29775,29776,29774,29762,29766,29773,29780,29921,29951,29950,29949,29981,30073,30071,27011,30191,30223,30211,30199,30206,30204,30201,30200,30224,30203,30198,30189,30197,30205,30361,30389,30429,30549,30559,30560,30546,30550,30554,30569,30567,30548,30553,30573,30688,30855,30874,30868,30863,30852,30869,30853,30854,30881,30851,30841,30873,30848,30870,30843,31100,31106,31101,31097,31249,31256,31257,31250,31255,31253,31266,31251,31259,31248,31395,31394,31390,31467,31590,31588,31597,31604,31593,31602,31589,31603,31601,31600,31585,31608,31606,31587,31922,31924,31919,32136,32134,32128,32141,32127,32133,32122,32142,32123,32131,32124,32140,32148,32132,32125,32146,32621,32619,32615,32616,32620,32678,32677,32679,32731,32732,32801,33124,33120,33143,33116,33129,33115,33122,33138,26401,33118,33142,33127,33135,33092,33121,33309,33353,33348,33344,33346,33349,34033,33855,33878,33910,33913,33935,33933,33893,33873,33856,33926,33895,33840,33869,33917,33882,33881,33908,33907,33885,34055,33886,33847,33850,33844,33914,33859,33912,33842,33861,33833,33753,33867,33839,33858,33837,33887,33904,33849,33870,33868,33874,33903,33989,33934,33851,33863,33846,33843,33896,33918,33860,33835,33888,33876,33902,33872,34571,34564,34551,34572,34554,34518,34549,34637,34552,34574,34569,34561,34550,34573,34565,35030,35019,35021,35022,35038,35035,35034,35020,35024,35205,35227,35295,35301,35300,35297,35296,35298,35292,35302,35446,35462,35455,35425,35391,35447,35458,35460,35445,35459,35457,35444,35450,35900,35915,35914,35941,35940,35942,35974,35972,35973,36044,36200,36201,36241,36236,36238,36239,36237,36243,36244,36240,36242,36336,36320,36332,36337,36334,36304,36329,36323,36322,36327,36338,36331,36340,36614,36607,36609,36608,36613,36615,36616,36610,36619,36946,36927,36932,36937,36925,37136,37133,37135,37137,37142,37140,37131,37134,37230,37231,37448,37458,37424,37434,37478,37427,37477,37470,37507,37422,37450,37446,37485,37484,37455,37472,37479,37487,37430,37473,37488,37425,37460,37475,37456,37490,37454,37459,37452,37462,37426,38303,38300,38302,38299,38546,38547,38545,38551,38606,38650,38653,38648,38645,38771,38775,38776,38770,38927,38925,38926,39084,39158,39161,39343,39346,39344,39349,39597,39595,39771,40170,40173,40167,40576,40701,20710,20692,20695,20712,20723,20699,20714,20701,20708,20691,20716,20720,20719,20707,20704,20952,21120,21121,21225,21227,21296,21420,22055,22037,22028,22034,22012,22031,22044,22017,22035,22018,22010,22045,22020,22015,22009,22665,22652,22672,22680,22662,22657,22655,22644,22667,22650,22663,22673,22670,22646,22658,22664,22651,22676,22671,22782,22891,23260,23278,23269,23253,23274,23258,23277,23275,23283,23266,23264,23259,23276,23262,23261,23257,23272,23263,23415,23520,23523,23651,23938,23936,23933,23942,23930,23937,23927,23946,23945,23944,23934,23932,23949,23929,23935,24152,24153,24147,24280,24273,24279,24270,24284,24277,24281,24274,24276,24388,24387,24431,24502,24876,24872,24897,24926,24945,24947,24914,24915,24946,24940,24960,24948,24916,24954,24923,24933,24891,24938,24929,24918,25129,25127,25131,25643,25677,25691,25693,25716,25718,25714,25715,25725,25717,25702,25766,25678,25730,25694,25692,25675,25683,25696,25680,25727,25663,25708,25707,25689,25701,25719,25971,26016,26273,26272,26271,26373,26372,26402,27057,27062,27081,27040,27086,27030,27056,27052,27068,27025,27033,27022,27047,27021,27049,27070,27055,27071,27076,27069,27044,27092,27065,27082,27034,27087,27059,27027,27050,27041,27038,27097,27031,27024,27074,27061,27045,27078,27466,27469,27467,27550,27551,27552,27587,27588,27646,28366,28405,28401,28419,28453,28408,28471,28411,28462,28425,28494,28441,28442,28455,28440,28475,28434,28397,28426,28470,28531,28409,28398,28461,28480,28464,28476,28469,28395,28423,28430,28483,28421,28413,28406,28473,28444,28412,28474,28447,28429,28446,28424,28449,29063,29072,29065,29056,29061,29058,29071,29051,29062,29057,29079,29252,29267,29335,29333,29331,29507,29517,29521,29516,29794,29811,29809,29813,29810,29799,29806,29952,29954,29955,30077,30096,30230,30216,30220,30229,30225,30218,30228,30392,30593,30588,30597,30594,30574,30592,30575,30590,30595,30898,30890,30900,30893,30888,30846,30891,30878,30885,30880,30892,30882,30884,31128,31114,31115,31126,31125,31124,31123,31127,31112,31122,31120,31275,31306,31280,31279,31272,31270,31400,31403,31404,31470,31624,31644,31626,31633,31632,31638,31629,31628,31643,31630,31621,31640,21124,31641,31652,31618,31931,31935,31932,31930,32167,32183,32194,32163,32170,32193,32192,32197,32157,32206,32196,32198,32203,32204,32175,32185,32150,32188,32159,32166,32174,32169,32161,32201,32627,32738,32739,32741,32734,32804,32861,32860,33161,33158,33155,33159,33165,33164,33163,33301,33943,33956,33953,33951,33978,33998,33986,33964,339
166,33963,33977,33972,33985,33997,33962,33946,33969,34e3,33949,33959,33979,33954,33940,33991,33996,33947,33961,33967,33960,34006,33944,33974,33999,33952,34007,34004,34002,34011,33968,33937,34401,34611,34595,34600,34667,34624,34606,34590,34593,34585,34587,34627,34604,34625,34622,34630,34592,34610,34602,34605,34620,34578,34618,34609,34613,34626,34598,34599,34616,34596,34586,34608,34577,35063,35047,35057,35058,35066,35070,35054,35068,35062,35067,35056,35052,35051,35229,35233,35231,35230,35305,35307,35304,35499,35481,35467,35474,35471,35478,35901,35944,35945,36053,36047,36055,36246,36361,36354,36351,36365,36349,36362,36355,36359,36358,36357,36350,36352,36356,36624,36625,36622,36621,37155,37148,37152,37154,37151,37149,37146,37156,37153,37147,37242,37234,37241,37235,37541,37540,37494,37531,37498,37536,37524,37546,37517,37542,37530,37547,37497,37527,37503,37539,37614,37518,37506,37525,37538,37501,37512,37537,37514,37510,37516,37529,37543,37502,37511,37545,37533,37515,37421,38558,38561,38655,38744,38781,38778,38782,38787,38784,38786,38779,38788,38785,38783,38862,38861,38934,39085,39086,39170,39168,39175,39325,39324,39363,39353,39355,39354,39362,39357,39367,39601,39651,39655,39742,39743,39776,39777,39775,40177,40178,40181,40615,20735,20739,20784,20728,20742,20743,20726,20734,20747,20748,20733,20746,21131,21132,21233,21231,22088,22082,22092,22069,22081,22090,22089,22086,22104,22106,22080,22067,22077,22060,22078,22072,22058,22074,22298,22699,22685,22705,22688,22691,22703,22700,22693,22689,22783,23295,23284,23293,23287,23286,23299,23288,23298,23289,23297,23303,23301,23311,23655,23961,23959,23967,23954,23970,23955,23957,23968,23964,23969,23962,23966,24169,24157,24160,24156,32243,24283,24286,24289,24393,24498,24971,24963,24953,25009,25008,24994,24969,24987,24979,25007,25005,24991,24978,25002,24993,24973,24934,25011,25133,25710,25712,25750,25760,25733,25751,25756,25743,25739,25738,25740,25763,25759,25704,25777,25752,25974,25978,25977,25979,26034,26035,26293,26288,26281,26290,26295,26282,26287,27136,27142,27159,27109,27128,27157,27121,27108,27168,27135,27116,27106,27163,27165,27134,27175,27122,27118,27156,27127,27111,27200,27144,27110,27131,27149,27132,27115,27145,27140,27160,27173,27151,27126,27174,27143,27124,27158,27473,27557,27555,27554,27558,27649,27648,27647,27650,28481,28454,28542,28551,28614,28562,28557,28553,28556,28514,28495,28549,28506,28566,28534,28524,28546,28501,28530,28498,28496,28503,28564,28563,28509,28416,28513,28523,28541,28519,28560,28499,28555,28521,28543,28565,28515,28535,28522,28539,29106,29103,29083,29104,29088,29082,29097,29109,29085,29093,29086,29092,29089,29098,29084,29095,29107,29336,29338,29528,29522,29534,29535,29536,29533,29531,29537,29530,29529,29538,29831,29833,29834,29830,29825,29821,29829,29832,29820,29817,29960,29959,30078,30245,30238,30233,30237,30236,30243,30234,30248,30235,30364,30365,30366,30363,30605,30607,30601,30600,30925,30907,30927,30924,30929,30926,30932,30920,30915,30916,30921,31130,31137,31136,31132,31138,31131,27510,31289,31410,31412,31411,31671,31691,31678,31660,31694,31663,31673,31690,31669,31941,31944,31948,31947,32247,32219,32234,32231,32215,32225,32259,32250,32230,32246,32241,32240,32238,32223,32630,32684,32688,32685,32749,32747,32746,32748,32742,32744,32868,32871,33187,33183,33182,33173,33186,33177,33175,33302,33359,33363,33362,33360,33358,33361,34084,34107,34063,34048,34089,34062,34057,34061,34079,34058,34087,34076,34043,34091,34042,34056,34060,34036,34090,34034,34069,34039,34027,34035,34044,34066,34026,34025,34070,34046,34088,34077,34094,34050,34045,34078,34038,34097,34086,34023,34024,34032,34031,34041,34072,34080,34096,34059,34073,34095,34402,34646,34659,34660,34679,34785,34675,34648,34644,34651,34642,34657,34650,34641,34654,34669,34666,34640,34638,34655,34653,34671,34668,34682,34670,34652,34661,34639,34683,34677,34658,34663,34665,34906,35077,35084,35092,35083,35095,35096,35097,35078,35094,35089,35086,35081,35234,35236,35235,35309,35312,35308,35535,35526,35512,35539,35537,35540,35541,35515,35543,35518,35520,35525,35544,35523,35514,35517,35545,35902,35917,35983,36069,36063,36057,36072,36058,36061,36071,36256,36252,36257,36251,36384,36387,36389,36388,36398,36373,36379,36374,36369,36377,36390,36391,36372,36370,36376,36371,36380,36375,36378,36652,36644,36632,36634,36640,36643,36630,36631,36979,36976,36975,36967,36971,37167,37163,37161,37162,37170,37158,37166,37253,37254,37258,37249,37250,37252,37248,37584,37571,37572,37568,37593,37558,37583,37617,37599,37592,37609,37591,37597,37580,37615,37570,37608,37578,37576,37582,37606,37581,37589,37577,37600,37598,37607,37585,37587,37557,37601,37574,37556,38268,38316,38315,38318,38320,38564,38562,38611,38661,38664,38658,38746,38794,38798,38792,38864,38863,38942,38941,38950,38953,38952,38944,38939,38951,39090,39176,39162,39185,39188,39190,39191,39189,39388,39373,39375,39379,39380,39374,39369,39382,39384,39371,39383,39372,39603,39660,39659,39667,39666,39665,39750,39747,39783,39796,39793,39782,39798,39797,39792,39784,39780,39788,40188,40186,40189,40191,40183,40199,40192,40185,40187,40200,40197,40196,40579,40659,40719,40720,20764,20755,20759,20762,20753,20958,21300,21473,22128,22112,2212
16,22131,22118,22115,22125,22130,22110,22135,22300,22299,22728,22717,22729,22719,22714,22722,22716,22726,23319,23321,23323,23329,23316,23315,23312,23318,23336,23322,23328,23326,23535,23980,23985,23977,23975,23989,23984,23982,23978,23976,23986,23981,23983,23988,24167,24168,24166,24175,24297,24295,24294,24296,24293,24395,24508,24989,25e3,24982,25029,25012,25030,25025,25036,25018,25023,25016,24972,25815,25814,25808,25807,25801,25789,25737,25795,25819,25843,25817,25907,25983,25980,26018,26312,26302,26304,26314,26315,26319,26301,26299,26298,26316,26403,27188,27238,27209,27239,27186,27240,27198,27229,27245,27254,27227,27217,27176,27226,27195,27199,27201,27242,27236,27216,27215,27220,27247,27241,27232,27196,27230,27222,27221,27213,27214,27206,27477,27476,27478,27559,27562,27563,27592,27591,27652,27651,27654,28589,28619,28579,28615,28604,28622,28616,28510,28612,28605,28574,28618,28584,28676,28581,28590,28602,28588,28586,28623,28607,28600,28578,28617,28587,28621,28591,28594,28592,29125,29122,29119,29112,29142,29120,29121,29131,29140,29130,29127,29135,29117,29144,29116,29126,29146,29147,29341,29342,29545,29542,29543,29548,29541,29547,29546,29823,29850,29856,29844,29842,29845,29857,29963,30080,30255,30253,30257,30269,30259,30268,30261,30258,30256,30395,30438,30618,30621,30625,30620,30619,30626,30627,30613,30617,30615,30941,30953,30949,30954,30942,30947,30939,30945,30946,30957,30943,30944,31140,31300,31304,31303,31414,31416,31413,31409,31415,31710,31715,31719,31709,31701,31717,31706,31720,31737,31700,31722,31714,31708,31723,31704,31711,31954,31956,31959,31952,31953,32274,32289,32279,32268,32287,32288,32275,32270,32284,32277,32282,32290,32267,32271,32278,32269,32276,32293,32292,32579,32635,32636,32634,32689,32751,32810,32809,32876,33201,33190,33198,33209,33205,33195,33200,33196,33204,33202,33207,33191,33266,33365,33366,33367,34134,34117,34155,34125,34131,34145,34136,34112,34118,34148,34113,34146,34116,34129,34119,34147,34110,34139,34161,34126,34158,34165,34133,34151,34144,34188,34150,34141,34132,34149,34156,34403,34405,34404,34715,34703,34711,34707,34706,34696,34689,34710,34712,34681,34695,34723,34693,34704,34705,34717,34692,34708,34716,34714,34697,35102,35110,35120,35117,35118,35111,35121,35106,35113,35107,35119,35116,35103,35313,35552,35554,35570,35572,35573,35549,35604,35556,35551,35568,35528,35550,35553,35560,35583,35567,35579,35985,35986,35984,36085,36078,36081,36080,36083,36204,36206,36261,36263,36403,36414,36408,36416,36421,36406,36412,36413,36417,36400,36415,36541,36662,36654,36661,36658,36665,36663,36660,36982,36985,36987,36998,37114,37171,37173,37174,37267,37264,37265,37261,37263,37671,37662,37640,37663,37638,37647,37754,37688,37692,37659,37667,37650,37633,37702,37677,37646,37645,37579,37661,37626,37669,37651,37625,37623,37684,37634,37668,37631,37673,37689,37685,37674,37652,37644,37643,37630,37641,37632,37627,37654,38332,38349,38334,38329,38330,38326,38335,38325,38333,38569,38612,38667,38674,38672,38809,38807,38804,38896,38904,38965,38959,38962,39204,39199,39207,39209,39326,39406,39404,39397,39396,39408,39395,39402,39401,39399,39609,39615,39604,39611,39670,39674,39673,39671,39731,39808,39813,39815,39804,39806,39803,39810,39827,39826,39824,39802,39829,39805,39816,40229,40215,40224,40222,40212,40233,40221,40216,40226,40208,40217,40223,40584,40582,40583,40622,40621,40661,40662,40698,40722,40765,20774,20773,20770,20772,20768,20777,21236,22163,22156,22157,22150,22148,22147,22142,22146,22143,22145,22742,22740,22735,22738,23341,23333,23346,23331,23340,23335,23334,23343,23342,23419,23537,23538,23991,24172,24170,24510,24507,25027,25013,25020,25063,25056,25061,25060,25064,25054,25839,25833,25827,25835,25828,25832,25985,25984,26038,26074,26322,27277,27286,27265,27301,27273,27295,27291,27297,27294,27271,27283,27278,27285,27267,27304,27300,27281,27263,27302,27290,27269,27276,27282,27483,27565,27657,28620,28585,28660,28628,28643,28636,28653,28647,28646,28638,28658,28637,28642,28648,29153,29169,29160,29170,29156,29168,29154,29555,29550,29551,29847,29874,29867,29840,29866,29869,29873,29861,29871,29968,29969,29970,29967,30084,30275,30280,30281,30279,30372,30441,30645,30635,30642,30647,30646,30644,30641,30632,30704,30963,30973,30978,30971,30972,30962,30981,30969,30974,30980,31147,31144,31324,31323,31318,31320,31316,31322,31422,31424,31425,31749,31759,31730,31744,31743,31739,31758,31732,31755,31731,31746,31753,31747,31745,31736,31741,31750,31728,31729,31760,31754,31976,32301,32316,32322,32307,38984,32312,32298,32329,32320,32327,32297,32332,32304,32315,32310,32324,32314,32581,32639,32638,32637,32756,32754,32812,33211,33220,33228,33226,33221,33223,33212,33257,33371,33370,33372,34179,34176,34191,34215,34197,34208,34187,34211,34171,34212,34202,34206,34167,34172,34185,34209,34170,34168,34135,34190,34198,34182,34189,34201,34205,34177,34210,34178,34184,34181,34169,34166,34200,34192,34207,34408,34750,34730,34733,34757,34736,34732,34745,34741,34748,34734,34761,34755,34754,34764,34743,34735,34756,34762,34740,34742,34751,34744,34749,34782,34738,35125,35123,35132,35134,35137,35154,35127,35138,35245,35247,35246,35314,35315,35614,35608,35606,35601,35589,35595,35618,35599,35602,35605,35591,35597,35592,35590,35612,35603,35610,35919,35952,35954,35953,35951,35989,35988,36089,36207,36430,36429,36435,36432,36428,36423,36675,36672,3
16997,36990,37176,37274,37282,37275,37273,37279,37281,37277,37280,37793,37763,37807,37732,37718,37703,37756,37720,37724,37750,37705,37712,37713,37728,37741,37775,37708,37738,37753,37719,37717,37714,37711,37745,37751,37755,37729,37726,37731,37735,37760,37710,37721,38343,38336,38345,38339,38341,38327,38574,38576,38572,38688,38687,38680,38685,38681,38810,38817,38812,38814,38813,38869,38868,38897,38977,38980,38986,38985,38981,38979,39205,39211,39212,39210,39219,39218,39215,39213,39217,39216,39320,39331,39329,39426,39418,39412,39415,39417,39416,39414,39419,39421,39422,39420,39427,39614,39678,39677,39681,39676,39752,39834,39848,39838,39835,39846,39841,39845,39844,39814,39842,39840,39855,40243,40257,40295,40246,40238,40239,40241,40248,40240,40261,40258,40259,40254,40247,40256,40253,32757,40237,40586,40585,40589,40624,40648,40666,40699,40703,40740,40739,40738,40788,40864,20785,20781,20782,22168,22172,22167,22170,22173,22169,22896,23356,23657,23658,24e3,24173,24174,25048,25055,25069,25070,25073,25066,25072,25067,25046,25065,25855,25860,25853,25848,25857,25859,25852,26004,26075,26330,26331,26328,27333,27321,27325,27361,27334,27322,27318,27319,27335,27316,27309,27486,27593,27659,28679,28684,28685,28673,28677,28692,28686,28671,28672,28667,28710,28668,28663,28682,29185,29183,29177,29187,29181,29558,29880,29888,29877,29889,29886,29878,29883,29890,29972,29971,30300,30308,30297,30288,30291,30295,30298,30374,30397,30444,30658,30650,30975,30988,30995,30996,30985,30992,30994,30993,31149,31148,31327,31772,31785,31769,31776,31775,31789,31773,31782,31784,31778,31781,31792,32348,32336,32342,32355,32344,32354,32351,32337,32352,32343,32339,32693,32691,32759,32760,32885,33233,33234,33232,33375,33374,34228,34246,34240,34243,34242,34227,34229,34237,34247,34244,34239,34251,34254,34248,34245,34225,34230,34258,34340,34232,34231,34238,34409,34791,34790,34786,34779,34795,34794,34789,34783,34803,34788,34772,34780,34771,34797,34776,34787,34724,34775,34777,34817,34804,34792,34781,35155,35147,35151,35148,35142,35152,35153,35145,35626,35623,35619,35635,35632,35637,35655,35631,35644,35646,35633,35621,35639,35622,35638,35630,35620,35643,35645,35642,35906,35957,35993,35992,35991,36094,36100,36098,36096,36444,36450,36448,36439,36438,36446,36453,36455,36443,36442,36449,36445,36457,36436,36678,36679,36680,36683,37160,37178,37179,37182,37288,37285,37287,37295,37290,37813,37772,37778,37815,37787,37789,37769,37799,37774,37802,37790,37798,37781,37768,37785,37791,37773,37809,37777,37810,37796,37800,37812,37795,37797,38354,38355,38353,38579,38615,38618,24002,38623,38616,38621,38691,38690,38693,38828,38830,38824,38827,38820,38826,38818,38821,38871,38873,38870,38872,38906,38992,38993,38994,39096,39233,39228,39226,39439,39435,39433,39437,39428,39441,39434,39429,39431,39430,39616,39644,39688,39684,39685,39721,39733,39754,39756,39755,39879,39878,39875,39871,39873,39861,39864,39891,39862,39876,39865,39869,40284,40275,40271,40266,40283,40267,40281,40278,40268,40279,40274,40276,40287,40280,40282,40590,40588,40671,40705,40704,40726,40741,40747,40746,40745,40744,40780,40789,20788,20789,21142,21239,21428,22187,22189,22182,22183,22186,22188,22746,22749,22747,22802,23357,23358,23359,24003,24176,24511,25083,25863,25872,25869,25865,25868,25870,25988,26078,26077,26334,27367,27360,27340,27345,27353,27339,27359,27356,27344,27371,27343,27341,27358,27488,27568,27660,28697,28711,28704,28694,28715,28705,28706,28707,28713,28695,28708,28700,28714,29196,29194,29191,29186,29189,29349,29350,29348,29347,29345,29899,29893,29879,29891,29974,30304,30665,30666,30660,30705,31005,31003,31009,31004,30999,31006,31152,31335,31336,31795,31804,31801,31788,31803,31980,31978,32374,32373,32376,32368,32375,32367,32378,32370,32372,32360,32587,32586,32643,32646,32695,32765,32766,32888,33239,33237,33380,33377,33379,34283,34289,34285,34265,34273,34280,34266,34263,34284,34290,34296,34264,34271,34275,34268,34257,34288,34278,34287,34270,34274,34816,34810,34819,34806,34807,34825,34828,34827,34822,34812,34824,34815,34826,34818,35170,35162,35163,35159,35169,35164,35160,35165,35161,35208,35255,35254,35318,35664,35656,35658,35648,35667,35670,35668,35659,35669,35665,35650,35666,35671,35907,35959,35958,35994,36102,36103,36105,36268,36266,36269,36267,36461,36472,36467,36458,36463,36475,36546,36690,36689,36687,36688,36691,36788,37184,37183,37296,37293,37854,37831,37839,37826,37850,37840,37881,37868,37836,37849,37801,37862,37834,37844,37870,37859,37845,37828,37838,37824,37842,37863,38269,38362,38363,38625,38697,38699,38700,38696,38694,38835,38839,38838,38877,38878,38879,39004,39001,39005,38999,39103,39101,39099,39102,39240,39239,39235,39334,39335,39450,39445,39461,39453,39460,39451,39458,39456,39463,39459,39454,39452,39444,39618,39691,39690,39694,39692,39735,39914,39915,39904,39902,39908,39910,39906,39920,39892,39895,39916,39900,39897,39909,39893,39905,39898,40311,40321,40330,40324,40328,40305,40320,40312,40326,40331,40332,40317,40299,40308,40309,40304,40297,40325,40307,40315,40322,40303,40313,40319,40327,40296,40596,40593,40640,40700,40749,40768,40769,40781,40790,40791,40792,21303,22194,22197,22195,22755,23365,24006,24007,24302,24303,24512,24513,25081,25879,25878,25877,25875,26079,26344,26339,26340,27379,27376,27370,27368,27385,27377,27374,27375,28732,28725,28719,28727,28724,28721,28738,28728,28735,28730,28729,28736,28731,28723,28737,29203,29204,29352,29565,29564,29882,30379,30378,30398,30445,30668,30670,30671,30669,30706,31013,31011,31015,31016,31012,31017,31154,31342,31340,31341,31479,31817,31816,31818,31815,31813,31982,32379,32382,32385,32384,32698,32767,32889,33243,33241,33291,33384,33385,34338,34303,34305,34302,34331,34304,34294,34308,34313,34309,34316,34301,34841,34832,34833,34839,34835,34838,35171,35174,35257,35319,35680,35690,35677,35688,35683,35685,35687,35693,36270,36486,36488,36484,36697,36694,36695,36693,36696,36698,37005,37187,37185,37303,37301,37298,37299,37899,37907,37883,37920,37903,37908,37886,37909,37904,37928,37913,37901,37877,37888,37879,37895,37902,37910,37906,37882,37897,37880,37898,37887,37884,37900,37878,37905,37894,38366,38368,38367,38702,38703,38841,38843,38909,38910,39008,39
1010,39011,39007,39105,39106,39248,39246,39257,39244,39243,39251,39474,39476,39473,39468,39466,39478,39465,39470,39480,39469,39623,39626,39622,39696,39698,39697,39947,39944,39927,39941,39954,39928,4e4,39943,39950,39942,39959,39956,39945,40351,40345,40356,40349,40338,40344,40336,40347,40352,40340,40348,40362,40343,40353,40346,40354,40360,40350,40355,40383,40361,40342,40358,40359,40601,40603,40602,40677,40676,40679,40678,40752,40750,40795,40800,40798,40797,40793,40849,20794,20793,21144,21143,22211,22205,22206,23368,23367,24011,24015,24305,25085,25883,27394,27388,27395,27384,27392,28739,28740,28746,28744,28745,28741,28742,29213,29210,29209,29566,29975,30314,30672,31021,31025,31023,31828,31827,31986,32394,32391,32392,32395,32390,32397,32589,32699,32816,33245,34328,34346,34342,34335,34339,34332,34329,34343,34350,34337,34336,34345,34334,34341,34857,34845,34843,34848,34852,34844,34859,34890,35181,35177,35182,35179,35322,35705,35704,35653,35706,35707,36112,36116,36271,36494,36492,36702,36699,36701,37190,37188,37189,37305,37951,37947,37942,37929,37949,37948,37936,37945,37930,37943,37932,37952,37937,38373,38372,38371,38709,38714,38847,38881,39012,39113,39110,39104,39256,39254,39481,39485,39494,39492,39490,39489,39482,39487,39629,39701,39703,39704,39702,39738,39762,39979,39965,39964,39980,39971,39976,39977,39972,39969,40375,40374,40380,40385,40391,40394,40399,40382,40389,40387,40379,40373,40398,40377,40378,40364,40392,40369,40365,40396,40371,40397,40370,40570,40604,40683,40686,40685,40731,40728,40730,40753,40782,40805,40804,40850,20153,22214,22213,22219,22897,23371,23372,24021,24017,24306,25889,25888,25894,25890,27403,27400,27401,27661,28757,28758,28759,28754,29214,29215,29353,29567,29912,29909,29913,29911,30317,30381,31029,31156,31344,31345,31831,31836,31833,31835,31834,31988,31985,32401,32591,32647,33246,33387,34356,34357,34355,34348,34354,34358,34860,34856,34854,34858,34853,35185,35263,35262,35323,35710,35716,35714,35718,35717,35711,36117,36501,36500,36506,36498,36496,36502,36503,36704,36706,37191,37964,37968,37962,37963,37967,37959,37957,37960,37961,37958,38719,38883,39018,39017,39115,39252,39259,39502,39507,39508,39500,39503,39496,39498,39497,39506,39504,39632,39705,39723,39739,39766,39765,40006,40008,39999,40004,39993,39987,40001,39996,39991,39988,39986,39997,39990,40411,40402,40414,40410,40395,40400,40412,40401,40415,40425,40409,40408,40406,40437,40405,40413,40630,40688,40757,40755,40754,40770,40811,40853,40866,20797,21145,22760,22759,22898,23373,24024,34863,24399,25089,25091,25092,25897,25893,26006,26347,27409,27410,27407,27594,28763,28762,29218,29570,29569,29571,30320,30676,31847,31846,32405,33388,34362,34368,34361,34364,34353,34363,34366,34864,34866,34862,34867,35190,35188,35187,35326,35724,35726,35723,35720,35909,36121,36504,36708,36707,37308,37986,37973,37981,37975,37982,38852,38853,38912,39510,39513,39710,39711,39712,40018,40024,40016,40010,40013,40011,40021,40025,40012,40014,40443,40439,40431,40419,40427,40440,40420,40438,40417,40430,40422,40434,40432,40418,40428,40436,40435,40424,40429,40642,40656,40690,40691,40710,40732,40760,40759,40758,40771,40783,40817,40816,40814,40815,22227,22221,23374,23661,25901,26349,26350,27411,28767,28769,28765,28768,29219,29915,29925,30677,31032,31159,31158,31850,32407,32649,33389,34371,34872,34871,34869,34891,35732,35733,36510,36511,36512,36509,37310,37309,37314,37995,37992,37993,38629,38726,38723,38727,38855,38885,39518,39637,39769,40035,40039,40038,40034,40030,40032,40450,40446,40455,40451,40454,40453,40448,40449,40457,40447,40445,40452,40608,40734,40774,40820,40821,40822,22228,25902,26040,27416,27417,27415,27418,28770,29222,29354,30680,30681,31033,31849,31851,31990,32410,32408,32411,32409,33248,33249,34374,34375,34376,35193,35194,35196,35195,35327,35736,35737,36517,36516,36515,37998,37997,37999,38001,38003,38729,39026,39263,40040,40046,40045,40459,40461,40464,40463,40466,40465,40609,40693,40713,40775,40824,40827,40826,40825,22302,28774,31855,34876,36274,36518,37315,38004,38008,38006,38005,39520,40052,40051,40049,40053,40468,40467,40694,40714,40868,28776,28773,31991,34410,34878,34877,34879,35742,35996,36521,36553,38731,39027,39028,39
1116,39265,39339,39524,39526,39527,39716,40469,40471,40776,25095,27422,29223,34380,36520,38018,38016,38017,39529,39528,39726,40473,29225,34379,35743,38019,40057,40631,30325,39531,40058,40477,28777,28778,40612,40830,40777,40856,30849,37561,35023,22715,24658,31911,23290,9556,9574,9559,9568,9580,9571,9562,9577,9565,9554,9572,9557,9566,9578,9569,9560,9575,9563,9555,9573,9558,9567,9579,9570,9561,9576,9564,9553,9552,9581,9582,9584,9583,65517,132423,37595,132575,147397,34124,17077,29679,20917,13897,149826,166372,37700,137691,33518,146632,30780,26436,25311,149811,166314,131744,158643,135941,20395,140525,20488,159017,162436,144896,150193,140563,20521,131966,24484,131968,131911,28379,132127,20605,20737,13434,20750,39020,14147,33814,149924,132231,20832,144308,20842,134143,139516,131813,140592,132494,143923,137603,23426,34685,132531,146585,20914,20920,40244,20937,20943,20945,15580,20947,150182,20915,20962,21314,20973,33741,26942,145197,24443,21003,21030,21052,21173,21079,21140,21177,21189,31765,34114,21216,34317,158483,21253,166622,21833,28377,147328,133460,147436,21299,21316,134114,27851,136998,26651,29653,24650,16042,14540,136936,29149,17570,21357,21364,165547,21374,21375,136598,136723,30694,21395,166555,21408,21419,21422,29607,153458,16217,29596,21441,21445,27721,20041,22526,21465,15019,134031,21472,147435,142755,21494,134263,21523,28793,21803,26199,27995,21613,158547,134516,21853,21647,21668,18342,136973,134877,15796,134477,166332,140952,21831,19693,21551,29719,21894,21929,22021,137431,147514,17746,148533,26291,135348,22071,26317,144010,26276,26285,22093,22095,30961,22257,38791,21502,22272,22255,22253,166758,13859,135759,22342,147877,27758,28811,22338,14001,158846,22502,136214,22531,136276,148323,22566,150517,22620,22698,13665,22752,22748,135740,22779,23551,22339,172368,148088,37843,13729,22815,26790,14019,28249,136766,23076,21843,136850,34053,22985,134478,158849,159018,137180,23001,137211,137138,159142,28017,137256,136917,23033,159301,23211,23139,14054,149929,23159,14088,23190,29797,23251,159649,140628,15749,137489,14130,136888,24195,21200,23414,25992,23420,162318,16388,18525,131588,23509,24928,137780,154060,132517,23539,23453,19728,23557,138052,23571,29646,23572,138405,158504,23625,18653,23685,23785,23791,23947,138745,138807,23824,23832,23878,138916,23738,24023,33532,14381,149761,139337,139635,33415,14390,15298,24110,27274,24181,24186,148668,134355,21414,20151,24272,21416,137073,24073,24308,164994,24313,24315,14496,24316,26686,37915,24333,131521,194708,15070,18606,135994,24378,157832,140240,24408,140401,24419,38845,159342,24434,37696,166454,24487,23990,15711,152144,139114,159992,140904,37334,131742,166441,24625,26245,137335,14691,15815,13881,22416,141236,31089,15936,24734,24740,24755,149890,149903,162387,29860,20705,23200,24932,33828,24898,194726,159442,24961,20980,132694,24967,23466,147383,141407,25043,166813,170333,25040,14642,141696,141505,24611,24924,25886,25483,131352,25285,137072,25301,142861,25452,149983,14871,25656,25592,136078,137212,25744,28554,142902,38932,147596,153373,25825,25829,38011,14950,25658,14935,25933,28438,150056,150051,25989,25965,25951,143486,26037,149824,19255,26065,16600,137257,26080,26083,24543,144384,26136,143863,143864,26180,143780,143781,26187,134773,26215,152038,26227,26228,138813,143921,165364,143816,152339,30661,141559,39332,26370,148380,150049,15147,27130,145346,26462,26471,26466,147917,168173,26583,17641,26658,28240,37436,26625,144358,159136,26717,144495,27105,27147,166623,26995,26819,144845,26881,26880,15666,14849,144956,15232,26540,26977,166474,17148,26934,27032,15265,132041,33635,20624,27129,144985,139562,27205,145155,27293,15347,26545,27336,168348,15373,27421,133411,24798,27445,27508,141261,28341,146139,132021,137560,14144,21537,146266,27617,147196,27612,27703,140427,149745,158545,27738,33318,27769,146876,17605,146877,147876,149772,149760,146633,14053,15595,134450,39811,143865,140433,32655,26679,159013,159137,159211,28054,27996,28284,28420,149887,147589,159346,34099,159604,20935,27804,28189,33838,166689,28207,146991,29779,147330,31180,28239,23185,143435,28664,14093,28573,146992,28410,136343,147517,17749,37872,28484,28508,15694,28532,168304,15675,28575,147780,28627,147601,147797,147513,147440,147380,147775,20959,147798,147799,147776,156125,28747,28798,28839,28801,28876,28885,28886,28895,16644,15848,29108,29078,148087,28971,28997,23176,29002,29038,23708,148325,29007,37730,148161,28972,148570,150055,150050,29114,166888,28861,29198,37954,29205,22801,37955,29220,37697,153093,29230,29248,149876,26813,29269,29271,15957,143428,26637,28477,29314,29482,29483,149539,165931,18669,165892,29480,29486,29647,29610,134202,158254,29641,29769,147938,136935,150052,26147,14021,149943,149901,150011,29687,29717,26883,150054,29753,132547,16087,29788,141485,29792,167602,29767,29668,29814,33721,29804,14128,29812,37873,27180,29826,18771,150156,147807,150137,166799,23366,166915,137374,29896,137608,299
166,29929,29982,167641,137803,23511,167596,37765,30029,30026,30055,30062,151426,16132,150803,30094,29789,30110,30132,30210,30252,30289,30287,30319,30326,156661,30352,33263,14328,157969,157966,30369,30373,30391,30412,159647,33890,151709,151933,138780,30494,30502,30528,25775,152096,30552,144044,30639,166244,166248,136897,30708,30729,136054,150034,26826,30895,30919,30931,38565,31022,153056,30935,31028,30897,161292,36792,34948,166699,155779,140828,31110,35072,26882,31104,153687,31133,162617,31036,31145,28202,160038,16040,31174,168205,31188],"euc-kr":[44034,44035,44037,44038,44043,44044,44045,44046,44047,44056,44062,44063,44065,44066,44067,44069,44070,44071,44072,44073,44074,44075,44078,44082,44083,44084,null,null,null,null,null,null,44085,44086,44087,44090,44091,44093,44094,44095,44097,44098,44099,44100,44101,44102,44103,44104,44105,44106,44108,44110,44111,44112,44113,44114,44115,44117,null,null,null,null,null,null,44118,44119,44121,44122,44123,44125,44126,44127,44128,44129,44130,44131,44132,44133,44134,44135,44136,44137,44138,44139,44140,44141,44142,44143,44146,44147,44149,44150,44153,44155,44156,44157,44158,44159,44162,44167,44168,44173,44174,44175,44177,44178,44179,44181,44182,44183,44184,44185,44186,44187,44190,44194,44195,44196,44197,44198,44199,44203,44205,44206,44209,44210,44211,44212,44213,44214,44215,44218,44222,44223,44224,44226,44227,44229,44230,44231,44233,44234,44235,44237,44238,44239,44240,44241,44242,44243,44244,44246,44248,44249,44250,44251,44252,44253,44254,44255,44258,44259,44261,44262,44265,44267,44269,44270,44274,44276,44279,44280,44281,44282,44283,44286,44287,44289,44290,44291,44293,44295,44296,44297,44298,44299,44302,44304,44306,44307,44308,44309,44310,44311,44313,44314,44315,44317,44318,44319,44321,44322,44323,44324,44325,44326,44327,44328,44330,44331,44334,44335,44336,44337,44338,44339,null,null,null,null,null,null,44342,44343,44345,44346,44347,44349,44350,44351,44352,44353,44354,44355,44358,44360,44362,44363,44364,44365,44366,44367,44369,44370,44371,44373,44374,44375,null,null,null,null,null,null,44377,44378,44379,44380,44381,44382,44383,44384,44386,44388,44389,44390,44391,44392,44393,44394,44395,44398,44399,44401,44402,44407,44408,44409,44410,44414,44416,44419,44420,44421,44422,44423,44426,44427,44429,44430,44431,44433,44434,44435,44436,44437,44438,44439,44440,44441,44442,44443,44446,44447,44448,44449,44450,44451,44453,44454,44455,44456,44457,44458,44459,44460,44461,44462,44463,44464,44465,44466,44467,44468,44469,44470,44472,44473,44474,44475,44476,44477,44478,44479,44482,44483,44485,44486,44487,44489,44490,44491,44492,44493,44494,44495,44498,44500,44501,44502,44503,44504,44505,44506,44507,44509,44510,44511,44513,44514,44515,44517,44518,44519,44520,44521,44522,44523,44524,44525,44526,44527,44528,44529,44530,44531,44532,44533,44534,44535,44538,44539,44541,44542,44546,44547,44548,44549,44550,44551,44554,44556,44558,44559,44560,44561,44562,44563,44565,44566,44567,44568,44569,44570,44571,44572,null,null,null,null,null,null,44573,44574,44575,44576,44577,44578,44579,44580,44581,44582,44583,44584,44585,44586,44587,44588,44589,44590,44591,44594,44595,44597,44598,44601,44603,44604,null,null,null,null,null,null,44605,44606,44607,44610,44612,44615,44616,44617,44619,44623,44625,44626,44627,44629,44631,44632,44633,44634,44635,44638,44642,44643,44644,44646,44647,44650,44651,44653,44654,44655,44657,44658,44659,44660,44661,44662,44663,44666,44670,44671,44672,44673,44674,44675,44678,44679,44680,44681,44682,44683,44685,44686,44687,44688,44689,44690,44691,44692,44693,44694,44695,44696,44697,44698,44699,44700,44701,44702,44703,44704,44705,44706,44707,44708,44709,44710,44711,44712,44713,44714,44715,44716,44717,44718,44719,44720,44721,44722,44723,44724,44725,44726,44727,44728,44729,44730,44731,44735,44737,44738,44739,44741,44742,44743,44744,44745,44746,44747,44750,44754,44755,44756,44757,44758,44759,44762,44763,44765,44766,44767,44768,44769,44770,44771,44772,44773,44774,44775,44777,44778,44780,44782,44783,44784,44785,44786,44787,44789,44790,44791,44793,44794,44795,44797,44798,44799,44800,44801,44802,44803,44804,44805,null,null,null,null,null,null,44806,44809,44810,44811,44812,44814,44815,44817,44818,44819,44820,44821,44822,44823,44824,44825,44826,44827,44828,44829,44830,44831,44832,44833,44834,44835,null,null,null,null,null,null,44836,44837,44838,44839,44840,44841,44842,44843,44846,44847,44849,44851,44853,44854,44855,44856,44857,44858,44859,44862,44864,44868,44869,44870,44871,44874,44875,44876,44877,44878,44879,44881,44882,44883,44884,44885,44886,44887,44888,44889,44890,44891,44894,44895,44896,44897,44898,44899,44902,44903,44904,44905,44906,44907,44908,44909,44910,44911,44912,44913,44914,44915,44916,44917,44918,44919,44920,44922,44923,44924,44925,44926,44927,44929,44930,44931,44933,44934,44935,44937,44938,44939,44940,44941,44942,44943,44946,44947,44948,44950,44951,44952,44953,44954,44955,44957,44958,44959,44960,44961,44962,44963,44964,44965,44966,44967,44968,44969,44970,44971,44972,44973,44974,44975,44976,4497
17,44978,44979,44980,44981,44982,44983,44986,44987,44989,44990,44991,44993,44994,44995,44996,44997,44998,45002,45004,45007,45008,45009,45010,45011,45013,45014,45015,45016,45017,45018,45019,45021,45022,45023,45024,45025,null,null,null,null,null,null,45026,45027,45028,45029,45030,45031,45034,45035,45036,45037,45038,45039,45042,45043,45045,45046,45047,45049,45050,45051,45052,45053,45054,45055,45058,45059,null,null,null,null,null,null,45061,45062,45063,45064,45065,45066,45067,45069,45070,45071,45073,45074,45075,45077,45078,45079,45080,45081,45082,45083,45086,45087,45088,45089,45090,45091,45092,45093,45094,45095,45097,45098,45099,45100,45101,45102,45103,45104,45105,45106,45107,45108,45109,45110,45111,45112,45113,45114,45115,45116,45117,45118,45119,45120,45121,45122,45123,45126,45127,45129,45131,45133,45135,45136,45137,45138,45142,45144,45146,45147,45148,45150,45151,45152,45153,45154,45155,45156,45157,45158,45159,45160,45161,45162,45163,45164,45165,45166,45167,45168,45169,45170,45171,45172,45173,45174,45175,45176,45177,45178,45179,45182,45183,45185,45186,45187,45189,45190,45191,45192,45193,45194,45195,45198,45200,45202,45203,45204,45205,45206,45207,45211,45213,45214,45219,45220,45221,45222,45223,45226,45232,45234,45238,45239,45241,45242,45243,45245,45246,45247,45248,45249,45250,45251,45254,45258,45259,45260,45261,45262,45263,45266,null,null,null,null,null,null,45267,45269,45270,45271,45273,45274,45275,45276,45277,45278,45279,45281,45282,45283,45284,45286,45287,45288,45289,45290,45291,45292,45293,45294,45295,45296,null,null,null,null,null,null,45297,45298,45299,45300,45301,45302,45303,45304,45305,45306,45307,45308,45309,45310,45311,45312,45313,45314,45315,45316,45317,45318,45319,45322,45325,45326,45327,45329,45332,45333,45334,45335,45338,45342,45343,45344,45345,45346,45350,45351,45353,45354,45355,45357,45358,45359,45360,45361,45362,45363,45366,45370,45371,45372,45373,45374,45375,45378,45379,45381,45382,45383,45385,45386,45387,45388,45389,45390,45391,45394,45395,45398,45399,45401,45402,45403,45405,45406,45407,45409,45410,45411,45412,45413,45414,45415,45416,45417,45418,45419,45420,45421,45422,45423,45424,45425,45426,45427,45428,45429,45430,45431,45434,45435,45437,45438,45439,45441,45443,45444,45445,45446,45447,45450,45452,45454,45455,45456,45457,45461,45462,45463,45465,45466,45467,45469,45470,45471,45472,45473,45474,45475,45476,45477,45478,45479,45481,45482,45483,45484,45485,45486,45487,45488,45489,45490,4549
11,45492,45493,45494,45495,45496,null,null,null,null,null,null,45497,45498,45499,45500,45501,45502,45503,45504,45505,45506,45507,45508,45509,45510,45511,45512,45513,45514,45515,45517,45518,45519,45521,45522,45523,45525,null,null,null,null,null,null,45526,45527,45528,45529,45530,45531,45534,45536,45537,45538,45539,45540,45541,45542,45543,45546,45547,45549,45550,45551,45553,45554,45555,45556,45557,45558,45559,45560,45562,45564,45566,45567,45568,45569,45570,45571,45574,45575,45577,45578,45581,45582,45583,45584,45585,45586,45587,45590,45592,45594,45595,45596,45597,45598,45599,45601,45602,45603,45604,45605,45606,45607,45608,45609,45610,45611,45612,45613,45614,45615,45616,45617,45618,45619,45621,45622,45623,45624,45625,45626,45627,45629,45630,45631,45632,45633,45634,45635,45636,45637,45638,45639,45640,45641,45642,45643,45644,45645,45646,45647,45648,45649,45650,45651,45652,45653,45654,45655,45657,45658,45659,45661,45662,45663,45665,45666,45667,45668,45669,45670,45671,45674,45675,45676,45677,45678,45679,45680,45681,45682,45683,45686,45687,45688,45689,45690,45691,45693,45694,45695,45696,45697,45698,45699,45702,45703,45704,45706,45707,45708,45709,45710,null,null,null,null,null,null,45711,45714,45715,45717,45718,45719,45723,45724,45725,45726,45727,45730,45732,45735,45736,45737,45739,45741,45742,45743,45745,45746,45747,45749,45750,45751,null,null,null,null,null,null,45752,45753,45754,45755,45756,45757,45758,45759,45760,45761,45762,45763,45764,45765,45766,45767,45770,45771,45773,45774,45775,45777,45779,45780,45781,45782,45783,45786,45788,45790,45791,45792,45793,45795,45799,45801,45802,45808,45809,45810,45814,45820,45821,45822,45826,45827,45829,45830,45831,45833,45834,45835,45836,45837,45838,45839,45842,45846,45847,45848,45849,45850,45851,45853,45854,45855,45856,45857,45858,45859,45860,45861,45862,45863,45864,45865,45866,45867,45868,45869,45870,45871,45872,45873,45874,45875,45876,45877,45878,45879,45880,45881,45882,45883,45884,45885,45886,45887,45888,45889,45890,45891,45892,45893,45894,45895,45896,45897,45898,45899,45900,45901,45902,45903,45904,45905,45906,45907,45911,45913,45914,45917,45920,45921,45922,45923,45926,45928,45930,45932,45933,45935,45938,45939,45941,45942,45943,45945,45946,45947,45948,45949,45950,45951,45954,45958,45959,45960,45961,45962,45963,45965,null,null,null,null,null,null,45966,45967,45969,45970,45971,45973,45974,45975,45976,45977,45978,45979,45980,45981,45982,45983,45986,45987,45988,45989,45990,45991,45993,45994,45995,45997,null,null,null,null,null,null,45998,45999,46e3,46001,46002,46003,46004,46005,46006,46007,46008,46009,46010,46011,46012,46013,46014,46015,46016,46017,46018,46019,46022,46023,46025,46026,46029,46031,46033,46034,46035,46038,46040,46042,46044,46046,46047,46049,46050,46051,46053,46054,46055,46057,46058,46059,46060,46061,46062,46063,46064,46065,46066,46067,46068,46069,46070,46071,46072,46073,46074,46075,46077,46078,46079,46080,46081,46082,46083,46084,46085,46086,46087,46088,46089,46090,46091,46092,46093,46094,46095,46097,46098,46099,46100,46101,46102,46103,46105,46106,46107,46109,46110,46111,46113,46114,46115,46116,46117,46118,46119,46122,46124,46125,46126,46127,46128,46129,46130,46131,46133,46134,46135,46136,46137,46138,46139,46140,46141,46142,46143,46144,46145,46146,46147,46148,46149,46150,46151,46152,46153,46154,46155,46156,46157,46158,46159,46162,46163,46165,46166,46167,46169,46170,46171,46172,46173,46174,46175,46178,46180,46182,null,null,null,null,null,null,46183,46184,46185,46186,46187,46189,46190,46191,46192,46193,46194,46195,46196,46197,46198,46199,46200,46201,46202,46203,46204,46205,46206,46207,46209,46210,null,null,null,null,null,null,46211,46212,46213,46214,46215,46217,46218,46219,46220,46221,46222,46223,46224,46225,46226,46227,46228,46229,46230,46231,46232,46233,46234,46235,46236,46238,46239,46240,46241,46242,46243,46245,46246,46247,46249,46250,46251,46253,46254,46255,46256,46257,46258,46259,46260,46262,46264,46266,46267,46268,46269,46270,46271,46273,46274,46275,46277,46278,46279,46281,46282,46283,46284,46285,46286,46287,46289,46290,46291,46292,46294,46295,46296,46297,46298,46299,46302,46303,46305,46306,46309,46311,46312,46313,46314,46315,46318,46320,46322,46323,46324,46325,46326,46327,46329,46330,46331,46332,46333,46334,46335,46336,46337,46338,46339,46340,46341,46342,46343,46344,46345,46346,46347,46348,46349,46350,46351,46352,46353,46354,46355,46358,46359,46361,46362,46365,46366,46367,46368,46369,46370,46371,46374,46379,46380,46381,46382,46383,4638
16,46387,46389,46390,46391,46393,46394,46395,46396,46397,46398,46399,46402,46406,null,null,null,null,null,null,46407,46408,46409,46410,46414,46415,46417,46418,46419,46421,46422,46423,46424,46425,46426,46427,46430,46434,46435,46436,46437,46438,46439,46440,46441,46442,null,null,null,null,null,null,46443,46444,46445,46446,46447,46448,46449,46450,46451,46452,46453,46454,46455,46456,46457,46458,46459,46460,46461,46462,46463,46464,46465,46466,46467,46468,46469,46470,46471,46472,46473,46474,46475,46476,46477,46478,46479,46480,46481,46482,46483,46484,46485,46486,46487,46488,46489,46490,46491,46492,46493,46494,46495,46498,46499,46501,46502,46503,46505,46508,46509,46510,46511,46514,46518,46519,46520,46521,46522,46526,46527,46529,46530,46531,46533,46534,46535,46536,46537,46538,46539,46542,46546,46547,46548,46549,46550,46551,46553,46554,46555,46556,46557,46558,46559,46560,46561,46562,46563,46564,46565,46566,46567,46568,46569,46570,46571,46573,46574,46575,46576,46577,46578,46579,46580,46581,46582,46583,46584,46585,46586,46587,46588,46589,46590,46591,46592,46593,46594,46595,46596,46597,46598,46599,46600,46601,46602,46603,46604,46605,46606,46607,46610,46611,46613,46614,46615,46617,46618,46619,46620,46621,null,null,null,null,null,null,46622,46623,46624,46625,46626,46627,46628,46630,46631,46632,46633,46634,46635,46637,46638,46639,46640,46641,46642,46643,46645,46646,46647,46648,46649,46650,null,null,null,null,null,null,46651,46652,46653,46654,46655,46656,46657,46658,46659,46660,46661,46662,46663,46665,46666,46667,46668,46669,46670,46671,46672,46673,46674,46675,46676,46677,46678,46679,46680,46681,46682,46683,46684,46685,46686,46687,46688,46689,46690,46691,46693,46694,46695,46697,46698,46699,46700,46701,46702,46703,46704,46705,46706,46707,46708,46709,46710,46711,46712,46713,46714,46715,46716,46717,46718,46719,46720,46721,46722,46723,46724,46725,46726,46727,46728,46729,46730,46731,46732,46733,46734,46735,46736,46737,46738,46739,46740,46741,46742,46743,46744,46745,46746,46747,46750,46751,46753,46754,46755,46757,46758,46759,46760,46761,46762,46765,46766,46767,46768,46770,46771,46772,46773,46774,46775,46776,46777,46778,46779,46780,46781,46782,46783,46784,46785,46786,46787,46788,46789,46790,46791,46792,46793,46794,46795,46796,46797,46798,46799,46800,46801,46802,46803,46805,46806,46807,46808,46809,46810,46811,46812,46813,null,null,null,null,null,null,46814,46815,46816,46817,46818,46819,46820,46821,46822,46823,46824,46825,46826,46827,46828,46829,46830,46831,46833,46834,46835,46837,46838,46839,46841,46842,null,null,null,null,null,null,46843,46844,46845,46846,46847,46850,46851,46852,46854,46855,46856,46857,46858,46859,46860,46861,46862,46863,46864,46865,46866,46867,46868,46869,46870,46871,46872,46873,46874,46875,46876,46877,46878,46879,46880,46881,46882,46883,46884,46885,46886,46887,46890,46891,46893,46894,46897,46898,46899,46900,46901,46902,46903,46906,46908,46909,46910,46911,46912,46913,46914,46915,46917,46918,46919,46921,46922,46923,46925,46926,46927,46928,46929,46930,46931,46934,46935,46936,46937,46938,46939,46940,46941,46942,46943,46945,46946,46947,46949,46950,46951,46953,46954,46955,46956,46957,46958,46959,46962,46964,46966,46967,46968,46969,46970,46971,46974,46975,46977,46978,46979,46981,46982,46983,46984,46985,46986,46987,46990,46995,46996,46997,47002,47003,47005,47006,47007,47009,47010,47011,47012,47013,47014,47015,47018,47022,47023,47024,47025,47026,47027,47030,47031,47033,47034,47035,47036,47037,47038,47039,47040,47041,null,null,null,null,null,null,47042,47043,47044,47045,47046,47048,47050,47051,47052,47053,47054,47055,47056,47057,47058,47059,47060,47061,47062,47063,47064,47065,47066,47067,47068,47069,null,null,null,null,null,null,47070,47071,47072,47073,47074,47075,47076,47077,47078,47079,47080,47081,47082,47083,47086,47087,47089,47090,47091,47093,47094,47095,47096,47097,47098,47099,47102,47106,47107,47108,47109,47110,47114,47115,47117,47118,47119,47121,47122,47123,47124,47125,47126,47127,47130,47132,47134,47135,47136,47137,47138,47139,47142,47143,47145,47146,47147,47149,47150,47151,47152,47153,47154,47155,47158,47162,47163,47164,47165,47166,47167,47169,47170,47171,47173,47174,47175,47176,47177,47178,47179,47180,47181,47182,47183,47184,47186,47188,47189,47190,47191,47192,47193,47194,47195,47198,47199,47201,47202,47203,47205,47206,47207,47208,47209,47210,47211,47214,47216,47218,47219,47220,47221,47222,47223,47225,47226,47227,47229,47230,47231,47232,47233,47234,47235,47236,47237,47238,47239,47240,47241,47242,47243,47244,47246,47247,47248,47249,47250,47251,47252,47253,47254,47255,47256,47257,47258,47259,47260,47261,47262,47263,null,null,null,null,null,null,47264,47265,47266,47267,47268,47269,47270,47271,47273,47274,47275,47276,47277,47278,47279,47281,47282,47283,47285,47286,47287,47289,47290,47291,47292,47293,null,null,null,null,null,null,47294,47295,47298,47300,47302,47303,47304,47305,47306,47307,47309,47310,47311,47313,47314,47315,47317,47318,47319,47320,47321,47322,47323,47324,47326,47328,47330,47331,47332,47333,47334,47335,47338,47339,47341,47342,47343,47345,47346,47347,47348,47349,47350,47351,47354,47356,47358,47359,47360,47361,47362,47363,47365,47366,47367,47368,47369,47370,47371,47372,47373,47374,47375,47376,47377,47378,47379,47380,47381,47382,47383,47385,47386,47387,47388,47389,47390,47391,47393,47394,47395,47396,47397,47398,47399,47400,47401,47402,47403,47404,47405,47406,47407,47408,47409,47410,47411,47412,47413,47414,47415,47416,47417,47418,47419,47422,47423,47425,47426,47427,47429,47430,47431,47432,47433,47434,47435,47437,47438,47440,47442,47443,47444,47445,47446,47447,47450,47451,47453,47454,47455,47457,47458,47459,47460,47461,47462,47463,47466,47468,47470,47471,47472,47473,47474,47475,47478,47479,47481,47482,47483,47485,null,null,null,null,null,null,47486,47487,47488,47489,47490,47491,47494,47496,47499,47500,47503,47504,47
1505,47506,47507,47508,47509,47510,47511,47512,47513,47514,47515,47516,47517,47518,null,null,null,null,null,null,47519,47520,47521,47522,47523,47524,47525,47526,47527,47528,47529,47530,47531,47534,47535,47537,47538,47539,47541,47542,47543,47544,47545,47546,47547,47550,47552,47554,47555,47556,47557,47558,47559,47562,47563,47565,47571,47572,47573,47574,47575,47578,47580,47583,47584,47586,47590,47591,47593,47594,47595,47597,47598,47599,47600,47601,47602,47603,47606,47611,47612,47613,47614,47615,47618,47619,47620,47621,47622,47623,47625,47626,47627,47628,47629,47630,47631,47632,47633,47634,47635,47636,47638,47639,47640,47641,47642,47643,47644,47645,47646,47647,47648,47649,47650,47651,47652,47653,47654,47655,47656,47657,47658,47659,47660,47661,47662,47663,47664,47665,47666,47667,47668,47669,47670,47671,47674,47675,47677,47678,47679,47681,47683,47684,47685,47686,47687,47690,47692,47695,47696,47697,47698,47702,47703,47705,47706,47707,47709,47710,47711,47712,47713,47714,47715,47718,47722,47723,47724,47725,47726,47727,null,null,null,null,null,null,47730,47731,47733,47734,47735,47737,47738,47739,47740,47741,47742,47743,47744,47745,47746,47750,47752,47753,47754,47755,47757,47758,47759,47760,47761,47762,null,null,null,null,null,null,47763,47764,47765,47766,47767,47768,47769,47770,47771,47772,47773,47774,47775,47776,47777,47778,47779,47780,47781,47782,47783,47786,47789,47790,47791,47793,47795,47796,47797,47798,47799,47802,47804,47806,47807,47808,47809,47810,47811,47813,47814,47815,47817,47818,47819,47820,47821,47822,47823,47824,47825,47826,47827,47828,47829,47830,47831,47834,47835,47836,47837,47838,47839,47840,47841,47842,47843,47844,47845,47846,47847,47848,47849,47850,47851,47852,47853,47854,47855,47856,47857,47858,47859,47860,47861,47862,47863,47864,47865,47866,47867,47869,47870,47871,47873,47874,47875,47877,47878,47879,47880,47881,47882,47883,47884,47886,47888,47890,47891,47892,47893,47894,47895,47897,47898,47899,47901,47902,47903,47905,47906,47907,47908,47909,47910,47911,47912,47914,47916,47917,47918,47919,47920,47921,47922,47923,47927,47929,47930,47935,47936,47937,47938,47939,47942,47944,47946,47947,47948,47950,47953,47954,null,null,null,null,null,null,47955,47957,47958,47959,47961,47962,47963,47964,47965,47966,47967,47968,47970,47972,47973,47974,47975,47976,47977,47978,47979,47981,47982,47983,47984,47985,null,null,null,null,null,null,47986,47987,47988,47989,47990,47991,47992,47993,47994,47995,47996,47997,47998,47999,48e3,48001,48002,48003,48004,48005,48006,48007,48009,48010,48011,48013,48014,48015,48017,48018,48019,48020,48021,48022,48023,48024,48025,48026,48027,48028,48029,48030,48031,48032,48033,48034,48035,48037,48038,48039,48041,48042,48043,48045,48046,48047,48048,48049,48050,48051,48053,48054,48056,48057,48058,48059,48060,48061,48062,48063,48065,48066,48067,48069,48070,48071,48073,48074,48075,48076,48077,48078,48079,48081,48082,48084,48085,48086,48087,48088,48089,48090,48091,48092,48093,48094,48095,48096,48097,48098,48099,48100,48101,48102,48103,48104,48105,48106,48107,48108,48109,48110,48111,48112,48113,48114,48115,48116,48117,48118,48119,48122,48123,48125,48126,48129,48131,48132,48133,48134,48135,48138,48142,48144,48146,48147,48153,48154,48160,48161,48162,48163,48166,48168,48170,48171,48172,48174,48175,48178,48179,48181,null,null,null,null,null,null,48182,48183,48185,48186,48187,48188,48189,48190,48191,48194,48198,48199,48200,48202,48203,48206,48207,48209,48210,48211,48212,48213,48214,48215,48216,48217,null,null,null,null,null,null,48218,48219,48220,48222,48223,48224,48225,48226,48227,48228,48229,48230,48231,48232,48233,48234,48235,48236,48237,48238,48239,48240,48241,48242,48243,48244,48245,48246,48247,48248,48249,48250,48251,48252,48253,48254,48255,48256,48257,48258,48259,48262,48263,48265,48266,48269,48271,48272,48273,48274,48275,48278,48280,48283,48284,48285,48286,48287,48290,48291,48293,48294,48297,48298,48299,48300,48301,48302,48303,48306,48310,48311,48312,48313,48314,48315,48318,48319,48321,48322,48323,48325,48326,48327,48328,48329,48330,48331,48332,48334,48338,48339,48340,48342,48343,48345,48346,48347,48349,48350,48351,48352,48353,48354,48355,48356,48357,48358,48359,48360,48361,48362,48363,48364,48365,48366,48367,48368,48369,48370,48371,48375,48377,48378,48379,48381,48382,48383,48384,48385,48386,48387,48390,48392,48394,48395,48396,48397,48398,48399,48401,48402,48403,48405,48406,48407,48408,48409,48410,48411,48412,48413,null,null,null,null,null,null,48414,48415,48416,48417,48418,48419,48421,48422,48423,48424,48425,48426,48427,48429,48430,48431,48432,48433,48434,48435,48436,48437,48438,48439,48440,48441,null,null,null,null,null,null,48442,48443,48444,48445,48446,48447,48449,48450,48451,48452,48453,48454,48455,48458,48459,48461,48462,48463,48465,48466,48467,48468,48469,48470,48471,48474,48475,48476,48477,48478,48479,48480,48481,48482,48483,48485,48486,48487,48489,48490,48491,48492,48493,48494,48495,48496,48497,48498,48499,48500,48501,48502,48503,48504,48505,48506,48507,48508,48509,48510,48511,48514,48515,48517,48518,48523,48524,48525,48526,48527,48530,48532,48534,48535,48536,48539,48541,48542,48543,48544,48545,48546,48547,48549,48550,48551,48552,48553,48554,48555,48556,48557,48558,48559,48561,48562,48563,48564,48565,48566,48567,48569,48570,48571,48572,48573,48574,48575,48576,48577,48578,48579,48580,48581,48582,48583,48584,48585,48586,48587,48588,48589,48590,48591,48592,48593,48594,48595,48598,48599,48601,48602,48603,48605,48606,48607,48608,48609,48610,48611,48612,48613,48614,48615,48616,48618,48619,48620,48621,48622,48623,48625,null,null,null,null,null,null,48
1626,48627,48629,48630,48631,48633,48634,48635,48636,48637,48638,48639,48641,48642,48644,48646,48647,48648,48649,48650,48651,48654,48655,48657,48658,48659,null,null,null,null,null,null,48661,48662,48663,48664,48665,48666,48667,48670,48672,48673,48674,48675,48676,48677,48678,48679,48680,48681,48682,48683,48684,48685,48686,48687,48688,48689,48690,48691,48692,48693,48694,48695,48696,48697,48698,48699,48700,48701,48702,48703,48704,48705,48706,48707,48710,48711,48713,48714,48715,48717,48719,48720,48721,48722,48723,48726,48728,48732,48733,48734,48735,48738,48739,48741,48742,48743,48745,48747,48748,48749,48750,48751,48754,48758,48759,48760,48761,48762,48766,48767,48769,48770,48771,48773,48774,48775,48776,48777,48778,48779,48782,48786,48787,48788,48789,48790,48791,48794,48795,48796,48797,48798,48799,48800,48801,48802,48803,48804,48805,48806,48807,48809,48810,48811,48812,48813,48814,48815,48816,48817,48818,48819,48820,48821,48822,48823,48824,48825,48826,48827,48828,48829,48830,48831,48832,48833,48834,48835,48836,48837,48838,48839,48840,48841,48842,48843,48844,48845,48846,48847,48850,48851,null,null,null,null,null,null,48853,48854,48857,48858,48859,48860,48861,48862,48863,48865,48866,48870,48871,48872,48873,48874,48875,48877,48878,48879,48880,48881,48882,48883,48884,48885,null,null,null,null,null,null,48886,48887,48888,48889,48890,48891,48892,48893,48894,48895,48896,48898,48899,48900,48901,48902,48903,48906,48907,48908,48909,48910,48911,48912,48913,48914,48915,48916,48917,48918,48919,48922,48926,48927,48928,48929,48930,48931,48932,48933,48934,48935,48936,48937,48938,48939,48940,48941,48942,48943,48944,48945,48946,48947,48948,48949,48950,48951,48952,48953,48954,48955,48956,48957,48958,48959,48962,48963,48965,48966,48967,48969,48970,48971,48972,48973,48974,48975,48978,48979,48980,48982,48983,48984,48985,48986,48987,48988,48989,48990,48991,48992,48993,48994,48995,48996,48997,48998,48999,49e3,49001,49002,49003,49004,49005,49006,49007,49008,49009,49010,49011,49012,49013,49014,49015,49016,49017,49018,49019,49020,49021,49022,49023,49024,49025,49026,49027,49028,49029,49030,49031,49032,49033,49034,49035,49036,49037,49038,49039,49040,49041,49042,49043,49045,49046,49047,49048,49049,49050,49051,49052,49053,null,null,null,null,null,null,49054,49055,49056,49057,49058,49059,49060,49061,49062,49063,49064,49065,49066,49067,49068,49069,49070,49071,49073,49074,49075,49076,49077,49078,49079,49080,null,null,null,null,null,null,49081,49082,49083,49084,49085,49086,49087,49088,49089,49090,49091,49092,49094,49095,49096,49097,49098,49099,49102,49103,49105,49106,49107,49109,49110,49111,49112,49113,49114,49115,49117,49118,49120,49122,49123,49124,49125,49126,49127,49128,49129,49130,49131,49132,49133,49134,49135,49136,49137,49138,49139,49140,49141,49142,49143,49144,49145,49146,49147,49148,49149,49150,49151,49152,49153,49154,49155,49156,49157,49158,49159,49160,49161,49162,49163,49164,49165,49166,49167,49168,49169,49170,49171,49172,49173,49174,49175,49176,49177,49178,49179,49180,49181,49182,49183,49184,49185,49186,49187,49188,49189,49190,49191,49192,49193,49194,49195,49196,49197,49198,49199,49200,49201,49202,49203,49204,49205,49206,49207,49208,49209,49210,49211,49213,49214,49215,49216,49217,49218,49219,49220,49221,49222,49223,49224,49225,49226,49227,49228,49229,49230,49231,49232,49234,49235,49236,49237,49238,49239,49241,49242,49243,null,null,null,null,null,null,49245,49246,49247,49249,49250,49251,49252,49253,49254,49255,49258,49259,49260,49261,49262,49263,49264,49265,49266,49267,49268,49269,49270,49271,49272,49273,null,null,null,null,null,null,49274,49275,49276,49277,49278,49279,49280,49281,49282,49283,49284,49285,49286,49287,49288,49289,49290,49291,49292,49293,49294,49295,49298,49299,49301,49302,49303,49305,49306,49307,49308,49309,49310,49311,49314,49316,49318,49319,49320,49321,49322,49323,49326,49329,49330,49335,49336,49337,49338,49339,49342,49346,49347,49348,49350,49351,49354,49355,49357,49358,49359,49361,49362,49363,49364,49365,49366,49367,49370,49374,49375,49376,49377,49378,49379,49382,49383,49385,49386,49387,49389,49390,49391,49392,49393,49394,49395,49398,49400,49402,49403,49404,49405,49406,49407,49409,49410,49411,49413,49414,49415,49417,49418,49419,49420,49421,49422,49423,49425,49426,49427,49428,49430,49431,49432,49433,49434,49435,49441,49442,49445,49448,49449,49450,49451,49454,49458,49459,49460,49461,49463,49466,49467,49469,49470,49471,49473,49474,49475,49476,49477,49478,49479,49482,49486,49487,49488,49489,49490,49491,49494,49495,null,null,null,null,null,null,49497,49498,49499,49501,49502,49503,49504,49505,49506,49507,49510,49514,49515,49516,49517,49518,49519,49521,49522,49523,49525,49526,49527,49529,49530,49531,null,null,null,null,null,null,49532,49533,49534,49535,49536,49537,49538,49539,49540,49542,49543,49544,49545,49546,49547,49551,49553,49554,49555,49557,49559,49560,49561,49562,49563,49566,49568,49570,49571,49572,49574,49575,49578,49579,49581,49582,49583,49585,49586,49587,49588,49589,49590,49591,49592,49593,49594,49595,49596,49598,49599,49600,49601,49602,49603,49605,49606,49607,49609,49610,49611,49613,49614,49615,49616,49617,49618,49619,49621,49622,49625,49626,49627,49628,49629,49630,49631,49633,49634,49635,49637,49638,49639,49641,49642,49643,49644,49645,49646,49647,49650,49652,49653,49654,49655,49656,49657,49658,49659,49662,49663,49665,49666,49667,49669,49670,49671,49672,49673,49674,49675,49678,49680,49682,49683,49684,49685,49686,49687,49690,49691,49693,49694,49697,49698,49699,49700,49701,49702,49703,49706,49708,49710,49712,49715,49717,49718,49719,49720,49721,49722,49723,49724,49725,49726,49727,49728,49729,49730,49731,49732,49733,null,null,null,null,null,null,49734,49735,49737,49738,49739,49740,4974
11,49742,49743,49746,49747,49749,49750,49751,49753,49754,49755,49756,49757,49758,49759,49761,49762,49763,49764,49766,null,null,null,null,null,null,49767,49768,49769,49770,49771,49774,49775,49777,49778,49779,49781,49782,49783,49784,49785,49786,49787,49790,49792,49794,49795,49796,49797,49798,49799,49802,49803,49804,49805,49806,49807,49809,49810,49811,49812,49813,49814,49815,49817,49818,49820,49822,49823,49824,49825,49826,49827,49830,49831,49833,49834,49835,49838,49839,49840,49841,49842,49843,49846,49848,49850,49851,49852,49853,49854,49855,49856,49857,49858,49859,49860,49861,49862,49863,49864,49865,49866,49867,49868,49869,49870,49871,49872,49873,49874,49875,49876,49877,49878,49879,49880,49881,49882,49883,49886,49887,49889,49890,49893,49894,49895,49896,49897,49898,49902,49904,49906,49907,49908,49909,49911,49914,49917,49918,49919,49921,49922,49923,49924,49925,49926,49927,49930,49931,49934,49935,49936,49937,49938,49942,49943,49945,49946,49947,49949,49950,49951,49952,49953,49954,49955,49958,49959,49962,49963,49964,49965,49966,49967,49968,49969,49970,null,null,null,null,null,null,49971,49972,49973,49974,49975,49976,49977,49978,49979,49980,49981,49982,49983,49984,49985,49986,49987,49988,49990,49991,49992,49993,49994,49995,49996,49997,null,null,null,null,null,null,49998,49999,5e4,50001,50002,50003,50004,50005,50006,50007,50008,50009,50010,50011,50012,50013,50014,50015,50016,50017,50018,50019,50020,50021,50022,50023,50026,50027,50029,50030,50031,50033,50035,50036,50037,50038,50039,50042,50043,50046,50047,50048,50049,50050,50051,50053,50054,50055,50057,50058,50059,50061,50062,50063,50064,50065,50066,50067,50068,50069,50070,50071,50072,50073,50074,50075,50076,50077,50078,50079,50080,50081,50082,50083,50084,50085,50086,50087,50088,50089,50090,50091,50092,50093,50094,50095,50096,50097,50098,50099,50100,50101,50102,50103,50104,50105,50106,50107,50108,50109,50110,50111,50113,50114,50115,50116,50117,50118,50119,50120,50121,50122,50123,50124,50125,50126,50127,50128,50129,50130,50131,50132,50133,50134,50135,50138,50139,50141,50142,50145,50147,50148,50149,50150,50151,50154,50155,50156,50158,50159,50160,50161,50162,50163,50166,50167,50169,50170,50171,50172,50173,50174,null,null,null,null,null,null,50175,50176,50177,50178,50179,50180,50181,50182,50183,50185,50186,50187,50188,50189,50190,50191,50193,50194,50195,50196,50197,50198,50199,50200,50201,50202,null,null,null,null,null,null,50203,50204,50205,50206,50207,50208,50209,50210,50211,50213,50214,50215,50216,50217,50218,50219,50221,50222,50223,50225,50226,50227,50229,50230,50231,50232,50233,50234,50235,50238,50239,50240,50241,50242,50243,50244,50245,50246,50247,50249,50250,50251,50252,50253,50254,50255,50256,50257,50258,50259,50260,50261,50262,50263,50264,50265,50266,50267,50268,50269,50270,50271,50272,50273,50274,50275,50278,50279,50281,50282,50283,50285,50286,50287,50288,50289,50290,50291,50294,50295,50296,50298,50299,50300,50301,50302,50303,50305,50306,50307,50308,50309,50310,50311,50312,50313,50314,50315,50316,50317,50318,50319,50320,50321,50322,50323,50325,50326,50327,50328,50329,50330,50331,50333,50334,50335,50336,50337,50338,50339,50340,50341,50342,50343,50344,50345,50346,50347,50348,50349,50350,50351,50352,50353,50354,50355,50356,50357,50358,50359,50361,50362,50363,50365,50366,50367,50368,50369,50370,50371,50372,50373,null,null,null,null,null,null,50374,50375,50376,50377,50378,50379,50380,50381,50382,50383,50384,50385,50386,50387,50388,50389,50390,50391,50392,50393,50394,50395,50396,50397,50398,50399,null,null,null,null,null,null,50400,50401,50402,50403,50404,50405,50406,50407,50408,50410,50411,50412,50413,50414,50415,50418,50419,50421,50422,50423,50425,50427,50428,50429,50430,50434,50435,50436,50437,50438,50439,50440,50441,50442,50443,50445,50446,50447,50449,50450,50451,50453,50454,50455,50456,50457,50458,50459,50461,50462,50463,50464,50465,50466,50467,50468,50469,50470,50471,50474,50475,50477,50478,50479,50481,50482,50483,50484,50485,50486,50487,50490,50492,50494,50495,50496,50497,50498,50499,50502,50503,50507,50511,50512,50513,50514,50518,50522,50523,50524,50527,50530,50531,50533,50534,50535,50537,50538,50539,50540,50541,50542,50543,50546,50
1550,50551,50552,50553,50554,50555,50558,50559,50561,50562,50563,50565,50566,50568,50569,50570,50571,50574,50576,50578,50579,50580,50582,50585,50586,50587,50589,50590,50591,50593,50594,50595,50596,50597,50598,50599,50600,50602,50603,50604,50605,50606,50607,50608,50609,50610,50611,50614,null,null,null,null,null,null,50615,50618,50623,50624,50625,50626,50627,50635,50637,50639,50642,50643,50645,50646,50647,50649,50650,50651,50652,50653,50654,50655,50658,50660,50662,50663,null,null,null,null,null,null,50664,50665,50666,50667,50671,50673,50674,50675,50677,50680,50681,50682,50683,50690,50691,50692,50697,50698,50699,50701,50702,50703,50705,50706,50707,50708,50709,50710,50711,50714,50717,50718,50719,50720,50721,50722,50723,50726,50727,50729,50730,50731,50735,50737,50738,50742,50744,50746,50748,50749,50750,50751,50754,50755,50757,50758,50759,50761,50762,50763,50764,50765,50766,50767,50770,50774,50775,50776,50777,50778,50779,50782,50783,50785,50786,50787,50788,50789,50790,50791,50792,50793,50794,50795,50797,50798,50800,50802,50803,50804,50805,50806,50807,50810,50811,50813,50814,50815,50817,50818,50819,50820,50821,50822,50823,50826,50828,50830,50831,50832,50833,50834,50835,50838,50839,50841,50842,50843,50845,50846,50847,50848,50849,50850,50851,50854,50856,50858,50859,50860,50861,50862,50863,50866,50867,50869,50870,50871,50875,50876,50877,50878,50879,50882,50884,50886,50887,50888,50889,50890,50891,50894,null,null,null,null,null,null,50895,50897,50898,50899,50901,50902,50903,50904,50905,50906,50907,50910,50911,50914,50915,50916,50917,50918,50919,50922,50923,50925,50926,50927,50929,50930,null,null,null,null,null,null,50931,50932,50933,50934,50935,50938,50939,50940,50942,50943,50944,50945,50946,50947,50950,50951,50953,50954,50955,50957,50958,50959,50960,50961,50962,50963,50966,50968,50970,50971,50972,50973,50974,50975,50978,50979,50981,50982,50983,50985,50986,50987,50988,50989,50990,50991,50994,50996,50998,51e3,51001,51002,51003,51006,51007,51009,51010,51011,51013,51014,51015,51016,51017,51019,51022,51024,51033,51034,51035,51037,51038,51039,51041,51042,51043,51044,51045,51046,51047,51049,51050,51052,51053,51054,51055,51056,51057,51058,51059,51062,51063,51065,51066,51067,51071,51072,51073,51074,51078,51083,51084,51085,51087,51090,51091,51093,51097,51099,51100,51101,51102,51103,51106,51111,51112,51113,51114,51115,51118,51119,51121,51122,51123,51125,51126,51127,51128,51129,51130,51131,51134,51138,51139,51140,51141,51142,51143,51146,51147,51149,51151,51153,51154,51155,51156,51157,51158,51159,51161,51162,51163,51164,null,null,null,null,null,null,51166,51167,51168,51169,51170,51171,51173,51174,51175,51177,51178,51179,51181,51182,51183,51184,51185,51186,51187,51188,51189,51190,51191,51192,51193,51194,null,null,null,null,null,null,51195,51196,51197,51198,51199,51202,51203,51205,51206,51207,51209,51211,51212,51213,51214,51215,51218,51220,51223,51224,51225,51226,51227,51230,51231,51233,51234,51235,51237,51238,51239,51240,51241,51242,51243,51246,51248,51250,51251,51252,51253,51254,51255,51257,51258,51259,51261,51262,51263,51265,51266,51267,51268,51269,51270,51271,51274,51275,51278,51279,51280,51281,51282,51283,51285,51286,51287,51288,51289,51290,51291,51292,51293,51294,51295,51296,51297,51298,51299,51300,51301,51302,51303,51304,51305,51306,51307,51308,51309,51310,51311,51314,51315,51317,51318,51319,51321,51323,51324,51325,51326,51327,51330,51332,51336,51337,51338,51342,51343,51344,51345,51346,51347,51349,51350,51351,51352,51353,51354,51355,51356,51358,51360,51362,51363,51364,51365,51366,51367,51369,51370,51371,51372,51373,51374,51375,51376,51377,51378,51379,51380,51381,51382,51383,51384,51385,51386,51387,51390,51391,51392,51393,null,null,null,null,null,null,51394,51395,51397,51398,51399,51401,51402,51403,51405,51406,51407,51408,51409,51410,51411,51414,51416,51418,51419,51420,51421,51422,51423,51426,51427,51429,null,null,null,null,null,null,51430,51431,51432,51433,51434,51435,51436,51437,51438,51439,51440,51441,51442,51443,51444,51446,51447,51448,51449,51450,51451,51454,51455,51457,51458,51459,51463,51464,51465,51466,51467,51470,12288,12289,12290,183,8229,8230,168,12291,173,8213,8741,65340,8764,8216,8217,8220,8221,12308,12309,12296,12297,12298,12299,12300,12301,12302,12303,12304,12305,177,215,247,8800,8804,8805,8734,8756,176,8242,8243,8451,8491,65504,65505,65509,9794,9792,8736,8869,8978,8706,8711,8801,8786,167,8251,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,9661,9660,8594,8592,8593,8595,8596,12307,8810,8811,8730,8765,8733,8757,8747,8748,8712,8715,8838,8839,8834,8835,8746,8745,8743,8744,65506,51472,51474,51475,51476,51477,51478,51479,51481,51482,51483,51484,51485,51486,51487,51488,51489,51490,51491,51492,51493,51494,51495,51496,51497,51498,51499,null,null,null,null,null,null,51501,51502,51503,51504,51505,51506,51507,51509,51510,51511,51512,51513,51514,51515,51516,51517,51518,51519,51520,51521,51522,51523,51524,51525,51526,51527,null,null,null,null,null,null,51528,51529,51530,51531,51532,51533,51534,51535,51538,51539,51541,51542,51543,51545,51546,51547,51548,51549,51550,51551,51554,51556,51557,51558,51559,51560,51561,51562,51563,51565,51566,51567,8658,8660,8704,8707,180,65374,711,728,733,730,729,184,731,161,191,720,8750,8721,8719,164,8457,8240,9665,9664,9655,9654,9828,9824,9825,9829,9831,9827,8857,9672,9635,9680,9681,9618,9636,9637,9640,9639,9638,9641,9832,9743,9742,9756,9758,182,8224,8225,8597,8599,8601,8598,8600,9837,9833,9834,9836,12927,12828,8470,13255,8482,13250,13272,8481,8364,174,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,51569,51570,51571,51573,51574,51575,51576,51577,51578,51579,51581,51
1582,51583,51584,51585,51586,51587,51588,51589,51590,51591,51594,51595,51597,51598,51599,null,null,null,null,null,null,51601,51602,51603,51604,51605,51606,51607,51610,51612,51614,51615,51616,51617,51618,51619,51620,51621,51622,51623,51624,51625,51626,51627,51628,51629,51630,null,null,null,null,null,null,51631,51632,51633,51634,51635,51636,51637,51638,51639,51640,51641,51642,51643,51644,51645,51646,51647,51650,51651,51653,51654,51657,51659,51660,51661,51662,51663,51666,51668,51671,51672,51675,65281,65282,65283,65284,65285,65286,65287,65288,65289,65290,65291,65292,65293,65294,65295,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,65306,65307,65308,65309,65310,65311,65312,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65339,65510,65341,65342,65343,65344,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,65371,65372,65373,65507,51678,51679,51681,51683,51685,51686,51688,51689,51690,51691,51694,51698,51699,51700,51701,51702,51703,51706,51707,51709,51710,51711,51713,51714,51715,51716,null,null,null,null,null,null,51717,51718,51719,51722,51726,51727,51728,51729,51730,51731,51733,51734,51735,51737,51738,51739,51740,51741,51742,51743,51744,51745,51746,51747,51748,51749,null,null,null,null,null,null,51750,51751,51752,51754,51755,51756,51757,51758,51759,51760,51761,51762,51763,51764,51765,51766,51767,51768,51769,51770,51771,51772,51773,51774,51775,51776,51777,51778,51779,51780,51781,51782,12593,12594,12595,12596,12597,12598,12599,12600,12601,12602,12603,12604,12605,12606,12607,12608,12609,12610,12611,12612,12613,12614,12615,12616,12617,12618,12619,12620,12621,12622,12623,12624,12625,12626,12627,12628,12629,12630,12631,12632,12633,12634,12635,12636,12637,12638,12639,12640,12641,12642,12643,12644,12645,12646,12647,12648,12649,12650,12651,12652,12653,12654,12655,12656,12657,12658,12659,12660,12661,12662,12663,12664,12665,12666,12667,12668,12669,12670,12671,12672,12673,12674,12675,12676,12677,12678,12679,12680,12681,12682,12683,12684,12685,12686,51783,51784,51785,51786,51787,51790,51791,51793,51794,51795,51797,51798,51799,51800,51801,51802,51803,51806,51810,51811,51812,51813,51814,51815,51817,51818,null,null,null,null,null,null,51819,51820,51821,51822,51823,51824,51825,51826,51827,51828,51829,51830,51831,51832,51833,51834,51835,51836,51838,51839,51840,51841,51842,51843,51845,51846,null,null,null,null,null,null,51847,51848,51849,51850,51851,51852,51853,51854,51855,51856,51857,51858,51859,51860,51861,51862,51863,51865,51866,51867,51868,51869,51870,51871,51872,51873,51874,51875,51876,51877,51878,51879,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,null,null,null,null,null,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,null,null,null,null,null,null,null,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,null,null,null,null,null,null,null,null,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,null,null,null,null,null,null,51880,51881,51882,51883,51884,51885,51886,51887,51888,51889,51890,51891,51892,51893,51894,51895,51896,51897,51898,51899,51902,51903,51905,51906,51907,51909,null,null,null,null,null,null,51910,51911,51912,51913,51914,51915,51918,51920,51922,51924,51925,51926,51927,51930,51931,51932,51933,51934,51935,51937,51938,51939,51940,51941,51942,51943,null,null,null,null,null,null,51944,51945,51946,51947,51949,51950,51951,51952,51953,51954,51955,51957,51958,51959,51960,51961,51962,51963,51964,51965,51966,51967,51968,51969,51970,51971,51972,51973,51974,51975,51977,51978,9472,9474,9484,9488,9496,9492,9500,9516,9508,9524,9532,9473,9475,9487,9491,9499,9495,9507,9523,9515,9531,9547,9504,9519,9512,9527,9535,9501,9520,9509,9528,9538,9490,9489,9498,9497,9494,9493,9486,9485,9502,9503,9505,9506,9510,9511,9513,9514,9517,9518,9521,9522,9525,9526,9529,9530,9533,9534,9536,9537,9539,9540,9541,9542,9543,9544,9545,9546,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,51979,51980,51981,51982,51983,51985,51986,51987,51989,51990,51991,51993,51994,51995,51996,51997,51998,51999,52002,52003,52004,52005,52006,52007,52008,52009,null,null,null,null,null,null,52010,52011,52012,52013,52014,52015,52016,52017,52018,52019,52020,52021,52022,52023,52024,52025,52026,52027,52028,52029,52030,52031,52032,52034,52035,52036,null,null,null,null,null,null,52037,52038,52039,52042,52043,52045,52046,52047,52049,52050,52051,52052,52053,52054,52055,52058,52059,52060,52062,52063,52064,52065,52066,52067,52069,52070,52071,52072,52073,52074,52075,52076,13205,13206,13207,8467,13208,13252,13219,13220,13221,13222,13209,13210,13211,13212,13213,13214,13215,13216,13217,13218,13258,13197,13198,13199,13263,13192,13193,13256,13223,13224,13232,13233,13234,13235,13236,13237,13238,13239,13240,13241,13184,13185,13186,13187,13188,13242,13243,13244,13245,13246,13247,13200,13201,13202,13203,13204,8486,13248,13249,13194,13195,13196,13270,13253,13229,13230,13231,13275,13225,13226,13227,13228,13277,13264,13267,13251,13257,13276,13254,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52077,52078,52079,52080,52081,52082,52083,52084,52085,52086,52087,52090,52091,52092,52093,52094,52095,52096,52097,52098,52099,52100,52101,52102,52103,52104,null,null,null,null,null,null,52105,52106,52107,52108,52109,52110,52111,52112,52113,52114,52115,52116,52117,52118,52119,52120,52121,52122,52123,52125,52126,52127,52128,52129,52130,52131,null,null,null,null,null,null,52132,52133,52134,52135,52136,52137,52138,52139,52140,52141,52142,52143,52144,52145,52146,52147,52148,52149,52150,52151,52153,52154,52155,52156,52157,52158,52159,52160,52161,52162,52163,52164,198,208,170,294,null,306,null,319,321,216,338,186,222,358,330,null,12896,12897,12898,12899,12900,12901,12902,12903,12904,12905,12906,12907,12908,12909,12910,12911,12912,12913,12914,12915,12916,12917,12918,12919,12920,12921,12922,12923,9424,9425,9426,9427,9428,9429,9430,9431,9432,9433,9434,9435,9436,9437,9438,9439,9440,9441,9442,9443,9444,9445,9446,9447,9448,9449,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9322,9323,9324,9325,9326,189,8531,8532,188,190,8539,8540,8541,8542,52165,52166,52167,52168,52169,52170,52171,52172,52173,52174,52175,52176,52177,52178,52179,52181,52182,52183,52184,52185,52186,52187,52188,52189,52190,52191,null,null,null,null,null,null,52192,52193,52194,52195,52197,52198,52200,52202,52203,52204,52205,52206,52207,52208,52209,52210,52211,52212,52213,52214,52215,52216,52217,52218,52219,52220,null,null,null,null,null,null,52221,52222,52223,52224,52225,52226,52227,52228,52229,52230,52231,52232,52233,52234,52235,52238,52239,52241,52242,52243,52245,52246,52247,52248,52249,52250,52251,52254,52255,52256,52259,52260,230,273,240,295,305,307,312,320,322,248,339,223,254,359,331,329,12800,12801,12802,12803,12804,12805,12806,12807,12808,12809,12810,12811,12812,12813,12814,12815,12816,12817,12818,12819,12820,12821,12822,12823,12824,12825,12826,12827,9372,9373,9374,9375,9376,9377,9378,9379,9380,9381,9382,9383,9384,9385,9386,9387,9388,9389,9390,9391,9392,9393,9394,9395,9396,9397,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345,9346,185,178,179,8308,8319,8321,8322,8323,8324,52261,52262,52266,52267,52269,52271,52273,52274,52275,52276,52277,52278,52279,52282,52287,52288,52289,52290,52291,52294,52295,52297,52298,52299,52301,52302,null,null,null,null,null,null,52303,52304,52305,52306,52307,52310,52314,52315,52316,52317,52318,52319,52321,52322,52323,52325,52327,52329,52330,52331,52332,52333,52334,52335,52337,52338,
1null,null,null,null,null,null,52339,52340,52342,52343,52344,52345,52346,52347,52348,52349,52350,52351,52352,52353,52354,52355,52356,52357,52358,52359,52360,52361,52362,52363,52364,52365,52366,52367,52368,52369,52370,52371,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,null,null,null,null,null,null,null,null,null,null,null,52372,52373,52374,52375,52378,52379,52381,52382,52383,52385,52386,52387,52388,52389,52390,52391,52394,52398,52399,52400,52401,52402,52403,52406,52407,52409,null,null,null,null,null,null,52410,52411,52413,52414,52415,52416,52417,52418,52419,52422,52424,52426,52427,52428,52429,52430,52431,52433,52434,52435,52437,52438,52439,52440,52441,52442,null,null,null,null,null,null,52443,52444,52445,52446,52447,52448,52449,52450,52451,52453,52454,52455,52456,52457,52458,52459,52461,52462,52463,52465,52466,52467,52468,52469,52470,52471,52472,52473,52474,52475,52476,52477,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,null,null,null,null,null,null,null,null,52478,52479,52480,52482,52483,52484,52485,52486,52487,52490,52491,52493,52494,52495,52497,52498,52499,52500,52501,52502,52503,52506,52508,52510,52511,52512,null,null,null,null,null,null,52513,52514,52515,52517,52518,52519,52521,52522,52523,52525,52526,52527,52528,52529,52530,52531,52532,52533,52534,52535,52536,52538,52539,52540,52541,52542,null,null,null,null,null,null,52543,52544,52545,52546,52547,52548,52549,52550,52551,52552,52553,52554,52555,52556,52557,52558,52559,52560,52561,52562,52563,52564,52565,52566,52567,52568,52569,52570,52571,52573,52574,52575,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,null,null,null,null,null,null,null,null,null,null,null,null,null,52577,52578,52579,52581,52582,52583,52584,52585,52586,52587,52590,52592,52594,52595,52596,52597,52598,52599,52601,52602,52603,52604,52605,52606,52607,52608,null,null,null,null,null,null,52609,52610,52611,52612,52613,52614,52615,52617,52618,52619,52620,52621,52622,52623,52624,52625,52626,52627,52630,52631,52633,52634,52635,52637,52638,52639,null,null,null,null,null,null,52640,52641,52642,52643,52646,52648,52650,52651,52652,52653,52654,52655,52657,52658,52659,52660,52661,52662,52663,52664,52665,52666,52667,52668,52669,52670,52671,52672,52673,52674,52675,52677,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52678,52679,52680,52681,52682,52683,52685,52686,52687,52689,52690,52691,52692,52693,52694,52695,52696,52697,52698,52699,52700,52701,52702,52703,52704,52705,null,null,null,null,null,null,52706,52707,52708,52709,52710,52711,52713,52714,52715,52717,52718,52719,52721,52722,52723,52724,52725,52726,52727,52730,52732,52734,52735,52736,52737,52738,null,null,null,null,null,null,52739,52741,52742,52743,52745,52746,52747,52749,52750,52751,52752,52753,52754,52755,52757,52758,52759,52760,52762,52763,52764,52765,52766,52767,52770,52771,52773,52774,52775,52777,52778,527
179,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52780,52781,52782,52783,52786,52788,52790,52791,52792,52793,52794,52795,52796,52797,52798,52799,52800,52801,52802,52803,52804,52805,52806,52807,52808,52809,null,null,null,null,null,null,52810,52811,52812,52813,52814,52815,52816,52817,52818,52819,52820,52821,52822,52823,52826,52827,52829,52830,52834,52835,52836,52837,52838,52839,52842,52844,null,null,null,null,null,null,52846,52847,52848,52849,52850,52851,52854,52855,52857,52858,52859,52861,52862,52863,52864,52865,52866,52867,52870,52872,52874,52875,52876,52877,52878,52879,52882,52883,52885,52886,52887,52889,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52890,52891,52892,52893,52894,52895,52898,52902,52903,52904,52905,52906,52907,52910,52911,52912,52913,52914,52915,52916,52917,52918,52919,52920,52921,52922,null,null,null,null,null,null,52923,52924,52925,52926,52927,52928,52930,52931,52932,52933,52934,52935,52936,52937,52938,52939,52940,52941,52942,52943,52944,52945,52946,52947,52948,52949,null,null,null,null,null,null,52950,52951,52952,52953,52954,52955,52956,52957,52958,52959,52960,52961,52962,52963,52966,52967,52969,52970,52973,52974,52975,52976,52977,52978,52979,52982,52986,52987,52988,52989,52990,52991,44032,44033,44036,44039,44040,44041,44042,44048,44049,44050,44051,44052,44053,44054,44055,44057,44058,44059,44060,44061,44064,44068,44076,44077,44079,44080,44081,44088,44089,44092,44096,44107,44109,44116,44120,44124,44144,44145,44148,44151,44152,44154,44160,44161,44163,44164,44165,44166,44169,44170,44171,44172,44176,44180,44188,44189,44191,44192,44193,44200,44201,44202,44204,44207,44208,44216,44217,44219,44220,44221,44225,44228,44232,44236,44245,44247,44256,44257,44260,44263,44264,44266,44268,44271,44272,44273,44275,44277,44278,44284,44285,44288,44292,44294,52994,52995,52997,52998,52999,53001,53002,53003,53004,53005,53006,53007,53010,53012,53014,53015,53016,53017,53018,53019,53021,53022,53023,53025,53026,53027,null,null,null,null,null,null,53029,53030,53031,53032,53033,53034,53035,53038,53042,53043,53044,53045,53046,53047,53049,53050,53051,53052,53053,53054,53055,53056,53057,53058,53059,53060,null,null,null,null,null,null,53061,53062,53063,53064,53065,53066,53067,53068,53069,53070,53071,53072,53073,53074,53075,53078,53079,53081,53082,53083,53085,53086,53087,53088,53089,53090,53091,53094,53096,53098,53099,53100,44300,44301,44303,44305,44312,44316,44320,44329,44332,44333,44340,44341,44344,44348,44356,44357,44359,44361,44368,44372,44376,44385,44387,44396,44397,44400,44403,44404,44405,44406,44411,44412,44413,44415,44417,44418,44424,44425,44428,44432,44444,44445,44452,44471,44480,44481,44484,44488,44496,44497,44499,44508,44512,44516,44536,44537,44540,44543,44544,44545,44552,44553,44555,44557,44564,44592,44593,44596,44599,44600,44602,44608,44609,44611,44613,44614,44618,44620,44621,44622,44624,44628,44630,44636,44637,44639,44640,44641,44645,44648,44649,44652,44656,44664,53101,53102,53103,53106,53107,53109,53110,53111,53113,53114,53115,53116,53117,53118,53119,53121,53122,53123,53124,53126,53127,53128,53129,53130,53131,53133,null,null,null,null,null,null,53134,53135,53136,53137,53138,53139,53140,53141,53142,53143,53144,53145,53146,53147,53148,53149,53150,53151,53152,53154,53155,53156,53157,53158,53159,53161,null,
1null,null,null,null,null,53162,53163,53164,53165,53166,53167,53169,53170,53171,53172,53173,53174,53175,53176,53177,53178,53179,53180,53181,53182,53183,53184,53185,53186,53187,53189,53190,53191,53192,53193,53194,53195,44665,44667,44668,44669,44676,44677,44684,44732,44733,44734,44736,44740,44748,44749,44751,44752,44753,44760,44761,44764,44776,44779,44781,44788,44792,44796,44807,44808,44813,44816,44844,44845,44848,44850,44852,44860,44861,44863,44865,44866,44867,44872,44873,44880,44892,44893,44900,44901,44921,44928,44932,44936,44944,44945,44949,44956,44984,44985,44988,44992,44999,45e3,45001,45003,45005,45006,45012,45020,45032,45033,45040,45041,45044,45048,45056,45057,45060,45068,45072,45076,45084,45085,45096,45124,45125,45128,45130,45132,45134,45139,45140,45141,45143,45145,53196,53197,53198,53199,53200,53201,53202,53203,53204,53205,53206,53207,53208,53209,53210,53211,53212,53213,53214,53215,53218,53219,53221,53222,53223,53225,null,null,null,null,null,null,53226,53227,53228,53229,53230,53231,53234,53236,53238,53239,53240,53241,53242,53243,53245,53246,53247,53249,53250,53251,53253,53254,53255,53256,53257,53258,null,null,null,null,null,null,53259,53260,53261,53262,53263,53264,53266,53267,53268,53269,53270,53271,53273,53274,53275,53276,53277,53278,53279,53280,53281,53282,53283,53284,53285,53286,53287,53288,53289,53290,53291,53292,45149,45180,45181,45184,45188,45196,45197,45199,45201,45208,45209,45210,45212,45215,45216,45217,45218,45224,45225,45227,45228,45229,45230,45231,45233,45235,45236,45237,45240,45244,45252,45253,45255,45256,45257,45264,45265,45268,45272,45280,45285,45320,45321,45323,45324,45328,45330,45331,45336,45337,45339,45340,45341,45347,45348,45349,45352,45356,45364,45365,45367,45368,45369,45376,45377,45380,45384,45392,45393,45396,45397,45400,45404,45408,45432,45433,45436,45440,45442,45448,45449,45451,45453,45458,45459,45460,45464,45468,45480,45516,45520,45524,45532,45533,53294,53295,53296,53297,53298,53299,53302,53303,53305,53306,53307,53309,53310,53311,53312,53313,53314,53315,53318,53320,53322,53323,53324,53325,53326,53327,null,null,null,null,null,null,53329,53330,53331,53333,53334,53335,53337,53338,53339,53340,53341,53342,53343,53345,53346,53347,53348,53349,53350,53351,53352,53353,53354,53355,53358,53359,null,null,null,null,null,null,53361,53362,53363,53365,53366,53367,53368,53369,53370,53371,53374,53375,53376,53378,53379,53380,53381,53382,53383,53384,53385,53386,53387,53388,53389,53390,53391,53392,53393,53394,53395,53396,45535,45544,45545,45548,45552,45561,45563,45565,45572,45573,45576,45579,45580,45588,45589,45591,45593,45600,45620,45628,45656,45660,45664,45672,45673,45684,45685,45692,45700,45701,45705,45712,45713,45716,45720,45721,45722,45728,45729,45731,45733,45734,45738,45740,45744,45748,45768,45769,45772,45776,45778,45784,45785,45787,45789,45794,45796,45797,45798,45800,45803,45804,45805,45806,45807,45811,45812,45813,45815,45816,45817,45818,45819,45823,45824,45825,45828,45832,45840,45841,45843,45844,45845,45852,45908,45909,45910,45912,45915,45916,45918,45919,45924,45925,53397,53398,53399,53400,53401,53402,53403,53404,53405,53406,53407,53408,53409,53410,53411,53414,53415,53417,53418,53419,53421,53422,53423,53424,53425,53426,null,null,null,null,null,null,53427,53430,53432,53434,53435,53436,53437,53438,53439,53442,53443,53445,53446,53447,53450,53451,53452,53453,53454,53455,53458,53462,53463,53464,53465,53466,null,null,null,null,null,null,53467,53470,53471,53473,53474,53475,53477,53478,53479,53480,53481,53482,53483,53486,53490,53491,53492,53493,53494,53495,53497,53498,53499,53500,53501,53502,53503,53504,53505,53506,53507,53508,45927,45929,45931,45934,45936,45937,45940,45944,45952,45953,45955,45956,45957,45964,45968,45972,45984,45985,45992,45996,46020,46021,46024,46027,46028,46030,46032,46036,46037,46039,46041,46043,46045,46048,46052,46056,46076,46096,46104,46108,46112,46120,46121,46123,46132,46160,46161,46164,46168,46176,46177,46179,46181,46188,46208,46216,46237,46244,46248,46252,46261,46263,46265,46272,46276,46280,46288,46293,46300,46301,46304,46307,46308,46310,46316,46317,46319,46321,46328,46356,46357,46360,46363,46364,46372,46373,46375,46376,46377,46378,46384,46385,46388,46392,53509,53510,53511,53512,53513,53514,53515,53516,53518,53519,53520,53521,53522,53523,53524,53525,53526,53527,53528,53529,53530,53531,53532,53533,53534,53535,null,
1null,null,null,null,null,53536,53537,53538,53539,53540,53541,53542,53543,53544,53545,53546,53547,53548,53549,53550,53551,53554,53555,53557,53558,53559,53561,53563,53564,53565,53566,null,null,null,null,null,null,53567,53570,53574,53575,53576,53577,53578,53579,53582,53583,53585,53586,53587,53589,53590,53591,53592,53593,53594,53595,53598,53600,53602,53603,53604,53605,53606,53607,53609,53610,53611,53613,46400,46401,46403,46404,46405,46411,46412,46413,46416,46420,46428,46429,46431,46432,46433,46496,46497,46500,46504,46506,46507,46512,46513,46515,46516,46517,46523,46524,46525,46528,46532,46540,46541,46543,46544,46545,46552,46572,46608,46609,46612,46616,46629,46636,46644,46664,46692,46696,46748,46749,46752,46756,46763,46764,46769,46804,46832,46836,46840,46848,46849,46853,46888,46889,46892,46895,46896,46904,46905,46907,46916,46920,46924,46932,46933,46944,46948,46952,46960,46961,46963,46965,46972,46973,46976,46980,46988,46989,46991,46992,46993,46994,46998,46999,53614,53615,53616,53617,53618,53619,53620,53621,53622,53623,53624,53625,53626,53627,53629,53630,53631,53632,53633,53634,53635,53637,53638,53639,53641,53642,null,null,null,null,null,null,53643,53644,53645,53646,53647,53648,53649,53650,53651,53652,53653,53654,53655,53656,53657,53658,53659,53660,53661,53662,53663,53666,53667,53669,53670,53671,null,null,null,null,null,null,53673,53674,53675,53676,53677,53678,53679,53682,53684,53686,53687,53688,53689,53691,53693,53694,53695,53697,53698,53699,53700,53701,53702,53703,53704,53705,53706,53707,53708,53709,53710,53711,47e3,47001,47004,47008,47016,47017,47019,47020,47021,47028,47029,47032,47047,47049,47084,47085,47088,47092,47100,47101,47103,47104,47105,47111,47112,47113,47116,47120,47128,47129,47131,47133,47140,47141,47144,47148,47156,47157,47159,47160,47161,47168,47172,47185,47187,47196,47197,47200,47204,47212,47213,47215,47217,47224,47228,47245,47272,47280,47284,47288,47296,47297,47299,47301,47308,47312,47316,47325,47327,47329,47336,47337,47340,47344,47352,47353,47355,47357,47364,47384,47392,47420,47421,47424,47428,47436,47439,47441,47448,47449,47452,47456,47464,47465,53712,53713,53714,53715,53716,53717,53718,53719,53721,53722,53723,53724,53725,53726,53727,53728,53729,53730,53731,53732,53733,53734,53735,53736,53737,53738,null,null,null,null,null,null,53739,53740,53741,53742,53743,53744,53745,53746,53747,53749,53750,53751,53753,53754,53755,53756,53757,53758,53759,53760,53761,53762,53763,53764,53765,53766,null,null,null,null,null,null,53768,53770,53771,53772,53773,53774,53775,53777,53778,53779,53780,53781,53782,53783,53784,53785,53786,53787,53788,53789,53790,53791,53792,53793,53794,53795,53796,53797,53798,53799,53800,53801,47467,47469,47476,47477,47480,47484,47492,47493,47495,47497,47498,47501,47502,47532,47533,47536,47540,47548,47549,47551,47553,47560,47561,47564,47566,47567,47568,47569,47570,47576,47577,47579,47581,47582,47585,47587,47588,47589,47592,47596,47604,47605,47607,47608,47609,47610,47616,47617,47624,47637,47672,47673,47676,47680,47682,47688,47689,47691,47693,47694,47699,47700,47701,47704,47708,47716,47717,47719,47720,47721,47728,47729,47732,47736,47747,47748,47749,47751,47756,47784,47785,47787,47788,47792,47794,47800,47801,47803,47805,47812,47816,47832,47833,47868,53802,53803,53806,53807,53809,53810,53811,53813,53814,53815,53816,53817,53818,53819,53822,53824,53826,53827,53828,53829,53830,53831,53833,53834,53835,53836,null,null,null,null,null,null,53837,53838,53839,53840,53841,53842,53843,53844,53845,53846,53847,53848,53849,53850,53851,53853,53854,53855,53856,53857,53858,53859,53861,53862,53863,53864,null,null,null,null,null,null,53865,53866,53867,53868,53869,53870,53871,53872,53873,53874,53875,53876,53877,53878,53879,53880,53881,53882,53883,53884,53885,53886,53887,53890,53891,53893,53894,53895,53897,53898,53899,53900,47872,47876,47885,47887,47889,47896,47900,47904,47913,47915,47924,47925,47926,47928,47931,47932,47933,47934,47940,47941,47943,47945,47949,47951,47952,47956,47960,47969,47971,47980,48008,48012,48016,48036,48040,48044,48052,48055,48064,48068,48072,48080,48083,48120,48121,48124,48127,48128,48130,48136,48137,48139,48140,48141,48143,48145,48148,48149,48150,48151,48152,48155,48156,48157,48158,48159,48164,48165,48167,48169,48173,48176,48177,48180,48184,48192,48193,48195,48196,48
1197,48201,48204,48205,48208,48221,48260,48261,48264,48267,48268,48270,48276,48277,48279,53901,53902,53903,53906,53907,53908,53910,53911,53912,53913,53914,53915,53917,53918,53919,53921,53922,53923,53925,53926,53927,53928,53929,53930,53931,53933,null,null,null,null,null,null,53934,53935,53936,53938,53939,53940,53941,53942,53943,53946,53947,53949,53950,53953,53955,53956,53957,53958,53959,53962,53964,53965,53966,53967,53968,53969,null,null,null,null,null,null,53970,53971,53973,53974,53975,53977,53978,53979,53981,53982,53983,53984,53985,53986,53987,53990,53991,53992,53993,53994,53995,53996,53997,53998,53999,54002,54003,54005,54006,54007,54009,54010,48281,48282,48288,48289,48292,48295,48296,48304,48305,48307,48308,48309,48316,48317,48320,48324,48333,48335,48336,48337,48341,48344,48348,48372,48373,48374,48376,48380,48388,48389,48391,48393,48400,48404,48420,48428,48448,48456,48457,48460,48464,48472,48473,48484,48488,48512,48513,48516,48519,48520,48521,48522,48528,48529,48531,48533,48537,48538,48540,48548,48560,48568,48596,48597,48600,48604,48617,48624,48628,48632,48640,48643,48645,48652,48653,48656,48660,48668,48669,48671,48708,48709,48712,48716,48718,48724,48725,48727,48729,48730,48731,48736,48737,48740,54011,54012,54013,54014,54015,54018,54020,54022,54023,54024,54025,54026,54027,54031,54033,54034,54035,54037,54039,54040,54041,54042,54043,54046,54050,54051,null,null,null,null,null,null,54052,54054,54055,54058,54059,54061,54062,54063,54065,54066,54067,54068,54069,54070,54071,54074,54078,54079,54080,54081,54082,54083,54086,54087,54088,54089,null,null,null,null,null,null,54090,54091,54092,54093,54094,54095,54096,54097,54098,54099,54100,54101,54102,54103,54104,54105,54106,54107,54108,54109,54110,54111,54112,54113,54114,54115,54116,54117,54118,54119,54120,54121,48744,48746,48752,48753,48755,48756,48757,48763,48764,48765,48768,48772,48780,48781,48783,48784,48785,48792,48793,48808,48848,48849,48852,48855,48856,48864,48867,48868,48869,48876,48897,48904,48905,48920,48921,48923,48924,48925,48960,48961,48964,48968,48976,48977,48981,49044,49072,49093,49100,49101,49104,49108,49116,49119,49121,49212,49233,49240,49244,49248,49256,49257,49296,49297,49300,49304,49312,49313,49315,49317,49324,49325,49327,49328,49331,49332,49333,49334,49340,49341,49343,49344,49345,49349,49352,49353,49356,49360,49368,49369,49371,49372,49373,49380,54122,54123,54124,54125,54126,54127,54128,54129,54130,54131,54132,54133,54134,54135,54136,54137,54138,54139,54142,54143,54145,54146,54147,54149,54150,54151,null,null,null,null,null,null,54152,54153,54154,54155,54158,54162,54163,54164,54165,54166,54167,54170,54171,54173,54174,54175,54177,54178,54179,54180,54181,54182,54183,54186,54188,54190,null,null,null,null,null,null,54191,54192,54193,54194,54195,54197,54198,54199,54201,54202,54203,54205,54206,54207,54208,54209,54210,54211,54214,54215,54218,54219,54220,54221,54222,54223,54225,54226,54227,54228,54229,54230,49381,49384,49388,49396,49397,49399,49401,49408,49412,49416,49424,49429,49436,49437,49438,49439,49440,49443,49444,49446,49447,49452,49453,49455,49456,49457,49462,49464,49465,49468,49472,49480,49481,49483,49484,49485,49492,49493,49496,49500,49508,49509,49511,49512,49513,49520,49524,49528,49541,49548,49549,49550,49552,49556,49558,49564,49565,49567,49569,49573,49576,49577,49580,49584,49597,49604,49608,49612,49620,49623,49624,49632,49636,49640,49648,49649,49651,49660,49661,49664,49668,49676,49677,49679,49681,49688,49689,49692,49695,49696,49704,49705,49707,49709,54231,54233,54234,54235,54236,54237,54238,54239,54240,54242,54244,54245,54246,54247,54248,54249,54250,54251,54254,54255,54257,54258,54259,54261,54262,54263,null,null,null,null,null,null,54264,54265,54266,54267,54270,54272,54274,54275,54276,54277,54278,54279,54281,54282,54283,54284,54285,54286,54287,54288,54289,54290,54291,54292,54293,54294,null,null,null,null,null,null,54295,54296,54297,54298,54299,54300,54302,54303,54304,54305,54306,54307,54308,54309,54310,54311,54312,54313,54314,54315,54316,54317,54318,54319,54320,54321,54322,54323,54324,54325,54326,54327,49711,49713,49714,49716,49736,49744,49745,49748,49752,49760,49765,49772,49773,49776,49780,49788,49789,49791,49793,49800,49801,49808,49816,49819,49821,49828,49829,49832,49836,49837,49844,49845,49847,49849,49884,49885,49888,49891,49892,49899,49900,49901,49903,49905,49910,49912,49913,49915,49916,49920,49928,49929,49932,49933,49939,49940,49941,49944,49948,49956,49957,49960,49961,49989,50024,50025,50028,50032,50034,50040,50041,50044,50045,50052,50056,50060,50112,50136,50137,50140,50143,50144,50146,50152,50153,50157,50164,50165,50168,50184,50192,50212,50220,50224,54328,54329,54330,54331,54332,54333,54334,54335,54337,54338,54339,54341,54342,54343,54344,54345,54346,54347,54348,54349,54350,54351,54352,54353,54354,54355,null,null,null,null,null,null,54356,54357,54358,54359,54360,54361,54362,54363,54365,54366,54367,54369,54370,54371,54373,54374,54375,54376,54377,54378,54379,54380,54382,54384,54385,54386,null,null,null,null,null,null,54387,54388,54389,54390,54391,54394,54395,54397,54398,54401,54403,54404,54405,54406,54407,54410,54412,54414,54415,54416,54417,54418,54419,54421,54422,54423,54424,54425,54426,54427,54428,54429,50228,50236,50237,50248,50276,50277,50280,50284,50292,50293,50297,50304,50324,50332,50360,50364,50409,50416,50417,50420,50424,50426,50431,50432,50433,50444,50448,50452,50460,50472,50473,50476,50480,50488,50489,50491,50493,50500,50501,50504,50505,50506,50508,50509,50510,50515,50516,50517,50519,50520,50521,50525,50526,50528,50529,50532,50536,50544,50545,50547,50548,50549,50556,50557,50560,50564,50567,50572,50573,50575,50577,50581,50583,50584,50588,50592,50601,50612,50613,50616,50617,50619,50620,50621,50622,50628,50629,50630,50631,50632,50633,50634,50636,50638,54430,54431,54432,54433,54434,54435,54436,54437,54438,54439,54440,54442,54443,54444,54445,54446,54447,54448,54449,54450,54451,54452,54453,54454,54455,54456,null,
1null,null,null,null,null,54457,54458,54459,54460,54461,54462,54463,54464,54465,54466,54467,54468,54469,54470,54471,54472,54473,54474,54475,54477,54478,54479,54481,54482,54483,54485,null,null,null,null,null,null,54486,54487,54488,54489,54490,54491,54493,54494,54496,54497,54498,54499,54500,54501,54502,54503,54505,54506,54507,54509,54510,54511,54513,54514,54515,54516,54517,54518,54519,54521,54522,54524,50640,50641,50644,50648,50656,50657,50659,50661,50668,50669,50670,50672,50676,50678,50679,50684,50685,50686,50687,50688,50689,50693,50694,50695,50696,50700,50704,50712,50713,50715,50716,50724,50725,50728,50732,50733,50734,50736,50739,50740,50741,50743,50745,50747,50752,50753,50756,50760,50768,50769,50771,50772,50773,50780,50781,50784,50796,50799,50801,50808,50809,50812,50816,50824,50825,50827,50829,50836,50837,50840,50844,50852,50853,50855,50857,50864,50865,50868,50872,50873,50874,50880,50881,50883,50885,50892,50893,50896,50900,50908,50909,50912,50913,50920,54526,54527,54528,54529,54530,54531,54533,54534,54535,54537,54538,54539,54541,54542,54543,54544,54545,54546,54547,54550,54552,54553,54554,54555,54556,54557,null,null,null,null,null,null,54558,54559,54560,54561,54562,54563,54564,54565,54566,54567,54568,54569,54570,54571,54572,54573,54574,54575,54576,54577,54578,54579,54580,54581,54582,54583,null,null,null,null,null,null,54584,54585,54586,54587,54590,54591,54593,54594,54595,54597,54598,54599,54600,54601,54602,54603,54606,54608,54610,54611,54612,54613,54614,54615,54618,54619,54621,54622,54623,54625,54626,54627,50921,50924,50928,50936,50937,50941,50948,50949,50952,50956,50964,50965,50967,50969,50976,50977,50980,50984,50992,50993,50995,50997,50999,51004,51005,51008,51012,51018,51020,51021,51023,51025,51026,51027,51028,51029,51030,51031,51032,51036,51040,51048,51051,51060,51061,51064,51068,51069,51070,51075,51076,51077,51079,51080,51081,51082,51086,51088,51089,51092,51094,51095,51096,51098,51104,51105,51107,51108,51109,51110,51116,51117,51120,51124,51132,51133,51135,51136,51137,51144,51145,51148,51150,51152,51160,51165,51172,51176,51180,51200,51201,51204,51208,51210,54628,54630,54631,54634,54636,54638,54639,54640,54641,54642,54643,54646,54647,54649,54650,54651,54653,54654,54655,54656,54657,54658,54659,54662,54666,54667,null,null,null,null,null,null,54668,54669,54670,54671,54673,54674,54675,54676,54677,54678,54679,54680,54681,54682,54683,54684,54685,54686,54687,54688,54689,54690,54691,54692,54694,54695,null,null,null,null,null,null,54696,54697,54698,54699,54700,54701,54702,54703,54704,54705,54706,54707,54708,54709,54710,54711,54712,54713,54714,54715,54716,54717,54718,54719,54720,54721,54722,54723,54724,54725,54726,54727,51216,51217,51219,51221,51222,51228,51229,51232,51236,51244,51245,51247,51249,51256,51260,51264,51272,51273,51276,51277,51284,51312,51313,51316,51320,51322,51328,51329,51331,51333,51334,51335,51339,51340,51341,51348,51357,51359,51361,51368,51388,51389,51396,51400,51404,51412,51413,51415,51417,51424,51425,51428,51445,51452,51453,51456,51460,51461,51462,51468,51469,51471,51473,51480,51500,51508,51536,51
1537,51540,51544,51552,51553,51555,51564,51568,51572,51580,51592,51593,51596,51600,51608,51609,51611,51613,51648,51649,51652,51655,51656,51658,51664,51665,51667,54730,54731,54733,54734,54735,54737,54739,54740,54741,54742,54743,54746,54748,54750,54751,54752,54753,54754,54755,54758,54759,54761,54762,54763,54765,54766,null,null,null,null,null,null,54767,54768,54769,54770,54771,54774,54776,54778,54779,54780,54781,54782,54783,54786,54787,54789,54790,54791,54793,54794,54795,54796,54797,54798,54799,54802,null,null,null,null,null,null,54806,54807,54808,54809,54810,54811,54813,54814,54815,54817,54818,54819,54821,54822,54823,54824,54825,54826,54827,54828,54830,54831,54832,54833,54834,54835,54836,54837,54838,54839,54842,54843,51669,51670,51673,51674,51676,51677,51680,51682,51684,51687,51692,51693,51695,51696,51697,51704,51705,51708,51712,51720,51721,51723,51724,51725,51732,51736,51753,51788,51789,51792,51796,51804,51805,51807,51808,51809,51816,51837,51844,51864,51900,51901,51904,51908,51916,51917,51919,51921,51923,51928,51929,51936,51948,51956,51976,51984,51988,51992,52e3,52001,52033,52040,52041,52044,52048,52056,52057,52061,52068,52088,52089,52124,52152,52180,52196,52199,52201,52236,52237,52240,52244,52252,52253,52257,52258,52263,52264,52265,52268,52270,52272,52280,52281,52283,54845,54846,54847,54849,54850,54851,54852,54854,54855,54858,54860,54862,54863,54864,54866,54867,54870,54871,54873,54874,54875,54877,54878,54879,54880,54881,null,null,null,null,null,null,54882,54883,54884,54885,54886,54888,54890,54891,54892,54893,54894,54895,54898,54899,54901,54902,54903,54904,54905,54906,54907,54908,54909,54910,54911,54912,null,null,null,null,null,null,54913,54914,54916,54918,54919,54920,54921,54922,54923,54926,54927,54929,54930,54931,54933,54934,54935,54936,54937,54938,54939,54940,54942,54944,54946,54947,54948,54949,54950,54951,54953,54954,52284,52285,52286,52292,52293,52296,52300,52308,52309,52311,52312,52313,52320,52324,52326,52328,52336,52341,52376,52377,52380,52384,52392,52393,52395,52396,52397,52404,52405,52408,52412,52420,52421,52423,52425,52432,52436,52452,52460,52464,52481,52488,52489,52492,52496,52504,52505,52507,52509,52516,52520,52524,52537,52572,52576,52580,52588,52589,52591,52593,52600,52616,52628,52629,52632,52636,52644,52645,52647,52649,52656,52676,52684,52688,52712,52716,52720,52728,52729,52731,52733,52740,52744,52748,52756,52761,52768,52769,52772,52776,52784,52785,52787,52789,54955,54957,54958,54959,54961,54962,54963,54964,54965,54966,54967,54968,54970,54972,54973,54974,54975,54976,54977,54978,54979,54982,54983,54985,54986,54987,null,null,null,null,null,null,54989,54990,54991,54992,54994,54995,54997,54998,55e3,55002,55003,55004,55005,55006,55007,55009,55010,55011,55013,55014,55015,55017,55018,55019,55020,55021,null,null,null,null,null,null,55022,55023,55025,55026,55027,55028,55030,55031,55032,55033,55034,55035,55038,55039,55041,55042,55043,55045,55046,55047,55048,55049,55050,55051,55052,55053,55054,55055,55056,55058,55059,55060,52824,52825,52828,52831,52832,52833,52840,52841,52843,52845,52852,52853,52856,52860,52868,52869,52871,52873,52880,52881,52884,52888,52896,52897,52899,52900,52901,52908,52909,52929,52964,52965,52968,52971,52972,52980,52981,52983,52984,52985,52992,52993,52996,53e3,53008,53009,53011,53013,53020,53024,53028,53036,53037,53039,53040,53041,53048,53076,53077,53080,53084,53092,53093,53095,53097,53104,53105,53108,53112,53120,53125,53132,53153,53160,53168,53188,53216,53217,53220,53224,53232,53233,53235,53237,53244,53248,53252,53265,53272,53293,53300,53301,53304,53308,55061,55062,55063,55066,55067,55069,55070,55071,55073,55074,55075,55076,55077,55078,55079,55082,55084,55086,55087,55088,55089,55090,55091,55094,55095,55097,null,null,null,null,null,null,55098,55099,55101,55102,55103,55104,55105,55106,55107,55109,55110,55112,55114,55115,55116,55117,55118,55119,55122,55123,55125,55130,55131,55132,55133,55134,null,null,null,null,null,null,55135,55138,55140,55142,55143,55144,55146,55147,55149,55150,55151,55153,55154,55155,55157,55158,55159,55160,55161,55162,55163,55166,55167,55168,55170,55171,55172,55173,55174,55175,55178,55179,53316,53317,53319,53321,53328,53332,53336,53344,53356,53357,53360,53364,53372,53373,53377,53412,53413,53416,53420,53428,53429,53431,53433,53440,53441,53444,53448,53449,53456,53457,53459,53460,53461,53468,53469,53472,53476,53484,53485,53487,53488,53489,53496,53517,53552,53553,53556,53560,53562,53568,53569,53571,53572,53573,53580,53581,53584,53588,53596,53597,53599,53601,53608,53612,53628,53636,53640,53664,53665,53668,53672,53680,53681,53683,53685,53690,53692,53696,53720,53748,53752,53767,53769,53776,53804,53805,53808,538
112,53820,53821,53823,53825,53832,53852,55181,55182,55183,55185,55186,55187,55188,55189,55190,55191,55194,55196,55198,55199,55200,55201,55202,55203,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,53860,53888,53889,53892,53896,53904,53905,53909,53916,53920,53924,53932,53937,53944,53945,53948,53951,53952,53954,53960,53961,53963,53972,53976,53980,53988,53989,54e3,54001,54004,54008,54016,54017,54019,54021,54028,54029,54030,54032,54036,54038,54044,54045,54047,54048,54049,54053,54056,54057,54060,54064,54072,54073,54075,54076,54077,54084,54085,54140,54141,54144,54148,54156,54157,54159,54160,54161,54168,54169,54172,54176,54184,54185,54187,54189,54196,54200,54204,54212,54213,54216,54217,54224,54232,54241,54243,54252,54253,54256,54260,54268,54269,54271,54273,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,54280,54301,54336,54340,54364,54368,54372,54381,54383,54392,54393,54396,54399,54400,54402,54408,54409,54411,54413,54420,54441,54476,54480,54484,54492,54495,54504,54508,54512,54520,54523,54525,54532,54536,54540,54548,54549,54551,54588,54589,54592,54596,54604,54605,54607,54609,54616,54617,54620,54624,54629,54632,54633,54635,54637,54644,54645,54648,54652,54660,54661,54663,54664,54665,54672,54693,54728,54729,54732,54736,54738,54744,54745,54747,54749,54756,54757,54760,54764,54772,54773,54775,54777,54784,54785,54788,54792,54800,54801,54803,54804,54805,54812,54816,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,54820,54829,54840,54841,54844,54848,54853,54856,54857,54859,54861,54865,54868,54869,54872,54876,54887,54889,54896,54897,54900,54915,54917,54924,54925,54928,54932,54941,54943,54945,54952,54956,54960,54969,54971,54980,54981,54984,54988,54993,54996,54999,55001,55008,55012,55016,55024,55029,55036,55037,55040,55044,55057,55064,55065,55068,55072,55080,55081,55083,55085,55092,55093,55096,55100,55108,55111,55113,55120,55121,55124,55126,55127,55128,55129,55136,55137,55139,55141,55145,55148,55152,55156,55164,55165,55169,55176,55177,55180,55184,55192,55193,55195,55197,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20285,20339,20551,20729,21152,21487,21621,21733,22025,23233,23478,26247,26550,26551,26607,27468,29634,30146,31292,33499,33540,34903,34952,35382,36040,36303,36603,36838,39381,21051,21364,21508,24682,24932,27580,29647,33050,35258,35282,38307,20355,21002,22718,22904,23014,24178,24185,25031,25536,26438,26604,26751,28567,30286,30475,30965,31240,31487,31777,32925,33390,33393,35563,38291,20075,21917,26359,28212,30883,31469,33883,35088,34638,38824,21208,22350,22570,23884,248
163,25022,25121,25954,26577,27204,28187,29976,30131,30435,30640,32058,37039,37969,37970,40853,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21283,23724,30002,32987,37440,38296,21083,22536,23004,23713,23831,24247,24378,24394,24951,27743,30074,30086,31968,32115,32177,32652,33108,33313,34193,35137,35611,37628,38477,40007,20171,20215,20491,20977,22607,24887,24894,24936,25913,27114,28433,30117,30342,30422,31623,33445,33995,63744,37799,38283,21888,23458,22353,63745,31923,32697,37301,20520,21435,23621,24040,25298,25454,25818,25831,28192,28844,31067,36317,36382,63746,36989,37445,37624,20094,20214,20581,24062,24314,24838,26967,33137,34388,36423,37749,39467,20062,20625,26480,26688,20745,21133,21138,27298,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30652,37392,40660,21163,24623,36850,20552,25001,25581,25802,26684,27268,28608,33160,35233,38548,22533,29309,29356,29956,32121,32365,32937,35211,35700,36963,40273,25225,27770,28500,32080,32570,35363,20860,24906,31645,35609,37463,37772,20140,20435,20510,20670,20742,21185,21197,21375,22384,22659,24218,24465,24950,25004,25806,25964,26223,26299,26356,26775,28039,28805,28913,29855,29861,29898,30169,30828,30956,31455,31478,32069,32147,32789,32831,33051,33686,35686,36629,36885,37857,38915,38968,39514,39912,20418,21843,22586,22865,23395,23622,24760,25106,26690,26800,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26856,28330,30028,30328,30926,31293,31995,32363,32380,35336,35489,35903,38542,40388,21476,21481,21578,21617,22266,22993,23396,23611,24235,25335,25911,25925,25970,26272,26543,27073,27837,30204,30352,30590,31295,32660,32771,32929,33167,33510,33533,33776,34241,34865,34996,35493,63747,36764,37678,38599,39015,39640,40723,21741,26011,26354,26767,31296,35895,40288,22256,22372,23825,26118,26801,26829,28414,29736,34974,39908,27752,63748,39592,20379,20844,20849,21151,23380,24037,24656,24685,25329,25511,25915,29657,31354,34467,36002,38799,20018,23521,25096,26524,29916,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31185,33747,35463,35506,36328,36942,37707,38982,24275,27112,34303,37101,63749,20896,23448,23532,24931,26874,27454,28748,29743,29912,31649,32592,33733,35264,36011,38364,39208,21038,24669,25324,36866,20362,20809,21281,22745,24291,26336,27960,28826,29378,29654,31568,33009,37979,21350,25499,32619,20054,20608,22602,22750,24618,24871,25296,27088,39745,23439,32024,32945,36703,20132,20689,21676,21932,23308,23968,24039,25898,25934,26657,27211,29409,30350,30703,32094,32761,33184,34126,34527,36611,36686,37066,39171,39509,39851,19992,20037,20061,20167,20465,20855,21246,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21312,21475,21477,21646,22036,22389,22434,23495,23943,24272,25084,25304,25937,26552,26601,27083,27472,27590,27628,27714,28317,28792,29399,29590,29699,30655,30697,31350,32127,32777,33276,33285,33290,33503,34914,35635,36092,36544,36881,37041,37476,37558,39378,39493,40169,40407,40860,22283,23616,33738,38816,38827,40628,21531,31384,32676,35033,36557,37089,22528,23624,25496,31391,23470,24339,31353,31406,33422,36524,20518,21048,21240,21367,22280,25331,25458,27402,28099,30519,21413,29527,34152,36470,38357,26426,27331,28528,35437,36556,39243,63750,26231,27512,36020,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3974
10,63751,21483,22317,22862,25542,27131,29674,30789,31418,31429,31998,33909,35215,36211,36917,38312,21243,22343,30023,31584,33740,37406,63752,27224,20811,21067,21127,25119,26840,26997,38553,20677,21156,21220,25027,26020,26681,27135,29822,31563,33465,33771,35250,35641,36817,39241,63753,20170,22935,25810,26129,27278,29748,31105,31165,33449,34942,34943,35167,63754,37670,20235,21450,24613,25201,27762,32026,32102,20120,20834,30684,32943,20225,20238,20854,20864,21980,22120,22331,22522,22524,22804,22855,22931,23492,23696,23822,24049,24190,24524,25216,26071,26083,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26398,26399,26462,26827,26820,27231,27450,27683,27773,27778,28103,29592,29734,29738,29826,29859,30072,30079,30849,30959,31041,31047,31048,31098,31637,32e3,32186,32648,32774,32813,32908,35352,35663,35912,36215,37665,37668,39138,39249,39438,39439,39525,40594,32202,20342,21513,25326,26708,37329,21931,20794,63755,63756,23068,25062,63757,25295,25343,63758,63759,63760,63761,63762,63763,37027,63764,63765,63766,63767,63768,35582,63769,63770,63771,63772,26262,63773,29014,63774,63775,38627,63776,25423,25466,21335,63777,26511,26976,28275,63778,30007,63779,63780,63781,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32013,63782,63783,34930,22218,23064,63784,63785,63786,63787,63788,20035,63789,20839,22856,26608,32784,63790,22899,24180,25754,31178,24565,24684,25288,25467,23527,23511,21162,63791,22900,24361,24594,63792,63793,63794,29785,63795,63796,63797,63798,63799,63800,39377,63801,63802,63803,63804,63805,63806,63807,63808,63809,63810,63811,28611,63812,63813,33215,36786,24817,63814,63815,33126,63816,63817,23615,63818,63819,63820,63821,63822,63823,63824,63825,23273,35365,26491,32016,63826,63827,63828,63829,63830,63831,33021,63832,63833,23612,27877,21311,28346,22810,33590,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20025,20150,20294,21934,22296,22727,24406,26039,26086,27264,27573,28237,30701,31471,31774,32222,34507,34962,37170,37723,25787,28606,29562,30136,36948,21846,22349,25018,25812,26311,28129,28251,28525,28601,30192,32835,33213,34113,35203,35527,35674,37663,27795,30035,31572,36367,36957,21776,22530,22616,24162,25095,25758,26848,30070,31958,34739,40680,20195,22408,22382,22823,23565,23729,24118,24453,25140,25825,29619,33274,34955,36024,38538,40667,23429,24503,24755,20498,20992,21040,22294,22581,22615,23566,23648,23798,23947,24230,24466,24764,25361,25481,25623,26691,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26873,27330,28120,28193,28372,28644,29182,30428,30585,31153,31291,33796,35241,36077,36339,3
16424,36867,36884,36947,37117,37709,38518,38876,27602,28678,29272,29346,29544,30563,31167,31716,32411,35712,22697,24775,25958,26109,26302,27788,28958,29129,35930,38931,20077,31361,20189,20908,20941,21205,21516,24999,26481,26704,26847,27934,28540,30140,30643,31461,33012,33891,37509,20828,26007,26460,26515,30168,31431,33651,63834,35910,36887,38957,23663,33216,33434,36929,36975,37389,24471,23965,27225,29128,30331,31561,34276,35588,37159,39472,21895,25078,63835,30313,32645,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,34367,34746,35064,37007,63836,27931,28889,29662,32097,33853,63837,37226,39409,63838,20098,21365,27396,27410,28734,29211,34349,40478,21068,36771,23888,25829,25900,27414,28651,31811,32412,34253,35172,35261,25289,33240,34847,24266,26391,28010,29436,29701,29807,34690,37086,20358,23821,24480,33802,20919,25504,30053,20142,20486,20841,20937,26753,27153,31918,31921,31975,33391,35538,36635,37327,20406,20791,21237,21570,24300,24942,25150,26053,27354,28670,31018,34268,34851,38317,39522,39530,40599,40654,21147,26310,27511,28701,31019,36706,38722,24976,25088,25891,28451,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29001,29833,32244,32879,34030,36646,36899,37706,20925,21015,21155,27916,28872,35010,24265,25986,27566,28610,31806,29557,20196,20278,22265,63839,23738,23994,24604,29618,31533,32666,32718,32838,36894,37428,38646,38728,38936,40801,20363,28583,31150,37300,38583,21214,63840,25736,25796,27347,28510,28696,29200,30439,32769,34310,34396,36335,36613,38706,39791,40442,40565,30860,31103,32160,33737,37636,40575,40595,35542,22751,24324,26407,28711,29903,31840,32894,20769,28712,29282,30922,36034,36058,36084,38647,20102,20698,23534,24278,26009,29134,30274,30637,32842,34044,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36988,39719,40845,22744,23105,23650,27155,28122,28431,30267,32047,32311,34078,35128,37860,38475,21129,26066,26611,27060,27969,28316,28687,29705,29792,30041,30244,30827,35628,39006,20845,25134,38520,20374,20523,23833,28138,32184,36650,24459,24900,26647,63841,38534,21202,32907,20956,20940,26974,31260,32190,33777,38517,20442,21033,21400,21519,21774,23653,24743,26446,26792,28012,29313,29432,29702,29827,63842,30178,31852,32633,32696,33673,35023,35041,37324,37328,38626,39881,21533,28542,29136,29848,34298,36522,38563,40023,40607,26519,28107,29747,33256,38678,30764,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31435,31520,31890,25705,29802,30194,30908,30952,39340,39764,40635,23518,24149,28448,33180,33707,37e3,19975,21325,23081,24018,24398,24930,25405,26217,26364,28415,28459,28771,30622,33836,34067,34875,36627,39237,39995,21788,25273,26411,27819,33545,35178,38778,20129,22916,24536,24537,26395,32178,32596,33426,33579,33725,36638,37017,22475,22969,23186,23504,26151,26522,26757,27599,29028,32629,36023,36067,36993,39749,33032,35978,38476,39488,40613,23391,27667,29467,30450,30431,33804,20906,35219,20813,20885,21193,26825,27796,30468,30496,32191,32236,38754,40629,28357,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,34065,20901,21517,21629,26126,26269,26919,28319,30399,30609,33559,33986,34719,37225,37528,40180,34946,20398,20882,21215,22982,24125,24917,25720,25721,26286,26576,27169,27597,27611,29279,29281,29761,30520,30683,32791,33468,33541,35584,35624,35980,26408,27792,29287,30446,30566,31302,40361,27519,27794,22818,26406,33945,21359,22675,22937,24287,25551,26164,26483,28218,29483,31447,33495,37672,21209,24043,25006,25035,25098,25287,25771,26080,26969,27494,27595,28961,29687,30045,32326,33310,33538,34154,35491,36031,38695,40289,22696,40664,20497,21006,21563,21839,25991,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,27766,32010,32011,32862,34442,38272,38639,21247,27797,29289,21619,23194,23614,23883,24396,24494,26410,26806,26979,28220,28228,30473,31859,32654,34183,35598,36855,38753,40692,23735,24758,24845,25003,25935,26107,26108,27665,27887,29599,29641,32225,38292,23494,34588,35600,21085,21338,25293,25615,25778,26420,27192,27850,29632,29854,31636,31893,32283,33162,33334,34180,36843,38649,39361,20276,21322,21453,21467,25292,25644,25856,26001,27075,27886,28504,29677,30036,30242,30436,30460,30928,30971,31020,32070,33324,34784,36820,38930,39151,21187,25300,25765,28196,28497,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30332,36299,37297,37474,39662,39747,20515,20621,22346,22952,23592,24135,24439,25151,25918,26041,26049,26121,26507,27036,28354,30917,32033,32938,33152,33323,33459,33953,34444,35370,35607,37030,38450,40848,20493,20467,63843,22521,24472,25308,25490,26479,28227,28953,30403,32972,32986,35060,35061,35097,36064,36649,37197,38506,20271,20336,24091,26575,26658,30333,30334,39748,24161,27146,29033,29140,30058,63844,32321,34115,34281,39132,20240,31567,32624,38309,20961,24070,26805,27710,27726,27867,29359,31684,33539,27861,29754,20731,21128,22721,25816,27287,29863,30294,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30887,34327,38370,38713,63845,21342,24321,35722,36776,36783,37002,21029,30629,40009,40712,19993,20482,20853,23643,24183,26142,26170,26564,26821,28851,29953,30149,31177,31453,36647,39200,39432,20445,22561,22577,23542,26222,27493,27921,28282,28541,29668,29995,33769,35036,35091,35676,36628,20239,20693,21264,21340,23443,24489,26381,31119,33145,33583,34068,35079,35206,36665,36667,39333,39954,26412,20086,20472,22857,23553,23791,23792,25447,26834,28925,29090,29739,32299,34028,34562,36898,37586,40179,19981,20184,20463,20613,21078,21103,21542,21648,22496,22827,23142,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,23386,23413,23500,24220,63846,25206,25975,26023,28014,28325,29238,31526,31807,32566,33104,33105,33178,33344,33433,33705,35331,36e3,36070,36091,36212,36282,37096,37340,38428,38468,39385,40167,21271,20998,21545,22132,22707,22868,22894,24575,24996,25198,26128,27774,28954,30406,31881,31966,32027,33452,36033,38640,63847,20315,24343,24447,25282,23849,26379,26842,30844,32323,40300,19989,20633,21269,21290,21329,22915,23138,24199,24754,24970,25161,25209,26e3,26503,27047,27604,27606,27607,27608,27832,63848,29749,30202,30738,30865,31189,31192,31875,32203,32737,32933,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,33086,33218,33778,34586,35048,35513,35692,36027,37145,38750,39131,40763,22188,23338,24428,25996,27315,27567,27996,28657,28693,29277,29613,36007,36051,38971,24977,27703,32856,39425,20045,20107,20123,20181,20282,20284,20351,20447,20735,21490,21496,21766,21987,22235,22763,22882,23057,23531,23546,23556,24051,24107,24473,24605,25448,26012,26031,26614,26619,26797,27515,27801,27863,28195,28681,29509,30722,31038,31040,31072,31169,31721,32023,32114,32902,33293,33678,34001,34503,35039,35408,35422,35613,36060,36198,36781,37034,39164,39391,40605,21066,63849,26388,63850,null,
1null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20632,21034,23665,25955,27733,29642,29987,30109,31639,33948,37240,38704,20087,25746,27578,29022,34217,19977,63851,26441,26862,28183,33439,34072,34923,25591,28545,37394,39087,19978,20663,20687,20767,21830,21930,22039,23360,23577,23776,24120,24202,24224,24258,24819,26705,27233,28248,29245,29248,29376,30456,31077,31665,32724,35059,35316,35443,35937,36062,38684,22622,29885,36093,21959,63852,31329,32034,33394,29298,29983,29989,63853,31513,22661,22779,23996,24207,24246,24464,24661,25234,25471,25933,26257,26329,26360,26646,26866,29312,29790,31598,32110,32214,32626,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32997,33298,34223,35199,35475,36893,37604,40653,40736,22805,22893,24109,24796,26132,26227,26512,27728,28101,28511,30707,30889,33990,37323,37675,20185,20682,20808,21892,23307,23459,25159,25982,26059,28210,29053,29697,29764,29831,29887,30316,31146,32218,32341,32680,33146,33203,33337,34330,34796,35445,36323,36984,37521,37925,39245,39854,21352,23633,26964,27844,27945,28203,33292,34203,35131,35373,35498,38634,40807,21089,26297,27570,32406,34814,36109,38275,38493,25885,28041,29166,63854,22478,22995,23468,24615,24826,25104,26143,26207,29481,29689,30427,30465,31596,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32854,32882,33125,35488,37266,19990,21218,27506,27927,31237,31545,32048,63855,36016,21484,22063,22609,23477,23567,23569,24034,25152,25475,25620,26157,26803,27836,28040,28335,28703,28836,29138,29990,30095,30094,30233,31505,31712,31787,32032,32057,34092,34157,34311,35380,36877,36961,37045,37559,38902,39479,20439,23660,26463,28049,31903,32396,35606,36118,36895,23403,24061,25613,33984,36956,39137,29575,23435,24730,26494,28126,35359,35494,36865,38924,21047,63856,28753,30862,37782,34928,37335,20462,21463,22013,22234,22402,22781,23234,23432,23723,23744,24101,24833,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,25101,25163,25480,25628,25910,25976,27193,27530,27700,27929,28465,29159,29417,29560,29703,29874,30246,30561,31168,31319,31466,31929,32143,32172,32353,32670,33065,33585,33936,34010,34282,34966,35504,35728,36664,36930,36995,37228,37526,37561,38539,38567,38568,38614,38656,38920,39318,39635,39706,21460,22654,22809,23408,23487,28113,28506,29087,29729,29881,32901,33789,24033,24455,24490,24642,26092,26642,26991,27219,27529,27957,28147,29667,30462,30636,31565,32020,33059,33308,33600,34036,34147,35426,35524,37255,37662,38918,39348,25100,34899,36848,37477,23815,23847,null,
1null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,23913,29791,33181,34664,28629,25342,32722,35126,35186,19998,20056,20711,21213,21319,25215,26119,32361,34821,38494,20365,21273,22070,22987,23204,23608,23630,23629,24066,24337,24643,26045,26159,26178,26558,26612,29468,30690,31034,32709,33940,33997,35222,35430,35433,35553,35925,35962,22516,23508,24335,24687,25325,26893,27542,28252,29060,31698,34645,35672,36606,39135,39166,20280,20353,20449,21627,23072,23480,24892,26032,26216,29180,30003,31070,32051,33102,33251,33688,34218,34254,34563,35338,36523,36763,63857,36805,22833,23460,23526,24713,23529,23563,24515,27777,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63858,28145,28683,29978,33455,35574,20160,21313,63859,38617,27663,20126,20420,20818,21854,23077,23784,25105,29273,33469,33706,34558,34905,35357,38463,38597,39187,40201,40285,22538,23731,23997,24132,24801,24853,25569,27138,28197,37122,37716,38990,39952,40823,23433,23736,25353,26191,26696,30524,38593,38797,38996,39839,26017,35585,36555,38332,21813,23721,24022,24245,26263,30284,33780,38343,22739,25276,29390,40232,20208,22830,24591,26171,27523,31207,40230,21395,21696,22467,23830,24859,26326,28079,30861,33406,38552,38724,21380,25212,25494,28082,32266,33099,38989,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,27387,32588,40367,40474,20063,20539,20918,22812,24825,25590,26928,29242,32822,63860,37326,24369,63861,63862,32004,33509,33903,33979,34277,36493,63863,20335,63864,63865,22756,23363,24665,25562,25880,25965,26264,63866,26954,27171,27915,28673,29036,30162,30221,31155,31344,63867,32650,63868,35140,63869,35731,37312,38525,63870,39178,22276,24481,26044,28417,30208,31142,35486,39341,39770,40812,20740,25014,25233,27277,33222,20547,22576,24422,28937,35328,35578,23420,34326,20474,20796,22196,22852,25513,28153,23978,26989,20870,20104,20313,63871,63872,63873,22914,63874,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63875,27487,27741,63876,29877,30998,63877,33287,33349,33593,36671,36701,63878,39192,63879,63880,63881,20134,63882,22495,24441,26131,63883,63884,30123,32377,35695,63885,36870,39515,22181,22567,23032,23071,23476,63886,24310,63887,63888,25424,25403,63889,26941,27783,27839,28046,28051,28149,28436,63890,28895,28982,29017,63891,29123,29141,63892,30799,30831,63893,31605,32227,63894,32303,63895,34893,36575,63896,63897,63898,37467,63899,40182,63900,63901,63902,24709,28037,63903,29105,63904,63905,38321,21421,63906,
163907,63908,26579,63909,28814,28976,29744,33398,33490,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63910,38331,39653,40573,26308,63911,29121,33865,63912,63913,22603,63914,63915,23992,24433,63916,26144,26254,27001,27054,27704,27891,28214,28481,28634,28699,28719,29008,29151,29552,63917,29787,63918,29908,30408,31310,32403,63919,63920,33521,35424,36814,63921,37704,63922,38681,63923,63924,20034,20522,63925,21e3,21473,26355,27757,28618,29450,30591,31330,33454,34269,34306,63926,35028,35427,35709,35947,63927,37555,63928,38675,38928,20116,20237,20425,20658,21320,21566,21555,21978,22626,22714,22887,23067,23524,24735,63929,25034,25942,26111,26212,26791,27738,28595,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,28879,29100,29522,31613,34568,35492,39986,40711,23627,27779,29508,29577,37434,28331,29797,30239,31337,32277,34314,20800,22725,25793,29934,29973,30320,32705,37013,38605,39252,28198,29926,31401,31402,33253,34521,34680,35355,23113,23436,23451,26785,26880,28003,29609,29715,29740,30871,32233,32747,33048,33109,33694,35916,38446,38929,26352,24448,26106,26505,27754,29579,20525,23043,27498,30702,22806,23916,24013,29477,30031,63930,63931,20709,20985,22575,22829,22934,23002,23525,63932,63933,23970,25303,25622,25747,25854,63934,26332,63935,27208,63936,29183,29796,63937,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31368,31407,32327,32350,32768,33136,63938,34799,35201,35616,36953,63939,36992,39250,24958,27442,28020,32287,35109,36785,20433,20653,20887,21191,22471,22665,23481,24248,24898,27029,28044,28263,28342,29076,29794,29992,29996,32883,33592,33993,36362,37780,37854,63940,20110,20305,20598,20778,21448,21451,21491,23431,23507,23588,24858,24962,26100,29275,29591,29760,30402,31056,31121,31161,32006,32701,33419,34261,34398,36802,36935,37109,37354,38533,38632,38633,21206,24423,26093,26161,26671,29020,31286,37057,38922,20113,63941,27218,27550,28560,29065,32792,33464,34131,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36939,38549,38642,38907,34074,39729,20112,29066,38596,20803,21407,21729,22291,22290,22435,23195,23236,23491,24616,24895,25588,27781,27961,28274,28304,29232,29503,29783,33489,34945,36677,36960,63942,38498,39e3,40219,26376,36234,37470,20301,20553,20702,21361,22285,22996,23041,23561,24944,26256,28205,29234,29771,32239,32963,33806,33894,34111,34655,34907,35096,35586,36949,38859,39759,20083,20369,20754,20842,63943,21807,21929,23418,23461,24188,24189,24254,24736,24799,24840,24841,25540,25912,26377,63944,26580,26586,63945,26977,26978,27833,27943,63946,28216,63947,null,
1null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,28641,29494,29495,63948,29788,30001,63949,30290,63950,63951,32173,33278,33848,35029,35480,35547,35565,36400,36418,36938,36926,36986,37193,37321,37742,63952,63953,22537,63954,27603,32905,32946,63955,63956,20801,22891,23609,63957,63958,28516,29607,32996,36103,63959,37399,38287,63960,63961,63962,63963,32895,25102,28700,32104,34701,63964,22432,24681,24903,27575,35518,37504,38577,20057,21535,28139,34093,38512,38899,39150,25558,27875,37009,20957,25033,33210,40441,20381,20506,20736,23452,24847,25087,25836,26885,27589,30097,30691,32681,33380,34191,34811,34915,35516,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,35696,37291,20108,20197,20234,63965,63966,22839,23016,63967,24050,24347,24411,24609,63968,63969,63970,63971,29246,29669,63972,30064,30157,63973,31227,63974,32780,32819,32900,33505,33617,63975,63976,36029,36019,36999,63977,63978,39156,39180,63979,63980,28727,30410,32714,32716,32764,35610,20154,20161,20995,21360,63981,21693,22240,23035,23493,24341,24525,28270,63982,63983,32106,33589,63984,34451,35469,63985,38765,38775,63986,63987,19968,20314,20350,22777,26085,28322,36920,37808,39353,20219,22764,22922,23001,24641,63988,63989,31252,63990,33615,36035,20837,21316,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63991,63992,63993,20173,21097,23381,33471,20180,21050,21672,22985,23039,23376,23383,23388,24675,24904,28363,28825,29038,29574,29943,30133,30913,32043,32773,33258,33576,34071,34249,35566,36039,38604,20316,21242,22204,26027,26152,28796,28856,29237,32189,33421,37196,38592,40306,23409,26855,27544,28538,30430,23697,26283,28507,31668,31786,34870,38620,19976,20183,21280,22580,22715,22767,22892,23559,24115,24196,24373,25484,26290,26454,27167,27299,27404,28479,29254,63994,29520,29835,31456,31911,33144,33247,33255,33674,33900,34083,34196,34255,35037,36115,37292,38263,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38556,20877,21705,22312,23472,25165,26448,26685,26771,28221,28371,28797,32289,35009,36001,36617,40779,40782,29229,31631,35533,37658,20295,20302,20786,21632,22992,24213,25269,26485,26990,27159,27822,28186,29401,29482,30141,31672,32053,33511,33785,33879,34295,35419,36015,36487,36889,37048,38606,40799,21219,21514,23265,23490,25688,25973,28404,29380,63995,30340,31309,31515,31821,32318,32735,33659,35627,36042,36196,36321,36447,36842,36857,36969,37841,20291,20346,20659,20840,20856,21069,21098,22625,22652,22880,23560,23637,24283,24731,25136,26643,27583,27656,28593,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29006,29728,3e4,30008,30033,30322,31564,31627,31661,31686,32399,35438,36670,36681,37439,37523,37666,37931,38651,39002,39019,39198,20999,25130,25240,27993,30308,31434,31680,32118,21344,23742,24215,28472,28857,31896,38673,39822,40670,25509,25722,34678,19969,20117,20141,20572,20597,21576,22979,23450,24128,24237,24311,24449,24773,25402,25919,25972,26060,26230,26232,26622,26984,27273,27491,27712,28096,28136,28191,28254,28702,28833,29582,29693,30010,30555,30855,31118,31243,31357,31934,32142,33351,35330,35562,35998,37165,37194,37336,37478,37580,37664,38662,38742,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38748,38914,40718,21046,21137,21884,22564,24093,24351,24716,25552,26799,28639,31085,31532,33229,34234,35069,35576,36420,37261,38500,38555,38717,38988,40778,20430,20806,20939,21161,22066,24340,24427,25514,25805,26089,26177,26362,26361,26397,26781,26839,27133,28437,28526,29031,29157,29226,29866,30522,31062,31066,31199,31264,31381,31895,31967,32068,32368,32903,34299,34468,35412,35519,36249,36481,36896,36973,37347,38459,38613,40165,26063,31751,36275,37827,23384,23562,21330,25305,29469,20519,23447,24478,24752,24939,26837,28121,29742,31278,32066,32156,32305,33131,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36394,36405,37758,37912,20304,22352,24038,24231,25387,32618,20027,20303,20367,20570,23005,32964,21610,21608,22014,22863,23449,24030,24282,26205,26417,26609,26666,27880,27954,28234,28557,28855,29664,30087,31820,32002,32044,32162,33311,34523,35387,35461,36208,36490,36659,36913,37198,37202,37956,39376,31481,31909,20426,20737,20934,22472,23535,23803,26201,27197,27994,28310,28652,28940,30063,31459,34850,36897,36981,38603,39423,33537,20013,20210,34886,37325,21373,27355,26987,27713,33914,22686,24974,26366,25327,28893,29969,30151,32338,33976,35657,36104,20043,21482,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21675,22320,22336,24535,25345,25351,25711,25903,26088,26234,26525,26547,27490,27744,27802,28460,30693,30757,31049,31063,32025,32930,33026,33267,33437,33463,34584,35468,63996,36100,36286,36978,30452,31257,31287,32340,32887,21767,21972,22645,25391,25634,26185,26187,26733,27035,27524,27941,28337,29645,29800,29857,30043,30137,30433,30494,30603,31206,32265,32285,33275,34095,34967,35386,36049,3
16587,36784,36914,37805,38499,38515,38663,20356,21489,23018,23241,24089,26702,29894,30142,31209,31378,33187,34541,36074,36300,36845,26015,26389,63997,22519,28503,32221,36655,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,37878,38598,24501,25074,28548,19988,20376,20511,21449,21983,23919,24046,27425,27492,30923,31642,63998,36425,36554,36974,25417,25662,30528,31364,37679,38015,40810,25776,28591,29158,29864,29914,31428,31762,32386,31922,32408,35738,36106,38013,39184,39244,21049,23519,25830,26413,32046,20717,21443,22649,24920,24921,25082,26028,31449,35730,35734,20489,20513,21109,21809,23100,24288,24432,24884,25950,26124,26166,26274,27085,28356,28466,29462,30241,31379,33081,33369,33750,33980,20661,22512,23488,23528,24425,25505,30758,32181,33756,34081,37319,37365,20874,26613,31574,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36012,20932,22971,24765,34389,20508,63999,21076,23610,24957,25114,25299,25842,26021,28364,30240,33034,36448,38495,38587,20191,21315,21912,22825,24029,25797,27849,28154,29588,31359,33307,34214,36068,36368,36983,37351,38369,38433,38854,20984,21746,21894,24505,25764,28552,32180,36639,36685,37941,20681,23574,27838,28155,29979,30651,31805,31844,35449,35522,22558,22974,24086,25463,29266,30090,30571,35548,36028,36626,24307,26228,28152,32893,33729,35531,38737,39894,64e3,21059,26367,28053,28399,32224,35558,36910,36958,39636,21021,21119,21736,24980,25220,25307,26786,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26898,26970,27189,28818,28966,30813,30977,30990,31186,31245,32918,33400,33493,33609,34121,35970,36229,37218,37259,37294,20419,22225,29165,30679,34560,35320,23544,24534,26449,37032,21474,22618,23541,24740,24961,25696,32317,32880,34085,37507,25774,20652,23828,26368,22684,25277,25512,26894,27e3,27166,28267,30394,31179,33467,33833,35535,36264,36861,37138,37195,37276,37648,37656,37786,38619,39478,39949,19985,30044,31069,31482,31569,31689,32302,33988,36441,36468,36600,36880,26149,26943,29763,20986,26414,40668,20805,24544,27798,34802,34909,34935,24756,33205,33795,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36101,21462,21561,22068,23094,23601,28810,32736,32858,33030,33261,36259,37257,39519,40434,20596,20164,21408,24827,28204,23652,20360,20516,21988,23769,24159,24677,26772,27835,28100,29118,30164,30196,30305,31258,31305,32199,32251,32622,33268,34473,36636,38601,39347,40786,21063,21189,39149,35242,19971,26578,28422,20405,23522,26517,27784,28024,29723,30759,37341,37756,34756,31204,31281,24555,20182,21668,21822,22702,22949,24816,25171,25302,26422,26965,33333,38464,39345,39389,20524,21331,21828,22396,64001,25176,64002,25826,26219,26589,28609,28655,29730,29752,35351,null,
1null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,37944,21585,22022,22374,24392,24986,27470,28760,28845,32187,35477,22890,33067,25506,30472,32829,36010,22612,25645,27067,23445,24081,28271,64003,34153,20812,21488,22826,24608,24907,27526,27760,27888,31518,32974,33492,36294,37040,39089,64004,25799,28580,25745,25860,20814,21520,22303,35342,24927,26742,64005,30171,31570,32113,36890,22534,27084,33151,35114,36864,38969,20600,22871,22956,25237,36879,39722,24925,29305,38358,22369,23110,24052,25226,25773,25850,26487,27874,27966,29228,29750,30772,32631,33453,36315,38935,21028,22338,26495,29256,29923,36009,36774,37393,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38442,20843,21485,25420,20329,21764,24726,25943,27803,28031,29260,29437,31255,35207,35997,24429,28558,28921,33192,24846,20415,20559,25153,29255,31687,32232,32745,36941,38829,39449,36022,22378,24179,26544,33805,35413,21536,23318,24163,24290,24330,25987,32954,34109,38281,38491,20296,21253,21261,21263,21638,21754,22275,24067,24598,25243,25265,25429,64006,27873,28006,30129,30770,32990,33071,33502,33889,33970,34957,35090,36875,37610,39165,39825,24133,26292,26333,28689,29190,64007,20469,21117,24426,24915,26451,27161,28418,29922,31080,34920,35961,39111,39108,39491,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21697,31263,26963,35575,35914,39080,39342,24444,25259,30130,30382,34987,36991,38466,21305,24380,24517,27852,29644,30050,30091,31558,33534,39325,20047,36924,19979,20309,21414,22799,24264,26160,27827,29781,33655,34662,36032,36944,38686,39957,22737,23416,34384,35604,40372,23506,24680,24717,26097,27735,28450,28579,28698,32597,32752,38289,38290,38480,38867,21106,36676,20989,21547,21688,21859,21898,27323,28085,32216,33382,37532,38519,40569,21512,21704,30418,34532,38308,38356,38492,20130,20233,23022,23270,24055,24658,25239,26477,26689,27782,28207,32568,32923,33322,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,64008,64009,38917,20133,20565,21683,22419,22874,23401,23475,25032,26999,28023,28707,34809,35299,35442,35559,36994,39405,39608,21182,26680,20502,24184,26447,33607,34892,20139,21521,22190,29670,37141,38911,39177,39255,39321,22099,22687,34395,35377,25010,27382,29563,36562,27463,38570,39511,22869,29184,36203,38761,20436,23796,24358,25080,26203,27883,28843,29572,29625,29694,30505,30541,32067,32098,32291,33335,34898,64010,36066,37449,39023,23377,31348,34880,38913,23244,20448,21332,22846,23805,25406,28025,29433,33029,33031,33698,37583,38960,20136,20804,21009,22411,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,24418,27842,28366,28677,28752,28847,29074,29673,29801,33610,34722,34913,36872,37026,37795,39336,20846,24407,24800,24935,26291,34137,36426,37295,38795,20046,20114,21628,22741,22778,22909,23733,24359,25142,25160,26122,26215,27627,28009,28111,28246,28408,28564,28640,28649,28765,29392,29733,29786,29920,30355,31068,31946,32286,32993,33446,33899,33983,34382,34399,34676,35703,35946,37804,38912,39013,24785,25110,37239,23130,26127,28151,28222,29759,39746,24573,24794,31503,21700,24344,27742,27859,27946,28888,32005,34425,35340,40251,21270,21644,23301,27194,28779,30069,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31117,31166,33457,33775,35441,35649,36008,38772,64011,25844,25899,30906,30907,31339,20024,21914,22864,23462,24187,24739,25563,27489,26213,26707,28185,29029,29872,32008,36996,39529,39973,27963,28369,29502,35905,38346,20976,24140,24488,24653,24822,24880,24908,26179,26180,27045,27841,28255,28361,28514,29004,29852,30343,31681,31783,33618,34647,36945,38541,40643,21295,22238,24315,24458,24674,24724,25079,26214,26371,27292,28142,28590,28784,29546,32362,33214,33588,34516,35496,36036,21123,29554,23446,27243,37892,21742,22150,23389,25928,25989,26313,26783,28045,28102,
1null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29243,32948,37237,39501,20399,20505,21402,21518,21564,21897,21957,24127,24460,26429,29030,29661,36869,21211,21235,22628,22734,28932,29071,29179,34224,35347,26248,34216,21927,26244,29002,33841,21321,21913,27585,24409,24509,25582,26249,28999,35569,36637,40638,20241,25658,28875,30054,34407,24676,35662,40440,20807,20982,21256,27958,33016,40657,26133,27427,28824,30165,21507,23673,32007,35350,27424,27453,27462,21560,24688,27965,32725,33288,20694,20958,21916,22123,22221,23020,23305,24076,24985,24984,25137,26206,26342,29081,29113,29114,29351,31143,31232,32690,35440,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],gb18030:[19970,19972,19973,19974,19983,19986,19991,19999,2e4,20001,20003,20006,20009,20014,20015,20017,20019,20021,20023,20028,20032,20033,20034,20036,20038,20042,20049,20053,20055,20058,20059,20066,20067,20068,20069,20071,20072,20074,20075,20076,20077,20078,20079,20082,20084,20085,20086,20087,20088,20089,20090,20091,20092,20093,20095,20096,20097,20098,20099,20100,20101,20103,20106,20112,20118,20119,20121,20124,20125,20126,20131,20138,20143,20144,20145,20148,20150,20151,20152,20153,20156,20157,20158,20168,20172,20175,20176,20178,20186,20187,20188,20192,20194,20198,20199,20201,20205,20206,20207,20209,20212,20216,20217,20218,20220,20222,20224,20226,20227,20228,20229,20230,20231,20232,20235,20236,20242,20243,20244,20245,20246,20252,20253,20257,20259,20264,20265,20268,20269,20270,20273,20275,20277,20279,20281,20283,20286,20287,20288,20289,20290,20292,20293,20295,20296,20297,20298,20299,20300,20306,20308,20310,20321,20322,20326,20328,20330,20331,20333,20334,20337,20338,20341,20343,20344,20345,20346,20349,20352,20353,20354,20357,20358,20359,20362,20364,20366,20368,20370,20371,20373,20374,20376,20377,20378,20380,20382,20383,20385,20386,20388,20395,20397,20400,20401,20402,20403,20404,20406,20407,20408,20409,20410,20411,20412,20413,20414,20416,20417,20418,20422,20423,20424,20425,20427,20428,20429,20434,20435,20436,20437,20438,20441,20443,20448,20450,20452,20453,20455,20459,20460,20464,20466,20468,20469,20470,20471,20473,20475,20476,20477,20479,20480,20481,20482,20483,20484,20485,20486,20487,20488,20489,20490,20491,20494,20496,20497,20499,20501,20502,20503,20507,20509,20510,20512,20514,20515,20516,20519,20523,20527,20528,20529,20530,20531,20532,20533,20534,20535,20536,20537,20539,20541,20543,20544,20545,20546,20548,20549,20550,20553,20554,20555,20557,20560,20561,20562,20563,20564,20566,20567,20568,20569,20571,20573,20574,20575,20576,20577,20578,20579,20580,20582,20583,20584,20585,20586,20587,20589,20590,20591,20592,20593,20594,20595,20596,20597,20600,20601,20602,20604,20605,20609,20610,20611,20612,20614,20615,20617,20618,20619,20620,20622,20623,20624,20625,20626,20627,20628,20629,20630,20631,20632,20633,20634,20635,20636,20637,20638,20639,20640,20641,20642,20644,20646,20650,20651,20653,20654,20655,20656,20657,20659,20660,20661,20662,20663,20664,20665,20668,20669,20670,20671,20672,20673,20674,20675,20676,20677,20678,20679,20680,20681,20682,20683,20684,20685,20686,20688,20689,20690,20691,20692,20693,20695,20696,20697,20699,20700,20701,20702,20703,20704,20705,20706,20707,20708,20709,20712,20713,20714,20715,20719,20720,20721,20722,20724,20726,20727,20728,20729,20730,20732,20733,20734,20735,20736,20737,20738,20739,20740,20741,20744,20745,20746,20748,20749,20750,20751,20752,20753,20755,20756,20757,20758,20759,20760,20761,20762,20763,20764,20765,20766,20767,20768,20770,20771,20772,20773,20774,20775,20776,20777,20778,20779,20780,20781,20782,20783,20784,20785,20786,20787,20788,20789,20790,20791,20792,20793,20794,20795,20796,20797,20798,20802,20807,20810,20812,20814,20815,20816,20818,20819,20823,20824,20825,20827,20829,20830,20831,20832,20833,20835,20836,20838,20839,20841,20842,20847,20850,20858,20862,20863,20867,20868,20870,20871,20874,20875,20878,20879,20880,20881,20883,20884,20888,20890,20893,20894,20895,20897,20899,20902,20903,20904,20905,20906,20909,20910,20916,20920,20921,20922,20926,20927,20929,20930,20931,20933,20936,20938,20941,20942,20944,20946,20947,20948,20949,20950,20951,20952,20953,20954,20956,20958,20959,20962,20963,20965,20966,20967,20968,20969,20970,20972,20974,20977,20978,20980,20983,20990,20996,20997,21001,21003,21004,21007,21008,21011,21012,21013,21020,21022,21023,21025,21026,21027,21029,21030,21031,21034,21036,21039,21041,21042,21044,21045,21052,21054,21060,21061,21062,21063,21064,21065,21067,21070,21071,21074,21075,21077,21079,21080,21081,21082,21083,21085,21087,21088,21090,21091,21092,21094,21096,21099,21100,21101,21102,21104,21105,21107,21108,21109,21110,21111,21112,21113,21114,21115,21116,21118,21120,21123,21124,21125,21126,21127,21129,21130,21131,21132,21133,21134,21135,21137,21138,21140,21141,21142,21143,21144,21145,21146,21148,21156,21157,21158,21159,21166,21167,21168,21172,21173,21174,21175,21176,21177,21178,21179,21180,21181,21184,21185,21186,21188,21189,21190,21192,21194,21196,21197,21198,21199,21201,21203,21204,21205,21207,21209,21210,21211,21212,21213,21214,21216,21217,21218,21219,21221,21222,21223,21224,21225,21226,21227,21228,21229,21230,21231,21233,21234,21235,21236,21237,21238,21239,21240,21243,21244,21245,21249,21250,21251,21252,21255,21257,21258,21259,21260,21262,21265,21266,21267,21268,21272,21275,21276,21278,21279,21282,21284,21285,21287,21288,21289,21291,21292,21293,21295,21296,21297,21298,21299,21300,21301,21302,21303,21304,21308,21309,21312,21314,21316,21318,21323,21324,21325,21328,21332,21336,21337,21339,21341,21349,21352,21354,21356,21357,21362,21366,21369,21371,21372,21373,21374,21376,21377,21379,21383,21384,21386,21390,21391,21392,21393,21394,21395,21396,21398,21399,21401,21403,21404,21406,21408,21409,21412,21415,21418,21419,21420,21421,21423,21424,21425,21426,21427,21428,21429,21431,21432,21433,21434,21436,21437,21438,21440,21443,21444,21445,21446,21447,21454,21455,21456,21458,21459,21461,21466,21468,21469,21470,21473,21474,21479,21492,21498,21502,21503,21504,21506,21509,21511,21515,21524,21528,21529,21530,21532,21538,21540,21541,21546,21552,21555,21558,21559,21562,21565,21567,21569,21570,21572,21573,21575,21577,21580,21581,21582,21583,21585,21594,21597,21598,21599,21600,21601,21603,21605,21607,21609,21610,21611,21612,21613,21614,21615,21616,21620,21625,21626,21630,21631,21633,21635,21637,21639,21640,21641,21642,21645,21649,21651,21655,21656,21660,21662,21663,21664,21665,21666,21669,21678,21680,21682,21685,21686,21687,21689,21690,21692,21694,21699,21701,21706,21707,21718,21720,21723,21728,21729,21730,21731,21732,21739,21740,21743,21744,21745,21748,21749,21750,21751,21752,21753,21755,21758,21760,21762,21763,21764,21765,21768,21770,21771,21772,21773,21774,21778,21779,21781,21782,21783,21784,21785,21786,21788,21789,21790,21791,21793,21797,21798,21800,21801,21803,21805,21810,21812,21813,21814,21816,21817,21818,21819,21821,21824,21826,21829,21831,21832,21835,21836,21837,21838,21839,21841,21842,21843,21844,21847,21848,21849,21850,21851,21853,21854,21855,21856,21858,21859,21864,21865,21867,21871,21872,21873,21874,21875,21876,21881,21882,21885,21887,21893,21894,21900,21901,21902,21904,21906,21907,21909,21910,21911,21914,21915,21918,21920,21921,21922,21923,21924,21925,21926,21928,21929,21930,21931,21932,21933,21934,21935,21936,21938,21940,21942,21944,21946,21948,21951,21952,21953,21954,21955,21958,21959,21960,21962,21963,21966,21967,21968,21973,21975,21976,21977,21978,21979,21982,21984,21986,21991,21993,21997,21998,22e3,22001,22004,22006,22008,22009,22010,22011,22012,22015,22018,22019,22020,22021,22022,22023,22026,22027,22029,22032,22033,22034,22035,22036,22037,22038,22039,22041,22042,22044,22045,22048,22049,22050,22053,22054,22056,22057,22058,22059,22062,22063,22064,22067,22069,22071,22072,22074,22076,22077,22078,22080,22081,22082,22083,22084,22085,22086,22087,22088,22089,22090,22091,22095,22096,22097,22098,22099,22101,22102,22106,22107,22109,22110,22111,22112,22113,22115,22117,22118,22119,22125,22126,22127,22128,22130,22131,22132,22133,22135,22136,22137,22138,22141,22142,22143,22144,22145,22146,22147,22148,22151,22152,22153,22154,22155,22156,22157,22160,22161,22162,22164,22165,22166,22167,22168,22169,22170,22171,22172,22173,22174,22175,22176,22177,22178,22180,22181,22182,22183,22184,22185,22186,22187,22188,22189,22190,22192,22193,22194,22195,22196,22197,22198,22200,22201,22202,22203,22205,22206,22207,22208,22209,22210,22211,22212,22213,22214,22215,22216,22217,22219,22220,22221,22222,22223,22224,22225,22226,22227,22229,22230,22232,22233,22236,22243,22245,22246,22247,22248,22249,22250,22252,22254,22255,22258,22259,22262,22263,22264,22267,22268,22272,22273,22274,22277,22279,22283,22284,22285,22286,22287,22288,22289,22290,22291,22292,22293,22294,22295,22296,22297,22298,22299,22301,22302,22304,22305,22306,22308,22309,22310,22311,22315,22321,22322,22324,22325,22326,22327,22328,22332,22333,22335,22337,22339,22340,22341,22342,22344,22345,22347,22354,22355,22356,22357,22358,22360,22361,22370,22371,22373,22375,22380,22382,22384,22385,22386,22388,22389,22392,22393,22394,22397,22398,22399,22400,22401,22407,22408,22409,22410,22413,22414,22415,22416,22417,22420,22421,22422,22423,22424,22425,22426,22428,22429,22430,22431,22437,22440,22442,22444,22447,22448,22449,22451,22453,22454,22455,22457,22458,22459,22460,22461,22462,22463,22464,22465,22468,22469,22470,22471,22472,22473,22474,22476,22477,22480,22481,22483,22486,22487,22491,22492,22494,22497,22498,22499,22501,22502,22503,22504,22505,22506,22507,22508,22510,22512,22513,22514,22515,22517,22518,22519,22523,22524,22526,22527,22529,22531,22532,22533,22536,22537,22538,22540,22542,22543,22544,22546,22547,22548,22550,22551,22552,22554,22555,22556,22557,22559,22562,22563,22565,22566,22567,22568,22569,22571,22572,22573,22574,22575,22577,22578,22579,22580,22582,22583,22584,22585,22586,22587,22588,22589,22590,22591,22592,22593,22594,22595,22597,22598,22599,22600,22601,22602,22603,22606,22607,22608,22610,22611,22613,22614,22615,22617,22618,22619,22620,22621,22623,22624,22625,2262
16,22627,22628,22630,22631,22632,22633,22634,22637,22638,22639,22640,22641,22642,22643,22644,22645,22646,22647,22648,22649,22650,22651,22652,22653,22655,22658,22660,22662,22663,22664,22666,22667,22668,22669,22670,22671,22672,22673,22676,22677,22678,22679,22680,22683,22684,22685,22688,22689,22690,22691,22692,22693,22694,22695,22698,22699,22700,22701,22702,22703,22704,22705,22706,22707,22708,22709,22710,22711,22712,22713,22714,22715,22717,22718,22719,22720,22722,22723,22724,22726,22727,22728,22729,22730,22731,22732,22733,22734,22735,22736,22738,22739,22740,22742,22743,22744,22745,22746,22747,22748,22749,22750,22751,22752,22753,22754,22755,22757,22758,22759,22760,22761,22762,22765,22767,22769,22770,22772,22773,22775,22776,22778,22779,22780,22781,22782,22783,22784,22785,22787,22789,22790,22792,22793,22794,22795,22796,22798,22800,22801,22802,22803,22807,22808,22811,22813,22814,22816,22817,22818,22819,22822,22824,22828,22832,22834,22835,22837,22838,22843,22845,22846,22847,22848,22851,22853,22854,22858,22860,22861,22864,22866,22867,22873,22875,22876,22877,22878,22879,22881,22883,22884,22886,22887,22888,22889,22890,22891,22892,22893,22894,22895,22896,22897,22898,22901,22903,22906,22907,22908,22910,22911,22912,22917,22921,22923,22924,22926,22927,22928,22929,22932,22933,22936,22938,22939,22940,22941,22943,22944,22945,22946,22950,22951,22956,22957,22960,22961,22963,22964,22965,22966,22967,22968,22970,22972,22973,22975,22976,22977,22978,22979,22980,22981,22983,22984,22985,22988,22989,22990,22991,22997,22998,23001,23003,23006,23007,23008,23009,23010,23012,23014,23015,23017,23018,23019,23021,23022,23023,23024,23025,23026,23027,23028,23029,23030,23031,23032,23034,23036,23037,23038,23040,23042,23050,23051,23053,23054,23055,23056,23058,23060,23061,23062,23063,23065,23066,23067,23069,23070,23073,23074,23076,23078,23079,23080,23082,23083,23084,23085,23086,23087,23088,23091,23093,23095,23096,23097,23098,23099,23101,23102,23103,23105,23106,23107,23108,23109,23111,23112,23115,23116,23117,23118,23119,23120,23121,23122,23123,23124,23126,23127,23128,23129,23131,23132,23133,23134,23135,23136,23137,23139,23140,23141,23142,23144,23145,23147,23148,23149,23150,23151,23152,23153,23154,23155,23160,23161,23163,23164,23165,23166,23168,23169,23170,23171,23172,23173,23174,23175,23176,23177,23178,23179,23180,23181,23182,23183,23184,23185,23187,23188,23189,23190,23191,23192,23193,23196,23197,23198,23199,23200,23201,23202,23203,23204,23205,23206,23207,23208,23209,23211,23212,23213,23214,23215,23216,23217,23220,23222,23223,23225,23226,23227,23228,23229,23231,23232,23235,23236,23237,23238,23239,23240,23242,23243,23245,23246,23247,23248,23249,23251,23253,23255,23257,23258,23259,23261,23262,23263,23266,23268,23269,23271,23272,23274,23276,23277,23278,23279,23280,23282,23283,23284,23285,23286,23287,23288,23289,23290,23291,23292,23293,23294,23295,23296,23297,23298,23299,23300,23301,23302,23303,23304,23306,23307,23308,23309,23310,23311,23312,23313,23314,23315,23316,23317,23320,23321,23322,23323,23324,23325,23326,23327,23328,23329,23330,23331,23332,23333,23334,23335,23336,23337,23338,23339,23340,23341,23342,23343,23344,23345,23347,23349,23350,23352,23353,23354,23355,23356,23357,23358,23359,23361,23362,23363,23364,23365,23366,23367,23368,23369,23370,23371,23372,23373,23374,23375,23378,23382,23390,23392,23393,23399,23400,23403,23405,23406,23407,23410,23412,23414,23415,23416,23417,23419,23420,23422,23423,23426,23430,23434,23437,23438,23440,23441,23442,23444,23446,23455,23463,23464,23465,23468,23469,23470,23471,23473,23474,23479,23482,23483,23484,23488,23489,23491,23496,23497,23498,23499,23501,23502,23503,23505,23508,23509,23510,23511,23512,23513,23514,23515,23516,23520,23522,23523,23526,23527,23529,23530,23531,23532,23533,23535,23537,23538,23539,23540,23541,23542,23543,23549,23550,23552,23554,23555,23557,23559,23560,23563,23564,23565,23566,23568,23570,23571,23575,23577,23579,23582,23583,23584,23585,23587,23590,23592,23593,23594,23595,23597,23598,23599,23600,23602,23603,23605,23606,23607,23619,23620,23622,23623,23628,23629,23634,23635,23636,23638,23639,23640,23642,23643,23644,23645,23647,23650,23652,23655,23656,23657,23658,23659,23660,23661,23664,23666,23667,23668,23669,23670,23671,23672,23675,23676,23677,23678,23680,23683,23
1684,23685,23686,23687,23689,23690,23691,23694,23695,23698,23699,23701,23709,23710,23711,23712,23713,23716,23717,23718,23719,23720,23722,23726,23727,23728,23730,23732,23734,23737,23738,23739,23740,23742,23744,23746,23747,23749,23750,23751,23752,23753,23754,23756,23757,23758,23759,23760,23761,23763,23764,23765,23766,23767,23768,23770,23771,23772,23773,23774,23775,23776,23778,23779,23783,23785,23787,23788,23790,23791,23793,23794,23795,23796,23797,23798,23799,23800,23801,23802,23804,23805,23806,23807,23808,23809,23812,23813,23816,23817,23818,23819,23820,23821,23823,23824,23825,23826,23827,23829,23831,23832,23833,23834,23836,23837,23839,23840,23841,23842,23843,23845,23848,23850,23851,23852,23855,23856,23857,23858,23859,23861,23862,23863,23864,23865,23866,23867,23868,23871,23872,23873,23874,23875,23876,23877,23878,23880,23881,23885,23886,23887,23888,23889,23890,23891,23892,23893,23894,23895,23897,23898,23900,23902,23903,23904,23905,23906,23907,23908,23909,23910,23911,23912,23914,23917,23918,23920,23921,23922,23923,23925,23926,23927,23928,23929,23930,23931,23932,23933,23934,23935,23936,23937,23939,23940,23941,23942,23943,23944,23945,23946,23947,23948,23949,23950,23951,23952,23953,23954,23955,23956,23957,23958,23959,23960,23962,23963,23964,23966,23967,23968,23969,23970,23971,23972,23973,23974,23975,23976,23977,23978,23979,23980,23981,23982,23983,23984,23985,23986,23987,23988,23989,23990,23992,23993,23994,23995,23996,23997,23998,23999,24e3,24001,24002,24003,24004,24006,24007,24008,24009,24010,24011,24012,24014,24015,24016,24017,24018,24019,24020,24021,24022,24023,24024,24025,24026,24028,24031,24032,24035,24036,24042,24044,24045,24048,24053,24054,24056,24057,24058,24059,24060,24063,24064,24068,24071,24073,24074,24075,24077,24078,24082,24083,24087,24094,24095,24096,24097,24098,24099,24100,24101,24104,24105,24106,24107,24108,24111,24112,24114,24115,24116,24117,24118,24121,24122,24126,24127,24128,24129,24131,24134,24135,24136,24137,24138,24139,24141,24142,24143,24144,24145,24146,24147,24150,24151,24152,24153,24154,24156,24157,24159,24160,24163,24164,24165,24166,24167,24168,24169,24170,24171,24172,24173,24174,24175,24176,24177,24181,24183,24185,24190,24193,24194,24195,24197,24200,24201,24204,24205,24206,24210,24216,24219,24221,24225,24226,24227,24228,24232,24233,24234,24235,24236,24238,24239,24240,24241,24242,24244,24250,24251,24252,24253,24255,24256,24257,24258,24259,24260,24261,24262,24263,24264,24267,24268,24269,24270,24271,24272,24276,24277,24279,24280,24281,24282,24284,24285,24286,24287,24288,24289,24290,24291,24292,24293,24294,24295,24297,24299,24300,24301,24302,24303,24304,24305,24306,24307,24309,24312,24313,24315,24316,24317,24325,24326,24327,24329,24332,24333,24334,24336,24338,24340,24342,24345,24346,24348,24349,24350,24353,24354,24355,24356,24360,24363,24364,24366,24368,24370,24371,24372,24373,24374,24375,24376,24379,24381,24382,24383,24385,24386,24387,24388,24389,24390,24391,24392,24393,24394,24395,24396,24397,24398,24399,24401,24404,24409,24410,24411,24412,24414,24415,24416,24419,24421,24423,24424,24427,24430,24431,24434,24436,24437,24438,24440,24442,24445,24446,24447,24451,24454,24461,24462,24463,24465,24467,24468,24470,24474,24475,24477,24478,24479,24480,24482,24483,24484,24485,24486,24487,24489,24491,24492,24495,24496,24497,24498,24499,24500,24502,24504,24505,24506,24507,24510,24511,24512,24513,24514,24519,24520,24522,24523,24526,24531,24532,24533,24538,24539,24540,24542,24543,24546,24547,24549,24550,24552,24553,24556,24559,24560,24562,24563,24564,24566,24567,24569,24570,24572,24583,24584,24585,24587,24588,24592,24593,24595,24599,24600,24602,24606,24607,24610,24611,24612,24620,24621,24622,24624,24625,24626,24627,24628,24630,24631,24632,24633,24634,24637,24638,24640,24644,24645,24646,24647,24648,24649,24650,24652,24654,24655,24657,24659,24660,24662,24663,24664,24667,24668,24670,24671,24672,24673,24677,24678,24686,24689,24690,24692,24693,24695,24702,24704,24705,24706,24709,24710,24711,24712,24714,24715,24718,24719,24720,24721,24723,24725,24727,24728,24729,24732,24734,24737,24738,24740,24741,24743,24745,24746,24750,24752,24755,24757,24758,24759,24761,24762,24765,24766,24767,24768,24769,24770,24771,24772,24775,24776,24777,24780,24781,24782,24783,24784,24786,24787,24788,24790,24791,24793,24795,24798,24801,24802,24803,24804,24805,24810,24817,24818,24821,24823,24824,24827,24828,24829,24830,24831,24834,24835,24836,24837,24839,24842,24843,24844,24848,24849,24850,24851,24852,24854,24855,24856,24857,24859,24860,24861,24862,24865,24866,24869,24872,24873,24874,24876,24877,24878,24879,24880,24881,24882,24883,24884,24885,24886,24887,24888,24889,24890,24891,24892,24893,24894,24896,24897,24898,24899,24900,24901,24902,24903,24905,24907,24909,24911,24912,24914,24915,24916,24918,24919,24920,24921,24922,24923,24924,24926,24927,24928,24929,24931,24932,24933,24934,24937,24938,24939,24940,24941,24942,24943,24945,24946,24947,24948,24950,24952,24953,24954,24955,24956,24957,24958,24959,24960,24961,24962,24963,24964,24965,24966,24967,24968,24969,24970,24972,24973,24975,24976,24977,24978,24979,24981,24982,24983,24984,24985,24986,24987,24988,24990,24991,24992,24993,24994,24995,24996,24997,24998,25002,25003,25005,25006,25007,25008,25009,25010,25011,25012,25013,25014,25016,25017,25018,25019,25020,25021,25023,25024,25025,25027,25028,25029,25030,25031,25033,25036,25037,25038,25039,25040,25043,25045,25046,25047,25048,25049,25050,25051,25052,25053,25054,25055,25056,25057,25058,25059,25060,25061,25063,25064,25065,25066,25067,25068,25069,25070,25071,25072,25073,25074,25075,25076,25078,25079,25080,25081,25082,25083,25084,25085,25086,25088,25089,25090,25091,25092,25093,25095,25097,25107,25108,25113,25116,25117,25118,25120,25123,25126,25127,25128,25129,25131,25133,25135,25136,25137,25138,25141,25142,25144,25145,25146,25147,25148,25154,25156,25157,25158,25162,25167,25168,25173,25174,25175,25177,25178,25180,25181,25182,25183,25184,25185,25186,25188,25189,25192,25201,25202,25204,25205,25207,25208,25210,25211,25213,25217,25218,25219,25221,25222,25223,25224,25227,25228,25229,25230,25231,25232,25236,25241,25244,25245,25246,25251,25254,25255,25257,25258,25261,25262,25263,25264,25266,25267,25268,25270,25271,25272,25274,25278,25280,25281,25283,25291,25295,25297,25301,25309,25310,25312,25313,25316,25322,25323,25328,25330,25333,25336,25337,25338,25339,25344,25347,25348,25349,25350,25354,25355,25356,25357,25359,25360,25362,25363,25364,25365,25367,25368,25369,25372,25382,25383,25385,25388,25389,25390,25392,25393,25395,25396,25397,25398,25399,25400,25403,25404,25406,25407,25408,25409,25412,25415,25416,25418,25425,25426,25427,25428,25430,25431,25432,25433,25434,25435,25436,25437,25440,25444,25445,25446,25448,25450,25451,25452,25455,25456,25458,25459,25460,25461,25464,25465,25468,25469,25470,25471,25473,25475,25476,25477,25478,25483,25485,25489,25491,25492,25493,25495,25497,25498,25499,25500,25501,25502,25503,25505,25508,25510,25515,25519,25521,25522,25525,25526,25529,25531,25533,25535,25536,25537,25538,25539,25
1541,25543,25544,25546,25547,25548,25553,25555,25556,25557,25559,25560,25561,25562,25563,25564,25565,25567,25570,25572,25573,25574,25575,25576,25579,25580,25582,25583,25584,25585,25587,25589,25591,25593,25594,25595,25596,25598,25603,25604,25606,25607,25608,25609,25610,25613,25614,25617,25618,25621,25622,25623,25624,25625,25626,25629,25631,25634,25635,25636,25637,25639,25640,25641,25643,25646,25647,25648,25649,25650,25651,25653,25654,25655,25656,25657,25659,25660,25662,25664,25666,25667,25673,25675,25676,25677,25678,25679,25680,25681,25683,25685,25686,25687,25689,25690,25691,25692,25693,25695,25696,25697,25698,25699,25700,25701,25702,25704,25706,25707,25708,25710,25711,25712,25713,25714,25715,25716,25717,25718,25719,25723,25724,25725,25726,25727,25728,25729,25731,25734,25736,25737,25738,25739,25740,25741,25742,25743,25744,25747,25748,25751,25752,25754,25755,25756,25757,25759,25760,25761,25762,25763,25765,25766,25767,25768,25770,25771,25775,25777,25778,25779,25780,25782,25785,25787,25789,25790,25791,25793,25795,25796,25798,25799,25800,25801,25802,25803,25804,25807,25809,25811,25812,25813,25814,25817,25818,25819,25820,25821,25823,25824,25825,25827,25829,25831,25832,25833,25834,25835,25836,25837,25838,25839,25840,25841,25842,25843,25844,25845,25846,25847,25848,25849,25850,25851,25852,25853,25854,25855,25857,25858,25859,25860,25861,25862,25863,25864,25866,25867,25868,25869,25870,25871,25872,25873,25875,25876,25877,25878,25879,25881,25882,25883,25884,25885,25886,25887,25888,25889,25890,25891,25892,25894,25895,25896,25897,25898,25900,25901,25904,25905,25906,25907,25911,25914,25916,25917,25920,25921,25922,25923,25924,25926,25927,25930,25931,25933,25934,25936,25938,25939,25940,25943,25944,25946,25948,25951,25952,25953,25956,25957,25959,25960,25961,25962,25965,25966,25967,25969,25971,25973,25974,25976,25977,25978,25979,25980,25981,25982,25983,25984,25985,25986,25987,25988,25989,25990,25992,25993,25994,25997,25998,25999,26002,26004,26005,26006,26008,26010,26013,26014,26016,26018,26019,26022,26024,26026,26028,26030,26033,26034,26035,26036,26037,26038,26039,26040,26042,26043,26046,26047,26048,26050,26055,26056,26057,26058,26061,26064,26065,26067,26068,26069,26072,26073,26074,26075,26076,26077,26078,26079,26081,26083,26084,26090,26091,26098,26099,26100,26101,26104,26105,26107,26108,26109,26110,26111,26113,26116,26117,26119,26120,26121,26123,26125,26128,26129,26130,26134,26135,26136,26138,26139,26140,26142,26145,26146,26147,26148,26150,26153,26154,26155,26156,26158,26160,26162,26163,26167,26168,26169,26170,26171,26173,26175,26176,26178,26180,26181,26182,26183,26184,26185,26186,26189,26190,26192,26193,26200,26201,26203,26204,26205,26206,26208,26210,26211,26213,26215,26217,26218,26219,26220,26221,26225,26226,26227,26229,26232,26233,26235,26236,26237,26239,26240,26241,26243,26245,26246,26248,26249,26250,26251,26253,26254,26255,26256,26258,26259,26260,26261,26264,26265,26266,26267,26268,26270,26271,26272,26273,26274,26275,26276,26277,26278,26281,26282,26283,26284,26285,26287,26288,26289,26290,26291,26293,26294,26295,26296,26298,26299,26300,26301,26303,26304,26305,26306,26307,26308,26309,26310,26311,26312,26313,26314,26315,26316,26317,26318,26319,26320,26321,26322,26323,26324,26325,26326,26327,26328,26330,26334,26335,26336,26337,26338,26339,26340,26341,26343,26344,26346,26347,26348,26349,26350,26351,26353,26357,26358,26360,26362,26363,26365,26369,26370,26371,26372,26373,26374,26375,26380,26382,26383,26385,26386,26387,26390,26392,26393,26394,26396,26398,26400,26401,26402,26403,26404,26405,26407,26409,26414,26416,26418,26419,26422,26423,26424,26425,26427,26428,26430,26431,26433,26436,26437,26439,26442,26443,26445,26450,26452,26453,26455,26456,26457,26458,26459,26461,26466,26467,26468,26470,26471,26475,26476,26478,26481,26484,26486,26488,26489,26490,26491,26493,2649
16,26498,26499,26501,26502,26504,26506,26508,26509,26510,26511,26513,26514,26515,26516,26518,26521,26523,26527,26528,26529,26532,26534,26537,26540,26542,26545,26546,26548,26553,26554,26555,26556,26557,26558,26559,26560,26562,26565,26566,26567,26568,26569,26570,26571,26572,26573,26574,26581,26582,26583,26587,26591,26593,26595,26596,26598,26599,26600,26602,26603,26605,26606,26610,26613,26614,26615,26616,26617,26618,26619,26620,26622,26625,26626,26627,26628,26630,26637,26640,26642,26644,26645,26648,26649,26650,26651,26652,26654,26655,26656,26658,26659,26660,26661,26662,26663,26664,26667,26668,26669,26670,26671,26672,26673,26676,26677,26678,26682,26683,26687,26695,26699,26701,26703,26706,26710,26711,26712,26713,26714,26715,26716,26717,26718,26719,26730,26732,26733,26734,26735,26736,26737,26738,26739,26741,26744,26745,26746,26747,26748,26749,26750,26751,26752,26754,26756,26759,26760,26761,26762,26763,26764,26765,26766,26768,26769,26770,26772,26773,26774,26776,26777,26778,26779,26780,26781,26782,26783,26784,26785,26787,26788,26789,26793,26794,26795,26796,26798,26801,26802,26804,26806,26807,26808,26809,26810,26811,26812,26813,26814,26815,26817,26819,26820,26821,26822,26823,26824,26826,26828,26830,26831,26832,26833,26835,26836,26838,26839,26841,26843,26844,26845,26846,26847,26849,26850,26852,26853,26854,26855,26856,26857,26858,26859,26860,26861,26863,26866,26867,26868,26870,26871,26872,26875,26877,26878,26879,26880,26882,26883,26884,26886,26887,26888,26889,26890,26892,26895,26897,26899,26900,26901,26902,26903,26904,26905,26906,26907,26908,26909,26910,26913,26914,26915,26917,26918,26919,26920,26921,26922,26923,26924,26926,26927,26929,26930,26931,26933,26934,26935,26936,26938,26939,26940,26942,26944,26945,26947,26948,26949,26950,26951,26952,26953,26954,26955,26956,26957,26958,26959,26960,26961,26962,26963,26965,26966,26968,26969,26971,26972,26975,26977,26978,26980,26981,26983,26984,26985,26986,26988,26989,26991,26992,26994,26995,26996,26997,26998,27002,27003,27005,27006,27007,27009,27011,27013,27018,27019,27020,27022,27023,27024,27025,27026,27027,27030,27031,27033,27034,27037,27038,27039,27040,27041,27042,27043,27044,27045,27046,27049,27050,27052,27054,27055,27056,27058,27059,27061,27062,27064,27065,27066,27068,27069,27070,27071,27072,27074,27075,27076,27077,27078,27079,27080,27081,27083,27085,27087,27089,27090,27091,27093,27094,27095,27096,27097,27098,27100,27101,27102,27105,27106,27107,27108,27109,27110,27111,27112,27113,27114,27115,27116,27118,27119,27120,27121,27123,27124,27125,27126,27127,27128,27129,27130,27131,27132,27134,27136,27137,27138,27139,27140,27141,27142,27143,27144,27145,27147,27148,27149,27150,27151,27152,27153,27154,27155,27156,27157,27158,27161,27162,27163,27164,27165,27166,27168,27170,27171,27172,27173,27174,27175,27177,27179,27180,27181,27182,27184,27186,27187,27188,27190,27191,27192,27193,27194,27195,27196,27199,27200,27201,27202,27203,27205,27206,27208,27209,27210,27211,27212,27213,27214,27215,27217,27218,27219,27220,27221,27222,27223,27226,27228,27229,27230,27231,27232,27234,27235,27236,27238,27239,27240,27241,27242,27243,27244,27245,27246,27247,27248,27250,27251,27252,27253,27254,27255,27256,27258,27259,27261,27262,27263,27265,27266,27267,27269,27270,27271,27272,27273,27274,27275,27276,27277,27279,27282,27283,27284,27285,27286,27288,27289,27290,27291,27292,27293,27294,27295,27297,27298,27299,27300,27301,27302,27303,27304,27306,27309,27310,27311,27312,27313,27314,27315,27316,27317,27318,27319,27320,27321,27322,27323,27324,27325,27326,27327,27328,27329,27330,27331,27332,27333,27334,27335,27336,27337,27338,27339,27340,27341,27342,27343,27344,27345,27346,27347,27348,27349,27350,27351,27352,27353,27354,27355,27356,27357,27358,27359,27360,27361,27362,27363,27364,27365,27366,27367,27368,27369,27370,27371,27372,27373,27374,27375,27376,27377,27378,27379,27380,27381,27382,27383,27384,27385,27386,27387,27388,27389,27390,27391,27392,27393,27394,27395,27396,27397,27398,27399,27400,27401,27402,27403,27404,27405,27406,27407,27408,27409,27410,27411,27412,27413,27414,27415,27416,27417,27418,27419,27420,27421,27422,27423,27429,27430,27432,27433,27434,27435,27436,27437,27438,27439,27440,27441,27443,27444,27445,27446,27448,27451,27452,27453,27455,27456,27457,27458,27460,27461,27464,27466,27467,27469,27470,27471,27472,27473,27474,27475,27476,27477,27478,27479,27480,27482,27483,27484,27485,27486,27487,27488,27489,27496,27497,27499,27500,27501,27502,27503,27504,27505,27506,27507,27508,27509,27510,27511,27512,27514,27517,27518,27519,27520,27525,27
1528,27532,27534,27535,27536,27537,27540,27541,27543,27544,27545,27548,27549,27550,27551,27552,27554,27555,27556,27557,27558,27559,27560,27561,27563,27564,27565,27566,27567,27568,27569,27570,27574,27576,27577,27578,27579,27580,27581,27582,27584,27587,27588,27590,27591,27592,27593,27594,27596,27598,27600,27601,27608,27610,27612,27613,27614,27615,27616,27618,27619,27620,27621,27622,27623,27624,27625,27628,27629,27630,27632,27633,27634,27636,27638,27639,27640,27642,27643,27644,27646,27647,27648,27649,27650,27651,27652,27656,27657,27658,27659,27660,27662,27666,27671,27676,27677,27678,27680,27683,27685,27691,27692,27693,27697,27699,27702,27703,27705,27706,27707,27708,27710,27711,27715,27716,27717,27720,27723,27724,27725,27726,27727,27729,27730,27731,27734,27736,27737,27738,27746,27747,27749,27750,27751,27755,27756,27757,27758,27759,27761,27763,27765,27767,27768,27770,27771,27772,27775,27776,27780,27783,27786,27787,27789,27790,27793,27794,27797,27798,27799,27800,27802,27804,27805,27806,27808,27810,27816,27820,27823,27824,27828,27829,27830,27831,27834,27840,27841,27842,27843,27846,27847,27848,27851,27853,27854,27855,27857,27858,27864,27865,27866,27868,27869,27871,27876,27878,27879,27881,27884,27885,27890,27892,27897,27903,27904,27906,27907,27909,27910,27912,27913,27914,27917,27919,27920,27921,27923,27924,27925,27926,27928,27932,27933,27935,27936,27937,27938,27939,27940,27942,27944,27945,27948,27949,27951,27952,27956,27958,27959,27960,27962,27967,27968,27970,27972,27977,27980,27984,27989,27990,27991,27992,27995,27997,27999,28001,28002,28004,28005,28007,28008,28011,28012,28013,28016,28017,28018,28019,28021,28022,28025,28026,28027,28029,28030,28031,28032,28033,28035,28036,28038,28039,28042,28043,28045,28047,28048,28050,28054,28055,28056,28057,28058,28060,28066,28069,28076,28077,28080,28081,28083,28084,28086,28087,28089,28090,28091,28092,28093,28094,28097,28098,28099,28104,28105,28106,28109,28110,28111,28112,28114,28115,28116,28117,28119,28122,28123,28124,28127,28130,28131,28133,28135,28136,28137,28138,28141,28143,28144,28146,28148,28149,28150,28152,28154,28157,28158,28159,28160,28161,28162,28163,28164,28166,28167,28168,28169,28171,28175,28178,28179,28181,28184,28185,28187,28188,28190,28191,28194,28198,28199,28200,28202,28204,28206,28208,28209,28211,28213,28214,28215,28217,28219,28220,28221,28222,28223,28224,28225,28226,28229,28230,28231,28232,28233,28234,28235,28236,28239,28240,28241,28242,28245,28247,28249,28250,28252,28253,28254,28256,28257,28258,28259,28260,28261,28262,28263,28264,28265,28266,28268,28269,28271,28272,28273,28274,28275,28276,28277,28278,28279,28280,28281,28282,28283,28284,28285,28288,28289,28290,28292,28295,28296,28298,28299,28300,28301,28302,28305,28306,28307,28308,28309,28310,28311,28313,28314,28315,28317,28318,28320,28321,28323,28324,28326,28328,28329,28331,28332,28333,28334,28336,28339,28341,28344,28345,28348,28350,28351,28352,28355,28356,28357,28358,28360,28361,28362,28364,28365,28366,28368,28370,28374,28376,28377,28379,28380,28381,28387,28391,28394,28395,28396,28397,28398,28399,28400,28401,28402,28403,28405,28406,28407,28408,28410,28411,28412,28413,28414,28415,28416,28417,28419,28420,28421,28423,28424,28426,28427,28428,28429,28430,28432,28433,28434,28438,28439,28440,28441,28442,28443,28444,28445,28446,28447,28449,28450,28451,28453,28454,28455,28456,28460,28462,28464,28466,28468,28469,28471,28472,28473,28474,28475,28476,28477,28479,28480,28481,28482,28483,28484,28485,28488,28489,28490,28492,28494,28495,28496,28497,28498,28499,28500,28501,28502,28503,28505,28506,28507,28509,28511,28512,28513,28515,28516,28517,28519,28520,28521,28522,28523,28524,28527,28528,28529,28531,28533,28534,28535,28537,28539,28541,28542,28543,28544,28545,28546,28547,28549,28550,28551,28554,28555,28559,28560,28561,28562,28563,28564,28565,28566,28567,28568,28569,28570,28571,28573,28574,28575,28576,28578,28579,28580,28581,28582,28584,28585,28586,28587,28588,28589,28590,28591,28592,28593,28594,28596,28597,28599,28600,28602,28603,28604,28605,28606,28607,28609,28611,28612,28613,28614,28615,28616,28618,28619,28620,28621,28622,28623,28624,28627,28628,28629,28630,28631,28632,28633,28634,28635,28636,28637,28
1639,28642,28643,28644,28645,28646,28647,28648,28649,28650,28651,28652,28653,28656,28657,28658,28659,28660,28661,28662,28663,28664,28665,28666,28667,28668,28669,28670,28671,28672,28673,28674,28675,28676,28677,28678,28679,28680,28681,28682,28683,28684,28685,28686,28687,28688,28690,28691,28692,28693,28694,28695,28696,28697,28700,28701,28702,28703,28704,28705,28706,28708,28709,28710,28711,28712,28713,28714,28715,28716,28717,28718,28719,28720,28721,28722,28723,28724,28726,28727,28728,28730,28731,28732,28733,28734,28735,28736,28737,28738,28739,28740,28741,28742,28743,28744,28745,28746,28747,28749,28750,28752,28753,28754,28755,28756,28757,28758,28759,28760,28761,28762,28763,28764,28765,28767,28768,28769,28770,28771,28772,28773,28774,28775,28776,28777,28778,28782,28785,28786,28787,28788,28791,28793,28794,28795,28797,28801,28802,28803,28804,28806,28807,28808,28811,28812,28813,28815,28816,28817,28819,28823,28824,28826,28827,28830,28831,28832,28833,28834,28835,28836,28837,28838,28839,28840,28841,28842,28848,28850,28852,28853,28854,28858,28862,28863,28868,28869,28870,28871,28873,28875,28876,28877,28878,28879,28880,28881,28882,28883,28884,28885,28886,28887,28890,28892,28893,28894,28896,28897,28898,28899,289
101,28906,28910,28912,28913,28914,28915,28916,28917,28918,28920,28922,28923,28924,28926,28927,28928,28929,28930,28931,28932,28933,28934,28935,28936,28939,28940,28941,28942,28943,28945,28946,28948,28951,28955,28956,28957,28958,28959,28960,28961,28962,28963,28964,28965,28967,28968,28969,28970,28971,28972,28973,28974,28978,28979,28980,28981,28983,28984,28985,28986,28987,28988,28989,28990,28991,28992,28993,28994,28995,28996,28998,28999,29e3,29001,29003,29005,29007,29008,29009,29010,29011,29012,29013,29014,29015,29016,29017,29018,29019,29021,29023,29024,29025,29026,29027,29029,29033,29034,29035,29036,29037,29039,29040,29041,29044,29045,29046,29047,29049,29051,29052,29054,29055,29056,29057,29058,29059,29061,29062,29063,29064,29065,29067,29068,29069,29070,29072,29073,29074,29075,29077,29078,29079,29082,29083,29084,29085,29086,29089,29090,29091,29092,29093,29094,29095,29097,29098,29099,29101,29102,29103,29104,29105,29106,29108,29110,29111,29112,29114,29115,29116,29117,29118,29119,29120,29121,29122,29124,29125,29126,29127,29128,29129,29130,29131,29132,29133,29135,29136,29137,29138,29139,29142,29143,29144,29145,29146,29147,29148,29149,29150,29151,29153,29154,29155,29156,29158,29160,29161,29162,29163,29164,29165,29167,29168,29169,29170,29171,29172,29173,29174,29175,29176,29178,29179,29180,29181,29182,29183,29184,29185,29186,29187,29188,29189,29191,29192,29193,29194,29195,29196,29197,29198,29199,29200,29201,29202,29203,29204,29205,29206,29207,29208,29209,29210,29211,29212,29214,29215,29216,29217,29218,29219,29220,29221,29222,29223,29225,29227,29229,29230,29231,29234,29235,29236,29242,29244,29246,29248,29249,29250,29251,29252,29253,29254,29257,29258,29259,29262,29263,29264,29265,29267,29268,29269,29271,29272,29274,29276,29278,29280,29283,29284,29285,29288,29290,29291,29292,29293,29296,29297,29299,29300,29302,29303,29304,29307,29308,29309,29314,29315,29317,29318,29319,29320,29321,29324,29326,29328,29329,29331,29332,29333,29334,29335,29336,29337,29338,29339,29340,29341,29342,29344,29345,29346,29347,29348,29349,29350,29351,29352,29353,29354,29355,29358,29361,29362,29363,29365,29370,29371,29372,29373,29374,29375,29376,29381,29382,29383,29385,29386,29387,29388,29391,29393,29395,29396,29397,29398,29400,29402,29403,58566,58567,58568,58569,58570,58571,58572,58573,58574,58575,58576,58577,58578,58579,58580,58581,58582,58583,58584,58585,58586,58587,58588,58589,58590,58591,58592,58593,58594,58595,58596,58597,58598,58599,58600,58601,58602,58603,58604,58605,58606,58607,58608,58609,58610,58611,58612,58613,58614,58615,58616,58617,58618,58619,58620,58621,58622,58623,58624,58625,58626,58627,58628,58629,58630,58631,58632,58633,58634,58635,58636,58637,58638,58639,58640,58641,58642,58643,58644,58645,58646,58647,58648,58649,58650,58651,58652,58653,58654,58655,58656,58657,58658,58659,58660,58661,12288,12289,12290,183,713,711,168,12291,12293,8212,65374,8214,8230,8216,8217,8220,8221,12308,12309,12296,12297,12298,12299,12300,12301,12302,12303,12310,12311,12304,12305,177,215,247,8758,8743,8744,8721,8719,8746,8745,8712,8759,8730,8869,8741,8736,8978,8857,8747,8750,8801,8780,8776,8765,8733,8800,8814,8815,8804,8805,8734,8757,8756,9794,9792,176,8242,8243,8451,65284,164,65504,65505,8240,167,8470,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,8251,8594,8592,8593,8595,12307,58662,58663,58664,58665,58666,58667,58668,58669,58670,58671,58672,58673,58674,58675,58676,58677,58678,58679,58680,58681,58682,58683,58684,58685,58686,58687,58688,58689,58690,58691,58692,58693,58694,58695,58696,58697,58698,58699,58700,58701,58702,58703,58704,58705,58706,58707,58708,58709,58710,58711,58712,58713,58714,58715,58716,58717,58718,58719,58720,58721,58722,58723,58724,58725,58726,58727,58728,58729,58730,58731,58732,58733,58734,58735,58736,58737,58738,58739,58740,58741,58742,58743,58744,58745,58746,58747,58748,58749,58750,58751,58752,58753,58754,58755,58756,58757,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,59238,59239,59240,59241,59242,59243,9352,9353,9354,9355,9356,9357,9358,9359,9360,9361,9362,9363,9364,9365,9366,9367,9368,9369,9370,9371,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345,9346,9347,9348,9349,9350,9351,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,8364,59245,12832,12833,12834,12835,12836,12837,12838,12839,12840,12841,59246,59247,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,8554,8555,59248,59249,58758,58759,58760,58761,58762,58763,58764,58765,58766,58767,58768,58769,58770,58771,58772,58773,58774,58775,58776,58777,58778,58779,58780,58781,58782,58783,58784,58785,58786,58787,58788,58789,58790,58791,58792,58793,58794,58795,58796,58797,58798,58799,58800,58801,58802,58803,58804,58805,58806,58807,58808,58809,58810,58811,58812,58813,58814,58815,588
116,58817,58818,58819,58820,58821,58822,58823,58824,58825,58826,58827,58828,58829,58830,58831,58832,58833,58834,58835,58836,58837,58838,58839,58840,58841,58842,58843,58844,58845,58846,58847,58848,58849,58850,58851,58852,12288,65281,65282,65283,65509,65285,65286,65287,65288,65289,65290,65291,65292,65293,65294,65295,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,65306,65307,65308,65309,65310,65311,65312,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65339,65340,65341,65342,65343,65344,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,65371,65372,65373,65507,58854,58855,58856,58857,58858,58859,58860,58861,58862,58863,58864,58865,58866,58867,58868,58869,58870,58871,58872,58873,58874,58875,58876,58877,58878,58879,58880,58881,58882,58883,58884,58885,58886,58887,58888,58889,58890,58891,58892,58893,58894,58895,58896,58897,58898,58899,58900,58901,58902,58903,58904,58905,58906,58907,58908,58909,58910,58911,58912,58913,58914,58915,58916,58917,58918,58919,58920,58921,58922,58923,58924,58925,58926,58927,58928,58929,58930,58931,58932,58933,58934,58935,58936,58937,58938,58939,58940,58941,58942,58943,58944,58945,58946,58947,58948,58949,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,59250,59251,59252,59253,59254,59255,59256,59257,59258,59259,59260,58950,58951,58952,58953,58954,58955,58956,58957,58958,58959,58960,58961,58962,58963,58964,58965,58966,58967,58968,58969,58970,58971,58972,58973,58974,58975,58976,58977,58978,58979,58980,58981,58982,58983,58984,58985,58986,58987,58988,58989,58990,58991,58992,58993,58994,58995,58996,58997,58998,58999,59e3,59001,59002,59003,59004,59005,59006,59007,59008,59009,59010,59011,59012,59013,59014,59015,59016,59017,59018,59019,59020,59021,59022,59023,59024,59025,59026,59027,59028,59029,59030,59031,59032,59033,59034,59035,59036,59037,59038,59039,59040,59041,59042,59043,59044,59045,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,59261,59262,59263,59264,59265,59266,59267,59268,59046,59047,59048,59049,59050,59051,59052,59053,59054,59055,59056,59057,59058,59059,59060,59061,59062,59063,59064,59065,59066,59067,59068,59069,59070,59071,59072,59073,59074,59075,59076,59077,59078,59079,59080,59081,59082,59083,59084,59085,59086,59087,59088,59089,59090,59091,59092,59093,59094,59095,59096,59097,59098,59099,59100,59101,59102,59103,59104,59105,59106,59107,59108,59109,59110,59111,59112,59113,59114,59115,59116,59117,59118,59119,59120,59121,59122,59123,59124,59125,59126,59127,59128,59129,59130,59131,59132,59133,59134,59135,59136,59137,59138,59139,59140,59141,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,59269,59270,59271,59272,59273,59274,59275,59276,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,59277,59278,59279,59280,59281,59282,59283,65077,65078,65081,65082,65087,65088,65085,65086,65089,65090,65091,65092,59284,59285,65083,65084,65079,65080,65073,59286,65075,65076,59287,59288,59289,59290,59291,59292,59293,59294,59295,59142,59143,59144,59145,59146,59147,59148,59149,59150,59151,59152,59153,59154,59155,59156,59157,59158,59159,59160,59161,59162,59163,59164,59165,59166,59167,59168,59169,59170,59171,59172,59173,59174,59175,59176,59177,59178,59179,59180,59181,59182,59183,59184,59185,59186,59187,59188,59189,59190,59191,59192,59193,59194,59195,59196,59197,59198,59199,59200,59201,59202,59203,59204,59205,59206,59207,59208,59209,59210,59211,59212,59213,59214,59215,59216,59217,59218,59219,59220,59221,59222,59223,59224,59225,59226,59227,59228,59229,59230,59231,59232,59233,59234,59235,59236,59237,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,59296,59297,59298,59299,59300,59301,59302,59303,59304,59305,59306,59307,59308,59309,59310,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,59311,59312,59313,59314,59315,59316,59317,59318,59319,59320,59321,59322,59323,714,715,729,8211,8213,8229,8245,8453,8457,8598,8599,8600,8601,8725,8735,8739,8786,8806,8807,8895,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9581,9582,9583,9584,9585,9586,9587,9601,9602,9603,9604,9605,9606,9607,9608,9609,9610,9611,9612,9613,9614,9615,9619,9620,9621,9660,9661,9698,9699,9700,9701,9737,8853,12306,12317,12318,59324,59325,59326,59327,59328,59329,59330,59331,59332,59333,59334,257,225,462,224,275,233,283,232,299,237,464,236,333,243,466,242,363,250,468,249,470,472,474,476,252,234,593,7743,324,328,505,609,59337,59338,59339,59340,12549,12550,12551,12552,12553,12554,12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570,12571,12572,12573,12574,12575,12576,12577,12578,12579,12580,12581,12582,12583,12584,12585,59341,59342,59343,59344,59345,59346,59347,59348,59349,59350,59351,59352,59353,59354,59355,59356,59357,59358,59359,59360,59361,12321,12322,12323,12324,12325,12326,12327,12328,12329,12963,13198,13199,13212,13213,13214,13217,13252,13262,13265,13266,13269,65072,65506,65508,59362,8481,12849,59363,8208,59364,59365,59366,12540,12443,12444,12541,12542,12294,12445,12446,65097,65098,65099,65100,65101,65102,65103,65104,65105,65106,65108,65109,65110,65111,65113,65114,65115,65116,65117,65118,65119,65120,65121,65122,65123,65124,65125,65126,65128,65129,65130,65131,12350,12272,12273,12274,12275,12276,12277,12278,12279,12280,12281,12282,12283,12295,59380,59381,59382,59383,59384,59385,59386,59387,59388,59389,59390,59391,59392,9472,9473,9474,9475,9476,9477,9478,9479,9480,9481,9482,9483,9484,9485,9486,9487,9488,9489,9490,9491,9492,9493,9494,9495,9496,9497,9498,9499,9500,9501,9502,9503,9504,9505,9506,9507,9508,9509,9510,9511,9512,9513,9514,9515,9516,9517,9518,9519,9520,9521,9522,9523,9524,9525,9526,9527,9528,9529,9530,9531,9532,9533,9534,9535,9536,9537,9538,9539,9540,954
11,9542,9543,9544,9545,9546,9547,59393,59394,59395,59396,59397,59398,59399,59400,59401,59402,59403,59404,59405,59406,59407,29404,29405,29407,29410,29411,29412,29413,29414,29415,29418,29419,29429,29430,29433,29437,29438,29439,29440,29442,29444,29445,29446,29447,29448,29449,29451,29452,29453,29455,29456,29457,29458,29460,29464,29465,29466,29471,29472,29475,29476,29478,29479,29480,29485,29487,29488,29490,29491,29493,29494,29498,29499,29500,29501,29504,29505,29506,29507,29508,29509,29510,29511,29512,29513,29514,29515,29516,29518,29519,29521,29523,29524,29525,29526,29528,29529,29530,29531,29532,29533,29534,29535,29537,29538,29539,29540,29541,29542,29543,29544,29545,29546,29547,29550,29552,29553,57344,57345,57346,57347,57348,57349,57350,57351,57352,57353,57354,57355,57356,57357,57358,57359,57360,57361,57362,57363,57364,57365,57366,57367,57368,57369,57370,57371,57372,57373,57374,57375,57376,57377,57378,57379,57380,57381,57382,57383,57384,57385,57386,57387,57388,57389,57390,57391,57392,57393,57394,57395,57396,57397,57398,57399,57400,57401,57402,57403,57404,57405,57406,57407,57408,57409,57410,57411,57412,57413,57414,57415,57416,57417,57418,57419,57420,57421,57422,57423,57424,57425,57426,57427,57428,57429,57430,57431,57432,57433,57434,57435,57436,57437,29554,29555,29556,29557,29558,29559,29560,29561,29562,29563,29564,29565,29567,29568,29569,29570,29571,29573,29574,29576,29578,29580,29581,29583,29584,29586,29587,29588,29589,29591,29592,29593,29594,29596,29597,29598,29600,29601,29603,29604,29605,29606,29607,29608,29610,29612,29613,29617,29620,29621,29622,29624,29625,29628,29629,29630,29631,29633,29635,29636,29637,29638,29639,29643,29644,29646,29650,29651,29652,29653,29654,29655,29656,29658,29659,29660,29661,29663,29665,29666,29667,29668,29670,29672,29674,29675,29676,29678,29679,29680,29681,29683,29684,29685,29686,29687,57438,57439,57440,57441,57442,57443,57444,57445,57446,57447,57448,57449,57450,57451,57452,57453,57454,57455,57456,57457,57458,57459,57460,57461,57462,57463,57464,57465,57466,57467,57468,57469,57470,57471,57472,57473,57474,57475,57476,57477,57478,57479,57480,57481,57482,57483,57484,57485,57486,57487,57488,57489,57490,57491,57492,57493,57494,57495,57496,57497,57498,57499,57500,57501,57502,57503,57504,57505,57506,57507,57508,57509,57510,57511,57512,57513,57514,57515,57516,57517,57518,57519,57520,57521,57522,57523,57524,57525,57526,57527,57528,57529,57530,57531,29688,29689,29690,29691,29692,29693,29694,29695,29696,29697,29698,29700,29703,29704,29707,29708,29709,29710,29713,29714,29715,29716,29717,29718,29719,29720,29721,29724,29725,29726,29727,29728,29729,29731,29732,29735,29737,29739,2974
11,29743,29745,29746,29751,29752,29753,29754,29755,29757,29758,29759,29760,29762,29763,29764,29765,29766,29767,29768,29769,29770,29771,29772,29773,29774,29775,29776,29777,29778,29779,29780,29782,29784,29789,29792,29793,29794,29795,29796,29797,29798,29799,29800,29801,29802,29803,29804,29806,29807,29809,29810,29811,29812,29813,29816,29817,29818,57532,57533,57534,57535,57536,57537,57538,57539,57540,57541,57542,57543,57544,57545,57546,57547,57548,57549,57550,57551,57552,57553,57554,57555,57556,57557,57558,57559,57560,57561,57562,57563,57564,57565,57566,57567,57568,57569,57570,57571,57572,57573,57574,57575,57576,57577,57578,57579,57580,57581,57582,57583,57584,57585,57586,57587,57588,57589,57590,57591,57592,57593,57594,57595,57596,57597,57598,57599,57600,57601,57602,57603,57604,57605,57606,57607,57608,57609,57610,57611,57612,57613,57614,57615,57616,57617,57618,57619,57620,57621,57622,57623,57624,57625,29819,29820,29821,29823,29826,29828,29829,29830,29832,29833,29834,29836,29837,29839,29841,29842,29843,29844,29845,29846,29847,29848,29849,29850,29851,29853,29855,29856,29857,29858,29859,29860,29861,29862,29866,29867,29868,29869,29870,29871,29872,29873,29874,29875,29876,29877,29878,29879,29880,29881,29883,29884,29885,29886,29887,29888,29889,29890,29891,29892,29893,29894,29895,29896,29897,29898,29899,29900,29901,29902,29903,29904,29905,29907,29908,29909,29910,29911,29912,29913,29914,29915,29917,29919,29921,29925,29927,29928,29929,29930,29931,29932,29933,29936,29937,29938,57626,57627,57628,57629,57630,57631,57632,57633,57634,57635,57636,57637,57638,57639,57640,57641,57642,57643,57644,57645,57646,57647,57648,57649,57650,57651,57652,57653,57654,57655,57656,57657,57658,57659,57660,57661,57662,57663,57664,57665,57666,57667,57668,57669,57670,57671,57672,57673,57674,57675,57676,57677,57678,57679,57680,57681,57682,57683,57684,57685,57686,57687,57688,57689,57690,57691,57692,57693,57694,57695,57696,57697,57698,57699,57700,57701,57702,57703,57704,57705,57706,57707,57708,57709,57710,57711,57712,57713,57714,57715,57716,57717,57718,57719,29939,29941,29944,29945,29946,29947,29948,29949,29950,29952,29953,29954,29955,29957,29958,29959,29960,29961,29962,29963,29964,29966,29968,29970,29972,29973,29974,29975,29979,29981,29982,29984,29985,29986,29987,29988,29990,29991,29994,29998,30004,30006,30009,30012,30013,30015,30017,30018,30019,30020,30022,30023,30025,30026,30029,30032,30033,30034,30035,30037,30038,30039,30040,30045,30046,30047,30048,30049,30050,30051,30052,30055,30056,30057,30059,30060,30061,30062,30063,30064,30065,30067,30069,30070,30071,30074,30075,30076,30077,30078,30080,30081,30082,30084,30085,30087,57720,57721,57722,57723,57724,57725,57726,57727,57728,57729,57730,57731,57732,57733,57734,57735,57736,57737,57738,57739,57740,57741,57742,57743,57744,57745,57746,57747,57748,57749,57750,57751,57752,57753,57754,57755,57756,57757,57758,57759,57760,57761,57762,57763,57764,57765,57766,57767,57768,57769,57770,57771,57772,57773,57774,57775,57776,57777,57778,57779,57780,57781,57782,57783,57784,57785,57786,57787,57788,57789,57790,57791,57792,57793,57794,57795,57796,57797,57798,57799,57800,57801,57802,57803,57804,57805,57806,57807,57808,57809,57810,57811,57812,57813,30088,30089,30090,30092,30093,30094,30096,30099,30101,30104,30107,30108,30110,30114,30118,30119,30120,30121,30122,30125,30134,30135,30138,30139,30143,30144,30145,30150,30155,30156,30158,30159,30160,30161,30163,30167,30169,30170,30172,30173,30175,30176,30177,30181,30185,30188,30189,30190,30191,30194,30195,30197,30198,30199,30200,30202,30203,30205,30206,30210,30212,30214,30215,30216,30217,30219,30221,30222,30223,30225,30226,30227,30228,30230,30234,30236,30237,30238,30241,30243,30247,30248,30252,30254,30255,30257,30258,30262,30263,30265,30266,30267,30269,30273,30274,30276,57814,57815,57816,57817,57818,57819,57820,57821,57822,57823,57824,57825,57826,57827,57828,57829,57830,57831,57832,57833,57834,57835,57836,57837,57838,57839,57840,57841,57842,57843,57844,57845,57846,57847,57848,57849,57850,57851,57852,57853,57854,57855,57856,57857,57858,57859,57860,57861,57862,57863,57864,57865,57866,57867,57868,57869,57870,57871,57872,57873,57874,57875,57876,57877,57878,57879,57880,57881,57882,57883,57884,57885,57886,57887,57888,57889,57890,57891,57892,57893,57894,57895,57896,57897,57898,57899,57900,57901,57902,57903,57904,57905,57906,57907,30277,30278,30279,30280,30281,30282,30283,30286,30287,30288,30289,30290,30291,30293,30295,30296,30297,30298,30299,30301,30303,30304,30305,30306,30308,30309,30310,30311,30312,30313,30314,30316,30317,30318,30320,30321,30322,30323,30324,30325,30326,30327,30329,30330,30332,30335,30336,30337,30339,30341,30345,30346,30348,30349,30351,30352,30354,30356,30357,30359,30360,30362,30363,30364,30365,30366,30367,30368,30369,30370,30371,30373,30374,30375,30376,30377,30378,30379,30380,30381,30383,30384,30387,30389,30390,30391,30392,30393,30394,30395,30396,30397,30398,30400,30401,30403,21834,38463,22467,25384,21710,21769,21696,30353,30284,34108,30702,33406,30861,29233,38552,38797,27688,23433,20474,25353,26263,23736,33018,26696,32942,26114,30414,20985,25942,29100,32753,34948,20658,22885,25034,28595,33453,25420,25170,21485,21543,31494,20843,30116,24052,25300,36299,387
174,25226,32793,22365,38712,32610,29240,30333,26575,30334,25670,20336,36133,25308,31255,26001,29677,25644,25203,33324,39041,26495,29256,25198,25292,20276,29923,21322,21150,32458,37030,24110,26758,27036,33152,32465,26834,30917,34444,38225,20621,35876,33502,32990,21253,35090,21093,30404,30407,30409,30411,30412,30419,30421,30425,30426,30428,30429,30430,30432,30433,30434,30435,30436,30438,30439,30440,30441,30442,30443,30444,30445,30448,30451,30453,30454,30455,30458,30459,30461,30463,30464,30466,30467,30469,30470,30474,30476,30478,30479,30480,30481,30482,30483,30484,30485,30486,30487,30488,30491,30492,30493,30494,30497,30499,30500,30501,30503,30506,30507,30508,30510,30512,30513,30514,30515,30516,30521,30523,30525,30526,30527,30530,30532,30533,30534,30536,30537,30538,30539,30540,30541,30542,30543,30546,30547,30548,30549,30550,30551,30552,30553,30556,34180,38649,20445,22561,39281,23453,25265,25253,26292,35961,40077,29190,26479,30865,24754,21329,21271,36744,32972,36125,38049,20493,29384,22791,24811,28953,34987,22868,33519,26412,31528,23849,32503,29997,27893,36454,36856,36924,40763,27604,37145,31508,24444,30887,34006,34109,27605,27609,27606,24065,24199,30201,38381,25949,24330,24517,36767,22721,33218,36991,38491,38829,36793,32534,36140,25153,20415,21464,21342,36776,36777,36779,36941,26631,24426,33176,34920,40150,24971,21035,30250,24428,25996,28626,28392,23486,25672,20853,20912,26564,19993,31177,39292,28851,30557,30558,30559,30560,30564,30567,30569,30570,30573,30574,30575,30576,30577,30578,30579,30580,30581,30582,30583,30584,30586,30587,30588,30593,30594,30595,30598,30599,30600,30601,30602,30603,30607,30608,30611,30612,30613,30614,30615,30616,30617,30618,30619,30620,30621,30622,30625,30627,30628,30630,30632,30635,30637,30638,30639,30641,30642,30644,30646,30647,30648,30649,30650,30652,30654,30656,30657,30658,30659,30660,30661,30662,30663,30664,30665,30666,30667,30668,30670,30671,30672,30673,30674,30675,30676,30677,30678,30680,30681,30682,30685,30686,30687,30688,30689,30692,30149,24182,29627,33760,25773,25320,38069,27874,21338,21187,25615,38082,31636,20271,24091,33334,33046,33162,28196,27850,39539,25429,21340,21754,34917,22496,19981,24067,27493,31807,37096,24598,25830,29468,35009,26448,25165,36130,30572,36393,37319,24425,33756,34081,39184,21442,34453,27531,24813,24808,28799,33485,33329,20179,27815,34255,25805,31961,27133,26361,33609,21397,31574,20391,20876,27979,23618,36461,25554,21449,33580,33590,26597,30900,25661,23519,23700,24046,35815,25286,26612,35962,25600,25530,34633,39307,35863,32544,38130,20135,38416,39076,26124,29462,30694,30696,30698,30703,30704,30705,30706,30708,30709,30711,30713,30714,30715,30716,30723,30724,30725,30726,30727,30728,30730,30731,30734,30735,30736,30739,30741,30745,30747,30750,30752,30753,30754,30756,30760,30762,30763,30766,30767,30769,30770,30771,30773,30774,30781,30783,30785,30786,30787,30788,30790,30792,30793,30794,30795,30797,30799,30801,30803,30804,30808,30809,30810,30811,30812,30814,30815,30816,30817,30818,30819,30820,30821,30822,30823,30824,30825,30831,30832,30833,30834,30835,30836,30837,30838,30840,30841,30842,30843,30845,30846,30847,30848,30849,30850,30851,22330,23581,24120,38271,20607,32928,21378,25950,30021,21809,20513,36229,25220,38046,26397,22066,28526,24034,21557,28818,36710,25199,25764,25507,24443,28552,37108,33251,36784,23576,26216,24561,27785,38472,36225,34924,25745,31216,22478,27225,25104,21576,20056,31243,24809,28548,35802,25215,36894,39563,31204,21507,30196,25345,21273,27744,36831,24347,39536,32827,40831,20360,23610,36196,32709,26021,28861,20805,20914,34411,23815,23456,25277,37228,30068,36364,31264,24833,31609,20167,32504,30597,19985,33261,21021,20986,27249,21416,36487,38148,38607,28353,38500,26970,30852,30853,30854,30856,30858,30859,30863,30864,30866,30868,30869,30870,30873,30877,30878,30880,30882,30884,30886,30888,30889,30890,30891,30892,30893,30894,30895,30901,30902,30903,30904,30906,30907,30908,30909,30911,30912,30914,30915,30916,30918,30919,30920,30924,30925,30926,30927,30929,30930,30931,30934,30935,30936,30938,30939,30940,30941,30942,30943,30944,30945,30946,30947,30948,30949,30950,30951,30953,30954,30955,30957,30958,30959,30960,30961,30963,3
10965,30966,30968,30969,30971,30972,30973,30974,30975,30976,30978,30979,30980,30982,30983,30984,30985,30986,30987,30988,30784,20648,30679,25616,35302,22788,25571,24029,31359,26941,20256,33337,21912,20018,30126,31383,24162,24202,38383,21019,21561,28810,25462,38180,22402,26149,26943,37255,21767,28147,32431,34850,25139,32496,30133,33576,30913,38604,36766,24904,29943,35789,27492,21050,36176,27425,32874,33905,22257,21254,20174,19995,20945,31895,37259,31751,20419,36479,31713,31388,25703,23828,20652,33030,30209,31929,28140,32736,26449,23384,23544,30923,25774,25619,25514,25387,38169,25645,36798,31572,30249,25171,22823,21574,27513,20643,25140,24102,27526,20195,36151,34955,24453,36910,30989,30990,30991,30992,30993,30994,30996,30997,30998,30999,31e3,31001,31002,31003,31004,31005,31007,31008,31009,31010,31011,31013,31014,31015,31016,31017,31018,31019,31020,31021,31022,31023,31024,31025,31026,31027,31029,31030,31031,31032,31033,31037,31039,31042,31043,31044,31045,31047,31050,31051,31052,31053,31054,31055,31056,31057,31058,31060,31061,31064,31065,31073,31075,31076,31078,31081,31082,3
11083,31084,31086,31088,31089,31090,31091,31092,31093,31094,31097,31099,31100,31101,31102,31103,31106,31107,31110,31111,31112,31113,31115,31116,31117,31118,31120,31121,31122,24608,32829,25285,20025,21333,37112,25528,32966,26086,27694,20294,24814,28129,35806,24377,34507,24403,25377,20826,33633,26723,20992,25443,36424,20498,23707,31095,23548,21040,31291,24764,36947,30423,24503,24471,30340,36460,28783,30331,31561,30634,20979,37011,22564,20302,28404,36842,25932,31515,29380,28068,32735,23265,25269,24213,22320,33922,31532,24093,24351,36882,32532,39072,25474,28359,30872,28857,20856,38747,22443,30005,20291,30008,24215,24806,22880,28096,27583,30857,21500,38613,20939,20993,25481,21514,38035,35843,36300,29241,30879,34678,36845,35853,21472,31123,31124,31125,31126,31127,31128,31129,31131,31132,31133,31134,31135,31136,31137,31138,31139,31140,31141,31142,31144,31145,31146,31147,31148,31149,31150,31151,31152,31153,31154,31156,31157,31158,31159,31160,31164,31167,31170,31172,31173,31175,31176,31178,31180,31182,31183,31184,31187,31188,31190,31191,31193,31194,31195,31196,31197,31198,31200,31201,31202,31205,31208,31210,31212,31214,31217,31218,31219,31220,31221,31222,31223,31225,31226,31228,31230,31231,31233,31236,31237,31239,31240,31241,31242,31244,31247,31248,31249,31250,31251,31253,31254,31256,31257,31259,31260,19969,30447,21486,38025,39030,40718,38189,23450,35746,20002,19996,20908,33891,25026,21160,26635,20375,24683,20923,27934,20828,25238,26007,38497,35910,36887,30168,37117,30563,27602,29322,29420,35835,22581,30585,36172,26460,38208,32922,24230,28193,22930,31471,30701,38203,27573,26029,32526,22534,20817,38431,23545,22697,21544,36466,25958,39039,22244,38045,30462,36929,25479,21702,22810,22842,22427,36530,26421,36346,33333,21057,24816,22549,34558,23784,40517,20420,39069,35769,23077,24694,21380,25212,36943,37122,39295,24681,32780,20799,32819,23572,39285,27953,20108,31261,31263,31265,31266,31268,31269,31270,31271,31272,31273,31274,31275,31276,31277,31278,31279,31280,31281,31282,31284,31285,31286,31288,31290,31294,31296,31297,31298,31299,31300,31301,31303,31304,31305,31306,31307,31308,31309,31310,31311,31312,31314,31315,31316,31317,31318,31320,31321,31322,31323,31324,31325,31326,31327,31328,31329,31330,31331,31332,31333,31334,31335,31336,31337,31338,31339,31340,31341,31342,31343,31345,31346,31347,31349,31355,31356,31357,31358,31362,31365,31367,31369,31370,31371,31372,31374,31375,31376,31379,31380,31385,31386,31387,31390,31393,31394,36144,21457,32602,31567,20240,20047,38400,27861,29648,34281,24070,30058,32763,27146,30718,38034,32321,20961,28902,21453,36820,33539,36137,29359,39277,27867,22346,33459,26041,32938,25151,38450,22952,20223,35775,32442,25918,33778,38750,21857,39134,32933,21290,35837,21536,32954,24223,27832,36153,33452,37210,21545,27675,20998,32439,22367,28954,27774,31881,22859,20221,24575,24868,31914,20016,23553,26539,34562,23792,38155,39118,30127,28925,36898,20911,32541,35773,22857,20964,20315,21542,22827,25975,32932,23413,25206,25282,36752,24133,27679,31526,20239,20440,26381,31395,31396,31399,31401,31402,31403,31406,31407,31408,31409,31410,31412,31413,31414,31415,31416,31417,31418,31419,31420,31421,31422,31424,31425,31426,31427,31428,31429,31430,31431,31432,31433,31434,31436,31437,31438,31439,31440,31441,31442,31443,31444,31445,31447,31448,31450,31451,31452,31453,31457,31458,31460,31463,31464,31465,31466,31467,31468,31470,31472,31473,31474,31475,31476,31477,31478,31479,31480,31483,31484,31486,31488,31489,31490,31493,31495,31497,31500,31501,31502,31504,31506,31507,31510,31511,31512,31514,31516,31517,31519,31521,31522,31523,31527,31529,31533,28014,28074,31119,34993,24343,29995,25242,36741,20463,37340,26023,33071,33105,24220,33104,36212,21103,35206,36171,22797,20613,20184,38428,29238,33145,36127,23500,35747,38468,22919,32538,21648,22134,22030,35813,25913,27010,38041,30422,28297,24178,29976,26438,26577,31487,32925,36214,24863,31174,25954,36195,20872,21018,38050,32568,32923,32434,23703,28207,26464,31705,30347,39640,33167,32660,31957,25630,38224,31295,21578,21733,27468,25601,25096,40509,33011,30105,21106,38761,33883,26684,34532,38401,38548,38124,20010,21508,32473,26681,36319,32789,26356,24218,32697,31535,31536,31538,31540,31541,31542,31543,31545,31547,31549,31551,31552,31553,31554,31555,31556,31558,31560,31562,31565,31566,31571,31573,31575,31577,31580,31582,31583,31585,31587,31588,31589,31590,31591,31592,31593,31594,31595,31596,31597,31599,31600,31603,31604,31606,31608,31610,31612,31613,31615,31617,31618,31619,31620,31622,31623,31624,31625,31626,31627,31628,31630,31631,31633,31634,31635,31638,31640,31641,31642,31643,31646,31647,31648,31651,31652,31653,31662,31663,31664,31666,31667,31669,31670,31671,31673,31674,31675,31676,31677,31678,31679,3
11680,31682,31683,31684,22466,32831,26775,24037,25915,21151,24685,40858,20379,36524,20844,23467,24339,24041,27742,25329,36129,20849,38057,21246,27807,33503,29399,22434,26500,36141,22815,36764,33735,21653,31629,20272,27837,23396,22993,40723,21476,34506,39592,35895,32929,25925,39038,22266,38599,21038,29916,21072,23521,25346,35074,20054,25296,24618,26874,20851,23448,20896,35266,31649,39302,32592,24815,28748,36143,20809,24191,36891,29808,35268,22317,30789,24402,40863,38394,36712,39740,35809,30328,26690,26588,36330,36149,21053,36746,28378,26829,38149,37101,22269,26524,35065,36807,21704,31685,31688,31689,31690,31691,31693,31694,31695,31696,31698,31700,31701,31702,31703,31704,31707,31708,31710,31711,31712,31714,31715,31716,31719,31720,31721,31723,31724,31725,31727,31728,31730,31731,31732,31733,31734,31736,31737,31738,31739,31741,31743,31744,31745,31746,31747,31748,31749,31750,31752,31753,31754,31757,31758,31760,31761,31762,31763,31764,31765,31767,31768,31769,31770,31771,31772,31773,31774,31776,31777,31778,31779,31780,31781,31784,31785,31787,31788,31789,31790,31791,31792,31793,31794,31795,31796,31797,31798,31799,31801,31802,31803,31804,31805,31806,31810,39608,23401,28023,27686,20133,23475,39559,37219,25e3,37039,38889,21547,28085,23506,20989,21898,32597,32752,25788,25421,26097,25022,24717,28938,27735,27721,22831,26477,33322,22741,22158,35946,27627,37085,22909,32791,21495,28009,21621,21917,33655,33743,26680,31166,21644,20309,21512,30418,35977,38402,27827,28088,36203,35088,40548,36154,22079,40657,30165,24456,29408,24680,21756,20136,27178,34913,24658,36720,21700,28888,34425,40511,27946,23439,24344,32418,21897,20399,29492,21564,21402,20505,21518,21628,20046,24573,29786,22774,33899,32993,34676,29392,31946,28246,31811,31812,31813,31814,31815,31816,31817,31818,31819,31820,31822,31823,31824,31825,31826,31827,31828,31829,31830,31831,31832,31833,31834,31835,31836,31837,31838,31839,31840,31841,31842,31843,31844,31845,31846,31847,31848,31849,31850,31851,31852,31853,31854,31855,31856,31857,31858,31861,31862,31863,31864,31865,31866,31870,31871,31872,31873,31874,31875,31876,31877,31878,31879,31880,31882,31883,31884,31885,31886,31887,31888,31891,31892,31894,31897,31898,31899,31904,31905,31907,31910,31911,31912,31913,31915,31916,31917,31919,31920,31924,31925,31926,31927,31928,31930,31931,24359,34382,21804,25252,20114,27818,25143,33457,21719,21326,29502,28369,30011,21010,21270,35805,27088,24458,24576,28142,22351,27426,29615,26707,36824,32531,25442,24739,21796,30186,35938,28949,28067,23462,24187,33618,24908,40644,30970,34647,31783,30343,20976,24822,29004,26179,24140,24653,35854,28784,25381,36745,24509,24674,34516,22238,27585,24724,24935,21321,24800,26214,36159,31229,20250,28905,27719,35763,35826,32472,33636,26127,23130,39746,27985,28151,35905,27963,20249,28779,33719,25110,24785,38669,36135,31096,20987,22334,22522,26426,30072,31293,31215,31637,31935,31936,31938,31939,31940,31942,31945,31947,31950,31951,31952,31953,31954,31955,31956,31960,31962,31963,31965,31966,31969,31970,31971,31972,31973,31974,31975,31977,31978,31979,31980,31981,31982,31984,31985,31986,31987,31988,31989,31990,31991,31993,31994,31996,31997,31998,31999,32e3,32001,32002,32003,32004,32005,32006,32007,32008,32009,32011,32012,32013,32014,32015,32016,32017,32018,32019,32020,32021,32022,32023,32024,32025,32026,32027,32028,32029,32030,32031,32033,32035,32036,32037,32038,32040,32041,32042,32044,32045,32046,32048,32049,32050,32051,32052,32053,32054,32908,39269,36857,28608,35749,40481,23020,32489,32521,21513,26497,26840,36753,31821,38598,21450,24613,30142,27762,21363,23241,32423,25380,20960,33034,24049,34015,25216,20864,23395,20238,31085,21058,24760,27982,23492,23490,35745,35760,26082,24524,38469,22931,32487,32426,22025,26551,22841,20339,23478,21152,33626,39050,36158,30002,38078,20551,31292,20215,26550,39550,23233,27516,30417,22362,23574,31546,38388,29006,20860,32937,33392,22904,32516,33575,26816,26604,30897,30839,25315,25441,31616,20461,21098,20943,33616,27099,37492,36341,36145,35265,38190,31661,20214,32055,32056,32057,32058,32059,32060,32061,32062,32063,32064,32065,32066,32067,32068,32069,32070,32071,32072,32073,32074,32075,32076,32077,32078,32079,32080,32081,32082,32083,32084,32085,32086,32087,32088,32089,32090,32091,32092,32093,32094,32095,32096,32097,32098,32099,32100,32101,32102,32103,32104,32105,32106,32107,32108,32109,32111,32112,32113,32114,32115,32116,32117,32118,32120,32121,32122,32123,32124,32125,32126,32127,32128,32129,32130,32131,32132,32133,32134,32135,32136,32137,32138,32139,32140,32141,32142,32143,32144,32145,32146,32147,32148,32149,32150,32151,32152,20581,33328,21073,39279,28176,28293,28071,24314,20725,23004,23558,27974,27743,30086,33931,26728,22870,35762,21280,37233,38477,34121,26898,30977,28966,33014,20132,37066,27975,39556,23047,22204,25605,38128,30699,20389,33050,29409,35282,39290,32564,32478,21119,25945,37237,36735,36739,21483,31382,25581,25509,30342,31224,34903,38454,25130,21163,33410,26708,26480,25463,30571,31469,27905,32467,35299,22992,25106,34249,33445,30028,20511,20171,30117,35819,23626,24062,31563,26020,37329,20170,27941,35167,32039,38182,20165,35880,36827,38771,26187,31105,36817,28908,28024,32153,32154,32155,32156,32157,32158,32159,32160,32161,32162,32163,32164,32165,32167,32168,32169,32170,32171,32172,32173,32175,32176,32177,32178,32179,32180,32181,32182,32183,32184,32185,32186,32187,32188,32189,32190,32191,32192,32193,32194,32195,32196,32197,32198,32199,32200,32201,32202,32203,32204,32205,32206,32207,32208,32209,32210,32211,32212,32213,32214,32215,32216,32217,32218,32219,32220,32221,32222,32223,32224,32225,32226,32227,32228,32229,32230,32231,32232,32233,32234,32235,32236,32237,32238,32239,32240,32241,32242,32243,32244,32245,32246,32247,32248,32249,32250,23613,21170,33606,20834,33550,30555,26230,40120,2014
10,24778,31934,31923,32463,20117,35686,26223,39048,38745,22659,25964,38236,24452,30153,38742,31455,31454,20928,28847,31384,25578,31350,32416,29590,38893,20037,28792,20061,37202,21417,25937,26087,33276,33285,21646,23601,30106,38816,25304,29401,30141,23621,39545,33738,23616,21632,30697,20030,27822,32858,25298,25454,24040,20855,36317,36382,38191,20465,21477,24807,28844,21095,25424,40515,23071,20518,30519,21367,32482,25733,25899,25225,25496,20500,29237,35273,20915,35776,32477,22343,33740,38055,20891,21531,23803,32251,32252,32253,32254,32255,32256,32257,32258,32259,32260,32261,32262,32263,32264,32265,32266,32267,32268,32269,32270,32271,32272,32273,32274,32275,32276,32277,32278,32279,32280,32281,32282,32283,32284,32285,32286,32287,32288,32289,32290,32291,32292,32293,32294,32295,32296,32297,32298,32299,32300,32301,32302,32303,32304,32305,32306,32307,32308,32309,32310,32311,32312,32313,32314,32316,32317,32318,32319,32320,32322,32323,32324,32325,32326,32328,32329,32330,32331,32332,32333,32334,32335,32336,32337,32338,32339,32340,32341,32342,32343,32344,32345,32346,32347,32348,32349,20426,31459,27994,37089,39567,21888,21654,21345,21679,24320,25577,26999,20975,24936,21002,22570,21208,22350,30733,30475,24247,24951,31968,25179,25239,20130,28821,32771,25335,28900,38752,22391,33499,26607,26869,30933,39063,31185,22771,21683,21487,28212,20811,21051,23458,35838,32943,21827,22438,24691,22353,21549,31354,24656,23380,25511,25248,21475,25187,23495,26543,21741,31391,33510,37239,24211,35044,22840,22446,25358,36328,33007,22359,31607,20393,24555,23485,27454,21281,31568,29378,26694,30719,30518,26103,20917,20111,30420,23743,31397,33909,22862,39745,20608,32350,32351,32352,32353,32354,32355,32356,32357,32358,32359,32360,32361,32362,32363,32364,32365,32366,32367,32368,32369,32370,32371,32372,32373,32374,32375,32376,32377,32378,32379,32380,32381,32382,32383,32384,32385,32387,32388,32389,32390,32391,32392,32393,32394,32395,32396,32397,32398,32399,32400,32401,32402,32403,32404,32405,32406,32407,32408,32409,32410,32412,32413,32414,32430,32436,32443,32444,32470,32484,32492,32505,32522,32528,32542,32567,32569,32571,32572,32573,32574,32575,32576,32577,32579,32582,32583,32584,32585,32586,32587,32588,32589,32590,32591,32594,32595,39304,24871,28291,22372,26118,25414,22256,25324,25193,24275,38420,22403,25289,21895,34593,33098,36771,21862,33713,26469,36182,34013,23146,26639,25318,31726,38417,20848,28572,35888,25597,35272,25042,32518,28866,28389,29701,27028,29436,24266,37070,26391,28010,25438,21171,29282,32769,20332,23013,37226,28889,28061,21202,20048,38647,38253,34174,30922,32047,20769,22418,25794,32907,31867,27882,26865,26974,20919,21400,26792,29313,40654,31729,29432,31163,28435,29702,26446,37324,40100,31036,33673,33620,21519,26647,20029,21385,21169,30782,21382,21033,20616,20363,20432,32598,32601,32603,32604,32605,32606,32608,32611,32612,32613,32614,32615,32619,32620,32621,32623,32624,32627,32629,32630,32631,32632,32634,32635,32636,32637,32639,32640,32642,32643,32644,32645,32646,32647,32648,32649,32651,32653,32655,32656,32657,32658,32659,32661,32662,32663,32664,32665,32667,32668,32672,32674,32675,32677,32678,32680,32681,32682,32683,32684,32685,32686,32689,32691,32692,32693,32694,32695,32698,32699,32702,32704,32706,32707,32708,32710,32711,32712,32713,32715,32717,32719,32720,32721,32722,32723,32726,32727,32729,32730,32731,32732,32733,32734,32738,32739,30178,31435,31890,27813,38582,21147,29827,21737,20457,32852,33714,36830,38256,24265,24604,28063,24088,25947,33080,38142,24651,28860,32451,31918,20937,26753,31921,33391,20004,36742,37327,26238,20142,35845,25769,32842,20698,30103,29134,23525,36797,28518,20102,25730,38243,24278,26009,21015,35010,28872,21155,29454,29747,26519,30967,38678,20020,37051,40158,28107,20955,36161,21533,25294,29618,33777,38646,40836,38083,20278,32666,20940,28789,38517,23725,39046,21478,20196,28316,29705,27060,30827,39311,30041,21016,30244,27969,26611,20845,40857,32843,21657,31548,31423,32740,32743,32744,32746,32747,32748,32749,32751,32754,32756,32757,32758,32759,32760,32761,32762,32765,32766,32767,32770,32775,32776,32777,32778,32782,32783,32785,32787,32794,32795,32797,32798,32799,32801,32803,32804,32811,32812,32813,32814,32815,32816,32818,32820,32825,32826,32828,32830,32832,32833,32836,32837,32839,32840,32841,32846,32847,32848,32849,32851,32853,32854,32855,32857,32859,32860,32861,32862,32863,32864,32865,32866,32867,32868,32869,32870,32871,32872,32875,32876,32877,32878,32879,32880,32882,32883,32884,32885,32886,32887,32888,32889,32890,32891,32892,32893,38534,22404,25314,38471,27004,23044,25602,31699,28431,38475,33446,21346,39045,24208,28809,25523,21348,34383,40065,40595,30860,38706,36335,36162,40575,28510,31108,24405,38470,25134,39540,21525,38109,20387,26053,23653,23649,32533,34385,27695,24459,29575,28388,32511,23782,25371,23402,28390,21365,20081,25504,30053,25249,36718,20262,20177,27814,32438,35770,33821,34746,32599,36923,38179,31657,39585,35064,33853,27931,39558,32476,22920,40635,29595,30721,34434,39532,39554,22043,21527,22475,20080,40614,21334,36808,33033,30610,39314,34542,28385,34067,26364,24930,28459,32894,32897,32898,32901,32904,32906,32909,32910,32911,32912,32913,32914,32916,32917,32919,32921,32926,32931,32934,32935,32936,32940,32944,32947,32949,32950,32952,32953,32955,32965,32967,32968,32969,32970,32971,32975,32976,32977,32978,32979,32980,32981,32984,32991,32992,32994,32995,32998,33006,33013,33015,33017,33019,33022,33023,33024,33025,33027,33028,33029,33031,33032,33035,33036,33045,33047,33049,33051,33052,33053,33055,33056,33057,33058,33059,33060,33061,33062,33063,33064,33065,33066,33067,33069,33070,33072,33075,33076,33077,33079,33081,33082,33083,33084,33085,33087,35881,33426,33579,30450,27667,24537,33725,29483,33541,38170,27611,30683,38086,21359,33538,20882,24125,35980,36152,20040,29611,26522,26757,37238,38665,29028,27809,30473,23186,38209,27599,32654,26151,23504,22969,23194,38376,38391,20204,33804,33945,27308,30431,38192,29467,26790,23391,30511,37274,38753,31964,36855,35868,24357,31859,31192,35269,27852,34588,23494,24130,26825,30496,32501,20885,20813,21193,23081,32517,38754,33495,25551,30596,34256,31186,28218,24217,22937,34065,28781,27665,25279,30399,25935,24751,38397,26126,34719,40483,38125,21517,21629,35884,25720,33088,33089,33090,33091,33092,33093,33095,33097,33101,33102,33103,33106,33110,33111,33112,33115,33116,33117,33118,33119,33121,33122,33123,33124,33126,33128,33130,33131,33132,33135,33138,33139,33141,33142,33143,33144,33153,33155,33156,33157,33158,33159,33161,33163,33164,33165,33166,33168,33170,33171,33172,33173,33174,33175,33177,33178,33182,33183,33184,33185,33186,33188,33189,33191,33193,33195,33196,33197,33198,33199,33200,33201,33202,33204,33205,33206,33207,33208,33209,33212,33213,33214,33215,33220,33221,33223,33224,33225,33227,33229,33230,33231,33232,33233,33234,33235,25721,34321,27169,33180,30952,25705,39764,25273,26411,33707,22696,40664,27819,28448,23518,38476,35851,29279,26576,25287,29281,20137,22982,27597,22675,26286,24149,21215,24917,26408,30446,30566,29287,31302,25343,21738,21584,38048,37027,23068,32435,27670,20035,22902,32784,22856,21335,30007,38590,22218,25376,33041,24700,38393,28118,21602,39297,20869,23273,33021,22958,38675,20522,27877,23612,25311,20320,21311,33147,36870,28346,34091,25288,24180,30910,25781,25467,24565,23064,37247,40479,23615,25423,32834,23421,21870,38218,38221,28037,24744,26592,29406,20957,23425,33236,33237,33238,33239,33240,33241,33242,33243,33244,33245,33246,33247,33248,33249,33250,33252,33253,33254,33256,33257,33259,33262,33263,33264,33265,33266,33269,33270,33271,33272,33273,33274,33277,33279,33283,33287,33288,33289,33290,33291,33294,33295,33297,33299,33301,33302,33303,33304,33305,33306,33309,33312,33316,33317,33318,33319,33321,33326,33330,33338,33340,33341,33343,33344,33345,33346,33347,33349,33350,33352,33354,33356,33357,33358,33360,33361,33362,33363,33364,33365,33366,33367,33369,33371,33372,33373,33374,33376,33377,33378,33379,33380,33381,33382,33383,33385,25319,27870,29275,25197,38062,32445,33043,27987,20892,24324,22900,21162,24594,22899,26262,34384,30111,25386,25062,31983,35834,21734,27431,40485,27572,34261,21589,20598,27812,21866,36276,29228,24085,24597,29750,25293,25490,29260,24472,28227,27966,25856,28504,30424,30928,30460,30036,21028,21467,20051,24222,26049,32810,32982,25243,21638,21032,28846,34957,36305,27873,21624,32986,22521,35060,36180,38506,37197,20329,27803,21943,30406,30768,25256,28921,28558,24429,34028,26842,30844,31735,33192,26379,40527,25447,30896,22383,30738,38713,25209,25259,21128,29749,27607,33386,33387,33388,33389,33393,33397,33398,33399,33400,33403,33404,33408,33409,33411,33413,33414,33415,33417,33420,33424,33427,33428,33429,33430,33434,33435,33438,33440,33442,33443,33447,33458,33461,33462,33466,33467,33468,33471,33472,33474,33475,33477,33478,33481,33488,33494,33497,33498,33501,33506,33511,33512,33513,33514,33516,33517,33518,33520,33522,33523,33525,33526,33528,33530,33532,33533,33534,33535,33536,33546,33547,33549,33552,33554,33555,33558,33560,33561,33565,33566,33567,33568,33569,33570,33571,33572,33573,33574,33577,33578,33582,33584,33586,33591,33595,33597,21860,33086,30130,30382,21305,30174,20731,23617,35692,31687,20559,29255,39575,39128,28418,29922,31080,25735,30629,25340,39057,36139,21697,32856,20050,22378,33529,33805,24179,20973,29942,35780,23631,22369,27900,39047,23110,30772,39748,36843,31893,21078,25169,38138,20166,33670,33889,33769,33970,22484,26420,22275,26222,28006,35889,26333,28689,26399,27450,26646,25114,22971,19971,20932,28422,26578,27791,20854,26827,22855,27495,30054,23822,33040,40784,26071,31048,31041,39569,36215,23682,20062,20225,21551,22865,30732,22120,27668,36804,24323,27773,27875,35755,25488,33598,33599,33601,33602,33604,33605,33608,33610,33611,33612,33613,33614,33619,33621,33622,33623,33624,33625,33629,33634,33648,33649,33650,33651,33652,33653,33654,33657,33658,33662,33663,33664,33665,33666,33667,33668,33671,33672,33674,33675,33676,33677,33679,33680,33681,33684,33685,33686,33687,33689,33690,33693,33695,33697,33698,33699,33700,33701,33702,33703,33708,33709,33710,33711,33717,33723,33726,33727,33730,33731,33732,33734,33736,33737,33739,33741,33742,33744,33745,33746,33747,33749,33751,33753,33754,33755,33758,33762,33763,33764,33766,33767,33768,33771,33772,33773,24688,27965,29301,25190,38030,38085,21315,36801,31614,20191,35878,20094,40660,38065,38067,21069,28508,36963,27973,35892,22545,23884,27424,27465,26538,21595,33108,32652,22681,34103,24378,25250,27207,38201,25970,24708,26725,30631,20052,20392,24039,38808,25772,32728,23789,20431,31373,20999,33540,19988,24623,31363,38054,20405,20146,31206,29748,21220,33465,25810,31165,23517,27777,38738,36731,27682,20542,21375,28165,25806,26228,27696,24773,39031,35831,24198,29756,31351,31179,19992,37041,29699,27714,22234,37195,27845,36235,21306,34502,26354,36527,23624,39537,28192,33774,33775,33779,33780,33781,33782,33783,33786,33787,33788,33790,33791,33792,33794,33797,33799,33800,33801,33802,33808,33810,33811,33812,33813,33814,33815,33817,33818,33819,33822,33823,33824,33825,33826,33827,33833,33834,33835,33836,33837,33838,33839,33840,33842,33843,33844,33845,33846,33847,33849,33850,33851,33854,33855,33856,33857,33858,33859,33860,33861,33863,33864,33865,33866,33867,33868,33869,33870,33871,33872,33874,33875,33876,33877,33878,33880,33885,33886,33887,33888,33890,33892,33893,33894,33895,33896,33898,33902,33903,33904,33906,33908,33911,33913,33915,33916,21462,23094,40843,36259,21435,22280,39079,26435,37275,27849,20840,30154,25331,29356,21048,21149,32570,28820,30264,21364,40522,27063,30830,38592,35033,32676,28982,29123,20873,26579,29924,22756,25880,22199,35753,39286,25200,32469,24825,28909,22764,20161,20154,24525,38887,20219,35748,20995,22922,32427,25172,20173,26085,25102,33592,33993,33635,34701,29076,28342,23481,32466,20887,25545,26580,32905,33593,34837,20754,23418,22914,36785,20083,27741,20837,35109,36719,38446,34122,29790,38160,38384,28070,33509,24369,25746,27922,33832,33134,40131,22622,36187,19977,21441,33917,33918,33919,33920,33921,33923,33924,33925,33926,33930,33933,33935,33936,33937,33938,33939,33940,33941,33942,33944,33946,33947,33949,33950,33951,33952,33954,33955,33956,33957,33958,33959,33960,33961,33962,33963,33964,339
165,33966,33968,33969,33971,33973,33974,33975,33979,33980,33982,33984,33986,33987,33989,33990,33991,33992,33995,33996,33998,33999,34002,34004,34005,34007,34008,34009,34010,34011,34012,34014,34017,34018,34020,34023,34024,34025,34026,34027,34029,34030,34031,34033,34034,34035,34036,34037,34038,34039,34040,34041,34042,34043,34045,34046,34048,34049,34050,20254,25955,26705,21971,20007,25620,39578,25195,23234,29791,33394,28073,26862,20711,33678,30722,26432,21049,27801,32433,20667,21861,29022,31579,26194,29642,33515,26441,23665,21024,29053,34923,38378,38485,25797,36193,33203,21892,27733,25159,32558,22674,20260,21830,36175,26188,19978,23578,35059,26786,25422,31245,28903,33421,21242,38902,23569,21736,37045,32461,22882,36170,34503,33292,33293,36198,25668,23556,24913,28041,31038,35774,30775,30003,21627,20280,36523,28145,23072,32453,31070,27784,23457,23158,29978,32958,24910,28183,22768,29983,29989,29298,21319,32499,34051,34052,34053,34054,34055,34056,34057,34058,34059,34061,34062,34063,34064,34066,34068,34069,34070,34072,34073,34075,34076,34077,34078,34080,34082,34083,34084,34085,34086,34087,34088,34089,34090,34093,34094,34095,34096,34097,34098,34099,34100,34101,34102,34110,34111,34112,34113,34114,34116,34117,34118,34119,34123,34124,34125,34126,34127,34128,34129,34130,34131,34132,34133,34135,34136,34138,34139,34140,34141,34143,34144,34145,34146,34147,34149,34150,34151,34153,34154,34155,34156,34157,34158,34159,34160,34161,34163,34165,34166,34167,34168,34172,34173,34175,34176,34177,30465,30427,21097,32988,22307,24072,22833,29422,26045,28287,35799,23608,34417,21313,30707,25342,26102,20160,39135,34432,23454,35782,21490,30690,20351,23630,39542,22987,24335,31034,22763,19990,26623,20107,25325,35475,36893,21183,26159,21980,22124,36866,20181,20365,37322,39280,27663,24066,24643,23460,35270,35797,25910,25163,39318,23432,23551,25480,21806,21463,30246,20861,34092,26530,26803,27530,25234,36755,21460,33298,28113,30095,20070,36174,23408,29087,34223,26257,26329,32626,34560,40653,40736,23646,26415,36848,26641,26463,25101,31446,22661,24246,25968,28465,34178,34179,34182,34184,34185,34186,34187,34188,34189,34190,34192,34193,34194,34195,34196,34197,34198,34199,34200,34201,34202,34205,34206,34207,34208,34209,34210,34211,34213,34214,34215,34217,34219,34220,34221,34225,34226,34227,34228,34229,34230,34232,34234,34235,34236,34237,34238,34239,34240,34242,34243,34244,34245,34246,34247,34248,34250,34251,34252,34253,34254,34257,34258,34260,34262,34263,34264,34265,34266,34267,34269,34270,34271,34272,34273,34274,34275,34277,34278,34279,34280,34282,34283,34284,34285,34286,34287,34288,34289,34290,34291,34292,34293,34294,34295,34296,24661,21047,32781,25684,34928,29993,24069,26643,25332,38684,21452,29245,35841,27700,30561,31246,21550,30636,39034,33308,35828,30805,26388,28865,26031,25749,22070,24605,31169,21496,19997,27515,32902,23546,21987,22235,20282,20284,39282,24051,26494,32824,24578,39042,36865,23435,35772,35829,25628,33368,25822,22013,33487,37221,20439,32032,36895,31903,20723,22609,28335,23487,35785,32899,37240,33948,31639,34429,38539,38543,32485,39635,30862,23681,31319,36930,38567,31071,23385,25439,31499,34001,26797,21766,32553,29712,32034,38145,25152,22604,20182,23427,22905,22612,34297,34298,34300,34301,34302,34304,34305,34306,34307,34308,34310,34311,34312,34313,34314,34315,34316,34317,34318,34319,34320,34322,34323,34324,34325,34327,34328,34329,34330,34331,34332,34333,34334,34335,34336,34337,34338,34339,34340,34341,34342,34344,34346,34347,34348,34349,34350,34351,34352,34353,34354,34355,34356,34357,34358,34359,34361,34362,34363,34365,34366,34367,34368,34369,34370,34371,34372,34373,34374,34375,34376,34377,34378,34379,34380,34386,34387,34389,34390,34391,34392,34393,34395,34396,34397,34399,34400,34401,34403,34404,34405,34406,34407,34408,34409,34410,29549,25374,36427,36367,32974,33492,25260,21488,27888,37214,22826,24577,27760,22349,25674,36138,30251,28393,22363,27264,30192,28525,35885,35848,22374,27631,34962,30899,25506,21497,28845,27748,22616,25642,22530,26848,33179,21776,31958,20504,36538,28108,36255,28907,25487,28059,28372,32486,33796,26691,36867,28120,38518,35752,22871,29305,34276,33150,30140,35466,26799,21076,36386,38161,25552,39064,36420,21884,20307,26367,22159,24789,28053,21059,23625,22825,28155,22635,3e4,29980,24684,33300,33094,25361,26465,36834,30522,36339,36148,38081,24086,21381,21548,28867,34413,34415,34416,34418,34419,34420,34421,34422,34423,34424,34435,34436,34437,34438,34439,34440,34441,34446,34447,34448,34449,34450,34452,34454,34455,34456,34457,34458,34459,34462,34463,34464,34465,34466,34469,34470,34475,34477,34478,34482,34483,34487,34488,34489,34491,34492,34493,34494,34495,34497,34498,34499,34501,34504,34508,34509,34514,34515,34517,34518,34519,34522,34524,34525,34528,34529,34530,34531,34533,34534,34535,34536,34538,34539,34540,34543,34549,34550,345
151,34554,34555,34556,34557,34559,34561,34564,34565,34566,34571,34572,34574,34575,34576,34577,34580,34582,27712,24311,20572,20141,24237,25402,33351,36890,26704,37230,30643,21516,38108,24420,31461,26742,25413,31570,32479,30171,20599,25237,22836,36879,20984,31171,31361,22270,24466,36884,28034,23648,22303,21520,20820,28237,22242,25512,39059,33151,34581,35114,36864,21534,23663,33216,25302,25176,33073,40501,38464,39534,39548,26925,22949,25299,21822,25366,21703,34521,27964,23043,29926,34972,27498,22806,35916,24367,28286,29609,39037,20024,28919,23436,30871,25405,26202,30358,24779,23451,23113,19975,33109,27754,29579,20129,26505,32593,24448,26106,26395,24536,22916,23041,34585,34587,34589,34591,34592,34596,34598,34599,34600,34602,34603,34604,34605,34607,34608,34610,34611,34613,34614,34616,34617,34618,34620,34621,34624,34625,34626,34627,34628,34629,34630,34634,34635,34637,34639,34640,34641,34642,34644,34645,34646,34648,34650,34651,34652,34653,34654,34655,34657,34658,34662,34663,34664,34665,34666,34667,34668,34669,34671,34673,34674,34675,34677,34679,34680,34681,34682,34687,34688,34689,34692,34694,34695,34697,34698,34700,34702,34703,34704,34705,34706,34708,34709,34710,34712,34713,34714,34715,34716,34717,34718,34720,34721,34722,34723,34724,24013,24494,21361,38886,36829,26693,22260,21807,24799,20026,28493,32500,33479,33806,22996,20255,20266,23614,32428,26410,34074,21619,30031,32963,21890,39759,20301,28205,35859,23561,24944,21355,30239,28201,34442,25991,38395,32441,21563,31283,32010,38382,21985,32705,29934,25373,34583,28065,31389,25105,26017,21351,25569,27779,24043,21596,38056,20044,27745,35820,23627,26080,33436,26791,21566,21556,27595,27494,20116,25410,21320,33310,20237,20398,22366,25098,38654,26212,29289,21247,21153,24735,35823,26132,29081,26512,35199,30802,30717,26224,22075,21560,38177,29306,34725,34726,34727,34729,34730,34734,34736,34737,34738,34740,34742,34743,34744,34745,34747,34748,34750,34751,34753,34754,34755,34756,34757,34759,34760,34761,34764,34765,34766,34767,34768,34772,34773,34774,34775,34776,34777,34778,34780,34781,34782,34783,34785,34786,34787,34788,34790,34791,34792,34793,34795,34796,34797,34799,34800,34801,34802,34803,34804,34805,34806,34807,34808,34810,34811,34812,34813,34815,34816,34817,34818,34820,34821,34822,34823,34824,34825,34827,34828,34829,34830,34831,34832,34833,34834,34836,34839,34840,34841,34842,34844,34845,34846,34847,34848,34851,31232,24687,24076,24713,33181,22805,24796,29060,28911,28330,27728,29312,27268,34989,24109,20064,23219,21916,38115,27927,31995,38553,25103,32454,30606,34430,21283,38686,36758,26247,23777,20384,29421,19979,21414,22799,21523,25472,38184,20808,20185,40092,32420,21688,36132,34900,33335,38386,28046,24358,23244,26174,38505,29616,29486,21439,33146,39301,32673,23466,38519,38480,32447,30456,21410,38262,39321,31665,35140,28248,20065,32724,31077,35814,24819,21709,20139,39033,24055,27233,20687,21521,35937,33831,30813,38660,21066,21742,22179,38144,28040,23477,28102,26195,34852,34853,34854,34855,34856,34857,34858,34859,34860,34861,34862,34863,34864,34865,34867,34868,34869,34870,34871,34872,34874,34875,34877,34878,34879,34881,34882,34883,34886,34887,34888,34889,34890,34891,34894,34895,34896,34897,34898,34899,34901,34902,34904,34906,34907,34908,34909,34910,34911,34912,34918,34919,34922,34925,34927,34929,34931,34932,34933,34934,34936,34937,34938,34939,34940,34944,34947,34950,34951,34953,34954,34956,34958,34959,34960,34961,34963,34964,34965,34967,34968,34969,34970,34971,34973,34974,34975,34976,34977,34979,34981,34982,34983,34984,34985,34986,23567,23389,26657,32918,21880,31505,25928,26964,20123,27463,34638,38795,21327,25375,25658,37034,26012,32961,35856,20889,26800,21368,34809,25032,27844,27899,35874,23633,34218,33455,38156,27427,36763,26032,24571,24515,20449,34885,26143,33125,29481,24826,20852,21009,22411,24418,37026,34892,37266,24184,26447,24615,22995,20804,20982,33016,21256,27769,38596,29066,20241,20462,32670,26429,21957,38152,31168,34966,32483,22687,25100,38656,34394,22040,39035,24464,35768,33988,37207,21465,26093,24207,30044,24676,32110,23167,32490,32493,36713,21927,23459,24748,26059,29572,34988,34990,34991,34992,34994,34995,34996,34997,34998,35e3,35001,35002,35003,35005,35006,35007,35008,35011,35012,35015,35016,35018,35019,35020,35021,35023,35024,35025,35027,35030,35031,35034,35035,35036,35037,35038,35040,35041,35046,35047,35049,35050,35051,35052,35053,35054,35055,35058,35061,35062,35063,35066,35067,35069,35071,35072,35073,35075,35076,35077,35078,35079,35080,35081,35083,35084,35085,35086,35087,35089,35092,35093,35094,35095,35096,35100,35101,35102,35103,35104,35106,35107,35108,35110,35111,35112,35113,35116,35117,35118,35119,35121,35122,35123,35125,35127,36873,30307,30505,32474,38772,34203,23398,31348,38634,34880,21195,29071,24490,26092,35810,23547,39535,24033,27529,27739,35757,35759,36874,36805,21387,25276,40486,40493,21568,20011,33469,29273,34460,23830,34905,28079,38597,21713,20122,35766,28937,21693,38409,28895,28153,30416,2000
15,30740,34578,23721,24310,35328,39068,38414,28814,27839,22852,25513,30524,34893,28436,33395,22576,29141,21388,30746,38593,21761,24422,28976,23476,35866,39564,27523,22830,40495,31207,26472,25196,20335,30113,32650,27915,38451,27687,20208,30162,20859,26679,28478,36992,33136,22934,29814,35128,35129,35130,35131,35132,35133,35134,35135,35136,35138,35139,35141,35142,35143,35144,35145,35146,35147,35148,35149,35150,35151,35152,35153,35154,35155,35156,35157,35158,35159,35160,35161,35162,35163,35164,35165,35168,35169,35170,35171,35172,35173,35175,35176,35177,35178,35179,35180,35181,35182,35183,35184,35185,35186,35187,35188,35189,35190,35191,35192,35193,35194,35196,35197,35198,35200,35202,35204,35205,35207,35208,35209,35210,35211,35212,35213,35214,35215,35216,35217,35218,35219,35220,35221,35222,35223,35224,35225,35226,35227,35228,35229,35230,35231,35232,35233,25671,23591,36965,31377,35875,23002,21676,33280,33647,35201,32768,26928,22094,32822,29239,37326,20918,20063,39029,25494,19994,21494,26355,33099,22812,28082,19968,22777,21307,25558,38129,20381,20234,34915,39056,22839,36951,31227,20202,33008,30097,27778,23452,23016,24413,26885,34433,20506,24050,20057,30691,20197,33402,25233,26131,37009,23673,20159,24441,33222,36920,32900,30123,20134,35028,24847,27589,24518,20041,30410,28322,35811,35758,35850,35793,24322,32764,32716,32462,33589,33643,22240,27575,38899,38452,23035,21535,38134,28139,23493,39278,23609,24341,38544,35234,35235,35236,35237,35238,35239,35240,35241,35242,35243,35244,35245,35246,35247,35248,35249,35250,35251,35252,35253,35254,35255,35256,35257,35258,35259,35260,35261,35262,35263,35264,35267,35277,35283,35284,35285,35287,35288,35289,35291,35293,35295,35296,35297,35298,35300,35303,35304,35305,35306,35308,35309,35310,35312,35313,35314,35316,35317,35318,35319,35320,35321,35322,35323,35324,35325,35326,35327,35329,35330,35331,35332,35333,35334,35336,35337,35338,35339,35340,35341,35342,35343,35344,35345,35346,35347,35348,35349,35350,35351,35352,35353,35354,35355,35356,35357,21360,33521,27185,23156,40560,24212,32552,33721,33828,33829,33639,34631,36814,36194,30408,24433,39062,30828,26144,21727,25317,20323,33219,30152,24248,38605,36362,34553,21647,27891,28044,27704,24703,21191,29992,24189,20248,24736,24551,23588,30001,37038,38080,29369,27833,28216,37193,26377,21451,21491,20305,37321,35825,21448,24188,36802,28132,20110,30402,27014,34398,24858,33286,20313,20446,36926,40060,24841,28189,28180,38533,20104,23089,38632,19982,23679,31161,23431,35821,32701,29577,22495,33419,37057,21505,36935,21947,23786,24481,24840,27442,29425,32946,35465,35358,35359,35360,35361,35362,35363,35364,35365,35366,35367,35368,35369,35370,35371,35372,35373,35374,35375,35376,35377,35378,35379,35380,35381,35382,35383,35384,35385,35386,35387,35388,35389,35391,35392,35393,35394,35395,35396,35397,35398,35399,35401,35402,35403,35404,35405,35406,35407,35408,35409,35410,35411,35412,35413,35414,35415,35416,35417,35418,35419,35420,35421,35422,35423,35424,35425,35426,35427,35428,35429,35430,35431,35432,35433,35434,35435,35436,35437,35438,35439,35440,35441,35442,35443,35444,35445,35446,35447,35448,35450,35451,35452,35453,35454,35455,35456,28020,23507,35029,39044,35947,39533,40499,28170,20900,20803,22435,34945,21407,25588,36757,22253,21592,22278,29503,28304,32536,36828,33489,24895,24616,38498,26352,32422,36234,36291,38053,23731,31908,26376,24742,38405,32792,20113,37095,21248,38504,20801,36816,34164,37213,26197,38901,23381,21277,30776,26434,26685,21705,28798,23472,36733,20877,22312,21681,25874,26242,36190,36163,33039,33900,36973,31967,20991,34299,26531,26089,28577,34468,36481,22122,36896,30338,28790,29157,36131,25321,21017,27901,36156,24590,22686,24974,26366,36192,25166,21939,28195,26413,36711,35457,35458,35459,35460,35461,35462,35463,35464,35467,35468,35469,35470,35471,35472,35473,35474,35476,35477,35478,35479,35480,35481,35482,35483,35484,35485,35486,35487,35488,35489,35490,35491,35492,35493,35494,35495,35496,35497,35498,35499,35500,35501,35502,35503,35504,35505,35506,35507,35508,35509,35510,35511,35512,35513,35514,35515,35516,35517,35518,35519,35520,35521,35522,35523,35524,35525,35526,35527,35528,35529,35530,35531,35532,35533,35534,35535,35536,35537,35538,35539,35540,35541,35542,35543,35544,35545,35546,35547,35548,35549,35550,35551,35552,35553,35554,35555,38113,38392,30504,26629,27048,21643,20045,28856,35784,25688,25995,23429,31364,20538,23528,30651,27617,35449,31896,27838,30415,26025,36759,23853,23637,34360,26632,21344,25112,31449,28251,32509,27167,31456,24432,28467,24352,25484,28072,26454,19976,24080,36134,20183,32960,30260,38556,25307,26157,25214,27836,36213,29031,32617,20806,32903,21484,36974,25240,21746,34544,36761,32773,38167,34071,36825,27993,29645,26015,30495,29956,30759,33275,36126,38024,20390,26517,30137,35786,38663,25391,38215,38453,33976,25379,30529,24449,29424,20105,24596,25972,25327,27491,25919,35556,35557,35558,35559,35560,35561,35562,35563,35564,35565,35566,35567,35568,35569,35570,35571,35572,35573,35574,35575,35576,35577,35578,35579,35580,35581,35582,35583,35584,35585,35586,35587,35588,35589,35590,35592,35593,35594,35595,35596,35597,35598,35599,35600,35601,35602,35603,35604,35605,35606,35607,35608,35609,35610,35611,35612,35613,35614,35615,35616,35617,35618,35619,35620,35621,35623,35624,35625,35626,35627,35628,35629,35630,35631,35632,35633,35634,35635,35636,35637,35638,35639,35640,35641,35642,35643,35644,35645,35646,35647,35648,35649,35650,35651,35652,35653,24103,30151,37073,35777,33437,26525,25903,21553,34584,30693,32930,33026,27713,20043,32455,32844,30452,26893,27542,25191,20540,20356,22336,25351,27490,36286,21482,26088,32440,24535,25370,25527,33267,33268,32622,24092,23769,21046,26234,31209,3
11258,36136,28825,30164,28382,27835,31378,20013,30405,24544,38047,34935,32456,31181,32959,37325,20210,20247,33311,21608,24030,27954,35788,31909,36724,32920,24090,21650,30385,23449,26172,39588,29664,26666,34523,26417,29482,35832,35803,36880,31481,28891,29038,25284,30633,22065,20027,33879,26609,21161,34496,36142,38136,31569,35654,35655,35656,35657,35658,35659,35660,35661,35662,35663,35664,35665,35666,35667,35668,35669,35670,35671,35672,35673,35674,35675,35676,35677,35678,35679,35680,35681,35682,35683,35684,35685,35687,35688,35689,35690,35691,35693,35694,35695,35696,35697,35698,35699,35700,35701,35702,35703,35704,35705,35706,35707,35708,35709,35710,35711,35712,35713,35714,35715,35716,35717,35718,35719,35720,35721,35722,35723,35724,35725,35726,35727,35728,35729,35730,35731,35732,35733,35734,35735,35736,35737,35738,35739,35740,35741,35742,35743,35756,35761,35771,35783,35792,35818,35849,35870,20303,27880,31069,39547,25235,29226,25341,19987,30742,36716,25776,36186,31686,26729,24196,35013,22918,25758,22766,29366,26894,38181,36861,36184,22368,32512,35846,20934,25417,25305,21331,26700,29730,33537,37196,21828,30528,28796,27978,20857,21672,36164,23039,28363,28100,23388,32043,20180,31869,28371,23376,33258,28173,23383,39683,26837,36394,23447,32508,24635,32437,37049,36208,22863,25549,31199,36275,21330,26063,31062,35781,38459,32452,38075,32386,22068,37257,26368,32618,23562,36981,26152,24038,20304,26590,20570,20316,22352,24231,59408,59409,59410,59411,59412,35896,35897,35898,35899,35900,35901,35902,35903,35904,35906,35907,35908,35909,35912,35914,35915,35917,35918,35919,35920,35921,35922,35923,35924,35926,35927,35928,35929,35931,35932,35933,35934,35935,35936,35939,35940,35941,35942,35943,35944,35945,35948,35949,35950,35951,35952,35953,35954,35956,35957,35958,35959,35963,35964,35965,35966,35967,35968,35969,35971,35972,35974,35975,35976,35979,35981,35982,35983,35984,35985,35986,35987,35989,35990,35991,35993,35994,35995,35996,35997,35998,35999,36e3,36001,36002,36003,36004,36005,36006,36007,36008,36009,36010,36011,36012,36013,20109,19980,20800,19984,24319,21317,19989,20120,19998,39730,23404,22121,20008,31162,20031,21269,20039,22829,29243,21358,27664,22239,32996,39319,27603,30590,40727,20022,20127,40720,20060,20073,20115,33416,23387,21868,22031,20164,21389,21405,21411,21413,21422,38757,36189,21274,21493,21286,21294,21310,36188,21350,21347,20994,21e3,21006,21037,21043,21055,21056,21068,21086,21089,21084,33967,21117,21122,21121,21136,21139,20866,32596,20155,20163,20169,20162,20200,20193,20203,20190,20251,20211,20258,20324,20213,20261,20263,20233,20267,20318,20327,25912,20314,20317,36014,36015,36016,36017,36018,36019,36020,36021,36022,36023,36024,36025,36026,36027,36028,36029,36030,36031,36032,36033,36034,36035,36036,36037,36038,36039,36040,36041,36042,36043,36044,36045,36046,36047,36048,36049,36050,36051,36052,36053,36054,36055,36056,36057,36058,36059,36060,36061,36062,36063,36064,3606
15,36066,36067,36068,36069,36070,36071,36072,36073,36074,36075,36076,36077,36078,36079,36080,36081,36082,36083,36084,36085,36086,36087,36088,36089,36090,36091,36092,36093,36094,36095,36096,36097,36098,36099,36100,36101,36102,36103,36104,36105,36106,36107,36108,36109,20319,20311,20274,20285,20342,20340,20369,20361,20355,20367,20350,20347,20394,20348,20396,20372,20454,20456,20458,20421,20442,20451,20444,20433,20447,20472,20521,20556,20467,20524,20495,20526,20525,20478,20508,20492,20517,20520,20606,20547,20565,20552,20558,20588,20603,20645,20647,20649,20666,20694,20742,20717,20716,20710,20718,20743,20747,20189,27709,20312,20325,20430,40864,27718,31860,20846,24061,40649,39320,20865,22804,21241,21261,35335,21264,20971,22809,20821,20128,20822,20147,34926,34980,20149,33044,35026,31104,23348,34819,32696,20907,20913,20925,20924,36110,36111,36112,36113,36114,36115,36116,36117,36118,36119,36120,36121,36122,36123,36124,36128,36177,36178,36183,36191,36197,36200,36201,36202,36204,36206,36207,36209,36210,36216,36217,36218,36219,36220,36221,36222,36223,36224,36226,36227,36230,36231,36232,36233,36236,36237,36238,36239,36240,36242,36243,36245,36246,36247,36248,36249,36250,36251,36252,36253,36254,36256,36257,36258,36260,36261,36262,36263,36264,36265,36266,36267,36268,36269,36270,36271,36272,36274,36278,36279,36281,36283,36285,36288,36289,36290,36293,36295,36296,36297,36298,36301,36304,36306,36307,36308,20935,20886,20898,20901,35744,35750,35751,35754,35764,35765,35767,35778,35779,35787,35791,35790,35794,35795,35796,35798,35800,35801,35804,35807,35808,35812,35816,35817,35822,35824,35827,35830,35833,35836,35839,35840,35842,35844,35847,35852,35855,35857,35858,35860,35861,35862,35865,35867,35864,35869,35871,35872,35873,35877,35879,35882,35883,35886,35887,35890,35891,35893,35894,21353,21370,38429,38434,38433,38449,38442,38461,38460,38466,38473,38484,38495,38503,38508,38514,38516,38536,38541,38551,38576,37015,37019,37021,37017,37036,37025,37044,37043,37046,37050,36309,36312,36313,36316,36320,36321,36322,36325,36326,36327,36329,36333,36334,36336,36337,36338,36340,36342,36348,36350,36351,36352,36353,36354,36355,36356,36358,36359,36360,36363,36365,36366,36368,36369,36370,36371,36373,36374,36375,36376,36377,36378,36379,36380,36384,36385,36388,36389,36390,36391,36392,36395,36397,36400,36402,36403,36404,36406,36407,36408,36411,36412,36414,36415,36419,36421,36422,36428,36429,36430,36431,36432,36435,36436,36437,36438,36439,36440,36442,36443,36444,36445,36446,36447,36448,36449,36450,36451,36452,36453,36455,36456,36458,36459,36462,36465,37048,37040,37071,37061,37054,37072,37060,37063,37075,37094,37090,37084,37079,37083,37099,37103,37118,37124,37154,37150,37155,37169,37167,37177,37187,37190,21005,22850,21154,21164,21165,21182,21759,21200,21206,21232,21471,29166,30669,24308,20981,20988,39727,21430,24321,30042,24047,22348,22441,22433,22654,22716,22725,22737,22313,22316,22314,22323,22329,22318,22319,22364,22331,22338,22377,22405,22379,22406,22396,22395,22376,22381,22390,22387,22445,22436,22412,22450,22479,22439,22452,22419,22432,22485,22488,22490,22489,22482,22456,22516,22511,22520,22500,22493,36467,36469,36471,36472,36473,36474,36475,36477,36478,36480,36482,36483,36484,36486,36488,36489,36490,36491,36492,36493,36494,36497,36498,36499,36501,36502,36503,36504,36505,36506,36507,36509,36511,36512,36513,36514,36515,36516,36517,36518,36519,36520,36521,36522,36525,36526,36528,36529,36531,36532,36533,36534,36535,36536,36537,36539,36540,36541,36542,36543,36544,36545,36546,36547,36548,36549,36550,36551,36552,36553,36554,36555,36556,36557,36559,36560,36561,36562,36563,36564,36565,36566,36567,36568,36569,36570,36571,36572,36573,36574,36575,36576,36577,36578,36579,36580,22539,22541,22525,22509,22528,22558,22553,22596,22560,22629,22636,22657,22665,22682,22656,39336,40729,25087,33401,33405,33407,33423,33418,33448,33412,33422,33425,33431,33433,33451,33464,33470,33456,33480,33482,33507,33432,33463,33454,33483,33484,33473,33449,33460,33441,33450,33439,33476,33486,33444,33505,33545,33527,33508,33551,33543,33500,33524,33490,33496,33548,33531,33491,33553,33562,33542,33556,33557,33504,33493,33564,33617,33627,33628,33544,33682,33596,33588,33585,33691,33630,33583,33615,33607,33603,33631,33600,33559,33632,33581,33594,33587,33638,33637,36581,36582,36583,36584,36585,36586,36587,36588,36589,36590,36591,36592,36593,36594,36595,36596,36597,36598,36599,36600,36601,36602,36603,36604,36605,36606,36607,36608,36609,36610,36611,36612,36613,36614,36615,36616,36617,36618,36619,36620,36621,36622,36623,36624,36625,36626,36627,36628,36629,36630,36631,36632,36633,36634,36635,36636,36637,36638,36639,36640,36641,36642,36643,36644,36645,36646,36647,36648,36649,3
16650,36651,36652,36653,36654,36655,36656,36657,36658,36659,36660,36661,36662,36663,36664,36665,36666,36667,36668,36669,36670,36671,36672,36673,36674,36675,36676,33640,33563,33641,33644,33642,33645,33646,33712,33656,33715,33716,33696,33706,33683,33692,33669,33660,33718,33705,33661,33720,33659,33688,33694,33704,33722,33724,33729,33793,33765,33752,22535,33816,33803,33757,33789,33750,33820,33848,33809,33798,33748,33759,33807,33795,33784,33785,33770,33733,33728,33830,33776,33761,33884,33873,33882,33881,33907,33927,33928,33914,33929,33912,33852,33862,33897,33910,33932,33934,33841,33901,33985,33997,34e3,34022,33981,34003,33994,33983,33978,34016,33953,33977,33972,33943,34021,34019,34060,29965,34104,34032,34105,34079,34106,36677,36678,36679,36680,36681,36682,36683,36684,36685,36686,36687,36688,36689,36690,36691,36692,36693,36694,36695,36696,36697,36698,36699,36700,36701,36702,36703,36704,36705,36706,36707,36708,36709,36714,36736,36748,36754,36765,36768,36769,36770,36772,36773,36774,36775,36778,36780,36781,36782,36783,36786,36787,36788,36789,36791,36792,36794,36795,36796,36799,36800,36803,36806,36809,36810,36811,36812,36813,36815,36818,36822,36823,36826,36832,36833,36835,36839,36844,36847,36849,36850,36852,36853,36854,36858,36859,36860,36862,36863,36871,36872,36876,36878,36883,36885,36888,34134,34107,34047,34044,34137,34120,34152,34148,34142,34170,30626,34115,34162,34171,34212,34216,34183,34191,34169,34222,34204,34181,34233,34231,34224,34259,34241,34268,34303,34343,34309,34345,34326,34364,24318,24328,22844,22849,32823,22869,22874,22872,21263,23586,23589,23596,23604,25164,25194,25247,25275,25290,25306,25303,25326,25378,25334,25401,25419,25411,25517,25590,25457,25466,25486,25524,25453,25516,25482,25449,25518,25532,25586,25592,25568,25599,25540,25566,25550,25682,25542,25534,25669,25665,25611,25627,25632,25612,25638,25633,25694,25732,25709,25750,36889,36892,36899,36900,36901,36903,36904,36905,36906,36907,36908,36912,36913,36914,36915,36916,36919,36921,36922,36925,36927,36928,36931,36933,36934,36936,36937,36938,36939,36940,36942,36948,36949,36950,36953,36954,36956,36957,36958,36959,36960,36961,36964,36966,36967,36969,36970,36971,36972,36975,36976,36977,36978,36979,36982,36983,36984,36985,36986,36987,36988,36990,36993,36996,36997,36998,36999,37001,37002,37004,37005,37006,37007,37008,37010,37012,37014,37016,37018,37020,37022,37023,37024,37028,37029,37031,37032,37033,37035,37037,37042,37047,37052,37053,37055,37056,25722,25783,25784,25753,25786,25792,25808,25815,25828,25826,25865,25893,25902,24331,24530,29977,24337,21343,21489,21501,21481,21480,21499,21522,21526,21510,21579,21586,21587,21588,21590,21571,21537,21591,21593,21539,21554,21634,21652,21623,21617,21604,21658,21659,21636,21622,21606,21661,21712,21677,21698,21684,21714,21671,21670,21715,21716,21618,21667,21717,21691,21695,21708,21721,21722,21724,21673,21674,21668,21725,21711,21726,21787,21735,21792,21757,21780,21747,21794,21795,21775,21777,21799,21802,21863,21903,21941,21833,21869,21825,21845,21823,21840,21820,37058,37059,37062,37064,37065,37067,37068,37069,37074,37076,37077,37078,37080,37081,37082,37086,37087,37088,37091,37092,37093,37097,37098,37100,37102,37104,37105,37106,37107,37109,37110,37111,37113,37114,37115,37116,37119,37120,37121,37123,37125,37126,37127,37128,37129,37130,37131,37132,37133,37134,37135,37136,37137,37138,37139,37140,37141,37142,37143,37144,37146,37147,37148,37149,37151,37152,37153,37156,37157,37158,37159,37160,37161,37162,37163,37164,37165,37166,37168,37170,37171,37172,37173,37174,37175,37176,37178,37179,37180,37181,37182,37183,37184,37185,37186,37188,21815,21846,21877,21878,21879,21811,21808,21852,21899,21970,21891,21937,21945,21896,21889,21919,21886,21974,21905,21883,21983,21949,21950,21908,21913,21994,22007,21961,22047,21969,21995,21996,21972,21990,21981,21956,21999,21989,22002,22003,21964,21965,21992,22005,21988,36756,22046,22024,22028,22017,22052,22051,22014,22016,22055,22061,22104,22073,22103,22060,22093,22114,22105,22108,22092,22100,22150,22116,22129,22123,22139,22140,22149,22163,22191,22228,22231,22237,22241,22261,22251,22265,22271,22276,22282,22281,22300,24079,24089,24084,24081,24113,24123,24124,37189,37191,37192,37201,37203,37204,37205,37206,37208,37209,37211,37212,37215,37216,37222,37223,37224,37227,37229,37235,37242,37243,37244,37248,37249,37250,37251,37252,37254,37256,37258,37262,37263,37267,37268,37269,37270,37271,37272,37273,37276,37277,37278,37279,37280,37281,37284,37285,37286,37287,37288,37289,37291,37292,37296,37297,37298,37299,37302,37303,37304,37305,37307,37308,37309,37310,37311,37312,37313,37314,37315,37316,37317,37318,37320,37323,37328,37330,37331,37332,37333,37334,37335,37336,37337,37338,37339,37341,37342,37343,37344,37345,37346,37347,37348,37349,24119,24132,24148,24155,24158,24161,23692,23674,23693,23696,23702,23688,23704,23705,23697,23706,23708,23733,23714,23741,23724,23723,23729,23715,23745,23735,23748,23762,23780,23755,23781,23810,23811,23847,23846,23854,23844,23838,23814,23835,23896,23870,23860,23869,23916,23899,23919,23901,23915,23883,23882,239
113,23924,23938,23961,23965,35955,23991,24005,24435,24439,24450,24455,24457,24460,24469,24473,24476,24488,24493,24501,24508,34914,24417,29357,29360,29364,29367,29368,29379,29377,29390,29389,29394,29416,29423,29417,29426,29428,29431,29441,29427,29443,29434,37350,37351,37352,37353,37354,37355,37356,37357,37358,37359,37360,37361,37362,37363,37364,37365,37366,37367,37368,37369,37370,37371,37372,37373,37374,37375,37376,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37387,37388,37389,37390,37391,37392,37393,37394,37395,37396,37397,37398,37399,37400,37401,37402,37403,37404,37405,37406,37407,37408,37409,37410,37411,37412,37413,37414,37415,37416,37417,37418,37419,37420,37421,37422,37423,37424,37425,37426,37427,37428,37429,37430,37431,37432,37433,37434,37435,37436,37437,37438,37439,37440,37441,37442,37443,37444,37445,29435,29463,29459,29473,29450,29470,29469,29461,29474,29497,29477,29484,29496,29489,29520,29517,29527,29536,29548,29551,29566,33307,22821,39143,22820,22786,39267,39271,39272,39273,39274,39275,39276,39284,39287,39293,39296,39300,39303,39306,39309,39312,39313,39315,39316,39317,24192,24209,24203,24214,24229,24224,24249,24245,24254,24243,36179,24274,24273,24283,24296,24298,33210,24516,24521,24534,24527,24579,24558,24580,24545,24548,24574,24581,24582,24554,24557,24568,24601,24629,24614,24603,24591,24589,24617,24619,24586,24639,24609,24696,24697,24699,24698,24642,37446,37447,37448,37449,37450,37451,37452,37453,37454,37455,37456,37457,37458,37459,37460,37461,37462,37463,37464,37465,37466,37467,37468,37469,37470,37471,37472,37473,37474,37475,37476,37477,37478,37479,37480,37481,37482,37483,37484,37485,37486,37487,37488,37489,37490,37491,37493,37494,37495,37496,37497,37498,37499,37500,37501,37502,37503,37504,37505,37506,37507,37508,37509,37510,37511,37512,37513,37514,37515,37516,37517,37519,37520,37521,37522,37523,37524,37525,37526,37527,37528,37529,37530,37531,37532,37533,37534,37535,37536,37537,37538,37539,37540,37541,37542,37543,24682,24701,24726,24730,24749,24733,24707,24722,24716,24731,24812,24763,24753,24797,24792,24774,24794,24756,24864,24870,24853,24867,24820,24832,24846,24875,24906,24949,25004,24980,24999,25015,25044,25077,24541,38579,38377,38379,38385,38387,38389,38390,38396,38398,38403,38404,38406,38408,38410,38411,38412,38413,38415,38418,38421,38422,38423,38425,38426,20012,29247,25109,27701,27732,27740,27722,27811,27781,27792,27796,27788,27752,27753,27764,27766,27782,27817,27856,27860,27821,27895,27896,27889,27863,27826,27872,27862,27898,27883,27886,27825,27859,27887,27902,37544,37545,37546,37547,37548,37549,37551,37552,37553,37554,37555,37556,37557,37558,37559,37560,37561,37562,37563,37564,37565,37566,37567,37568,37569,37570,37571,37572,37573,37574,37575,37577,37578,37579,37580,37581,37582,37583,37584,37585,37586,37587,37588,37589,37590,37591,37592,37593,37594,37595,37596,37597,37598,37599,37600,37601,37602,37603,37604,37605,37606,37607,37608,37609,37610,37611,37612,37613,37614,37615,37616,37617,37618,37619,37620,37621,37622,37623,37624,37625,37626,37627,37628,37629,37630,37631,37632,37633,37634,37635,37636,37637,37638,37639,37640,37641,27961,27943,27916,27971,27976,27911,27908,27929,27918,27947,27981,27950,27957,27930,27983,27986,27988,27955,28049,28015,28062,28064,27998,28051,28052,27996,28e3,28028,28003,28186,28103,28101,28126,28174,28095,28128,28177,28134,28125,28121,28182,28075,28172,28078,28203,28270,28238,28267,28338,28255,28294,28243,28244,28210,28197,28228,28383,28337,28312,28384,28461,28386,28325,28327,28349,28347,28343,28375,28340,28367,28303,28354,28319,28514,28486,28487,28452,28437,28409,28463,28470,28491,28532,28458,28425,28457,28553,28557,28556,28536,28530,28540,28538,28625,37642,37643,37644,37645,37646,37647,37648,37649,37650,37651,37652,37653,37654,37655,37656,37657,37658,37659,37660,37661,37662,37663,37664,37665,37666,37667,37668,37669,37670,37671,37672,37673,37674,37675,37676,37677,37678,37679,37680,37681,37682,37683,37684,37685,37686,37687,37688,37689,37690,37691,37692,37693,37695,37696,37697,37698,37699,37700,37701,37702,37703,37704,37705,37706,37707,37708,37709,37710,37711,37712,37713,37714,37715,37716,37717,37718,37719,37720,37721,37722,37723,37724,37725,37726,37727,37728,37729,37730,37731,37732,37733,37734,37735,37736,37737,37739,28617,28583,28601,28598,28610,28641,28654,28638,28640,28655,28698,28707,28699,28729,28725,28751,28766,23424,23428,23445,23443,23461,23480,29999,39582,25652,23524,23534,35120,23536,36423,35591,36790,36819,36821,36837,36846,36836,36841,36838,36851,36840,36869,36868,36875,36902,36881,36877,3688
16,36897,36917,36918,36909,36911,36932,36945,36946,36944,36968,36952,36962,36955,26297,36980,36989,36994,37e3,36995,37003,24400,24407,24406,24408,23611,21675,23632,23641,23409,23651,23654,32700,24362,24361,24365,33396,24380,39739,23662,22913,22915,22925,22953,22954,22947,37740,37741,37742,37743,37744,37745,37746,37747,37748,37749,37750,37751,37752,37753,37754,37755,37756,37757,37758,37759,37760,37761,37762,37763,37764,37765,37766,37767,37768,37769,37770,37771,37772,37773,37774,37776,37777,37778,37779,37780,37781,37782,37783,37784,37785,37786,37787,37788,37789,37790,37791,37792,37793,37794,37795,37796,37797,37798,37799,37800,37801,37802,37803,37804,37805,37806,37807,37808,37809,37810,37811,37812,37813,37814,37815,37816,37817,37818,37819,37820,37821,37822,37823,37824,37825,37826,37827,37828,37829,37830,37831,37832,37833,37835,37836,37837,22935,22986,22955,22942,22948,22994,22962,22959,22999,22974,23045,23046,23005,23048,23011,23e3,23033,23052,23049,23090,23092,23057,23075,23059,23104,23143,23114,23125,23100,23138,23157,33004,23210,23195,23159,23162,23230,23275,23218,23250,23252,23224,23264,23267,23281,23254,23270,23256,23260,23305,23319,23318,23346,23351,23360,23573,23580,23386,23397,23411,23377,23379,23394,39541,39543,39544,39546,39551,39549,39552,39553,39557,39560,39562,39568,39570,39571,39574,39576,39579,39580,39581,39583,39584,39586,39587,39589,39591,32415,32417,32419,32421,32424,32425,37838,37839,37840,37841,37842,37843,37844,37845,37847,37848,37849,37850,37851,37852,37853,37854,37855,37856,37857,37858,37859,37860,37861,37862,37863,37864,37865,37866,37867,37868,37869,37870,37871,37872,37873,37874,37875,37876,37877,37878,37879,37880,37881,37882,37883,37884,37885,37886,37887,37888,37889,37890,37891,37892,37893,37894,37895,37896,37897,37898,37899,37900,37901,37902,37903,37904,37905,37906,37907,37908,37909,37910,37911,37912,37913,37914,37915,37916,37917,37918,37919,37920,37921,37922,37923,37924,37925,37926,37927,37928,37929,37930,37931,37932,37933,37934,32429,32432,32446,32448,32449,32450,32457,32459,32460,32464,32468,32471,32475,32480,32481,32488,32491,32494,32495,32497,32498,32525,32502,32506,32507,32510,32513,32514,32515,32519,32520,32523,32524,32527,32529,32530,32535,32537,32540,32539,32543,32545,32546,32547,32548,32549,32550,32551,32554,32555,32556,32557,32559,32560,32561,32562,32563,32565,24186,30079,24027,30014,37013,29582,29585,29614,29602,29599,29647,29634,29649,29623,29619,29632,29641,29640,29669,29657,39036,29706,29673,29671,29662,29626,29682,29711,29738,29787,29734,29733,29736,29744,29742,29740,37935,37936,37937,37938,37939,37940,37941,37942,37943,37944,37945,37946,37947,37948,37949,37951,37952,37953,37954,37955,37956,37957,37958,37959,37960,37961,37962,37963,37964,37965,37966,37967,37968,37969,37970,37971,37972,37973,37974,37975,37976,37977,37978,37979,37980,37981,37982,37983,37984,37985,37986,37987,37988,37989,37990,37991,37992,37993,37994,37996,37997,37998,37999,38e3,38001,38002,38003,38004,38005,38006,38007,38008,38009,38010,38011,38012,38013,38014,38015,38016,38017,38018,38019,38020,38033,38038,38040,38087,38095,38099,38100,38106,38118,38139,38172,38176,29723,29722,29761,29788,29783,29781,29785,29815,29805,29822,29852,29838,29824,29825,29831,29835,29854,29864,29865,29840,29863,29906,29882,38890,38891,38892,26444,26451,26462,26440,26473,26533,26503,26474,26483,26520,26535,26485,26536,26526,26541,26507,26487,26492,26608,26633,26584,26634,26601,26544,26636,26585,26549,26586,26547,26589,26624,26563,26552,26594,26638,26561,26621,26674,26675,26720,26721,26702,26722,26692,26724,26755,26653,26709,26726,26689,26727,26688,26686,26698,26697,26665,26805,26767,26740,26743,26771,26731,26818,26990,26876,26911,26912,26873,38183,38195,38205,38211,38216,38219,38229,38234,38240,38254,38260,38261,38263,38264,38265,38266,38267,38268,38269,38270,38272,38273,38274,38275,38276,38277,38278,38279,38280,38281,38282,38283,38284,38285,38286,38287,38288,38289,38290,38291,38292,38293,38294,38295,38296,38297,38298,38299,38300,38301,38302,38303,38304,38305,38306,38307,38308,38309,38310,38311,38312,38313,38314,38315,38316,38317,38318,38319,38320,38321,38322,38323,38324,38325,38326,38327,38328,38329,38330,38331,38332,38333,38334,38335,38336,38337,38338,38339,38340,38341,38342,38343,38344,38345,38346,38347,26916,26864,26891,26881,26967,26851,26896,26993,26937,26976,26946,26973,27012,26987,27008,27032,27e3,26932,27084,27015,27016,27086,27017,26982,26979,27001,27035,27047,27067,27051,27053,27092,27057,27073,27082,27103,27029,27104,27021,27135,27183,27117,27159,27160,27237,27122,27204,27198,27296,27216,27227,27189,27278,27257,27197,27176,27224,27260,27281,27280,27305,27287,27307,29495,29522,27521,27522,27527,27524,27538,27539,27533,27546,27547,27553,27562,36715,36717,36721,36722,36723,36725,36726,36728,36727,36729,36730,36732,36734,36737,36738,36740,36743,36747,38348,38349,38350,38351,38352,38353,38354,38355,38356,38357,38358,38359,38360,38361,38362,38363,38364,38365,38366,38367,38368,38369,38370,38371,38372,38373,38374,38375,38380,38399,38407,38419,38424,38427,38430,38432,38435,38436,38437,38438,38439,38440,38441,38443,38444,38445,38447,38448,38455,38456,38457,38458,38462,38465,38467,38474,38478,38479,38481,38482,38483,38486,38487,38488,38489,38490,38492,38493,38494,38496,38499,38501,38502,38507,38509,38510,38511,38512,38513,38515,38520,38521,38522,38523,38524,38525,38526,38527,38528,38529,38530,38531,38532,38535,38537,38538,36749,36750,36751,36760,36762,36558,25099,25111,25115,25119,25122,25121,25125,25124,25132,33255,29935,29940,29951,29967,29969,29971,25908,26094,26095,26096,26122,26137,26482,26115,26133,26112,28805,26359,26141,26164,26161,26166,26165,32774,26207,26196,26177,26191,26198,26209,26199,26231,26244,26252,26279,26269,26302,26331,26332,26342,26345,36146,36147,36150,36155,36157,36160,36165,36166,36168,36169,36167,36173,36181,36185,35271,35274,35275,35276,35278,35279,35280,35281,29294,29343,29277,29286,29295,29310,29311,29316,29323,29325,29327,29330,25352,25394,25520,38540,38542,38545,38546,38547,38549,38550,38554,38555,38557,38558,38559,38560,38561,38562,38563,38564,38565,38566,38568,38569,38570,38571,38572,38573,38574,38575,38577,38578,38580,38581,38583,38584,38586,38587,38591,38594,38595,38600,38602,38603,38608,38609,38611,38612,38614,38615,38616,38617,38618,38619,38620,38621,38622,38623,38625,38626,38627,38628,38629,38630,38631,38635,38636,38637,38638,38640,38641,38642,38644,38645,38648,38650,38651,38652,38653,38655,38658,38659,38661,38666,38667,38668,38672,38673,38674,38676,38677,38679,38680,38681,38682,38683,38685,38687,38688,25663,25816,32772,27626,27635,27645,27637,27641,27653,27655,27654,27661,27669,27672,27673,27674,27681,27689,27684,27690,27698,25909,25941,25963,29261,29266,29270,29232,34402,21014,32927,32924,32915,32956,26378,32957,32945,32939,32941,32948,32951,32999,33e3,33001,33002,32987,32962,32964,32985,32973,32983,26384,32989,33003,33009,33012,33005,33037,33038,33010,33020,26389,33042,35930,33078,33054,33068,33048,33074,33096,33100,33107,33140,33113,33114,33137,33120,33129,33148,33149,33133,33127,22605,23221,33160,33154,33169,28373,33187,33194,33228,26406,33226,33211,38689,38690,38691,38692,38693,38694,38695,38696,38697,38699,38700,38702,38703,38705,38707,38708,38709,38710,38711,38714,38715,38716,38717,38719,38720,38721,38722,38723,38724,38725,38726,38727,38728,38729,38730,38731,38732,38733,38734,38735,38736,38737,38740,38741,38743,38744,38746,38748,38749,38751,38755,38756,38758,38759,38760,38762,38763,38764,38765,38766,38767,38768,38769,38770,38773,38775,38776,38777,38778,38779,38781,38782,38783,38784,38785,38786,38787,38788,38790,38791,38792,38793,38794,38796,38798,38799,38800,38803,38805,38806,38807,38809,38810,38811,38812,38813,33217,33190,27428,27447,27449,27459,27462,27481,39121,39122,39123,39125,39129,39130,27571,24384,27586,35315,26e3,40785,26003,26044,26054,26052,26051,26060,26062,26066,26070,28800,28828,28822,28829,28859,28864,28855,28843,28849,28904,28874,28944,28947,28950,28975,28977,29043,29020,29032,28997,29042,29002,29048,29050,29080,29107,29109,29096,29088,29152,29140,29159,29177,29213,29224,28780,28952,29030,29113,25150,25149,25155,25160,25161,31035,31040,31046,31049,31067,31068,31059,31066,31074,31063,31072,31087,31079,3
11098,31109,31114,31130,31143,31155,24529,24528,38814,38815,38817,38818,38820,38821,38822,38823,38824,38825,38826,38828,38830,38832,38833,38835,38837,38838,38839,38840,38841,38842,38843,38844,38845,38846,38847,38848,38849,38850,38851,38852,38853,38854,38855,38856,38857,38858,38859,38860,38861,38862,38863,38864,38865,38866,38867,38868,38869,38870,38871,38872,38873,38874,38875,38876,38877,38878,38879,38880,38881,38882,38883,38884,38885,38888,38894,38895,38896,38897,38898,38900,38903,38904,38905,38906,38907,38908,38909,38910,38911,38912,38913,38914,38915,38916,38917,38918,38919,38920,38921,38922,38923,38924,38925,38926,24636,24669,24666,24679,24641,24665,24675,24747,24838,24845,24925,25001,24989,25035,25041,25094,32896,32895,27795,27894,28156,30710,30712,30720,30729,30743,30744,30737,26027,30765,30748,30749,30777,30778,30779,30751,30780,30757,30764,30755,30761,30798,30829,30806,30807,30758,30800,30791,30796,30826,30875,30867,30874,30855,30876,30881,30883,30898,30905,30885,30932,30937,30921,30956,30962,30981,30964,30995,31012,31006,31028,40859,40697,40699,40700,30449,30468,30477,30457,30471,30472,30490,30498,30489,30509,30502,30517,30520,30544,30545,30535,30531,30554,30568,38927,38928,38929,38930,38931,38932,38933,38934,38935,38936,38937,38938,38939,38940,38941,38942,38943,38944,38945,38946,38947,38948,38949,38950,38951,38952,38953,38954,38955,38956,38957,38958,38959,38960,38961,38962,38963,38964,38965,38966,38967,38968,38969,38970,38971,38972,38973,38974,38975,38976,38977,38978,38979,38980,38981,38982,38983,38984,38985,38986,38987,38988,38989,38990,38991,38992,38993,38994,38995,38996,38997,38998,38999,39e3,39001,39002,39003,39004,39005,39006,39007,39008,39009,39010,39011,39012,39013,39014,39015,39016,39017,39018,39019,39020,39021,39022,30562,30565,30591,30605,30589,30592,30604,30609,30623,30624,30640,30645,30653,30010,30016,30030,30027,30024,30043,30066,30073,30083,32600,32609,32607,35400,32616,32628,32625,32633,32641,32638,30413,30437,34866,38021,38022,38023,38027,38026,38028,38029,38031,38032,38036,38039,38037,38042,38043,38044,38051,38052,38059,38058,38061,38060,38063,38064,38066,38068,38070,38071,38072,38073,38074,38076,38077,38079,38084,38088,38089,38090,38091,38092,38093,38094,38096,38097,38098,38101,38102,38103,38105,38104,38107,38110,38111,38112,38114,38116,38117,38119,38120,38122,39023,39024,39025,39026,39027,39028,39051,39054,39058,39061,39065,39075,39080,39081,39082,39083,39084,39085,39086,39087,39088,39089,39090,39091,39092,39093,39094,39095,39096,39097,39098,39099,39100,39101,39102,39103,39104,39105,39106,39107,39108,39109,39110,39111,39112,39113,39114,39115,39116,39117,39119,39120,39124,39126,39127,39131,39132,39133,39136,39137,39138,39139,39140,39141,39142,39145,39146,39147,39148,39149,39150,39151,39152,39153,39154,39155,39156,39157,39158,39159,39160,39161,39162,39163,39164,39165,39166,39167,39168,39169,39170,39171,39172,39173,39174,39175,38121,38123,38126,38127,38131,38132,38133,38135,38137,38140,38141,38143,38147,38146,38150,38151,38153,38154,38157,38158,38159,38162,38163,38164,38165,38166,38168,38171,38173,38174,38175,38178,38186,38187,38185,38188,38193,38194,38196,38198,38199,38200,38204,38206,38207,38210,38197,38212,38213,38214,38217,38220,38222,38223,38226,38227,38228,38230,38231,38232,38233,38235,38238,38239,38237,38241,38242,38244,38245,38246,38247,38248,38249,38250,38251,38252,38255,38257,38258,38259,38202,30695,30700,38601,31189,31213,31203,31211,31238,23879,31235,31234,31262,31252,39176,39177,39178,39179,39180,39182,39183,39185,39186,39187,39188,39189,39190,39191,39192,39193,39194,39195,39196,39197,39198,39199,39200,39201,39202,39203,39204,39205,39206,39207,39208,39209,39210,39211,39212,39213,39215,39216,39217,39218,39219,39220,39221,39222,39223,39224,39225,39226,39227,39228,39229,39230,39231,39232,39233,39234,39235,39236,39237,39238,39239,39240,39241,39242,39243,39244,39245,39246,39247,39248,39249,39250,39251,39254,39255,39256,39257,39258,39259,39260,39261,39262,39263,39264,39265,39266,39268,39270,39283,39288,39289,39291,39294,39298,39299,39305,31289,31287,31313,40655,39333,31344,30344,30350,30355,30361,30372,29918,29920,29996,40480,40482,40488,40489,40490,40491,40492,40498,40497,40502,40504,40503,40505,40506,40510,40513,40514,40516,40518,40519,40520,40521,40523,40524,40526,40529,40533,40535,40538,40539,40540,40542,40547,40550,40551,40552,40553,40554,40555,40556,40561,40557,40563,30098,30100,30102,30112,30109,3
10124,30115,30131,30132,30136,30148,30129,30128,30147,30146,30166,30157,30179,30184,30182,30180,30187,30183,30211,30193,30204,30207,30224,30208,30213,30220,30231,30218,30245,30232,30229,30233,39308,39310,39322,39323,39324,39325,39326,39327,39328,39329,39330,39331,39332,39334,39335,39337,39338,39339,39340,39341,39342,39343,39344,39345,39346,39347,39348,39349,39350,39351,39352,39353,39354,39355,39356,39357,39358,39359,39360,39361,39362,39363,39364,39365,39366,39367,39368,39369,39370,39371,39372,39373,39374,39375,39376,39377,39378,39379,39380,39381,39382,39383,39384,39385,39386,39387,39388,39389,39390,39391,39392,39393,39394,39395,39396,39397,39398,39399,39400,39401,39402,39403,39404,39405,39406,39407,39408,39409,39410,39411,39412,39413,39414,39415,39416,39417,30235,30268,30242,30240,30272,30253,30256,30271,30261,30275,30270,30259,30285,30302,30292,30300,30294,30315,30319,32714,31462,31352,31353,31360,31366,31368,31381,31398,31392,31404,31400,31405,31411,34916,34921,34930,34941,34943,34946,34978,35014,34999,35004,35017,35042,35022,35043,35045,35057,35098,35068,35048,35070,35056,35105,35097,35091,35099,35082,35124,35115,35126,35137,35174,35195,30091,32997,30386,30388,30684,32786,32788,32790,32796,32800,32802,32805,32806,32807,32809,32808,32817,32779,32821,32835,32838,32845,32850,32873,32881,35203,39032,39040,39043,39418,39419,39420,39421,39422,39423,39424,39425,39426,39427,39428,39429,39430,39431,39432,39433,39434,39435,39436,39437,39438,39439,39440,39441,39442,39443,39444,39445,39446,39447,39448,39449,39450,39451,39452,39453,39454,39455,39456,39457,39458,39459,39460,39461,39462,39463,39464,39465,39466,39467,39468,39469,39470,39471,39472,39473,39474,39475,39476,39477,39478,39479,39480,39481,39482,39483,39484,39485,39486,39487,39488,39489,39490,39491,39492,39493,39494,39495,39496,39497,39498,39499,39500,39501,39502,39503,39504,39505,39506,39507,39508,39509,39510,39511,39512,39513,39049,39052,39053,39055,39060,39066,39067,39070,39071,39073,39074,39077,39078,34381,34388,34412,34414,34431,34426,34428,34427,34472,34445,34443,34476,34461,34471,34467,34474,34451,34473,34486,34500,34485,34510,34480,34490,34481,34479,34505,34511,34484,34537,34545,34546,34541,34547,34512,34579,34526,34548,34527,34520,34513,34563,34567,34552,34568,34570,34573,34569,34595,34619,34590,34597,34606,34586,34622,34632,34612,34609,34601,34615,34623,34690,34594,34685,34686,34683,34656,34672,34636,34670,34699,34643,34659,34684,34660,34649,34661,34707,34735,34728,34770,39514,39515,39516,39517,39518,39519,39520,39521,39522,39523,39524,39525,39526,39527,39528,39529,39530,39531,39538,39555,39561,39565,39566,39572,39573,39577,39590,39593,39594,39595,39596,39597,39598,39599,39602,39603,39604,39605,39609,39611,39613,39614,39615,39619,39620,39622,39623,39624,39625,39626,39629,39630,39631,39632,39634,39636,39637,39638,39639,39641,39642,39643,39644,39645,39646,39648,39650,39651,39652,39653,39655,39656,39657,39658,39660,39662,39664,39665,39666,39667,39668,39669,39670,39
1671,39672,39674,39676,39677,39678,39679,39680,39681,39682,39684,39685,39686,34758,34696,34693,34733,34711,34691,34731,34789,34732,34741,34739,34763,34771,34749,34769,34752,34762,34779,34794,34784,34798,34838,34835,34814,34826,34843,34849,34873,34876,32566,32578,32580,32581,33296,31482,31485,31496,31491,31492,31509,31498,31531,31503,31559,31544,31530,31513,31534,31537,31520,31525,31524,31539,31550,31518,31576,31578,31557,31605,31564,31581,31584,31598,31611,31586,31602,31601,31632,31654,31655,31672,31660,31645,31656,31621,31658,31644,31650,31659,31668,31697,31681,31692,31709,31706,31717,31718,31722,31756,31742,31740,31759,31766,31755,39687,39689,39690,39691,39692,39693,39694,39696,39697,39698,39700,39701,39702,39703,39704,39705,39706,39707,39708,39709,39710,39712,39713,39714,39716,39717,39718,39719,39720,39721,39722,39723,39724,39725,39726,39728,39729,39731,39732,39733,39734,39735,39736,39737,39738,39741,39742,39743,39744,39750,39754,39755,39756,39758,39760,39762,39763,39765,39766,39767,39768,39769,39770,39771,39772,39773,39774,39775,39776,39777,39778,39779,39780,39781,39782,39783,39784,39785,39786,39787,39788,39789,39790,39791,39792,39793,39794,39795,39796,39797,39798,39799,39800,39801,39802,39803,31775,31786,31782,31800,31809,31808,33278,33281,33282,33284,33260,34884,33313,33314,33315,33325,33327,33320,33323,33336,33339,33331,33332,33342,33348,33353,33355,33359,33370,33375,33384,34942,34949,34952,35032,35039,35166,32669,32671,32679,32687,32688,32690,31868,25929,31889,31901,31900,31902,31906,31922,31932,31933,31937,31943,31948,31949,31944,31941,31959,31976,33390,26280,32703,32718,32725,32741,32737,32742,32745,32750,32755,31992,32119,32166,32174,32327,32411,40632,40628,36211,36228,36244,36241,36273,36199,36205,35911,35913,37194,37200,37198,37199,37220,39804,39805,39806,39807,39808,39809,39810,39811,39812,39813,39814,39815,39816,39817,39818,39819,39820,39821,39822,39823,39824,39825,39826,39827,39828,39829,39830,39831,39832,39833,39834,39835,39836,39837,39838,39839,39840,39841,39842,39843,39844,39845,39846,39847,39848,39849,39850,39851,39852,39853,39854,39855,39856,39857,39858,39859,39860,39861,39862,39863,39864,39865,39866,39867,39868,39869,39870,39871,39872,39873,39874,39875,39876,39877,39878,39879,39880,39881,39882,39883,39884,39885,39886,39887,39888,39889,39890,39891,39892,39893,39894,39895,39896,39897,39898,39899,37218,37217,37232,37225,37231,37245,37246,37234,37236,37241,37260,37253,37264,37261,37265,37282,37283,37290,37293,37294,37295,37301,37300,37306,35925,40574,36280,36331,36357,36441,36457,36277,36287,36284,36282,36292,36310,36311,36314,36318,36302,36303,36315,36294,36332,36343,36344,36323,36345,36347,36324,36361,36349,36372,36381,36383,36396,36398,36387,36399,36410,36416,36409,36405,36413,36401,36425,36417,36418,36433,36434,36426,36464,36470,36476,36463,36468,36485,36495,36500,36496,36508,36510,35960,35970,35978,35973,35992,35988,26011,35286,35294,35290,35292,39900,39901,39902,39903,39904,39905,39906,39907,39908,39909,39910,39911,39912,39913,39914,39915,39916,39917,39918,39919,39920,39921,39922,39923,39924,39925,39926,39927,39928,39929,39930,39931,39932,39933,39934,39935,39936,39937,39938,39939,39940,39941,39942,39943,39944,39945,39946,39947,39948,39949,39950,39951,39952,39953,39954,39955,39956,39957,39958,39959,39960,39961,39962,39963,39964,39965,39966,39967,39968,39969,39970,39971,39972,39973,39974,39975,39976,39977,39978,39979,39980,39981,39982,39983,39984,39985,39986,39987,39988,39989,39990,39991,39992,39993,39994,39995,35301,35307,35311,35390,35622,38739,38633,38643,38639,38662,38657,38664,38671,38670,38698,38701,38704,38718,40832,40835,40837,40838,40839,40840,40841,40842,40844,40702,40715,40717,38585,38588,38589,38606,38610,30655,38624,37518,37550,37576,37694,37738,37834,37775,37950,37995,40063,40066,40069,40070,40071,40072,31267,40075,40078,40080,40081,40082,40084,40085,40090,40091,40094,40095,40096,40097,40098,40099,40101,40102,40103,40104,40105,40107,40109,40110,40112,40113,40114,40115,40116,40117,40118,40119,40122,40123,40124,40125,40132,40133,40134,40135,40138,40139,39996,39997,39998,39999,4e4,40001,40002,40003,40004,40005,40006,40007,40008,40009,40010,40011,40012,40013,40014,40015,40016,40017,40018,40019,40020,40021,40022,40023,40024,40025,40026,40027,40028,40029,40030,40031,40032,40033,40034,40035,40036,40037,40038,40039,40040,40041,40042,40043,40044,40045,40046,40047,40048,40049,40050,40051,40052,40053,40054,40055,40056,40057,40058,40059,40061,40062,40064,40067,40068,40073,40074,40076,40079,40083,40086,40087,40088,40089,40093,40106,40108,40111,40121,40126,40127,40128,40129,40130,40136,40137,40145,40146,40154,40155,40160,40161,40140,40141,40142,40143,40144,40147,40148,40149,40151,40152,40153,40156,40157,40159,40162,38780,38789,38801,38802,38804,38831,38827,38819,38834,38836,39601,39600,39607,40536,39606,39610,39612,39617,39616,39621,39618,39627,39628,39633,39749,39747,39751,39753,39752,39757,39761,39144,39181,39214,39253,39252,39647,39649,39654,39663,39659,39675,39661,39673,39688,39695,39699,39711,39715,40637,40638,32315,40578,40583,40584,40587,40594,37846,40605,40607,40667,40668,40669,40672,40671,40674,40681,40679,40677,40682,40687,40738,40748,40751,40761,40759,40765,40766,40772,40163,40164,40165,40166,40167,40168,40169,40170,40171,40172,40173,40174,40175,40176,40177,40178,40179,40180,40181,40182,40183,40184,40185,40186,40187,40188,40189,40190,40191,40192,40193,40194,40195,40196,40197,40198,40199,40200,40201,40202,40203,40204,40205,40206,40207,40208,40209,40210,40211,40212,40213,40214,40215,40216,40217,40218,40219,40220,40221,40222,40223,40224,40225,40226,40227,40228,40229,40230,40231,40232,40233,40234,40235,40236,40237,40238,40239,40240,40241,40242,40243,40244,40245,40246,40247,40248,40249,40250,40251,40252,40253,40254,40255,40256,40257,40258,57908,57909,57910,57911,57912,57913,57914,57915,57916,57917,57918,57919,57920,57921,57922,57923,57924,57925,57926,57927,57928,57929,57930,57931,57932,57933,57934,57935,57936,57937,57938,57939,57940,57941,57942,57943,57944,57945,57946,57947,57948,57949,57950,57951,57952,57953,57954,57955,57956,57957,57958,57959,57960,57961,57962,57963,57964,57965,57966,57967,57968,57969,57970,5
17971,57972,57973,57974,57975,57976,57977,57978,57979,57980,57981,57982,57983,57984,57985,57986,57987,57988,57989,57990,57991,57992,57993,57994,57995,57996,57997,57998,57999,58e3,58001,40259,40260,40261,40262,40263,40264,40265,40266,40267,40268,40269,40270,40271,40272,40273,40274,40275,40276,40277,40278,40279,40280,40281,40282,40283,40284,40285,40286,40287,40288,40289,40290,40291,40292,40293,40294,40295,40296,40297,40298,40299,40300,40301,40302,40303,40304,40305,40306,40307,40308,40309,40310,40311,40312,40313,40314,40315,40316,40317,40318,40319,40320,40321,40322,40323,40324,40325,40326,40327,40328,40329,40330,40331,40332,40333,40334,40335,40336,40337,40338,40339,40340,40341,40342,40343,40344,40345,40346,40347,40348,40349,40350,40351,40352,40353,40354,58002,58003,58004,58005,58006,58007,58008,58009,58010,58011,58012,58013,58014,58015,58016,58017,58018,58019,58020,58021,58022,58023,58024,58025,58026,58027,58028,58029,58030,58031,58032,58033,58034,58035,58036,58037,58038,58039,58040,58041,58042,58043,58044,58045,58046,58047,58048,58049,58050,58051,58052,58053,58054,58055,58056,58057,58058,58059,58060,58061,58062,58063,58064,58065,58066,58067,58068,58069,58070,58071,58072,58073,58074,58075,58076,58077,58078,58079,58080,58081,58082,58083,58084,58085,58086,58087,58088,58089,58090,58091,58092,58093,58094,58095,40355,40356,40357,40358,40359,40360,40361,40362,40363,40364,40365,40366,40367,40368,40369,40370,40371,40372,40373,40374,40375,40376,40377,40378,40379,40380,40381,40382,40383,40384,40385,40386,40387,40388,40389,40390,40391,40392,40393,40394,40395,40396,40397,40398,40399,40400,40401,40402,40403,40404,40405,40406,40407,40408,40409,40410,40411,40412,40413,40414,40415,40416,40417,40418,40419,40420,40421,40422,40423,40424,40425,40426,40427,40428,40429,40430,40431,40432,40433,40434,40435,40436,40437,40438,40439,40440,40441,40442,40443,40444,40445,40446,40447,40448,40449,40450,58096,58097,58098,58099,58100,58101,58102,58103,58104,58105,58106,58107,58108,58109,58110,58111,58112,58113,58114,58115,58116,58117,58118,58119,58120,58121,58122,58123,58124,58125,58126,58127,58128,58129,58130,58131,58132,58133,58134,58135,58136,58137,58138,58139,58140,58141,58142,58143,58144,58145,58146,58147,58148,58149,58150,58151,58152,58153,58154,58155,58156,58157,58158,58159,58160,58161,58162,58163,58164,58165,58166,58167,58168,58169,58170,58171,58172,58173,58174,58175,58176,58177,58178,58179,58180,58181,58182,58183,58184,58185,58186,58187,58188,58189,40451,40452,40453,40454,40455,40456,40457,40458,40459,40460,40461,40462,40463,40464,40465,40466,40467,40468,40469,40470,40471,40472,40473,40474,40475,40476,40477,40478,40484,40487,40494,40496,40500,40507,40508,40512,40525,40528,40530,40531,40532,40534,40537,40541,40543,40544,40545,40546,40549,40558,40559,40562,40564,40565,40566,40567,40568,40569,40570,40571,40572,40573,40576,40577,40579,40580,40581,40582,40585,40586,40588,40589,40590,40591,40592,40593,40596,40597,40598,40599,40600,40601,40602,40603,40604,40606,40608,40609,40610,40611,40612,40613,40615,40616,40617,40618,58190,58191,58192,58193,58194,58195,58196,58197,58198,58199,58200,58201,58202,58203,58204,58205,58206,58207,58208,58209,58210,58211,58212,58213,58214,58215,58216,58217,58218,58219,58220,58221,58222,58223,58224,58225,58226,58227,58228,58229,58230,58231,58232,58233,58234,58235,58236,58237,58238,58239,58240,58241,58242,58243,58244,58245,58246,58247,58248,58249,58250,58251,58252,58253,58254,58255,58256,58257,58258,58259,58260,58261,58262,58263,58264,58265,58266,58267,58268,58269,58270,58271,58272,58273,58274,58275,58276,58277,58278,58279,58280,58281,58282,58283,40619,40620,40621,40622,40623,40624,40625,40626,40627,40629,40630,40631,40633,40634,40636,40639,40640,40641,40642,40643,40645,40646,40647,40648,40650,40651,40652,40656,40658,40659,40661,40662,40663,40665,40666,40670,40673,40675,40676,40678,40680,40683,40684,40685,40686,40688,40689,40690,40691,40692,40693,40694,40695,40696,40698,40701,40703,40704,40705,40706,40707,40708,40709,40710,40711,40712,40713,40714,40716,40719,40721,40722,40724,40725,40726,40728,40730,40731,40732,40733,40734,40735,40737,40739,40740,40741,40742,40743,40744,40745,40746,40747,40749,40750,40752,40753,58284,58285,58286,58287,58288,58289,58290,58291,58292,58293,58294,58295,58296,58297,58298,58299,58300,58301,58302,58303,58304,58305,58306,58307,58308,58309,58310,58311,58312,58313,58314,58315,58316,58317,58318,58319,58320,58321,58322,58323,58324,58325,58326,58327,58328,58329,58330,58331,58332,58333,58334,58335,58336,58337,58338,58339,58340,58341,58342,58343,58344,58345,58346,58347,58348,58349,58350,58351,58352,58353,58354,58355,58356,58357,58358,58359,58360,58361,58362,58363,58364,58365,58366,58367,58368,58369,58370,58371,58372,58373,58374,58375,58376,58377,40754,40755,40756,40757,40758,40760,40762,40764,40767,40768,40769,40770,40771,40773,40774,40775,40776,40777,40778,40779,40780,40781,40782,40783,40786,40787,40788,40789,40790,40791,40792,40793,40794,40795,40796,40797,40798,40799,40800,40801,40802,40803,40804,40805,40806,40807,40808,40809,40810,40811,40812,40813,40814,40815,40816,40817,40818,40819,40820,40821,40822,40823,40824,40825,40826,40827,40828,40829,40830,40833,40834,40845,40846,40847,40848,40849,40850,40851,40852,40853,40854,40855,40856,40860,40861,40862,40865,40866,40867,40868,40869,63788,63865,63893,63975,63985,58378,58379,58380,58381,58382,58383,58384,58385,58386,58387,58388,58389,58390,58391,58392,58393,58394,58395,58396,58397,58398,58399,58400,58401,58402,58403,58404,58405,58406,58407,58408,58409,58410,58411,58412,58413,58414,58415,58416,58417,58418,58419,58420,58421,58422,58423,58424,58425,58426,58427,58428,58429,58430,58431,58432,58433,58434,58435,58436,58437,58438,58439,58440,58441,58442,58443,58444,58445,58446,58447,58448,58449,58450,58451,58452,58453,58454,58455,58456,58457,58458,58459,58460,58461,58462,58463,58464,58465,58466,58467,58468,58469,58470,58471,64012,64013,64014,64015,64017,64019,64020,64024,64031,64032,64033,64035,64036,64039,64040,64041,11905,59414,59415,59416,11908,13427,13383,11912,11915,59422,13726,13850,13838,11916,11927,14702,14616,59430,14799,14815,14963,14800,59435,59436,15182,15470,15584,11943,59441,59442,11946,16470,16735,11950,17207,11955,11958,11959,59451,17329,17324,11963,17373,17622,18017,17996,59459,18211,18217,18300,18317,11978,18759,18810,18813,18818,18819,18821,18822,18847,18843,18871,18870,59476,59477,19619,19615,19616,19617,19575,19618,19731,19732,19733,19734,19735,19736,19737,19886,59492,58472,58473,58474,58475,58476,58477,58478,58479,58480,58481,58482,58483,58484,58485,58486,58487,58488,58489,58490,58491,58492,58493,58494,58495,58496,58497,58498,58499,58500,58501,58502,58503,58504,58505,58506,58507,58508,58509,58510,58511,58512,58513,58514,58515,58516,58517,58518,58519,58520,58521,58522,58523,58524,58525,58526,58527,58528,58529,58530,58531,58532,58533,58534,58535,58536,58537,58538,58539,58540,58541,58542,58543,58544,58545,58546,58547,58548,58549,58550,58551,58552,58553,58554,58555,58556,58557,58558,58559,58560,58561,58562,58563,58564,58565],"gb18030-ranges":[[0,128],[36,165],[38,169],[45,178],[50,184],[81,216],[89,226],[95,235],[96,238],[100,244],[103,248],[104,251],[105,253],[109,258],[126,276],[133,284],[148,300],[172,325],[175,329],[179,334],[208,364],[306,463],[307,465],[308,467],[309,469],[310,471],[311,473],[312,475],[313,477],[341,506],[428,594],[443,610],[544,712],[545,716],[558,730],[741,930],[742,938],[749,962],[750,970],[805,1026],[819,1104],[820,1106],[7922,8209],[7924,8215],[7925,8218],[7927,8222],[7934,8231],[7943,8241],[7944,8244],[7945,8246],[7950,8252],[8062,8365],[8148,8452],[8149,8454],[8152,8458],[8164,8471],[8174,8482],[8236,8556],[8240,8570],[8262,8596],[8264,8602],[8374,8713],[8380,8720],[8381,8722],[8384,8726],[8388,8731],[8390,8737],[8392,8740],[8393,8742],[8394,8748],[8396,8751],[8401,8760],[8406,8766],[8416,8777],[8419,8781],[8424,8787],[8437,8802],[8439,8808],[8445,8816],[8482,8854],[8485,8858],[8496,8870],[8521,8896],[8603,8979],[8936,9322],[8946,9372],[9046,9548],[9050,9588],[9063,9616],[9066,9622],[9076,9634],[9092,9652],[9100,9662],[9108,9672],[9111,9676],[9113,9680],[9131,9702],[9162,9735],[9164,9738],[9218,9793],[9219,9795],[11329,11906],[11331,11909],[11334,11913],[11336,11917],[11346,11928],[11361,11944],[11363,11947],[11366,11951],[11370,11956],[11372,11960],[11375,11964],[11389,11979],[11682,12284],[11686,12292],[11687,12312],[11692,12319],[11694,12330],[11714,12351],[11716,12436],[11723,12447],[11725,12535],[11730,12543],[11736,12586],[11982,12842],[11989,12850],[12102,12964],[12336,13200],[12348,13215],[12350,13218],[12384,13253],[12393,13263],[12395,13267],[12397,13270],[12510,13384],[12553,13428],[12851,13727],[12962,13839],[12973,13851],[13738,14617],[13823,14703],[13919,14801],[13933,14816],[14080,14964],[14298,15183],[14585,15471],[14698,15585],[15583,16471],[15847,16736],[16318,17208],[16434,17325],[16438,17330],[16481,17374],[16729,17623],[17102,17997],[17122,18018],[17315,18212],[17320,18218],[17402,18301],[17418,183
118],[17859,18760],[17909,18811],[17911,18814],[17915,18820],[17916,18823],[17936,18844],[17939,18848],[17961,18872],[18664,19576],[18703,19620],[18814,19738],[18962,19887],[19043,40870],[33469,59244],[33470,59336],[33471,59367],[33484,59413],[33485,59417],[33490,59423],[33497,59431],[33501,59437],[33505,59443],[33513,59452],[33520,59460],[33536,59478],[33550,59493],[37845,63789],[37921,63866],[37948,63894],[38029,63976],[38038,63986],[38064,64016],[38065,64018],[38066,64021],[38069,64025],[38075,64034],[38076,64037],[38078,64042],[39108,65074],[39109,65093],[39113,65107],[39114,65112],[39115,65127],[39116,65132],[39265,65375],[39394,65510],[189e3,65536]],jis0208:[12288,12289,12290,65292,65294,12539,65306,65307,65311,65281,12443,12444,180,65344,168,65342,65507,65343,12541,12542,12445,12446,12291,20189,12293,12294,12295,12540,8213,8208,65295,65340,65374,8741,65372,8230,8229,8216,8217,8220,8221,65288,65289,12308,12309,65339,65341,65371,65373,12296,12297,12298,12299,12300,12301,12302,12303,12304,12305,65291,65293,177,215,247,65309,8800,65308,65310,8806,8807,8734,8756,9794,9792,176,8242,8243,8451,65509,65284,65504,65505,65285,65283,65286,65290,65312,167,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,9661,9660,8251,12306,8594,8592,8593,8595,12307,null,null,null,null,null,null,null,null,null,null,null,8712,8715,8838,8839,8834,8835,8746,8745,null,null,null,null,null,null,null,null,8743,8744,65506,8658,8660,8704,8707,null,null,null,null,null,null,null,null,null,null,null,8736,8869,8978,8706,8711,8801,8786,8810,8811,8730,8765,8733,8757,8747,8748,null,null,null,null,null,null,null,8491,8240,9839,9837,9834,8224,8225,182,null,null,null,null,9711,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,null,null,null,null,null,null,null,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,null,null,null,null,null,null,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,null,null,null,null,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,null,null,null,null,null,null,null,null,null,null,null,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,null,null,null,null,null,null,null,null,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,null,null,null,null,null,null,null,null,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,null,null,null,null,null,null,null,null,null,null,null,null,null,9472,9474,9484,9488,9496,9492,9500,9516,9508,9524,9532,9473,9475,9487,9491,9499,9495,9507,9523,9515,9531,9547,9504,9519,9512,9527,9535,9501,9520,9509,9528,9538,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9322,9323,9324,9325,9326,9327,9328,9329,9330,9331,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,null,13129,13076,13090,13133,13080,13095,13059,13110,13137,13143,13069,13094,13091,13099,13130,13115,13212,13213,13214,13198,13199,13252,13217,null,null,null,null,null,null,null,null,13179,12317,12319,8470,13261,8481,12964,12965,12966,12967,12968,12849,12850,12857,13182,13181,13180,8786,8801,8747,8750,8721,8730,8869,8736,8735,8895,8757,8745,8746,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20124,21782,23043,38463,21696,24859,25384,23030,36898,33909,33564,31312,24746,25569,28197,26093,33894,33446,39925,26771,22311,26017,25201,23451,22992,34427,39156,32098,32190,39822,25110,31903,34999,23433,24245,25353,26263,26696,38343,38797,26447,20197,20234,20301,20381,20553,22258,22839,22996,23041,23561,24799,24847,24944,26131,26885,28858,30031,30064,31227,32173,32239,32963,33806,34915,35586,36949,36986,21307,20117,20133,22495,32946,37057,30959,19968,22769,28322,36920,31282,33576,33419,39983,20801,21360,21693,21729,22240,23035,24341,39154,28139,32996,34093,38498,38512,38560,38907,21515,21491,23431,28879,32701,36802,38632,21359,40284,31418,19985,30867,33276,28198,22040,21764,27421,34074,39995,23013,21417,28006,29916,38287,22082,20113,36939,38642,33615,39180,21473,21942,23344,24433,26144,26355,26628,27704,27891,27945,29787,30408,31310,38964,33521,34907,35424,37613,28082,30123,30410,39365,24742,35585,36234,38322,27022,21421,20870,22290,22576,22852,23476,24310,24616,25513,25588,27839,28436,28814,28948,29017,29141,29503,32257,33398,33489,34199,36960,37467,40219,22633,26044,27738,29989,20985,22830,22885,24448,24540,25276,26106,27178,27431,27572,29579,32705,35158,40236,40206,40644,23713,27798,33659,20740,23627,25014,33222,26742,29281,20057,20474,21368,24681,28201,31311,38899,19979,21270,20206,20309,20285,20385,20339,21152,21487,22025,22799,23233,23478,23521,31185,26247,26524,26550,27468,27827,28779,29634,31117,31166,31292,31623,33457,33499,33540,33655,33775,33747,34662,35506,22057,36008,36838,36942,38686,34442,20420,23784,25105,29273,30011,33253,33469,34558,36032,38597,39187,39381,20171,20250,35299,22238,22602,22730,24315,24555,24618,24724,24674,25040,25106,25296,25913,39745,26214,26800,28023,28784,30028,30342,32117,33445,34809,38283,38542,35997,20977,21182,22806,21683,23475,23830,24936,27010,28079,30861,33995,34903,35442,37799,39608,28012,39336,34521,22435,26623,34510,37390,21123,22151,21508,24275,25313,25785,26684,26680,27579,29554,30906,31339,35226,35282,36203,36611,37101,38307,38548,38761,23398,23731,27005,38989,38990,25499,31520,27179,27263,26806,39949,28511,21106,21917,24688,25324,27963,28167,28369,33883,35088,3
16676,19988,39993,21494,26907,27194,38788,26666,20828,31427,33970,37340,37772,22107,40232,26658,33541,33841,31909,21e3,33477,29926,20094,20355,20896,23506,21002,21208,21223,24059,21914,22570,23014,23436,23448,23515,24178,24185,24739,24863,24931,25022,25563,25954,26577,26707,26874,27454,27475,27735,28450,28567,28485,29872,29976,30435,30475,31487,31649,31777,32233,32566,32752,32925,33382,33694,35251,35532,36011,36996,37969,38291,38289,38306,38501,38867,39208,33304,20024,21547,23736,24012,29609,30284,30524,23721,32747,36107,38593,38929,38996,39e3,20225,20238,21361,21916,22120,22522,22855,23305,23492,23696,24076,24190,24524,25582,26426,26071,26082,26399,26827,26820,27231,24112,27589,27671,27773,30079,31048,23395,31232,32e3,24509,35215,35352,36020,36215,36556,36637,39138,39438,39740,20096,20605,20736,22931,23452,25135,25216,25836,27450,29344,30097,31047,32681,34811,35516,35696,25516,33738,38816,21513,21507,21931,26708,27224,35440,30759,26485,40653,21364,23458,33050,34384,36870,19992,20037,20167,20241,21450,21560,23470,24339,24613,25937,26429,27714,27762,27875,28792,29699,31350,31406,31496,32026,31998,32102,26087,29275,21435,23621,24040,25298,25312,25369,28192,34394,35377,36317,37624,28417,31142,39770,20136,20139,20140,20379,20384,20689,20807,31478,20849,20982,21332,21281,21375,21483,21932,22659,23777,24375,24394,24623,24656,24685,25375,25945,27211,27841,29378,29421,30703,33016,33029,33288,34126,37111,37857,38911,39255,39514,20208,20957,23597,26241,26989,23
1616,26354,26997,29577,26704,31873,20677,21220,22343,24062,37670,26020,27427,27453,29748,31105,31165,31563,32202,33465,33740,34943,35167,35641,36817,37329,21535,37504,20061,20534,21477,21306,29399,29590,30697,33510,36527,39366,39368,39378,20855,24858,34398,21936,31354,20598,23507,36935,38533,20018,27355,37351,23633,23624,25496,31391,27795,38772,36705,31402,29066,38536,31874,26647,32368,26705,37740,21234,21531,34219,35347,32676,36557,37089,21350,34952,31041,20418,20670,21009,20804,21843,22317,29674,22411,22865,24418,24452,24693,24950,24935,25001,25522,25658,25964,26223,26690,28179,30054,31293,31995,32076,32153,32331,32619,33550,33610,34509,35336,35427,35686,36605,38938,40335,33464,36814,39912,21127,25119,25731,28608,38553,26689,20625,27424,27770,28500,31348,32080,34880,35363,26376,20214,20537,20518,20581,20860,21048,21091,21927,22287,22533,23244,24314,25010,25080,25331,25458,26908,27177,29309,29356,29486,30740,30831,32121,30476,32937,35211,35609,36066,36562,36963,37749,38522,38997,39443,40568,20803,21407,21427,24187,24358,28187,28304,29572,29694,32067,33335,35328,35578,38480,20046,20491,21476,21628,22266,22993,23396,24049,24235,24359,25144,25925,26543,28246,29392,31946,34996,32929,32993,33776,34382,35463,36328,37431,38599,39015,40723,20116,20114,20237,21320,21577,21566,23087,24460,24481,24735,26791,27278,29786,30849,35486,35492,35703,37264,20062,39881,20132,20348,20399,20505,20502,20809,20844,21151,21177,21246,21402,21475,21521,21518,21897,22353,22434,22909,23380,23389,23439,24037,24039,24055,24184,24195,24218,24247,24344,24658,24908,25239,25304,25511,25915,26114,26179,26356,26477,26657,26775,27083,27743,27946,28009,28207,28317,30002,30343,30828,31295,31968,32005,32024,32094,32177,32789,32771,32943,32945,33108,33167,33322,33618,34892,34913,35611,36002,36092,37066,37237,37489,30783,37628,38308,38477,38917,39321,39640,40251,21083,21163,21495,21512,22741,25335,28640,35946,36703,40633,20811,21051,21578,22269,31296,37239,40288,40658,29508,28425,33136,29969,24573,24794,39592,29403,36796,27492,38915,20170,22256,22372,22718,23130,24680,25031,26127,26118,26681,26801,28151,30165,32058,33390,39746,20123,20304,21449,21766,23919,24038,24046,26619,27801,29811,30722,35408,37782,35039,22352,24231,25387,20661,20652,20877,26368,21705,22622,22971,23472,24425,25165,25505,26685,27507,28168,28797,37319,29312,30741,30758,31085,25998,32048,33756,35009,36617,38555,21092,22312,26448,32618,36001,20916,22338,38442,22586,27018,32948,21682,23822,22524,30869,40442,20316,21066,21643,25662,26152,26388,26613,31364,31574,32034,37679,26716,39853,31545,21273,20874,21047,23519,25334,25774,25830,26413,27578,34217,38609,30352,39894,25420,37638,39851,30399,26194,19977,20632,21442,23665,24808,25746,25955,26719,29158,29642,29987,31639,32386,34453,35715,36059,37240,39184,26028,26283,27531,20181,20180,20282,20351,21050,21496,21490,21987,22235,22763,22987,22985,23039,23376,23629,24066,24107,24535,24605,25351,25903,23388,26031,26045,26088,26525,27490,27515,27663,29509,31049,31169,31992,32025,32043,32930,33026,33267,35222,35422,35433,35430,35468,35566,36039,36060,38604,39164,27503,20107,20284,20365,20816,23383,23546,24904,25345,26178,27425,28363,27835,29246,29885,30164,30913,31034,32780,32819,33258,33940,36766,27728,40575,24335,35672,40235,31482,36600,23437,38635,19971,21489,22519,22833,23241,23460,24713,28287,28422,30142,36074,23455,34048,31712,20594,26612,33437,23649,34122,32286,33294,20889,23556,25448,36198,26012,29038,31038,32023,32773,35613,36554,36974,34503,37034,20511,21242,23610,26451,28796,29237,37196,37320,37675,33509,23490,24369,24825,20027,21462,23432,25163,26417,27530,29417,29664,31278,33131,36259,37202,39318,20754,21463,21610,23551,25480,27193,32172,38656,22234,21454,21608,23447,23601,24030,20462,24833,25342,27954,31168,31179,32066,32333,32722,33261,33311,33936,34886,35186,35728,36468,36655,36913,37195,37228,38598,37276,20160,20303,20805,21313,24467,25102,26580,27713,28171,29539,32294,37325,37507,21460,22809,23487,28113,31069,32302,31899,22654,29087,20986,34899,36848,20426,23803,26149,30636,31459,33308,39423,20934,24490,26092,26991,27529,28147,28310,28516,30462,32020,24033,3698
11,37255,38918,20966,21021,25152,26257,26329,28186,24246,32210,32626,26360,34223,34295,35576,21161,21465,22899,24207,24464,24661,37604,38500,20663,20767,21213,21280,21319,21484,21736,21830,21809,22039,22888,22974,23100,23477,23558,23567,23569,23578,24196,24202,24288,24432,25215,25220,25307,25484,25463,26119,26124,26157,26230,26494,26786,27167,27189,27836,28040,28169,28248,28988,28966,29031,30151,30465,30813,30977,31077,31216,31456,31505,31911,32057,32918,33750,33931,34121,34909,35059,35359,35388,35412,35443,35937,36062,37284,37478,37758,37912,38556,38808,19978,19976,19998,20055,20887,21104,22478,22580,22732,23330,24120,24773,25854,26465,26454,27972,29366,30067,31331,33976,35698,37304,37664,22065,22516,39166,25325,26893,27542,29165,32340,32887,33394,35302,39135,34645,36785,23611,20280,20449,20405,21767,23072,23517,23529,24515,24910,25391,26032,26187,26862,27035,28024,28145,30003,30137,30495,31070,31206,32051,33251,33455,34218,35242,35386,36523,36763,36914,37341,38663,20154,20161,20995,22645,22764,23563,29978,23613,33102,35338,36805,38499,38765,31525,35535,38920,37218,22259,21416,36887,21561,22402,24101,25512,27700,28810,30561,31883,32736,34928,36930,37204,37648,37656,38543,29790,39620,23815,23913,25968,26530,36264,38619,25454,26441,26905,33733,38935,38592,35070,28548,25722,23544,19990,28716,30045,26159,20932,21046,21218,22995,24449,24615,25104,25919,25972,26143,26228,26866,26646,27491,28165,29298,29983,30427,31934,32854,22768,35069,35199,35488,35475,35531,36893,37266,38738,38745,25993,31246,33030,38587,24109,24796,25114,26021,26132,26512,30707,31309,31821,32318,33034,36012,36196,36321,36447,30889,20999,25305,25509,25666,25240,35373,31363,31680,35500,38634,32118,33292,34633,20185,20808,21315,21344,23459,23554,23574,24029,25126,25159,25776,26643,26676,27849,27973,27927,26579,28508,29006,29053,26059,31359,31661,32218,32330,32680,33146,33307,33337,34214,35438,36046,36341,36984,36983,37549,37521,38275,39854,21069,21892,28472,28982,20840,31109,32341,33203,31950,22092,22609,23720,25514,26366,26365,26970,29401,30095,30094,30990,31062,31199,31895,32032,32068,34311,35380,38459,36961,40736,20711,21109,21452,21474,20489,21930,22766,22863,29245,23435,23652,21277,24803,24819,25436,25475,25407,25531,25805,26089,26361,24035,27085,27133,28437,29157,20105,30185,30456,31379,31967,32207,32156,32865,33609,33624,33900,33980,34299,35013,36208,36865,36973,37783,38684,39442,20687,22679,24974,33235,34101,36104,36896,20419,20596,21063,21363,24687,25417,26463,28204,36275,36895,20439,23646,36042,26063,32154,21330,34966,20854,25539,23384,23403,23562,25613,26449,36956,20182,22810,22826,27760,35409,21822,22549,22949,24816,25171,26561,33333,26965,38464,39364,39464,20307,22534,23550,32784,23729,24111,24453,24608,24907,25140,26367,27888,28382,32974,33151,33492,34955,36024,36864,36910,38538,40667,39899,20195,21488,22823,31532,37261,38988,40441,28381,28711,21331,21828,23429,25176,25246,25299,27810,28655,29730,35351,37944,28609,35582,33592,20967,34552,21482,21481,20294,36948,36784,22890,33073,24061,31466,36799,26842,35895,29432,40008,27197,35504,20025,21336,22022,22374,25285,25506,26086,27470,28129,28251,28845,30701,31471,31658,32187,32829,32966,34507,35477,37723,22243,22727,24382,26029,26262,27264,27573,30007,35527,20516,30693,22320,24347,24677,26234,27744,30196,31258,32622,33268,34584,36933,39347,31689,30044,31481,31569,33988,36880,31209,31378,33590,23265,30528,20013,20210,23449,24544,25277,26172,26609,27880,34411,34935,35387,37198,37619,39376,27159,28710,29482,33511,33879,36015,19969,20806,20939,21899,23541,24086,24115,24193,24340,24373,24427,24500,25074,25361,26274,26397,28526,29266,30010,30522,32884,33081,33144,34678,35519,35548,36229,36339,37530,38263,38914,40165,21189,25431,30452,26389,27784,29645,36035,37806,38515,27941,22684,26894,27084,36861,37786,30171,36890,22618,26626,25524,27131,20291,28460,26584,36795,34086,32180,37716,26943,28528,22378,22775,23340,32044,29226,21514,37347,40372,20141,20302,20572,20597,21059,35998,21576,22564,23450,24093,24213,24237,24311,24351,24716,25269,25402,25552,26799,27712,30855,31118,31243,32224,33351,35330,35558,36420,36883,37048,37165,37336,40718,27877,25688,25826,25973,28404,30340,31515,36969,37841,28346,21746,24505,25764,36685,36845,37444,20856,22635,22825,23637,24215,28155,32399,29980,36028,36578,39003,28857,20253,27583,28593,3e4,38651,20814,21520,22581,22615,22956,23648,24466,26007,26460,28193,30331,33759,36077,36884,37117,37709,30757,30778,21162,24230,22303,22900,24594,20498,20826,20908,20941,20992,21776,22612,22616,22871,23445,23798,23947,24764,25237,25645,26481,26691,26812,26847,30423,28120,28271,28059,28783,29128,24403,30168,31095,31561,31572,31570,31958,32113,21040,33891,34153,34276,35342,35588,35910,36367,36867,36879,37913,38518,38957,39472,38360,20685,21205,21516,22530,23566,24999,25758,27934,30643,31461,33012,33796,36947,37509,23776,40199,21311,24471,24499,28060,29305,30563,31167,31716,27602,29420,35501,26627,27233,20984,31361,26932,23626,40182,33515,23493,37193,28702,22136,23663,24775,25958,27788,35930,36929,38931,21585,26311,37389,22856,37027,20869,20045,20970,34201,35598,28760,25466,37707,26978,39348,32260,30071,21335,26976,36575,38627,27741,20108,23612,24336,36841,21250,36049,32905,34425,24319,26085,20083,20837,22914,23615,38894,20219,22922,24525,35469,28641,31152,31074,23527,33905,29483,29105,24180,24565,254
167,25754,29123,31896,20035,24316,20043,22492,22178,24745,28611,32013,33021,33075,33215,36786,35223,34468,24052,25226,25773,35207,26487,27874,27966,29750,30772,23110,32629,33453,39340,20467,24259,25309,25490,25943,26479,30403,29260,32972,32954,36649,37197,20493,22521,23186,26757,26995,29028,29437,36023,22770,36064,38506,36889,34687,31204,30695,33833,20271,21093,21338,25293,26575,27850,30333,31636,31893,33334,34180,36843,26333,28448,29190,32283,33707,39361,40614,20989,31665,30834,31672,32903,31560,27368,24161,32908,30033,30048,20843,37474,28300,30330,37271,39658,20240,32624,25244,31567,38309,40169,22138,22617,34532,38588,20276,21028,21322,21453,21467,24070,25644,26001,26495,27710,27726,29256,29359,29677,30036,32321,33324,34281,36009,31684,37318,29033,38930,39151,25405,26217,30058,30436,30928,34115,34542,21290,21329,21542,22915,24199,24444,24754,25161,25209,25259,26e3,27604,27852,30130,30382,30865,31192,32203,32631,32933,34987,35513,36027,36991,38750,39131,27147,31800,20633,23614,24494,26503,27608,29749,30473,32654,40763,26570,31255,21305,30091,39661,24422,33181,33777,32920,24380,24517,30050,31558,36924,26727,23019,23195,32016,30334,35628,20469,24426,27161,27703,28418,29922,31080,34920,35413,35961,24287,25551,30149,31186,33495,37672,37618,33948,34541,39981,21697,24428,25996,27996,28693,36007,36051,38971,25935,29942,19981,20184,22496,22827,23142,23500,20904,24067,24220,24598,25206,25975,26023,26222,28014,29238,31526,33104,33178,33433,35676,36e3,36070,36212,38428,38468,20398,25771,27494,33310,33889,34154,37096,23553,26963,39080,33914,34135,20239,21103,24489,24133,26381,31119,33145,35079,35206,28149,24343,25173,27832,20175,29289,39826,20998,21563,22132,22707,24996,25198,28954,22894,31881,31966,32027,38640,25991,32862,19993,20341,20853,22592,24163,24179,24330,26564,20006,34109,38281,38491,31859,38913,20731,22721,30294,30887,21029,30629,34065,31622,20559,22793,29255,31687,32232,36794,36820,36941,20415,21193,23081,24321,38829,20445,33303,37610,22275,25429,27497,29995,35036,36628,31298,21215,22675,24917,25098,26286,27597,31807,33769,20515,20472,21253,21574,22577,22857,23453,23792,23791,23849,24214,25265,25447,25918,26041,26379,27861,27873,28921,30770,32299,32990,33459,33804,34028,34562,35090,35370,35914,37030,37586,39165,40179,40300,20047,20129,20621,21078,22346,22952,24125,24536,24537,25151,26292,26395,26576,26834,20882,32033,32938,33192,35584,35980,36031,37502,38450,21536,38956,21271,20693,21340,22696,25778,26420,29287,30566,31302,37350,21187,27809,27526,22528,24140,22868,26412,32763,20961,30406,25705,30952,39764,40635,22475,22969,26151,26522,27598,21737,27097,24149,33180,26517,39850,26622,40018,26717,20134,20451,21448,25273,26411,27819,36804,20397,32365,40639,19975,24930,28288,28459,34067,21619,26410,39749,24051,31637,23724,23494,34588,28234,34001,31252,33032,22937,31885,27665,30496,21209,22818,28961,29279,30683,38695,40289,26891,23167,23064,20901,21517,21629,26126,30431,36855,37528,40180,23018,29277,28357,20813,26825,32191,32236,38754,40634,25720,27169,33538,22916,23391,27611,29467,30450,32178,32791,33945,20786,26408,40665,30446,26466,21247,39173,23588,25147,31870,36016,21839,24758,32011,38272,21249,20063,20918,22812,29242,32822,37326,24357,30690,21380,24441,32004,34220,35379,36493,38742,26611,34222,37971,24841,24840,27833,30290,35565,36664,21807,20305,20778,21191,21451,23461,24189,24736,24962,25558,26377,26586,28263,28044,29494,29495,30001,31056,35029,35480,36938,37009,37109,38596,34701,22805,20104,20313,19982,35465,36671,38928,20653,24188,22934,23481,24248,25562,25594,25793,26332,26954,27096,27915,28342,29076,29992,31407,32650,32768,33865,33993,35201,35617,36362,36965,38525,39178,24958,25233,27442,27779,28020,32716,32764,28096,32645,34746,35064,26469,33713,38972,38647,27931,32097,33853,37226,20081,21365,23888,27396,28651,34253,34349,35239,21033,21519,23653,26446,26792,29702,29827,30178,35023,35041,37324,38626,38520,24459,29575,31435,33870,25504,30053,21129,27969,28316,29705,30041,30827,31890,38534,31452,40845,20406,24942,26053,34396,20102,20142,20698,20001,20940,23534,26009,26753,28
1092,29471,30274,30637,31260,31975,33391,35538,36988,37327,38517,38936,21147,32209,20523,21400,26519,28107,29136,29747,33256,36650,38563,40023,40607,29792,22593,28057,32047,39006,20196,20278,20363,20919,21169,23994,24604,29618,31036,33491,37428,38583,38646,38666,40599,40802,26278,27508,21015,21155,28872,35010,24265,24651,24976,28451,29001,31806,32244,32879,34030,36899,37676,21570,39791,27347,28809,36034,36335,38706,21172,23105,24266,24324,26391,27004,27028,28010,28431,29282,29436,31725,32769,32894,34635,37070,20845,40595,31108,32907,37682,35542,20525,21644,35441,27498,36036,33031,24785,26528,40434,20121,20120,39952,35435,34241,34152,26880,28286,30871,33109,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,24332,19984,19989,20010,20017,20022,20028,20031,20034,20054,20056,20098,20101,35947,20106,33298,24333,20110,20126,20127,20128,20130,20144,20147,20150,20174,20173,20164,20166,20162,20183,20190,20205,20191,20215,20233,20314,20272,20315,20317,20311,20295,20342,20360,20367,20376,20347,20329,20336,20369,20335,20358,20374,20760,20436,20447,20430,20440,20443,20433,20442,20432,20452,20453,20506,20520,20500,20522,20517,20485,20252,20470,20513,20521,20524,20478,20463,20497,20486,20547,20551,26371,20565,20560,20552,20570,20566,20588,20600,20608,20634,20613,20660,20658,20681,20682,20659,20674,20694,20702,20709,20717,20707,20718,20729,20725,20745,20737,20738,20758,20757,20756,20762,20769,20794,20791,20796,20795,20799,20800,20818,20812,20820,20834,31480,20841,20842,20846,20864,20866,22232,20876,20873,20879,20881,20883,20885,20886,20900,20902,20898,20905,20906,20907,20915,20913,20914,20912,20917,20925,20933,20937,20955,20960,34389,20969,20973,20976,20981,20990,20996,21003,21012,21006,21031,21034,21038,21043,21049,21071,21060,21067,21068,21086,21076,21098,21108,21097,21107,21119,21117,21133,21140,21138,21105,21128,21137,36776,36775,21164,21165,21180,21173,21185,21197,21207,21214,21219,21222,39149,21216,21235,21237,21240,21241,21254,21256,30008,21261,21264,21263,21269,21274,21283,21295,21297,21299,21304,21312,21318,21317,19991,21321,21325,20950,21342,21353,21358,22808,21371,21367,21378,21398,21408,21414,21413,21422,21424,21430,21443,31762,38617,21471,26364,29166,21486,21480,21485,21498,21505,21565,21568,21548,21549,21564,21550,21558,21545,21533,21582,21647,21621,21646,21599,21617,21623,21616,21650,21627,21632,21622,21636,21648,21638,21703,21666,21688,21669,21676,21700,21704,21672,21675,21698,21668,21694,21692,21720,21733,21734,21775,21780,21757,21742,21741,21754,21730,21817,21824,21859,21836,21806,21852,21829,21846,21847,21816,21811,21853,21913,21888,21679,21898,21919,21883,21886,21912,21918,21934,21884,21891,21929,21895,21928,21978,21957,21983,21956,21980,21988,21972,22036,22007,22038,22014,22013,22043,22009,22094,22096,29151,22068,22070,22066,22072,22123,22116,22063,22124,22122,22150,22144,22154,22176,22164,22159,22181,22190,22198,22196,22210,22204,22209,22211,22208,22216,22222,22225,22227,22231,22254,22265,22272,22271,22276,22281,22280,22283,22285,22291,22296,22294,21959,22300,22310,22327,22328,22350,22331,22336,22351,22377,22464,22408,22369,22399,22409,22419,22432,22451,22436,22442,22448,22467,22470,22484,22482,22483,22538,22486,22499,22539,22553,22557,22642,22561,22626,22603,22640,27584,22610,22589,22649,22661,22713,22687,22699,22714,22750,22715,22712,22702,22725,22739,22737,22743,22745,22744,22757,22748,22756,22751,22767,22778,22777,22779,22780,22781,22786,22794,22800,22811,26790,22821,22828,22829,22834,22840,22846,31442,22869,22864,22862,22874,22872,22882,22880,22887,22892,22889,22904,22913,22941,20318,20395,22947,22962,22982,23016,23004,22925,23001,23002,23077,23071,23057,23068,23049,23066,23104,23148,23113,23093,23094,23138,23146,23194,23228,23230,23243,23234,23229,23267,23255,23270,23273,23254,23290,23291,23308,23307,23318,23346,23248,23338,23350,23358,23363,23365,23360,23377,23381,23386,23387,23397,23401,23408,23411,23413,23416,25992,23418,23424,23427,23462,23480,23491,23495,23497,23508,23504,23524,23526,23522,23518,23525,23531,23536,23542,23539,23557,23559,23560,23565,23571,23584,23586,23592,23608,23609,23617,23622,23630,23635,23632,23631,23409,23660,23662,20066,23670,23673,23692,23697,23700,22939,23723,23739,23734,23740,23735,23749,23742,23751,23769,23785,23805,23802,23789,23948,23786,23819,23829,23831,23900,23839,23835,23825,23828,23842,23834,23833,23832,23884,23890,23886,23883,23916,23923,23926,23943,23940,23938,23970,23965,23980,23982,23997,23952,23991,23996,24009,24013,24019,24018,24022,24027,24043,24050,24053,24075,24090,24089,24081,24091,24118,24119,24132,24131,24128,24142,24151,24148,24159,24162,24164,24135,24181,24182,24186,40636,24191,24224,24257,24258,24264,24272,24271,24278,24291,24285,24282,24283,24290,24289,24296,24297,24300,24305,24307,24304,24308,24312,24318,24323,24329,24413,24412,24331,24337,24342,24361,24365,24376,24385,24392,24396,24398,24367,24401,24406,24407,24409,24417,24429,24435,24439,24451,24450,24447,24458,24456,24465,24455,24478,24473,24472,24480,24488,24493,24508,24534,24571,24548,24568,24561,24541,24755,24575,24609,24672,24601,24592,24617,24590,24625,24603,24597,24619,24614,24591,24634,24666,24641,24682,24695,24671,24650,24646,24653,24675,24643,24676,24642,24684,24683,24665,24705,24717,24807,24707,24730,24708,24731,24726,24727,24722,24743,24715,24801,24760,24800,24787,24756,24560,24765,24774,24757,24792,24909,24853,24838,24822,24823,24832,24820,24826,24835,24865,24827,24817,24845,24846,24903,24894,24872,24871,24906,24895,24892,24876,24884,24893,24898,24900,24947,24951,24920,24921,24922,24939,24948,24943,24933,24945,24927,24925,24915,24949,24985,24982,24967,25004,24980,24986,24970,24977,25003,25006,25036,25034,25033,25079,25032,25027,25030,25018,25035,32633,25037,25062,25059,25078,25082,25076,25087,25085,25084,25086,25088,25096,25097,25101,25100,25108,25115,25118,25121,25130,25134,25136,25138,25139,25153,25166,25182,25187,25179,25184,25192,25212,25218,25225,25214,25234,25235,25238,25300,25219,25236,25303,25297,25275,25295,25343,25286,25812,25288,25308,25292,25290,25282,25287,25243,25289,25356,25326,25329,25383,25346,25352,25327,25333,25424,25406,25421,25628,25423,25494,25486,25472,25515,25462,25507,25487,25481,25503,25525,25451,25449,25534,25577,25536,25542,25571,25545,25554,25590,25540,25622,25652,25606,25619,25638,25654,25885,25623,25640,25615,25703,25711,25718,25678,25898,25749,25747,25765,25769,25736,25788,25818,25810,25797,25799,25787,25816,25794,25841,25831,33289,25824,25825,25260,25827,25839,25900,25846,25844,25842,25850,25856,25853,25880,25884,25861,25892,25891,25899,25908,25909,25911,25910,25912,30027,25928,25942,25941,25933,25944,25950,25949,25970,25976,25986,25987,35722,26011,26015,26027,26039,26051,26054,26049,26052,26060,26066,26075,26073,26080,26081,26097,26482,26122,26115,26107,26483,26165,26166,26164,26140,26191,26180,26185,26177,26206,26205,26212,26215,26216,26207,26210,26224,26243,26248,26254,26249,26244,26264,26269,26305,26297,26313,26302,26300,26308,26296,26326,26330,26336,26175,26342,26345,26352,26357,26359,26383,26390,26398,26406,26407,38712,26414,26431,26422,26433,26424,26423,26438,26462,26464,26457,26467,26468,26505,26480,26537,26492,26474,26508,26507,26534,26529,26501,26551,26607,26548,26604,26547,26601,26552,26596,26590,26589,26594,26606,26553,26574,26566,26599,27292,26654,26694,26665,26688,26701,26674,26702,26803,26667,26713,26723,26743,26751,26783,26767,26797,26772,26781,26779,26755,27310,26809,26740,26805,26784,26810,26895,26765,26750,26881,26826,26888,26840,26914,26918,26849,26892,26829,26836,26855,26837,26934,26898,26884,26839,26851,26917,26873,26848,26863,26920,26922,26906,26915,26913,26822,27001,26999,26972,27e3,26987,26964,27006,26990,26937,26996,26941,26969,26928,26977,26974,26973,27009,26986,27058,27054,27088,27071,27073,27091,27070,27086,23528,27082,27101,27067,27075,27047,27182,27025,27040,27036,27029,27060,27102,27112,27138,27163,27135,27402,27129,27122,27111,27141,27057,27166,27117,27156,27115,27146,27154,27329,27171,27155,27204,27148,27250,27190,27256,27207,27234,27225,27238,27208,27192,27170,27280,27277,27296,27268,27298,27299,27287,34327,27323,27331,27330,27320,27315,27308,27358,27345,27359,27306,27354,27370,27387,27397,34326,27386,27410,27414,39729,27423,27448,27447,30428,27449,39150,27463,27459,27465,27472,27481,27476,27483,27487,27489,27512,27513,27519,27520,27524,27523,27533,27544,27541,27550,27556,27562,27563,27567,27570,27569,27571,27575,27580,27590,27595,27603,27615,27628,27627,27635,27631,40638,27656,27667,27668,27675,27684,27683,27742,27733,27746,27754,27778,27789,27802,27777,27803,27774,27752,27763,27794,27792,27844,27889,27859,27837,27863,27845,27869,27822,27825,27838,27834,27867,27887,27865,27882,27935,34893,27958,27947,27965,27960,27929,27957,27955,27922,27916,28003,28051,28004,27994,28025,27993,28046,28053,28644,28037,28153,28181,28170,28085,28103,28134,28088,28102,28140,28126,28108,28136,28114,28101,28154,28121,28132,28117,28138,28142,28205,28270,28206,28185,28274,28255,28222,28195,28267,28203,28278,28237,28191,28227,28218,28238,28196,28415,28189,28216,28290,28330,28312,28361,28343,28371,28349,28335,28356,28338,28372,28373,28303,28325,28354,28319,28481,28433,28748,28396,28408,28414,28479,28402,28465,28399,28466,28364,28478,28435,28407,28550,28538,28536,28545,28544,28527,28507,28659,28525,28546,28540,28504,28558,28561,28610,28518,28595,28579,28577,28580,28601,28
1614,28586,28639,28629,28652,28628,28632,28657,28654,28635,28681,28683,28666,28689,28673,28687,28670,28699,28698,28532,28701,28696,28703,28720,28734,28722,28753,28771,28825,28818,28847,28913,28844,28856,28851,28846,28895,28875,28893,28889,28937,28925,28956,28953,29029,29013,29064,29030,29026,29004,29014,29036,29071,29179,29060,29077,29096,29100,29143,29113,29118,29138,29129,29140,29134,29152,29164,29159,29173,29180,29177,29183,29197,29200,29211,29224,29229,29228,29232,29234,29243,29244,29247,29248,29254,29259,29272,29300,29310,29314,29313,29319,29330,29334,29346,29351,29369,29362,29379,29382,29380,29390,29394,29410,29408,29409,29433,29431,20495,29463,29450,29468,29462,29469,29492,29487,29481,29477,29502,29518,29519,40664,29527,29546,29544,29552,29560,29557,29563,29562,29640,29619,29646,29627,29632,29669,29678,29662,29858,29701,29807,29733,29688,29746,29754,29781,29759,29791,29785,29761,29788,29801,29808,29795,29802,29814,29822,29835,29854,29863,29898,29903,29908,29681,29920,29923,29927,29929,29934,29938,29936,29937,29944,29943,29956,29955,29957,29964,29966,29965,29973,29971,29982,29990,29996,30012,30020,30029,30026,30025,30043,30022,30042,30057,30052,30055,30059,30061,30072,30070,30086,30087,30068,30090,30089,30082,30100,30106,30109,30117,30115,30146,30131,30147,30133,30141,30136,30140,30129,30157,30154,30162,30169,30179,30174,30206,30207,30204,30209,30192,30202,30194,30195,30219,30221,30217,30239,30247,30240,30241,30242,30244,30260,30256,30267,30279,30280,30278,30300,30296,30305,30306,30312,30313,30314,30311,30316,30320,30322,30326,30328,30332,30336,30339,30344,30347,30350,30358,30355,30361,30362,30384,30388,30392,30393,30394,30402,30413,30422,30418,30430,30433,30437,30439,30442,34351,30459,30472,30471,30468,30505,30500,30494,30501,30502,30491,30519,30520,30535,30554,30568,30571,30555,30565,30591,30590,30585,30606,30603,30609,30624,30622,30640,30646,30649,30655,30652,30653,30651,30663,30669,30679,30682,30684,30691,30702,30716,30732,30738,31014,30752,31018,30789,30862,30836,30854,30844,30874,30860,30883,30901,30890,30895,30929,30918,30923,30932,30910,30908,30917,30922,30956,30951,30938,30973,30964,30983,30994,30993,31001,31020,31019,31040,31072,31063,31071,31066,31061,31059,31098,31103,31114,31133,31143,40779,31146,31150,31155,31161,31162,31177,31189,31207,31212,31201,31203,31240,31245,31256,31257,31264,31263,31104,31281,31291,31294,31287,31299,31319,31305,31329,31330,31337,40861,31344,31353,31357,31368,31383,31381,31384,31382,31401,31432,31408,31414,31429,31428,31423,36995,31431,31434,31437,31439,31445,31443,31449,31450,31453,31457,31458,31462,31469,31472,31490,31503,31498,31494,31539,31512,31513,31518,31541,31528,31542,31568,31610,31492,31565,31499,31564,31557,31605,31589,31604,31591,31600,31601,31596,31598,31645,31640,31647,31629,31644,31642,31627,31634,31631,31581,31641,31691,31681,31692,31695,31668,31686,31709,31721,31761,31764,31718,31717,31840,31744,31751,31763,31731,31735,31767,31757,31734,31779,31783,31786,31775,31799,31787,31805,31820,31811,31828,31823,31808,31824,31832,31839,31844,31830,31845,31852,31861,31875,31888,31908,31917,31906,31915,31905,31912,31923,31922,31921,31918,31929,31933,31936,31941,31938,31960,31954,31964,31970,39739,31983,31986,31988,31990,31994,32006,32002,32028,32021,32010,32069,32075,32046,32050,32063,32053,32070,32115,32086,32078,32114,32104,32110,32079,32099,32147,32137,32091,32143,32125,32155,32186,32174,32163,32181,32199,32189,32171,32317,32162,32175,32220,32184,32159,32176,32216,32221,32228,32222,32251,32242,32225,32261,32266,32291,32289,32274,32305,32287,32265,32267,32290,32326,32358,32315,32309,32313,32323,32311,32306,32314,32359,32349,32342,32350,32345,32346,32377,32362,32361,32380,32379,32387,32213,32381,36782,32383,32392,32393,32396,32402,32400,32403,32404,32406,32398,32411,32412,32568,32570,32581,32588,32589,32590,32592,32593,32597,32596,32600,32607,32608,32616,32617,32615,32632,32642,32646,32643,32648,32647,32652,32660,32670,32669,32666,32675,32687,32690,32697,32686,32694,32696,35697,32709,32710,32714,32725,32724,32737,32742,32745,32755,32761,39132,32774,32772,32779,32786,32792,32793,32796,32801,32808,32831,32827,32842,32838,32850,32856,32858,32863,32866,32872,32883,32882,32880,32886,32889,32893,32895,32900,32902,32901,32923,32915,32922,32941,20880,32940,32987,32997,32985,32989,32964,32986,32982,33033,33007,33009,33051,33065,33059,33071,33099,38539,33094,33086,33107,33105,33020,33137,33134,33125,33126,33140,33155,33160,33162,33152,33154,33184,33173,33188,33187,33119,33171,33193,33200,33205,33214,33208,33213,33216,33218,33210,33225,33229,33233,33241,33240,33224,33242,33247,33248,33255,33274,33275,33278,33281,33282,33285,33287,33290,33293,33296,33302,33321,33323,33336,33331,33344,33369,33368,33373,33370,33375,33380,33378,33384,33386,33387,33326,33393,33399,33400,33406,33421,33426,33451,33439,33467,33452,33505,33507,33503,33490,33524,33523,33530,33683,33539,33531,33529,33502,33542,33500,33545,33497,33589,33588,33558,33586,33585,33600,33593,33616,33605,33583,33579,33559,33560,33669,33690,33706,33695,33698,33686,33571,33678,33671,33674,33660,33717,33651,33653,33696,33673,33704,33780,33811,33771,33742,33789,33795,33752,33803,33729,33783,33799,33760,33778,33805,33826,33824,33725,33848,34054,33787,33901,33834,33852,34138,33924,33911,33899,33965,33902,33922,33897,33862,33836,33903,33913,33845,33994,33890,33977,33983,33951,34009,33997,33979,34010,34e3,33985,33990,34006,33953,34081,34047,34036,34071,34072,34092,34079,34069,34068,34044,34112,34147,34136,34120,34113,34306,34123,34133,34176,34212,34184,34193,34186,34216,34157,34196,34203,34282,34183,34204,34167,34174,34192,34249,34234,34255,34233,34256,34261,34269,34277,34268,34297,34314,34323,34315,34302,34298,34310,34338,34330,34352,34367,34381,20053,34388,34399,34407,34417,34451,34467,34473,34474,34443,34444,3448
16,34479,34500,34502,34480,34505,34851,34475,34516,34526,34537,34540,34527,34523,34543,34578,34566,34568,34560,34563,34555,34577,34569,34573,34553,34570,34612,34623,34615,34619,34597,34601,34586,34656,34655,34680,34636,34638,34676,34647,34664,34670,34649,34643,34659,34666,34821,34722,34719,34690,34735,34763,34749,34752,34768,38614,34731,34756,34739,34759,34758,34747,34799,34802,34784,34831,34829,34814,34806,34807,34830,34770,34833,34838,34837,34850,34849,34865,34870,34873,34855,34875,34884,34882,34898,34905,34910,34914,34923,34945,34942,34974,34933,34941,34997,34930,34946,34967,34962,34990,34969,34978,34957,34980,34992,35007,34993,35011,35012,35028,35032,35033,35037,35065,35074,35068,35060,35048,35058,35076,35084,35082,35091,35139,35102,35109,35114,35115,35137,35140,35131,35126,35128,35148,35101,35168,35166,35174,35172,35181,35178,35183,35188,35191,35198,35203,35208,35210,35219,35224,35233,35241,35238,35244,35247,35250,35258,35261,35263,35264,35290,35292,35293,35303,35316,35320,35331,35350,35344,35340,35355,35357,35365,35382,35393,35419,35410,35398,35400,35452,35437,35436,35426,35461,35458,35460,35496,35489,35473,35493,35494,35482,35491,35524,35533,35522,35546,35563,35571,35559,35556,35569,35604,35552,35554,35575,35550,35547,35596,35591,35610,35553,35606,35600,35607,35616,35635,38827,35622,35627,35646,35624,35649,35660,35663,35662,35657,35670,35675,35674,35691,35679,35692,35695,35700,35709,35712,35724,35726,35730,35731,35734,35737,35738,35898,35905,35903,35912,35916,35918,35920,35925,35938,35948,35960,35962,35970,35977,35973,35978,35981,35982,35988,35964,35992,25117,36013,36010,36029,36018,36019,36014,36022,36040,36033,36068,36067,36058,36093,36090,36091,36100,36101,36106,36103,36111,36109,36112,40782,36115,36045,36116,36118,36199,36205,36209,36211,36225,36249,36290,36286,36282,36303,36314,36310,36300,36315,36299,36330,36331,36319,36323,36348,36360,36361,36351,36381,36382,36368,36383,36418,36405,36400,36404,36426,36423,36425,36428,36432,36424,36441,36452,36448,36394,36451,36437,36470,36466,36476,36481,36487,36485,36484,36491,36490,36499,36497,36500,36505,36522,36513,36524,36528,36550,36529,36542,36549,36552,36555,36571,36579,36604,36603,36587,36606,36618,36613,36629,36626,36633,36627,36636,36639,36635,36620,36646,36659,36667,36665,36677,36674,36670,36684,36681,36678,36686,36695,36700,36706,36707,36708,36764,36767,36771,36781,36783,36791,36826,36837,36834,36842,36847,36999,36852,36869,36857,36858,36881,36885,36897,36877,36894,36886,36875,36903,36918,36917,36921,36856,36943,36944,36945,36946,36878,36937,36926,36950,36952,36958,36968,36975,36982,38568,36978,36994,36989,36993,36992,37002,37001,37007,37032,37039,37041,37045,37090,37092,25160,37083,37122,37138,37145,37170,37168,37194,37206,37208,37219,37221,37225,37235,37234,37259,37257,37250,37282,37291,37295,37290,37301,37300,37306,37312,37313,37321,37323,37328,37334,37343,37345,37339,37372,37365,37366,37406,37375,37396,37420,37397,37393,37470,37463,37445,37449,37476,37448,37525,37439,37451,37456,37532,37526,37523,37531,37466,37583,37561,37559,37609,37647,37626,37700,37678,37657,37666,37658,37667,37690,37685,37691,37724,37728,37756,37742,37718,37808,37804,37805,37780,37817,37846,37847,37864,37861,37848,37827,37853,37840,37832,37860,37914,37908,37907,37891,37895,37904,37942,37931,37941,37921,37946,37953,37970,37956,37979,37984,37986,37982,37994,37417,38e3,38005,38007,38013,37978,38012,38014,38017,38015,38274,38279,38282,38292,38294,38296,38297,38304,38312,38311,38317,38332,38331,38329,38334,38346,28662,38339,38349,38348,38357,38356,38358,38364,38369,38373,38370,38433,38440,38446,38447,38466,38476,38479,38475,38519,38492,38494,38493,38495,38502,38514,38508,38541,38552,38549,38551,38570,38567,38577,38578,38576,38580,38582,38584,38585,38606,38603,38601,38605,35149,38620,38669,38613,38649,38660,38662,38664,38675,38670,38673,38671,38678,38681,38692,38698,38704,38713,38717,38718,38724,38726,38728,38722,38729,38748,38752,38756,38758,38760,21202,38763,38769,38777,38789,38780,38785,38778,38790,38795,38799,38800,38812,38824,38822,38819,38835,38836,38851,38854,38856,38859,38876,38893,40783,38898,31455,38902,38901,38927,38924,38968,38948,38945,38967,38973,38982,3899
11,38987,39019,39023,39024,39025,39028,39027,39082,39087,39089,39094,39108,39107,39110,39145,39147,39171,39177,39186,39188,39192,39201,39197,39198,39204,39200,39212,39214,39229,39230,39234,39241,39237,39248,39243,39249,39250,39244,39253,39319,39320,39333,39341,39342,39356,39391,39387,39389,39384,39377,39405,39406,39409,39410,39419,39416,39425,39439,39429,39394,39449,39467,39479,39493,39490,39488,39491,39486,39509,39501,39515,39511,39519,39522,39525,39524,39529,39531,39530,39597,39600,39612,39616,39631,39633,39635,39636,39646,39647,39650,39651,39654,39663,39659,39662,39668,39665,39671,39675,39686,39704,39706,39711,39714,39715,39717,39719,39720,39721,39722,39726,39727,39730,39748,39747,39759,39757,39758,39761,39768,39796,39827,39811,39825,39830,39831,39839,39840,39848,39860,39872,39882,39865,39878,39887,39889,39890,39907,39906,39908,39892,39905,39994,39922,39921,39920,39957,39956,39945,39955,39948,39942,39944,39954,39946,39940,39982,39963,39973,39972,39969,39984,40007,39986,40006,39998,40026,40032,40039,40054,40056,40167,40172,40176,40201,40200,40171,40195,40198,40234,40230,40367,40227,40223,40260,40213,40210,40257,40255,40254,40262,40264,40285,40286,40292,40273,40272,40281,40306,40329,40327,40363,40303,40314,40346,40356,40361,40370,40388,40385,40379,40376,40378,40390,40399,40386,40409,40403,40440,40422,40429,40431,40445,40474,40475,40478,40565,40569,40573,40577,40584,40587,40588,40594,40597,40593,40605,40613,40617,40632,40618,40621,38753,40652,40654,40655,40656,40660,40668,40670,40669,40672,40677,40680,40687,40692,40694,40695,40697,40699,40700,40701,40711,40712,30391,40725,40737,40748,40766,40778,40786,40788,40803,40799,40800,40801,40806,40807,40812,40810,40823,40818,40822,40853,40860,40864,22575,27079,36953,29796,20956,29081,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32394,35100,37704,37512,34012,20425,28859,26161,26824,37625,26363,24389,20008,20193,20220,20224,20227,20281,20310,20370,20362,20378,20372,20429,20544,20514,20479,20510,20550,20592,20546,20628,20724,20696,20810,20836,20893,20926,20972,21013,21148,21158,21184,21211,21248,21255,21284,21362,21395,21426,21469,64014,21660,21642,21673,21759,21894,22361,22373,22444,22472,22471,64015,64016,22686,22706,22795,22867,22875,22877,22883,22948,22970,23382,23488,29999,23512,23532,23582,23718,23738,23797,23847,23891,64017,23874,23917,23992,23993,24016,24353,24372,24423,24503,24542,24669,24709,24714,24798,24789,24864,24818,24849,24887,24880,24984,25107,25254,25589,25696,25757,25806,25934,26112,26133,26171,26121,26158,26142,26148,26213,26199,26201,64018,26227,26265,26272,26290,26303,26362,26382,63785,26470,26555,26706,26560,26625,26692,26831,64019,26984,64020,27032,27106,27184,27243,27206,27251,27262,27362,27364,27606,27711,27740,27782,27759,27866,27908,28039,28015,28054,28076,28111,28152,28146,28156,28217,28252,28199,28220,28351,28552,28597,28
1661,28677,28679,28712,28805,28843,28943,28932,29020,28998,28999,64021,29121,29182,29361,29374,29476,64022,29559,29629,29641,29654,29667,29650,29703,29685,29734,29738,29737,29742,29794,29833,29855,29953,30063,30338,30364,30366,30363,30374,64023,30534,21167,30753,30798,30820,30842,31024,64024,64025,64026,31124,64027,31131,31441,31463,64028,31467,31646,64029,32072,32092,32183,32160,32214,32338,32583,32673,64030,33537,33634,33663,33735,33782,33864,33972,34131,34137,34155,64031,34224,64032,64033,34823,35061,35346,35383,35449,35495,35518,35551,64034,35574,35667,35711,36080,36084,36114,36214,64035,36559,64036,64037,36967,37086,64038,37141,37159,37338,37335,37342,37357,37358,37348,37349,37382,37392,37386,37434,37440,37436,37454,37465,37457,37433,37479,37543,37495,37496,37607,37591,37593,37584,64039,37589,37600,37587,37669,37665,37627,64040,37662,37631,37661,37634,37744,37719,37796,37830,37854,37880,37937,37957,37960,38290,63964,64041,38557,38575,38707,38715,38723,38733,38735,38737,38741,38999,39013,64042,64043,39207,64044,39326,39502,39641,39644,39797,39794,39823,39857,39867,39936,40304,40299,64045,40473,40657,null,null,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,65506,65508,65287,65282,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,65506,65508,65287,65282,12849,8470,8481,8757,32394,35100,37704,37512,34012,20425,28859,26161,26824,37625,26363,24389,20008,20193,20220,20224,20227,20281,20310,20370,20362,20378,20372,20429,20544,20514,20479,20510,20550,20592,20546,20628,20724,20696,20810,20836,20893,20926,20972,21013,21148,21158,21184,21211,21248,21255,21284,21362,21395,21426,21469,64014,21660,21642,21673,21759,21894,22361,22373,22444,22472,22471,64015,64016,22686,22706,22795,22867,22875,22877,22883,22948,22970,23382,23488,29999,23512,23532,23582,23718,23738,23797,23847,23891,64017,23874,23917,23992,23993,24016,24353,24372,24423,24503,24542,24669,24709,24714,24798,24789,24864,24818,24849,24887,24880,24984,25107,25254,25589,25696,25757,25806,25934,26112,26133,26171,26121,26158,26142,26148,26213,26199,26201,64018,26227,26265,26272,26290,26303,26362,26382,63785,26470,26555,26706,26560,26625,26692,26831,64019,26984,64020,27032,27106,27184,27243,27206,27251,27262,27362,27364,27606,27711,27740,27782,27759,27866,27908,28039,28015,28054,28076,28111,28152,28146,28156,28217,28252,28199,28220,28351,28552,28597,28
1661,28677,28679,28712,28805,28843,28943,28932,29020,28998,28999,64021,29121,29182,29361,29374,29476,64022,29559,29629,29641,29654,29667,29650,29703,29685,29734,29738,29737,29742,29794,29833,29855,29953,30063,30338,30364,30366,30363,30374,64023,30534,21167,30753,30798,30820,30842,31024,64024,64025,64026,31124,64027,31131,31441,31463,64028,31467,31646,64029,32072,32092,32183,32160,32214,32338,32583,32673,64030,33537,33634,33663,33735,33782,33864,33972,34131,34137,34155,64031,34224,64032,64033,34823,35061,35346,35383,35449,35495,35518,35551,64034,35574,35667,35711,36080,36084,36114,36214,64035,36559,64036,64037,36967,37086,64038,37141,37159,37338,37335,37342,37357,37358,37348,37349,37382,37392,37386,37434,37440,37436,37454,37465,37457,37433,37479,37543,37495,37496,37607,37591,37593,37584,64039,37589,37600,37587,37669,37665,37627,64040,37662,37631,37661,37634,37744,37719,37796,37830,37854,37880,37937,37957,37960,38290,63964,64041,38557,38575,38707,38715,38723,38733,38735,38737,38741,38999,39013,64042,64043,39207,64044,39326,39502,39641,39644,39797,39794,39823,39857,39867,39936,40304,40299,64045,40473,40657,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],jis0212:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,728,711,184,729,733,175,731,730,65374,900,901,null,null,null,null,null,null,null,null,161,166,191,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,186,170,169,174,8482,164,8470,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,902,904,905,906,938,null,908,null,910,939,null,911,null,null,null,null,940,941,942,943,970,912,972,962,973,971,944,974,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1038,1039,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1118,1119,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,198,272,null,294,null,306,null,321,319,null,330,216,338,null,358,222,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,230,273,240,295,305,307,312,322,320,329,331,248,339,223,359,254,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,193,192,196,194,258,461,256,260,197,195,262,264,268,199,266,270,201,200,203,202,282,278,274,280,null,284,286,290,288,292,205,204,207,206,463,304,298,302,296,308,310,313,317,315,323,327,325,209,211,210,214,212,465,336,332,213,340,344,342,346,348,352,350,356,354,218,217,220,219,364,467,368,362,370,366,360,471,475,473,469,372,221,376,374,377,381,379,null,null,null,null,null,null,null,225,224,228,226,259,462,257,261,229,227,263,265,269,231,267,271,233,232,235,234,283,279,275,281,501,285,287,null,289,293,237,236,239,238,464,null,299,303,297,309,311,314,318,316,324,328,326,241,243,242,246,244,466,337,333,245,341,345,343,347,349,353,351,357,355,250,249,252,251,365,468,369,363,371,367,361,472,476,474,470,373,253,255,375,378,382,380,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,19970,19972,19973,19980,19986,19999,20003,20004,20008,20011,20014,20015,20016,20021,20032,20033,20036,20039,20049,20058,20060,20067,20072,20073,20084,20085,20089,20095,20109,20118,20119,20125,20143,20153,20163,20176,20186,20187,20192,20193,20194,20200,20207,20209,20211,20213,20221,20222,20223,20224,20226,20227,20232,20235,20236,20242,20245,20246,20247,20249,20270,20273,20320,20275,20277,20279,20281,20283,20286,20288,20290,20296,20297,20299,20300,20306,20308,20310,20312,20319,20323,20330,20332,20334,20337,20343,20344,20345,20346,20349,20350,20353,20354,20356,20357,20361,20362,20364,20366,20368,20370,20371,20372,20375,20377,20378,20382,20383,20402,20407,20409,20411,20412,20413,20414,20416,20417,20421,20422,20424,20425,20427,20428,20429,20431,20434,20444,20448,20450,20464,20466,20476,20477,20479,20480,20481,20484,20487,20490,20492,20494,20496,20499,20503,20504,20507,20508,20509,20510,20514,20519,20526,20528,20530,20531,20533,20544,20545,20546,20549,20550,20554,20556,20558,20561,20562,20563,20567,20569,20575,20576,20578,20579,20582,20583,20586,20589,20592,20593,20539,20609,20611,20612,20614,20618,20622,20623,20624,20626,20627,20628,20630,20635,20636,20638,20639,20640,20641,20642,20650,20655,20656,20665,20666,20669,20672,20675,20676,20679,20684,20686,20688,20691,20692,20696,20700,20701,20703,20706,20708,20710,20712,20713,20719,20721,20726,20730,20734,20739,20742,20743,20744,20747,20748,20749,20750,20722,20752,20759,20761,20763,20764,20765,20766,20771,20775,20776,20780,20781,20783,20785,20787,20788,20789,20792,20793,20802,20810,20815,20819,20821,20823,20824,20831,20836,20838,20862,20867,20868,20875,20878,20888,20893,20897,20899,20909,20920,20922,20924,20926,20927,20930,20936,20943,20945,20946,20947,20949,20952,20958,20962,20965,20974,20978,20979,20980,20983,20993,20994,20997,21010,21011,21013,21014,21016,21026,21032,21041,21042,21045,21052,21061,21065,21077,21079,21080,21082,21084,21087,21088,21089,21094,21102,21111,21112,21113,21120,21122,21125,21130,21132,21139,21141,21142,21143,21144,21146,21148,21156,21157,21158,21159,21167,21168,21174,21175,21176,21178,21179,21181,21184,21188,21190,21192,21196,21199,21201,21204,21206,21211,21212,21217,21221,21224,21225,21226,21228,21232,21233,21236,21238,21239,21248,21251,21258,21259,21260,21265,21267,21272,21275,21276,21278,21279,21285,21287,21288,21289,21291,21292,21293,21296,21298,21301,21308,21309,21310,21314,21324,21323,21337,21339,21345,21347,21349,21356,21357,21362,21369,21374,21379,21383,21384,21390,21395,21396,21401,21405,21409,21412,21418,21419,21423,21426,21428,21429,21431,21432,21434,21437,21440,21445,21455,21458,21459,21461,21466,21469,21470,21472,21478,21479,21493,21506,21523,21530,21537,21543,21544,21546,21551,21553,21556,21557,21571,21572,21575,21581,21583,21598,21602,21604,21606,21607,21609,21611,21613,21614,21620,21631,21633,21635,21637,21640,21641,21645,21649,21653,21654,21660,21663,21665,21670,21671,21673,21674,21677,21678,21681,21687,21689,21690,21691,21695,21702,21706,21709,21710,21728,21738,21740,21743,21750,21756,21758,21759,21760,21761,21765,21768,21769,21772,21773,21774,21781,21802,21803,21810,21813,21814,21819,21820,21821,21825,21831,21833,21834,21837,21840,21841,21848,21850,21851,21854,21856,21857,21860,21862,21887,21889,21890,21894,21896,21902,21903,21905,21906,21907,21908,21911,21923,21924,21933,21938,21951,21953,21955,21958,21961,21963,21964,21966,21969,21970,21971,21975,21976,21979,21982,21986,21993,22006,22015,22021,22024,2202
16,22029,22030,22031,22032,22033,22034,22041,22060,22064,22067,22069,22071,22073,22075,22076,22077,22079,22080,22081,22083,22084,22086,22089,22091,22093,22095,22100,22110,22112,22113,22114,22115,22118,22121,22125,22127,22129,22130,22133,22148,22149,22152,22155,22156,22165,22169,22170,22173,22174,22175,22182,22183,22184,22185,22187,22188,22189,22193,22195,22199,22206,22213,22217,22218,22219,22223,22224,22220,22221,22233,22236,22237,22239,22241,22244,22245,22246,22247,22248,22257,22251,22253,22262,22263,22273,22274,22279,22282,22284,22289,22293,22298,22299,22301,22304,22306,22307,22308,22309,22313,22314,22316,22318,22319,22323,22324,22333,22334,22335,22341,22342,22348,22349,22354,22370,22373,22375,22376,22379,22381,22382,22383,22384,22385,22387,22388,22389,22391,22393,22394,22395,22396,22398,22401,22403,22412,22420,22423,22425,22426,22428,22429,22430,22431,22433,22421,22439,22440,22441,22444,22456,22461,22471,22472,22476,22479,22485,22493,22494,22500,22502,22503,22505,22509,22512,22517,22518,22520,22525,22526,22527,22531,22532,22536,22537,22497,22540,22541,22555,22558,22559,22560,22566,22567,22573,22578,22585,22591,22601,22604,22605,22607,22608,22613,22623,22625,22628,22631,22632,22648,22652,22655,22656,22657,22663,22664,22665,22666,22668,22669,22671,22672,22676,22678,22685,22688,22689,22690,22694,22697,22705,22706,22724,22716,22722,22728,22733,22734,22736,22738,22740,22742,22746,22749,22753,22754,22761,22771,22789,22790,22795,22796,22802,22803,22804,34369,22813,22817,22819,22820,22824,22831,22832,22835,22837,22838,22847,22851,22854,22866,22867,22873,22875,22877,22878,22879,22881,22883,22891,22893,22895,22898,22901,22902,22905,22907,22908,22923,22924,22926,22930,22933,22935,22943,22948,22951,22957,22958,22959,22960,22963,22967,22970,22972,22977,22979,22980,22984,22986,22989,22994,23005,23006,23007,23011,23012,23015,23022,23023,23025,23026,23028,23031,23040,23044,23052,23053,23054,23058,23059,23070,23075,23076,23079,23080,23082,23085,23088,23108,23109,23111,23112,23116,23120,23125,23134,23139,23141,23143,23149,23159,23162,23163,23166,23179,23184,23187,23190,23193,23196,23198,23199,23200,23202,23207,23212,23217,23218,23219,23221,23224,23226,23227,23231,23236,23238,23240,23247,23258,23260,23264,23269,23274,23278,23285,23286,23293,23296,23297,23304,23319,23348,23321,23323,23325,23329,23333,23341,23352,23361,23371,23372,23378,23382,23390,23400,23406,23407,23420,23421,23422,23423,23425,23428,23430,23434,23438,23440,23441,23443,23444,23446,23464,23465,23468,23469,23471,23473,23474,23479,23482,23484,23488,23489,23501,23503,23510,23511,23512,23513,23514,23520,23535,23537,23540,23549,23564,23575,23582,23583,23587,23590,23593,23595,23596,23598,23600,23602,23605,23606,23641,23642,23644,23650,23651,23655,23656,23657,23661,23664,23668,23669,23674,23675,23676,23677,23687,23688,23690,23695,23698,23709,23711,23712,23714,23715,23718,23722,23730,23732,23733,23738,23753,23755,23762,23773,23767,23790,23793,23794,23796,23809,23814,23821,23826,23851,23843,23844,23846,23847,23857,23860,23865,23869,23871,23874,23875,23878,23880,23893,23889,23897,23882,23903,23904,23905,23906,23908,23914,23917,23920,23929,23930,23934,23935,23937,23939,23944,23946,23954,23955,23956,23957,23961,23963,23967,23968,23975,23979,23984,23988,23992,23993,24003,24007,24011,24016,24014,24024,24025,24032,24036,24041,24056,24057,24064,24071,24077,24082,24084,24085,24088,24095,24096,24110,24104,24114,24117,24126,24139,24144,24137,24145,24150,24152,24155,24156,24158,24168,24170,24171,24172,24173,24174,24176,24192,24203,24206,24226,24228,24229,24232,24234,24236,24241,24243,24253,24254,24255,24262,24268,24267,24270,24273,24274,24276,24277,24284,24286,24293,24299,24322,24326,24327,24328,24334,24345,24348,24349,24353,24354,24355,24356,24360,24363,24364,24366,24368,24372,24374,24379,24381,24383,24384,24388,24389,24391,24397,24400,24404,24408,24411,24416,24419,24420,24423,24431,24434,24436,24437,24440,24442,24445,24446,24457,24461,24463,24470,24476,24477,24482,24487,24491,24484,24492,24495,24496,24497,24504,24516,24519,24520,24521,24523,24528,24529,24530,24531,24532,24542,24545,24546,24552,24553,24554,24556,24557,24558,24559,24562,24563,24566,24570,24572,24583,24586,24589,24595,24596,24599,24600,24602,24607,24612,24621,24627,24629,24640,24647,24648,24649,24652,24657,24660,24662,24663,24669,24673,24679,24689,24702,24703,24706,24710,24712,24714,24718,24721,24723,24725,24728,24733,24734,24738,24740,24741,24744,24752,24753,24759,24763,24766,24770,24772,24776,24777,24778,24779,24782,24783,24788,24789,24793,24795,24797,24798,24802,24805,24818,24821,24824,24828,24829,24834,24839,24842,24844,24848,24849,24850,24851,24852,24854,24855,24857,24860,24862,24866,24874,24875,24880,24881,24885,24886,24887,24889,24897,24901,24902,24905,24926,24928,24940,24946,24952,24955,24956,24959,24960,24961,24963,24964,24971,24973,24978,24979,24983,24984,24988,24989,24991,24992,24997,25e3,25002,25005,25016,25017,25020,25024,25025,25026,25038,25039,25045,25052,25053,25054,25055,25057,25058,25063,25065,25061,25068,25069,25071,25089,25091,25092,25095,25107,25109,25116,25120,25122,25123,25127,25129,25131,25145,25149,25154,25155,25156,25158,25164,25168,25169,25170,25172,25174,25178,25180,25188,25197,25199,25203,25210,25213,25229,25230,25231,25232,25254,25256,25267,25270,25271,25274,25278,25279,25284,25294,25301,25302,25306,25322,25330,25332,25340,25341,25347,25348,25354,25355,25357,25360,25363,25366,25368,25385,25386,25389,25397,25398,25401,25404,25409,25410,25411,25412,25414,25418,25419,25422,25426,25427,25428,25432,25435,25445,25446,25452,25453,25457,25460,25461,25464,25468,25469,25471,25474,25476,25479,25482,25488,25492,25493,25497,25498,25
1502,25508,25510,25517,25518,25519,25533,25537,25541,25544,25550,25553,25555,25556,25557,25564,25568,25573,25578,25580,25586,25587,25589,25592,25593,25609,25610,25616,25618,25620,25624,25630,25632,25634,25636,25637,25641,25642,25647,25648,25653,25661,25663,25675,25679,25681,25682,25683,25684,25690,25691,25692,25693,25695,25696,25697,25699,25709,25715,25716,25723,25725,25733,25735,25743,25744,25745,25752,25753,25755,25757,25759,25761,25763,25766,25768,25772,25779,25789,25790,25791,25796,25801,25802,25803,25804,25806,25808,25809,25813,25815,25828,25829,25833,25834,25837,25840,25845,25847,25851,25855,25857,25860,25864,25865,25866,25871,25875,25876,25878,25881,25883,25886,25887,25890,25894,25897,25902,25905,25914,25916,25917,25923,25927,25929,25936,25938,25940,25951,25952,25959,25963,25978,25981,25985,25989,25994,26002,26005,26008,26013,26016,26019,26022,26030,26034,26035,26036,26047,26050,26056,26057,26062,26064,26068,26070,26072,26079,26096,26098,26100,26101,26105,26110,26111,26112,26116,26120,26121,26125,26129,26130,26133,26134,26141,26142,26145,26146,26147,26148,26150,26153,26154,26155,26156,26158,26160,26161,26163,26169,26167,26176,26181,26182,26186,26188,26193,26190,26199,26200,26201,26203,26204,26208,26209,26363,26218,26219,26220,26238,26227,26229,26239,26231,26232,26233,26235,26240,26236,26251,26252,26253,26256,26258,26265,26266,26267,26268,26271,26272,26276,26285,26289,26290,26293,26299,26303,26304,26306,26307,26312,26316,26318,26319,26324,26331,26335,26344,26347,26348,26350,26362,26373,26375,26382,26387,26393,26396,26400,26402,26419,26430,26437,26439,26440,26444,26452,26453,26461,26470,26476,26478,26484,26486,26491,26497,26500,26510,26511,26513,26515,26518,26520,26521,26523,26544,26545,26546,26549,26555,26556,26557,26617,26560,26562,26563,26565,26568,26569,26578,26583,26585,26588,26593,26598,26608,26610,26614,26615,26706,26644,26649,26653,26655,26664,26663,26668,26669,26671,26672,26673,26675,26683,26687,26692,26693,26698,26700,26709,26711,26712,26715,26731,26734,26735,26736,26737,26738,26741,26745,26746,26747,26748,26754,26756,26758,26760,26774,26776,26778,26780,26785,26787,26789,26793,26794,26798,26802,26811,26821,26824,26828,26831,26832,26833,26835,26838,26841,26844,26845,26853,26856,26858,26859,26860,26861,26864,26865,26869,26870,26875,26876,26877,26886,26889,26890,26896,26897,26899,26902,26903,26929,26931,26933,26936,26939,26946,26949,26953,26958,26967,26971,26979,26980,26981,26982,26984,26985,26988,26992,26993,26994,27002,27003,27007,27008,27021,27026,27030,27032,27041,27045,27046,27048,27051,27053,27055,27063,27064,27066,27068,27077,27080,27089,27094,27095,27106,27109,27118,27119,27121,27123,27125,27134,27136,27137,27139,27151,27153,27157,27162,27165,27168,27172,27176,27184,27186,27188,27191,27195,27198,27199,27205,27206,27209,27210,27214,27216,27217,27218,27221,27222,27227,27236,27239,27242,27249,27251,27262,27265,27267,27270,27271,27273,27275,27281,27291,27293,27294,27295,27301,27307,27311,27312,27313,27316,27325,27326,27327,27334,27337,27336,27340,27344,27348,27349,27350,27356,27357,27364,27367,27372,27376,27377,27378,27388,27389,27394,27395,27398,27399,27401,27407,27408,27409,27415,27419,27422,27428,27432,27435,27436,27439,27445,27446,27451,27455,27462,27466,27469,27474,27478,27480,27485,27488,27495,27499,27502,27504,27509,27517,27518,27522,27525,27543,27547,27551,27552,27554,27555,27560,27561,27564,27565,27566,27568,27576,27577,27581,27582,27587,27588,27593,27596,27606,27610,27617,27619,27622,27623,27630,27633,27639,27641,27647,27650,27652,27653,27657,27661,27662,27664,27666,27673,27679,27686,27687,27688,27692,27694,27699,27701,27702,27706,27707,27711,27722,27723,27725,27727,27730,27732,27737,27739,27740,27755,27757,27759,27764,27766,27768,27769,27771,27781,27782,27783,27785,27796,27797,27799,27800,27804,27807,27824,27826,27828,27842,27846,27853,27855,27856,27857,27858,27860,27862,27866,27868,27872,27879,27881,27883,27884,27886,27890,27892,27908,27911,27914,27918,27919,27921,27923,27930,27942,27943,27944,27751,27950,27951,27953,27961,27964,27967,27991,27998,27999,28001,28005,28007,28015,28016,28028,28034,28039,28049,28050,28052,28054,28055,28056,28074,28076,28084,28087,28089,28093,28095,28100,28104,28106,28110,28111,28118,28123,28125,28127,28128,28130,28133,28137,28143,28144,28148,28150,28156,28160,28164,28190,28194,28199,28210,28214,28217,28219,28220,28228,28229,28232,28233,28235,28239,28241,28242,28243,28244,28247,28252,28253,28254,28258,28259,28264,28275,28283,28285,28301,28307,28313,28320,28327,28333,28334,28337,28339,28347,28351,28352,28353,28355,28359,28360,28362,28365,28366,28367,28395,28397,28398,28409,28411,28413,28420,28424,28426,28428,28429,28438,28440,28442,28443,28454,28457,28458,28463,28464,28467,28470,28475,28476,28461,28495,28497,28498,28499,28503,28505,28506,28509,28510,28513,28514,28520,28524,28541,28542,28547,28551,28552,28555,28556,28557,28560,28562,28563,28564,28566,28570,28575,28576,28581,28582,28583,28584,28590,28591,28592,28597,28598,28604,28613,28615,28616,28618,28634,28638,28648,28649,28656,28661,28665,28668,28669,28672,28677,28678,28679,28685,28695,28704,28707,28719,28724,28727,28729,28732,28739,28740,28744,28745,28746,28747,28756,28757,28765,28766,28750,28772,28773,28780,28782,28789,28790,28798,28801,28805,28806,28820,28821,28822,28823,28824,28827,28836,28843,28848,28849,28852,28855,28874,28881,28883,28884,28885,28886,28888,28892,28900,28922,28931,28932,28933,28934,28935,28939,28940,28943,28958,28960,28971,28973,28975,28976,28977,28984,28993,28997,28998,28999,29002,29003,29008,29010,29015,29018,29020,29022,29024,29032,29049,29056,29061,29063,29068,29074,29082,29083,29088,29090,29103,29104,29106,29107,29114,29119,29120,29121,29124,29131,29132,29139,29142,29145,29146,29148,29176,29182,29184,29191,29192,29193,29203,29207,29210,29213,29215,29220,29227,29231,29236,29240,29241,29249,29250,29251,29253,29262,29263,29264,29267,29269,29270,29274,29276,29278,29280,29283,29288,29291,29294,29295,29297,29303,29304,29307,29308,29311,29316,29321,29325,29326,29331,29339,29352,29357,29358,29361,29364,29374,29377,29383,29385,29388,29397,29398,29400,29407,29413,29427,29428,29434,29435,29438,29442,29444,29445,29447,29451,29453,29458,29459,29464,29465,29470,29474,29476,29479,29480,29484,29489,29490,29493,29498,29499,29501,29507,29517,29520,29522,29526,29528,29533,29534,29535,29536,29542,29543,29545,29547,29548,29550,29551,29553,29559,29561,29564,29568,29569,29571,29573,29574,29582,29584,29587,29589,29591,29592,29596,29598,29599,29600,29602,29605,29606,29610,29611,29613,29621,29623,29625,29628,29629,29631,29637,29638,29641,29643,29644,29647,29650,29651,29654,29657,29661,29665,29667,29670,29671,29673,29684,29685,29687,29689,29690,29691,29693,29695,29696,29697,29700,29703,29706,29713,29722,29723,29732,29734,29736,29737,29738,29739,29740,29741,29742,29743,29744,29745,29753,29760,29763,29764,29766,29767,29771,29773,29777,29778,29783,29789,29794,29798,29799,29800,29803,29805,29806,29809,29810,29824,29825,29829,29830,29831,29833,29839,29840,29841,29842,29848,29849,29850,29852,29855,29856,29857,29859,29862,29864,29865,29866,29867,29870,29871,29873,29874,29877,29881,29883,29887,29896,29897,29900,29904,29907,29912,29914,29915,29918,29919,29924,29928,29930,29931,29935,29940,29946,29947,29948,29951,29958,29970,29974,29975,29984,29985,29988,29991,29993,29994,29999,30006,30009,30013,30014,30015,30016,30019,3
10023,30024,30030,30032,30034,30039,30046,30047,30049,30063,30065,30073,30074,30075,30076,30077,30078,30081,30085,30096,30098,30099,30101,30105,30108,30114,30116,30132,30138,30143,30144,30145,30148,30150,30156,30158,30159,30167,30172,30175,30176,30177,30180,30183,30188,30190,30191,30193,30201,30208,30210,30211,30212,30215,30216,30218,30220,30223,30226,30227,30229,30230,30233,30235,30236,30237,30238,30243,30245,30246,30249,30253,30258,30259,30261,30264,30265,30266,30268,30282,30272,30273,30275,30276,30277,30281,30283,30293,30297,30303,30308,30309,30317,30318,30319,30321,30324,30337,30341,30348,30349,30357,30363,30364,30365,30367,30368,30370,30371,30372,30373,30374,30375,30376,30378,30381,30397,30401,30405,30409,30411,30412,30414,30420,30425,30432,30438,30440,30444,30448,30449,30454,30457,30460,30464,30470,30474,30478,30482,30484,30485,30487,30489,30490,30492,30498,30504,30509,30510,30511,30516,30517,30518,30521,30525,30526,30530,30533,30534,30538,30541,30542,30543,30546,30550,30551,30556,30558,30559,30560,30562,30564,30567,30570,30572,30576,30578,30579,30580,30586,30589,30592,30596,30604,30605,30612,30613,30614,30618,30623,30626,30631,30634,30638,30639,30641,30645,30654,30659,30665,30673,30674,30677,30681,30686,30687,30688,30692,30694,30698,30700,30704,30705,30708,30712,30715,30725,30726,30729,30733,30734,30737,30749,30753,30754,30755,30765,30766,30768,30773,30775,30787,30788,30791,30792,30796,30798,30802,30812,30814,30816,30817,30819,30820,30824,30826,30830,30842,30846,30858,30863,30868,30872,30881,30877,30878,30879,30884,30888,30892,30893,30896,30897,30898,30899,30907,30909,30911,30919,30920,30921,30924,30926,30930,30931,30933,30934,30948,30939,30943,30944,30945,30950,30954,30962,30963,30976,30966,30967,30970,30971,30975,30982,30988,30992,31002,31004,31006,31007,31008,31013,31015,31017,31021,31025,31028,31029,31035,31037,31039,31044,31045,31046,31050,31051,31055,31057,31060,31064,31067,31068,31079,31081,31083,31090,31097,31099,31100,31102,31115,31116,31121,31123,31124,31125,31126,31128,31131,31132,31137,31144,31145,31147,31151,31153,31156,31160,31163,31170,31172,31175,31176,31178,31183,31188,31190,31194,31197,31198,31200,31202,31205,31210,31211,31213,31217,31224,31228,31234,31235,31239,31241,31242,31244,31249,31253,31259,31262,31265,31271,31275,31277,31279,31280,31284,31285,31288,31289,31290,31300,31301,31303,31304,31308,31317,31318,31321,31324,31325,31327,31328,31333,31335,31338,31341,31349,31352,31358,31360,31362,31365,31366,31370,31371,31376,31377,31380,31390,31392,31395,31404,31411,31413,31417,31419,31420,31430,31433,31436,31438,31441,31451,31464,31465,31467,31468,31473,31476,31483,31485,31486,31495,31508,31519,31523,31527,31529,31530,31531,31533,31534,31535,31536,31537,31540,31549,31551,31552,31553,31559,31566,31573,31584,31588,31590,31593,31594,31597,31599,31602,31603,31607,31620,31625,31630,31632,31633,31638,31643,31646,31648,31653,31660,31663,31664,31666,31669,31670,31674,31675,31676,31677,31682,31685,31688,31690,31700,31702,31703,31705,31706,31707,31720,31722,31730,31732,31733,31736,31737,31738,31740,31742,31745,31746,31747,31748,31750,31753,31755,31756,31758,31759,31769,31771,31776,31781,31782,31784,31788,31793,31795,31796,31798,31801,31802,31814,31818,31829,31825,31826,31827,31833,31834,31835,31836,31837,31838,31841,31843,31847,31849,31853,31854,31856,31858,31865,31868,31869,31878,31879,31887,31892,31902,31904,31910,31920,31926,31927,31930,31931,31932,31935,31940,31943,31944,31945,31949,31951,31955,31956,31957,31959,31961,31962,31965,31974,31977,31979,31989,32003,32007,32008,32009,32015,32017,32018,32019,32022,32029,32030,32035,32038,32042,32045,32049,32060,32061,32062,32064,32065,32071,32072,32077,32081,32083,32087,32089,32090,32092,32093,32101,32103,32106,32112,32120,32122,32123,32127,32129,32130,32131,32133,32134,32136,32139,32140,32141,32145,32150,32151,32157,32158,32166,32167,32170,32179,32182,32183,32185,32194,32195,32196,32197,32198,32204,32205,32206,32215,32217,32256,32226,32229,32230,32234,32235,32237,32241,32245,32246,32249,32250,32264,32272,32273,32277,32279,32284,32285,32288,32295,32296,32300,32301,32303,32307,32310,32319,32324,32325,32327,32334,32336,32338,32344,32351,32353,32354,32357,32363,32366,32367,32371,32376,32382,32385,32390,32391,32394,32397,32401,32405,32408,32410,32413,32414,32572,32571,32573,32574,32575,32579,32580,32583,32591,32594,32595,32603,32604,32605,32609,32611,32612,32613,32614,32621,32625,32637,32638,32639,32640,32651,32653,32655,32656,32657,32662,32663,32668,32673,32674,32678,32682,32685,32692,32700,32703,32704,32707,32712,32718,32719,32731,32735,32739,32741,32744,32748,32750,32751,32754,32762,32765,32766,32767,32775,32776,32778,32781,32782,32783,32785,32787,32788,32790,32797,32798,32799,32800,32804,32806,32812,32814,32816,32820,32821,32823,32825,32826,32828,32830,32832,32836,32864,32868,32870,32877,32881,32885,32897,32904,32910,32924,32926,32934,32935,32939,32952,32953,32968,32973,32975,32978,32980,32981,32983,32984,32992,33005,33006,33008,33010,33011,33014,33017,33018,33022,33027,33035,33046,33047,33048,33052,33054,33056,33060,33063,33068,33072,33077,33082,33084,33093,33095,33098,33100,33106,33111,33120,33121,33127,33128,33129,33133,33135,33143,33153,33168,33156,33157,33158,33163,33166,33174,33176,33179,33182,33186,33198,33202,33204,33211,33227,33219,33221,33226,33230,33231,33237,33239,33243,33245,33246,33249,33252,33259,33260,33264,33265,33266,33269,33270,33272,33273,33277,33279,33280,33283,33295,33299,33300,33305,33306,33309,33313,33314,33320,33330,33332,33338,33347,33348,33349,33350,33355,33358,33359,33361,33366,33372,33376,33379,33383,33389,33396,33403,33405,33407,33408,33409,33411,33412,33415,33417,33418,33422,33425,33428,33430,33432,33434,33435,33440,33441,33443,33444,33447,33448,33449,33450,33454,33456,33458,33460,33463,33466,33468,33470,33471,33478,33488,33493,33498,33504,33506,33508,33512,33514,33517,33519,33526,33527,33533,33534,33536,33537,33543,33544,33546,33547,33620,33563,33565,33566,33567,33569,33570,33580,33581,33582,33584,33587,33591,33594,33596,33597,33602,33603,33604,33607,33613,33614,33617,33621,33622,33623,33648,33656,33661,33663,33664,33666,33668,33670,33677,33682,33684,33685,33688,33689,33691,33692,33693,33702,33703,33705,33708,33726,33727,33728,33735,33737,33743,33744,33745,33748,33757,33619,33768,33770,33782,33784,33785,33788,33793,33798,33802,33807,33809,33813,33817,33709,33839,33849,33861,33863,33864,33866,33869,33871,33873,33874,33878,33880,33881,33882,33884,33888,33892,33893,33895,33898,33904,33907,33908,33910,33912,33916,33917,33921,33925,33938,33939,33941,33950,33958,33960,33961,33962,33967,33969,33972,33978,33981,33982,33984,33986,33991,33992,33996,33999,34003,34012,34023,34026,34031,34032,34033,34034,34039,34098,34042,34043,34045,34050,34051,34055,34060,34062,34064,34076,34078,34082,34083,34084,34085,34087,34090,34091,34095,34099,34100,34102,34111,34118,34127,34128,34129,34130,34131,34134,34137,34140,34141,34142,34143,34144,34145,34146,34148,34155,34159,34169,34170,34171,34173,34175,34177,34181,34182,34185,34187,34188,34191,34195,34200,34205,34207,34208,34210,34213,34215,34228,34230,34231,34232,34236,34237,34238,34239,34242,34247,34250,34251,34254,34221,34264,34266,34271,34272,34278,34280,34285,34291,34294,34300,34303,34304,34308,34309,34317,34318,34320,34321,34322,34328,34329,34331,34334,34337,34343,34345,34358,34360,34362,34364,34365,34368,34370,34374,34386,34387,34390,34391,34392,34393,34397,34400,34401,34402,34403,34404,34409,34412,34415,34421,34422,34423,34426,34445,34449,34454,34456,34458,34460,34465,34470,34471,34472,34477,34481,34483,34484,34485,34487,34488,34489,34495,34496,34497,34499,34501,34513,34514,34517,34519,34522,34524,34528,34531,34533,34535,34440,34554,34556,34557,34564,34565,34567,34571,34574,34575,34576,34579,34580,34585,34590,34591,34593,34595,34600,34606,34607,34609,34610,34617,34618,34620,34621,34622,34624,34627,34629,34637,34648,34653,34657,34660,34661,34671,34673,34674,34683,34691,34692,34693,34694,34695,34696,34697,34699,34700,34704,34707,34709,34711,34712,34713,34718,34720,34723,34727,34732,34733,34734,34737,34741,34750,34751,34753,34760,34761,34762,34766,34773,34774,34777,34778,34780,34783,34786,34787,34788,34794,34795,34797,34801,34803,34808,34810,34815,34817,34819,34822,34825,34826,34827,34832,34841,34834,34835,34836,34840,34842,34843,34844,34846,34847,34856,34861,34862,34864,34866,34869,34874,34876,34881,34883,34885,34888,34889,34890,34891,34894,34897,34901,34902,34904,34906,34908,34911,34912,34916,34921,34929,34937,34939,34944,34968,34970,34971,34972,34975,34976,34984,34986,35002,35005,35006,35008,35018,35019,35020,35021,35022,35025,35026,35027,35035,35038,35047,35055,35056,350
157,35061,35063,35073,35078,35085,35086,35087,35093,35094,35096,35097,35098,35100,35104,35110,35111,35112,35120,35121,35122,35125,35129,35130,35134,35136,35138,35141,35142,35145,35151,35154,35159,35162,35163,35164,35169,35170,35171,35179,35182,35184,35187,35189,35194,35195,35196,35197,35209,35213,35216,35220,35221,35227,35228,35231,35232,35237,35248,35252,35253,35254,35255,35260,35284,35285,35286,35287,35288,35301,35305,35307,35309,35313,35315,35318,35321,35325,35327,35332,35333,35335,35343,35345,35346,35348,35349,35358,35360,35362,35364,35366,35371,35372,35375,35381,35383,35389,35390,35392,35395,35397,35399,35401,35405,35406,35411,35414,35415,35416,35420,35421,35425,35429,35431,35445,35446,35447,35449,35450,35451,35454,35455,35456,35459,35462,35467,35471,35472,35474,35478,35479,35481,35487,35495,35497,35502,35503,35507,35510,35511,35515,35518,35523,35526,35528,35529,35530,35537,35539,35540,35541,35543,35549,35551,35564,35568,35572,35573,35574,35580,35583,35589,35590,35595,35601,35612,35614,35615,35594,35629,35632,35639,35644,35650,35651,35652,35653,35654,35656,35666,35667,35668,35673,35661,35678,35683,35693,35702,35704,35705,35708,35710,35713,35716,35717,35723,35725,35727,35732,35733,35740,35742,35743,35896,35897,35901,35902,35909,35911,35913,35915,35919,35921,35923,35924,35927,35928,35931,35933,35929,35939,35940,35942,35944,35945,35949,35955,35957,35958,35963,35966,35974,35975,35979,35984,35986,35987,35993,35995,35996,36004,36025,36026,36037,36038,36041,36043,36047,36054,36053,36057,36061,36065,36072,36076,36079,36080,36082,36085,36087,36088,36094,36095,36097,36099,36105,36114,36119,36123,36197,36201,36204,36206,36223,36226,36228,36232,36237,36240,36241,36245,36254,36255,36256,36262,36267,36268,36271,36274,36277,36279,36281,36283,36288,36293,36294,36295,36296,36298,36302,36305,36308,36309,36311,36313,36324,36325,36327,36332,36336,36284,36337,36338,36340,36349,36353,36356,36357,36358,36363,36369,36372,36374,36384,36385,36386,36387,36390,36391,36401,36403,36406,36407,36408,36409,36413,36416,36417,36427,36429,36430,36431,36436,36443,36444,36445,36446,36449,36450,36457,36460,36461,36463,36464,36465,36473,36474,36475,36482,36483,36489,36496,36498,36501,36506,36507,36509,36510,36514,36519,36521,36525,36526,36531,36533,36538,36539,36544,36545,36547,36548,36551,36559,36561,36564,36572,36584,36590,36592,36593,36599,36601,36602,36589,36608,36610,36615,36616,36623,36624,36630,36631,36632,36638,36640,36641,36643,36645,36647,36648,36652,36653,36654,36660,36661,36662,36663,36666,36672,36673,36675,36679,36687,36689,36690,36691,36692,36693,36696,36701,36702,36709,36765,36768,36769,36772,36773,36774,36789,36790,36792,36798,36800,36801,36806,36810,36811,36813,36816,36818,36819,36821,36832,36835,36836,36840,36846,36849,36853,36854,36859,36862,36866,36868,36872,36876,36888,36891,36904,36905,36911,36906,36908,36909,36915,36916,36919,36927,36931,36932,36940,36955,36957,36962,36966,36967,36972,36976,36980,36985,36997,37e3,37003,37004,37006,37008,37013,37015,37016,37017,37019,37024,37025,37026,37029,37040,37042,37043,37044,37046,37053,37068,37054,37059,37060,37061,37063,37064,37077,37079,37080,37081,37084,37085,37087,37093,37074,37110,37099,37103,37104,37108,37118,37119,37120,37124,37125,37126,37128,37133,37136,37140,37142,37143,37144,37146,37148,37150,37152,37157,37154,37155,37159,37161,37166,37167,37169,37172,37174,37175,37177,37178,37180,37181,37187,37191,37192,37199,37203,37207,37209,37210,37211,37217,37220,37223,37229,37236,37241,37242,37243,37249,37251,37253,37254,37258,37262,37265,37267,37268,37269,37272,37278,37281,37286,37288,37292,37293,37294,37296,37297,37298,37299,37302,37307,37308,37309,37311,37314,37315,37317,37331,37332,37335,37337,37338,37342,37348,37349,37353,37354,37356,37357,37358,37359,37360,37361,37367,37369,37371,37373,37376,37377,37380,37381,37382,37383,37385,37386,37388,37392,37394,37395,37398,37400,37404,37405,37411,37412,37413,37414,37416,37422,37423,37424,37427,37429,37430,37432,37433,37434,37436,37438,37440,37442,37443,37446,37447,37450,37453,37454,37455,37457,37464,37465,37468,37469,37472,37473,37477,37479,37480,37481,37486,37487,37488,37493,37494,37495,37496,37497,37499,37500,37501,37503,37512,37513,37514,37517,37518,37522,37527,37529,37535,37536,37540,37541,37543,37544,37547,37551,37554,37558,37560,37562,37563,37564,37565,37567,37568,37569,37570,37571,37573,37574,37575,37576,37579,37580,37581,37582,37584,37587,37589,37591,37592,37593,37596,37597,37599,37600,37601,37603,37605,37607,37608,37612,37614,37616,37625,37627,37631,37632,37634,37640,37645,37649,37652,37653,37660,37661,37662,37663,37665,37668,37669,37671,37673,37674,37683,37684,37686,37687,37703,37704,37705,37712,37713,37714,37717,37719,37720,37722,37726,37732,37733,37735,37737,37738,37741,37743,37744,37745,37747,37748,37750,37754,37757,37759,37760,37761,37762,37768,37770,37771,37773,37775,37778,37781,37784,37787,37790,37793,37795,37796,37798,37800,37803,37812,37813,37814,37818,37801,37825,37828,37829,37830,37831,37833,37834,37835,37836,37837,37843,37849,37852,37854,37855,37858,37862,37863,37881,37879,37880,37882,37883,37885,37889,37890,37892,37896,37897,37901,37902,37903,37909,37910,37911,37919,37934,37935,37937,37938,37939,37940,37947,37951,37949,37955,37957,37960,37962,37964,37973,37977,37980,37983,37985,37987,37992,37995,37997,37998,37999,38001,38002,38020,38019,38264,38265,38270,38276,38280,38284,38285,38286,38301,38302,38303,38305,38310,38313,38315,38316,38324,38326,38330,38333,38335,38342,38344,38345,38347,38352,38353,38354,38355,38361,38362,38365,38366,38367,38368,38372,38374,38429,38430,38434,38436,38437,38438,38444,38449,38451,38455,38456,38457,38458,38460,38461,38465,38482,38484,38486,38487,38488,38497,38510,38516,38523,38524,38526,38527,38529,38530,38531,38532,38537,38545,38550,38554,38557,38559,38564,38565,38566,38569,38574,38575,38579,38586,38602,38610,23986,38616,38618,38621,38622,38623,38633,38639,38641,38650,38658,38659,38661,38665,38682,38683,38685,38689,38690,38691,38696,38705,38707,38721,38723,38730,38734,38735,38741,38743,38744,38746,38747,38755,38759,38762,38766,38771,38774,38775,38776,38779,38781,38783,38784,38793,38805,38806,38807,38809,38810,38814,38815,38818,38828,38830,38833,38834,38837,38838,38840,38841,38842,38844,38846,38847,38849,38852,38853,38855,38857,38858,38860,38861,38862,38864,38865,38868,38871,38872,38873,38877,38878,38880,38875,38881,38884,38895,38897,38900,38903,38904,38906,38919,38922,38937,38925,38926,38932,38934,38940,38942,38944,38947,38950,38955,38958,38959,38960,38962,38963,38965,38949,38974,38980,38983,38986,38993,38994,38995,38998,38999,39001,39002,39010,39011,39013,39014,39018,39
1020,39083,39085,39086,39088,39092,39095,39096,39098,39099,39103,39106,39109,39112,39116,39137,39139,39141,39142,39143,39146,39155,39158,39170,39175,39176,39185,39189,39190,39191,39194,39195,39196,39199,39202,39206,39207,39211,39217,39218,39219,39220,39221,39225,39226,39227,39228,39232,39233,39238,39239,39240,39245,39246,39252,39256,39257,39259,39260,39262,39263,39264,39323,39325,39327,39334,39344,39345,39346,39349,39353,39354,39357,39359,39363,39369,39379,39380,39385,39386,39388,39390,39399,39402,39403,39404,39408,39412,39413,39417,39421,39422,39426,39427,39428,39435,39436,39440,39441,39446,39454,39456,39458,39459,39460,39463,39469,39470,39475,39477,39478,39480,39495,39489,39492,39498,39499,39500,39502,39505,39508,39510,39517,39594,39596,39598,39599,39602,39604,39605,39606,39609,39611,39614,39615,39617,39619,39622,39624,39630,39632,39634,39637,39638,39639,39643,39644,39648,39652,39653,39655,39657,39660,39666,39667,39669,39673,39674,39677,39679,39680,39681,39682,39683,39684,39685,39688,39689,39691,39692,39693,39694,39696,39698,39702,39705,39707,39708,39712,39718,39723,39725,39731,39732,39733,39735,39737,39738,39741,39752,39755,39756,39765,39766,39767,39771,39774,39777,39779,39781,39782,39784,39786,39787,39788,39789,39790,39795,39797,39799,39800,39801,39807,39808,39812,39813,39814,39815,39817,39818,39819,39821,39823,39824,39828,39834,39837,39838,39846,39847,39849,39852,39856,39857,39858,39863,39864,39867,39868,39870,39871,39873,39879,39880,39886,39888,39895,39896,39901,39903,39909,39911,39914,39915,39919,39923,39927,39928,39929,39930,39933,39935,39936,39938,39947,39951,39953,39958,39960,39961,39962,39964,39966,39970,39971,39974,39975,39976,39977,39978,39985,39989,39990,39991,39997,40001,40003,40004,40005,40009,40010,40014,40015,40016,40019,40020,40022,40024,40027,40029,40030,40031,40035,40041,40042,40028,40043,40040,40046,40048,40050,40053,40055,40059,40166,40178,40183,40185,40203,40194,40209,40215,40216,40220,40221,40222,40239,40240,40242,40243,40244,40250,40252,40261,40253,40258,40259,40263,40266,40275,40276,40287,40291,40290,40293,40297,40298,40299,40304,40310,40311,40315,40316,40318,40323,40324,40326,40330,40333,40334,40338,40339,40341,40342,40343,40344,40353,40362,40364,40366,40369,40373,40377,40380,40383,40387,40391,40393,40394,40404,40405,40406,40407,40410,40414,40415,40416,40421,40423,40425,40427,40430,40432,40435,40436,40446,40458,40450,40455,40462,40464,40465,40466,40469,40470,40473,40476,40477,40570,40571,40572,40576,40578,40579,40580,40581,40583,40590,40591,40598,40600,40603,40606,40612,40616,40620,40622,40623,40624,40627,40628,40629,40646,40648,40651,40661,40671,40676,40679,40684,40685,40686,40688,40689,40690,40693,40696,40703,40706,40707,40713,40719,40720,40721,40722,40724,40726,40727,40729,40730,40731,40735,40738,40742,40746,40747,40751,40753,40754,40756,40759,40761,40762,40764,40765,40767,40769,40771,40772,40773,40774,40775,40787,40789,40790,40791,40792,40794,40797,40798,40808,40809,40813,40814,40815,40816,40817,40819,40821,40826,40829,40847,40848,40849,40850,40852,40854,40855,40862,40865,40866,40867,40869,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],
vendor: 15,544 bytes, line 1
1ibm866:[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160],"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357,378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180,181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173,381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null,null,null,null,null,null,null,null,null,null,null,null,null],"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767,7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176,177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],"koi8-r":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],"koi8-u":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,1118,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,1038,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],macintosh:[196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,172,8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8221,8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218,8222,8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,305,710,732,175,728,729,730,184,733,731,711],"windows-874":[8364,129,130,131,132,8230,134,135,136,137,138,139,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,153,154,155,156,157,158,159,160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,null,null,null,null,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,null,null,null,null],"windows-1250":[8364,129,8218,131,8222,8230,8224,8225,136,8240,352,8249,346,356,381,377,144,8216,8217,8220,8221,8226,8211,8212,152,8482,353,8250,347,357,382,378,160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379,176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"windows-1251":[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,152,8482,1113,8250,1114,1116,1115,1119,160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031,176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"windows-1253":[8364,129,8218,402,8222,8230,8224,8225,136,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,157,158,159,160,901,902,163,164,165,166,167,168,169,null,171,172,173,174,8213,176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"windows-1254":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255],"windows-1255":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,156,157,158,159,160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,null,null,null,null,null,null,null,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"windows-1256":[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603,224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239,1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746],"windows-1257":[8364,129,8218,131,8222,8230,8224,8225,136,8240,138,8249,140,168,711,184,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,175,731,159,160,null,162,163,164,null,166,167,216,169,342,171,172,173,174,198,176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729],"windows-1258":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207,272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223,224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239,273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255],"x-mac-cyrillic":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]}
1}(this||{})},{}],192:[function(n,l,e){!function(e){"use strict";function t(n,l,e){return l<=n&&n<=e}function r(n){if(void 0===n)return{};if(n===Object(n))return n;throw TypeError("Could not convert argument to dictionary")}function s(n){return 0<=n&&n<=127}function a(n){this.tokens=[].slice.call(n),this.tokens.reverse()}function c(n,l){if(n)throw TypeError("Decoder error");return l||65533}function d(n){throw TypeError("The code point "+n+" could not be encoded.")}function h(n){return n=String(n).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(Y,n)?Y[n]:null}function v(n,l){return l&&l[n]||null}function g(n,l){var e=l.indexOf(n);return-1===e?null:e}function m(n){if(!("encoding-indexes"in e))throw Error("Indexes missing. Did you forget to include encoding-indexes.js first?");return e["encoding-indexes"][n]}function S(n,l){if(!(this instanceof S))throw TypeError("Called as a function. Did you forget 'new'?");n=void 0!==n?String(n):ln,l=r(l),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var e=h(n);if(null===e||"replacement"===e.name)throw RangeError("Unknown encoding: "+n);if(!nn[e.name])throw Error("Decoder not present. Did you forget to include encoding-indexes.js first?");var t=this;return t._encoding=e,Boolean(l.fatal)&&(t._error_mode="fatal"),Boolean(l.ignoreBOM)&&(t._ignoreBOM=!0),Object.defineProperty||(this.encoding=t._encoding.name.toLowerCase(),this.fatal="fatal"===t._error_mode,this.ignoreBOM=t._ignoreBOM),t}function T(n,l){if(!(this instanceof T))throw TypeError("Called as a function. Did you forget 'new'?");l=r(l),this._encoding=null,this._encoder=null,this._do_not_flush=!1,this._fatal=Boolean(l.fatal)?"fatal":"replacement";var t=this;if(Boolean(l.NONSTANDARD_allowLegacyEncoding)){var u=h(n=void 0!==n?String(n):ln);if(null===u||"replacement"===u.name)throw RangeError("Unknown encoding: "+n);if(!Z[u.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");t._encoding=u}else t._encoding=h("utf-8"),void 0!==n&&"console"in e&&console.warn("TextEncoder constructor called with encoding label, which is ignored.");return Object.defineProperty||(this.encoding=t._encoding.name.toLowerCase()),t}function w(n){var l=n.fatal,e=0,u=0,r=0,o=128,i=191;this.handler=function(n,s){if(s===K&&0!==r)return r=0,c(l);if(s===K)return X;if(0===r){if(t(s,0,127))return s;if(t(s,194,223))r=1,e=31&s;else if(t(s,224,239))224===s&&(o=160),237===s&&(i=159),r=2,e=15&s;else{if(!t(s,240,244))return c(l);240===s&&(o=144),244===s&&(i=143),r=3,e=7&s}return null}if(!t(s,o,i))return e=r=u=0,o=128,i=191,n.prepend(s),c(l);if(o=128,i=191,e=e<<6|63&s,(u+=1)!==r)return null;var a=e;return e=r=u=0,a}}function O(n){n.fatal,this.handler=function(n,l){if(l===K)return X;if(z(l))return l;var e,u;t(l,128,2047)?(e=1,u=192):t(l,2048,65535)?(e=2,u=224):t(l,65536,1114111)&&(e=3,u=240);for(var r=[(l>>6*e)+u];0<e;){var o=l>>6*(e-1);r.push(128|63&o),e-=1}return r}}function C(n,l){var e=l.fatal;this.handler=function(l,t){if(t===K)return X;if(s(t))return t;var u=n[t-128];return null===u?c(e):u}}function j(n,l){l.fatal,this.handler=function(l,e){if(e===K)return X;if(z(e))return e;var t=g(e,n);return null===t&&d(e),t+128}}function R(n){var l=n.fatal,e=0,u=0,r=0;this.handler=function(n,o){if(o===K&&0===e&&0===u&&0===r)return X;var i;if(o!==K||0===e&&0===u&&0===r||(r=u=e=0,c(l)),0!==r){i=null,t(o,48,57)&&(i=function(n){if(39419<n&&n<189e3||1237575<n)return null;if(7457===n)return 59335;var l,e=0,t=0,u=m("gb18030-ranges");for(l=0;l<u.length;++l){var r=u[l];if(!(r[0]<=n))break;e=r[0],t=r[1]}return t+n-e}(10*(126*(10*(e-129)+u-48)+r-129)+o-48));var a=[u,r,o];return r=u=e=0,null===i?(n.prepend(a),c(l)):i}if(0!==u)return t(o,129,254)?(r=o,null):(n.prepend([u,o]),u=e=0,c(l));if(0===e)return s(o)?o:128===o?8364:t(o,129,254)?(e=o,null):c(l);if(t(o,48,57))return u=o,null;var d=e,f=null;e=0;var p=o<127?64:65;return(t(o,64,126)||t(o,128,254))&&(f=190*(d-129)+(o-p)),null===(i=null===f?null:v(f,m("gb18030")))&&s(o)&&n.prepend(o),null===i?c(l):i}}function I(n,l){n.fatal,this.handler=function(n,e){if(e===K)return X;if(z(e))return e;if(58853===e)return d(e);if(l&&8364===e)return 128;var t=g(e,m("gb18030"));if(null!==t){var r=t%190;return[G(t/190)+129,r+(r<63?64:65)]}if(l)return d(e);t=function(n){if(59335===n)return 7457;var l,e=0,t=0,u=m("gb18030-ranges");for(l=0;l<u.length;++l){var r=u[l];if(!(r[1]<=n))break;e=r[1],t=r[0]}return t+n-e}(e);var i=G(t/10/126/10),s=G((t-=10*i*126*10)/10/126),a=G((t-=10*s*126)/10);return[i+129,s+48,a+129,t-10*a+48]}}function A(n){var l=n.fatal,e=0;this.handler=function(n,u){if(u===K&&0!==e)return e=0,c(l);if(u===K&&0===e)return X;if(0===e)return s(u)?u:t(u,129,254)?(e=u,null):c(l);var r=e,o=null;e=0;var i=u<127?64:98;switch((t(u,64,126)||t(u,161,254))&&(o=157*(r-129)+(u-i)),o){case 1133:return[202,772];case 1135:return[202,780];case 1164:return[234,772];case 1166:return[234,780]}var a=null===o?null:v(o,m("big5"));return null===a&&s(u)&&n.prepend(u),null===a?c(l):a}}function x(n){n.fatal,this.handler=function(n,l){if(l===K)return X;if(z(l))return l;var e=function(n){var l=Q=Q||m("big5").map(function(n,l){return l<5024?null:n});return 9552===n||9566===n||9569===n||9578===n||21313===n||21317===n?l.lastIndexOf(n):g(n,l)}(l);if(null===e)return d(l);var t=G(e/157)+129;if(t<161)return d(l);var u=e%157;return[t,u+(u<63?64:98)]}}function N(n){var l=n.fatal,e=!1,u=0;this.handler=function(n,r){if(r===K&&0!==u)return u=0,c(l);if(r===K&&0===u)return X;if(142===u&&t(r,161,223))return u=0,65216+r;if(143===u&&t(r,161,254))return e=!0,u=r,null;if(0===u)return s(r)?r:142===r||143===r||t(r,161,254)?(u=r,null):c(l);var o=u;u=0;var i=null;return t(o,161,254)&&t(r,161,254)&&(i=v(94*(o-161)+(r-161),m(e?"jis0212":"jis0208"))),e=!1,t(r,161,254)||n.prepend(r),null===i?c(l):i}}function k(n){n.fatal,this.handler=function(n,l){if(l===K)return X;if(z(l))return l;if(165===l)return 92;if(8254===l)return 126;if(t(l,65377,65439))return[142,l-65377+161];8722===l&&(l=65293);var e=g(l,m("jis0208"));return null===e?d(l):[G(e/94)+161,e%94+161]}}function D(n){var l=n.fatal,e_ASCII=0,e_Roman=1,e_Katakana=2,e_LeadByte=3,e_TrailByte=4,e_Escape
1Start=5,e_Escape=6,u=e_ASCII,r=e_ASCII,o=0,i=!1;this.handler=function(n,s){switch(u){default:case e_ASCII:return 27===s?(u=e_EscapeStart,null):t(s,0,127)&&14!==s&&15!==s&&27!==s?(i=!1,s):s===K?X:(i=!1,c(l));case e_Roman:return 27===s?(u=e_EscapeStart,null):92===s?(i=!1,165):126===s?(i=!1,8254):t(s,0,127)&&14!==s&&15!==s&&27!==s&&92!==s&&126!==s?(i=!1,s):s===K?X:(i=!1,c(l));case e_Katakana:return 27===s?(u=e_EscapeStart,null):t(s,33,95)?(i=!1,65344+s):s===K?X:(i=!1,c(l));case e_LeadByte:return 27===s?(u=e_EscapeStart,null):t(s,33,126)?(i=!1,o=s,u=e_TrailByte,null):s===K?X:(i=!1,c(l));case e_TrailByte:if(27===s)return u=e_EscapeStart,c(l);if(t(s,33,126)){u=e_LeadByte;var d=v(94*(o-33)+s-33,m("jis0208"));return null===d?c(l):d}return s===K?(u=e_LeadByte,n.prepend(s)):u=e_LeadByte,c(l);case e_EscapeStart:return 36===s||40===s?(o=s,u=e_Escape,null):(n.prepend(s),i=!1,u=r,c(l));case e_Escape:var f=o;o=0;var p=null;if(40===f&&66===s&&(p=e_ASCII),40===f&&74===s&&(p=e_Roman),40===f&&73===s&&(p=e_Katakana),36!==f||64!==s&&66!==s||(p=e_LeadByte),null===p)return n.prepend([f,s]),i=!1,u=r,c(l);u=u=p;var h=i;return i=!0,h?c(l):null}}}function P(n){var l=(n.fatal,{ASCII:0,Roman:1,jis0208:2}),e=l.ASCII;this.handler=function(n,t){if(t===K&&e!==l.ASCII)return n.prepend(t),e=l.ASCII,[27,40,66];if(t===K&&e===l.ASCII)return X;if(!(e!==l.ASCII&&e!==l.Roman||14!==t&&15!==t&&27!==t))return d(65533);if(e===l.ASCII&&z(t))return t;if(e===l.Roman&&(z(t)&&92!==t&&126!==t||165==t||8254==t)){if(z(t))return t;if(165===t)return 92;if(8254===t)return 126}if(z(t)&&e!==l.ASCII)return n.prepend(t),e=l.ASCII,[27,40,66];if((165===t||8254===t)&&e!==l.Roman)return n.prepend(t),e=l.Roman,[27,40,74];8722===t&&(t=65293);var u=g(t,m("jis0208"));return null===u?d(t):e!==l.jis0208?(n.prepend(t),e=l.jis0208,[27,36,66]):[G(u/94)+33,u%94+33]}}function L(n){var l=n.fatal,e=0;this.handler=function(n,u){if(u===K&&0!==e)return e=0,c(l);if(u===K&&0===e)return X;if(0===e)return s(u)||128===u?u:t(u,161,223)?65216+u:t(u,129,159)||t(u,224,252)?(e=u,null):c(l);var r=e,o=null;e=0;var i=u<127?64:65,a=r<160?129:193;if((t(u,64,126)||t(u,128,252))&&(o=188*(r-a)+u-i),t(o,8836,10715))return 48508+o;var d=null===o?null:v(o,m("jis0208"));return null===d&&s(u)&&n.prepend(u),null===d?c(l):d}}function M(n){n.fatal,this.handler=function(n,l){if(l===K)return X;if(z(l)||128===l)return l;if(165===l)return 92;if(8254===l)return 126;if(t(l,65377,65439))return l-65377+161;8722===l&&(l=65293);var e=function(n){return(J=J||m("jis0208").map(function(n,l){return t(l,8272,8835)?null:n})).indexOf(n)}(l);if(null===e)return d(l);var u=G(e/188),o=e%188;return[u+(u<31?129:193),o+(o<63?64:65)]}}function F(n){var l=n.fatal,e=0;this.handler=function(n,u){if(u===K&&0!==e)return e=0,c(l);if(u===K&&0===e)return X;if(0===e)return s(u)?u:t(u,129,254)?(e=u,null):c(l);var r=e,o=null;e=0,t(u,65,254)&&(o=190*(r-129)+(u-65));var i=null===o?null:v(o,m("euc-kr"));return null===o&&s(u)&&n.prepend(u),null===i?c(l):i}}function U(n){n.fatal,this.handler=function(n,l){if(l===K)return X;if(z(l))return l;var e=g(l,m("euc-kr"));return null===e?d(l):[G(e/190)+129,e%190+65]}}function V(n,l){var e=n>>8,t=255&n;return l?[e,t]:[t,e]}function B(n,l){var e=l.fatal,u=null,r=null;this.handler=function(l,o){if(o===K&&(null!==u||null!==r))return c(e);if(o===K&&null===u&&null===r)return X;if(null===u)return u=o,null;var i;if(i=n?(u<<8)+o:(o<<8)+u,(u=null)===r)return t(i,55296,56319)?(r=i,null):t(i,56320,57343)?c(e):i;var s=r;return r=null,t(i,56320,57343)?65536+1024*(s-55296)+(i-56320):(l.prepend(V(i,n)),c(e))}}function H(n,l){l.fatal,this.handler=function(l,e){if(e===K)return X;if(t(e,0,65535))return V(e,n);var u=V(55296+(e-65536>>10),n),r=V(56320+(e-65536&1023),n);return u.concat(r)}}function W(n){n.fatal,this.handler=function(n,l){return l===K?X:s(l)?l:63360+l-128}}function q(n){n.fatal,this.handler=function(n,l){return l===K?X:z(l)?l:t(l,63360,63487)?l-63360+128:d(l)}}void 0!==l&&l.exports&&!e["encoding-indexes"]&&(e["encoding-indexes"]=n("./encoding-indexes.js")["encoding-indexes"]);var G=Math.floor,z=s,K=-1;a.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():K},prepend:function(n){if(Array.isArray(n))for(var l=n;l.length;)this.tokens.push(l.pop());else this.tokens.push(n)},push:function(n){if(Array.isArray(n))for(var l=n;l.length;)this.tokens.unshift(l.shift());else this.tokens.unshift(n)}};
1var X=-1,$=[{encodings:[{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"UTF-8"}],heading:"The Encoding"},{encodings:[{labels:["866","cp866","csibm866","ibm866"],name:"IBM866"},{labels:["csisolatin2","iso-8859-2","iso-ir-101","iso8859-2","iso88592","iso_8859-2","iso_8859-2:1987","l2","latin2"],name:"ISO-8859-2"},{labels:["csisolatin3","iso-8859-3","iso-ir-109","iso8859-3","iso88593","iso_8859-3","iso_8859-3:1988","l3","latin3"],name:"ISO-8859-3"},{labels:["csisolatin4","iso-8859-4","iso-ir-110","iso8859-4","iso88594","iso_8859-4","iso_8859-4:1988","l4","latin4"],name:"ISO-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso-ir-144","iso8859-5","iso88595","iso_8859-5","iso_8859-5:1988"],name:"ISO-8859-5"},{labels:["arabic","asmo-708","csiso88596e","csiso88596i","csisolatinarabic","ecma-114","iso-8859-6","iso-8859-6-e","iso-8859-6-i","iso-ir-127","iso8859-6","iso88596","iso_8859-6","iso_8859-6:1987"],name:"ISO-8859-6"},{labels:["csisolatingreek","ecma-118","elot_928","greek","greek8","iso-8859-7","iso-ir-126","iso8859-7","iso88597","iso_8859-7","iso_8859-7:1987","sun_eu_greek"],name:"ISO-8859-7"},{labels:["csiso88598e","csisolatinhebrew","hebrew","iso-8859-8","iso-8859-8-e","iso-ir-138","iso8859-8","iso88598","iso_8859-8","iso_8859-8:1988","visual"],name:"ISO-8859-8"},{labels:["csiso88598i","iso-8859-8-i","logical"],name:"ISO-8859-8-I"},{labels:["csisolatin6","iso-8859-10","iso-ir-157","iso8859-10","iso885910","l6","latin6"],name:"ISO-8859-10"},{labels:["iso-8859-13","iso8859-13","iso885913"],name:"ISO-8859-13"},{labels:["iso-8859-14","iso8859-14","iso885914"],name:"ISO-8859-14"},{labels:["csisolatin9","iso-8859-15","iso8859-15","iso885915","iso_8859-15","l9"],name:"ISO-8859-15"},{labels:["iso-8859-16"],name:"ISO-8859-16"},{labels:["cskoi8r","koi","koi8","koi8-r","koi8_r"],name:"KOI8-R"},{labels:["koi8-ru","koi8-u"],name:"KOI8-U"},{labels:["csmacintosh","mac","macintosh","x-mac-roman"],name:"macintosh"},{labels:["dos-874","iso-8859-11","iso8859-11","iso885911","tis-620","windows-874"],name:"windows-874"},{labels:["cp1250","windows-1250","x-cp1250"],name:"windows-1250"},{labels:["cp1251","windows-1251","x-cp1251"],name:"windows-1251"},{labels:["ansi_x3.4-1968","ascii","cp1252","cp819","csisolatin1","ibm819","iso-8859-1","iso-ir-100","iso8859-1","iso88591","iso_8859-1","iso_8859-1:1987","l1","latin1","us-ascii","windows-1252","x-cp1252"],name:"windows-1252"},{labels:["cp1253","windows-1253","x-cp1253"],name:"windows-1253"},{labels:["cp1254","csisolatin5","iso-8859-9","iso-ir-148","iso8859-9","iso88599","iso_8859-9","iso_8859-9:1989","l5","latin5","windows-1254","x-cp1254"],name:"windows-1254"},{labels:["cp1255","windows-1255","x-cp1255"],name:"windows-1255"},{labels:["cp1256","windows-1256","x-cp1256"],name:"windows-1256"},{labels:["cp1257","windows-1257","x-cp1257"],name:"windows-1257"},{labels:["cp1258","windows-1258","x-cp1258"],name:"windows-1258"},{labels:["x-mac-cyrillic","x-mac-ukrainian"],name:"x-mac-cyrillic"}],heading:"Legacy single-byte encodings"},{encodings:[{labels:["chinese","csgb2312","csiso58gb231280","gb2312","gb_2312","gb_2312-80","gbk","iso-ir-58","x-gbk"],name:"GBK"},{labels:["gb18030"],name:"gb18030"}],heading:"Legacy multi-byte Chinese (simplified) encodings"},{encodings:[{labels:["big5","big5-hkscs","cn-big5","csbig5","x-x-big5"],name:"Big5"}],heading:"Legacy multi-byte Chinese (traditional) encodings"},{encodings:[{labels:["cseucpkdfmtjapanese","euc-jp","x-euc-jp"],name:"EUC-JP"},{labels:["csiso2022jp","iso-2022-jp"],name:"ISO-2022-JP"},{labels:["csshiftjis","ms932","ms_kanji","shift-jis","shift_jis","sjis","windows-31j","x-sjis"],name:"Shift_JIS"}],heading:"Legacy multi-byte Japanese encodings"},{encodings:[{labels:["cseuckr","csksc56011987","euc-kr","iso-ir-149","korean","ks_c_5601-1987","ks_c_5601-1989","ksc5601","ksc_5601","windows-949"],name:"EUC-KR"}],heading:"Legacy multi-byte Korean encodings"},{encodings:[{labels:["csiso2022kr","hz-gb-2312","iso-2022-cn","iso-2022-cn-ext","iso-2022-kr"],name:"replacement"},{labels:["utf-16be"],name:"UTF-16BE"},{labels:["utf-16","utf-16le"],name:"UTF-16LE"}
1,{labels:["x-user-defined"],name:"x-user-defined"}],heading:"Legacy miscellaneous encodings"}],Y={};$.forEach(function(n){n.encodings.forEach(function(n){n.labels.forEach(function(l){Y[l]=n})})});var J,Q,Z={},nn={},ln="utf-8";Object.defineProperty&&(Object.defineProperty(S.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(S.prototype,"fatal",{get:function(){return"fatal"===this._error_mode}}),Object.defineProperty(S.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}})),S.prototype.decode=function(n,l){var t;t="object"==typeof n&&n instanceof ArrayBuffer?new Uint8Array(n):"object"==typeof n&&"buffer"in n&&n.buffer instanceof ArrayBuffer?new Uint8Array(n.buffer,n.byteOffset,n.byteLength):new Uint8Array(0),l=r(l),this._do_not_flush||(this._decoder=nn[this._encoding.name]({fatal:"fatal"===this._error_mode}),this._BOMseen=!1),this._do_not_flush=Boolean(l.stream);for(var o,s=new a(t),c=[];;){var d=s.read();if(d===K)break;if((o=this._decoder.handler(s,d))===X)break;null!==o&&(Array.isArray(o)?c.push.apply(c,o):c.push(o))}if(!this._do_not_flush){do{if((o=this._decoder.handler(s,s.read()))===X)break;null!==o&&(Array.isArray(o)?c.push.apply(c,o):c.push(o))}while(!s.endOfStream());this._decoder=null}return function(n){return!function(n,l){return-1!==n.indexOf(l)}(["UTF-8","UTF-16LE","UTF-16BE"],this._encoding.name)||this._ignoreBOM||this._BOMseen||(0<n.length&&65279===n[0]?(this._BOMseen=!0,n.shift()):0<n.length&&(this._BOMseen=!0)),function(n){for(var l="",e=0;e<n.length;++e){var t=n[e];t<=65535?l+=String.fromCharCode(t):(t-=65536,l+=String.fromCharCode(55296+(t>>10),56320+(1023&t)))}return l}(n)}.call(this,c)},Object.defineProperty&&Object.defineProperty(T.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),T.prototype.encode=function(n,l){n=void 0===n?"":String(n),l=r(l),this._do_not_flush||(this._encoder=Z[this._encoding.name]({fatal:"fatal"===this._fatal})),this._do_not_flush=Boolean(l.stream);for(var e,t=new a(function(n){for(var l=String(n),e=l.length,t=0,u=[];t<e;){var r=l.charCodeAt(t);if(r<55296||57343<r)u.push(r);else if(56320<=r&&r<=57343)u.push(65533);else if(55296<=r&&r<=56319)if(t===e-1)u.push(65533);else{var o=l.charCodeAt(t+1);if(56320<=o&&o<=57343){var i=1023&r,s=1023&o;u.push(65536+(i<<10)+s),t+=1}else u.push(65533)}t+=1}return u}(n)),u=[];;){var i=t.read();if(i===K)break;if((e=this._encoder.handler(t,i))===X)break;Array.isArray(e)?u.push.apply(u,e):u.push(e)}if(!this._do_not_flush){for(;(e=this._encoder.handler(t,t.read()))!==X;)Array.isArray(e)?u.push.apply(u,e):u.push(e);this._encoder=null}return new Uint8Array(u)},Z["UTF-8"]=function(n){return new O(n)},nn["UTF-8"]=function(n){return new w(n)},"encoding-indexes"in e&&$.forEach(function(n){"Legacy single-byte encodings"===n.heading&&n.encodings.forEac
vendor: 4,293 bytes, line 1
1h(function(n){var l=n.name,e=m(l.toLowerCase());nn[l]=function(n){return new C(e,n)},Z[l]=function(n){return new j(e,n)}})}),nn.GBK=function(n){return new R(n)},Z.GBK=function(n){return new I(n,!0)},Z.gb18030=function(n){return new I(n)},nn.gb18030=function(n){return new R(n)},Z.Big5=function(n){return new x(n)},nn.Big5=function(n){return new A(n)},Z["EUC-JP"]=function(n){return new k(n)},nn["EUC-JP"]=function(n){return new N(n)},Z["ISO-2022-JP"]=function(n){return new P(n)},nn["ISO-2022-JP"]=function(n){return new D(n)},Z.Shift_JIS=function(n){return new M(n)},nn.Shift_JIS=function(n){return new L(n)},Z["EUC-KR"]=function(n){return new U(n)},nn["EUC-KR"]=function(n){return new F(n)},Z["UTF-16BE"]=function(n){return new H(!0,n)},nn["UTF-16BE"]=function(n){return new B(!0,n)},Z["UTF-16LE"]=function(n){return new H(!1,n)},nn["UTF-16LE"]=function(n){return new B(!1,n)},Z["x-user-defined"]=function(n){return new q(n)},nn["x-user-defined"]=function(n){return new W(n)},e.TextEncoder||(e.TextEncoder=T),e.TextDecoder||(e.TextDecoder=S),void 0!==l&&l.exports&&(l.exports={TextEncoder:e.TextEncoder,TextDecoder:e.TextDecoder,EncodingIndexes:e["encoding-indexes"]})}(this||{})},{"./encoding-indexes.js":191}],193:[function(n,l,e){"function"==typeof Object.create?l.exports=function(n,l){n.super_=l,n.prototype=Object.create(l.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}})}:l.exports=function(n,l){n.super_=l;var e=function(){};e.prototype=l.prototype,n.prototype=new e,n.prototype.constructor=n}},{}],194:[function(n,l,e){l.exports=function(n){return n&&"object"==typeof n&&"function"==typeof n.copy&&"function"==typeof n.fill&&"function"==typeof n.readUInt8}},{}],195:[function(n,l,e){(function(l,t){function u(n,l){var t={seen:[],stylize:o};return 3<=arguments.length&&(t.depth=arguments[2]),4<=arguments.length&&(t.colors=arguments[3]),v(l)?t.showHidden=l:l&&e._extend(t,l),E(t.showHidden)&&(t.showHidden=!1),E(t.depth)&&(t.depth=2),E(t.colors)&&(t.colors=!1),E(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=r),s(t,n,t.depth)}function r(n,l){var e=u.styles[l];return e?"�["+u.colors[e][0]+"m"+n+"�["+u.colors[e][1]+"m":n}function o(n,l){return n}function s(n,l,t){if(n.customInspect&&l&&C(l.inspect)&&l.inspect!==e.inspect&&(!l.constructor||l.constructor.prototype!==l)){var u=l.inspect(t,n);return b(u)||(u=s(n,u,t)),u}var r=a(n,l);if(r)return r;var o=Object.keys(l),v=function(n){var l={};return n.forEach(function(n,e){l[n]=!0}),l}(o);if(n.showHidden&&(o=Object.getOwnPropertyNames(l)),O(l)&&(0<=o.indexOf("message")||0<=o.indexOf("description")))return c(l);if(0===o.length){if(C(l)){var g=l.name?": "+l.name:"";return n.stylize("[Function"+g+"]","special")}if(S(l))return n.stylize(RegExp.prototype.toString.call(l),"regexp");if(w(l))return n.stylize(Date.prototype.toString.call(l),"date");if(O(l))return c(l)}var T,m="",_=!1,y=["{","}"];(h(l)&&(_=!0,y=["[","]"]),C(l))&&(m=" [Function"+(l.name?": "+l.name:"")+"]");return S(l)&&(m=" "+RegExp.prototype.toString.call(l)),w(l)&&(m=" "+Date.prototype.toUTCString.call(l)),O(l)&&(m=" "+c(l)),0!==o.length||_&&0!=l.length?t<0?S(l)?n.stylize(RegExp.prototype.toString.call(l),"regexp"):n.stylize("[Object]","special"):(n.seen.push(l),T=_?function(n,l,e,t,u){for(var r=[],o=0,i=l.length;o<i;++o)x(l,String(o))?r.push(f(n,l,e,t,String(o),!0)):r.push("");return u.forEach(function(u){u.match(/^\d+$/)||r.push(f(n,l,e,t,u,!0))}),r}(n,l,t,v,o):o.map(function(e){return f(n,l,t,v,e,_)}),n.seen.pop(),function(n,l,e){return 60<n.reduce(function(n,l){return 0,0<=l.indexOf("\n")&&0,n+l.replace(/\u001b\[\d\d?m/g,"").length+1},0)?e[0]+(""===l?"":l+"\n ")+" "+n.join(",\n ")+" "+e[1]:e[0]+l+" "+n.join(", ")+" "+e[1]}(T,m,y)):y[0]+m+y[1]}function a(n,l){if(E(l))return n.stylize("undefined","undefined");if(b(l)){var e="'"+JSON.stringify(l).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return n.stylize(e,"string")}return _(l)?n.stylize(""+l,"number"):v(l)?n.stylize(""+l,"boolean"):g(l)?n.stylize("null","null"):void 0}function c(n){return"["+Error.prototype.toString.call(n)+"]"}function f(n,l,e,t,u,r){var o,i,a;if((a=Object.getOwnPropertyDescriptor(l,u)||{value:l[u]}).get?i=a.set?n.stylize("[Getter/Setter]","special"):n.stylize("[Getter]","special"):a.set&&(i=n.stylize("[
1Setter]","special")),x(t,u)||(o="["+u+"]"),i||(n.seen.indexOf(a.value)<0?-1<(i=g(e)?s(n,a.value,null):s(n,a.value,e-1)).indexOf("\n")&&(i=r?i.split("\n").map(function(n){return" "+n}).join("\n").substr(2):"\n"+i.split("\n").map(function(n){return" "+n}).join("\n")):i=n.stylize("[Circular]","special")),E(o)){if(r&&u.match(/^\d+$/))return i;o=(o=JSON.stringify(""+u)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),n.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),n.stylize(o,"string"))}return o+": "+i}function h(n){return Array.isArray(n)}function v(n){return"boolean"==typeof n}function g(n){return null===n}function _(n){return"number"==typeof n}function b(n){return"string"==typeof n}function E(n){return void 0===n}function S(n){return T(n)&&"[object RegExp]"===R(n)}function T(n){return"object"==typeof n&&null!==n}function w(n){return T(n)&&"[object Date]"===R(n)}function O(n){return T(n)&&("[object Error]"===R(n)||n instanceof Error)}function C(n){return"function"==typeof n}function R(n){return Object.prototype.toString.call(n)}function I(n){return n<10?"0"+n.toString(10):n.toString(10)}function x(n,l){return Object.prototype.hasOwnProperty.call(n,l)}var N=/%[sdj%]/g;e.format=function(n){if(!b(n)){for(var l=[],e=0;e<arguments.length;e++)l.push(u(arguments[e]));return l.join(" ")}e=1;for(var t=arguments,r=t.length,o=String(n).replace(N,function(n){if("%%"===n)return"%";if(r<=e)return n;switch(n){case"%s":return String(t[e++]);case"%d":return Number(t[e++]);case"%j":try{return JSON.stringify(t[e++])}catch(l){return"[Circular]"}default:return n}}),i=t[e];e<r;i=t[++e])o+=g(i)||!T(i)?" "+i:" "+u(i);return o},e.deprecate=function(n,u){if(E(t.process))return function(){return e.deprecate(n,u).apply(this,arguments)};if(!0===l.noDeprecation)return n;var o=!1;return function(){if(!o){if(l.throwDeprecation)throw new Error(u);l.traceDeprecation?console.trace(u):console.error(u),o=!0}return n.apply(this,arguments)}};var k,D={};e.debuglog=function(n){if(E(k)&&(k=l.env.NODE_DEBUG||""),n=n.toUpperCase(),!D[n])if(new RegExp("\\b"+n+"\\b","i").test(k)){var t=l.pid;D[n]=function(){var l=e.format.apply(e,arguments);console.error("%s %d: %s",n,t,l)}}else D[n]=function(){};return D[n]},(e.inspect=u).colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=h,e.isBoolean=v,e.isNull=g,e.isNullOrUndefined=function(n){return null==n},e.isNumber=_,e.isString=b,e.isSymbol=function(n){return"symbol"==typeof n},e.isUndefined=E,e.isRegExp=S,e.isObject=T,e.isDate=w,e.isError=O,e.isFunction=C,e.isPrimitive=function(n){return null===n||"boolean"==typeof n||"number"==typeof n||"string"==typeof n||"symbol"==typeof n||void 0===n},e.isBuffer=n("./support/isBuffer");var P=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];e.log=function(){var n,l;console.log("%s - %s",(n=new Date,l=[I(n.getHours()),I(n.getMinutes()),I(n.getSeconds())].join(":"),[n.getDate(),P[n.getMonth()],l].join(" ")),e.format.apply(e,arguments))},e.inherits=n("inherits"),e._extend=function(n,l){if(!l||!T(l))return n;for(var e=Object.keys(l),t=e.length;t--;)n[e[t]]=l[e[t]];return n}}).call(this,n("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":194,_process:182,inherits:193}],196:[function(n,l,e){(function(n){var e,t=n.crypto||n.msCrypto;if(t&&t.getRandomValues){var u=new Uint8Array(16);e=function(){return t.getRandomValues(u),u}}if(!e){var r=new Array(16);e=function(){for(var n,l=0;l<16;l++)0==(3&l)&&(n=4294967296*Math.random()),r[l]=n>>>((3&l)<<3)&255;return r}}l.exports=e}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],197:[function(n,l,e){function u(n,l){var e=l||0,t=s;return t[n[e++]]+t[n[e++]]+t[n[e++]]+t[n[e++]]+"-"+t[n[e++]]+t[n[e++]]+"-"+t[n[e++]]+t[n[e++]]+"-"+t[n[e++]]+t[n[e++]]+"-"+t[n[e++]]+t[n[e++]]+t[n[e++]]+t[n[e++]]+t[n[e++]]+t[n[e++]]}function o(n,l,e){var t=l&&e||0;"string"==typeof n&&(l="binary"==n?new Array(16):null,n=null);var r=(n=n||{}).random||(n.rng||i)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,l)for(var o=0;o<16;o++)l[t+o]=r[o];return l||u(r)}for(var i=n("./rng"),s=[],a={},c=0;c<256;c++)s[c]=(c+256).toString(16).substr(1),a[s[c]]=c;var d=i(),f=[1|d[0],d[1],d[2],d[3],d[4],d[5]],p=16383&(d[6]<<8|d[7]),h=0,v=0,g=o;g.v1=function(n,l,e){var t=l&&e||0,r=l||[],o=void 0!==(n=n||{}).clockseq?n.clockseq:p,i=void 0!==n.msecs?n.msecs:(new Date).getTime(),s=void 0!==n.nsecs?n.nsecs:v+1,a=i-h+(s-v)/1e4;if(a<0&&void 0===n.clockseq&&(o=o+1&16383),(a<0||h<i)&&void 0===n.nsecs&&(s=0),1e4<=s)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");h=i,p=o;var c=(1e4*(268435455&(i+=122192928e5))+(v=s))%4294967296;r[t++]=c>>>24&255,r[t++]=c>>>16&255,r[t++]=c>>>8&255,r[t++]=255&c;var d=i/4294967296*1e4&268435455;r[t++]=d>>>8&255,r[t++]=255&d,r[t++]=d>>>24&15|16,r[t++]=d>>>16&255,r[t++]=o>>>8|128,r[t++]=255&o;for(var g=n.node||f,m=0;m<6;m++)r[t+m]=g[m];return l||u(r)},g.v4=o,g.parse=function(n,l,e){var t=l&&e||0,u=0;for(l=l||[],n.toLowerCase().replace(/[0-9a-f]{2}/g,function(n){u<16&&(l[t+u++]=a[n])});u<16;)l[t+u++]=0;return l},g.unparse=u,l.exports=g},{"./rng":196}],198:[function(n,l,e){function t(n,l,e){return l?new r(n,l):new r(n)}var u=function(){return this}(),r=u.WebSocket||u.MozWebSocket;l.exports=r?t:null,r&&(t.prototype=r.prototype)},{}],199:[function(n,l,e){"use strict";l.exports={version:"v2.11.5",buildHash:"ec4646cf73",debug:"false",websiteURL:"http://www.tokbox.com",cdnURL:"http://static.opentok.com",loggingURL:"http://hlg.tokbox.com/prod",apiURL:"http://anvil.opentok.com",messagingProtocol:"wss",messagingPort:443,supportSSL:"true",cdnURLSSL:"https://static.opentok.com",loggingURLSSL:"https://hlg.tokbox.com/prod",apiURLSSL:"https://anvil.opentok.com",minimumVersion:{firefox:45,chrome:49},sentryDSN:"https://[email protected]/104064",enableErrorReporting:!1}},{}],200:[function(n,l,e){"use strict";var t=n("./elementCollection/shorthandSelector");t.ElementCollection=n("./elementCollection/index"),t.util=n("./util"),t.env=n("./env"),t.logging=n("./logging"),t.ajax=n("./ajax"),t.Event=n("./behaviours/eventing/event"),t.eventing=n("./behaviours/eventing"),t.statable=n("./behaviours/statable"),t.Analytics=n("./analytics"),t.requestAnimationFrame=n("./requestAnimationFrame"),t.casting=n("./casting"),t.Collection=n("./collection"),t.cookies=n("./cookies"),t.domExtras=n("./domExtras"),t.Error=n("./error"),t.Modal=n("./modal"),t.isWebSocketSupported=n("./isWebSocketSupported"),t.useLogHelpers=n("./logging/mixin"),Object.keys(t).forEach(function(n){var e=t[n]._attachToOTHelpers||{};Object.keys(e).forEach(function(l){!Object.hasOwnProperty.call(t,l)||"util"===n&&"bind"===l||console.warn("More than one module is trying to define "+l+" on OTHelpers."),t[l]=e[l]})}),l.exports=t},{"./ajax":201,"./analytics":202,"./behaviours/eventing":203,"./behaviours/eventing/event":204,"./behaviours/statable":206,"./casting":207,"./collection":208,"./cookies":209,"./domExtras":210,"./elementCollection/index":215,"./elementCollection/shorthandSelector":216,"./env":217,"./error":218,"./isWebSocketSupported":219,"./logging":220,"./logging/mixin":221,"./modal":223,"./requestAnimationFrame":224,"./util":225}],201:[function(n,l,e){"use strict";function t(n){if("string"==typeof n)return n;var l=[];
1return Object.keys(n).forEach(function(e){l.push(encodeURIComponent(e)+"="+encodeURIComponent(n[e]))}),l.join("&").replace(/\+/g,"%20")}var u=n("../elementCollection/shorthandSelector"),r=n("../env"),o=n("../makeEverythingAttachToOTHelpers"),i=n("../util"),s={};l.exports=s,"Node"!==r.name&&(s.xdomainRequest=function(n,l,e){function u(n,l){r.onload=r.onerror=r.ontimeout=function(){},r=void 0,e(n,l)}var r=new XDomainRequest,i=(l||{}).method.toLowerCase();return i?"GET"!==(i=i.toUpperCase())&&"POST"!==i?void e(new Error("HTTP method can only be ")):(r.onload=function(){u(null,{target:{responseText:r.responseText,headers:{"content-type":r.contentType}}})},r.onerror=function(){u(new Error("XDomainRequest of "+n+" failed"))},r.ontimeout=function(){u(new Error("XDomainRequest of "+n+" timed out"))},r.open(i,n),void r.send(l.body&&t(l.body))):void e(new Error("No HTTP method specified in options"))},s.request=function(n,l,e){var r=new XMLHttpRequest,o=l||{};if(o.method){for(var s in l.overrideMimeType&&(r.overrideMimeType&&r.overrideMimeType(l.overrideMimeType),delete l.overrideMimeType),e&&(u(r).on("load",function(n){var l=n.target.status;200<=l&&(l<300||304===l)?e(null,n):e(n)}),u(r).on("error",e)),r.open(l.method,n,!0),o.headers||(o.headers={}),o.headers)Object.prototype.hasOwnProperty.call(o.headers,s)&&r.setRequestHeader(s,o.headers[s]);r.send(l.body&&t(l.body))}else e(new Error("No HTTP method specified in options"))},s.get=function(n,l,e){var t=i.extend(l||{},{method:"GET"});s.request(n,t,e)},s.post=function(n,l,e){var t=i.extend(l||{},{method:"POST"});t.xdomainrequest?s.xdomainRequest(n,t,e):s.request(n,t,e)},s.getJSON=function(n,l,e){var t=function(n,l){if(n)e(n,l&&l.target&&l.target.responseText);else{var t=void 0;try{t=JSON.parse(l.target.responseText)}catch(u){return void e(u,l&&l.target&&l.target.responseText)}e(null,t,l)}};if((l=l||{}).xdomainrequest)s.xdomainRequest(n,{method:"GET"},t);else{var u=i.extend({Accept:"application/json"},l.headers||{});s.get(n,i.extend(l||{},{headers:u}),t)}},o(s))},{"../elementCollection/shorthandSelector":216,"../env":217,"../makeEverythingAttachToOTHelpers":222,"../util":225}],202:[function(n,l,e){"use strict";var t=n("./ajax"),u=n("./env"),r=n("./logging"),o=n("./util"),i=[],s=!1;l.exports=function(n,l){var e=n+"/logging/ClientEvent",a=n+"/logging/ClientQos",c={},d=function(n,l,r){t.post(l?a:e,{body:n,xdomainrequest:"IE"===u.name&&u.version<10,overrideMimeType:"text/plain",headers:{Accept:"text/plain","Content-Type":"application/json"}},r)},f=function v(){if(!s&&0<i.length){s=!0;var n=i[0],e=function(){i.shift(),s=!1,v()};n&&d(n.data,n.isQos,function(t){if(t){var u="Failed to send ClientEvent, moving on to the next item.";l?l(u):console.log(u),n.onComplete&&n.onComplete()}n.onComplete&&n.onComplete(t),setTimeout(e,50)})}};this.logError=function(n,l,e,t,u){var r=(u=u||{}).partnerId;if(!function(n,l,e){if(!e)return!1;var t=[e,l,n].join("_");return(c[t]||0)<=100}(n,l,r)){var i=[r,l,n].join("_"),s=t||null;c[i]=void 0!==c[i]?c[i]+1:1,this.logEvent(o.extend(u,{action:l+"."+n,payload:s}),!1)}},this.logEvent=function(n,l,e,t){return l=l||!1,e&&!isNaN(e)&&Math.random()>e?void r.debug("skipping sending analytics due to throttle:",n):(r.debug("sending analytics:",n),void function(n,l,e){i.push({data:n,onComplete:l,isQos:e}),f()}(n=JSON.stringify(n),t,l))},this.logQOS=function(n){this.logEvent(n,!0)}}},{"./ajax":201,"./env":217,"./logging":220,"./util":225}],203:[function(n,l,e){"use strict";var t=n("./eventing/innerEventingMixin"),u=n("../logging"),r=n("../util");l.exports=function(n,l){var e=t(this,l);return n.on=function(n,l,t){if("string"==typeof n&&l)e.addListeners(n.split(" "),l,t);else for(var u in n)n.hasOwnProperty(u)&&e.addListeners([u],n[u],l);return this},n.off=function(n,l,t){if("string"==typeof n)l&&r.isFunction(l)?e.removeListeners(n.split(" "),l,t):e.removeAllListenersNamed(n.split(" "));else if(n)for(var u in n)n.hasOwnProperty(u)&&e.removeListeners([u],n[u],l);else e.removeAllListeners();return this},n.once=function(l,e,t){var u=function r(){n.off(l,r,t),e.apply(t,arguments)};return u.originalHandler=e,n.on(l,u,t),this}
1,n.dispatchEvent=function(n,l){if(!n.type)throw u.error("OTHelpers.Eventing.dispatchEvent: Event has no type"),u.error(n),new Error("OTHelpers.Eventing.dispatchEvent: Event has no type");return n.target||(n.target=this),e.dispatchEvent(n,l),this},n.trigger=function(){return e.trigger.apply(e,arguments),this},n.emit=n.trigger,n.addEventListener=function(l,e,t){return u.warn("The addEventListener() method is deprecated. Use on() or once() instead."),n.on(l,e,t)},n.removeEventListener=function(l,e,t){return u.warn("The removeEventListener() method is deprecated. Use off() instead."),n.off(l,e,t)},n.__testOnly||(n.__testOnly={}),n.__testOnly.innerEventing=e,n}},{"../logging":220,"../util":225,"./eventing/innerEventingMixin":205}],204:[function(n,l,e){"use strict";var t=n("../../logging");l.exports=function(){return function(n,l){this.type=n,this.cancelable=void 0===l||l;var e=!1;this.preventDefault=function(){this.cancelable?e=!0:t.warn("Event.preventDefault :: Trying to preventDefault on an Event that isn't cancelable")},this.isDefaultPrevented=function(){return e}}}},{"../../logging":220}],205:[function(n,l,e){"use strict";l.exports=function(n,l){function e(n,l){n&&n.apply(void 0,l.slice())}var r={events:{}},o=!0===l?function(n,l,t){var u=r.events[n];u&&0!==u.length&&(u.forEach(function(n){(n.closure||n.handler).apply(n.context||null,l)}),e(t,l))}:function(n,l,t){var u=r.events[n];if(u&&0!==u.length){var o=u.length;u.forEach(function(u){function i(n){return n.handler===u.handler}setTimeout(function(){try{r.events[n]&&r.events[n].some(i)&&(u.closure||u.handler).apply(u.context||null,l)}finally{0==--o&&e(t,l)}})})}};return r.addListeners=function(n,l,e,t){var u={handler:l};e&&(u.context=e),t&&(u.closure=t),n.forEach(function(n){r.events[n]||(r.events[n]=[]),r.events[n].push(u);var l=n+":added";r.events[l]&&o(l,[r.events[n].length])})},r.removeListeners=function(n,l,e){function t(n){return!((n.handler.originalHandler===l||n.handler===l)&&n.context===e)}n.forEach(function(n){if(r.events[n]){r.events[n]=r.events[n].filter(t),0===r.events[n].length&&delete r.events[n];var l=n+":removed";r.events[l]&&o(l,[r.events[n]?r.events[n].length:0])}})},r.removeAllListenersNamed=function(n){n.forEach(function(n){r.events[n]&&delete r.events[n]})},r.removeAllListeners=function(){r.events={}},r.dispatchEvent=function(n,l){return r.events[n.type]&&0!==r.events[n.type].length?void o(n.type,[n],l):void e(l,[n])},r.trigger=function(){var n=Array.prototype.slice.call(arguments),l=n.shift();r.events[l]&&0!==r.events[l].length&&o(l,n)},r}},{}],206:[function(n,l,e){"use strict";var t=n("../util");l.exports=function(n,l,e,u,r){var o=void 0,i=n.currentState=e;return n.is=function(){return-1!==Array.prototype.indexOf.call(arguments,i)},n.isNot=function(){return-1===Array.prototype.indexOf.call(arguments,i)},function(e){if(i!==e){if(-1===l.indexOf(e))return void(r&&t.isFunction(r)&&r("invalidState",e));n.previousState=o=i,n.currentState=i=e,u&&t.isFunction(u)&&u(e,o)}}}},{"../util":225}],207:[function(n,l,e){"use strict";var t=n("./makeEverythingAttachToOTHelpers"),u={};(l.exports=u).castToBoolean=function(n,l){return void 0===n?l:"true"===n||!0===n},u.roundFloat=function(n,l){return Number(n.toFixed(l))},t(u)},{"./makeEverythingAttachToOTHelpers":222}],208:[function(n,l,e){"use strict";var t=n("./behaviours/eventing"),u=n("./logging"),r=n("./util");l.exports=function(n){var l=[],e={},o=n||"id";t(this,!0);var i=function(n,l){return r.isFunction(n[l])?n[l]():n[l]},s=function(n){this.trigger("update",n),this.trigger("update:"+n.target.id,n)}.bind(this),a=function(n){this.remove(n.target,n.reason)}.bind(this);this.reset=function(){l.forEach(function(n){n.off("updated",s,this),n.off("destroyed",a,this)},this),l=[],e={}},this.destroy=function(n){l.forEach(function(l){l&&"function"==typeof l.destroy&&l.destroy(n,!0)}),this.reset(),this.off()},this.get=function(n){return n&&void 0!==e[n]?l[e[n]]:void 0},this.has=function(n){return n&&void 0!==e[n]},this.toString=function(){return l.toString()},this.where=function(n,e){return r.isFunction(n)?l.filter(n,e):l.filter(function(l){for(var e in n)if(n.hasOwnProperty(e)&&i(l,e)!==n[e])return!1;return!0})},this.find=function(n,e){var t=void 0;t=(t=r.isFunction(n)?n:function(l){for(var e in n)if(n.hasOwnProperty(e)&&i(l,e)!==n[e])return!1;return!0}).bind(e);for(var u=0;u<l.length;++u)if(!0===t(l[u]))return l[u];return null},this.forEach=function(n,e){return l.forEach(n,e),this},this.add=function(n){var t=i(n,o);return this.has(t)?u.warn("Model "+t+" is already in the collection",l):(e[t]=l.push(n)-1,n.on("updated",s,this),n.on("destroyed",a,this),this.trigger("add",n),this.trigger("add:"+t,n)),this},this.remove=function(n,t){var u=i(n,o);l.splice(e[u],1);for(var r=e[u];r<l.length;++r)e[i(l[r],o)]=r;return delete e[u],n.off("updated",s,this),n.off("destroyed",a,this),this.trigger("remove",n,t),this.trigger("remove:"+u,n,t),this},this._triggerAddEvents=function(){this.where.apply(this,arguments).forEac
1h(function(n){this.trigger("add",n),this.trigger("add:"+i(n,o),n)},this)},this.length=function(){return l.length}}},{"./behaviours/eventing":203,"./logging":220,"./util":225}],209:[function(n,l,e){"use strict";var t=n("./makeEverythingAttachToOTHelpers"),u={};(l.exports=u).setCookie=function(n,l){try{localStorage.setItem(n,l)}catch(e){var t=new Date;t.setTime(t.getTime()+31536e6);var u="; expires="+t.toGMTString();document.cookie=n+"="+l+u+"; path=/"}},u.getCookie=function(n){var l=void 0;try{return localStorage.getItem(n)}catch(e){for(var t=n+"=",u=document.cookie.split(";"),r=0;r<u.length;r++){for(var o=u[r];" "===o.charAt(0);)o=o.substring(1,o.length);0===o.indexOf(t)&&(l=o.substring(t.length,o.length))}if(l)return l}return null},t(u)},{"./makeEverythingAttachToOTHelpers":222}],210:[function(n,l,e){"use strict";var t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},u=n("./makeEverythingAttachToOTHelpers"),r={};(l.exports=r).isElementNode=function(n){return n&&"object"===(void 0===n?"undefined":t(n))&&1===n.nodeType},r.createElement=function(n,l,e,u){var r=(u||document).createElement(n);l=l||{},Object.keys(l).forEach(function(n){if("object"===t(l[n])){r[n]||(r[n]={});var e=l[n];Object.keys(e).forEach(function(l){r[n][l]=e[l]})}else"className"===n?r.className=l[n]:r.setAttribute(n,l[n])});var o=function(n){"string"==typeof n?r.innerHTML+=n:r.appendChild(n)};return Array.isArray(e)?e.forEach(o):e&&o(e),r},u(r)},{"./makeEverythingAttachToOTHelpers":222}],211:[function(n,l,e){"use strict";var t=n("../../util"),u={for:"htmlFor",class:"className"};l.exports=function(n){n.prototype.attr=function(n,l){var e=this;if(t.isObject(n)){var r=void 0;Object.keys(n).forEach(function(l){r=u[l]||l,e.first.setAttribute(r,n[l])})}else{if(void 0===l)return this.first.getAttribute(u[n]||n);this.first.setAttribute(u[n]||n,l)}return this},n.prototype.removeAttr=function(n){var l=u[n]||n;return this.forEach(function(n){n.removeAttribute(l)}),this},n.prototype.html=function(n){return void 0!==n&&(this.first.innerHTML=n),this.first.innerHTML},n.prototype.center=function(l,e){var t=void 0;return this.forEach(function(u){t=new n(u),l=l||parseInt(t.width(),10),e=e||parseInt(t.height(),10);var r=-.5*l+"px",o=-.5*e+"px";t.css("margin",o+" 0 0 "+r).addClass("OT_centered")}),this},n._attachToOTHelpers.centerElement=function(l,e,t){return new n(l).center(e,t)};var l=function(l){return 0<l.offsetWidth?l.offsetWidth+"px":new n(l).css("width")},e=function(l){return 0<l.offsetHeight?l.offsetHeight+"px":new n(l).css("height")};n.prototype.width=function(n){return n?(this.css("width",n),this):this.isDisplayNone()?this.makeVisibleAndYield(function(n){return l(n)})[0]:l(this.get(0))},n._attachToOTHelpers.width=function(l,e){var t=new n(l).width(e);return e?n._attachToOTHelpers:t},n.prototype.height=function(n){return n?(this.css("height",n),this):this.isDisplayNone()?this.makeVisibleAndYield(function(n){return e(n)})[0]:e(this.get(0))},n._attachToOTHelpers.height=function(l,e){var t=new n(l).height(e);return e?n._attachToOTHelpers:t}}},{"../../util":225}],212:[function(n,l,e){"use strict";function t(n,l){return!!l&&(i()?n.classList.contains(l):-1<n.className.indexOf(l))}var i=n("../../../helpers/hasClassListCapability.js");l.exports=function(n){n.prototype.addClass=function(n){if(n){var l=n.trim().split(/\s+/);this.forEach(function(n){!function(n,l){if(l&&0!==l.length&&1===n.nodeType){var e=l.length,t=0;if(i())for(;t<e;++t)n.classList.add(l[t]);else if(n.className||1!==l.length){for(var u=" "+n.className+" ";t<e;++t)~u.indexOf(" "+l[t]+" ")||(u+=l[t]+" ");n.className=u.trim()}else n.className=l.join(" ")}}(n,l)})}return this},n.prototype.removeClass=function(n){if(n){var l=n.trim().split(/\s+/);this.forEach(function(n){!function(n,l){if(l&&0!==l.length&&1===n.nodeType){var e=l.length,t=0;if(i())for(;t<e;++t)n.classList.remove(l[t]);else{for(var u=(" "+n.className+" ").replace(/[\s+]/," ");t<e;++t)u=u.replace(" "+l[t]+" "," ");n.className=u.trim()}}}(n,l)})}return this},n.prototype.toggleClass=function(n){if(n){var l=n.trim().split(/\s+/);this.forEach(function(n){!function(n,l){if(l&&0!==l.length&&1===n.nodeType){var e=l.length,u=0;if(i())for(;u<e;++u)n.classList.toggle(l[u]);else{for(var r=(" "+n.className+" ").replace(/[\s+]/," ");u<e;++u)t(n,l[u])?r=r.replace(" "+l[u]+" "," "):r+=l[u]+" ";n.className=r.trim()}}}(n,l)})}return this},n.prototype.hasClass=function(n){return this.some(function(l){return t(l,n)})}}},{"../../../helpers/hasClassListCapability.js":245}],213:[function(n,l,e){(function(e){"use strict";function t(){return o[u.name]}var u=n("../../env"),r=e.getComputedStyle,o={Firefox:"moz",Opera:"O",IE:"ms",Chrome:"Webkit",Safari:"Webkit"};l.exports=function(n,l){var e={},u={},o=function(l){if(u[l.ownerDocument]&&u[l.ownerDocument][l.nodeName])return u[l.ownerDocument][l.nodeName];u[l.ownerDocument]||(u[l.ownerDocument]={});var t,e=l.ownerDocument.createElement(l.nodeName);return l.ownerDocument.body.appendChild(e),t=u[l.ownerDocument][l.nodeName]=new n(e).css("display"),new n(e).remove(),e=null,t},s=function(n,l){if(l in n.style)return l;var u=t()+l[0].toUpperCase()+l.slice(1);return u in n.style?u:l},f=function(l,e,t){var i,u=new n(l),r={},o=void 0;for(o in e)e.hasOwnProperty(o)&&(r[o]=l.style[o],u.css(o,e[o]));for(o in i=t(l),e)e.hasOwnProperty(o)&&u.css(o,r[o]||"");return i};n.prototype.show=function(){return this.forEach(function(n){var l=n.style.display;
1""!==l&&"none"!==l||(n.style.display=e[n]||"",delete e[n]),function(n){return"none"===r(n).getPropertyValue("display")}(n)&&(e[n]="none",n.style.display=o(n))})},n.prototype.hide=function(){return this.forEach(function(n){"none"!==n.style.display&&(e[n]=n.style.display,n.style.display="none")})},n.prototype.css=function(n,l){if(0!==this.length)return"string"!=typeof n?this.forEach(function(l){!function(n,l){var e=n.style;for(var t in l)l.hasOwnProperty(t)&&(e[s(n,t)]=l[t])}(l,n)}):void 0!==l?this.forEach(function(e){!function(n,l,e){n.style[s(n,l)]=e}(e,n,l)}):function(n,l){var e=s(n,l),u=r(n).getPropertyValue(e);return""===u&&(u=n.style[e]),u}(this.first,n)},n.prototype.makeVisibleAndYield=function(n){var e={display:"block",visibility:"hidden"},t=[];return this.forEach(function(u){var r=l(u);r?t.push(f(r,e,n)):t.push(void 0)}),t}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../env":217}],214:[function(n,l,e){"use strict";var t=n("../../util");l.exports=function(n){var l=0,e=0,u=function(l,e,u){var r={},o=function(e){switch(e){case"width":return new n(l).width();case"height":return new n(l).height();default:return new n(l).css(e)}};e.forEach(function(n){r[n]=o(n)});var i=new MutationObserver(function(i){var s={};i.forEach(function(t){if("style"===t.attributeName){var u=new n(l).isDisplayNone();e.forEach(function(n){if(!u||"width"!==n&&"height"!==n){var l=o(n);l!==r[n]&&(s[n]=[r[n],l],r[n]=l)}})}}),t.isEmpty(s)||setTimeout(function(){u.call(null,s)})});return i.observe(l,{attributes:!0,attributeFilter:["style"],childList:!1,characterData:!1,subtree:!1}),i},r=function(l,t){var u=new MutationObserver(function(l){var e=[];l.forEach(function(n){n.removedNodes.length&&(e=e.concat(Array.prototype.slice.call(n.removedNodes)))}),e.length&&setTimeout(function(){t(new n(e))})});u.observe(l,{attributes:!1,childList:!0,characterData:!1,subtree:!0}),e++;var r=u.disconnect;return u.disconnect=function(){r.apply(u,arguments),e--},u},o=function(n,e){var t={width:0,height:0},u=setInterval(function(){var l=n.getBoundingClientRect();t.width===l.width&&t.height===l.height||(e(l,t),t={width:l.width,height:l.height})},200);return l++,{disconnect:function(){clearInterval(u),l--}}};n.prototype.observeStyleChanges=function(n,l){var e=[];return this.forEach(function(t){e.push(u(t,n,l))}),e},n.prototype.observeNodeOrChildNodeRemoval=function(n){var l=[];return this.forEach(function(e){l.push(r(e,n))}),l},n.prototype.observeSize=function(n){var l=[];return this.forEach(function(e){l.push(o(e,n))}),l},n._attachToOTHelpers.observeStyleChanges=function(l,e,t){return new n(l).observeStyleChanges(e,t)[0]},n._attachToOTHelpers.observeNodeOrChildNodeRemoval=function(l,e){return new n(l).observeNodeOrChildNodeRemoval(e)[0]},n.__testOnly||(n.__testOnly={}),n.__testOnly.sizeObserverCount=function(){return l},n.__testOnly.nodeRemovalObserverCount=function(){return e}}},{"../../util":225}],215:[function(n,l,e){(function(e){"use strict";var t={attributes:n("./extensions/attributes"),css:n("./extensions/css"),classNames:n("./extensions/classNames"),observers:n("./extensions/observers")},u=n("../env"),r=n("../util"),o=function(n){if("IE"!==u.name||9<u.version)return Array.prototype.slice.call(n);for(var l=[],e=0,t=n.length;e<t;++e)l.push(n[e]);return l},i=function(n,l){var t=void 0;if(void 0===n)return[];if("string"==typeof n){t=[];var u=r.detectIdSelectors.exec(n);if(l=l||document,u&&u[1]){var i=l.getElementById(u[1]);i&&t.push(i)}else t=l.querySelectorAll(n)}else n&&(n.nodeType||e.XMLHttpRequest&&n instanceof XMLHttpRequest||n===e)?(t=[n],l=n):Array.isArray(n)?(t=n.slice(),l=null):t=o(t);return t},s=function(n,l){var e=i(n,l);this.context=l,this.toArray=function(){return e},this.length=e.length,this.first=e[0],this.last=e[e.length-1],this.get=function(n){return void 0===n?e:e[n]}};((l.exports=s)._attachToOTHelpers={}).removeElement=function(n){return new s(n).remove()},s.prototype.getAsArray=function(){var n=this.get();return r.isFunction(n.forEach)||(n=o(n)),n},s.prototype.some=function(n,l){return this.getAsArray().some(n,l)},s.prototype.forEach=function(n,l){return this.getAsArray().forEac
1h(n,l),this},s.prototype.map=function(n,l){return new s(this.getAsArray().map(n,l),this.context)},s.prototype.filter=function(n,l){return new s(this.getAsArray().filter(n,l),this.context)},s.prototype.find=function(n){return new s(n,this.first)},s.prototype.on=function(n,l){return this.forEach(function(e){e.addEventListener(n,l,!1)})},s.prototype.off=function(n,l){return this.forEach(function(e){e.removeEventListener(n,l,!1)})},s.prototype.once=function(n,l){var e=function(){this.off(n,e),l.apply(void 0,arguments)}.bind(this);return this.on(n,e)},s.prototype.appendTo=function(n){if(!n)throw new Error("appendTo requires a DOMElement to append to.");return this.forEach(function(l){n.appendChild(l)})},s.prototype.append=function(){var n=this.first;return n&&Array.prototype.forEach.call(arguments,function(l){n.appendChild(l)}),this},s.prototype.prepend=function(){if(0===arguments.length)return this;var n=this.first,l=void 0;return n&&(l=Array.prototype.slice.call(arguments),n.firstElementChild||n.appendChild(l.shift()),l.forEach(function(l){n.insertBefore(l,n.firstElementChild)})),this},s.prototype.after=function(n){if(!n)throw new Error("after requires a DOMElement to insert after");return this.forEach(function(l){l.parentElement&&(n!==l.parentNode.lastChild?l.parentElement.insertBefore(l,n):l.parentElement.appendChild(l))})},s.prototype.before=function(n){if(!n)throw new Error("before requires a DOMElement to insert before");return this.forEach(function(l){l.parentElement&&l.parentElement.insertBefore(l,n)})},s.prototype.remove=function(){return this.forEach(function(n){n.parentNode&&n.parentNode.removeChild(n)})},s.prototype.empty=function(){return this.forEach(function(n){for(;n.firstChild;)n.removeChild(n.firstChild)})},s.prototype.isDisplayNone=function(){return this.some(function(n){return(0===n.offsetWidth||0===n.offsetHeight)&&"none"===new s(n).css("display")||!(!n.parentNode||!n.parentNode.style)&&new s(n.parentNode).isDisplayNone()})};var a=function c(n){return 0!==n.offsetWidth&&0!==n.offsetHeight||"none"!==new s(n).css("display")?n.parentNode&&n.parentNode.style?c(n.parentNode):null:n};s._attachToOTHelpers.emptyElement=function(n){return new s(n).empty()},s._attachToOTHelpers._findElementWithDisplayNone=a,t.css(s,a),t.attributes(s),t.classNames(s),t.observers(s),["on","off","isDisplayNone","show","hide","css","makeVisibleAndYield","addClass","removeClass"].forEach(function(n){s._attachToOTHelpers[n]=function(){var l=Array.prototype.slice.apply(arguments),e=l.shift(),t=new s(e);return s.prototype[n].apply(t,l)}})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../env":217,"../util":225,"./extensions/attributes":211,"./extensions/classNames":212,"./extensions/css":213,"./extensions/observers":214}],216:[function(n,l,e){"use strict";var t=n("./index");l.exports=function(n,l){return new t(n,l)}},{"./index":215}],217:[function(n,l,e){(function(n,e){"use strict";var t={};(l.exports=t)._attachToOTHelpers={},t.version=-1,void 0!==n&&void 0!==n.versions&&"string"==typeof n.versions.node?(t.name="Node",t.version=parseInt(n.versions.node,10),t.userAgent="Node "+t.version,t.iframeNeedsLoad=!1):(t.userAgent=e.navigator.userAgent.toLowerCase(),t.appName=e.navigator.appName,t.navigatorVendor=void 0,t.name="unknown",-1<t.userAgent.indexOf("opera")||-1<t.userAgent.indexOf("opr")?(t.name="Opera",null!==/opr\/([0-9]{1,}[\.0-9]{0,})/.exec(t.userAgent)&&(t.version=parseFloat(RegExp.$1))):-1<t.userAgent.indexOf("firefox")?(t.name="Firefox",null!==/firefox\/([0-9]{1,}[\.0-9]{0,})/.exec(t.userAgent)&&(t.version=parseFloat(RegExp.$1))):"Microsoft Internet Explorer"===t.appName?(t.name="IE",null!==/msie ([0-9]{1,}[\.0-9]{0,})/.exec(t.userAgent)&&(t.version=parseFloat(RegExp.$1))):-1<t.userAgent.
1search(/edge\/\d+(\.\d+)?$/)?(t.name="Edge",null!==/Edge\/(\d+(\.\d+)?)$/.exec(t.userAgent)&&(t.version=parseFloat(RegExp.$1))):"Netscape"===t.appName&&-1<t.userAgent.indexOf("trident")?(t.name="IE",null!==/trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(t.userAgent)&&(t.version=parseFloat(RegExp.$1))):-1<t.userAgent.indexOf("chrome")?(t.name="Chrome",null!==/chrome\/([0-9]{1,}[\.0-9]{0,})/.exec(t.userAgent)&&(t.version=parseFloat(RegExp.$1))):e.navigator.vendor&&-1<e.navigator.vendor.toLowerCase().indexOf("apple")&&(t.name="Safari",null!==/version\/([0-9]{1,}[\.0-9]{0,})/.exec(t.userAgent)&&(t.version=parseFloat(RegExp.$1))),t.iframeNeedsLoad=t.userAgent.indexOf("webkit")<0,t.userAgent=e.navigator.userAgent,t.protocol=e.location.protocol,t.hostName=e.location.hostName),t._attachToOTHelpers.browser=function(){return t.name},t._attachToOTHelpers.browserVersion=function(){return t}}).call(this,n("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:182}],218:[function(n,l,e){(function(e){"use strict";var t=n("./env"),u=n("./util"),r=void 0,o=["description","fileName","lineNumber","message","name","number","stack"],i=function(n,l,e){switch(arguments.length){case 1:u.isObject(n)&&(e=n,n=l=void 0);break;case 2:u.isObject(l)&&(e=l,l=void 0)}if(e instanceof Error)for(var t=0,i=o.length;t<i;++t)this[o[t]]=e[o[t]];else if(u.isObject(e))for(var s in e)e.hasOwnProperty(s)&&(this[s]=e[s]);if(!(this.fileName&&this.lineNumber&&this.columnNumber&&this.stack)){var a=r();!this.fileName&&a.fileName&&(this.fileName=a.fileName),!this.lineNumber&&a.lineNumber&&(this.lineNumber=a.lineNumber),!this.columnNumber&&a.columnNumber&&(this.columnNumber=a.columnNumber),!this.stack&&a.stack&&(this.stack=a.stack)}!this.message&&n&&(this.message=n),this.name&&"Error"!==this.name||!l||(this.name=l)};((l.exports=i).prototype=Object.create(Error.prototype)).toString=i.prototype.valueOf=function(){var n="";return this.fileName&&(n+=" "+this.fileName),this.lineNumber&&(n+=" "+this.lineNumber,this.columnNumber&&(n+=":"+this.columnNumber)),"<"+(this.name?this.name+" ":"")+this.message+n+">"};var s=function(n,l){return l.slice(2).map(function(n){var l={fileName:n.getFileName(),linenumber:n.getLineNumber(),columnNumber:n.getColumnNumber()};return n.getFunctionName()&&(l.functionName=n.getFunctionName()),n.getMethodName()&&(l.methodName=n.getMethodName()),n.getThis()&&(l.self=n.getThis()),l})};r=function(){var n={},l=void 0,u=void 0,r=void 0;switch(t.name){case"Firefox":case"Safari":case"IE":try{e.call.js.is.explody()}catch(o){r=o}(l=(r.stack||"").split("\n")).shift(),l.shift(),n.stack=l,"IE"===t.name&&(n.stack.shift(),n.stack=l.map(function(n){return n.replace(/^\s+at\s+/g,"")})),(u=/@(.+?):([0-9]+)(:([0-9]+))?$/.exec(l[0]))&&(n.fileName=u[1],n.lineNumber=parseInt(u[2],10),3<u.length&&(n.columnNumber=parseInt(u[4],10)));break;case"Chrome":case"Node":case"Opera":var i=Error.prepareStackTrace;Error.prepareStackTrace=s,r=new Error,n.stack=r.stack,Error.prepareStackTrace=i;var a=n.stack[0];n.lineNumber=a.lineNumber,n.columnNumber=a.columnNumber,n.fileName=a.fileName,a.functionName&&(n.functionName=a.functionName),a.methodName&&(n.methodName=a.methodName),a.self&&(n.self=a.self);break;default:(r=new Error).stack&&(n.stack=r.stack.split("\n"))}return r.message&&(n.message=r.message),n}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./env":217,"./util":225}],219:[function(n,l,e){(function(e){"use strict";var t=n("lodash.once");l.exports=t(function(){return"WebSocket"in e&&void 0!==e.WebSocket})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"lodash.once":10}],220:[function(n,l,e){"use strict";var t=n("./mixin"),u=n("../makeEverythingAttachToOTHelpers"),r=e;t(r),u(r)},{"../makeEverythingAttachToOTHelpers":222,"./mixin":221}],221:[function(n,l,e){"use strict";function t(){}function u(n,l){return n[l].bind(n)}var o=[{name:"NONE",value:0,method:null},{name:"ERROR",value:1,method:"error"},{name:"WARN",value:2,method:"warn"},{name:"INFO",value:3,method:"info"},{name:"LOG",value:4,method:"log"},{name:"DEBUG",value:5,method:"debug"}];l.exports=function(n){o.forEach(function(l){n[l.name]=l.value}),n.shouldLog=t,n.setLogLevel=function(l){return l="number"==typeof l?l:0,o.forEach(function(e){null!==e.method&&(e.value<=l?n[e.method]=function(n){return"undefined"==typeof console?t:void 0!==console[n]?u(console,n):void 0!==console.log?u(console,"log"):t}(e.method):n[e.method]=t)}),n.debug("Setting the debug level to "+l),l},n.setLogLevel(n.ERROR)}},{}],222:[function(n,l,e){"use strict";l.exports=function(n){var l={};
1Object.keys(n).forEach(function(e){l[e]=n[e]}),n._attachToOTHelpers=l}},{}],223:[function(n,l,e){"use strict";var t=n("./elementCollection/shorthandSelector"),u=n("./env"),r=n("./behaviours/eventing"),o=n("./util"),i=n("uuid");l.exports=function(n){r(this,!0);var l=arguments[arguments.length-1];if(!o.isFunction(l))throw new Error("OTHelpers.Modal2 must be given a callback");arguments.length<2&&(n={});var e=document.createElement("iframe");e.id=n.id||i(),e.style.position="absolute",e.style.position="fixed",e.style.height="100%",e.style.width="100%",e.style.top="0px",e.style.left="0px",e.style.right="0px",e.style.bottom="0px",e.style.zIndex=1e3,e.style.border="0";try{e.style.backgroundColor="rgba(0,0,0,0.2)"}catch(s){e.style.backgroundColor="transparent",e.setAttribute("allowTransparency","true")}e.scrolling="no",e.setAttribute("scrolling","no");var a='<!DOCTYPE html><html><head><meta http-equiv="x-ua-compatible" content="IE=Edge"><meta http-equiv="Content-type" content="text/html; charset=utf-8"><title></title></head><body></body></html>',c=function(){var n=e.contentDocument||e.contentWindow.document;u.iframeNeedsLoad&&(n.body.style.backgroundColor="transparent",n.body.style.border="none","IE"!==u.name&&(n.open(),n.write(a),n.close())),l(e.contentWindow,n)};document.body.appendChild(e),u.iframeNeedsLoad?("IE"===u.name&&(e.contentWindow.contents=a,e.src='javascript:window["contents"]'),t(e).on("load",c)):setTimeout(c,0),this.close=function(){return t(e).remove(),this.trigger("closed"),this.element=e=null,this},this.element=e}},{"./behaviours/eventing":203,"./elementCollection/shorthandSelector":216,"./env":217,"./util":225,uuid:197}],224:[function(n,l,e){(function(e){"use strict";var t=n("./util"),u=e.requestAnimationFrame||e.mozRequestAnimationFrame||e.webkitRequestAnimationFrame||e.msRequestAnimationFrame;if(u)u=u.bind(e);else{var r=0,o=t.now();u=function(n){var l=t.now(),u=Math.max(0,16-(l-r)),i=e.setTimeout(function(){n(l-o)},u);return r=l+u,i}}l.exports=u}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./util":225}],225:[function(n,l,e){(function(l){"use strict";var t=n("./makeEverythingAttachToOTHelpers"),u=e;u.detectIdSelectors=/^#([\w-]*)$/,u.isFunction=function(n){return!!n&&(-1!==n.toString().indexOf("()")||"[object Function]"===Object.prototype.toString.call(n))},u.isObject=function(n){return n===Object(n)},u.isEmpty=function(n){if(null==n)return!0;if(Array.isArray(n)||"string"==typeof n)return 0===n.length;for(var l in n)if(n.hasOwnProperty(l))return!1;return!0},u.find=function(n,l,e){if(!u.isFunction(l))throw new TypeError("iter must be a function");for(var t=void 0,r=0,o=n.length||0;r<o;++r)if(r in n&&l.call(e,n[r],r)){t=n[r];break}return t},u.findIndex=function(n,l,e){if(!u.isFunction(l))throw new TypeError("iter must be a function");for(var t=0,r=n.length||0;t<r;++t)if(t in n&&l.call(e,n[t],t,n))return t;return-1},u.extend=Object.assign||function(n){if(null==n)throw new TypeError("Cannot convert first argument to object");for(var l=Object(n),e=1;e<arguments.length;e++){var t=arguments[e];if(null!=t){t=Object(t);for(var u=Object.keys(Object(t)),r=0,o=u.length;r<o;r++){var i=u[r],s=Object.getOwnPropertyDescriptor(t,i);void 0!==s&&s.enumerable&&(l[i]=t[i])}}}return l},u.defaults=function(n){if(null==n)throw new TypeError("Cannot convert first argument to object");for(var l=Object(n),e=1;e<arguments.length;e++){var t=arguments[e];if(null!=t){t=Object(t);for(var u=Object.keys(Object(t)),r=0,o=u.length;r<o;r++){var i=u[r];if(!l.hasOwnProperty(i)){var s=Object.getOwnPropertyDescriptor(t,i);void 0!==s&&s.enumerable&&(l[i]=t[i])}}}}return l},u.clone=function(n){return u.isObject(n)?Array.isArray(n)?n.slice():u.extend({},n):n},u.now=function(){var n=l.performance||{},e=void 0,t=n.now||n.mozNow||n.msNow||n.oNow||n.webkitNow;return t?(t=t.bind(n),e=n.timing.navigationStart,function(){return e+t()}):function(){return(new Date).getTime()}}();u.defineProperties=function(n,l){Object.keys(l).forEach(function(e){n[e]=function(n,l,e){return l&&!e?function(){return l.call(n)}:l&&e?function(t){return void 0!==t&&e.call(n,t),l.call(n)}:function(l){void 0!==l&&e.call(n,l)}}(n,l[e].get,l[e].set)})},t(u)}
1).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./makeEverythingAttachToOTHelpers":222}],226:[function(n,l,e){(function(e){"use strict";var t=n("./guid_storage.js"),u=n("../ot/logging.js"),r=n("../common-js-helpers/OTHelpers.js"),o=n("./otProperties.js");l.exports=function(n){var i=new r.Analytics(n,u.debug,t.get);this.logError=function(n,u,s,a){var c=4<arguments.length&&void 0!==arguments[4]?arguments[4]:{},d=c.partnerId;t.get(function(t,f){if(!t){var p=r.extend({clientVersion:"js-"+o.version.replace("v",""),buildHash:o.buildHash,guid:f,partnerId:d,source:e.location&&e.location.href,logVersion:"2",apiServer:o.apiURL,clientSystemTime:(new Date).getTime()},c);i.logError(n,u,s,a,p)}})},this.logEvent=function(){var n=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},u=arguments[1],s=arguments[2],a=n.partnerId;t.get(function(t,c){if(!t){var d=r.extend({clientVersion:"js-"+o.version.replace("v",""),buildHash:o.buildHash,guid:c,partnerId:a,source:e.location&&e.location.href,logVersion:"2",apiServer:o.apiURL,clientSystemTime:(new Date).getTime()},n);i.logEvent(d,!1,u,s)}})},this.logQOS=function(){var n=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},u=n.partnerId;t.get(function(t,s){if(!t){var a=r.extend({clientVersion:"js-"+o.version.replace("v",""),buildHash:o.buildHash,guid:s,partnerId:u,source:e.location&&e.location.href,logVersion:"2",apiServer:o.apiURL,clientSystemTime:(new Date).getTime(),duration:0},n);i.logQOS(a)}})}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../common-js-helpers/OTHelpers.js":200,"../ot/logging.js":293,"./guid_storage.js":242,"./otProperties.js":256}],227:[function(n,l,e){(function(n){"use strict";var e=void 0;l.exports=function(l){l||(l={});var t=l.AudioContext||n.AudioContext;return function(){return e=e||new t}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],228:[function(n,l,e){"use strict";l.exports=function(n){this.sample=function(l){n(function(n,e){if(!n)for(var t=0;t<e.length;t++){var u=e[t],r=parseFloat(u.audioOutputLevel);if(!isNaN(r))return void l(r/32768)}l(null)})}}},{}],229:[function(n,l,e){"use strict";var t=n("../../common-js-helpers/OTHelpers.js");l.exports=function(n){var e=null,u=null,r=null,o=function(l){var e=n.createMediaStreamSource(l),t=n.createAnalyser();return e.connect(t),t};t.defineProperties(this,{webRTCStream:{get:function(){return r},set:function(n){e=o(r=n),u=new Uint8Array(e.frequencyBinCount)}}}),this.sample=function(n){if(e){e.getByteTimeDomainData(u);for(var l=0,t=0;t<u.length;t++)l=Math.max(l,Math.abs(u[t]-128));n(l/128)}else n(null)}}},{"../../common-js-helpers/OTHelpers.js":200}],230:[function(n,l,e){"use strict";var t=n("../ot/analytics.js"),u=n("../common-js-helpers/OTHelpers.js");l.exports=function(n){var l="Initial",i=void 0,s=void 0,a=void 0,d=u.statable(this,["Initial","Attempt","Success","Failure"],"Failure",function(e){var r=!1;switch(l=e){case"Attempt":"Initial"!==i&&(r=!0),f();break;case"Success":"Attempt"!==i&&(r=!0),p();break;case"Failure":"Attempt"!==i&&(r=!0),p()}if(r){var o=n?u.clone(n):{};o.action="Internal Error",o.variation="Non-fatal",o.payload={debug:"Invalid sequence: "+n.action+" "+i+" -> "+l},t.logEvent(o)}}),f=function(){a=0,s=setInterval(function(){if(a<6){var l=u.extend(n,{variation:"Attempting"});t.logEvent(l)}else p();a++},5e3)},p=function(){clearInterval(s)};this.setVariation=function(n){i=l,d(n)},this.stop=function(){p()}}},{"../common-js-helpers/OTHelpers.js":200,"../ot/analytics.js":271}],231:[function(n,l,e){"use strict";var t=n("../ot/exception_codes.js");l.exports=function(n){switch(n){case t.AUTHENTICATION_ERROR:case t.INVALID_SESSION_ID:case t.TERMS_OF_SERVICE_FAILURE:case t.UNEXPECTED_SERVER_RESPONSE:return n;case t.ANVIL_EMPTY_RESPONSE_BODY:return t.CONNECT_FAILED;case t.ANVIL_BADLY_FORMED_RESPONSE:case t.ANVIL_INVALID_HTTP_STATUS:case t.ANVIL_XDOMAIN_OR_PARSING_ERROR:case t.ANVIL_UNKNOWN_HTTP_ERROR:case t.ANVIL_UNEXPECTED_ERROR_CODE:default:return t.UNEXPECTED_SERVER_RESPONSE}}},{"../ot/exception_codes.js":288}],232:[function(n,l,e){"use strict";var t=n("../ot/exception_codes.js"),u=n("../ot/ot_error_class.js"),r=[400,403,409,t.CONNECTION_LIMIT_EXCEEDED],o_CONNECT="ConnectToSession",o_SESSION_STATE="GetSessionState";l.exports=function(n){var l=void 0,e=void 0;if(n.reason===o_CONNECT&&n.code===t.CONNECT_FAILED)l=n.code,e=u.getTitleByCode(n.code);else if(n.code&&-1<r.indexOf(Number(n.code)))switch(l=t.CONNECT_FAILED,n.reason){case o_CONNECT:switch(n.code){case t.CONNECTION_LIMIT_EXCEEDED:l=n.code,e="Cannot connect -- the limit for concurrent connections to the session has been reached";break;default:e="Received error response to connection create message."}break;case o_SESSION_STATE:e="Received error response to session read";break;default:e=""}else l=t.UNEXPECTED_SERVER_RESPONSE,e="Unexpected server response. Try this operation again later.";return{code:l,message:e}}},{"../ot/exception_codes.js":288,"../ot/ot_error_class.js":315}],233:[function(n,l,e){(function(e){"use strict";var t=n("lodash/clone"),u=n("../common-js-helpers/env.js"),r=n("./filterIceServersForEdge.js"),o=n("../otplugin/otplugin.js"),i=e.webkitRTCPeerConnection||e.RTCPeerConnection||e.mozRTCPeerConnection;l.exports=function(n,l,e,s){var a=void 0;if(o.isInstalled())o.initPeerConnection(n,l,e,s);else{var c=t(n);"Edge"===u.name&&(c.iceServers=r(c.iceServers));try{a=new i(c,l)}catch(d){return void s(d.message)}s(null,a)}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../common-js-helpers/env.js":217,"../otplugin/otplugin.js":373,"./filterIceServersForEdge.js":239,"lodash/clone":147}],234:[function(n,l,e){"use strict";l.exports=function(n){var l=document.createElement("link");l.type="text/css",l.media="screen",l.rel="stylesheet",l.href=n,(document.head||document.getElementsByTagName("head")[0]).appendChild(l)}},{}],235:[function(n,l,e){"use strict";var t=n("bluebird");l.exports=function(l){l||(l={});var e=l.getNativeEnumerateDevices||n("./getNativeEnumerateDevices.js")(),u={},r={audio:"audioInput",video:"videoInput",audioinput:"audioInput",videoinput:"videoInput",audio
1Input:"audioInput",videoInput:"videoInput"};return u.hasEnumerateDevicesCapability=function(){return"function"==typeof e()},u.getMediaDevices=function(){return u.hasEnumerateDevicesCapability()?e()().then(function(n){return n.map(function(n){return{deviceId:n.deviceId||n.id,label:n.label,kind:r[n.kind]}}).filter(function(n){return"audioInput"===n.kind||"videoInput"===n.kind})}):t.Promise.reject(new Error("This browser does not support enumerateDevices APIs"))},u.shouldAskForDevices=function(){return u.hasEnumerateDevicesCapability()?u.getMediaDevices().then(function(n){var l=n.filter(function(n){return"audioInput"===n.kind}),e=n.filter(function(n){return"videoInput"===n.kind});return{video:0<e.length,audio:0<l.length,videoDevices:e,audioDevices:l}}).catch(function(){return{video:!0,audio:!0}}):t.Promise.resolve({video:!0,audio:!0})},u}},{"./getNativeEnumerateDevices.js":240,bluebird:2}],236:[function(n,l,e){"use strict";var t=n("../common-js-helpers/OTHelpers.js"),u=n("./otProperties.js"),r=n("../ot/logging.js"),o={};l.exports=o;var i=function(n,l,e){var u=n.head||n.getElementsByTagName("head")[0],o=t.createElement("link",{type:"text/css",media:"screen",rel:"stylesheet",href:l});u.appendChild(o),t.on(o,"error",function(n){r.error("Could not load CSS for dialog",l,n&&n.message||n)}),t.on(o,"load",e)},s=function(n,l,e){var t=["//fonts.googleapis.com/css?family=Didact+Gothic",u.cssURL].concat(l),r=t.length;t.forEach(function(l){i(n,l,function(){--r<=0&&e()})})},a=function(n,l,e){var u=t.createElement(e||"div",{class:n},l,this);return u.on=t.on.bind(t,u),u.off=t.off.bind(t,u),u};o.Plugin={},o.Plugin.promptToInstall=function(){var n=new t.Modal(function(l,e){function u(){n.trigger("download"),setTimeout(function(){E.querySelector(".OT_dialog-messages-main").innerHTML="To enable audio & video chat on this website, run the installer and then refresh your browser window.";var n=E.querySelectorAll(".OT_dialog-section");t.addClass(n[0],"OT_dialog-hidden"),t.removeClass(n[1],"OT_dialog-hidden")},3e3)}function r(){n.trigger("refresh")}var _,y,p=a.bind(e),h=function(n,l){var u=p("OT_dialog-button "+(l?"OT_dialog-button-"+l:"OT_dialog-button-large"),n);return u.enable=function(){return t.removeClass(this,"OT_dialog-button-disabled"),this},u.disable=function(){return t.addClass(this,"OT_dialog-button-disabled"),this},u},v=h("Download plugin"),g=h("cancel","small"),m=h("Refresh browser"),b=void 0,E=void 0;t.addClass(g,"OT_dialog-no-natural-margin OT_dialog-button-block"),t.addClass(m,"OT_dialog-no-natural-margin"),v.disable(),m.disable(),g.on("click",function(){n.trigger("cancelButtonClicked"),n.close()}),y=p("OT_closeButton","×").on("click",function(){n.trigger("closeButtonClicked"),n.close()}).first;var S=0<=l.location.protocol.indexOf("https")?"https":"http";_=function(n,l,e){var t=a.call(this,e||"",n,"a");return t.setAttribute("href",l),t}.call(e,"end-user license agreement",S+"://tokbox.com/support/ie-eula"),b=function(n,l,e){var u=a.call(this,"",null,"input");return(u=t(u).on("change",e)).attr({name:l,id:l,type:"checkbox"}),u.first}.call(e,null,"acceptEULA",function(){b.checked?(v.enable(),v.on("click",u),m.enable(),m.on("click",r)):(v.disable(),v.off("click",u),m.disable(),m.off("click",r))}),E=p("OT_dialog-centering",[p("OT_dialog-centering-child",[p("OT_root OT_dialog OT_dialog-plugin-prompt",[y,p("OT_dialog-messages",[p("OT_dialog-messages-main","This app requires real-time communication")]),p("OT_dialog-section",[p("OT_dialog-single-button-with-title",[p("OT_dialog-button-title",[b,function(){var n=p("","accept","label");return n.setAttribute("for",b.id),n.style.margin="0 5px",n}(),_]),p("OT_dialog-actions-card",[v,g])])]),p("OT_dialog-section OT_dialog-hidden",[p("OT_dialog-button-title",["You will then be able to continue using this application in Internet Explorer."]),m])])])]),s(e,[],function(){e.body.appendChild(E)})});return n},o.Plugin.promptToReinstall=function(){var n=new t.Modal(function(l,e){var u,r,o,t=a.bind(e);u=t("OT_closeButton","×").on("click",function(){n.trigger("closeButtonClicked"),n.close()}).first,r=t("OT_dialog-button OT_dialog-button-large OT_dialog-no-natural-margin","Okay").on("click",function(){n.trigger("okay")}).first,o=t("OT_dialog-centering",[t("OT_dialog-centering-child",[t("OT_ROOT OT_dialog OT_dialog-plugin-reinstall",[u,t("OT_dialog-messages",[t("OT_dialog-messages-main","Reinstall Opentok Plugin"),t("OT_dialog-messages-minor","Uh oh! Try reinstalling the OpenTok plugin again to enable real-time video communication for Internet Explorer.")]),t("OT_dialog-section",[t("OT_dialog-single-button",r)])])])]),s(e,[],function(){e.body.appendChild(o)})});return n},o.Plugin.updateInProgress=function(){var n=0,l=void 0,e=void 0,u=new t.Modal(function(t,r){var i,o=a.bind(r);e=o("OT_dialog-plugin-upgrade-percentage","0%","strong"),l=o("OT_dialog-progress-bar-fill"),i=o("OT_dialog-centering",[o("OT_dialog-centering-child",[o("OT_ROOT OT_dialog OT_dialog-plugin-upgrading",[o("OT_dialog-messages",[o("OT_dialog-messages-main",["One moment please... ",e]),o("OT_dialog-progress-bar",l),o("OT_dialog-messages-minor OT_dialog-no-natural-margin","Please wait while the OpenTok plugin is updated")])])])]),s(r,[],function(){r.body.appendChild(i),null!=n&&u.setUpdateProgress(n)})});return u.setUpdateProgress=function(u){l&&e?99<u?(t.css(l,"width",""),e.innerHTML="100%"):u<1?(t.css(l,"width","0%"),e.innerHTML="0%"):(t.css(l,"width",u+"%"),e.innerHTML=u+"%"):n=u},u},o.Plugin.updateComplete=function(n){var l=new t.Modal(function(e,t){var r,o,i,u=a.bind(t);r=u("OT_dialog-button OT_dialog-button-large OT_dialog-no-natural-margin","Reload").on("click",function(){l.trigger("reload")}).first,o=u("OT_dialog-centering",[u("OT_dialog-centering-child",[u("OT_root OT_dialog OT_dialog-plugin-upgraded",[u("OT_dialog-messages",[u("OT_dialog-messages-main",(i=n?["Update Failed.",""+n||"
1NO ERROR"]:["Update Complete.","The OpenTok plugin has been succesfully updated. Please reload your browser."])[0]),u("OT_dialog-messages-minor",i[1])]),u("OT_dialog-single-button",r)])])]),s(t,[],function(){t.body.appendChild(o)})});return l}},{"../common-js-helpers/OTHelpers.js":200,"../ot/logging.js":293,"./otProperties.js":256}],237:[function(n,l,e){"use strict";function t(){return"undefined"==typeof document||"complete"===document.readyState||"interactive"===document.readyState&&document.body}var u=n("bluebird");l.exports={unloaded:!1,isDomLoaded:t,isDomUnloaded:function(){return this.unloaded},whenUnloaded:new u.Promise(function(n){document.addEventListener("unload",function(){(void 0).unloaded=!0,n()})}),whenLoaded:new u.Promise(function(n){return t()?n():(document.addEventListener("DOMContentLoaded",n),void document.addEventListener("load",n))})}},{bluebird:2}],238:[function(n,l,e){"use strict";l.exports=function(){var l=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=l.APIKEY||n("../ot/api_key.js"),t=l.logging||n("../ot/logging.js"),u=l.otProperties||n("./otProperties.js"),r=u.enableErrorReporting,o=l.global;o||"undefined"==typeof window||(o=window);var i=l.Raven;!i&&o&&(i=n("raven-js"));var s=/(opentok|ot|tb|tokbox)(?:\.min)?\.js/,a=function(n){return!!r&&!!(n&&n.tags&&n.tags.otError)&&(delete n.tags.otError,!0)},p=function(n){var l={otError:!0,partnerId:e.value,buildHash:u.buildHash};return n instanceof Error&&["name","title","code"].forEach(function(e){n[e]&&(l["error."+e]=n[e])}),l},h={send:function(n){if(!r||!i)return null;var l=function(n){var l=void 0;if(n instanceof Error||"string"==typeof n?l=n:null==n?l=new Error("Undefined or null error was reported!"):(l=new Error(n.message),["name","title","code","stack"].forEach(function(e){n[e]&&(l[e]=n[e])})),l instanceof Error&&!l.stack)try{throw l}catch(e){}return l}(n),e={fingerprint:function(n){var l=["{{ default }}"];return"string"==typeof n?l.push("message::"+n):null!=n&&["message","name","title","code"].forEach(function(e){n[e]&&l.push(e+"::"+n[e])}),l}(l),tags:p(l)};i.captureException(l,e);var u=i.lastEventId();return t.debug("Reported error with ID: "+u,l,e),u}};return r&&(o.addEventListener("error",function(n){null!=n.error&&h.send(n.error)}),i&&i.config(u.sentryDSN,{whitelistUrls:[s],logger:"webrtc-js",release:u.version,autoBreadcrumbs:!1,shouldSendCallback:a}).install().noConflict()),h}},{"../ot/api_key.js":273,"../ot/logging.js":293,"./otProperties.js":256,"raven-js":186}],239:[function(n,l,e){"use strict";var t=n("lodash/assign"),u=n("lodash/omit");l.exports=function(n){var l=!1;return n.map(function(n){if(n){var e=n.urls||n.url&&[n.url];if(e){var r=e.filter(function(n){return 0===n.indexOf("turn:")&&-1!==n.indexOf("transport=udp")&&-1===n.indexOf("turn:[")&&!l?l=!0:0===n.indexOf("stun:")});if(0!==r.length)return t(u(n,["url","urls"]),{urls:r})}}}).filter(function(n){return void 0!==n})}},{"lodash/assign":144,"lodash/omit":170}],240:[function(n,l,e){(function(e){"use strict";var t=n("bluebird");l.exports=function(l){l||(l={});var u=l.OTPlugin||n("../otplugin/otplugin.js");return function(){var n=void 0;return e.navigator.mediaDevices?(n=e.navigator.mediaDevices).enumerateDevices&&n.enumerateDevices.bind(n):u.isInstalled()?(n=u.mediaDevices).enumerateDevices&&t.promisify(n.enumerateDevices.bind(n)):e.MediaStreamTrack&&e.MediaStreamTrack.getSources?function(){return new t.Promise(function(n){e.MediaStreamTrack.getSources(n)})}:void 0}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../otplugin/otplugin.js":373,bluebird:2}],241:[function(n,l,e){(function(e){"use strict";var t=n("lodash.assign"),u=n("bluebird");l.exports=function(l){l||(l={});var h,v,g,r=l.Errors||n("../ot/Errors.js"),o=l.otError||n("./otError.js")(),i=l.OTPlugin||n("../otplugin/otplugin.js"),s=l.OTHelpers||n("../common-js-helpers/OTHelpers.js"),a=l.logging||n("../ot/logging.js"),c=l.navigator||e.navigator,d=l.throttleUntilComplete||n("./throttle_until_complete.js")(),f=void 0,p=void 0;f=c.getUserMedia?c.getUserMedia.bind(c):c.mediaDevices&&c.mediaDevices.getUserMedia?function(n,l,e){c.mediaDevices.getUserMedia(n).then(l,e)}:c.mozGetUserMedia?c.mozGetUserMedia.bind(c):c.webkitGetUserMedia?c.webkitGetUserMedia.bind(c):i.isInstalled()?i.getUserMedia.bind(i):void 0;h=d(function(n){return new u.Promise(function(l,e){f(n,l,e)})});var _=function(){var n={name:r.USER_MEDIA_ACCESS_DENIED,message:"End-user denied permission to hardware devices"},l={name:r.NOT_SUPPORTED,message:"A constraint specified is not supported by the browser."},e={name:r.CONSTRAINTS_NOT_SATISFIED,message:"It's not possible to satisfy one or more constraints passed into the getUserMedia function"},u={name:r.NO_DEVICES_FOUND,message:"No voice or video input devices are available on this machine."},o={name:r.HARDWARE_UNAVAILABLE,message:"The selected voice or video devices are unavailable. Verify that the chosen devices are not in use by another application."};return{PermissionDeniedError:n,PermissionDismissedError:n,NotAllowedError:n,SecurityError:t({},n,{message:"End-user denied permission to hardware devices or user media support may be disabled on this page"}),NotSupportedError:l,ConstraintNotSatisfiedError:e,MandatoryUnsatisfiedError:e,OverConstrainedError:e,DevicesNotFoundError:u,NotFoundError:u,NoDevicesFoundError:u,HardwareUnavailableError:o,NotReadableError:o,SourceUnavailableError:o,TrackStartError:o}}();v=function(n){var l=_[n];return l?o(l.name,new Error(l.message+" (getUserMedia error: "+n+")")):new Error("Unknown error while getting user media: "+n)},g=function(n){var l=void 0;return s.isObject(n)&&n.name?(l=v(n.name)).constraintName=n.constraintName:l="string"==typeof n?v(n):new Error("Unknown error type while getting media"),l};return function(n,l,e,t,u,i,c){if(p=h,s.isFunction(c)&&(p=c),function(n){if(!n||!s.isObject(n))return!0;for(var l in n)if(n.hasOwnProperty(l)&&n[l])return!1;return!0}(n))return a.error("Couldn't get UserMedia: All constraints were false"),void e(o(r.NO_VALID_CONSTRAINTS,new Error("Video and Audio was disabled, you need to enable at least one")));var d=null,f=!1,v=function(){d&&clearTimeout(d),f&&u&&u()},m=function(){f=!(d=null),t&&t()},_=function(n){v(),l(n)},y=function(n){v();var l=g(n);l.name===r.USER_MEDIA_ACCESS_DENIED?i(l):e(l)};c?p(n,_,y):p(n).then(_,y),d=-1===location.protocol.indexOf("https")?setTimeout(m,100):setTimeout(m,500)}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../common-js-helpers/OTHelpers.js":200,"../ot/Errors.js":270,"../ot/logging.js":293,"../otplugin/otplugin.js":373,"./otError.js":255,"./throttle_until_complete.js":258,bluebird:2,"lodash.assign":4}],242:[function(n,l,e){"use strict";var t=n("uuid"),u=n("../common-js-helpers/OTHelpers.js"),r=n("../ot/logging.js"),o={};l.exports=o;var i=void 0,s=void 0;o.override=function(n){if(function(n){return!(u.isFunction(n.get)&&u.isFunction(n.set))}(n))throw new Error("The storageInterface argument does not seem to be valid, it must implement get and set methods");i!==n&&(i=n,s&&i.set(s,function(n){n&&r.error("Failed to send initial Guid value ("+s+") to the newly assigned Guid Storage. The error was: "+n)}))},o.get=function(n){!function(n){s?n(null,s):i.get(n)}(function(l,e){return l?void n(l):(e?s||(s=e):(e=t(),i.set(e,function(l){return l?void n(l):void(s=e)})),void n(null,s))})},o.override({get:function(n){n(null,u.getCookie("opentok_client_id"))},set:function(n,l){u.setCookie("opentok_client_id",n),l(null)}}),o.set=function(n){s=n}},{"../common-js-helpers/OTHelpers.js":200,"../ot/logging.js":293,uuid:197}],243:[function(n,l,e){"use strict";var t=n("lodash.once"),u=n("../common-js-helpers/env.js");l.exports=t(function(){return-1<["Chrome","IE","Opera"].indexOf(u.name)}
1)},{"../common-js-helpers/env.js":217,"lodash.once":10}],244:[function(n,l,e){"use strict";var t=n("lodash.once"),u=n("../otplugin/otplugin.js"),r=n("../common-js-helpers/env.js"),o=n("./hasOpenTokSupport.js").once;l.exports=t(function(){return o()&&("Chrome"===r.name||"Firefox"===r.name||"Node"===r.name||u.isInstalled())})},{"../common-js-helpers/env.js":217,"../otplugin/otplugin.js":373,"./hasOpenTokSupport.js":248,"lodash.once":10}],245:[function(n,l,e){"use strict";var t=n("lodash.once");l.exports=t(function(){return"undefined"!=typeof document&&"classList"in document.createElement("a")})},{"lodash.once":10}],246:[function(n,l,e){(function(e){"use strict";var t=n("lodash.once"),u=n("../otplugin/otplugin.js"),r=n("../common-js-helpers/env.js");l.exports=t(function(){return"Node"!==r.name&&!!(e.navigator.webkitGetUserMedia||e.navigator.mozGetUserMedia||e.navigator.mediaDevices&&e.navigator.mediaDevices.getUserMedia||u.isInstalled())})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../common-js-helpers/env.js":217,"../otplugin/otplugin.js":373,"lodash.once":10}],247:[function(n,l,e){"use strict";var t=n("lodash.once"),u=n("../common-js-helpers/env.js"),r=n("./hasOpenTokSupport.js").once;l.exports=t(function(){return r()&&"Chrome"===u.name})},{"../common-js-helpers/env.js":217,"./hasOpenTokSupport.js":248,"lodash.once":10}],248:[function(n,l,e){"use strict";var t=n("lodash.once");e.check=function(){var l=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=l.env||n("../common-js-helpers/env.js"),t=l.hasGetUserMediaCapability||n("./hasGetUserMediaCapability.js"),u=l.hasPeerConnectionCapability||n("./hasPeerConnectionCapability.js"),r=l.logging||n("../ot/logging.js"),o=l.otProperties||n("./otProperties.js");if(o){var s=(o.minimumVersion||{})[e.name.toLowerCase()];if(s&&s>e.version)return r.debug("Support for",e.name,"is disabled because we require",s,"but this is",e.version),!1}return"Node"===e.name||t()&&u()},e.once=t(function(){return e.check()})},{"../common-js-helpers/env.js":217,"../ot/logging.js":293,"./hasGetUserMediaCapability.js":246,"./hasPeerConnectionCapability.js":249,"./otProperties.js":256,"lodash.once":10}],249:[function(n,l,e){(function(e){"use strict";var t=n("lodash.once"),u=n("../otplugin/otplugin.js"),r=n("../common-js-helpers/env.js");l.exports=t(function(){return"Node"!==r.name&&(!("function"!=typeof e.webkitRTCPeerConnection||!e.webkitRTCPeerConnection.prototype.addStream)||"function"==typeof e.RTCPeerConnection||"function"==typeof e.mozRTCPeerConnection&&20<r.version||u.isInstalled())})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../common-js-helpers/env.js":217,"../otplugin/otplugin.js":373,"lodash.once":10}],250:[function(n,l,e){"use strict";var t=n("lodash.once"),u=n("./hasOpenTokSupport.js").once;l.exports=t(function(){return u()})},{"./hasOpenTokSupport.js":248,"lodash.once":10}],251:[function(n,l,e){"use strict";var t=n("../common-js-helpers/env.js");l.exports=function(){return"Firefox"===t.name}},{"../common-js-helpers/env.js":217}],252:[function(n,l,e){"use strict";var t=n("../common-js-helpers/env.js"),u=n("./hasOpenTokSupport.js").once;l.exports=function(){return u()&&-1<["Chrome","Firefox"].indexOf(t.name)}},{"../common-js-helpers/env.js":217,"./hasOpenTokSupport.js":248}],253:[function(n,l,e){(function(e){"use strict";var u="OT_CANARY_"+n("uuid")();e[u]={},l.exports=function(){return!e[u]}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{uuid:197}],254:[function(n,l,e){(function(n){"use strict";l.exports=function(){var l=n.OT,e=n.TB;return function(){var t=n.OT;return n.OT=l,n.TB=e,t}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],255:[function(n,l,e){"use strict";l.exports=function(l){l||(l={});var e=l.errorReporting||n("./errorReporting.js")(),t=l.Errors||n("../ot/Errors.js"),u=l.OTErrorClass||n("../ot/ot_error_class.js"),r=Object.keys(t).map(function(n){return t[n]});return function(n,l,t){if(-1===r.indexOf(n))throw new Error("Attempt to use invalid error name ("+n+"). Original message: "+l.message);
1if(!(l instanceof Error))throw new Error("Did not pass Error as second argument");var o=new u(void 0,l.message);if(o.name=n,!l.stack)try{throw l}catch(i){}return o.stack=l.stack,t&&(o.code=t),e.send(o),o}}},{"../ot/Errors.js":270,"../ot/ot_error_class.js":315,"./errorReporting.js":238}],256:[function(n,l,e){(function(e){"use strict";var t=n("lodash.assign"),u=n("lodash.pick"),r=n("../common-js-helpers/OTHelpers.js"),o=n("../../conf/properties.js"),i=r.clone(o);i.debug="true"===i.debug||!0===i.debug,i.supportSSL="true"===i.supportSSL||!0===i.supportSSL,e.OTProperties&&t(i,u(e.OTProperties,["cdnURL","cdnURLSSL","configURL","assetURL","cssURL","apiURL","apiURLSSL","enableErrorReporting"])),!i.cdnURLSSL&&e.location&&(i.cdnURLSSL=e.location.protocol+"//"+e.location.host),!i.cdnURL&&e.location&&(i.cdnURL=e.location.protocol+"//"+e.location.host),i.assetURL||(i.supportSSL?i.assetURL=i.cdnURLSSL+"/webrtc/"+i.version:i.assetURL=i.cdnURL+"/webrtc/"+i.version),"IE"===r.env.name&&r.env.version<=9&&e.location.protocol.indexOf("https")<0||(i.apiURL=i.apiURLSSL,i.loggingURL=i.loggingURLSSL),Object.prototype.hasOwnProperty.call(i,"cssURL")||(i.cssURL=i.assetURL+"/css/TB.min.css"),i.enableErrorReporting=Boolean(i.enableErrorReporting),l.exports=i}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../conf/properties.js":199,"../common-js-helpers/OTHelpers.js":200,"lodash.assign":4,"lodash.pick":11}],257:[function(n,l,e){"use strict";var t=n("../common-js-helpers/OTHelpers.js");l.exports=function(){return"Chrome"===t.env.name&&t.env.version<25?"SDES_SRTP":"DTLS_SRTP"}},{"../common-js-helpers/OTHelpers.js":200}],258:[function(n,l,e){"use strict";var t=n("bluebird");l.exports=function(){return function(n){var l=t.Promise.resolve();return function(){var e=Array.prototype.slice.call(arguments),t=function(){return n.apply(void 0,e)};return l=l.then(t,t)}}}},{bluebird:2}],259:[function(n,l,e){"use strict";var t=n("../common-js-helpers/OTHelpers.js");l.exports=function(n,l){function e(){i||(r===l.videoWidth&&o===l.videoHeight||(n.trigger("videoDimensionsChanged",{width:r,height:o},{width:l.videoWidth,height:l.videoHeight}),r=l.videoWidth,o=l.videoHeight),u())}function u(){n.whenTimeIncrements(function(){t.requestAnimationFrame(e)})}var r=l.videoWidth,o=l.videoHeight,i=!0;n.startObservingSize=function(){i=!1,u()},n.stopObservingSize=function(){i=!0}}},{"../common-js-helpers/OTHelpers.js":200}],260:[function(n,l,e){"use strict";var t=n("bluebird"),u=n("lodash/once");l.exports=function(l){l||(l={});var e=l.audioContext||n("../../audio_context")(),r=l.canBeOrientatedMixin||n("../can_be_oriented_mixin.js"),o=l.listenForTracksEnded||n("./listenForTracksEnded.js")(),i=l.logging||n("../../../ot/logging.js"),s=l.OTHelpers||n("../../../common-js-helpers/OTHelpers.js"),a=l.streamBinding||n("./streamBinding.js")(),c=l.videoContentResizesMixin||n("../../video_content_resizes_mixin.js"),d=l.videoElementErrorMap||n("../videoElementErrorMap.js")(),f=l.WebaudioAudioLevelSampler||n("../../audio_level_samplers/webaudio_audio_level_sampler");return function(n,l,p,h){var v=this,g=void 0,m=void 0,_=!1,b=!1,y=n._inject.createVideoElement,E=void 0;s.eventing(this);var S=function(){_||(i.warn("Video element paused, auto-resuming. If you intended to do this, use publishVideo(false) or subscribeToVideo(false) instead."),_=!0),g.play()};g=y(n.fallbackText,n.muted),this.trigger("videoElementCreated",g),g.addEventListener("error",function(n){l(d(n.target.error))},!1);var T=[];g.addEventListener("timeupdate",function w(n){if(g){var l=g.videoWidth/g.videoHeight;if(!isNaN(l)){g.removeEventListener("timeupdate",w);for(var e=void 0;e=T.shift();)e()}}else n.target.removeEventListener("timeupdate",w)}),g.addEventListener("pause",S),c(this,g),r(this,function(){return g},p),this.domElement=function(){return g},this.videoWidth=function(){return g?g.videoWidth:0},this.videoHeight=function(){return g?g.videoHeight:0},this.imgData=function(){var n=s.createElement("canvas",{width:g.videoWidth,height:g.videoHeight,style:{display:"none"}});document.body.appendChild(n);var l=null;try{n.getContext("2d").drawImage(g,0,0,n.width,n.height),l=n.toDataURL("image/png")}catch(e){}return s.removeElement(n),null===l||"data:,"===l?(i.warn("Cannot get image data yet"),null):l.replace("data:image/png;base64,","").trim()},this.appendTo=function(n){return n.appendChild(g),this},this.getLoadedResolution=function(){return new t.Promise(function(n,l){if(E&&0!==E.getVideoTracks().length){var e=void 0,t=function(){2<g.videoWidth&&e({width:g.videoWidth,height:g.videoHeight})};e=u(function(e){g.removeEventListener("timeupdate",t),g.removeEventListener("loadedmetadata",t),v.off("destroyed",l),n(e)}),g.addEventListener("timeupdate",t),g.addEventListener("loadedmetadata",t),v.once("destroyed",l)}else n(null)})}
1,this.bindToStream=function(n,l){var u=this;return E=n,a.bind(g,n).then(function(){function l(){i.stop(),g&&(g.onended=null),u.trigger("mediaStopped")}if(!b){if(!g)return t.Promise.reject(new Error("Can't bind because _domElement no longer exists"));u.startObservingSize();var i=void 0;g.onended=l,i=o(n,l,function(n){u.trigger("mediaStopped",n)}),0<n.getAudioTracks().length&&(m=new f(e())).webRTCStream(n)}}).asCallback(l),this},this.unbindStream=function(){return g&&a.unbind(g),this.stopObservingSize(),E=m=null,this},this.setAudioVolume=function(n){g&&(g.volume=n)},this.getAudioVolume=function(){return g?g.volume:h},this.audioChannelType=function(n){return void 0!==n&&(g.mozAudioChannelType=n),"mozAudioChannelType"in g?g.mozAudioChannelType:"unknown"},this.getAudioInputLevel=function(){return new t.Promise(function(n){m?m.sample(n):n(null)})},this.whenTimeIncrements=function(n,l){if(g){var e=void 0,t=void 0;t=function(){g&&(!e||e>=g.currentTime?e=g.currentTime:(g.removeEventListener("timeupdate",t,!1),n.call(l,this)))}.bind(this),g.addEventListener("timeupdate",t,!1)}},this.destroy=function(){b=!0,this.unbindStream(),g&&(g.removeEventListener("pause",S),s.removeElement(g),g=null),this.trigger("destroyed")}}}},{"../../../common-js-helpers/OTHelpers.js":200,"../../../ot/logging.js":293,"../../audio_context":227,"../../audio_level_samplers/webaudio_audio_level_sampler":229,"../../video_content_resizes_mixin.js":259,"../can_be_oriented_mixin.js":263,"../videoElementErrorMap.js":266,"./listenForTracksEnded.js":261,"./streamBinding.js":262,bluebird:2,"lodash/once":171}],261:[function(n,l,e){"use strict";l.exports=function(){return function(l,e,t){function u(u){setTimeout(function(){if(i.length)if(function(n){return n.getTracks().every(function(n){return"ended"===n.readyState})}(l))o(),"function"==typeof e&&e();else{var s=u.target;r(s),"function"==typeof t&&t(s)}},100)}function r(n){n.removeEventListener("ended",u);var l=i.indexOf(n);0<=l&&i.splice(l,1)}function o(){i.slice().forEach(r)}var i=[];return l.getTracks().forEach(function(n){i.push(n),n.addEventListener("ended",u)}),{stop:o}}}},{}],262:[function(n,l,e){(function(e){"use strict";var t=n("bluebird"),u=n("lodash.once");l.exports=function(l){function r(n,l){void 0!==n.srcObject?n.srcObject=l:void 0!==n.mozSrcObject?n.mozSrcObject=l:n.src=e.URL.createObjectURL(l)}l||(l={});var o=l.Errors||n("../../../ot/Errors.js"),i=l.otError||n("../../otError.js")(),s=l.videoElementErrorMap||n("../videoElementErrorMap.js")(),a={unbind:function(n){n.onended=null,void 0!==n.srcObject?n.srcObject=null:void 0!==n.mozSrcObject?n.mozSrcObject=null:e.URL.revokeObjectURL(n.src)},bind:function(n,l){return new t.Promise(function(e,t){var c=function(){n.removeEventListener("loadedmetadata",d,!1),n.removeEventListener("timeupdate",d,!1),n.removeEventListener("error",f,!1),n.onended=null,l.getTracks().forEach(function(n){n.removeEventListener("ended",p)})},d=u(function(){c(),e()}),f=function(l){c(),a.unbind(n),t(s(l.target.error))},p=function(){c(),a.unbind(n),t(i(o.HARDWARE_UNAVAILABLE,new Error("Stream ended while trying to bind it to a video element. This may be due to your webcam being in use by another application.")))};r(n,l),l.getTracks().forEach(function(n){n.addEventListener("ended",p)}),n.addEventListener("loadedmetadata",d,!1),n.addEventListener("timeupdate",d,!1),n.addEventListener("error",f,!1),n.onended=p})}};return a}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../../ot/Errors.js":270,"../../otError.js":255,"../videoElementErrorMap.js":266,bluebird:2,"lodash.once":10}],263:[function(n,l,e){"use strict";var t=n("../../common-js-helpers/OTHelpers.js"),u={0:"rotate(0deg)",270:"rotate(90deg)",90:"rotate(-90deg)",180:"rotate(180deg)"};l.exports=function(n,l,e,r){var o=r;t.defineProperties(n,{isRotated:{get:function(){return this.orientation()&&(270===this.orientation().videoOrientation||90===this.orientation().videoOrientation)}},orientation:{get:function(){return o},set:function(n){var r=u[(o=n).videoOrientation]||u.ROTATED_NORMAL;switch(t.env.name){case"Chrome":case"Safari":l().style.webkitTransform=r;break;case"IE":l().style.msTransform=r;break;default:l().style.transform=r}e(o)}},audioChannelType:{get:function(){return"mozAudioChannelType"in this.domElement?this.domElement.mozAudioChannelType:"unknown"},set:function(n){"mozAudioChannelType"in this.domElement&&(this.domElement.mozAudioChannelType=n)}}})}},{"../../common-js-helpers/OTHelpers.js":200}],264:[function(n,l,e){"use strict";var t=n("lodash/assign");l.exports=function(l){function e(n,l){var e=document.createElement("video");return e.setAttribute("autoplay",""),e.innerHTML=n,!0===l&&(e.muted="true"),e}l||(l={});var u=l.NativeVideoElementWrapper||n("./NativeVideoElementWrapper/NativeVideoElementWrapper.js")(),r=l.OTHelpers||n("../../common-js-helpers/OTHelpers.js"),o=l.OTPlugin||n("../../otplugin/otplugin.js"),i=l.PluginVideoElementWrapper||n("./plugin_video_element_wrapper");return function(n){var l=this,a=void 0,c=void 0,d=!1,f=r.defaults(n&&!r.isFunction(n)?n:{},{fallbackText:"Sorry, Web RTC is not available in your browser"});o.isInstalled()||t(f,{_inject:{createVideoElement:e}});var p=r.isFunction(arguments[arguments.length-1])?arguments[arguments.length-1]:void 0,h=function(n){this.trigger("orientationChanged",n)}.bind(this),v=o.isInstalled()?new i(f,p,h,50):new u(f,p,h,50);r.eventing(this),v.on("videoDimensionsChanged",function(n,e){l.trigger("videoDimensionsChanged",n,e)}),v.on("mediaStopped",function(n){l.trigger("mediaStopped",n)}),v.on("videoElementCreated",function(n){l.trigger("videoElementCreated",
1n)}),this.getLoadedResolution=function(){return v.getLoadedResolution()},r.defineProperties(this,{domElement:{get:function(){return v.domElement()}},videoWidth:{get:function(){return v["video"+(this.isRotated()?"Height":"Width")]()}},videoHeight:{get:function(){return v["video"+(this.isRotated()?"Width":"Height")]()}},aspectRatio:{get:function(){return(this.videoWidth()+0)/this.videoHeight()}},isRotated:{get:function(){return v.isRotated()}},orientation:{get:function(){return v.orientation()},set:function(n){v.orientation(n)}},audioChannelType:{get:function(){return v.audioChannelType()},set:function(n){v.audioChannelType(n)}}}),this.imgData=function(){return v.imgData()},this.appendTo=function(n){return v.appendTo(n),this},this.bindToStream=function(n,l){var e=this;return d=!1,a=n,v.bindToStream(n,function(n){return n?void l(n):(d=!0,void 0!==c&&(e.setAudioVolume(c),c=void 0),v.on("aspectRatioAvailable",e.trigger.bind(e,"aspectRatioAvailable")),void l(null))}),this},this.unbindStream=function(){return a&&(a.onended=null,a=null,v.unbindStream()),this},this.setAudioVolume=function(n){return d?v.setAudioVolume(r.roundFloat(n/100,2)):c=parseFloat(n),this},this.getAudioVolume=function(){return d?parseInt(100*v.getAudioVolume(),10):void 0!==c?c:50},this.getAudioInputLevel=function(){return v.getAudioInputLevel()},this.whenTimeIncrements=function(n,l){return v.whenTimeIncrements(n,l),this},this.destroy=function(){this.off(),v.destroy()}}}},{"../../common-js-helpers/OTHelpers.js":200,"../../otplugin/otplugin.js":373,"./NativeVideoElementWrapper/NativeVideoElementWrapper.js":260,"./plugin_video_element_wrapper":265,"lodash/assign":144}],265:[function(n,l,e){"use strict";var t=n("bluebird"),u=n("../../common-js-helpers/OTHelpers.js"),r=n("../../ot/logging.js"),o=n("./can_be_oriented_mixin.js");l.exports=function(n,l,e,i){var s=this,a=void 0,c=void 0;u.eventing(this),o(this,function(){return a.domElement},e),this.domElement=function(){return a?a.domElement:void 0},this.videoWidth=function(){return a?a.videoWidth():void 0},this.videoHeight=function(){return a?a.videoHeight():void 0},this.imgData=function(){return a?a.getImgData():null},this.appendTo=function(n){return c=n,this},this.getLoadedResolution=function(){var n=new t.Promise(function(n,l){s.once("_resolutionLoaded",n),s.once("destroyed",l)});return function(){return n}}(),this.bindToStream=function(l,e){var t=this;return c&&document.body.contains(c)||r.error("The VideoElement must be attached to a DOM node before a stream can be bound"),a=l._.render(),this.trigger("videoElementCreated",this.domElement()),a.setFitMode(n.fitMode),a.appendTo(c),a.show(function(n){t.trigger("_resolutionLoaded",{width:a.videoWidth(),height:a.videoHeight()}),e(n)}),this},this.unbindStream=function(){return a&&(a.destroy(),this.domElement()&&this.domElement().parentNode&&this.domElement().parentNode.removeChild(this.domElement()),a=c=null),this},this.setAudioVolume=function(n){a&&a.volume(n)},this.getAudioVolume=function(){return a?a.volume():i},this.audioChannelType=function(){return"unknown"},this.getAudioInputLevel=function(){return t.resolve(a.getAudioInputLevel())},this.whenTimeIncrements=function(n,l){setTimeout(n.bind(l))},this.destroy=function(){this.unbindStream(),this.trigger("destroyed")}}},{"../../common-js-helpers/OTHelpers.js":200,"../../ot/logging.js":293,"./can_be_oriented_mixin.js":263,bluebird:2}],266:[function(n,l,e){(function(e){"use strict";l.exports=function(l){l||(l={});var t=l.Errors||n("../../ot/Errors.js"),u=l.otError||n("../otError.js")(),r={};return e.MediaError&&(r[e.MediaError.MEDIA_ERR_ABORTED]={name:t.MEDIA_ERR_ABORTED,message:"The fetching process for the media resource was aborted by the user agent at the user's request."},r[e.MediaError.MEDIA_ERR_NETWORK]={name:t.MEDIA_ERR_NETWORK,message:"A network error of some description caused the user agent to stop fetching the media resource, after the resource was established to be usable."},r[e.MediaError.MEDIA_ERR_DECODE]={name:t.MEDIA_ERR_DECODE,message:"An error of some description occurred while decoding the media resource, after the resource was established to be usable."},r[e.MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED]={name:t.MEDIA_ERR_SRC_NOT_SUPPORTED,message:"The media resource indicated by the src attribute was not suitable."}),function(n){var l=r[n.code];return l?u(l.name,new Error("There was an unexpected problem with the Video Stream: "+l.message)):new Error("An unknown error occurred"+(n.message?": "+n.message:"."))}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../ot/Errors.js":270,"../otError.js":255}],267:[function(n,l,e){"use strict";l.exports=function(){return{ROTATED_NORMAL:0,ROTATED_LEFT:270,ROTATED_RIGHT:90,ROTATED_UPSIDE_DOWN:180}}},{}],268:[function(n,l,e){"use strict";var t=n("uuid");l.exports=function(l){function e(n,l,e){var t=parseInt(l,10),u=parseInt(e,10);t<64||u<64?r.addClass(n,"OT_micro"):r.removeClass(n,"OT_micro"),t<128||u<128?r.addClass(n,"OT_mini"):r.removeClass(n,"OT_mini")}l||(l={});var u=l.logging||n("../ot/logging.js"),r=l.OTHelpers||n("../common-js-helpers/OTHelpers.js"),o=l.OTPlugin||n("../otplugin/otplugin.js"),i=l.VideoElementFacade||n("./video_element/index.js")(),f=function(n,l){var e=void 0,u=void 0;if(n&&n.nodeName?((e=n).getAttribute("id")&&0!==e.getAttribute("id").length||e.setAttribute("id","OT_"+t()),u=e.getAttribute("id")):n&&((e=r("#"+n).get(0))&&(u=n)),u||(u="OT_"+t().replace(/-/g,"_")),e)if(null!=l&&"replace"!==l){var o=document.createElement("div");
1o.id="OT_"+t(),"append"===l?(e.appendChild(o),e=o):"before"===l?(e.parentNode.insertBefore(o,e),e=o):"after"===l&&(e.parentNode.insertBefore(o,e.nextSibling),e=o)}else r.emptyElement(e);else(e=r.createElement("div",{id:u})).style.backgroundColor="#000000",document.body.appendChild(e);return e},p=function h(n,l){var g,_,t={},i={},s=!0,a=!1,c="cover",d=void 0,p=void 0,v=void 0,m=void 0,b=void 0,y=void 0,E=void 0;!1!==l.insertDefaultUI&&(E=f(n,l&&l.insertMode));var S=document.createElement("div");return r.eventing(t),l&&E&&((b=l.width)&&"number"==typeof b&&(b+="px"),(y=l.height)&&"number"==typeof y&&(y+="px"),E.style.width=b||"264px",E.style.height=y||"198px",E.style.overflow="hidden",e(E,b||"264px",y||"198px"),l.mirror&&r.addClass(E,"OT_mirrored"),"contain"===l.fitMode?c="contain":"cover"!==l.fitMode&&u.warn('Invalid fit value "'+l.fitMode+'" passed. Only "contain" and "cover" can be used.'),l.classNames&&r.addClass(E,l.classNames),r(E).addClass("OT_loading OT_fit-mode-"+c)),r.addClass(S,"OT_widget-container"),S.style.width="100%",S.style.height="100%",E&&E.appendChild(S),g=document.createElement("div"),r.addClass(g,"OT_video-poster"),S.appendChild(g),m=document.createElement("div"),r.addClass(m,"OT_video-loading"),S.appendChild(m),_=document.createElement("div"),r.addClass(_,"OT_video-loading-spinner"),m.appendChild(_),E&&(i.width=E.offsetWidth,i.height=E.offsetHeight),!o.isInstalled()&&E&&(d=r(E).observeSize(function(n){var l=n.width,t=n.height;e(E,l,t)})[0],v=r.observeNodeOrChildNodeRemoval(E,function(n){p&&(n.some(function(n){return n===S||"VIDEO"===n.nodeName})&&(p.destroy(),p=null))})),t.destroy=function(){d&&(d.disconnect(),d=null),v&&(v.disconnect(),v=null),p&&(p.destroy(),p=null),E&&(r.removeElement(E),E=null)},t.setBackgroundImageURI=function(n){r.css(g,"backgroundImage","url("+n+")"),r.css(g,"backgroundSize","contain"),r.css(g,"opacity","1.0")},l&&l.style&&l.style.backgroundImageURI&&t.setBackgroundImageURI(l.style.backgroundImageURI),t.bindVideo=function(n,e,u){e.fitMode=c,void 0!==e.audioVolume&&(e.audioVolume=parseFloat(e.audioVolume)),p&&(p.destroy(),p=null);var o=e.error;return delete e.error,(p=new h.VideoElementFacade(e,o)).domElement()&&t.trigger("videoElementCreated",p.domElement()),p.on("videoElementCreated",function(n){t.trigger("videoElementCreated",n)}),void 0!==e.audioVolume&&p.setAudioVolume(e.audioVolume),p.audioChannelType("telephony"),p.appendTo(S),p.bindToStream(n,function(n){return n?(p.destroy(),void u(n)):(p.on({videoDimensionsChanged:function(n,l){t.trigger("videoDimensionsChanged",n,l)},mediaStopped:function(n){t.trigger("mediaStopped",n)}}),void u(null,p))}),!1!==l.insertDefaultUI&&r.addClass(p.domElement(),"OT_video-element"),p},r.defineProperties(t,{video:{get:function(){return p}},showPoster:{get:function(){return!r.isDisplayNone(g)},set:function(n){n?r.show(g):r.hide(g)}},poster:{get:function(){return r.css(g,"backgroundImage")},set:function(n){r.css(g,"backgroundImage","url("+n+")")}},loading:{get:function(){return s},set:function(n){s=n,E&&(s?r.addClass(E,"OT_loading"):r.removeClass(E,"OT_loading"))}},audioOnly:{get:function(){return a}
1,set:function(n){(a=n)?r.addClass(E,"OT_audio-only"):r.removeClass(E,"OT_audio-only")}},domId:{get:function(){return E&&E.getAttribute("id")}}}),t.domElement=E,t.addError=function(n,l,e){E&&(E.innerHTML="<p>"+n+(l?' <span class="ot-help-message">'+l+"</span>":"")+"</p>",r.addClass(E,e||"OT_subscriber_error"),E.querySelector("p").offsetHeight>E.offsetHeight&&(E.querySelector("span").style.display="none"))},t};return p.VideoElementFacade=i,p}},{"../common-js-helpers/OTHelpers.js":200,"../ot/logging.js":293,"../otplugin/otplugin.js":373,"./video_element/index.js":264,uuid:197}],269:[function(l,e,t){(function(t){"use strict";var u=l("./helpers/errorReporting.js")(),r={};r.noConflict=l("./helpers/no_conflict.js")(),t.OT=r,t.TB=r,e.exports=r;var o=l("./common-js-helpers/OTHelpers.js"),i=l("./helpers/analytics.js"),s=l("./ot/analytics.js"),a=l("./ot/api_key.js"),c=l("./ot/audio_level_transformer"),d=l("./ot/publisher/calculateCapableSimulcastStreams.js"),f=l("./ot/chrome/chrome.js"),p=l("./helpers/connectivity_attempt_pinger.js"),h=l("./helpers/audio_level_samplers/webaudio_audio_level_sampler"),v=l("./helpers/audio_level_samplers/getstats_audio_output_level_sampler"),g=l("./helpers/css_loader.js"),m=l("./helpers/dialogs.js"),_=l("./ot/environment_loader.js"),b=l("./ot/Errors.js"),y=l("./ot/exception_codes.js"),E=l("./ot/publisher/generateConstraintInfo.js"),S=l("./helpers/guid_storage.js"),T=l("./ot/logging.js"),w=l("./ot/ot_error_class.js"),O=l("./otplugin/otplugin.js"),C=l("./helpers/otProperties.js"),R=l("./ot/messaging/raptor/parse_ice_servers.js").parseIceServers,I=l("./ot/peer_connection/peer_connection.js"),A=l("./ot/publisher/max_delay.js"),x=l("./ot/session/objects.js"),N=l("./ot/stream_channel.js"),k=l("./ot/styling/stylable_component.js"),D=l("./ot/system_requirements.js"),P=l("./helpers/otError.js")({errorReporting:u}),L=l("./helpers/audio_context.js")(),M=l("./ot/screensharing/chrome_extension_helper.js")({otError:P}),F=l("./ot/publisher/createChromeMixin.js")(),U=l("./helpers/device_helpers.js")(),V=l("./ot/events.js")(),B=l("./ot/generate_simple_state_machine.js")(),H=l("./helpers/get_user_media.js")({otError:P}),W=l("./ot/interpretPeerConnectionError.js")({otError:P}),q=l("./ot/interval_runner.js")(),G=l("./ot/publisher/microphone.js")(),z=l("./helpers/video_element/videoElementErrorMap.js")({otError:P}),K=l("./helpers/video_element/NativeVideoElementWrapper/streamBinding.js")({otError:P,videoElementErrorMap:z}),X=l("./helpers/video_element/NativeVideoElementWrapper/NativeVideoElementWrapper.js")({streamBinding:K,videoElementErrorMap:z}),$=l("./ot/peer_connection/publisher_peer_connection.js")(),Y=l("./ot/publisher/state.js")(),J=l("./ot/report_issue.js")({otError:P}),Q=l("./ot/screensharing/screen_sharing.js")({chromeExtensionHelper:M,otError:P}),Z=l("./helpers/video_element/index.js")({NativeVideoElementWrapper:X}),nn=l("./helpers/video_orientation.js")(),ln=l("./helpers/widget_view.js")({VideoElementFacade:Z}),en=l("./ot/qos_testing/webrtc_test.js")({VideoElementFacade:Z});o.getUserMedia=H;var tn=l("./ot/subscriber")({interpretPeerConnectionError:W,otError:P,WidgetView:ln}),un=l("./ot/publisher")({analytics:s,APIKEY:a,ConnectivityAttemptPinger:p,createChromeMixin:F,EnvironmentLoader:_,Errors:b,Events:V,ExceptionCodes:y,deviceHelpers:U,calculateCapableSimulcastStreams:d,generateConstraintInfo:E,getUserMedia:H,interpretPeerConnectionError:W,IntervalRunner:q,logging:T,Microphone:G,otError:P,OTErrorClass:w,OTHelpers:o,OTPlugin:O,otProperties:C,parseIceServers:R,PUBLISH_MAX_DELAY:A,PublisherPeerConnection:$,PublishingState:Y,screenSharing:Q,StreamChannel:N,systemRequirements:D,VideoOrientation:nn,WidgetView:ln}),rn=l("./ot/publisher/init.js")({otError:P,Publisher:un}),on=l("./ot/session")({initPublisher:rn,otError:P,Publisher:un,Subscriber:tn,webrtcTest:en}),sn=l("./ot/session/init.js")({Session:on});o.eventing(r),r.$=o,r.APIKEY=a.value,r.AnalyserAudioLevelSampler=h,r.Analytics=i,r.Anvil=l("./ot/anvil.js"),r.Archive=l("./ot/archive.js"),r.ArchiveEvent=V.ArchiveEvent,r.ArchiveUpdatedEvent=V.ArchiveUpdatedEvent,r.AudioLevelTransformer=c,r.AudioLevelUpdatedEvent=V.AudioLevelUpdatedEvent,r.Capabilities=l("./ot/capabilities.js"),r.Chrome=f,r.Connection=l("./ot/connection.js"),r.ConnectionCapabilities=r.Connection.Capabilities,r.ConnectionEvent=V.ConnectionEvent,r.ConnectivityAttemptPinger=p,r.DEBUG=T.DEBUG,r.DestroyedEvent=V.DestroyedEvent,r.Dialogs=m,r.ER
1ROR=T.ERROR,r.EnvLoadedEvent=V.EnvLoadedEvent,r.Error=w,r.Error.on(V.Event.names.EXCEPTION,function(n){if(n.target===r.Error){var l=o.clone(n);(l.target=r).dispatchEvent(l)}else r.dispatchEvent(n)}),r.Event=V.Event,r.ExceptionCodes=y,r.ExceptionEvent=V.ExceptionEvent,r.getDevices=l("./ot/get_devices.js"),r.GetStatsAudioLevelSampler=v,r.HAS_REQUIREMENTS=1,r.INFO=T.INFO,r.IntervalRunner=q,r.IssueReportedEvent=V.IssueReportedEvent,r.LOG=T.LOG,r.MediaStoppedEvent=V.MediaStoppedEvent,r.Microphone=G,r.Modal=o.Modal,r.NONE=T.NONE,r.NOT_HAS_REQUIREMENTS=0,r.PeerConnection=I,r.PeerConnection.QOS=l("./ot/peer_connection/qos.js"),r.Publisher=un,r.PublisherPeerConnection=$,r.PublishingState=Y,r.Raptor=l("./ot/messaging/raptor/legacy_structure.js"),r.Rumor=l("./ot/messaging/rumor/legacy_structure.js"),r.Session=on,r.SessionConnectEvent=V.SessionConnectEvent,r.SessionDisconnectEvent=V.SessionDisconnectEvent,r.SessionDispatcher=l("./ot/messaging/raptor/session_dispatcher.js"),r.SessionInfo=l("./ot/session/info.js"),r.Signal=l("./ot/messaging/raptor/signal.js"),r.SignalEvent=V.SignalEvent,r.Stream=l("./ot/stream.js"),r.StreamChannel=N,r.StreamEvent=V.StreamEvent,r.StreamPropertyChangedEvent=V.StreamPropertyChangedEvent,r.StreamUpdatedEvent=V.StreamUpdatedEvent,r.StylableComponent=k,r.Subscriber=tn,r.SubscriberPeerConnection=l("./ot/peer_connection/subscriber_peer_connection.js"),r.SubscribingState=l("./ot/subscriber/state.js"),r.VideoDimensionsChangedEvent=V.VideoDimensionsChangedEvent,r.VideoDisableWarningEvent=V.VideoDisableWarningEvent,r.VideoElement=Z,r.VideoEnabledChangedEvent=V.VideoEnabledChangedEvent,r.VideoOrientation=nn,r.WARN=T.WARN,r.WidgetView=ln,r._={getClientGuid:S.get},r.analytics=s,r.audioContext=L,r.checkScreenSharingCapability=Q.checkCapability,r.checkSystemRequirements=D.check,r.components={},r.debug=T.debug,r.error=T.error,r.generateSimpleStateMachine=B,r.getDevices=l("./ot/get_devices.js"),r.getErrorTitleByCode=w.getTitleByCode,r.getLogs=T.getLogs,r.getStatsAdpater=l("./ot/peer_connection/get_stats_adapter.js"),r.getStatsHelpers=l("./ot/peer_connection/get_stats_helpers.js"),r.handleJsException=w.handleJsException,r.httpTest=l("./ot/qos_testing/http_test.js"),r.info=T.info,r.initPublisher=rn,r.initSession=function(n,l,e){return null==l&&(l=n,n=null),0===a.value.length&&n&&(a.value=n,r.APIKEY=n),sn(n,l,e)},r.isUnloaded=_.isUnloaded,r.log=T.log,r.onLoad=_.onLoad,r.onUnload=_.onUnload,r.overrideGuidStorage=S.override,r.pickScreenSharingHelper=Q.pickHelper,r.properties=C,r.publishers=x.publishers,r.registerScreenSharingExtension=Q.registerExtension,r.registerScreenSharingExtensionHelper=Q.registerExtensionHelper,r.reportIssue=J,r.sessions=x.sessions,r.setLogLevel=T.setLogLevel,r.shouldLog=T.shouldLog,r.subscribers=x.subscribers,r.upgradeSystemRequirements=D.upgrade,r.warn=T.warn,r.webrtcTest=en,_.onUnload(function(){x.publishers.destroy(),x.subscribers.destroy(),x.sessions.destroy("unloaded")}),C.cssURL&&g(C.cssURL)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./common-js-helpers/OTHelpers.js":200,"./helpers/analytics.js":226,"./helpers/audio_context.js":227,"./helpers/audio_level_samplers/getstats_audio_output_level_sampler":228,"./helpers/audio_level_samplers/webaudio_audio_level_sampler":229,"./helpers/connectivity_attempt_pinger.js":230,"./helpers/css_loader.js":234,"./helpers/device_helpers.js":235,"./helpers/dialogs.js":236,"./helpers/errorReporting.js":238,"./helpers/get_user_media.js":241,"./helpers/guid_storage.js":242,"./helpers/no_conflict.js":254,"./helpers/otError.js":255,"./helpers/otProperties.js":256,"./helpers/video_element/NativeVideoElementWrapper/NativeVideoElementWrapper.js":260,"./helpers/video_element/NativeVideoElementWrapper/streamBinding.js":262,"./helpers/video_element/index.js":264,"./helpers/video_element/videoElementErrorMap.js":266,"./helpers/video_orientation.js":267,"./helpers/widget_view.js":268,"./ot/Errors.js":270,"./ot/analytics.js":271,"./ot/anvil.js":272,"./ot/api_key.js":273,"./ot/archive.js":274,"./ot/audio_level_transformer":275,"./ot/capabilities.js":276,"./ot/chrome/chrome.js":281,"./ot/connection.js":285,"./ot/environment_loader.js":286,"./ot/events.js":287,"./ot/exception_codes.js":288,"./ot/generate_simple_state_machine.js":289,"./ot/get_devices.js":290,"./ot/interpretPeerConnectionError.js":291,"./ot/interval_runner.js":292,"./ot/logging.js":293,"./ot/messaging/raptor/legacy_structure.js":297,"./ot/messaging/raptor/parse_ice_servers.js":299,"./ot/messaging/raptor/session_dispatcher.js":303,"./ot/messaging/raptor/signal.js":304,"./ot/messaging/rumor/legacy_structure.js":308,"./ot/ot_error_class.js":315,"./ot/peer_connection/get_stats_adapter.js":318,"./ot/peer_connection/get_stats_helpers.js":319,"./ot/peer_connection/peer_connection.js":322,"./ot/peer_connection/publisher_peer_connection.js":325,"./ot/peer_connection/qos.js":326,"./ot/peer_connection/subscriber_peer_connection.js":331,"./ot/publisher":336,"./ot/publisher/calculateCapableSimulcastStreams.js":333,"./ot/publisher/createChromeMixin.js":334,"./ot/publisher/generateConstraintInfo.js":335,"./ot/publisher/init.js":337,"./ot/publisher/max_delay.js":338,"./ot/publisher/microphone.js":339,"./ot/publisher/state.js":341,"./ot/qos_testing/http_test.js":342,"./ot/qos_testing/webrtc_test.js":343,"./ot/report_issue.js":344,"./ot/screensharing/chrome_extension_helper.js":345,"./ot/screensharing/screen_sharing.js":349,"./ot/session":350,"./ot/session/info.js":351,"./ot/session/init.js":352,"./ot/session/objects.js":353,"./ot/stream.js":355,"./ot/stream_channel.js":356,"./ot/styling/stylable_component.js":358,"./ot/subscriber":361,"./ot/subscriber/state.js":362,"./ot/system_requirements.js":363,"./otplugin/otplugin.js":373}],270:[function(n,l,e){"use strict";l.exports={AUTHENTICATION_ERROR:"OT_AUTHENTICATION_ERROR",BADLY_FORMED_RESPONSE:"OT_BADLY_FORMED_RESPONSE",CHROME_MICROPHONE_ACQUISITION_ERROR:"OT_CHROME_MICROPHONE_ACQUISITION_ERROR",CONNECT_FAILED:"OT_CONNECT_FAILED",CONNECTION_LIMIT_EXCEEDED:"OT_CONNECTION_LIMIT_EXCEEDED",CONSTRAINTS_NOT_SATISFIED:"OT_CONSTRAINTS_NOT_SATISFIED",CREATE_PEER_CONNECTION_FAILED:"OT_CREATE_PEER_CONNECTION_FAILED",DISCONNECTED:"OT_DISCONNECTED",EMPTY_RESPONSE_BODY:"OT_EMPTY_RESPONSE_BODY",HARDWARE_UNAVAILABLE:"OT_HARDWARE_UNAVAILABLE",ICE_WORKFLOW_FAILED:"OT_ICE_WORKFLOW_FAILED",INVALID_HTTP_STATUS:"OT_INVALID_HTTP_STATUS",INVALID_PARAMETER:"OT_INVALID_PARAMETER",INVALID_SESSION_ID:"OT_INVALID_SESSION_ID",MEDIA_ERR_ABORTED:"OT_MEDIA_ERR_ABORTED",MEDIA_ERR_DECODE:"OT_MEDIA_ERR_DECODE",MEDIA_ERR_NETWORK:"OT_MEDIA_ERR_NETWORK",MEDIA_ERR_SRC_NOT_SUPPORTED:"OT_MEDIA_ERR_SRC_NOT_SUPPORTED",NO_DEVICES_FOUND:"OT_NO_DEVICES_FOUND",NO_VALID_CONSTRAINTS:"OT_NO_VALID_CONSTRAINTS",NOT_CONNECTED:"OT_NOT_CONNECTED",NOT_FOUND:"OT_NOT_FOUND",NOT_SUPPORTED:"OT_NOT_SUPPORTED",PERMISSION_DENIED:"OT_PERMISSION_DENIED",RATE_LIMIT_EXCEEDED:"OT_RATE_LIMIT_EXCEEDED",REPORT_ISSUE_FAILED:"OT_REPORT_ISSUE_FAILED",SCREEN_SHARING_EXTENSION_NOT_INSTALLED:"OT_SCREEN_SHARING_EXTENSION_NOT_INSTALLED",SCREEN_SHARING_EXTENSION_NOT_REGISTERED:"OT_SCREEN_SHARING_EXTENSION_NOT_REGISTERED",SCREEN_SHARING_NOT_SUPPORTED:"OT_SCREEN_SHARING_NOT_SUPPORTED",SET_REMOTE_DESCRIPTION_FAILED:"OT_SET_REMOTE_DESCRIPTION_FAILED",SOCKET_ALREADY_CONNECTED_CONNECTING:"OT_SOCKET_ALREADY_CONNECTED_CONNECTING",SOCKET_CLOSE_ABNORMAL:"OT_SOCKET_CLOSE_ABNORMAL",SOCKET_CLOSE_CONNECT_EXCEPTION:"OT_SOCKET_CLOSE_CONNECT_EXCEPTION",SOCKET_CLOSE_CONNECTIVITY_LOSS:"OT_SOCKET_CLOSE_CONNECTIVITY_LOSS",SOCKET_CLOSE_FA
1LLBACK_CODE:"OT_SOCKET_CLOSE_FALLBACK_CODE",SOCKET_CLOSE_INCONSISTENT_DATA:"OT_SOCKET_CLOSE_INCONSISTENT_DATA",SOCKET_CLOSE_NO_STATUS:"OT_SOCKET_CLOSE_NO_STATUS",SOCKET_CLOSE_POLICY_VIOLATION:"OT_SOCKET_CLOSE_POLICY_VIOLATION",SOCKET_CLOSE_PROTOCOL_ERROR:"OT_SOCKET_CLOSE_PROTOCOL_ERROR",SOCKET_CLOSE_TIMEOUT:"OT_SOCKET_CLOSE_TIMEOUT",SOCKET_CLOSE_TOO_LARGE:"OT_SOCKET_CLOSE_TOO_LARGE",SOCKET_CLOSE_UNEXPECTED_CONDITION:"OT_SOCKET_CLOSE_UNEXPECTED_CONDITION",SOCKET_CLOSE_UNSUPPORTED:"OT_SOCKET_CLOSE_UNSUPPORTED",STREAM_CREATE_FAILED:"OT_STREAM_CREATE_FAILED",STREAM_DESTROYED:"OT_STREAM_DESTROYED",STREAM_LIMIT_EXCEEDED:"OT_STREAM_LIMIT_EXCEEDED",STREAM_NOT_FOUND:"OT_STREAM_NOT_FOUND",TERMS_OF_SERVICE_FAILURE:"OT_TERMS_OF_SERVICE_FAILURE",TIMEOUT:"OT_TIMEOUT",UNEXPECTED_ERROR_CODE:"OT_UNEXPECTED_ERROR_CODE",UNEXPECTED_HTTP_STATUS:"OT_UNEXPECTED_HTTP_STATUS",UNEXPECTED_SERVER_RESPONSE:"OT_UNEXPECTED_SERVER_RESPONSE",UNKNOWN_HTTP_ERROR:"OT_UNKNOWN_HTTP_ERROR",USER_MEDIA_ACCESS_DENIED:"OT_USER_MEDIA_ACCESS_DENIED",XDOMAIN_OR_PARSING_ERROR:"OT_XDOMAIN_OR_PARSING_ERROR"}},{}],271:[function(n,l,e){"use strict";var t=n("../helpers/analytics.js"),u=n("../helpers/otProperties.js");l.exports=new t(u.loggingURL)},{"../helpers/analytics.js":226,"../helpers/otProperties.js":256}],272:[function(n,l,e){"use strict";function u(n,l){var e=new Error(l);return e.code=n,e}function r(n){var l=void 0,e=void 0,t=void 0,r=void 0;return n?(void 0!==(t=n.target&&n.target.status)?(l=a.ANVIL_INVALID_HTTP_STATUS,e=t,void 0!==(r=n.target&&n.target.statusText)&&(e+=" "+r)):e=void 0!==n.message?(l=a.ANVIL_XDOMAIN_OR_PARSING_ERROR,n.message):(l=a.ANVIL_UNKNOWN_HTTP_ERROR,"No status"),u(l,"Unexpected server response ("+e+"). Try this operation again later.")):null}function i(n){var l=void 0,e=void 0,t=void 0;return Array.isArray(n)?(l=c.find(n,function(n){return null!=n.error}))?(e=p[l.error.code],t=l.error.errorMessage&&l.error.errorMessage.message,e||(t||(t="Unknown error: "+e),e=a.ANVIL_UNEXPECTED_ERROR_CODE),t||(t="No error message"),u(e,t)):null:function(n){var l=void 0,e=void 0;return e=0===(n&&!c.isEmpty(n)?JSON.stringify(n):"").length?(l=a.ANVIL_EMPTY_RESPONSE_BODY,"Response body was empty, probably due to connectivity loss"):(l=a.ANVIL_BADLY_FORMED_RESPONSE,"Unknown error: JSON response was badly formed"),u(l,e)}
1(n)}var s=n("bluebird"),a=n("./exception_codes.js"),c=n("../common-js-helpers/OTHelpers.js"),d=n("../helpers/otProperties.js"),f={};l.exports=f;var p={400:a.INVALID_SESSION_ID,403:a.AUTHENTICATION_ERROR,404:a.INVALID_SESSION_ID,409:a.TERMS_OF_SERVICE_FAILURE,500:a.UNEXPECTED_SERVER_RESPONSE};f.get=function(n,l,e){var u=function(n,l,e){return{url:d.apiURL+"/"+n,options:{headers:{"X-OPENTOK-AUTH":l,"X-TB-VERSION":1,"X-TB-CLIENT-VERSION":"js-"+d.version.replace(/^v/,""),"X-TB-CONNECTIONID":e}}}}(n,l,e);return new s.Promise(function(n,l){c.getJSON(u.url,u.options,function(e,t){var u=r(e)||i(t);return u?void l(u):void n(t[0])})})}},{"../common-js-helpers/OTHelpers.js":200,"../helpers/otProperties.js":256,"./exception_codes.js":288,bluebird:2}],273:[function(n,l,e){"use strict";if("Node"===n("../common-js-helpers/OTHelpers.js").env.name)l.exports={value:""};else{var r=function(){var n=document.getElementsByTagName("script");return(n=n[n.length-1]).getAttribute("src")||n.src}().match(/[\?\&]apikey=([^&]+)/i);l.exports={value:r?r[1]:""}}},{"../common-js-helpers/OTHelpers.js":200}],274:[function(n,l,e){"use strict";var t=n("./events.js")(),u=n("../common-js-helpers/OTHelpers.js");l.exports=function(n,l,e){this.id=n,this.name=l,this.status=e,this._={},u.eventing(this),this._.update=function(n){for(var l in n)if(n.hasOwnProperty(l)){var e=this[l];this[l]=n[l];var u=new t.ArchiveUpdatedEvent(this,l,e,this[l]);this.dispatchEvent(u)}}.bind(this),this.destroy=function(){}}},{"../common-js-helpers/OTHelpers.js":200,"./events.js":287}],275:[function(n,l,e){"use strict";l.exports=function(){var n=null;this.transform=function(l){n=null===n||n<=l?l:.3*l+.7*n;var e=Math.log(n)/Math.LN10/1.5+1;return Math.min(Math.max(e,0),1)}}},{}],276:[function(n,l,e){"use strict";var t=n("../helpers/hasOpenTokSupport.js").once;l.exports=function(n){this.publish=-1!==n.indexOf("publish")?1:0,this.subscribe=-1!==n.indexOf("subscribe")?1:0,this.forceUnpublish=-1!==n.indexOf("forceunpublish")?1:0,this.forceDisconnect=-1!==n.indexOf("forcedisconnect")?1:0,this.supportsWebRTC=t()?1:0,this.permittedTo=function(n){return this.hasOwnProperty(n)&&1===this[n]}}},{"../helpers/hasOpenTokSupport.js":248}],277:[function(n,l,e){"use strict";var t=n("./behaviour/widget.js"),u=n("../../common-js-helpers/OTHelpers.js");l.exports=function(n){var l=void 0,e=void 0,r=void 0,o=void 0,i=void 0,s=this,a=n.archiving,c=n.archivingStarted||"Archiv
1ing on",d=n.archivingEnded||"Archiving off",f=!0,p=function(n){o.nodeValue=n,l.setAttribute("title",n)},h=function(){i&&(clearTimeout(i),i=null),a?u.addClass(e,"OT_active"):u.removeClass(e,"OT_active"),u.removeClass(s.domElement,"OT_archiving-"+(a?"off":"on")),u.addClass(s.domElement,"OT_archiving-"+(a?"on":"off")),n.show&&a?(p(c),u.addClass(r,"OT_mode-on"),u.removeClass(r,"OT_mode-auto"),s.setDisplayMode("on"),i=setTimeout(function(){u.addClass(r,"OT_mode-auto"),u.removeClass(r,"OT_mode-on")},5e3)):n.show&&!f?(u.addClass(r,"OT_mode-on"),u.removeClass(r,"OT_mode-auto"),s.setDisplayMode("on"),p(d),i=setTimeout(function(){s.setDisplayMode("off")},5e3)):s.setDisplayMode("off")};t(this,{mode:a&&n.show?"on":"off",nodeName:"h1",htmlAttributes:{className:"OT_archiving OT_edge-bar-item OT_edge-bottom"},onCreate:function(){l=u.createElement("div",{className:"OT_archiving-light-box"},""),e=u.createElement("div",{className:"OT_archiving-light"},""),l.appendChild(e),r=u.createElement("div",{className:"OT_archiving-status OT_mode-on OT_edge-bar-item OT_edge-bottom"},""),o=document.createTextNode(""),r.appendChild(o),s.domElement.appendChild(l),s.domElement.appendChild(r),h()}}),this.setShowArchiveStatus=function(l){n.show=l,s.domElement&&h.call(s)},this.setArchiving=function(n){a=n,f=!1,s.domElement&&h.call(s)}}},{"../../common-js-helpers/OTHelpers.js":200,"./behaviour/widget.js":280}],278:[function(n,l,e){"use strict";var t=n("./behaviour/widget"),u=n("../../common-js-helpers/OTHelpers.js"),r=n("bluebird"),o=n("events");l.exports=function(n){function s(){var n=(m&&"auto"===_||"on"===_)&&g;v!==n&&(v=n,c.emit("visibilityChanged",n))}var a=this,c=new o,d=void 0,f=void 0,p=void 0,h=void 0,v=void 0,g=!0,m=!1,_="auto",b=n.maxValue||1,y=n.minValue||0;u.defineProperties(a,{audioOnly:{get:function(){return m},set:function(n){m=n,s()}}}),a.setValue=function(n){h=n,function(){var n=100*h/(b-y);p.style.width=p.style.height=2*n+"%",p.style.top=p.style.right=-n+"%"}()},a.watchVisibilityChanged=function(n){return c.on("visibilityChanged",n),r.resolve().then(function(){n(v)}),function(){c.removeListener("visibilityChanged",n)}};var E={mode:n?n.mode:"auto",nodeName:"div",htmlAttributes:{className:"OT_audio-level-meter"},onCreate:function(){d=u.createElement("div",{className:"OT_audio-level-meter__bar"},""),p=u.createElement("div",{className:"OT_audio-level-meter__value"},""),f=u.createElement("div",{className:"OT_audio-level-meter__audio-only-img"},"");var n=a.domElement;n.appendChild(d),n.appendChild(f),n.appendChild(p),a.watchVisibilityChanged(function(n){n?u.removeClass(a.domElement,"OT_hide-forced"):u.addClass(a.domElement,"OT_hide-forced")})},onDestroy:function(){c.removeAllListeners("visibilityChanged")}};t(this,E),a.setDisplayMode=function(n){_=n,s()},a.getDisplayMode=function(){return _},a.showAfterLoading=function(){g=!0,s()},a.hideWhileLoading=function(){g=!1,s()},s()}},{"../../common-js-helpers/OTHelpers.js":200,"./behaviour/widget":280,bluebird:2,events:3}],279:[function(n,l,e){"use strict";var t=n("./behaviour/widget.js");l.exports=function(n){function l(){return"on"===e||"on"===u?"on":"mini"===e||"mini"===u?"mini":"mini-auto"===e||"mini-auto"===u?"mini-auto":"auto"===e||"auto"===u?"auto":"off"}var e=n.nameMode,u=n.muteMode;t(this,{mode:l(),nodeName:"div",htmlContent:"",htmlAttributes:{className:"OT_bar OT_edge-bar-item"}}),this.setNameMode=function(n){e=n,this.setDisplayMode(l())},this.setMuteMode=function(n){u=n,this.setDisplayMode(l())}}},{"./behaviour/widget.js":280}],280:[function(n,l,e){"use strict";var t=n("../../../common-js-helpers/OTHelpers.js");l.exports=function(n,l){var e=void 0,u=l||{};n.setDisplayMode=function(n){var l=n||"auto";e!==l&&(t.removeClass(this.domElement,"OT_mode-"+e),t.addClass(this.domElement,"OT_mode-"+l),e=l)},n.getDisplayMode=function(){return e},n.showAfterLoading=function(){t.removeClass(this.domElement,"OT_hide-forced")},n.hideWhileLoading=function(){t.addClass(this.domElement,"OT_hide-forced")},n.destroy=function(){return u.onDestroy&&u.onDestroy(this.domElement),this.domElement&&t.removeElement(this.domElement),n},n.appendTo=function(l){return this.domElement=t.createElement(u.nodeName||"div",u.htmlAttributes,u.htmlContent),u.onCreate&&u.onCreate(this.domElement),n.setDisplayMode(u.mode),"auto"===u.mode&&(t.addClass(n.domElement,"OT_mode-on-hold"),setTimeout(function(){t.removeClass(n.domElement,"OT_mode-on-hold")},2e3)),l.appendChild(this.domElement),n}}},{"../../../common-js-helpers/OTHelpers.js":200}],281:[function(n,l,e){"use strict";var t=n("../../common-js-helpers/OTHelpers.js");l.exports=function(n){var l={},e=function(e,t){t.parent=this,t.appendTo(n.parent),l[e]=t,this[e]=t};n.parent&&(t.eventing(this),this.destroy=function(){for(var n in this.off(),this.hideWhileLoading(),l)l.hasOwnProperty(n)&&l[n].destroy()},this.showAfterLoading=function(){for(var n in l)l.hasOwnProperty(n)&&l[n].showAfterLoading()},this.hideWhileLoading=function(){for(var n in l)l.hasOwnProperty(n)&&l[n].hideWhileLoading()},this.set=function(n,l){if("string"==typeof n&&l)e.call(this,n,l);else for(var t in n)n.hasOwnProperty(t)&&e.call(this,t,n[t]);return this})}},{"../../common-js-helpers/OTHelpers.js":200}],282:[function(n,l,e){"use strict";var t=n("../../common-js-helpers/OTHelpers.js"),u=n("./behaviour/widget.js");l.exports=function(){var n=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},l=n.OTHelpers||t,e=n.Widget||u;return function(n){var t=this,u=n.muted||!1,r=function(){u?l.addClass(t.domElement,"OT_active"):l.removeClass(t.domElement,"OT_active ")},o=function(){return u=!u,r(),u?t.parent.trigger("muted",t):t.parent.trigger("unmuted",t),!1};l.defineProperties(this,{muted:{get:function(){return u},set:function(n){u=n,r()}}});var a=u?"OT_edge-bar-item OT_mute OT_active":"OT_edge-bar-item OT_mute";e(this,{mode:n.mode,nodeName:"button",htmlContent:"Mute",htmlAttributes:{className:a,type:"button"},onCreate:function(n){l.on(n,"click",o)},onDestroy:function(n){l.off(n,"click",o)}})}}},{"../../common-js-helpers/OTHelpers.js":200,"./behaviour/widget.js":280}],283:[function(n,l,e){"use strict";var t=n("./behaviour/widget.js");l.exports=function(n){var l=n.name;l&&""!==l.trim().length||(l=null,n.mode="off"),this.setName=function(n){l||this.setDisplayMode("auto"),l=n,this.domElement.innerHTML=l}.bind(this),t(this,{mode:n.mode,nodeName:"h1",htmlContent:l,htmlAttributes:{className:"OT_name OT_edge-bar-item"}})}},{"./behaviour/widget.js":280}],284:[function(n,l,e){"use strict";var t=n("./behaviour/widget.js"),u=n("../../common-js-helpers/OTHelpers.js");l.exports=function(n){var l=!1,e=!1,r=function(n){var t=-1<["auto","on"].indexOf(this.getDisplayMode());u.removeClass(n,"OT_video-disabled OT_video-disabled-warning OT_active"),t&&(l?u.addClass(n,"OT_video-disabled"):e&&u.addClass(n,"OT_video-disabled-warning"),u.addClass(n,"OT_active"))}.bind(this);this.disableVideo=function(n){!0===(l=n)&&(e=!1),r(this.domElement)},this.setWarning=function(n){e=n,r(this.domElement)},t(this,{mode:n.mode||"auto",nodeName:"div",htmlAttributes:{className:"OT_video-disabled-indicator"}});var o=this.setDisplayMode.bind(this);this.setDisplayMode=function(n){o(n),r(this.domElement)}}},{"../../common-js-helpers/OTHelpers.js":200,"./behaviour/widget.js":280}],285:[function(n,l,e){"use strict";var t=n("./capabilities.js"),u=n("../common-js-helpers/OTHelpers.js"),r=n("./events.js")(),o=function i(n,l,e,o,s){var a=void 0;this.id=this.connectionId=n,this.creationTime=l?Number(l):null,this.data=e,this.capabilities=new i.Capabilities(o),this.permissions=new t(s),this.qual
1ity=null,u.eventing(this),this.destroy=function(n,l){a=n||"clientDisconnected",!0!==l&&this.dispatchEvent(new r.DestroyedEvent("destroyed",this,a))}.bind(this),this.destroyed=function(){return void 0!==a},this.destroyedReason=function(){return a}};o.fromHash=function(n){return new o(n.id,n.creationTime,n.data,u.extend(n.capablities||{},{supportsWebRTC:!0}),n.permissions||[])},o.Capabilities=function(n){var e=function(n){return n.supportsWebRTC=u.castToBoolean(n.supportsWebRTC),n}(n);this.supportsWebRTC=e.supportsWebRTC},l.exports=o},{"../common-js-helpers/OTHelpers.js":200,"./capabilities.js":276,"./events.js":287}],286:[function(n,l,e){"use strict";var u=n("./logging.js"),r=n("../common-js-helpers/OTHelpers.js"),o=n("../otplugin/otplugin.js"),i=n("../helpers/domState.js"),s=n("./events.js")();l.exports=new function(){function n(){return i.isDomLoaded()&&!i.isDomUnloaded()&&d}function l(){n()&&c.dispatchEvent(new s.EnvLoadedEvent(s.Event.names.ENV_LOADED))}function t(){c.dispatchEvent(new s.EnvLoadedEvent(s.Event.names.ENV_UNLOADED))}var c=this;r.eventing(c,!0);var d=!o.isSupported()||o.isReady();i.whenLoaded.then(function(){i.whenUnloaded.then(t),l()}),o.isSupported()&&o.ready(function(n){d=!0,n&&u.error("OTPlugin failed to load or was not installed:",n),l()}),this.onLoad=function(l,e){return n()?void l.call(e):void c.on(s.Event.names.ENV_LOADED,l,e)},this.onUnload=function(n,l){return this.isUnloaded()?void n.call(l):void c.on(s.Event.names.ENV_UNLOADED,n,l)},this.isUnloaded=function(){return i.isDomUnloaded()}}},{"../common-js-helpers/OTHelpers.js":200,"../helpers/domState.js":237,"../otplugin/otplugin.js":373,"./events.js":287,"./logging.js":293}],287:[function(n,l,e){"use strict";l.exports=function(l){l||(l={});var e=l.logging||n("./logging.js"),t=l.OTHelpers||n("../common-js-helpers/OTHelpers.js"),u={};u.Event=t.Event(),u.Event.names={ACTIVE:"active",INACTIVE:"inactive",UNKNOWN:"unknown",PER_SESSION:"perSession",PER_STREAM:"perStream",EXCEPTION:"exception",ISSUE_REPORTED:"issueReported",SESSION_CONNECTED:"sessionConnected",SESSION_RECONNECTING:"sessionReconnecting",SESSION_RECONNECTED:"sessionReconnected",SESSION_DISCONNECTED:"sessionDisconnected",STREAM_CREATED:"streamCreated",STREAM_DESTROYED:"streamDestroyed",CONNECTION_CREATED:"connectionCreated",CONNECTION_DESTROYED:"connectionDestroyed",SIGNAL:"signal",STREAM_PROPERTY_CHANGED:"streamPropertyChanged",MICROPHONE_LEVEL_CHANGED:"microphoneLevelChanged",RESIZE:"resize",SETTINGS_BUTTON_CLICK:"settingsButtonClick",DEVICE_INACTIVE:"deviceInactive",INVA
1LID_DEVICE_NAME:"invalidDeviceName",ACCESS_ALLOWED:"accessAllowed",ACCESS_DENIED:"accessDenied",ACCESS_DIALOG_OPENED:"accessDialogOpened",ACCESS_DIALOG_CLOSED:"accessDialogClosed",ECHO_CANCELLATION_MODE_CHANGED:"echoCancellationModeChanged",MEDIA_STOPPED:"mediaStopped",PUBLISHER_DESTROYED:"destroyed",SUBSCRIBER_DESTROYED:"destroyed",SUBSCRIBER_CONNECTED:"connected",SUBSCRIBER_DISCONNECTED:"disconnected",DEVICES_DETECTED:"devicesDetected",DEVICES_SELECTED:"devicesSelected",CLOSE_BUTTON_CLICK:"closeButtonClick",MICLEVEL:"microphoneActivityLevel",MICGAINCHANGED:"microphoneGainChanged",ENV_LOADED:"envLoaded",ENV_UNLOADED:"envUnloaded",AUDIO_LEVEL_UPDATED:"audioLevelUpdated",VIDEO_ELEMENT_CREATED:"videoElementCreated"},u.ExceptionEvent=function(n,l,e,t,r,o){u.Event.call(this,n),this.message=l,this.title=e,this.code=t,this.component=r,this.target=o},u.IssueReportedEvent=function(n,l){u.Event.call(this,n),this.issueId=l};var r=!(u.EnvLoadedEvent=function(n){u.Event.call(this,n)}),o=!(u.ConnectionEvent=function(n,l,t){u.Event.call(this,n,!1),Object.defineProperty(this,"connections",{get:function(){return r||(e.warn("OT.ConnectionEvent connections property is deprecated, use connection instead."),r=!0),[l]}}),this.connection=l,this.reason=t}),i=!(u.StreamEvent=function(n,l,t,r){u.Event.call(this,n,r),Object.defineProperty(this,"streams",{get:function(){return o||(e.warn("OT.StreamEvent streams property is deprecated, use stream instead."),o=!0),[l]}}),this.stream=l,this.reason=t}),a=!1;return u.SessionConnectEvent=function(n){u.Event.call(this,n,!1),Object.defineProperties(this,{connections:{get:function(){return i||(e.warn("OT.SessionConnectedEvent no longer includes connections. Listen for connectionCreated events instead."),i=!0),[]}},streams:{get:function(){return e.warn("OT.SessionConnectedEvent no longer includes streams. Listen for streamCreated events instead."),i=!0,[]}},archives:{get:function(){return a||(e.warn("OT.SessionConnectedEvent no longer includes archives. Listen for archiveStarted events instead."),a=!0),[]}}})},u.SessionReconnectingEvent=function(){u.Event.call(this,u.Event.names.SESSION_RECONNECTING)},u.SessionReconnectedEvent=function(){u.Event.call(this,u.Event.names.SESSION_RECONNECTED)},u.SessionDisconnectEvent=function(n,l,e){u.Event.call(this,n,e),this.reason=l},u.StreamPropertyChangedEvent=function(n,l,e,t,r){u.Event.call(this,n,!1),this.type=n,this.stream=l,this.changedProperty=e,this.oldValue=t,this.newValue=r},u.VideoDimensionsChangedEvent=function(n,l,e){u.Event.call(this,"videoDimensionsChanged",!1),this.type="videoDimensionsChanged",this.target=n,this.oldValue=l,this.newValue=e},u.ArchiveEvent=function(n,l){u.Event.call(this,n,!1),this.type=n,this.id=l.id,this.name=l.name,this.status=l.status,this.archive=l},u.ArchiveUpdatedEvent=function(n,l,e,t){u.Event.call(this,"updated",!1),this.target=n,this.changedProperty=l,this.oldValue=e,this.newValue=t},u.SignalEvent=function(n,l,e){u.Event.call(this,n?"signal:"+n:u.Event.names.SIGNAL,!1),this.data=l,this.from=e},u.StreamUpdatedEvent=function(n,l,e,t){u.Event.call(this,"updated",!1),this.target=n,this.changedProperty=l,this.oldValue=e,this.newValue=t},u.DestroyedEvent=function(n,l,e){u.Event.call(this,n,!1),this.target=l,this.reason=e},u.ConnectionStateChangedEvent=function(n,l){u.Event.call(this,n,!1),this.target=l},u.VideoEnabledChangedEvent=function(n,l){u.Event.call(this,n,!1),this.reason=l.reason},u.VideoDisableWarningEvent=function(n){u.Event.call(this,n,!1)},u.AudioLevelUpdatedEvent=function(n){u.Event.call(this,u.Event.names.AUDIO_LEVEL_UPDATED,!1),this.audioLevel=n},u.MediaStoppedEvent=function(n,l){u.Event.call(this,u.Event.names.MEDIA_STOPPED,!0),this.target=n,this.track=l},u.VideoElementCreatedEvent=function(n){u.Event.call(this,u.Event.names.VIDEO_ELEMENT_CREATED,!1),this.element=n},u}},{"../common-js-helpers/OTHelpers.js":200,"./logging.js":293}],288:[function(n,l,e){"use strict";l.exports={JS_EXCEPTION:2e3,AUTHENTICATION_ERROR:1004,INVALID_SESSION_ID:1005,CONNECT_FAILED:1006,CONNECT_REJECTED:1007,CONNECTION_TIMEOUT:1008,NOT_CONNECTED:1010,INVALID_PARAMETER:1011,P2P_CONNECTION_FAILED:1013,API_RESPONSE_FAILURE:1014,TERMS_OF_SERVICE_FAILURE:1026,CONNECTION_LIMIT_EXCEEDED:1027,UNABLE_TO_PUBLISH:1500,UNABLE_TO_SUBSCRIBE:1
1501,UNABLE_TO_FORCE_DISCONNECT:1520,UNABLE_TO_FORCE_UNPUBLISH:1530,PUBLISHER_ICE_WORKFLOW_FAILED:1553,SUBSCRIBER_ICE_WORKFLOW_FAILED:1554,STREAM_LIMIT_EXCEEDED:1605,UNEXPECTED_SERVER_RESPONSE:2001,REPORT_ISSUE_ERROR:2011,ANVIL_BADLY_FORMED_RESPONSE:3001,ANVIL_INVALID_HTTP_STATUS:3002,ANVIL_XDOMAIN_OR_PARSING_ERROR:3003,ANVIL_UNKNOWN_HTTP_ERROR:3004,ANVIL_UNEXPECTED_ERROR_CODE:3005,ANVIL_EMPTY_RESPONSE_BODY:3006}},{}],289:[function(n,l,e){"use strict";l.exports=function(l){l||(l={});var e=l.OTHelpers||n("../common-js-helpers/OTHelpers.js");return function(n,l,t){var u=l.slice(),r=e.clone(t),o=function(n){return-1!==u.indexOf(n)},i=function(n,l){return r[n]&&-1!==r[n].indexOf(l)};return function(l){function e(n,e){l({message:n,newState:e,currentState:u,previousState:r})}var u=n,r=null;this.current=u,this.set=function(n){(function(n){return o(n)?!!i(u,n)||(e("'"+u+"' cannot transition to '"+n+"'",n),!1):(e("'"+n+"' is not a valid state",n),!1)})(n)&&(r=u,this.current=u=n)}}}}},{"../common-js-helpers/OTHelpers.js":200}],290:[function(n,l,e){"use strict";var u=n("../helpers/device_helpers.js")().getMediaDevices;l.exports=function(n){u().then(function(l){n(void 0,l)},function(l){n(l)})}},{"../helpers/device_helpers.js":235}],291:[function(n,l,e){"use strict";l.exports=function(){var l,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.Errors||n("./Errors.js"),u=e.ExceptionCodes||n("./exception_codes.js"),r=e.otError||n("../helpers/otError.js")(),o={ICEWorkflow:t.ICE_WORKFLOW_FAILED,NewPeerConnection:t.CREATE_PEER_CONNECTION_FAILED,SetRemoteDescription:t.SET_REMOTE_DESCRIPTION_FAILED,Subscribe:(l={404:t.STREAM_NOT_FOUND},l[u.STREAM_LIMIT_EXCEEDED]=t.STREAM_LIMIT_EXCEEDED,l)};return function(n,l,e,i,s){var a=(e?e+": ":"")+s+" PeerConnection with connection "+i+" failed: "+l,c=o[e]||{},d="string"==typeof c?c:c[n],f="Publisher"===s?u.UNABLE_TO_PUBLISH:u.UNABLE_TO_SUBSCRIBE;if(!d){var p=new Error(a);return p.code=f,p}var h="ICEWorkflow"===e?"Publisher"===s?u.PUBLISHER_ICE_WORKFLOW_FAILED:u.SUBSCRIBER_ICE_WORKFLOW_FAILED:d===t.STREAM_LIMIT_EXCEEDED?u.STREAM_LIMIT_EXCEEDED:f;return r(d,new Error(a),h)}}},{"../helpers/otError.js":255,"./Errors.js":270,"./exception_codes.js":288}],292:[function(n,l,e){(function(n){"use strict";l.exports=function(){return function(l,e){var t=l,u=e,r=null;this.start=function(){r=n.setInterval(t,1e3/u)},this.stop=function(){n.clearInterval(r),r=null}}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],293:[function(n,l,e){"use strict";var t=n("bluebird"),u=n("../common-js-helpers/OTHelpers.js"),r=n("../helpers/otProperties.js"),o={};l.exports=o,u.useLogHelpers(o);var i=!1,s=o.setLogLevel;o.setLogLevel=function(n){u.setLogLevel(n);var l=s.call(o,n);return i||(o.debug("OpenTok JavaScript library "+r.version),o.debug("Release notes: "+r.websiteURL+"/opentok/webrtc/docs/js/release-notes.html"),o.debug("Known issues: "+r.websiteURL+"/opentok/webrtc/docs/js/release-notes.html#knownIssues"),i=!0),t.config({warnings:l>=o.DEBUG}),o.debug("OT.setLogLevel("+l+")"),l};var a="true"===r.debug||!0===r.debug;o.setLogLevel(a?o.DEBUG:o.WARN)},{"../common-js-helpers/OTHelpers.js":200,"../helpers/otProperties.js":256,bluebird:2}],294:[function(n,l,e){"use strict";l.exports=function(n){var l=[];this.enqueue=function(){l.push(Array.prototype.slice.call(arguments))},this.triggerAll=function(){for(var e=void 0;e=l.shift();)n.trigger.apply(n,e)}}},{}],295:[function(n,l,e){"use strict";l.exports=function(n){if(0===n.length)return{};var l=JSON.parse(n),e=l.uri.substr(1).split("/");e.shift(),""===e[e.length-1]&&e.pop(),l.params={};for(var t=0,u=e.length;t<u-1;t+=2)l.params[e[t]]=e[t+1];return e.length%2==0?"channel"===e[e.length-2]&&6<e.length?l.resource=e[e.length-4]+"_"+e[e.length-2]:l.resource=e[e.length-2]:"channel"===e[e.length-1]&&5<e.length?l.resource=e[e.length-3]+"_"+e[e.length-1]:l.resource=e[e.length-1],l.signature=l.resource+"#"+l.method,l}},{}],296:[function(n,l,e){"use strict";var t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},u=n("../../ot_error_class.js"),r=n("../../../common-js-helpers/OTHelpers.js"),o=n("../../logging.js"),i=n("../rumor/rumor_message_types.js"),s=n("./unbox_from_rumor_message.js"),a=function(){r.eventing(this,!0),this.callbacks={}};(l.exports=a).prototype.registerCallback=function(n,l){this.callbacks[n]=l},a.prototype.triggerCallback=function(n){if(n){var l=this.callbacks[n];if(l&&r.isFunction(l)){var e=Array.prototype.slice.call(arguments);e.shift(),l.apply(void 0,e)}delete this.callbacks[n]}}
1,a.prototype.onClose=function(n){this.emit("close",n)},a.prototype.onReconnected=function(){this.emit("reconnected")},a.prototype.onReconnecting=function(){this.emit("reconnecting")},a.prototype.dispatch=function(n){if(n.type!==i.STATUS){var c=s(n);switch(o.debug("OT.Raptor.dispatch "+c.signature),o.debug(JSON.stringify(c,null,2)),c.resource){case"session":this.dispatchSession(c);break;case"connection":this.dispatchConnection(c);break;case"stream":this.dispatchStream(c);break;case"stream_channel":this.dispatchStreamChannel(c);break;case"subscriber":this.dispatchSubscriber(c);break;case"subscriber_channel":this.dispatchSubscriberChannel(c);break;case"signal":this.dispatchSignal(c);break;case"archive":this.dispatchArchive(c);break;default:o.debug("OT.Raptor.dispatch: Type "+c.resource+" is not currently implemented")}}else{o.debug("OT.Raptor.dispatch: STATUS"),o.debug(n);var l=void 0;if(n.isError){var e=void 0;if("string"==typeof n.data)try{var r=JSON.parse(n.data);r&&"object"===(void 0===r?"undefined":t(r))&&(e=r.reason)}catch(a){o.warn("OT.Raptor.dispatch Failed to parse rumorMessage.data",a)}l=new u(n.status,e)}this.triggerCallback(n.transactionId,l,n)}},a.prototype.dispatchSession=function(n){switch(n.method){case"read":this.emit("session#read",n.content,n.transactionId);break;default:o.debug("OT.Raptor.dispatch: "+n.signature+" is not currently implemented")}},a.prototype.dispatchConnection=function(n){switch(n.method){case"created":this.emit("connection#created",n.content);break;case"deleted":this.emit("connection#deleted",n.params.connection,n.reason);break;default:o.debug("OT.Raptor.dispatch: "+n.signature+" is not currently implemented")}},a.prototype.dispatchStream=function(n){switch(n.method){case"created":this.emit("stream#created",n.content,n.transactionId);break;case"deleted":this.emit("stream#deleted",n.params.stream,n.reason);break;case"updated":this.emit("stream#updated",n.params.stream,n.content);break;case"generateoffer":case"answer":case"pranswer":case"offer":case"candidate":this.dispatchJsep(n.method,n);break;default:o.debug("OT.Raptor.dispatch: "+n.signature+" is not currently implemented")}},a.prototype.dispatchStreamChannel=function(n){switch(n.method){case"updated":this.emit("streamChannel#updated",n.params.stream,n.params.channel,n.content);break;default:o.debug("OT.Raptor.dispatch: "+n.signature+" is not currently implemented")}},a.prototype.dispatchJsep=function(n,l){this.emit("jsep#"+n,l.params.stream,l.fromAddress,l)},a.prototype.dispatchSubscriberChannel=function(n){switch(n.method){case"updated":this.emit("subscriberChannel#updated",n.params.stream,n.params.channel,n.content);break;
1case"update":this.emit("subscriberChannel#update",n.params.subscriber,n.params.stream,n.content);break;default:o.debug("OT.Raptor.dispatch: "+n.signature+" is not currently implemented")}},a.prototype.dispatchSubscriber=function(n){switch(n.method){case"created":this.emit("subscriber#created",n.params.stream,n.fromAddress,n.content.id);break;case"deleted":this.dispatchJsep("unsubscribe",n),this.emit("subscriber#deleted",n.params.stream,n.fromAddress);break;case"generateoffer":case"answer":case"pranswer":case"offer":case"candidate":this.dispatchJsep(n.method,n);break;default:o.debug("OT.Raptor.dispatch: "+n.signature+" is not currently implemented")}},a.prototype.dispatchSignal=function(n){return"signal"!==n.method?void o.debug("OT.Raptor.dispatch: "+n.signature+" is not currently implemented"):void this.emit("signal",n.fromAddress,n.content)},a.prototype.dispatchArchive=function(n){switch(n.method){case"created":this.emit("archive#created",n.content);break;case"updated":this.emit("archive#updated",n.params.archive,n.content)}}},{"../../../common-js-helpers/OTHelpers.js":200,"../../logging.js":293,"../../ot_error_class.js":315,"../rumor/rumor_message_types.js":311,"./unbox_from_rumor_message.js":306}],297:[function(n,l,e){"use strict";var t=n("./raptor_constants.js"),u={};u.Actions=t.Actions,u.Types=t.Types,u.Dispatcher=n("./dispatcher.js"),u.serializeMessage=n("./serialize_message.js"),u.deserializeMessage=n("./deserialize_message.js"),u.unboxFromRumorMessage=n("./unbox_from_rumor_message.js"),u.parseIceServers=n("./parse_ice_servers.js").parseIceServers,u.Message=n("./message.js"),u.Socket=n("./raptor_socket.js")(),l.exports=u},{"./deserialize_message.js":295,"./dispatcher.js":296,"./message.js":298,"./parse_ice_servers.js":299,"./raptor_constants.js":300,"./raptor_socket.js":301,"./serialize_message.js":302,"./unbox_from_rumor_message.js":306}],298:[function(n,l,e){"use strict";var t=n("uuid"),u=n("../../../common-js-helpers/OTHelpers.js"),r=n("../../../helpers/hasBundleCapability.js"),o=n("../../../helpers/hasRTCPMuxCapability.js"),i=n("./serialize_message.js"),s=n("../../../helpers/supported_crypto_scheme.js"),a=n("../../../helpers/otProperties.js"),c={};(l.exports=c).offer=function(n,l){return i({method:"offer",uri:n,content:{sdp:l}})},c.answer=function(n,l){return i({method:"answer",uri:n,content:{sdp:l}})},c.candidate=function(n,l){return i({method:"candidate",uri:n,content:l})},c.connections={},c.connections.create=function(n){var l=n.apiKey,e=n.sessionId,t=n.connectionId,r=n.connectionEventsSuppressed,o=n.capabilities;return i({method:"create",uri:"/v2/partner/"+l+"/session/"+e+"/connection/"+t,content:{userAgent:u.env.userAgent,clientVersion:"js-"+a.version.replace("v",""),capabilities:o||[],connectionEventsSuppressed:r}})},c.connections.destroy=function(n){var l=n.apiKey,e=n.sessionId,t=n.connectionId;return i({method:"delete",uri:"/v2/partner/"+l+"/session/"+e+"/connection/"+t,content:{}})},c.sessions={},c.sessions.get=function(n,l){return i({method:"read",uri:"/v2/partner/"+n+"/session/"+l,content:{}})},c.streams={},c.streams.get=function(n,l,e){return i({method:"read",uri:"/v2/partner/"+n+"/session/"+l+"/stream/"+e,content:{}})},c.streams.channelFromOTChannel=function(n){var l={id:n.id,type:n.type,active:n.active};return"video"===n.type&&(l.width=n.width,l.height=n.height,l.orientation=n.orientation,l.frameRate=n.frameRate,"default"!==n.source&&(l.source=n.source),l.fitMode=n.fitMode),l},c.streams.create=function(n,l,e,t,u,r,o,s){var a={id:e,name:t,audioFallbackEnabled:u,channel:r.map(function(n){return c.streams.channelFromOTChannel(n)})};return o&&(a.minBitrate=Math.round(o)),s&&(a.maxBitrate=Math.round(s)),i({method:"create",uri:"/v2/partner/"+n+"/session/"+l+"/stream/"+e,content:a})},c.streams.destroy=function(n,l,e){return i({method:"delete",uri:"/v2/partner/"+n+"/session/"+l+"/stream/"+e,content:{}})},c.streamChannels={},c.streamChannels.update=function(n,l,e,t,u){return i({method:"update",uri:"/v2/partner/"+n+"/session/"+l+"/stream/"+e+"/channel/"+t,content:u})},c.subscribers={},c.subscribers.uri=function(n,l,e,t){return"/v2/partner/"+n+"/session/"+l+"/stream/"+e+"/subscriber/"+t},c.subscribers.create=function(n,l,e,t,u,a){var c={id:t,connection:u,keyManagementMethod:s(),bundleSupport:r(),rtcpMuxSupport:o()};return a&&(c.channel=a),i({method:"create",uri:"/v2/partner/"+n+"/session/"+l+"/stream/"+e+"/subscriber/"+t,content:c})},c.subscribers.destroy=function(n,l,e,t){return i({method:"delete",uri:"/v2/partner/"+n+"/session/"+l+"/stream/"+e+"/subscriber/"+t,content:{}})},c.subscribers.update=function(n,l,e,t,u){return i({method:"update",uri:"/v2/partner/"+n+"/session/"+l+"/stream/"+e+"/subscriber/"+t,content:u})},c.subscriberChannels={},c.subscriberChannels.update=function(n,l,e,t,u,r){return i({method:"update",uri:"/v2/partner/"+n+"/session/"+l+"/stream/"+e+"/subscriber/"+t+"/channel/"+u,content:r})},c.signals={},c.signals.create=function(n,l,e,u,r){var o={};return void 0!==u&&(o.type=u),void 0!==r&&(o.data=r),i({method:"signal",uri:"/v2/partner/"+n+"/session/"+l+(void 0!==e?"/connection/"+e:"")+"/signal/"+t(),content:o})}},{"../../../common-js-helpers/OTHelpers.js":200,"../../../helpers/hasBundleCapability.js":244,"../../../helpers/hasRTCPMuxCapability.js":250,"../../../helpers/otProperties.js":256,"../../../helpers/supported_crypto_scheme.js":257,"./serialize_message.js":302,uuid:197}],299:[function(n,l,e){"use strict";e.adaptIceServers=function(n){return n.map(function(n){return{url:n.url,urls:n.urls||[n.url],username:n.username,credential:n.credential}})},e.parseIceServers=function(n){var l=void 0;
1try{l=JSON.parse(n.data).content.iceServers}catch(t){return[]}return e.adaptIceServers(l)}},{}],300:[function(n,l,e){"use strict";l.exports={Actions:{CONNECT:100,CREATE:101,UPDATE:102,DELETE:103,STATE:104,FORCE_DISCONNECT:105,FORCE_UNPUBLISH:106,SIGNAL:107,CREATE_ARCHIVE:108,CLOSE_ARCHIVE:109,START_RECORDING_SESSION:110,STOP_RECORDING_SESSION:111,START_RECORDING_STREAM:112,STOP_RECORDING_STREAM:113,LOAD_ARCHIVE:114,START_PLAYBACK:115,STOP_PLAYBACK:116,APPSTATE_PUT:117,APPSTATE_DELETE:118,OFFER:119,ANSWER:120,PRANSWER:121,CANDIDATE:122,SUBSCRIBE:123,UNSUBSCRIBE:124,QUERY:125,SDP_ANSWER:126,PONG:127,REGISTER:128,QUALITY_CHANGED:129},Types:{RPC_REQUEST:100,RPC_RESPONSE:101,STREAM:102,ARCHIVE:103,CONNECTION:104,APPSTATE:105,CONNECTIONCOUNT:106,MODERATION:107,SIGNAL:108,SUBSCRIBER:110,JSEP:109}}},{}],301:[function(n,l,e){"use strict";var t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},u=n("lodash.assign"),r=n("lodash.once"),o=n("uuid");l.exports=function(l){l||(l={});var e=l.analytics||n("../../analytics.js"),i=l.convertRumorError||n("../../../helpers/convertRumorError.js"),s=l.Dispatcher||n("./dispatcher.js"),a=l.ExceptionCodes||n("../../exception_codes.js"),c=l.hasIceRestartsCapability||n("../../../helpers/hasIceRestartsCapability.js"),d=l.hasRenegotiationCapability||n("../../../helpers/hasRenegotiationCapability.js"),f=l.logging||n("../../logging.js"),p=l.Message||n("./message.js"),h=l.OTHelpers||n("../../../common-js-helpers/OTHelpers.js"),v=l.RumorSocket||n("../rumor/rumor_socket.js"),g=l.Signal||n("./signal.js"),m=l.SignalError||n("./signal_error.js"),_=function b(n,l,c,d,v){var _=void 0,y=void 0,E=void 0,S=void 0,T=void 0,w=void 0,O=void 0,j=v||new s,R=h.statable(this,["disconnected","connecting","connected","error","disconnecting"],"disconnected"),I=function(l){l.action&&l.variation||f.debug("Expected action and variation"),e.logEvent(u({sessionId:y,partnerId:_,p2p:w,messagingServer:O,connectionId:n},l))},A=function(n){R(n?"error":"connected"),T.apply(void 0,arguments)},x=function(n){var l="clientDisconnected";!this.is("disconnecting")&&S.is("error")&&(l="networkDisconnected"),n&&4001===n.code&&(l="networkTimedout"),R("disconnected"),j.onClose(l)}.bind(this),N=function(n){f.error("OT.Raptor.Socket error:",n)},k=function(){j.onReconnecting()},D=function(){I({action:"Reconnect",variation:"Success",retries:S.reconnectRetriesCount(),messageQueueSize:S.messageQueueSize(),socketId:S.socketID()}),j.onReconnected()},P=function(){I({action:"Reconnect",variation:"Attempt",retries:S.reconnectRetriesCount(),messageQueueSize:S.messageQueueSize(),socketId:S.socketID()})},L=function(n){"connectionLimitExceeded"===n.message&&(n.code=a.CONNECTION_LIMIT_EXCEEDED),n.reason="ConnectToSession";var l=i(n);I({action:"Reconnect",variation:"Failure",failureReason:n.reason,failureCode:l.code,failureMessage:l.message,messageQueueSize:S.messageQueueSize(),socketId:S.socketID()})};this.connect=function(l,e,t,u){var r=this;if(this.is("disconnected","error")){R("connecting"),_=e.partnerId,y=e.sessionId,w=e.p2pEnabled,O=e.messagingServer,E=l,T=u;var i="/v2/partner/"+_+"/session/"+y;(S=new b.RumorSocket({messagingURL:c,notifyDisconnectAddress:d,connectionId:n,enableReconnection:e.reconnection})).onClose(x),S.onError(N),S.onReconnecting(k),S.onReconnectAttempt(P),S.onReconnectFailure(L),S.onReconnected(D),S.onMessage(j.dispatch.bind(j)),S.connect(function(n){if(n)A({reason:"WebSocketConnection",code:n.code,message:n.message});else{f.debug("OT.Raptor.Socket connected. Subscribing to "+i+" on "+c),S.subscribe([i]);var l=[];(b.hasIceRestartsCapability()||b.hasRenegotiationCapability())&&e.renegotiation&&l.push("renegotiation");var s=p.connections.create({apiKey:_,sessionId:y,connectionId:S.id(),connectionEventsSuppressed:t.connectionEventsSuppressed,capabilities:l});r.publish(s,{"X-TB-TOKEN-AUTH":E},!0,function(n,l){if(n)return"connectionLimitExceeded"===n.message&&(n.code=a.CONNECTION_LIMIT_EXCEEDED),void A({reason:"ConnectToSession",code:n.code,message:n.message,socketId:S.socketID()});var e=function(n,l){n?A({reason:"GetSessionState",code:n.code,message:n.message,socketId:S.socketID()}):A(void 0,l)},t=l&&l.data?JSON.parse(l.data):null;if(t&&t.connection){var u=o();j.registerCallback(u,e),j.emit("session#read",t,u)}else r.publish(p.sessions.get(_,y),{},!0,e)})}})}else f.warn("Cannot connect the Raptor Socket as it is currently connected. You should disconnect first.")},this.disconnect=function(n){this.is("disconnected")||(R("disconnecting"),S.disconnect(n))},this.publish=function(n,l,e,t){var u=r(t=t||function(){}),i=o();if(f.debug("OT.Raptor.Socket Publish (ID:"+i+") "+n),S.isNot("connected","reconnecting")||S.is("reconnecting")&&!e){var s=new Error("Not connected.");return s.code=500,u(s),void f.error("OT.Raptor.Socket: cannot publish until the socket is connected.")}return j.registerCallback(i,u),S.publish([d],n,h.extend({},l,{"Content-Type":"application/x-raptor+v2","TRANSACTION-ID":i,"X-TB-FROM-ADDRESS":S.id()}),e,function(n){n&&u.apply(void 0,arguments)}),i},this.streamCreate=function(n,l,e,t,u,r,o){var i=p.streams.create(_,y,l,n,e,t,u,r);this.publish(i,{},!0,function(n,e){o(n,l,e)})},this.streamDestroy=function(n){this.publish(p.streams.destroy(_,y,n),{},!0)},this.streamChannelUpdate=function(n,l,e){this.publish(p.streamChannels.update(_,y,n,l,e),{},!0)},this.subscriberCreate=function(n,l,e,t){this.publish(p.subscribers.create(_,y,n,l,S.id(),e),{},!0,t)},this.subscriberDestroy=function(n,l){this.publish(p.subscribers.destroy(_,y,n,l),{},!0)},this.subscriberUpdate=function(n,l,e){this.publish(p.subscribers.update(_,y,n,l,e),{},!0)},this.subscriberChannelUpdate=function(n,l,e,t){this.publish(p.subscriberChannels.update(_,y,n,l,e,t),{},!0)},this.forceDisconnect=function(n,l){this.publish(p.connections.destroy({apiKey:_,sessionId:y,connectionId:n}),{},!0,l)},this.forceUnpublish=function(n,l){this.publish(p.streams.destroy(_,y,n),{},!0,l)},this.jsepCandidate=function(n,l){this.publish(p.candidate(n,l),{},!0)},this.jsepOffer=function(n,l){this.publish(p.offer(n,l),{},!0)},this.jsepAnswer=function(n,l){this.publish(p.answer(n,l),{},!0)},this.signal=function(n,l,e){var u=new g(y,S.id(),n||{});return u.valid?void this.publish(u.toRaptorMessage(),{},u.retryAfterReconnect,function(n){var r=void 0,o=void 0,i=void 0;
1if(n)i=n.code&&-1<[400,403,404,413,500].indexOf(n.code)?(o=n.code,n.message):(o=a.UNEXPECTED_SERVER_RESPONSE,"Unexpected server response. Try this operation again later."),r=new m(o,i);else{var c=u.data?t(u.data):null;e("signal","send",{type:c})}l&&h.isFunction(l)&&l(r,u.toHash())}):void(l&&h.isFunction(l)&&l(new m(u.error.code,u.error.reason),u.toHash()))},this.id=function(){return S&&S.id()}};return _.hasIceRestartsCapability=c,_.hasRenegotiationCapability=d,_.RumorSocket=v,_}},{"../../../common-js-helpers/OTHelpers.js":200,"../../../helpers/convertRumorError.js":232,"../../../helpers/hasIceRestartsCapability.js":247,"../../../helpers/hasRenegotiationCapability.js":252,"../../analytics.js":271,"../../exception_codes.js":288,"../../logging.js":293,"../rumor/rumor_socket.js":312,"./dispatcher.js":296,"./message.js":298,"./signal.js":304,"./signal_error.js":305,"lodash.assign":4,"lodash.once":10,uuid:197}],302:[function(n,l,e){"use strict";l.exports=function(n){return JSON.stringify(n)}},{}],303:[function(n,l,e){"use strict";function u(n,l){if(!l.streams.has(n.id)){var e=function(n,l){var e=n.channel.map(function(n){return new v(n)}),t=n.connectionId?n.connectionId:n.connection.id;return new h(n.id,n.name,n.creationTime,l.connections.get(t),l,e)}(n,l);return l.streams.add(e),e}}function o(n,l){if(!l.archives.has(n.id)){var e=function(n){return new i(n.id,n.name,n.status)}(n);return l.archives.add(e),e}}var i=n("../../archive.js"),s=n("../../connection.js"),a=n("./delayed_event_queue.js"),c=n("./dispatcher.js"),d=n("../../logging.js"),f=n("../../../common-js-helpers/OTHelpers.js"),p=n("../../session/objects.js"),h=n("../../stream.js"),v=n("../../stream_channel.js"),g=function(n){var l={};this.enqueue=function(){var e=arguments[0],t=Array.prototype.slice.call(arguments,1);l[e]||(l[e]=new a(n)),l[e].enqueue.apply(l[e],t)},this.triggerConnectionCreated=function(n){l["connectionCreated"+n.id]&&l["connectionCreated"+n.id].triggerAll()},this.triggerSessionConnected=function(n){l.sessionConnected&&l.sessionConnected.triggerAll(),n.forEach(function(n){this.triggerConnectionCreated(n)},this)}},m={};l.exports=function(n,l){var e=new c,t=!1,r=new g(e);e.on("reconnecting",function(){n._.reconnecting()}),e.on("reconnected",function(){n._.reconnected()}),e.on("close",function(l){var e=n.connection;if(e)return e.destroyedReason()?void d.debug("OT.Raptor.Socket: Socket was closed but the connection had already been destroyed. Reason: "+e.destroyedReason()):void e.destroy(l)});var i=function(l,e){return n.connections.has(l.id)?n.connections.get(l.id):(l=s.fromHash(l),(e||n.connection&&l.id!==n.connection.id)&&(n.connections.add(l),r.triggerConnectionCreated(l)),Object.keys(m).forEach(function(t){var r=m[t];if(r&&l.id===r.connection.id){u(r,n),delete m[r.id];var o={debug:e?"connection came in session#read":"connection came in connection#created",streamId:r.id,connectionId:l.id};n.logEvent("streamCreated","warning",o)}}),l)};e.on("session#read",function(l,s){var a=void 0,c={streams:[],connections:[],archives:[]};l.connection.forEach(function(n){a=i(n,!0),c.connections.push(a)}),l.stream.forEach(function(l){c.streams.push(u(l,n))}),(l.archive||l.archives).forEach(function(l){c.archives.push(o(l,n))}),e.triggerCallback(s,null,c),t=!0,r.triggerSessionConnected(n.connections)}),e.on("connection#created",function(n){i(n)}),e.on("connection#deleted",function(l,e){(l=n.connections.get(l)).destroy(e)}),e.on("stream#created",function(t,r){l.connectionEventsSuppressed&&i(t.connection);var o=t.connectionId?t.connectionId:t.connection.id;if(n.connections.has(o))t=u(t,n);else{var s={debug:"eventOrderError -- streamCreated event before connectionCreated",streamId:(m[t.id]=t).id};n.logEvent("streamCreated","warning",s)}t.publisher&&t.publisher.setStream(t),e.triggerCallback(r,null,t)}),e.on("stream#deleted",function(l,e){var t=n.streams.get(l);return t?void t.destroy(e):void d.error("OT.Raptor.dispatch: A stream does not exist with the id of "+l+", for stream#deleted message!")}),e.on("stream#updated",function(l,e){var t=n.streams.get(l);return t?void t._.update(e):void d.error("OT.Raptor.dispatch: A stream does not exist with the id of "+l+", for stream#updated message!")}),e.on("streamChannel#updated",function(l,e,t){var u=void 0;return l&&(u=n.streams.get(l))?void u._.updateChannel(e,t):void d.error("OT.Raptor.dispatch: Unable to determine streamId, or the stream does not exist, for streamChannel message!")});var a=function(l,e,t,u){var r,o=void 0,i={streamId:e},a=p.subscribers,c=p.publishers;switch(r=u.params.subscriber?{widgetId:u.params.subscriber}:i,l){case"offer":o=[].concat(a.where(r),c.where(i)).slice(0,1);break;case"answer":case"pranswer":o=[].concat(c.where(i),a.where(r)).slice(0,1);break;case"generateoffer":case"unsubscribe":o=c.where(i);break;case"candidate":o=[].concat(a.where(r),c.where(i));break;default:return void d.debug("OT.Raptor.dispatch: jsep#"+l+" is not currently implemented")}if(0!==o.length){var h=n.connections.get(t);!h&&t.match(/^symphony\./)&&(h=s.fromHash({id:t,creationTime:Math.floor(f.now())}),n.connections.add(h)),o.forEach(function(n){n.processMessage(l,t,u)})}};return e.on("jsep#offer",a.bind(null,"offer")),e.on("jsep#answer",a.bind(null,"answer")),e.on("jsep#pranswer",a.bind(null,"pranswer")),e.on("jsep#generateoffer",a.bind(null,"generateoffer")),e.on("jsep#unsubscribe",a.bind(null,"unsubscribe")),e.on("jsep#candidate",a.bind(null,"candidate")),e.on("subscriberChannel#updated",function(l,e,t){return l&&n.streams.has(l)?void n.streams.get(l)._.updateChannel(e,t):void d.error("OT.Raptor.dispatch: Unable to determine streamId, or the stream does not exist, for subscriberChannel#updated message!")}),e.on("subscriberChannel#update",function(l,e,t){return e&&n.streams.has(e)?p.subscribers.has(l)?void p.subscribers.get(l).disableVideo(t.active):void d.error("OT.Raptor.dispatch: Unable to determine subscriberId, or the subscriber does not exist, for subscriberChannel#update message!"):void d.error("OT.Raptor.dispatch: Unable to determine streamId, or the stream does not exist, for subscriberChannel#update message!")}),e.on("signal",function(e,u){l.connectionEventsSuppressed&&i(u.connection||u.fromConnection);var o=u.type,s=u.data,a=n.connections.get(e);n.connection&&e===n.connection.connectionId?t?n._.dispatchSignal(a,o,s):r.enqueue("sessionConnected","signal",e,o,s):n.connections.get(e)?n._.dispatchSignal(a,o,s):""===e?n._.dispatchSignal(null,o,s):r.enqueue("connectionCreated"+e,"signal",e,o,s)}),e.on("archive#created",function(l){o(l,n)}),e.on("archive#updated",function(l,e){var t=n.archives.get(l);return t?void t._.update(e):void d.error("OT.Raptor.dispatch: An archive does not exist with the id of "+l+", for archive#updated message!")}),e}},{"../../../common-js-helpers/OTHelpers.js":200,"../../archive.js":274,"../../connection.js":285,"../../logging.js":293,"../../session/objects.js":353,"../../stream.js":355,"../../stream_channel.js":356,"./delayed_event_queue.js":294,"./dispatcher.js":296}],304:[function(n,l,e){"use strict";var t=n("../../api_key.js"),u=n("../../connection.js"),r=n("./message.js"),o=n("../../../common-js-helpers/OTHelpers.js"),i=n("../../session/tag.js");l.exports=function(n,l,e){this.toRaptorMessage=function(){var l=this.to;return l&&"string"!=typeof l&&(l=l.id),r.signals.create(t.value,n,l,this.type,this.data)},this.toHash=function(){return e},this.error=null,this.retryAfterReconnect=!0,e&&(e.hasOwnProperty("data")&&(this.data=o.clone(e.data),this.error=function(n){var l=null;if(null==n)l={code:400,reason:"The signal data was null or undefined. Either set it to a String value or omit it"};else try{8192<JSON.stringify(n).length&&(l={code:413,reason:"The data field was too long, the maximum size of it is 8192 characters"})}
1catch(e){l={code:400,reason:"The data field was not valid JSON"}}return l}(this.data)),e.hasOwnProperty("to")&&(this.to=e.to,this.error||(this.error=function(n){return n?n instanceof u||n._tag===i?null:{code:400,reason:"The To field was invalid"}:{code:400,reason:"The signal to field was invalid. Either set it to a OT.Connection, OT.Session, or omit it entirely"}}(this.to))),e.hasOwnProperty("type")&&(this.error||(this.error=function(n){var l=null;return null==n?l={code:400,reason:"The signal type was null or undefined. Either set it to a String value or omit it"}:128<n.length?l={code:413,reason:"The signal type was too long, the maximum length of it is 128 characters"}:function(n){return!/^[a-zA-Z0-9\-\._~]+$/.exec(n)}(n)&&(l={code:400,reason:"The signal type was invalid, it can only contain letters, numbers, '-', '_', and '~'."}),l}(e.type)),this.type=e.type),e.hasOwnProperty("retryAfterReconnect")&&(this.error||(this.error=function(n){var l=null;return!0!==n&&!1!==n&&(l={code:400,reason:"The signal retryAfterReconnect was not true or false. Either set it to a Boolean value or omit it"}),l}(e.retryAfterReconnect)),this.retryAfterReconnect=e.retryAfterReconnect)),this.valid=null===this.error}},{"../../../common-js-helpers/OTHelpers.js":200,"../../api_key.js":273,"../../connection.js":285,"../../session/tag.js":354,"./message.js":298}],305:[function(n,l,e){"use strict";l.exports=function(n,l){this.code=n,this.message=l,this.reason=l}},{}],306:[function(n,l,e){"use strict";var t=n("./deserialize_message.js");l.exports=function(n){var l=t(n.data);return l.transactionId=n.transactionId,l.fromAddress=n.headers["X-TB-FROM-ADDRESS"],l}},{"./deserialize_message.js":295}],307:[function(n,l,e){(function(e){"use strict";var t=n("text-encoding");l.exports={TextEncoder:e.TextEncoder||t.TextEncoder,TextDecoder:e.TextDecoder||t.TextDecoder}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"text-encoding":190}],308:[function(n,l,e){"use strict";var t={};t.MessageType=n("./rumor_message_types.js"),t.Message=n("./rumor_message.js"),t.NativeSocket=n("./native_socket.js"),t.SocketError=n("./socket_error.js"),t.Socket=n("./rumor_socket.js"),l.exports=t},{"./native_socket.js":309,"./rumor_message.js":310,"./rumor_message_types.js":311,"./rumor_socket.js":312,"./socket_error.js":314}],309:[function(n,l,e){"use strict";var t=n("../../logging.js"),u=n("./rumor_message.js");l.exports=function(n,l,e){var s,i=void 0,a=void 0,c=void 0;(i=new n(l)).binaryType="arraybuffer",i.onopen=e.onOpen,i.onclose=e.onClose,i.onerror=e.onError,i.onmessage=function(n){if(u){var l=u.deserialize(n.data);e.onMessage(l)}},s=function d(n){i&&(void 0===n&&(n=0),a&&clearTimeout(a),0<i.bufferedAmount&&n+1<=10?a=setTimeout(d,100,n+1):c())},c=function(){i.close()},this.close=function(n,l){if(l){var e=function(){};i.onopen=e,i.onclose=e,i.onerror=e,i.onmessage=e}n?s():c()},this.send=function(n){try{i.send(n.serialize())}catch(l){if(i.readyState!==WebSocket.OPEN)throw l;t.debug("webSocket.send threw exception even though it was open:",l)}},this.isClosed=function(){return 3===i.readyState}}},{"../../logging.js":293,"./rumor_message.js":310}],310:[function(n,l,e){(function(e){"use strict";var u=n("uuid"),r=n("./encoding.js"),o=n("./rumor_message_types.js"),i=function(n,l,e,t){this.type=n,this.toAddress=l,this.headers=e,this.data=t,this.fromAddress=this.headers["X-TB-FROM-ADDRESS"],this.transactionId=this.headers["TRANSACTION-ID"],this.status=this.headers.STATUS,this.isError=this.status&&"2"!==this.status[0]};(l.exports=i).prototype.serialize=function(){var l,n=void 0,e=void 0,t=void 0,u=8,o=7,i=[],s=[],a=[];for(o++,e=0;e<this.toAddress.length;e++)i.push(new r.TextEncoder("utf-8").encode(this.toAddress[e])),o+=2,o+=i[e].length;for(var c in o++,e=0,this.headers)this.headers.hasOwnProperty(c)&&(s.push(new r.TextEncoder("utf-8").encode(c)),a.push(new r.TextEncoder("utf-8").encode(this.headers[c])),o+=4,o+=s[e].length,o+=a[e].length,e++);o+=(l=new r.TextEncoder("utf-8").encode(this.data)).length;var d=new ArrayBuffer(o),f=new Uint8Array(d,0,o);for(o-=4,f[0]=(4278190080&o)>>>24,f[1]=(16711680&o)>>>16,f[2]=(65280&o)>>>8,f[3]=(255&o)>>>0,f[4]=0,f[5]=0,f[6]=this.type,f[7]=this.toAddress.length,e=0;e<i.length;e++)for(n=i[e],f[u++]=n.length>>8&255,f[u++]=n.length>>0&255,t=0;t<n.length;t++)f[u++]=n[t];for(f[u++]=s.length,e=0;e<s.length;e++){for(n=s[e],f[u++]=n.length>>8&255,f[u++]=n.length>>0&255,t=0;t<n.length;t++)f[u++]=n[t];for(n=a[e],f[u++]=n.length>>8&255,f[u++]=n.length>>0&255,t=0;t<n.length;t++)f[u++]=n[t]}for(e=0;e<l.length;e++)f[u++]=l[e];return d},i.deserialize=function(n){e.Buffer&&e.Buffer.isBuffer(n)&&(n=function(n){for(var l=new ArrayBuffer(n.length),e=new Uint8Array(l),t=0;t<n.length;++t)e[t]=n[t];return l}(n));var l,o,u=void 0,s=void 0,a=void 0,c=void 0,d=void 0,f=void 0,p=8,h=new Uint8Array(n);l=h[6];var v=[];for(f=0;f<h[7];f++)d=h[p++]<<8,d+=h[p++],u=new Uint8Array(n,p,d),v[f]=new r.TextDecoder("utf-8").decode(u),p+=d;for(o=h[p++],s={},f=0;f<o;f++)d=h[p++]<<8,d+=h[p++],u=new Uint8Array(n,p,d),a=new r.TextDecoder("utf-8").decode(u),p+=d,d=h[p++]<<8,d+=h[p++],u=new Uint8Array(n,p,d),c=new r.TextDecoder("utf-8").decode(u),s[a]=c,p+=d;var g=new Uint8Array(n,p),m=new r.TextDecoder("utf-8").decode(g);return new i(l,v,s,m)},i.Connect=function(n,l){var e={uniqueId:n,"TRANSACTION-ID":u(),notifyDisconnectAddress:l};return new i(o.CONNECT,[],e,"")},i.Disconnect=function(n){return new i(o.DISCONNECT,[],{reconnect:n},"")},i.Subscribe=function(n){return new i(o.SUBSCRIBE,n,{},"")},i.Unsubscribe=function(n){return new i(o.UNSUBSCRIBE,n,{},"")},i.Publish=function(n,l,e){return new i(o.MESSAGE,n,e||{},l||"")},i.Status=function(n,l){return new i(o.STATUS,n,l||{},"")},i.Ping=function(){return new i(o.PING,[],{},"")}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./encoding.js":307,"./rumor_message_types.js":311,uuid:197}],311:[function(n,l,e){"use strict";l.exports={SUBSCRIBE:0,UNSUBSCRIBE:1,MESSAGE:2,CONNECT:3,DISCONNECT:4,PING:7,PONG:8,STATUS:9}},{}],312:[function(n,l,e){"use strict";var t=n("uuid"),u=n("../../../helpers/is_dom_unloaded.js"),r=n("./rumor_message.js"),o=n("../../../common-js-helpers/OTHelpers.js"),i=n("../../logging.js"),s=n("./native_socket.js"),a=n("./rumor_message_types.js"),c=n("./rumor_message.js"),d=n("./socket_error.js"),f=n("./socket_close_errors.js"),p=n("ws"),m=function _(n){var l=void 0,e=void 0,m=void 0,b=void 0,y=void 0,E=void 0,S=void 0,T=void 0,w=void 0,O=void 0,C=void 0,j=void 0,R=void 0,I=void 0,A=void 0,x=this,N=0,D=t(
1),P=[],L=n.messagingURL,M=n.notifyDisconnectAddress,F=n.connectionId,U=n.enableReconnection,V=n.TheWebSocket||p,B=!1;x._connectivityTimeout=U?5900:49900,x._keepAliveInterval=2e3;var H=[{rumorMessage:c.Connect(F,M),completion:function(){}}],z=o.statable(x,["disconnected","error","connected","connecting","disconnecting","reconnecting"],"disconnected",function(n){switch(n){case"disconnected":case"error":if(R=void 0,l=null,H.forEach(function(n){var l=new Error("Not connected.");l.code=500,n.completion(l)}),b){var e=void 0;Y()&&((e=new Error(f.messages[f.codes.CLOSE_CONNECTIVITY_LOSS])).code=f.codes.CLOSE_CONNECTIVITY_LOSS),b(e)}break;case"reconnecting":if(y&&B&&y(),x.is("disconnected"))return;N=0,R=Date.now()+_.RECONNECT_TIMEOUT;break;case"connected":T&&B?T():B=!0,R=void 0}}),K=function(n,l){if(null===l||!o.isFunction(l))throw new Error("The RumorSocket "+n+" callback must be a valid function or null")},X=function(){if(O){var n=Array.prototype.slice.call(arguments),l=O;O=void 0,l.apply(void 0,n)}},$=function(n,l){n=n||f.codes.CLOSE_FALLBACK_CODE;var t=(f.messages[n]||"No message available from code.")+(l?" "+l:"");i.error("RumorSocket: "+t);var u=new d(n,t);clearTimeout(C),x.is("reconnecting")&&S&&S(u);var r=n===f.codes.CLOSE_UNEXPECTED_CONDITION||n===f.codes.CLOSE_UNSUPPORTED;x.isNot("reconnecting","disconnecting","disconnected")&&(U&&!r?(i.debug("Initial connectivity loss detected at "+new Date),z("reconnecting")):i.debug("Connectivity loss detected at "+new Date)),x.is("disconnected","disconnecting")||(!U||Date.now()>=R||r?(r&&i.debug("Connectivity not restored because of a fatal error."),U?Date.now()>=R&&i.debug("Connectivity not restored within "+_.RECONNECT_TIMEOUT+"ms, we have disconnected."):i.debug("Reconnections are disabled, will not attempt to reconnect."),z("error"),O?X(u,void 0):m&&m(u)):(i.debug("Scheduling reconnection in "+_.RECONNECT_RETRY+"ms. Remaining time: "+(R-Date.now())+"ms."),j=setTimeout(un,_.RECONNECT_RETRY),N++,E&&E()))},Y=function(){return!!I&&o.now()-I>=x._connectivityTimeout},Z=function(){return clearTimeout(C),x.isNot("connecting","reconnecting")?void i.debug("webSocketConnected reached in state other than connecting ("+x.currentState+")"):(i.debug("Sending "+H.length+" pending messages"),H.forEach(function(n){l.send(n.rumorMessage)}),H=H.filter(function(n){return n.rumorMessage.type!==a.CONNECT}),z("connected"),X(void 0,F),e&&e(F),void(A=setTimeout(function(){I=o.now(),function rn(){x.is("connected")&&(Y()?(l.send(r.Disconnect("1")),l.close(!0,!0),en({code:f.codes.CLOSE_CONNECTIVITY_LOSS})):(l.send(r.Ping()),A=setTimeout(rn,x._keepAliveInterval)))}()},x._keepAliveInterval)))},nn=function(){var n=l;$(f.codes.CLOSE_TIMEOUT);try{n.close(!1,!0)}catch(e){i.debug("webSocket.close() raised an exception: "+(e.message||e))}},ln=function(){},en=function(n){i.debug("OT.Rumor.Socket: webSocketDisconnected (code: "+n.code+")"),clearTimeout(C),clearTimeout(A),u()||(function(){var n=H.filter(function(n){return!n.retryAfterReconnect});H=H.filter(function(n){return n.retryAfterReconnect}
1),n.forEach(function(n){var l=new Error("Not connected.");l.code=500,n.completion(l)})}(),x.isNot("disconnecting")&&1e3!==n.code&&1001!==n.code&&(n.code?$(n.code):$(f.codes.CLOSE_FALLBACK_CODE,n.reason||n.message)),x.isNot("error","reconnecting")&&z("disconnected"))},tn=function(n){if(I=o.now(),n.type!==a.PONG){if(i.debug("OT.Rumor.Socket webSocketReceivedMessage: "+JSON.stringify(n,null,2)),n.transactionId&&(H=H.filter(function(l){return l.rumorMessage.transactionId===n.transactionId&&(i.debug("Marking",n.transactionId," as received"),l.completion(void 0,n)),l.rumorMessage.transactionId!==n.transactionId})),n.transactionId&&n.type!==a.STATUS){if(function(n){l.send(r.Status([n.fromAddress],{"TRANSACTION-ID":n.headers["TRANSACTION-ID"],"X-TB-FROM-ADDRESS":F}))}(n),0<=P.indexOf(n.transactionId))return;P.push(n.transactionId)}w&&w(n)}},un=function(){if(x.is("connecting","connected"))i.error("Rumor.Socket cannot connect when it is already connecting or connected.");else{x.is("reconnecting")?i.debug("Attempting reconnection..."):z("connecting");var n=t(),e={onOpen:Z,onClose:en,onError:ln,onMessage:tn},u=L;U&&(u=[L,0<=L.indexOf("?")?"&":"?","socketId="+D,x.is("reconnecting")?"&reconnect=true":"","&attempt="+n].join(""));try{l=new s(V,u,e),C=setTimeout(nn,_.CONNECT_TIMEOUT)}catch(r){i.error(r),$(f.codes.CLOSE_CONNECT_EXCEPTION)}}};x.publish=function(n,e,t,u,o){if(o=o||function(){},!x.is("connected")&&!u){var i=new Error("Not connected.");return i.code=500,void o(i)}var s=r.Publish(n,e,t);H.push({rumorMessage:s,retryAfterReconnect:u,completion:o}),x.is("connected")&&l.send(s)},x.subscribe=function(n){l.send(r.Subscribe(n))},x.unsubscribe=function(n){l.send(r.Unsubscribe(n))},x.connect=function(n){x.is("connecting","connected")?"function"==typeof n?n(new d(f.codes.ALREADY_CONNECTED_CONNECTING,"Rumor.Socket cannot connect when it is already connecting or connected.")):i.error("Rumor.Socket cannot connect when it is already connecting or connected."):(O=n,un())},x.disconnect=function(n){return clearTimeout(C),clearTimeout(A),clearTimeout(j),l?void(l.isClosed()?x.isNot("error")&&z("disconnected"):(x.is("connected")&&l.send(r.Disconnect()),z("disconnecting"),l.close(n))):void(x.isNot("error")&&z("disconnected"))},x.status=function(n,e){l.send(r.Status(n,{"TRANSACTION-ID":e,"X-TB-FROM-ADDRESS":F}))},x.reconnectRetriesCount=function(){return N},x.messageQueueSize=function(){return H.length},o.defineProperties(x,{id:{get:function(){return F}},socketID:{get:function(){return D}},onOpen:{set:function(n){K("onOpen",n),e=n},get:function(){return e}},onError:{set:function(n){K("onError",n),m=n},get:function(){return m}},onClose:{set:function(n){K("onClose",n),b=n},get:function(){return b}},onMessage:{set:function(n){K("onMessage",n),w=n},get:function(){return w}},onReconnecting:{set:function(n){K("onReconnecting",n),y=n},get:function(){return y}},onReconnectAttempt:{set:function(n){K("onReconnectAttempt",n),E=n},get:function(){return E}},onReconnectFailure:{set:function(n){K("onReconnectFailure",n),S=n},get:function(){return S}},onReconnected:{set:function(n){K("reconnected",n),T=n},get:function(){return T}}})};m.CONNECT_TIMEOUT=15e3,m.RECONNECT_TIMEOUT=6e4,m.RECONNECT_RETRY=500,l.exports=m},{"../../../common-js-helpers/OTHelpers.js":200,"../../../helpers/is_dom_unloaded.js":253,"../../logging.js":293,"./native_socket.js":309,"./rumor_message.js":310,"./rumor_message_types.js":311,"./socket_close_errors.js":313,"./socket_error.js":314,uuid:197,ws:198}],313:[function(n,l,e){"use strict";l.exports={messages:{1002:"The endpoint is terminating the connection due to a protocol error. (CLOSE_PROTOCOL_ERROR)",1003:"The connection is being terminated because the endpoint has indicated that reconnections are not available. (CLOSE_UNSUPPORTED)",1005:"Indicates that no status code was provided even though one was expected. (CLOSE_NO_STATUS)",1006:"Used to indicate that a connection was closed abnormally (that is, with no close frame being sent) when a status code is expected. (CLOSE_ABNORMAL)",1007:"Indicates that an endpoint is terminating the connection because it has received data within a message that was not consistent with the type of the message (e.g., non-UTF-8 [RFC3629] data within a text message)",1008:"Indicates that an endpoint is terminating the connection because it has received a message that violates its policy. This is a generic status code that can be returned when there is no other more suitable status code (e.g., 1003 or 1009) or if there is a need to hide specific details about the policy",1009:"Indicates that an endpoint is terminating the connection because it has received a message that is too big for it to process (CLOSE_TOO_LARGE)",1011:"Indicates that a server is terminating the connection because it encountered an unexpected condition that prevented it from fulfilling the request",4001:"Connectivity loss was detected as it was too long since the socket received the last PONG message",4010:"Timed out while waiting for the Rumor socket to connect.",4020:"Error code unavailable.",4030:"Exception was thrown during Rumor connection, possibly because of a blocked port."},codes:{CLOSE_PROTOCOL_ERROR:1002,CLOSE_UNSUPPORTED:1003,CLOSE_NO_STATUS:1005,CLOSE_ABNORMAL:1006,CLOSE_INCONSISTENT_DATA:1007,CLOSE_POLICY_VIOLATION:1008,CLOSE_TOO_LARGE:1009,CLOSE_UNEXPECTED_CONDITION:1011,CLOSE_CONNECTIVITY_LOSS:4001,CLOSE_TIMEOUT:4010,CLOSE_FA
1LLBACK_CODE:4020,CLOSE_CONNECT_EXCEPTION:4030,ALREADY_CONNECTED_CONNECTING:null}}},{}],314:[function(n,l,e){"use strict";l.exports=function(n,l){this.code=n,this.message=l}},{}],315:[function(n,l,e){"use strict";function t(n,l,e,t){var c=a.getTitleByCode(e),d=t?i.clone(t):{};o.error("OT.exception :: title: "+c+" ("+e+") msg: "+l),d.partnerId||(d.partnerId=r.value);try{u.logError(e,"tb.exception",c,{details:l},d);var f=new s.ExceptionEvent(s.Event.names.EXCEPTION,l,c,e,n,n);try{throw new Error}catch(p){f.stack=p.stack}a.dispatchEvent(f)}catch(h){o.error("OT.exception :: Failed to dispatch exception - "+h.toString())}}var u=n("./analytics.js"),r=n("./api_key.js"),o=n("./logging.js"),i=n("../common-js-helpers/OTHelpers.js"),s=n("./events.js")(),a=function(n,l){Error.call(this),this.code=n,this.message=l};(a.prototype=Object.create(Error.prototype)).constructor=a,l.exports=a,i.eventing(a);var c={1004:"Authentication error",1005:"Invalid Session ID",1006:"Connect Failed",1007:"Connect Rejected",1008:"Connect Time-out",1009:"Security Error",1010:"Not Connected",1011:"Invalid Parameter",1012:"Peer-to-peer Stream Play Failed",1013:"Connection Failed",1014:"API Response Failure",1015:"PeerConnection not connected, cannot call this method",1021:"Request Timeout",1026:"Terms of Service Violation: Export Compliance",1027:"Connection Limit Exceeded",1500:"Unable to Publish",1503:"No TURN server found",1520:"Unable to Force Disconnect",1530:"Unable to Force Unpublish",1553:"ICEWorkflow failed",1600:"createOffer, createAnswer, setLocalDescription, setRemoteDescription",1605:"Stream Limit Exceeded",2e3:"Internal Error",2001:"Unexpected Server Response",4e3:"WebSocket Connection Failed",4001:"WebSocket Network Disconnected"};a.getTitleByCode=function(n){return c[+n]},a.handleJsException=function(n,l,e){var u=(e=e||{}).session,r=void 0;u?(r={sessionId:u.sessionId,p2p:u&&u.sessionInfo?u.sessionInfo.p2pEnabled:null,messagingServer:u&&u.sessionInfo?u.messagingServer:null},u.isConnected()&&(r.connectionId=u.connection.connectionId),e.target||(e.target=u)):e.sessionId&&(r={sessionId:e.sessionId},e.target||(e.target=null)),t(e.target,n,l,r)}},{"../common-js-helpers/OTHelpers.js":200,"./analytics.js":271,"./api_key.js":273,"./events.js":287,"./logging.js":293}],316:[function(n,l,e){"use strict";var t=n("../logging.js");l.exports=function(n,l,e,u,r){var o=n[l][e],i=l+" "+e,a="sdpTransforms ("+("local offer"===i||"remote answer"===i?"publisher":"subscriber")+"): "+l+" "+e,c="local"===l?"created":"received";t.debug(a+": "+c+":\n"+r);var d=o(u,r);return d===r?t.debug(a+": not modified"):t.debug(a+": modified to:\n"+d),d}},{"../logging.js":293}],317:[function(n,l,e){"use strict";var t=n("../../common-js-helpers/OTHelpers.js"),u=n("../logging.js"),r=function(n){this.data=n.data,this.source=n.source,this.lastEventId=n.lastEventId,this.origin=n.origin,this.timeStamp=n.timeStamp,this.type=n.type,this.ports=n.ports,this.path=n.path};l.exports=function(n){var l={},e=[],o={sentMessages:0,recvMessages:0},i=function(n){return e.push(n),l},s=function(e){return n.send(e),o.sentMessages++,l};return t.eventing(l,!0),l.label=n.label,l.id=n.id,l.reliable=n.reliable,l.negotiated=n.negotiated,l.ordered=n.ordered,l.protocol=n.protocol,l._channel=n,l.close=function(){n.close()},l.equals=function(n,e){if(l.label!==n)return!1;for(var t in e)if(e.hasOwnProperty(t)&&l[t]!==e[t])return!1;return!0},l.getQosData=function(){return o},l.send=i,n.addEventListener("open",function(){l.send=s,function(){for(var n=void 0;n=e.shift();)l.send(n)}()},!1),n.addEventListener("close",function(n){l.send=i,l.trigger("close",n)},!1),n.addEventListener("error",function(n){u.error("Data Channel Error:",n)},!1),n.addEventListener("message",function(n){var e=new r(n);o.recvMessages++,l.trigger("message",e)},!1),l}},{"../../common-js-helpers/OTHelpers.js":200,"../logging.js":293}],318:[function(n,l,e){"use strict";var t=n("../../otplugin/otplugin.js"),u=n("../../common-js-helpers/OTHelpers.js"),r=n("lodash/toArray");l.exports=function(){return-1!==["Firefox","Edge"].indexOf(u.browserVersion().name)||t.isInstalled()?function(n,l){n.getStats(null,function(n){var e=[];"function"==typeof n.values?e=r(n.values()):"function"!=typeof n.forEac
1h?e=Object.keys(e).map(function(n){return e[n]}):n.forEach(function(n){e.push(n)}),l(null,e)},l)}:function(n,l){n.getStats(function(n){var e=[];n.result().forEach(function(n){var l={};n.names().forEach(function(e){l[e]=n.stat(e)}),l.id=n.id,l.type=n.type,l.timestamp=n.timestamp,e.push(l)}),l(null,e)})}}},{"../../common-js-helpers/OTHelpers.js":200,"../../otplugin/otplugin.js":373,"lodash/toArray":174}],319:[function(n,l,e){"use strict";var t=n("../../common-js-helpers/OTHelpers.js"),u={};(l.exports=u).isVideoStat=function(n){return n.hasOwnProperty("googFrameWidthReceived")||n.hasOwnProperty("googFrameWidthInput")||"video"===n.mediaType},u.isAudioStat=function(n){return n.hasOwnProperty("audioInputLevel")||n.hasOwnProperty("audioOutputLevel")||"audio"===n.mediaType},u.isInboundStat=function(n){return n.hasOwnProperty("bytesReceived")},u.parseStatCategory=function(n){var l={packetsLost:0,packetsReceived:0,bytesReceived:0};return n.hasOwnProperty("packetsReceived")&&(l.packetsReceived=parseInt(n.packetsReceived,10)),n.hasOwnProperty("packetsLost")&&(l.packetsLost=parseInt(n.packetsLost,10)),n.hasOwnProperty("bytesReceived")&&(l.bytesReceived=parseInt(n.bytesReceived,10)),u.isVideoStat(n)&&(n.hasOwnProperty("framerateMean")?l.frameRate=Number(n.framerateMean):n.hasOwnProperty("googFrameRateOutput")?l.frameRate=Number(n.googFrameRateOutput):n.hasOwnProperty("googFrameRateInput")&&(l.frameRate=Number(n.googFrameRateInput))),l},u.normalizeTimestamp=function(n){return t.isObject(n)&&"getTime"in n?n.getTime():n}},{"../../common-js-helpers/OTHelpers.js":200}],320:[function(n,l,e){"use strict";var t=n("bluebird"),u=n("./promisify.js"),r=function(n){this.pending=[],this._processBinding=this.maybeProcessPending.bind(this),n&&this.setPeerConnection(n)};r.prototype.setPeerConnection=function(n){if(this.pc)throw new Error("Peer connection already set");this.pc=n,this._forwardIceCandidate=u(this.pc,"addIceCandidate"),this.pc.addEventListener("signalingstatechange",this._processBinding),this.maybeProcessPending()},r.prototype.canAddCandidates=function(){return!!(this.pc&&"closed"!==this.pc.iceConnectionState&&this.pc.localDescription&&this.pc.localDescription.type&&this.pc.remoteDescription&&this.pc.remoteDescription.type)},r.prototype.addIceCandidate=function(n){if(this.canAddCandidates())return this._forwardIceCandidate(n);var l=this.pending;return new t.Promise(function(e,t){l.push({iceCandidate:n,resolve:e,reject:t})})},r.prototype.maybeProcessPending=function(){this.canAddCandidates()&&this.process()},r.prototype.process=function(){for(;this.pending.length;){var n=this.pending.shift();this._forwardIceCandidate(n.iceCandidate).then(n.resolve).catch(n.reject)}},r.prototype.destroy=function(){this.pc&&this.pc.removeEventListener("signalingstatechange",this._processBinding),this._processBinding=null,this.pc=null},l.exports=r},{"./promisify.js":324,bluebird:2}],321:[function(n,l,e){"use strict";var t=n("./applySdpTransform.js"),u=n("../logging.js"),r=n("./sdp_helpers.js");l.exports=function(n){var l=1<arguments.length&&void 0!==arguments[1]&&arguments[1],e=arguments[2],o=arguments[3],i=arguments[4],s=arguments[5],a=function(n,l){return function(e){u.error(n),u.error(e),s&&s(n,e,l)}},c=function(l){var u=r.hasSendStereo(o.sdp),s=r.getAudioBitrate(o.sdp);l.sdp=t(e,"local","answer",{enableStereo:u,audioBitrate:s},l.sdp),n.setLocalDescription(l,function(){i(l)},a("Error while setting LocalDescription","SetLocalDescription"))},d=function(){n.createAnswer(c,a("Error while setting createAnswer","CreateAnswer"),null,!1)};o.sdp=t(e,"remote","offer",{},o.sdp);var f=a("Error while setting RemoteDescription","SetRemoteDescription");l?n.setRemoteDescription(o,d,f):n.setRemoteDescription(o).then(d).catch(f)}},{"../logging.js":293,"./applySdpTransform.js":316,"./sdp_helpers.js":328}],322:[function(n,l,e){(function(e){"use strict";var t=n("bluebird"),u=n("lodash/merge"),r=n("lodash/omit"),o=n("./applySdpTransform.js"),i=n("../../helpers/create_peer_connection.js"),s=n("./sdpTransformDefaults.js"),a=n("./get_stats_adapter.js"),c=n("./ice_candidate_processor"),d=n("../logging.js"),f=n("./offer_processor.js"),p=n("../../common-js-helpers/OTHelpers.js"),h=n("../../otplugin/otplugin.js"),v=n("./peer_connection_channels.js"),g=n("../messaging/raptor/raptor_constants.js"),m=n("./subscribe_processor.js"),_=n("./qos.js"),b=n("bluebird"),y=void 0,E=void 0;E=h.isInstalled()?(y=h.RTCIceCandidate,h.RTCSessionDescription):(y=e.RTCIceCandidate||e.mozRTCIceCandidate,e.RTCSessionDescription||e.mozRTCSessionDescription);var T=function w(n){function l(n){this.track=n}var e=n.isPublisher,i=n.logAnalyticsEvent,h=n.offerOverrides,T=n.answerOverrides,O=n.sdpTransformOptions,C=u({},s,O),j=r(n,["isPublisher","logAnalyticsEvent","offerOverrides","answerOverrides","sendMessage","sdpTransformOptions"]),R=void 0,I=void 0,A=void 0,x=void 0,N=[],k={},D=a(),P=n.sendMessage,L="Chrome"===p.env.name&&p.env.version<51,M={};M.promise=new t.Promise(function(n,l){M.resolve=n,M.reject=l});var F=new c,U="new",V={};Object.defineProperty(V,"signalingState",{get:function(){return R.signalingState},set:function(n){return R.signalingState=n}}),p.eventing(V),"IE"!==p.env.name&&M.resolve(),j.iceServers||(j.iceServers=[]);var B=function(n,l){if(R)n.call(null,null,R);else if(N.push(n),!(1<N.length)){d.debug('Creating peer connection config "'+JSON.stringify(j)+'".'),j.iceServers&&0!==j.iceServers.length||(d.error("No ice servers present"),i("Error","noIceServers")),w.createPeerConnection(j,{optional:[{DtlsSrtpKeyAgreement:!0}]},l,H)}},H=function(n,l){if(n)return nn("Failed to create PeerConnection, exception: "+n.toString(),"NewPeerConnection"),void(N=[]);d.debug("OT attachEventsToPeerConnection"),R=l,F.setPeerConnection(l),I=new v(R),j.channels&&I.addMany(j.channels);var e=function(n){var l={};return function(e){e.candidate?(l[e.candidate.sdpMid]=e.candidate.sdpMLineIndex,n(g.Actions.CANDIDATE,{candidate:e.candidate.candidate,sdpMid:e.candidate.sdpMid||"",sdpMLineIndex:e.candidate.sdpMLineIndex||
10})):d.debug("IceCandidateForwarder: No more ICE candidates.")}}(P);R.addEventListener("icecandidate",function(n){M.resolve(),e(n)},!1),R.addEventListener("addstream",X,!1),R.addEventListener("removestream",$,!1),R.addEventListener("signalingstatechange",G,!1),R.addEventListener("negotiationneeded",function(){V.emit("negotiationNeeded")}),R.addEventListener("iceconnectionstatechange",function(){"connected"===R.iceConnectionState&&V.emit("iceConnected")});var t=R.iceConnectionState;R.addEventListener("iceconnectionstatechange",function(n){var l=n.target.iceConnectionState;V.trigger("iceConnectionStateChange",l),"disconnected"!==t&&"failed"===l?nn("The stream was unable to connect due to a network error. Make sure your connection isn't blocked by a firewall.","ICEWorkflow"):i("attachEventsToPeerConnection","iceconnectionstatechange",l),t=l},!1),W(null)},W=function(){for(;N.length;)N.shift().call(null)},q=function(){F&&(F.destroy(),F=null),en.stopCollecting(),null!==R&&(R.destroy&&R.destroy(),R=null,V.trigger("close"))},G=function(n){var l=n.target.signalingState;if(V.emit("signalingStateChange",l),"stable"===l&&V.emit("signalingStateStable"),l&&l!==U)switch(U=l,d.debug("PeerConnection.stateChange: "+U),U){case"closed":q()}},K=function(){var n=void 0;if(R.getRemoteStreams)n=R.getRemoteStreams();else{if(!R.remoteStreams)throw new Error("Invalid Peer Connection object implements no method for retrieving remote streams");n=R.remoteStreams}return Array.prototype.slice.call(n)},X=function(n){V.trigger("streamAdded",n.stream)},$=function(n){V.trigger("streamRemoved",n.stream)},Y=function(n,l){P(n,l)},Z=function(n,l){d.debug("PeerConnection.processSubscribe: Sending offer to subscriber.");var e=n.content?!0===n.content.simulcastEnabled:!0===k[n.uri];k[n.uri]=e,void 0!==j.overrideSimulcastEnabled&&(e=j.overrideSimulcastEnabled);var t=e?j.capableSimulcastStreams:1;1<t&&V.trigger("simulcastEnabled"),B(function(){l&&m(R,C,t,h,j.offerConstraints,function(n){A=n,M.promise.then(function(){Y(g.Actions.OFFER,A)})},function(n,l,e){nn("subscribeProcessor "+n+": "+l,e)})})},nn=function(n,l){d.error(n),V.trigger("error",n,l)};V.addTrack=function(n,l){return new b.Promise(function(n,l){B(function(e){return e?l(e):void n()})}).then(function(){if(R.addTrack)return R.addTrack(n,l);var e=R.getLocalStreams()[0];if(void 0===e)throw new Error("PeerConnection has no existing streams, cannot addTrack");e.addTrack(n),V.emit("negotiationNeeded")}).then(function(){return new b.Promise(function(n){V.once("signalingStateStable",function(){n()})}).timeout(15e3,"Renegotiation timed out")})},V.removeTrack=function(n){return t.resolve().then(function(){return n instanceof l?(R.getLocalStreams()[0].removeTrack(n.track),V.emit("negotiationNeeded"),t.resolve()):R.removeTrack(n)}).then(function(){return new t.Promise(function(n){V.once("signalingStateStable",function(){n()})})}).timeout(15e3,"Renegotiation timed out")},V.addLocalStream=function(n){B(function(){R.addStream(n)},n)},V.getLocalStreams=function(){return R.getLocalStreams()},V.getSenders=function(){return R.getSenders?R.getSenders():R.getLocalStreams()[0].getTracks().map(function(n){return new l(n)})},V.disconnect=function(){F&&(F.destroy(),F=null),R&&R.signalingState&&"closed"!==R.signalingState.toLowerCase()&&(R.close(),"Firefox"===p.env.name&&setTimeout(q)),V.off()},V.createOfferWithIceRestart=function(n){Z({uri:n},!0)},V.processMessage=function(n,l){switch(d.debug("PeerConnection.processMessage: Received "+n+" from "+l.fromAddress),d.debug(l),n){case"generateoffer":Z(l,l.reallyCreateTheOffer||"IE"===p.env.name);break;case"offer":!function(n){var l=new E({type:"offer",sdp:n.content.sdp}),e=function(n){F.process(),Y(g.Actions.ANSWER,n),en.startCollecting(R)},t=function(n,l,e){nn("PeerConnection.offerProcessor "+n+": "+l,e)};B(function(){f(R,L,C,l,e,t)})}(l);break;case"answer":case"pranswer":!function(n){n.content.sdp?((x=new E({type:"answer",sdp:n.content.sdp})).sdp=o(C,"remote","answer",T,x.sdp),function(){var n=function(){d.debug("PeerConnection.processAnswer: setRemoteDescription Success"),F.process()},l=function(n){nn("Error while setting RemoteDescription "+n,"SetRemoteDescription")};L?R.setRemoteDescription(x,n,l):R.setRemoteDescription(x).then(n).catch(l)}(),en.startCollecting(R)):d.error("PeerConnection.processMessage: Weird answer message, no SDP.")}(l);break;case"candidate":var e=new y(l.content);F.addIceCandidate(e).catch(function(n){nn("Error while adding ICE candidate: "+n.toString(),"ICEWorkflow")});break;default:d.debug("PeerConnection.processMessage: Received an unexpected message of type "+n+" from "+l.fromAddress+": "+JSON.stringify(l))}return V},V.setIceServers=function(n){n&&(j.iceServers=n)},V.remoteStreams=function(){return R?K():[]},V.remoteTracks=function(){return R?R.getReceivers?Array.prototype.slice.apply(R.getReceivers()).map(function(n){return n.track}):Array.prototype.concat.apply([],K().map(function(n){return n.getTracks()})):[]},V.getStats=function(n){return R?void D(R,n):void n(new p.Error("Cannot call getStats before there is a connection.","NotConnectedError",{code:1015}
1))};V.getDataChannel=function(n,l,e){return R?void function tn(n,l,e,t){var u=void 0,r=I.get(l,e);if(!r){if(0<n)return void setTimeout(tn.bind(null,n-1,l,e,t),200);u=new p.Error("A channel with that label and options could not be found. Label:"+l+". Options: "+JSON.stringify(e))}t(u,r)}(100,n,l,e):void e(new p.Error("Cannot create a DataChannel before there is a connection."))},V.iceConnectionStateIsConnected=function(){return"connected"===R.iceConnectionState||"completed"===R.iceConnectionState};var en=new _(function(n){n.dataChannels=I.sampleQos(),V.trigger("qos",n)},e);return V};T.createPeerConnection=i,l.exports=T}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../common-js-helpers/OTHelpers.js":200,"../../helpers/create_peer_connection.js":233,"../../otplugin/otplugin.js":373,"../logging.js":293,"../messaging/raptor/raptor_constants.js":300,"./applySdpTransform.js":316,"./get_stats_adapter.js":318,"./ice_candidate_processor":320,"./offer_processor.js":321,"./peer_connection_channels.js":323,"./qos.js":326,"./sdpTransformDefaults.js":327,"./subscribe_processor.js":330,bluebird:2,"lodash/merge":169,"lodash/omit":170}],323:[function(n,l,e){"use strict";var t=n("./data_channel.js"),u=n("../../common-js-helpers/OTHelpers.js");l.exports=function(n){var l=[],e={},r={sentMessages:0,recvMessages:0},i=function(n){var e=new t(n);return l.push(e),e.on("close",function(){var n;n=e,l.filter(function(l){return n!==l})}),e};return e.add=function(l,e){return i(n.createDataChannel(l,e))},e.addMany=function(n){for(var l in n)n.hasOwnProperty(l)&&e.add(l,n[l])},e.get=function(n,e){return u.find(l,function(l){return l.equals(n,e)})},e.getOrAdd=function(n,l){var t=e.get(n,l);return t||(t=e.add(n,l)),t},e.getQosData=function(){var n={sentMessages:0,recvMessages:0};return l.forEach(function(l){n.sentMessages+=l.getQosData().sentMessages,n.recvMessages+=l.getQosData().recvMessages}),n},e.sampleQos=function(){var n=e.getQosData(),l={sentMessages:n.sentMessages-r.sentMessages,recvMessages:n.recvMessages-r.recvMessages};return r=n,l},e.destroy=function(){l.forEach(function(n){n.close()}),l=[]},n.addEventListener("datachannel",function(n){i(n.channel)},!1),e}},{"../../common-js-helpers/OTHelpers.js":200,"./data_channel.js":317}],324:[function(n,l,e){"use strict";var t=n("bluebird");l.exports=function(n,l){var e=n[l];return function(l){return new t.Promise(function(t,u){var r=e.apply(n,[l,t,u]);r&&"function"==typeof r.then&&t(r)})}}},{bluebird:2}],325:[function(n,l,e){"use strict";var t=n("lodash.assign"),u=n("lodash.debounce");l.exports=function(l){l||(l={});var e=l.OTHelpers||n("../../common-js-helpers/OTHelpers.js"),r=l.PeerConnection||n("./peer_connection.js"),o=l.RaptorConstants||n("../messaging/raptor/raptor_constants.js"),i=l.setCertificates||n("./set_certificates.js"),s=l.watchAudioAcquisition||n("./watchAudioAcquisition.js");return function(n){var l=n.iceServers,a=n.remoteConnectionId,c=n.socket,d=n.reconnection,f=n.webRTCStream,p=n.channels,h=n.capableSimulcastStreams,v=n.overrideSimulcastEnabled,g=n.subscriberUri,m=n.logAnalyticsEvent,_=n.offerOverrides,b=n.answerOverrides,y=this,E=void 0,S=!1,T=!1,w=function(){},O=function(){this.destroy(),T&&this.trigger("iceRestartFailure",this),this.trigger("disconnected",this)},C=function(n,l){this.trigger("error",null,n,this,l)},j=function(n){T&&E.iceConnectionStateIsConnected()&&(T=!1,this.trigger("iceRestartSuccess")),"connected"===n&&"Chrome"===e.env.name&&(w(),w=s(E.getStats.bind(E),function(){y.trigger("audioAcquisitionProblem")}))},R=function(n,l){if(!S&&(n===o.Actions.CANDIDATE||n===o.Actions.OFFER||n===o.Actions.ANSWER||n===o.Actions.PRANSWER)){var t=n===o.Actions.CANDIDATE?l.candidate:l.sdp;S=-1!==t.indexOf("typ relay")}switch(n){case o.Actions.ANSWER:case o.Actions.PRANSWER:c.jsepAnswer(g,l.sdp);break;case o.Actions.OFFER:this.trigger("connected"),c.jsepOffer(g,l.sdp);break;case o.Actions.CANDIDATE:c.jsepCandidate(g,l)}}.bind(this),I=u(function(){E.processMessage("generateoffer",{uri:g,reallyCreateTheOffer:!0})},100),A=function(n,l){this.trigger("qos",a,n,l)}.bind(this),x=function(){this.trigger("simulcastEnabled")}.bind(this);e.eventing(this),this.getDataChannel=function(n,l,e){E.getDataChannel
1(n,l,e)},this.destroy=function(){w(),E&&(E.disconnect(),E.off()),E=null},this.processMessage=function(n,l){E.processMessage(n,l)},this.addTrack=function(n,l,e){return E.addTrack(n,l,e)},this.removeTrack=function(n){return E.removeTrack(n)},this.getLocalStreams=function(){return E.getLocalStreams()},this.init=function(n,e){var u={iceServers:l||n,channels:p,capableSimulcastStreams:h,overrideSimulcastEnabled:v,offerConstraints:{}};d&&(u.offerConstraints.iceRestart=!0),i(u,function(n,l){if(n)e(n);else{var u=t({logAnalyticsEvent:m,isPublisher:!0,offerOverrides:_,answerOverrides:b},l);(E=new r(t({sendMessage:R},u))).on({close:O,error:C,qos:A,iceConnectionStateChange:j,negotiationNeeded:I,simulcastEnabled:x},y),E.addLocalStream(f),e(void 0,y)}}),this.remoteConnectionId=a,this.hasRelayCandidates=function(){return S}},this.getSenders=function(){return E.getSenders()},this.createOfferWithIceRestart=function(){return T=!0,E.createOfferWithIceRestart(g)},this.iceConnectionStateIsConnected=function(){return E.iceConnectionStateIsConnected()}}}},{"../../common-js-helpers/OTHelpers.js":200,"../messaging/raptor/raptor_constants.js":300,"./peer_connection.js":322,"./set_certificates.js":329,"./watchAudioAcquisition.js":332,"lodash.assign":4,"lodash.debounce":7}],326:[function(n,l,e){"use strict";var t=n("../../otplugin/otplugin.js"),u=n("../../common-js-helpers/OTHelpers.js"),r=n("../logging.js"),o=["audioCodec","audioSentBytes","audioSentPackets","audioSentPacketsLost","videoCodec","videoHeight","videoHeightInput","videoSentBytes","videoFrameRateSent","videoSentPackets","videoRtt","videoSentPacketsLost","videoWidthInput","videoWidth"],i=["audioCodec","audioRecvBytes","audioRecvPackets","audioRecvPacketsLost","videoCodec","videoHeight","videoRecvBytes","videoRecvPackets","videoRecvPacketsLost","videoFrameRateReceived","videoRtt","videoWidth"],s=function(n,l,e,t,u){function r(n){switch(n>>24){case 0:return"TURN/TLS";case 1:return"TURN/TCP";case 2:return"TURN/UDP";default:return""}}var o=function(n){return n.stat("googFrameRateSent")?(e.videoSentBytes=Number(n.stat("bytesSent")),e.videoSentPackets=Number(n.stat("packetsSent")),e.videoSentPacketsLost=Number(n.stat("packetsLost")),e.videoRtt=Number(n.stat("googRtt")),e.videoFrameRate=Number(n.stat("googFrameRateInput")),e.videoWidth=Number(n.stat("googFrameWidthSent")),e.videoHeight=Number(n.stat("googFrameHeightSent")),e.videoFrameRateSent=Number(n.stat("googFrameRateSent")),e.videoWidthInput=Number(n.stat("googFrameWidthInput")),e.videoHeightInput=Number(n.stat("googFrameHeightInput")),e.videoCodec=n.stat("googCodecName")):n.stat("googFrameRateReceived")&&(e.videoRecvBytes=Number(n.stat("bytesReceived")),e.videoRecvPackets=Number(n.stat("packetsReceived")),e.videoRecvPacketsLost=Number(n.stat("packetsLost")),e.videoFrameRate=Number(n.stat("googFrameRateOutput")),e.videoFrameRateReceived=Number(n.stat("googFrameRateReceived")),e.videoFrameRateDecoded=Number(n.stat("googFrameRateDecoded")),e.videoWidth=Number(n.stat("googFrameWidthReceived")),e.videoHeight=Number(n.stat("googFrameHeightReceived")),e.videoCodec=n.stat("googCodecName")),null},i=function(n){n.stat("audioInputLevel")?(e.audioSentPackets=Number(n.stat("packetsSent")),e.audioSentPacketsLost=Number(n.stat("packetsLost")),e.audioSentBytes=Number(n.stat("bytesSent")),e.audioCodec=n.stat("googCodecName"),e.audioRtt=Number(n.stat("googRtt"))):n.stat("audioOutputLevel")&&(e.audioRecvPackets=Number(n.stat("packetsReceived")),e.audioRecvPacketsLost=Number(n.stat("packetsLost")),e.audioRecvBytes=Number(n.stat("bytesReceived")),e.audioCodec=n.stat("googCodecName"))};n.getStats(function(n){if(n.result){for(var l=n.result(),t=function(n,e){return l.filter(function(l){return l.id===e.stat(n)})[0]},s=function(n){return t("localCandidateId",n)},a=function(n){return t("remoteCandidateId",n)},c=0;c<l.length;c++){var d=l[c];d.stat&&("true"===d.stat("googActiveConnection")&&(-1<d.stat("googChannelId").indexOf("audio")?(e.audioLocalAddress=d.stat("googLocalAddress"),e.audioRemoteAddress=d.stat("googRemoteAddress"),e.audioLocalCandidateType=d.stat("googLocalCandidateType"),e.audioRemoteCandidateType=d.stat("googRemoteCandidateType"),e.audioTransportType=d.stat("googTrans
1portType"),e.audioLocalRelayProtocol=r(s(d).stat("priority")),e.audioRemoteRelayProtocol=r(a(d).stat("priority"))):-1<d.stat("googChannelId").indexOf("video")&&(e.videoLocalAddress=d.stat("googLocalAddress"),e.videoRemoteAddress=d.stat("googRemoteAddress"),e.videoLocalCandidateType=d.stat("googLocalCandidateType"),e.videoRemoteCandidateType=d.stat("googRemoteCandidateType"),e.videoTransportType=d.stat("googTransportType"),e.videoLocalRelayProtocol=r(s(d).stat("priority")),e.videoRemoteRelayProtocol=r(a(d).stat("priority")))),i(d),o(d))}"videoCodec"in e&&!e.videoLocalAddress&&["LocalAddress","RemoteAddress","LocalCandidateType","RemoteCandidateType","TransportType","LocalRelayProtocol","RemoteRelayProtocol"].forEach(function(n){e["video"+n]=e["audio"+n]})}u(null,e)})},a=function(n,l,e,t,u){n.getStats(null,function(n){n.forEach(function(n){!function(n){return"true"===n.googActiveConnection}(n)?function(n){return void 0!==n.googFrameHeightSent||void 0!==n.googFrameHeightReceived||void 0!==e.videoBytesTransferred||void 0!==n.googFrameRateSent}(n)?function(n){n.googFrameHeightSent?(e.videoSentBytes=Number(n.bytesSent),e.videoSentPackets=Number(n.packetsSent),e.videoSentPacketsLost=Number(n.packetsLost),e.videoRtt=Number(n.googRtt),e.videoCodec=n.googCodecName,e.videoWidth=Number(n.googFrameWidthSent),e.videoHeight=Number(n.googFrameHeightSent),e.videoFrameRateSent=Number(n.googFrameRateSent),e.videoWidthInput=Number(n.googFrameWidthInput),e.videoHeightInput=Number(n.googFrameHeightInput)):n.googFrameHeightReceived&&(e.videoRecvBytes=Number(n.bytesReceived),e.videoRecvPackets=Number(n.packetsReceived),e.videoRecvPacketsLost=Number(n.packetsLost),e.videoRtt=Number(n.googRtt),e.videoCodec=n.googCodecName,e.videoFrameRateReceived=Number(n.googFrameRateReceived),e.videoFrameRateDecoded=Number(n.googFrameRateDecoded),e.videoWidth=Number(n.googFrameWidthReceived),e.videoHeight=Number(n.googFrameHeightReceived)),n.googFrameRateInput?e.videoFrameRate=Number(n.googFrameRateInput):n.googFrameRateOutput&&(e.videoFrameRate=Number(n.googFrameRateOutput))}(n):function(n){n.audioInputLevel?(e.audioSentBytes=Number(n.bytesSent),e.audioSentPackets=Number(n.packetsSent),e.audioSentPacketsLost=Number(n.packetsLost),e.audioRtt=Number(n.googRtt),e.audioCodec=n.googCodecName):n.audioOutputLevel&&(e.audioRecvBytes=Number(n.bytesReceived),e.audioRecvPackets=Number(n.packetsReceived),e.audioRecvPacketsLost=Number(n.packetsLost),e.audioCodec=n.googCodecName)}(n):-1<n.googChannelId.indexOf("audio")?(e.audioLocalAddress=n.googLocalAddress,e.audioRemoteAddress=n.googRemoteAddress,e.audioLocalCandidateType=n.googLocalCandidateType,e.audioRemoteCandidateType=n.googRemoteCandidateType,e.audioTransportType=n.googTrans
1portType):-1<n.googChannelId.indexOf("video")&&(e.videoLocalAddress=n.googLocalAddress,e.videoRemoteAddress=n.googRemoteAddress,e.videoLocalCandidateType=n.googLocalCandidateType,e.videoRemoteCandidateType=n.googRemoteCandidateType,e.videoTransportType=n.googTransportType)}),e.videoFrameRateSent&&!e.videoLocalAddress&&(e.videoLocalAddress=e.audioLocalAddress,e.videoRemoteAddress=e.audioRemoteAddress,e.videoLocalCandidateType=e.audioLocalCandidateType,e.videoRemoteCandidateType=e.audioLocalCandidateType,e.videoTransportType=e.audioTransportType),f(e,t),u(null,e)},function(n){u(n)})},c=function(n,l,e,t,u){n.getStats(null,function(n){var l=void 0,r=void 0,s=void 0,a=void 0,c=void 0,d=function(n){"outboundrtp"===n.type||"inboundrtp"===n.type?(-1!==n.id.indexOf("rtp")&&(-1!==n.id.indexOf("audio")?function(n){"outboundrtp"===n.type?(e.audioSentPackets=n.packetsSent,e.audioSentPacketsLost=n.packetsLost,e.audioSentBytes=n.bytesSent):"inboundrtp"===n.type&&(e.audioRecvPackets=n.packetsReceived,e.audioRecvPacketsLost=n.packetsLost,e.audioRecvBytes=n.bytesReceived)}(n):-1!==n.id.indexOf("video")&&function(n){e.videoFrameRate=Number(n.framerateMean),"outboundrtp"===n.type?(e.videoSentPackets=n.packetsSent,e.videoSentPacketsLost=n.packetsLost,e.videoSentBytes=n.bytesSent):"inboundrtp"===n.type&&(e.videoRecvPackets=n.packetsReceived,e.videoRecvPacketsLost=n.packetsLost,e.videoRecvBytes=n.bytesReceived)}(n)),n.hasOwnProperty("mozRtt")&&("video"===n.mediaType?e.videoRtt=n.mozRtt:"audio"===n.mediaType&&(e.audioRtt=n.mozRtt))):"localcandidate"===n.type?(l=n.candidateType,s=n.ipAddress+":"+n.portNumber,c=n.transport):"remotecandidate"===n.type&&(r=n.candidateType,a=n.ipAddress+":"+n.portNumber)};if("function"==typeof n[Symbol.iterator]){var p=n,h=Array.isArray(p),v=0;for(p=h?p:p[Symbol.iterator]();;){var g;if(h){if(v>=p.length)break;g=p[v++]}else{if((v=p.next()).done)break;g=v.value}d(g[1])}}else for(var b in n)n.hasOwnProperty(b)&&d(n[b]);(e.audioRecvBytes||e.audioSentBytes)&&(e.audioLocalCandidateType=l,e.audioLocalAddress=s,e.audioRemoteCandidateType=r,e.audioRemoteAddress=a,e.audioTransportType=c),(e.videoRecvBytes||e.videoSentBytes)&&(e.videoLocalCandidateType=l,e.videoLocalAddress=s,e.videoRemoteCandidateType=r,e.videoRemoteAddress=a,e.videoTransportType=c),f(e,t),u(null,e)},function(n){u(n)})},d=function(n,l,e,r,o){return t.isInstalled()?(d=a)(n,0,e,r,o):-1!==["Firefox","Edge"].indexOf(u.env.name)?(d=c)(n,0,e,r,o):(d=s)(n,0,e,0,o)},f=function(n,l){(l?o:i).forEach(function(l){n.hasOwnProperty(l)||(n[l]=null)})},p=function h(n,l){var e=void 0,t=u.now(),o=function i(o,s){if(e){var a=u.now(),c={timeStamp:a,duration:Math.round((a-t)/1e3),period:Math.round((a-o.timeStamp)/1e3)};d(e,o,c,l,function(l,e){if(l)r.error("Failed to Parse QOS Stats: "+JSON.stringify(l));else{var t=u.clone(c);["audioSentBytes","audioSentPackets","audioSentPacketsLost","videoSentBytes","videoSentPackets","videoSentPacketsLost","audioRecvBytes","audioRecvPackets","audioRecvPacketsLost","videoRecvBytes","videoRecvPackets","videoRecvPacketsLost"].forEach(function(n){t[n]=o&&o[n]?c[n]-o[n]:c[n]}),n(t,o),setTimeout(i.bind(null,e,s===h.INITIAL_INTERVAL?h.INTERVAL-h.INITIAL_INTERVAL:h.INTERVAL),s)}})}};this.startCollecting=function(n){n&&n.getStats&&(e?e=n:(e=n,o({timeStamp:u.now()},h.INITIAL_INTERVAL)))},this.stopCollecting=function(){e=null}};p.INITIAL_INTERVAL=1e3,p.INTERVAL=3e4,l.exports=p},{"../../common-js-helpers/OTHelpers.js":200,"../../otplugin/otplugin.js":373,"../logging.js":293}],327:[function(n,l,e){"use strict";var t=n("./sdp_helpers.js");l.exports={local:{offer:function(n,l){var e=l;if(n){var u=n.simulcastStreams,r=n.audioBitrate;1<u&&(e=t.enableSimulcast(e,u)),0<r&&(e=t.setAudioBitrate(e,r))}return e=t.modifyReceiveStereo(e,!1),e=t.modifySendStereo(e,Boolean(n&&n.enableStereo)),t.deprioritizeH264(e)},answer:function(n,l){var e=l;return n&&0<n.audioBitrate&&(e=t.setAudioBitrate(e,n.audioBitrate)),e=t.modifyReceiveStereo(e,Boolean(n&&n.enableStereo)),t.modifySendStereo(e,!1)}},remote:{offer:function(n,l){if(-1!==l.indexOf("a=rtcp-fb"))return l;
1return l.replace(/^m=video(.*)$/gim,"m=video$1\r\na=rtcp-fb:* ccm fir\r\na=rtcp-fb:* nack ")},answer:function(n,l){var e=l;return n&&0<n.audioBitrate&&(e=t.setAudioBitrate(e,n.audioBitrate)),e}}}},{"./sdp_helpers.js":328}],328:[function(n,l,e){"use strict";var t=n("../logging.js"),u=n("../../common-js-helpers/OTHelpers.js"),i={};(l.exports=i).getMLineIndex=function(n,l){var e="m="+l;return u.findIndex(n,function(n){return-1!==n.indexOf(e)})},i.getMLine=function(n,l){var e=i.getMLineIndex(n,l);return-1<e?n[e]:void 0},i.hasMLinePayloadType=function(n,l,e){var t=i.getMLine(n,l);return-1<i.getMLinePayloadTypes(t,l).indexOf(e)},i.getMLinePayloadTypes=function(n,l){var e=new RegExp("^m="+l+" \\d+(/\\d+)? [a-zA-Z0-9/]+(( [a-zA-Z0-9/]+)+)$","i"),t=n.match(e);return!t||t.length<2?[]:t[2].trim().split(" ")},i.removeTypesFromMLine=function(n,l){var e=/[0-9 ]*$/.exec(n)[0],t=e.split(" ").filter(function(n){return""!==n&&-1===l.indexOf(n)});return n.replace(e," "+t.join(" "))},i.removeMediaEncoding=function(n,l,e){var u=void 0,r=void 0,o=void 0,s=n.split("\r\n"),a=i.getMLineIndex(s,l),c=-1<a?s[a]:void 0,d=[];if(-1===a)return s.join("\r\n");if(0===i.getMLinePayloadTypes(c,l).length)return s.join("\r\n");for(u=a;u<s.length;u++)0===s[u].indexOf("a=rtpmap:")&&(2===(o=s[u].split(" ")).length&&0===o[1].indexOf(e+"/")&&d.push(o[0].substr(9)));if(!d.length)return s.join("\r\n");for(u=a;u<s.length;u++)if(0===s[u].indexOf("a=fmtp:"))for(o=s[u].split(" "),r=0;r<d.length;r++)2===o.length&&o[1]==="apt="+d[r]&&d.push(o[0].substr(7));return s=s.filter(function(n){for(var l=0;l<d.length;l++)if(0===n.indexOf("a=rtpmap:"+d[l]+" ")||0===n.indexOf("a=fmtp:"+d[l]+" ")||0===n.indexOf("a=rtcp-fb:"+d[l]+" "))return!1;return!0}),0<d.length&&-1<a&&(s[a]=i.removeTypesFromMLine(c,d)),s.join("\r\n")},i.removeVideoCodec=function(n,l){return i.removeMediaEncoding(n,"video",l)};var s=function(n,l){var e=l.filterByName("ssrc-group:FID");switch((e=0===e.length?[]:e[0].value.split(" ")).length){case 0:case 1:var r=l.find(function(n){return 0===n.name.indexOf("rtpmap:")&&-1<n.value.indexOf("rtx/90000")});if(!r)return!1;var o=r.name.split(":")[1];return-1<o.indexOf("/")&&(o=o.split("/")[0]),i.hasMLinePayloadType(n,"video",o);default:return t.debug("SDP Helpers: There are more than two FIDs, RTX is definitely enabled"),!0}};i.getAttributesForMediaType=function(n,l){for(var e=void 0,t=void 0,r=void 0,o=void 0,a=void 0,c=void 0,d=void 0,f=void 0,p=void 0,h=i.getMLineIndex(n,l),v=new RegExp("m=(?!"+l+").+ ","i"),g=new RegExp("a=ssrc:\\d+ .*","i"),m=new RegExp("a=ssrc-group:FID (\\d+).*?","i"),_=new RegExp("a=([a-z0-9:/-]+) (.*)","i"),b=[],y=h+1;y<n.length&&!v.test(n[y]);y++){(a=n[y].match(m))&&(e=y,o=a[1]),(c=n[y].match("a=ssrc:"+o+" msid:(.+)"))&&(d=c[1]);var E=g.test(n[y]);(void 0!==e&&void 0===t&&!E||y===n.length-1)&&(t=y);var S=n[y].match(/a=mid:(.+)/);S&&(f=S[1],p=y),(r=_.exec(n[y]))&&3===r.length&&b.push({lineIndex:y,name:r[1],value:r[2]})}return b.ssrcStartIndex=e,b.ssrcEndIndex=t,b.msid=d,b.mid=f,b.midIndex=p,Array.prototype.filter||(b.filter=u.filter.bind(u,b)),Array.prototype.find||(b.find=u.find.bind(u,b)),b.isUsingRTX=s.bind(null,n,b),b.filterByName=function(n){return this.filter(function(l){return l.name===n})},b.getRtpNumber=function(n){var l=new RegExp("rtpmap:(.+)");return u.find(b.map(function(e){var t=e.name.match(l);return t&&0<=e.value.indexOf(n)?t[1]:null}),function(n){return null!==n})},b};var a=function(n,l,e){var u=l.split("\r\n");if(!i.getMLine(u,"audio"))return t.debug("No audio m-line, not enabling stereo."),l;var r=i.getAttributesForMediaType(u,"audio"),o=r.getRtpNumber("opus");if(!o)return t.debug("Could not find rtp number for opus, not enabling stereo."),l;var s=r.find(function(n){return n.name==="fmtp:"+o});if(!s)return t.debug("Could not find a=fmtp line for opus, not enabling stereo."),l;var a=u[s.lineIndex],c=void 0;switch(n){case"send":(c=/sprop-stereo=\d+(\s*;?\s*)/).test(s.value)?a=a.replace(c,e?"sprop-stereo=1$1":""):e&&(a+="; sprop-stereo=1");break;case"receive":(c=/([^-])stereo=\d+(\s*;?\s*)/).test(s.value)?a=a.replace(c,e?"$1stereo=1$2":"$1"):e&&(a+="; stereo=1");break;default:throw new Error("Invalid type "+n+" passed into enableStereo")}return a=a.replace(/[;\s]*$/,""),u[s.lineIndex]=a,u.join("\r\n")};i.modifySendStereo=a.bind(null,"send"),i.modifyReceiveStereo=a.bind(null,"receive"),i.setAudioBitrate=function(n,l){var e=i.getAudioBitrate(n);if(void 0!==e)return t.debug("Audio bitrate already set to "+e+", not setting audio bitrate"),n;var u=n.split("\r\n");if(!i.getMLine(u,"audio"))return t.debug("No audio m-line, not setting audio bitrate."),n;var r=i.getAttributesForMediaType(u,"audio");if(!r.midIndex)return t.debug("No audio mid line, not setting audio bitrate."),n;var o=Math.floor(l/1e3);return u.splice(r.midIndex+1,0,"b=AS:"+o),u.join("\r\n")},i.hasSendStereo=function(n){return/[\s;]sprop-stereo=1/.test(n)},i.getAudioBitrate=function(n){var l=n.match(/\sb=AS:(\d+)/);if(l)return 1e3*Number(l[1])},i.enableSimulcast=function(n,l){var e=void 0,u=void 0,s=n.split("\r\n");if(!i.getMLine(s,"video"))return t.debug("No video m-line, not enabling simulcast."),n;var a=i.getAttributesForMediaType(s,"video");if(0<a.filterByName("ssrc-group:SIM").length)return t.debug("Simulcast is already enabled in this SDP, not attempting to enable again."),n;if(!a.msid)return t.debug("No local stream attached, not enabling simulcast."),n;var c=a.isUsingRTX(),d=[],f=[];for(u=0;
1u<l;++u)d.push(1e4+u),c&&f.push(2e4+u);if(e=["a=ssrc-group:SIM "+d.join(" ")],c)for(u=0;u<l;++u)e.push("a=ssrc-group:FID "+d[u]+" "+f[u]);for(u=0;u<l;++u)e.push("a=ssrc:"+d[u]+" cname:localCname","a=ssrc:"+d[u]+" msid:"+a.msid);if(c)for(u=0;u<l;++u)e.push("a=ssrc:"+f[u]+" cname:localCname","a=ssrc:"+f[u]+" msid:"+a.msid);return e.unshift(a.ssrcStartIndex,a.ssrcEndIndex-a.ssrcStartIndex),s.splice.apply(s,e),s.join("\r\n")},i.deprioritizeH264=function(n){var l=n.split("\r\n"),e=i.getMLineIndex(l,"video");if(-1===e)return n;var u=i.getMLinePayloadTypes(l[e],"video"),r=l.filter(function(n){return/^a=.* H264/.test(n)});if(0===r.length)return n;var o=null;try{o=r.map(function(n){return n.split(":")[1].split(" ")[0]})}catch(s){return t.error("Something went wrong getting the h264 type code:",{lines:r,error:s}),n}var a=u.filter(function(n){return-1===o.indexOf(n)});a.push.apply(a,o);var c=l[e].replace(u.join(" "),a.join(" "));return l[e]=c,l.join("\r\n")}},{"../../common-js-helpers/OTHelpers.js":200,"../logging.js":293}],329:[function(n,l,e){(function(e){"use strict";var t=n("../../common-js-helpers/OTHelpers.js"),u=e.RTCPeerConnection||e.mozRTCPeerConnection;l.exports=function(n,l){"Firefox"===t.env.name&&u&&u.generateCertificate?u.generateCertificate({name:"RSASSA-PKCS1-v1_5",hash:"SHA-256",modulusLength:2048,publicExponent:new Uint8Array([1,0,1])}).catch(function(n){l(n)}).then(function(e){n.certificates=[e],l(void 0,n)}):setTimeout(function(){l(void 0,n)})}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../common-js-helpers/OTHelpers.js":200}],330:[function(n,l,e){"use strict";var t=n("lodash.assign"),u=n("./applySdpTransform.js"),r=n("../logging.js");l.exports=function(n,l,e,o,i,s,a){var c=function(n,l){return function(e){r.error(n),r.error(e),a&&a(n,e,l)}};n.createOffer(function(r){r.sdp=u(l,"local","offer",t({simulcastStreams:e},o||{}),r.sdp),n.setLocalDescription(r,function(){s(r)},c("Error while setting LocalDescription","SetLocalDescription"))},c("Error while creating Offer","CreateOffer"),i)}},{"../logging.js":293,"./applySdpTransform.js":316,"lodash.assign":4}],331:[function(n,l,e){"use strict";var t=n("lodash.assign"),u=n("../exception_codes.js"),r=n("../../common-js-helpers/OTHelpers.js"),i=n("../messaging/raptor/parse_ice_servers.js").parseIceServers,s=n("./peer_connection.js"),a=n("../messaging/raptor/raptor_constants.js"),c=n("./set_certificates.js");l.exports=function(n){var l=n.iceServers,e=n.socket,o=n.reconnection,d=n.stream,f=n.subscriberId,p=n.subscriberUri,h=n.properties,v=n.logAnalyticsEvent,g=this,m=void 0,_=!1,b=!1,y=!1,E=function(){this.destroy(),y&&this.trigger("iceRestartFailure",this),this.trigger("disconnected",this)},S=function(n){this.trigger("remoteStreamAdded",n,this)},T=function(n){this.trigger("remoteStreamRemoved",n,this)},w=function(n,l){this.trigger("error",null,n,this,l)},O=function(n){!y||"connected"!==n&&"completed"!==n||(y=!1,this.trigger("iceRestartSuccess")),this.trigger("iceConnectionStateChange",n)},C=function(n){this.trigger("signalingStateChange",n)},j=function(n){this.trigger("signalingStateStable",n)},R=function(n,l){if(!b&&(n===a.Actions.CANDIDATE||n===a.Actions.OFFER||n===a.Actions.ANSWER||n===a.Actions.PRANSWER)){var u=n===a.Actions.CANDIDATE?l.candidate:l.sdp;b=-1!==u.indexOf("typ relay")}switch(n){case a.Actions.ANSWER:case a.Actions.PRANSWER:this.trigger("connected"),e.jsepAnswer(p,l.sdp);break;case a.Actions.OFFER:e.jsepOffer(p,l.sdp);break;case a.Actions.CANDIDATE:e.jsepCandidate(p,l)}}.bind(this),I=function(n,l){this.trigger("qos",n,l)}.bind(this);r.eventing(this),this.destroy=function(){_||(_=!0,m&&(e.is("connected")&&!d.destroyed&&e.subscriberDestroy(d.id,f),this.subscribeToAudio(!1),m.disconnect()),m=null,this.off())},this.getDataChannel=function(n,l,e){m.getDataChannel(n,l,e)},this.processMessage=function(n,l){m.processMessage(n,l)},this.getStats=function(n){m?m.getStats(n):n(new r.Error("Subscriber is not connected cannot getStats","NotConnectedError",{code:1015}))};
1var A=function(n){return function(l){m&&m.remoteTracks().forEach(function(e){e.kind===n&&e.enabled!==l&&(e.enabled=l)})}};this.subscribeToAudio=A("audio"),this.subscribeToVideo=A("video"),this.hasRelayCandidates=function(){return b},this.createOfferWithIceRestart=function(){return y=!0,m.createOfferWithIceRestart(p)},this.iceConnectionStateIsConnected=function(){return m.iceConnectionStateIsConnected()},this.init=function(n){var r={iceServers:l,offerConstraints:{}};o&&(r.offerConstraints.iceRestart=!0),c(r,function(r,o){if(r)n(r);else{var a=t({logAnalyticsEvent:v},o);if((m=new s(t({sendMessage:R},a))).on({iceConnected:function(){return g.emit("iceConnected")},close:E,streamAdded:S,streamRemoved:T,signalingStateChange:C,signalingStateStable:j,error:w,qos:I,iceConnectionStateChange:O},g),0<m.remoteTracks().length)m.remoteStreams().forEach(S,g);else{var c=void 0;if(h.subscribeToVideo||h.subscribeToAudio){var p=d.getChannelsOfType("audio"),_=d.getChannelsOfType("video");c=p.map(function(n){return{id:n.id,type:n.type,active:h.subscribeToAudio}}).concat(_.map(function(n){var l={id:n.id,type:n.type,active:h.subscribeToVideo,restrictFrameRate:void 0!==h.restrictFrameRate&&h.restrictFrameRate};return void 0!==h.preferredFrameRate&&(l.preferredFrameRate=parseFloat(h.preferredFrameRate)),void 0!==h.preferredHeight&&(l.preferredHeight=parseInt(h.preferredHeight,10)),void 0!==h.preferredWidth&&(l.preferredWidth=parseInt(h.preferredWidth,10)),l}))}e.subscriberCreate(d.id,f,c,function(n,e){if(n){var t="subscriberCreate failed with unexpected code "+n.code,r=Number(n.code);404===r&&(t="stream not found"),409===r&&"streamLimitExceeded"===n.message&&(r=u.STREAM_LIMIT_EXCEEDED,t="The limit for concurrent streams in the session has been reached"),g.trigger("error",r,t,g,"Subscribe")}m&&!l&&m.setIceServers(i(e))}),n(void 0,g)}}})}}},{"../../common-js-helpers/OTHelpers.js":200,"../exception_codes.js":288,"../messaging/raptor/parse_ice_servers.js":299,"../messaging/raptor/raptor_constants.js":300,"./peer_connection.js":322,"./set_certificates.js":329,"lodash.assign":4}],332:[function(n,l,e){"use strict";l.exports=function(n,l){var e=setTimeout(function(){n(function(n,e){if(!n)for(var t=0;t<e.length;t++){var u=e[t];-1!==u.id.indexOf("_send")&&"ssrc"===u.type&&"audio"===u.mediaType&&0===parseInt(u.bytesSent,10)&&l()}})},3e3);return function(){clearTimeout(e)}}},{}],333:[function(n,l,e){"use strict";l.exports=function(n){return"Chrome"!==n.browserName||n.isScreenSharing||n.sessionInfo.p2pEnabled||!n.constraints.video?1:640<n.videoDimensions.width&&480<n.videoDimensions.height?3:2}},{}],334:[function(n,l,e){"use strict";var t=n("bluebird");l.exports=function(l){l||(l={});
1var e=l.Archiving||n("../chrome/archiving.js"),u=l.AudioLevelMeter||n("../chrome/audio_level_meter.js"),r=l.AudioLevelTransformer||n("../audio_level_transformer"),o=l.BackingBar||n("../chrome/backing_bar.js"),i=l.Chrome||n("../chrome/chrome.js"),s=l.MuteButton||n("../chrome/mute_button.js")(),a=l.NamePanel||n("../chrome/name_panel.js"),c=l.StylableComponent||n("../styling/stylable_component.js");return function(n,l){var d=l.name,f=l.publishAudio,p=l.publishVideo,h=l.audioSource,v=l.showControls,g=l.isScreenSharing,m=l.logAnalyticsEvent,_=void 0,b=void 0,y=void 0,E={},S=function(l){if(!1===l)return"off";var e=n.getStyle("buttonDisplayMode");return!1===e?"on":e},T=new t.Promise(function(l,t){E.init=function(t){n.getStyle("showArchiveStatus")||m("showArchiveStatus","createChrome",{mode:"off"});var c={backingBar:new o({nameMode:d?n.getStyle("nameDisplayMode"):"off",muteMode:S(n.getStyle("buttonDisplayMode"))}),name:new a({name:d,mode:n.getStyle("nameDisplayMode")}),archive:new e({show:n.getStyle("showArchiveStatus")&&"off"!==n.getStyle("showArchiveStatus"),archiving:!1})};null!==h&&!1!==h&&(c.muteButton=new s({muted:!1===f,mode:S.call(n,n.getStyle("buttonDisplayMode"))})),_=new u({mode:n.getStyle("audioLevelDisplayMode")});var v=new r,g=function(n){var l=v.transform(n.audioLevel);f||(l=0),_.setValue(l)};_.watchVisibilityChanged(function(l){l?n.on("audioLevelUpdated",g):n.off("audioLevelUpdated",g)}),_.audioOnly(!p&&f),c.audioLevel=_,t&&t.domElement&&(b=new i({parent:(y=t).domElement}).set(c).on({muted:function(){return n.publishAudio(!1)},unmuted:function(){return n.publishAudio(!0)}}),l())},E.reset=function(){t(new Error("Chrome still being created")),b&&(b.destroy(),b=null)}});return E.setAudioOnly=function(n){_&&_.audioOnly(n)},E.setArchivingStatus=function(n){b&&b.archive.setArchiving(n)},E.setMuted=function(n){b&&b.muteButton.muted(n)},c(n,{showArchiveStatus:!0,nameDisplayMode:"auto",buttonDisplayMode:"auto",audioLevelDisplayMode:g?"off":"auto",archiveStatusDisplayMode:"auto",backgroundImageURI:null},v,function(n){m("SetStyle","Publisher",n,null,.1)}),n.on("styleValueChanged",function(n,l){T.then(function(){switch(n){case"nameDisplayMode":b.name.setDisplayMode(l),b.backingBar.setNameMode(l);break;case"showArchiveStatus":m("showArchiveStatus","styleChange",{mode:l?"on":"off"}),b.archive.setShowArchiveStatus(l);break;case"archiveStatusDisplayMode":b.archive.setShowArchiveStatus("off"!==l);break;case"buttonDisplayMode":b.muteButton.setDisplayMode(l),b.backingBar.setMuteMode(l);break;case"audioLevelDisplayMode":b.audioLevel.setDisplayMode(l);break;case"backgroundImageURI":y.setBackgroundImageURI(l)}})}),E}}},{"../audio_level_transformer":275,"../chrome/archiving.js":277,"../chrome/audio_level_meter.js":278,"../chrome/backing_bar.js":279,"../chrome/chrome.js":281,"../chrome/mute_button.js":282,"../chrome/name_panel.js":283,"../styling/stylable_component.js":358,bluebird:2}],335:[function(n,l,e){"use strict";function t(n,l,e){return!(!n.publish&&l)&&("boolean"==typeof n.source?n.source:e?{mandatory:{sourceId:n.source}}:{deviceId:{exact:n.source}})}function o(n){return{audio:function(n){var l=t(n.audio,n.enableRenegotiation,n.usingOptionalMandatoryStyle);if(!1===l)return!1;var e=n.usingOptionalMandatoryStyle,u=n.disableAudioProcessing,r=n.prefixedAudioConstraints;return(u||r)&&!0===l&&(l={}),u&&(e?(i(l,{optional:[]}),l.optional.push({echoCancellation:!1})):l.echoCancellation=!1),r&&(e?(i(l,{optional:[]}),Object.keys(r).forEach(function(n){var e;l.optional.push(((e={})[n]=r[n],e))})):i(l,r)),l}(n),video:function(n){var l=t(n.video,n.enableRenegotiation,n.usingOptionalMandatoryStyle);if(!1===l)return!1;var e=n.videoDimensions,u=n.frameRate,r=n.maxResolution,o=n.usingOptionalMandatoryStyle;if((e||u||r)&&!0===l&&(l={}),e){var s=e.width,a=e.height;o?(i(l,{optional:[]}),l.optional.push({minWidth:s},{maxWidth:s},{minHeight:a},{maxHeight:a})):i(l,{width:{ideal:s},height:{ideal:a}})}return u&&(o?(i(l,{optional:[]}),l.optional.push({minFrameRate:u},{maxFrameRate:u})):i(l,{frameRate:{ideal:u}})),r&&i(l,o?{mandatory:{maxWidth:r.width,maxHeight:r.height}}:{width:{max:r.width},height:{max:r.height}}),l}(n)}}var i=n("lodash/merge"),s=n("./normalizeConstraintInput.js");l.exports=function(n){var l=s(n);return{constraints:o(l),publishAudio:l.audio.publish,publishVideo:l.video.publish,frameRate:l.frameRate,videoDimensions:l.videoDimensions,audioDeviceId:"string"==typeof l.audio.source?l.audio.source:void 0,videoDeviceId:"string"==typeof l.video.source?l.video.source:void 0}}},{"./normalizeConstraintInput.js":340,"lodash/merge":169}],336:[function(n,l,e){(function(e){"use strict";var t=n("lodash.assign"),u=n("bluebird"),r=n("lodash.clonedeep"),o=n("lodash.pick"),i=n("uuid"),s=n("lodash.capitalize");l.exports=function(){var l=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},a=l.analytics||n("../analytics.js"),c=l.APIKEY||n("../api_key.js"),d=l.calculateCapableSimulcastStreams||n("./calculateCapableSimulcastStreams.js"),f=l.ConnectivityAttemptPinger||n("../../helpers/connectivity_attempt_pinger.js"),p=l.createChromeMixin||n("./createChromeMixin.js")(),h=l.deviceHelpers||n("../../helpers/
1device_helpers.js")(),v=l.EnvironmentLoader||n("../environment_loader.js"),g=l.Errors||n("../Errors.js"),m=l.Events||n("../events.js")(),_=l.ExceptionCodes||n("../exception_codes.js"),b=l.generateConstraintInfo||n("./generateConstraintInfo.js"),y=l.getUserMedia||n("../../helpers/get_user_media.js")(),E=l.interpretPeerConnectionError||n("../interpretPeerConnectionError.js")(),S=l.IntervalRunner||n("../interval_runner.js")(),T=l.logging||n("../logging.js"),w=l.Microphone||n("./microphone.js")(),O=l.otError||n("../../helpers/otError.js")(),C=l.OTErrorClass||n("../ot_error_class.js"),j=l.OTHelpers||n("../../common-js-helpers/OTHelpers.js"),R=l.OTPlugin||n("../../otplugin/otplugin.js"),I=l.otProperties||n("../../helpers/otProperties.js"),A=l.parseIceServers||n("../messaging/raptor/parse_ice_servers.js").parseIceServers,x=l.PUBLISH_MAX_DELAY||n("./max_delay.js"),N=l.PublisherPeerConnection||n("../peer_connection/publisher_peer_connection.js")(),k=l.PublishingState||n("./state.js")(),D=l.screenSharing||n("../screensharing/screen_sharing.js")(),P=l.StreamChannel||n("../stream_channel.js"),L=l.systemRequirements||n("../system_requirements.js"),M=l.VideoOrientation||n("../../helpers/video_orientation.js")(),F=l.WidgetView||n("../../helpers/widget_view.js")();return function(){function n(n){var l=W.getTracks().filter(function(l){return l.kind===n});return pn().then(function(n){return u.all(n.map(function(n){return n.addTrack(l[0],W)}))})}function l(n){return pn().then(function(l){return u.all(l.map(function(l){var e=l.getSenders().filter(function(l){return l.track.kind===n&&l.track.enabled});if(e.length)return u.all(e.map(function(n){return l.removeTrack(n)}))}))})}var U=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};L.check()||L.upgrade();var V=void 0,B=void 0,H=void 0,W=void 0,q=void 0,G=void 0,z=void 0,K=void 0,X=void 0,$=void 0,Y=void 0,J=void 0,Q=void 0,Z=void 0,nn=void 0,ln=i(),en={},tn=!1,un=U&&("screen"===U.videoSource||"window"===U.videoSource||"tab"===U.videoSource||"browser"===U.videoSource||"application"===U.videoSource),rn={},on=this,sn=!1,an=["audioDeviceId","audioFallbackEnabled","audioSource","channels","classNames","constraints","disableAudioProcessing","enableRenegotiation","enableStereo","fitMode","frameRate","height","insertDefaultUI","insertMode","audioBitrate","maxResolution","minVideoBitrate","mirror","name","publishAudio","publishVideo","resolution","showControls","style","usePreviousDeviceSelection","videoDeviceId","videoDimensions","videoSource","width"],cn=j.defaults(U,{mirror:!un,publishAudio:!0,publishVideo:!0,showControls:!0,fitMode:un?"contain":"cover",audioFallbackEnabled:!un,insertDefaultUI:!0,enableRenegotiation:!1,enableStereo:!1,disableAudioProcessing:!1});if(cn.constraints)T.warn("You have passed your own constraints not using ours");else{var dn=b({isScreenSharing:un,audioSource:cn.audioSource,publishAudio:cn.publishAudio,videoSource:cn.videoSource,publishVideo:cn.publishVideo,resolution:cn.resolution,maxResolution:cn.maxResolution,frameRate:cn.frameRate,enableRenegotiation:cn.enableRenegotiation,disableAudioProcessing:cn.disableAudioProcessing,env:j.env,usingOptionalMandatoryStyle:un||!(e.navigator.mediaDevices&&e.navigator.mediaDevices.getUserMedia)||"Chrome"===j.env.name});t(cn,dn)}if(j.eventing(this),!un){var fn=new S(function(){B&&B.getAudioInputLevel().then(function(n){j.requestAnimationFrame(function(){on.dispatchEvent(new m.AudioLevelUpdatedEvent(n))})})},60);this.on({"audioLevelUpdated:added":function(n){1===n&&fn.start()},"audioLevelUpdated:removed":function(n){0===n&&fn.stop()}})}var pn=function(){return u.all(Object.keys(en).map(function(n){return en[n]}))},hn=function(n,l,e,t,u){var r=j.extend({action:n,variation:l,payload:e,sessionId:on.session?on.session.sessionId:null,connectionId:on.session&&on.session.isConnected()?on.session.connection.connectionId:null,partnerId:on.session?on.session.apiKey:c.value,p2p:on.session&&on.session.sessionInfo?on.session.sessionInfo.p2pEnabled:null,messagingServer:on.session&&on.session.sessionInfo?on.session.sessionInfo.messagingServer:null,streamId:H},t);"Failure"===l&&(r=j.extend(rn,r)),rn=o(r,"sessionId","connectionId","partnerId"),a.logEvent(r,u)},vn=function(n){var l=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},e=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};"Attempt"!==n&&X||($=(new Date).getTime(),X=new f({action:"Publish",sessionId:on.session?on.session.sessionId:null,connectionId:on.session&&on.session.isConnected()?on.session.connection.connectionId:null,partnerId:on.session?on.session.apiKey:c.value,p2p:on.session&&on.session.sessionInfo?on.session.sessionInfo.p2pEnabled:null,messagingServer:on.session&&on.session.sessionInfo?on.session.sessionInfo.messagingServer:null,streamId:H})),"Non-fatal"!==e.failureReason&&("Failure"===n&&X.setVariation(n),"Failure"!==n&&"Success"!==n&&"Cancel"!==n||(j.extend(e,{attemptDuration:(new Date).getTime()-$}),j.extend(l,{videoInputDevices:Q,audioInputDevices:J,videoInputDeviceCount:Q?Q.length:void 0,audioInputDeviceCount:J?J.length:void 0,selectedVideoInputDeviceId:Z,selectedAudioInputDeviceId:nn})),hn("Publish",n,l,e))},gn=function(n,l){hn("ICERestart",n,l)},mn=function(n,l){var e=void 0;V&&V.domElement?e=V.domElement:V&&V.video()&&V.video().domElement()&&
1(e=V.video().domElement());var t={widgetType:"Publisher",sessionId:on.session?on.session.sessionId:null,connectionId:on.session&&on.session.isConnected()?on.session.connection.connectionId:null,partnerId:on.session?on.session.apiKey:c.value,streamId:H,width:e?Number(j.width(e).replace("px","")):void 0,height:e?Number(j.height(e).replace("px","")):void 0,audioTrack:W&&0<W.getAudioTracks().length,hasAudio:cn.publishAudio,videoTrack:W&&0<W.getVideoTracks().length,hasVideo:cn.publishVideo,videoSource:un&&U.videoSource||cn.constraints.video&&"Camera"||null,version:I.version,mediaServerName:on.session?on.session.sessionInfo.mediaServerName:null,apiServer:I.apiURL,p2p:on.session?on.session.sessionInfo.p2pEnabled:null,messagingServer:on.session?on.session.sessionInfo.messagingServer:null,duration:q?Math.round(((new Date).getTime()-q.getTime())/1e3):0,remoteConnectionId:n,scalableVideo:!!Y};a.logQOS(j.extend(t,l)),on.trigger("qos",l)},yn=function(n){return z.isDestroyed()?void B.destroy():(B=n,T.debug("OT.Publisher.onLoaded"),z.set("MediaBound"),V.loading(!!on.session&&!on.stream),tn=!0,on.element&&Un.init(V),on.trigger("initSuccess"),void on.trigger("loaded",on))},Sn=function(){W&&(e.MediaStreamTrack&&e.MediaStreamTrack.prototype.stop?W.getTracks().forEach(function(n){n.stop()}):W.stop(),W=null)},Tn=function(){var n={muted:!0,error:xn};return u.promisify(function(l){return V.bindVideo(W,n,l)})().catch(function(n){throw function(n){n.code=_.P2P_CONNECTION_FAILED,vn("Failure",{},{failureReason:"PeerConnectionError",failureCode:n.code,failureMessage:n.message}),z.set("Failed"),n.message="OT.Publisher PeerConnection Error: "+n.message,on.trigger("publishComplete",n),C.handleJsException(n.message,_.P2P_CONNECTION_FAILED,{session:on.session,target:on})}(n),n})},wn=function(n){T.debug("OT.Publisher.onStreamAvailable"),z.set("BindingMedia"),Sn();var l=function(n,l){var e=void 0;return n.forEach(function(n){if(n.hasOwnProperty("deviceId"))e=n.deviceId.toString();else if(n.label&&l){var t=j.find(l,function(l){return l.label===n.label});t&&(e=t.deviceId)}}),e};Z=l((W=n).getVideoTracks(),Q),nn=l(W.getAudioTracks(),J),G=new w(W,!cn.publishAudio),on.publishVideo(cn.publishVideo&&0<W.getVideoTracks().length),on.accessAllowed=!0,on.dispatchEvent(new m.Event(m.Event.names.ACCESS_ALLOWED,!1)),Tn().then(yn)},Cn=function(n){T.error("OT.Publisher.onStreamAvailableError "+n.name+": "+n.message),n.code=_.UNABLE_TO_PUBLISH,z.set("Failed"),on.trigger("publishComplete",n),V&&V.destroy();var l={failureReason:"GetUserMedia",failureCode:_.UNABLE_TO_PUBLISH,failureMessage:"OT.Publisher failed to access camera/mic: "+n.message};vn("Failure",{},l),C.handleJsException(l.failureReason,l.failureCode,{session:on.session,target:on})},jn=function(n){var l=r(n);return l.code=_.UNABLE_TO_PUBLISH,l.name===g.USER_MEDIA_ACCESS_DENIED?void Rn(l):(T.error("OT.Publisher.onScreenSharingError "+l.message),z.set("Failed"),l.message="Screensharing: "+l.message,on.trigger("publishComplete",l),vn("Failure",{},{failureReason:"ScreenSharing",failureMessage:l.message}),void(V&&V.destroy()))},Rn=function(n){var l=r(n);"https:"!==j.env.protocol&&(un?l.message+="PermissionDeniedError Note: https:// is required for screen sharing.":"Chrome"===j.env.name&&"localhost"!==j.env.hostName&&(l.message="Chrome requires HTTPS for camera and microphone access.")),T.error("OT.Publisher.onStreamAvailableError Permission Denied"),z.set("Failed"),l.message="OT.Publisher Access Denied: Permission Denied: "+l.message,l.code=_.UNABLE_TO_PUBLISH,on.trigger("publishComplete",l),vn("Cancel",{reason:"AccessDenied"}),on.dispatchEvent(new m.Event(m.Event.names.ACCESS_DENIED)),V&&V.destroy()},In=function(){hn("accessDialog","Opened"),on.dispatchEvent(new m.Event(m.Event.names.ACCESS_DIALOG_OPENED,!0))},An=function(){hn("accessDialog","Closed"),on.dispatchEvent(new m.Event(m.Event.names.ACCESS_DIALOG_CLOSED,!1))},xn=function(n){n.message="OT.Publisher while playing stream: "+n.message,T.error("OT.Publisher.onVideoError"),hn("stream",null,{reason:n.message});var l=z.isAttemptingToPublish();z.set("Failed"),l?on.trigger("publishComplete",n):on.trigger("error",n.message),C.handleJsException(n.message,_.UNABLE_TO_PUBLISH,{session:on.session,target:on})},Nn=function(n){T.debug("Subscriber has been disconnected from the Publisher's PeerConnection"),on.
1cleanupSubscriber(n.remoteConnectionId)},kn=function(n,l,e,t){if("ICEWorkflow"===t&&on.session.sessionInfo.reconnection&&tn)T.debug("Ignoring peer connection failure due to possibility of reconnection.");else{var u=e&&e.remoteConnectionId||"(not found)",r=E(n,l,t,u,"Publisher"),o={hasRelayCandidates:e.hasRelayCandidates()},i={failureReason:t||"PeerConnectionError",failureCode:r.code,failureMessage:r.message};z.isPublishing()?i.reason="Non-fatal":on.trigger("publishComplete",r),vn("Failure",o,i),C.handleJsException("OT.Publisher PeerConnection Error: "+l,r.code,{session:on.session,target:on}),delete en[e.remoteConnectionId]}},Ln=function(){Y=!0},Fn=function(n,l,e){var t=en[l],r=j.now();if(t)return t;hn("createPeerConnection","Attempt");var o=d({browserName:j.env.name,isScreenSharing:un,sessionInfo:on.session.sessionInfo,constraints:cn.constraints,videoDimensions:function(){var n=void 0,l=void 0;return l=cn.videoDimensions?(n=Math.min(cn.videoDimensions.width,B&&B.videoWidth()||640),Math.min(cn.videoDimensions.height,B&&B.videoHeight()||480)):(n=B&&B.videoWidth()||640,B&&B.videoHeight()||480),{width:n,height:l}}()}),i=on.session._.getIceServers().catch(function(n){if(n instanceof TypeError)throw n});return en[l]=i.then(function(i){return(t=new N({iceServers:i,remoteConnectionId:n,socket:on.session._.getSocket(),reconnection:on.session.sessionInfo.reconnection,webRTCStream:W,channels:cn.channels,capableSimulcastStreams:o,overrideSimulcastEnabled:U._enableSimulcast,subscriberUri:e,logAnalyticsEvent:hn,offerOverrides:{enableStereo:cn.enableStereo,audioBitrate:cn.audioBitrate},answerOverrides:on.session.sessionInfo.p2pEnabled?void 0:{audioBitrate:cn.audioBitrate}})).on({connected:function(){var n={pcc:parseInt(j.now()-r,10),hasRelayCandidates:t.hasRelayCandidates()};hn("createPeerConnection","Success",n)},disconnected:Nn,error:kn,qos:mn,iceRestartSuccess:function(n){gn("Success",{remoteConnectionId:n})}.bind(void 0,l),iceRestartFailure:function(n){gn("Failure",{reason:"ICEWorkflow",message:"OT.Publisher PeerConnection Error: The stream was unable to connect due to a network error. Make sure your connection isn't blocked by a firewall.",remoteConnectionId:n})}.bind(void 0,l),simulcastEnabled:Ln,audioAcquisitionProblem:function(){sn=!0,hn("audioAcquisitionProblem"),on.trigger("audioAcquisitionProblem")}}),new u.Promise(function(n,l){t.init(K,function(e){return e?l(e):void n(t)})})}),en[l]},Un=p(on,{name:cn.name,publishAudio:cn.publishAudio,publishVideo:cn.publishVideo,audioSource:cn.audioSource,showControls:cn.showControls,isScreenSharing:un,logAnalyticsEvent:hn}),Vn=function(){Un.reset(),on.disconnect(),G=null,B&&(B.destroy(),B=null),Sn(),V&&(V.destroy(),V=null),on.session&&on._.unpublishFromSession(on.session,"reset"),on.id=null,on.stream=null,tn=!1,on.session=null,z.isDestroyed()||z.set("NotPublishing")},Bn=function(n,l){V&&(V.audioOnly(!n),V.showPoster(!n)),Un.setAudioOnly(!n&&l)};this.publish=function(n){return T.debug("OT.Publisher: publish"),(z.isAttemptingToPublish()||z.isPublishing())&&Vn(),z.set("GetUserMedia"),cn.style&&on.setStyle(cn.style,null,!0),cn.name&&(cn.name=cn.name.toString()),cn.hasOwnProperty("usePreviousDeviceSelection")&&("https:"!==j.env.protocol&&T.warn("Note: https:// is required for usePreviousDeviceSelection"),"IE"!==j.env.name&&T.warn("Note: usePreviousDeviceSelection only works in Internet Explorer"),R.hasOwnProperty("settings")&&(R.settings.usePreviousDeviceSelection=cn.usePreviousDeviceSelection)),void 0!==cn.minVideoBitrate&&("number"!=typeof cn.minVideoBitrate||isNaN(cn.minVideoBitrate)||cn.minVideoBitrate<=0)&&(T.warn("Invalid minVideoBitrate passed to the Publisher. minVideoBitrate must be a positive number"),delete cn.minVideoBitrate),void 0!==cn.audioBitrate&&("number"!=typeof cn.audioBitrate||isNaN(cn.audioBitrate)||cn.audioBitrate<6e3||51e4<cn.audioBitrate)&&(T.warn("Invalid audioBitrate passed to the Publisher. audioBitrate must be a number between 6000 and 510000 bits per second"),delete cn.audioBitrate),cn.classNames="OT_root OT_publisher",v.onLoad(function(){function l(n){z.isDestroyed()||y(n,wn,Cn,In,An,Rn)}V=new F(n,cn),on.id=V.domId(),on.element=V.domElement,V.on("videoDimensionsChanged",function(n,l){on.stream&&on.stream.setVideoDimensions(l.width,l.height),on.dispatchEvent(new m.VideoDimensionsChangedEvent(on,n,l))}),V.on("mediaStopped",function(n){var l=new m.MediaStoppedEvent(on,n);
1on.dispatchEvent(l,function(){if(!l.isDefaultPrevented()){if(n){var e=String(n.kind).toLowerCase();return void("audio"===e||"video"===e?on["publish"+s(e)](!1):T.warn("Track with invalid kind has ended: "+n.kind))}on.session?on._.unpublishFromSession(on.session,"mediaStopped"):on.destroy("mediaStopped")}})}),V.on("videoElementCreated",function(n){var l=new m.VideoElementCreatedEvent(n);on.dispatchEvent(l)}),un?D.getConstraints({onAccessDialogOpened:In,onAccessDialogClosed:An,videoSource:U.videoSource,constraints:cn.constraints}).then(function(n){cn.constraints=n,l(cn.constraints)},jn):h.shouldAskForDevices().then(function(n){n.video||(T.warn("Setting video constraint to false, there are no video sources"),cn.constraints.video=!1),n.audio||(T.warn("Setting audio constraint to false, there are no audio sources"),cn.constraints.audio=!1),Q=n.videoDevices,J=n.audioDevices,l(cn.constraints)})}),on},this.publishAudio=function(n,l){var e="function"==typeof l?l:function(){};return cn.publishAudio=n,Bn(cn.publishVideo,cn.publishAudio),Un.setMuted(!n),!cn.enableRenegotiation&&G&&G.muted(!n),on.session&&on.stream?(on.stream.setChannelActiveState("audio",n),cn.enableRenegotiation?(hn("publishAudioRenegotiation","Attempt",n),n&&0===W.getAudioTracks().length?(cn.constraints.audio=cn.constraints.audio||!0,Hn(cn.
1constraints).then(Wn).then(Tn).then(Gn.bind(null,function(n){n.getSenders().forEach(n.removeTrack.bind(n)),W.getTracks().forEach(function(l){n.addTrack(l,W)})})).then(function(){hn("publishAudioRenegotiation","Success")}).then(e.bind(void 0,null),function(n){hn("publishAudioRenegotiation","Failure",n.message),e(n)})):this.publishAudioTrack(n).then(function(){hn("publishAudioRenegotiation","Success")}).then(e.bind(void 0,null),function(n){hn("publishAudioRenegotiation","Failure"),e(n)})):e(null)):on.once("publishComplete",function(){on.publishAudio(cn.publishAudio,e)}),on},this.publishAudioTrack=function(e){return(e?n:l)("audio")},this.publishVideoTrack=function(e){return(e?n:l)("video")},this.publishVideo=function(n,l){var e="function"==typeof l?l:function(){},t=cn.publishVideo;if(cn.publishVideo=n,on.session&&on.stream&&cn.publishVideo!==t&&on.stream.setChannelActiveState("video",n),Bn(cn.publishVideo,cn.publishAudio),cn.enableRenegotiation)hn("publishVideoRenegotiation","Attempt",n),n&&0===W.getVideoTracks().length?(cn.constraints.video=cn.constraints.video||!0,Hn(cn.constraints).then(Wn).then(Tn).then(Gn.bind(null,function(n){n.getSenders().forEach(n.removeTrack.bind(n)),W.getTracks().forEach(function(l){n.addTrack(l,W)})})).then(function(){hn("publishVideoRenegotiation","Success")}).then(e.bind(void 0,null),function(n){hn("publishVideoRenegotiation","Failure",n.message),e(n)})):this.publishVideoTrack(n).then(function(){hn("publishVideoRenegotiation","Success")}).then(e.bind(void 0,null),function(n){hn("publishVideoRenegotiation","Failure",n.message),e(n)});else{if(W)for(var r=W.getVideoTracks(),o=0,i=r.length;o<i;o+=1)r[o].enabled=n;e(null)}return on},this.destroy=function(n,l){return z.isAttemptingToPublish()&&(X&&(X.stop(),X=null),on.session&&vn("Cancel",{reason:"destroy"})),z.isDestroyed()||(z.set("Destroyed"),Vn(),!0!==l&&on.dispatchEvent(new m.DestroyedEvent(m.Event.names.PUBLISHER_DESTROYED,on,n),on.off.bind(on))),on},this.disconnect=function(){Object.keys(en).forEach(function(n){on.cleanupSubscriber(n)})},this.cleanupSubscriber=function(n){var l=en[n];l&&l.then(function(l){l.destroy(),delete en[n],hn("disconnect","PeerConnection",{subscriberConnection:n})})},this.processMessage=function(n,l,e){var t=e.params&&e.params.subscriber;switch(t&&"INVALID-STREAM"!==t||(t=l),T.debug("OT.Publisher.processMessage: Received "+n+" from "+t),T.debug(e),n){case"unsubscribe":on.cleanupSubscriber(t);break;default:Fn(l,t,e.uri).then(function(l){return l.processMessage(n,e),null}).catch(function(n){T.error("OT.Publisher failed to create a peerConnection",n)})}},this.getImgData=function(){return tn?B.imgData():(T.error("OT.Publisher.getImgData: Cannot getImgData before the Publisher is publishing."),null)};var Hn=function(n){return new u.Promise(function(l,e){y(n,l,function(n){Cn(n),e(n)},In,An,function(n){Rn(n),e(n)})})},Wn=function(n){Sn(),G=new w(W=n,!cn.publishAudio)},qn=function(n){n.getSenders().forEach(function(n){return"audio"===n.track.kind&&W.getAudioTracks().length?n.replaceTrack(W.getAudioTracks()[0]):"video"===n.track.kind&&W.getVideoTracks().length?n.replaceTrack(W.getVideoTracks()[0]):void 0})},Gn=function(){var n=0<arguments.length&&void 0!==arguments[0]?arguments[0]:qn;return pn().then(function(l){return l.map(n),u.all([])})};this._={publishToSession:function(n){on.session=n;var l=i();H=l,on.streamId=l,vn("Attempt",{dataChannels:cn.channels,properties:o(cn,an)});var e=new u.Promise(function(n,l){return tn?void n():(on.once("initSuccess",n),void on.once("destroyed",l))}),t=new u.Promise(function(n,l){on.once("publishComplete",function(e){return e?void l(e):void n()})}),s=e.then(function(){if(on.session){var l=setTimeout(function(){!function(n){T.error("OT.Publisher.onPublishingTimeout");var l=void 0,e=void 0;e=sn?(l=g.CHROME_MICROPHONE_ACQUISITION_ERROR,"Unable to publish because your browser failed to get access to your microphone. You may need to fully quit and restart your browser to get it to work. See https://bugs.chromium.org/p/webrtc/issues/detail?id=4799 for more details."):(l=g.TIMEOUT,"Could not publish in a reasonable amount of time"),on.trigger("publishComplete",O(l,new Error(e),_.UNABLE_TO_PUBLISH));var t={failureReason:"ICEWorkflow",failureCode:_.UNABLE_TO_PUBLISH,failureMessage:"OT.Publisher failed to publish in a reasonable amount of time (timeout)"};vn("Failure",{},t),C.handleJsException(t.failureReason,t.failureCode,{session:on.session,target:on}),n.isConnected()&&on.streamId&&n._.streamDestroy(on.streamId),on.disconnect(),on.session=null,z.isDestroyed()||z.set("MediaBound"),X&&(X.stop(),X=null)}(n)},x);return on.once("publishComplete",function(){clearTimeout(l)}),z.set("PublishingToSession"),B?B.getLoadedResolution():null}}).then(function(e){var t=[];return e&&t.push(new P({id:"video1",type:"video",active:cn.publishVideo,orientation:M.ROTATED_NORMAL,frameRate:cn.frameRate,width:e.width,height:e.height,source:un?"screen":"camera",fitMode:cn.fitMode})),null!==cn.audioSource&&!1!==cn.audioSource&&t.push(new P({id:"audio1",type:"audio",active:cn.publishAudio})),new u.Promise(function(e,u){n._.streamCreate(cn.name||"",l,cn.audioFallbackEnabled,t,cn.minVideoBitrate,function(n,l,t){return n?void u(function(n){var e=-1<[403,404,409].indexOf(n.code)?O(g.STREAM_CREATE_FAILED,new Error("Failed to create stream in server model: "+n.message),_.UNABLE_TO_PUBLISH):O(g.UNEXPECTED_SERVER_RESPONSE,new Error("Unexpected server response: "+n.message),_.UNEXPECTED_SERVER_RESPONSE);throw vn("Failure",{},{failureReason:"Publish",failureCode:e.code,failureMessage:e.message}),z.isAttemptingToPublish()&&on.trigger("publishComplete",e),C.handleJsException(n.message,e.code,{session:on.session,target:on}),e}(n)):void e({streamId:l,message:t})})})}).then(function(n){var e=n.streamId,t=n.message;if(e!==l)throw new Error("streamId response does not match request");on.streamId=e,K=A(t)});return u.all([s,t])},unpublishFromSession:function(n,l){if(on.session&&n.id===on.session.id)return n.isConnected()&&on.stream&&n._.streamDestroy(on.stream.id),on.disconnect(),z.isAttemptingToPublish()&&vn("Cancel",{reason:"unpublish"}),on.session=null,z.isDestroyed()||z.set("MediaBound"),X&&(X.stop(),X=null),hn("unpublish","Success",{sessionId:n.id}),on._.streamDestroyed(l),on;var e=on.session&&on.session.id||"no session";return T.warn("The publisher "+ln+" is trying to unpublish from a session "+n.id+" it is not attached to (it is attached to "+e+")"),on},unpublishStreamFromSession:function(n,l,e){return H&&n.id===H?on._.unpublishFromSession(l,e):(T.warn("The publisher "+ln+" is trying to de
1stroy a stream "+n.id+" that is not attached to it (it has "+(H||"no stream")+" attached to it)"),on)},streamDestroyed:function(n){if(["reset"].indexOf(n)<0){var l=new m.StreamEvent("streamDestroyed",on.stream,n,!0);on.dispatchEvent(l,function(){l.isDefaultPrevented()||on.destroy()})}},archivingStatus:function(n){return Un.setArchivingStatus(n),n},webRtcStream:function(){return W},switchTracks:function(){return Hn(cn.constraints).then(Wn).then(Tn).then(Gn)},switchAcquiredWindow:function(n){if("Firefox"!==j.env.name||j.env.version<38)throw new Error("switchAcquiredWindow is an experimental method and is not supported by the current platform");if(void 0!==n){if("boolean"==typeof cn.constraints.video){if(!1===cn.constraints.video)throw new Error("Cannot switchAcquiredWindow when there is no video");cn.constraints.video={}}cn.constraints.video.browserWindow=n}hn("SwitchAcquiredWindow","Attempt",{constraints:cn.constraints});var l=on._.switchTracks();return l.then(function(){hn("SwitchAcquiredWindow","Success",{constraints:cn.constraints})},function(n){hn("SwitchAcquiredWindow","Failure",{error:n,constraints:cn.constraints})}),l},getDataChannel:function(n,l,e){var t=en[Object.keys(en)[0]];return t?void t.then(function(t){t.getDataChannel(n,l,e)}):void e(new j.Error("Cannot create a DataChannel before there is a subscriber."))},iceRestart:function(n){pn().then(function(l){l.forEach(function(l){var e=l.remoteConnectionId;n||!l.iceConnectionStateIsConnected()?(gn("Attempt",{remoteConnectionId:e}),l.createOfferWithIceRestart()):T.debug("Publisher: Skipping ice restart for "+e+", we are connected.")})})},getState:function(){return z}},this.detectDevices=function(){T.warn("Publisher.detectDevices() is not implemented.")},this.detectMicActivity=function(){T.warn("Publisher.detectMicActivity() is not implemented.")},this.getEchoCancellationMode=function(){return T.warn("Publisher.getEchoCancellationMode() is not implemented."),"fullDuplex"},this.setMicrophoneGain=function(){T.warn("Publisher.setMicrophoneGain() is not implemented.")},this.getMicrophoneGain=function(){return T.warn("Publisher.getMicrophoneGain() is not implemented."),.5},this.setCamera=function(){T.warn("Publisher.setCamera() is not implemented.")},this.setMicrophone=function(){T.warn("Publisher.setMicrophone() is not implemented.")},this.guid=function(){return ln},this.videoElement=function(){return B.domElement()},this.setStream=function(n){on.stream=n,on.stream.on("destroyed",on.disconnect,on),z.set("Publishing"),V.loading(!tn),q=new Date,on.trigger("publishComplete",null,on),on.dispatchEvent(new m.StreamEvent("streamCreated",n,null,!1)),vn("Success")},this.isWebRTC=!0,this.isLoading=function(){return V&&V.loading()},this.videoWidth=function(){return B&&B.videoWidth()},this.videoHeight=function(){return B&&B.videoHeight()},z=new k(function(n){T.error("OT.Publisher State Change Failed: ",n.message),T.debug(n)}),this.accessAllowed=!1}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../common-js-helpers/OTHelpers.js":200,"../../helpers/connectivity_attempt_pinger.js":230,"../../helpers/device_helpers.js":235,"../../helpers/get_user_media.js":241,"../../helpers/otError.js":255,"../../helpers/otProperties.js":256,"../../helpers/video_orientation.js":267,"../../helpers/widget_view.js":268,"../../otplugin/otplugin.js":373,"../Errors.js":270,"../analytics.js":271,"../api_key.js":273,"../environment_loader.js":286,"../events.js":287,"../exception_codes.js":288,"../interpretPeerConnectionError.js":291,"../interval_runner.js":292,"../logging.js":293,"../messaging/raptor/parse_ice_servers.js":299,"../ot_error_class.js":315,"../peer_connection/publisher_peer_connection.js":325,"../screensharing/screen_sharing.js":349,"../stream_channel.js":356,"../system_requirements.js":363,"./calculateCapableSimulcastStreams.js":333,"./createChromeMixin.js":334,"./generateConstraintInfo.js":335,"./max_delay.js":338,"./microphone.js":339,"./state.js":341,bluebird:2,"lodash.assign":4,"lodash.capitalize":5,"lodash.clonedeep":6,"lodash.pick":11,uuid:197}],337:[function(n,l,e){"use strict";l.exports=function(l){l||(l={});var e=l.Errors||n("../Errors.js"),t=l.ExceptionCodes||n("../exception_codes.js"),u=l.logging||n("../logging.js"),r=l.otError||n("../../helpers/otError.js")(),o=l.OTHelpers||n("../../common-js-helpers/OTHelpers.js"),i=l.Publisher||n("./index.js")(),s=l.sessionObjects||n("../session/objects.js");return function(n,l,a){u.debug("OT.initPublisher("+n+")"),"string"!=typeof n||document.getElementById(n)||(n=l,l=a,a=arguments[3]),"function"==typeof n?(a=n,n=l=void 0):o.isObject(n)&&!o.isElementNode(n)&&(a=l,l=n,n=void 0),"function"==typeof l&&(a=l,l=void 0);var c=void 0;l&&!o.isObject(l)&&(c="properties argument to Publisher constructor, if provided, should be an object",l=void 0),l&&!1===l.insertDefaultUI&&n&&(c="You cannot specify a target element if insertDefaultUI is false");var d=new i(l||{});s.publishers.add(d);var f=function(){a&&o.isFunction(a)&&(a.apply(void 0,arguments),a=void 0)};void 0!==c&&(u.error(c),f(r(e.INVALID_PARAMETER,new Error(c),t.INVALID_PARAMETER)));var p=function(n){d.off("publishComplete",h),f(n)},h=function(n){d.off("initSuccess",p),n&&f(n)};return d.once("initSuccess",p),d.once("publishComplete",h),d.publish(n),d}}},{"../../common-js-helpers/OTHelpers.js":200,"../../helpers/otError.js":255,"../Errors.js":270,"../exception_codes.js":288,"../logging.js":293,"../session/objects.js":353,"./index.js":336}],338:[function(n,l,e){"use strict";l.exports=15e3},{}],339:[function(n,l,e){"use strict";l.exports=function(l){l||(l={});var e=l.OTHelpers||n("../../common-js-helpers/OTHelpers.js");return function(n,l){var t=void 0;e.defineProperties(this,{muted:{get:function(){return t}
1,set:function(l){if(t!==l){t=l;for(var e=n.getAudioTracks(),u=0,r=e.length;u<r;++u)e[u].enabled=!t}}}}),void 0!==l?this.muted(!0===l):n.getAudioTracks().length?this.muted(!n.getAudioTracks()[0].enabled):this.muted(!1)}}},{"../../common-js-helpers/OTHelpers.js":200}],340:[function(n,l,e){"use strict";function t(n){return n._inject&&n._inject.logging||c}function u(n,l,e,t,u){if(void 0!==l){var r=e(l);return r||u.warn("Invalid "+n+" passed to the Publisher. Got: "+l+", expecting one of "+t),r}}function r(n,l){var e=t(l),u=function(){var e=l["publish"+a(n)];return void 0===e||Boolean(e)}(),r=function(){var t=l[n+"Source"];return void 0===t||null!==t&&!1!==t&&("object"===(void 0===t?"undefined":i(t))?"string"!=typeof t.deviceId?(e.warn("Invalid "+n+"Source passed to Publisher. Expected either a device ID or device."),!0):t.deviceId:"string"!=typeof t?(e.warn("Ignoring invalid "+n+"Source parameter"),!0):t)}();return"audio"===n&&l.isScreenSharing&&!1!==r&&(t(l).warn("Invalid audioSource passed to Publisher - when using screen sharing no audioSource may be used"),r=!1),{source:r,publish:u}}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},s=n("assert"),a=n("lodash/capitalize"),c=n("../logging.js"),d={"320x240":{width:320,height:240},"320x180":{width:320,height:180},"640x480":{width:640,height:480},"640x360":{width:640,height:360},"1280x720":{width:1280,height:720},"1280x960":{width:1280,height:960}},f=[1,7,15,30];l.exports=function(n){var l=t(n),e=n.env||{};n.isScreenSharing&&s(n.usingOptionalMandatoryStyle,"Screensharing only uses optional-mandatory constraints right now");var i=void 0;return n.disableAudioProcessing&&"Firefox"===e.name&&(i={mozAutoGainControl:!1,mozNoiseSupression:!1}),{isScreenSharing:n.isScreenSharing,audio:r("audio",n),video:r("video",n),usingOptionalMandatoryStyle:n.usingOptionalMandatoryStyle,enableRenegotiation:n.enableRenegotiation,disableAudioProcessing:n.disableAudioProcessing,prefixedAudioConstraints:i,videoDimensions:u("resolution",n.resolution,function(n){return d[n]},'"'+Object.keys(d).join('", "')+'"',l),frameRate:function(n,l){return"Chrome"===n.name&&-1!==n.userAgent.indexOf("Mac OS X")&&1===l?2:l}(e,u("frameRate",n.frameRate,function(n){return-1!==f.indexOf(n)?n:void 0},f.join(","),l)),maxResolution:function(){if(void 0===n.maxResolution)return n.isScreenSharing?{width:1920,height:1920}:void 0;var e={width:n.maxResolution.width,height:n.maxResolution.height};return Object.keys(e).forEach(function(n){var t=e[n];("number"!=typeof t||1920<t)&&(l.warn("Invalid maxResolution passed to the Publisher. maxResolution."+n+" must be less than or equal to 1920"),e[n]=1920)}),e}()}}},{"../logging.js":293,assert:1,"lodash/capitalize":146}],341:[function(n,l,e){"use strict";l.exports=function(l){l||(l={});var o=(l.generateSimpleStateMachine||n("../generate_simple_state_machine.js")())("NotPublishing",["NotPublishing","GetUserMedia","BindingMedia","MediaBound","PublishingToSession","Publishing","Failed","Destroyed"],{NotPublishing:["NotPublishing","GetUserMedia","Destroyed"],GetUserMedia:["BindingMedia","Failed","NotPublishing","Destroyed"],BindingMedia:["MediaBound","Failed","NotPublishing","Destroyed"],MediaBound:["NotPublishing","PublishingToSession","Failed","Destroyed"],PublishingToSession:["NotPublishing","Publishing","Failed","Destroyed","MediaBound"],Publishing:["NotPublishing","MediaBound","Failed","Destroyed"],Failed:["Destroyed"],Destroyed:[]});return o.prototype.isDestroyed=function(){return"Destroyed"===this.current},o.prototype.isAttemptingToPublish=function(){return-1!==["GetUserMedia","BindingMedia","MediaBound","PublishingToSession"].indexOf(this.current)},o.prototype.isPublishing=function(){return"Publishing"===this.current},o}},{"../generate_simple_state_machine.js":289}],342:[function(n,l,e){"use strict";var t=n("bluebird");l.exports=function(n){function l(n){var l=new XMLHttpRequest;return{promise:new t.Promise(function(e,t){function u(n){return 8e3*n/(Date.now()-r)}
1var r=Date.now(),o=0;l.addEventListener("load",function(n){e(u(n.loaded))}),l.addEventListener("abort",function(){e(u(o))}),l.addEventListener("error",function(n){t(n)}),l.addEventListener("progress",function(n){o=n.loaded}),l.open("GET",n+"?_"+Math.random()),l.send()}),abort:function(){l.abort()}}}function e(n,l){var e=new XMLHttpRequest;return{promise:new t.Promise(function(t,u){var r=void 0,o=void 0,i=void 0;e.upload.addEventListener("progress",function(n){r||(r=Date.now()),i=n.loaded}),e.addEventListener("load",function(){o=Date.now(),t(8e3*i/(o-r))}),e.addEventListener("error",function(n){u(n)}),e.addEventListener("abort",function(){u(new Error("Aborted"))}),e.open("POST",n),e.send(l)}),abort:function(){e.abort()}}}var o=n.httpConfig;return t.all([function(n,e){var t=l(n);return setTimeout(function(){t.abort()},e),t.promise}(o.downloadUrl,1e3*o.duration),function(n,l,u){return new t.Promise(function(t){var o=void 0,i=0;setTimeout(function(){o.abort(),t(i)},u),function r(l){(o=e(n,new ArrayBuffer(l/8))).promise.then(function(n){i=n,r(2*l)})}(l)})}(o.uploadUrl,o.uploadSize,1e3*o.duration)]).then(function(n){return{downloadBandwidth:n[0],uploadBandwidth:n[1]}})}},{bluebird:2}],343:[function(n,l,e){(function(e){"use strict";l.exports=function(){var l=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=l.createPeerConnection||n("../../helpers/create_peer_connection.js"),u=l.getStatsAdapter||n("../peer_connection/get_stats_adapter.js"),r=l.getStatsHelpers||n("../peer_connection/get_stats_helpers.js"),o=l.logging||n("../logging.js"),i=l.OTHelpers||n("../../common-js-helpers/OTHelpers.js"),s=l.OTPlugin||n("../../otplugin/otplugin.js"),a=l.VideoElementFacade||n("../../helpers/video_element/index.js")();return function(n){function c(){var n=new a({attributes:{muted:!0}});return n.domElement().style.position="absolute",n.domElement().style.top="-9999%",n.appendTo(document.body),n}function d(){return new i.RSVP.Promise(function(n,l){t({iceServers:T.iceServers},{},null,function(e,t){e?l(new i.Error("createPeerConnection failed",1600,e)):n(t)})})}function p(n,l){return new i.RSVP.Promise(function(e,t){n.bindToStream(l,function(n){n?t(new i.Error("bindToStream failed",1600,n)):e()})})}function v(n,l){return new i.RSVP.Promise(function(e,t){n.setLocalDescription(l,e,function(n){t(new i.Error("setLocalDescription failed",1600,n))})})}function g(n,l){return new i.RSVP.Promise(function(e,t){n.setRemoteDescription(l,e,function(n){t(new i.Error("setRemoteDescription failed",1600,n))})})}function _(n){return new i.RSVP.Promise(function(l,e){S(n,function(n,t){n?e(new i.Error("geStats failed",1600,n)):l(t)})})}function b(n){return function(e){e.candidate&&function(n){return-1!==n.candidate.indexOf("relay")}(e.candidate)&&function(n,l){return new i.RSVP.Promise(function(e,t){n.addIceCandidate(new O({sdpMLineIndex:l.sdpMLineIndex,candidate:l.candidate}),e,t)})}(n,e.candidate).catch(function(){o.warn("An error occurred while adding a ICE candidate during webrtc test")})}}function y(n){return 8*(n.videoBytesReceived+n.audioBytesReceived)/(i.now()-n.startTs)*1e3}function E(n,l){return new i.RSVP.Promise(function(t){function o(n){s=!1;var l={packetLostRatio:0<a.packetLostRatioSamplesCount?a.packetLostRatio/=100*a.packetLostRatioSamplesCount:null,roundTripTime:0<a.roundTripTimeSamplesCount?a.roundTripTime/=a.roundTripTimeSamplesCount:null,bandwidth:y(a),extended:n};t(l)}var s=!0,a={startTs:i.now(),packetLostRatioSamplesCount:0,packetLostRatio:0,roundTripTimeSamplesCount:0,roundTripTime:0,videoBytesReceived:0,audioBytesReceived:0};(function u(){i.RSVP.Promise.all([_(n).then(function(n){n.forEach(function(n){if(r.isVideoStat(n)){var l=null;n.hasOwnProperty("googRtt")?l=parseInt(n.googRtt,10):n.hasOwnProperty("mozRtt")&&(l=n.mozRtt),null!==l&&-1<l&&(a.roundTripTimeSamplesCount++,a.roundTripTime+=l)}})}),_(l).then(function(n){n.forEach(function(n){if(r.isVideoStat(n)){if(n.hasOwnProperty("packetsReceived")&&n.hasOwnProperty("packetsLost")){var l=parseInt(n.packetsLost,10),e=parseInt(n.packetsReceived,10);0<=l&&0<e&&(a.packetLostRatioSamplesCount++,a.packetLostRatio+=100*l/e)}n.hasOwnProperty("bytesReceived")&&(a.videoBytesReceived=parseInt(n.bytesReceived,10))}else r.isAudioStat(n)&&n.hasOwnProperty("bytesReceived")&&(a.audioBytesReceived=parseInt(n.bytesReceived,10))})})]).then(function(){setTimeout(function(){s&&u()},1e3)})})(),setTimeout(function(){y(a)<T.thresholdBitsPerSecond?setTimeout(function(){o(!0)},1e3*T.extendedDuration):o(!1)},1e3*T.duration)})}var S=u(),T=n.mediaConfig,w=n.localStream,O=void 0;return O=s.isInstalled()?s.RTCIceCandidate:e.RTCIceCandidate||e.mozRTCIceCandidate,i.RSVP.Promise.all([d(),d()]).then(function(n){function l(){u.destroy(),r.destroy(),e.close(),t.close()}var e=n[0],t=n[1],u=c(),r=c();p(u,w),e.addStream(w);var o=void 0;return t.onaddstream=function(n){o=n.stream,p(r,o)},e.onicecandidate=b(t),t.onicecandidate=b(e),function(n){return new i.RSVP.Promise(function(l,e){n.createOffer(l,e)})}(e).then(function(n){return i.RSVP.Promise.all([v(e,n),g(t,n)])}).then(function(){return n=t,new i.RSVP.Promise(function(l,e){n.createAnswer(l,function(n){e(new i.Error("createAnswer failed",1600,n))})});var n}).then(function(n){return i.RSVP.Promise.all([v(t,n),g(e,n)])}).then(function(){return E(e,t)}).then(function(n){return l(),n},function(n){throw l(),n})})}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../common-js-helpers/OTHelpers.js":200,"../../helpers/create_peer_connection.js":233,"../../helpers/video_element/index.js":264,"../../otplugin/otplugin.js":373,"../logging.js":293,"../peer_connection/get_stats_adapter.js":318,"../peer_connection/get_stats_helpers.js":319}],344:[function(n,l,e){"use strict";l.exports=function(l){l||(l={});
1var e=l.analytics||n("./analytics.js"),t=l.errors||n("./Errors.js"),u=l.ExceptionCodes||n("./exception_codes.js"),r=l.OTHelpers||n("../common-js-helpers/OTHelpers.js"),o=l.otError||n("../helpers/otError.js")(),i=l.sessionObjects||n("./session/objects.js"),s=l.uuid||n("uuid");return function(n){function l(l){l?n&&!f&&(n(o(t.REPORT_ISSUE_FAILED,new Error("Error calling OT.reportIssue(). Check the client's network connection."),u.REPORT_ISSUE_ERROR)),f=!0):c<=++d&&n&&!f&&n(null,a)}var a=s(),c=i.sessions.length(),d=0,f=!1,p={action:"ReportIssue",payload:{reportIssueId:a}};0===c?e.logEvent(p,null,l):i.sessions.forEach(function(n){var t=r.extend({sessionId:n.sessionId,partnerId:n.sessionInfo?n.sessionInfo.partnerId:null,p2p:n.sessionInfo?n.sessionInfo.p2pEnabled:null,messagingServer:n.sessionInfo?n.sessionInfo.messagingServer:null},p);e.logEvent(t,null,l)})}}},{"../common-js-helpers/OTHelpers.js":200,"../helpers/otError.js":255,"./Errors.js":270,"./analytics.js":271,"./exception_codes.js":288,"./session/objects.js":353,uuid:197}],345:[function(n,l,e){(function(e){"use strict";var t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},u=n("uuid");l.exports=function(l){l||(l={});var r=l.global||e,o=l.Errors||n("../Errors.js"),i=l.otError||n("../../helpers/otError.js")(),s=!!r.navigator.webkitGetUserMedia&&!r.navigator.userAgent.match(/android/i)&&void 0!==r.chrome;return{isSupportedInThisBrowser:s,autoRegisters:!1,extensionRequired:!0,getConstraintsShowsPermissionUI:!0,sources:{screen:!0,application:!1,window:!1,browser:!1},register:function(n,l){return 2===l?this.registerVersion2(n):this.registerVersion1(n)},registerVersion1:function(n){if(!n)throw new Error("initChromeScreenSharingExtensionHelper: extensionID is required.");var l=s,e={},a=void 0,c="com.tokbox.screenSharing."+n,d=function(n,l){var e={payload:l,from:"jsapi"};return e[c]=n,e},f=function(n,l){var t=void 0,r=u();return e[r]=function(){clearTimeout(t),t=null,n.apply(void 0,arguments)},l&&(t=setTimeout(function(){delete e[r],n(i(o.TIMEOUT,new Error("Timeout waiting for response to screensharing request.")))},l)),r},p=function(n){if(!n)throw new Error("isAvailable: callback is required.");if(l)if(void 0!==a)setTimeout(n.bind(null,a));else{var e=f(function(l){!0!==a&&(a="extensionLoaded"===l),n(a)},2e3),t=d("isExtensionInstalled",{requestId:e});r.postMessage(t,"*")}else setTimeout(n.bind(null,!1))};return r.addEventListener("message",function(n){if(n.origin===r.location.origin&&null!=n.data&&"object"===t(n.data)&&"extension"===n.data.from){var l=n.data[c],u=n.data.payload;if(u&&u.requestId){var o=e[u.requestId];delete e[u.requestId],o&&o(l,u)}"extensionLoaded"===l&&(a=!0)}}),{extensionAPIVersion:1,extensionID:n,isInstalled:p,getConstraints:function(n,l,e){if(!e)throw new Error("getSourceId: callback is required");p(function(u){if(!u)return e(i(o.SCREEN_SHARING_EXTENSION_NOT_INSTALLED,new Error("Extension is not installed")));var s=f(function(n,u){"object"===(void 0===n?"undefined":t(n))&&n.name&&n.stack?e(n):"permissionDenied"===n?e(i(o.USER_MEDIA_ACCESS_DENIED,new Error("User denied access to screensharing"))):(l.video||(l.video={}),l.video.mandatory||(l.video.mandatory={}),l.video.mandatory.chromeMediaSource="desktop",l.video.mandatory.chromeMediaSourceId=u.sourceId,e(void 0,l))});r.postMessage(d("getSourceId",{requestId:s,source:n}),"*")})}}},registerVersion2:function(n){var l=s&&void 0!==r.chrome.runtime,e=function(e){if(!e)throw new Error("isAvailable: callback is required.");return l?void r.chrome.runtime.sendMessage(n,{type:"isInstalled"},null,function(n){setTimeout(e.bind(null,!!n))}):void setTimeout(e.bind(null,!1))};return{extensionAPIVersion:2,extensionID:n,isInstalled:e,getConstraints:function(l,t,u){if(!u)throw new Error("getSourceId: callback is required");e(function(e){return e?void r.chrome.runtime.sendMessage(n,{type:"getSourceId",source:l},null,function(n){"permissionDenied"===n.error?u(i(o.USER_MEDIA_ACCESS_DENIED,new Error("User denied access to screensharing"))):n.error?u(new Error("UnexpectError: "+n.error)):(t.video||(t.video={}),t.video.mandatory||(t.video.mandatory={}),t.video.mandatory.chromeMediaSource="desktop",t.video.mandatory.chromeMediaSourceId=n.sourceId,u(void 0,t))}):u(i(o.SCREEN_SHARING_EXTENSION_NOT_INSTALLED,new Error("Extension is not installed")))})}}}}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../helpers/otError.js":255,"../Errors.js":270,uuid:197}],346:[function(n,l,e){"use strict";l.exports=function(){var l=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=null;try{e=l.desktopCapturer||n("electron").desktopCapturer}catch(t){}return{isSupportedInThisBrowser:null!==e,autoRegisters:!0,extensionRequired:!1,getConstraintsShowsPermissionUI:!1,sources:{screen:!0,application:!0,window:!0,browser:!0},register:function(){return{isInstalled:function(n){return n(!0)},getConstraints:function(n,l,t){e.getSources({types:[n]},function(l,e){if(!l){var u=e[0];return u?void t(void 0,{audio:!1,video:{mandatory:{chromeMediaSource:n,chromeMediaSourceId:u.id}}}):void t(new Error("Could not find Electron source for screensharing"))}t(l)})}}}}}},{}],347:[function(n,l,e){"use strict";var t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},u=n("../../common-js-helpers/OTHelpers.js");l.exports={isSupportedInThisBrowser:"Firefox"===u.env.name,autoRegisters:!0,extensionRequired:!1,extensionInstalled:!1,getConstraintsShowsPermissionUI:!1,sources:{screen:!0,application:"Firefox"===u.env.name&&34<=u.env.version,window:"Firefox"===u.env.name&&34<=u.env.version,browser:"Firefox"===u.env.name&&38<=u.env.version},register:function(){return{isInstalled:function(n){n("object"===("undefined"==typeof OTScreenSharing?"undefined":t(OTScreenSharing)))},getConstraints:function(n,l,e){l.video={mediaSource:n},l.browserWindow&&(l.video.browserWindow=l.browserWindow,delete l.browserWindow),void 0!==l.scrollWithPage&&(l.video.scrollWithPage=l.scrollWithPage,delete l.scrollWithPage),e(void 0,l)}}}}},{"../../common-js-helpers/OTHelpers.js":200}],348:[function(n,l,e){"use strict";var t=n("../../otplugin/otplugin.js");l.exports={isSupportedInThisBrowser:t.isSupported(),autoRegisters:!0,extensionRequired:!0,getConstraintsShowsPermissionUI:!1,sources:{screen:!0,application:!1,window:!0,browser:!1},register:function(){return{isInstalled:function(n){n(t.isInstalled())},getConstraints:function(n,l,e){l.video.mandatory.chromeMediaSource=n,e(void 0,l)}}}}},{"../../otplugin/otplugin.js":373}],349:[function(n,l,e){"use strict";var t=n("bluebird");l.exports=function(l){l||(l={});var e=l.chromeExtensionHelper||n("./chrome_extension_helper.js")(),u=l.electronExtensionHelper||n("./electron_extension_helper.js")(),r=l.Errors||n("../Errors.js"),o=l.firefoxExtensionHelper||n("./firefox_extension_helper.js"),i=l.ieExtensionHelper||n("./ie_extension_helper.js"),s=l.otError||n("../../helpers/otError.js")(),a=l.OTHelpers||n("../../common-js-helpers/OTHelpers.js"),c={extensionByKind:{},extensionClasses:{},registerExtensionHelper:function(n,l){(c.extensionClasses[n]=l).autoRegisters&&l.isSupportedInThisBrowser&&c.registerExtension(n)},registerExtension:function(n){var l=Array.prototype.slice.call(arguments,1
1);if(null==c.extensionClasses[n])throw new Error("Unsupported kind passed to OT.registerScreenSharingExtension");var e=c.extensionClasses[n].register.apply(c.extensionClasses[n],l);c.extensionByKind[n]=e}},d=function(){var n=a.find(Object.keys(c.extensionClasses),function(n){return c.extensionClasses[n].isSupportedInThisBrowser});return void 0===n?{}:{name:n,proto:c.extensionClasses[n],instance:c.extensionByKind[n]}};return c.pickHelper=function(){return d()},c.checkCapability=function(n){var l={supported:!1,extensionRequired:void 0,extensionRegistered:void 0,extensionInstalled:void 0,supportedSources:{}},e=d();return void 0===e.name?void setTimeout(n.bind(null,l)):(l.supported=!0,l.extensionRequired=e.proto.extensionRequired?e.name:void 0,l.supportedSources={screen:e.proto.sources.screen,application:e.proto.sources.application,window:e.proto.sources.window,browser:e.proto.sources.browser},e.instance?(l.extensionRegistered=!!l.extensionRequired||void 0,void e.instance.isInstalled(function(e){l.extensionInstalled=l.extensionRequired||"Firefox"===a.env.name?e:void 0,n(l)})):(l.extensionRegistered=!1,l.extensionRequired&&(l.extensionInstalled=!1),void setTimeout(n.bind(null,l))))},c.registerExtensionHelper("chrome",e),c.registerExtensionHelper("electron",u),c.registerExtensionHelper("firefox",o),c.registerExtensionHelper("OpenTokPlugin",i),c.getConstraints=function(n){var l=n.onAccessDialogOpened||function(){},e=n.onAccessDialogClosed||function(){},u=n.videoSource,o=n.constraints;return new t.Promise(function(n,t){c.checkCapability(function(i){if(i.supported)if(!1===i.extensionRegistered)t(s(r.SCREEN_SHARING_EXTENSION_NOT_REGISTERED,new Error("Screen Sharing support in this browser requires an extension, but one has not been registered.")));else if(i.extensionRequired&&!1===i.extensionInstalled)t(s(r.SCREEN_SHARING_EXTENSION_NOT_INSTALLED,new Error("Screen Sharing support in this browser requires an extension, but the extension is not installed.")));else{var a=c.pickHelper();a.proto.getConstraintsShowsPermissionUI&&l(),a.instance.getConstraints(u,o,function(l,u){a.proto.getConstraintsShowsPermissionUI&&e(),l?t(l):n(u)})}else t(s(r.SCREEN_SHARING_NOT_SUPPORTED,new Error("Screen Sharing is not supported in this browser")))})})},c}},{"../../common-js-helpers/OTHelpers.js":200,"../../helpers/otError.js":255,"../Errors.js":270,"./chrome_extension_helper.js":345,"./electron_extension_helper.js":346,"./firefox_extension_helper.js":347,"./ie_extension_helper.js":348,bluebird:2}],350:[function(n,l,e){"use strict";var t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},u=n("bluebird"),r=n("lodash.pick");l.exports=function(l){l||(l={});var e=l.adaptIceServers||n("../messaging/raptor/parse_ice_servers.js").adaptIceServers,o=l.analytics||n("../analytics.js"),i=l.APIKEY||n("../api_key.js"),s=l.Capabilities||n("../capabilities.js"),a=l.ConnectivityAttemptPinger||n("../../helpers/connectivity_attempt_pinger.js"),c=l.convertAnvilErrorCode||n("../../helpers/convertAnvilErrorCode.js"),d=l.convertRumorError||n("../../helpers/convertRumorError.js"),f=l.Errors||n("../Errors.js"),p=l.Events||n("../events.js")(),h=l.ExceptionCodes||n("../exception_codes.js"),v=l.hasIceRestartsCapability||n("../../helpers/hasIceRestartsCapability.js"),g=l.httpTest||n("../qos_testing/http_test.js"),m=l.logging||n("../logging.js"),_=l.omit||n("lodash.omit"),b=l.otError||n("../../helpers/otError.js")(),y=l.OTErrorClass||n("../ot_error_class.js"),E=l.OTHelpers||n("../../common-js-helpers/OTHelpers.js"),S=l.OTPlugin||n("../../otplugin/otplugin.js"),T=l.otProperties||n("../../helpers/otProperties.js"),w=l.Publisher||n("../publisher")(),O=l.RaptorSocket||n("../messaging/raptor/raptor_socket.js")(),C=l.SessionDispatcher||n("../messaging/raptor/session_dispatcher.js"),j=l.SessionInfo||n("./info.js"),R=l.sessionObjects||n("./objects.js"),I=l.sessionTag||n("./tag.js"),A=l.socketCloseErrors||n("../messaging/rumor/socket_close_errors.js"),x=l.Subscriber||n("../subscriber")(),N=l.systemRequirements||n("../system_requirements.js"),k=l.uuid||n("uuid"),D=l.webrtcTest||n("../qos_testing/webrtc_test.js"),P=l.initPublisher||n("../publisher/init.js")({Publisher:w});return function(n,l,L){var F=L||{};E.eventing(this),this._tag=I,N.check()||N.upgrade(),null==l&&(l=n,n=null),this.id=this.sessionId=l;var U=void 0,V=void 0,B=void 0,H=void 0,W=void 0,q=void 0,G=void 0,z=!0,K=n,X=this,$=l,Y=k(),J=k(),Q=m,Z=E.statable(this,["disconnected","connecting","connected","disconnecting"],"disconnected");this.connection=null,this.connections=new E.Collection,this.streams=new E.Collection,this.archives=new E.Collection;var nn=function(n){Z("disconnected"),n.code||(n.code=h.CONNECT_FAILED),Q.error((n.name||"Unknown Error")+": "+n.message),this.trigger("sessionConnectFailed",n),y.handleJsException(n.message,n.code||h.CONNECT_FAILED,{session:this})},ln=function(n){var l=n.reason;this.logEvent("Connect","Disconnected",{reason:n.reason});var e=new p.SessionDisconnectEvent("sessionDisconnected",l);fn(),pn.call(this,l);var t=function(){hn.call(this,e.reason),e.isDefaultPrevented()||vn.call(this,e.reason)}.bind(this);this.dispatchEvent(e,t)},en=function(n){F.connectionEventsSuppressed||n.id.match(/^symphony\./)||this.dispatchEvent(new p.C
1onnectionEvent(p.Event.names.CONNECTION_CREATED,n))},tn=function(n,l){n.id.match(/^symphony\./)||n.id!==U.id()&&this.dispatchEvent(new p.ConnectionEvent(p.Event.names.CONNECTION_DESTROYED,n,l))},un=function(n){n.connection.id!==this.connection.id&&this.dispatchEvent(new p.StreamEvent(p.Event.names.STREAM_CREATED,n,null,!1))},rn=function(n){var l=n.target,e=n.changedProperty,t=n.newValue;"videoDisableWarning"!==e&&"audioDisableWarning"!==e&&("videoDimensions"===e&&(t={width:t.width,height:t.height}),this.dispatchEvent(new p.StreamPropertyChangedEvent(p.Event.names.STREAM_PROPERTY_CHANGED,l,e,n.oldValue,t)))},on=function(n,l){if(n.connection.id!==this.connection.id){var e=new p.StreamEvent("streamDestroyed",n,l,!0),t=function(){e.isDefaultPrevented()||R.subscribers.where({streamId:n.id}).forEach(function(n){n.session.id===this.id&&n.stream&&n.destroy("streamDestroyed")},this)}.bind(this);this.dispatchEvent(e,t)}else R.publishers.where({streamId:n.id}).forEach(function(e){e._.unpublishStreamFromSession(n,this,l)},this)},sn=function(n){this.dispatchEvent(new p.ArchiveEvent("archiveStarted",n))},an=function(n){this.dispatchEvent(new p.ArchiveEvent("archiveDestroyed",n))},cn=function(n){var l=n.target,e=n.changedProperty,t=n.newValue;"status"===e&&"stopped"===t?this.dispatchEvent(new p.ArchiveEvent("archiveStopped",l)):this.dispatchEvent(new p.ArchiveEvent("archiveUpdated",l))},dn=function(){X.token=B=null,Z("disconnected"),X.connection=null,X.capabilities=new s([]),X.connections.destroy(),X.streams.destroy(),X.archives.destroy()},fn=function(){J=k(),dn()},pn=function(n){R.publishers.where({session:this}).forEach(function(l){l.disconnect(n)}),R.subscribers.where({session:this}).forEach(function(n){n.disconnect()})},hn=function(n){R.publishers.where({session:this}).forEach(function(l){l._.streamDestroyed(n)})},vn=function(n){R.subscribers.where({session:this}).forEach(function(l){l.destroy(n)})},gn=function(){var l=this;Q.debug("OT.Session: connecting to Raptor");var e=this.sessionInfo.messagingURL,t=T.symphonyAddresss||this.sessionInfo.symphonyAddress;U=new O(J,Y,e,t,C(this,F));var u=r(F,["connectionEventsSuppressed"]);U.connect(B,this.sessionInfo,u,function(e,t){if(e){var u=_(e,["code","message","reason"]),r=void 0;if("ConnectToSession"===e.reason||"GetSessionState"===e.reason){var o=d(e);e.code=o.code,e.message=o.message,l.logEvent("Connect","Failure",null,{failureReason:e.reason,failureCode:e.code,failureMessage:e.message,socketId:e.socketId})}(e.code||e.message||e.reason)&&(r={failureCode:e.code,failureMessage:e.message,failureReason:e.reason}),U=void 0,l.logConnectivityEvent("Failure",u,r);var i=function(n,l){switch(n){case"WebSocketConnection":var e=E.find(Object.keys(A.codes),function(n){return A.codes[n]===l});if(e)return f["SOCKET_"+e];break;case"ConnectToSession":case"GetSessionState":switch(l){case h.CONNECT_FAILED:return f.CONNECT_FAILED;case h.UNEXPECTED_SERVER_RESPONSE:return f.UNEXPECTED_SERVER_RESPONSE;case h.CONNECTION_LIMIT_EXCEEDED:return f.CONNECTION_LIMIT_EXCEEDED}}}(e.reason,e.code);return i&&(e=b(i,new Error(e.message),e.code)),void nn.call(l,e)}Q.debug("OT.Session: Received session state from Raptor",t),l.connection=l.connections.get(U.id()),l.connection&&(l.capabilities=l.connection.permissions),Z("connected"),l.logConnectivityEvent("Success",{connectionId:l.connection.id}),l.connection.on("destroyed",ln,l),l.dispatchEvent(new p.SessionConnectEvent(p.Event.names.SESSION_CONNECTED),function(){l.connections.on({add:en,remove:tn},l),l.streams.on({add:un,remove:on,update:rn},l),l.archives.on({add:sn,remove:an,update:cn},l),l.connections._triggerAddEvents(),l.streams._triggerAddEvents(),l.archives._triggerAddEvents()})})},mn=function(){var e=this;this.is("connecting")&&(this.logEvent("SessionInfo","Attempt"),j.get(l,B,J).then(_n,function(l){var t=function(n){switch(n){case h.ANVIL_BADLY_FORMED_RESPONSE:return f.BADLY_FORMED_RESPONSE;case h.ANVIL_INVALID_HTTP_STATUS:return f.INVALID_HTTP_STATUS;case h.ANVIL_XDOMAIN_OR_PARSING_ERROR:return f.XDOMAIN_OR_PARSING_ERROR;case h.ANVIL_UNKNOWN_HTTP_ERROR:return f.UNKNOWN_HTTP_ERROR;case h.ANVIL_UNEXPECTED_ERROR_CODE:return f.UNEXPECTED_ERROR_CODE;case h.ANVIL_EMPTY_RESPONSE_BODY:return f.EMPTY_RESPONSE_BODY;case h.AUTHENTICATION_ERROR:return f.AUTHENTICATION_ERROR;case h.INVALID_SESSION_ID:return f.INVALID_SESSION_ID;case h.TERMS_OF_SERVICE_FAILURE:return f.TERMS_OF_SERVICE_FAILURE;case h.UNEXPECTED_SERVER_RESPONSE:return f.UNEXPECTED_SERVER_RESPONSE;default:return}}(l.code);
1if(l.code=c(l.code),e.logConnectivityEvent("Failure",null,{failureReason:"GetSessionInfo",failureCode:l.code||"No code",failureMessage:l.message}),t){var u=l.message+(l.code?" ("+l.code+")":"");l=b(t,new Error(u),l.code)}nn.call(e,l)}))},_n=function(n){if(S.hasOwnProperty("settings")&&(S.settings.usePreviousDeviceSelection=n.rememberDeviceChoiceIE),this.is("connecting")){this.sessionInfo=n,this._.setIceServers(this.sessionInfo.iceServers),H=n.p2pEnabled,W=n.messagingServer,this.logEvent("SessionInfo","Success",null,{features:{reconnection:E.castToBoolean(n.reconnection),renegotiation:E.castToBoolean(v()&&n.renegotiation),simulcast:void 0!==n.simulcast&&n.simulcast&&"Chrome"===E.env.name}},{messagingServer:n.messagingServer});var l=T.sessionInfoOverrides;if(null!=l&&"object"===(void 0===l?"undefined":t(l))&&(this.sessionInfo=E.defaults(l,this.sessionInfo)),this.sessionInfo.partnerId&&this.sessionInfo.partnerId!==K){this.apiKey=K=this.sessionInfo.partnerId;var e="Authentication Error: The API key does not match the token or session.";this.logEvent("SessionInfo","Failure",null,{failureCode:h.AUTHENTICATION_ERROR,failureReason:"Authentication",failureMessage:e}),nn.call(this,b(f.AUTHENTICATION_ERROR,new Error(e),h.AUTHENTICATION_ERROR))}else gn.call(this)}}.bind(this),bn=function(n){return this.capabilities.permittedTo(n)}.bind(this),yn=function(n,l){m.error(n.name+": "+n.message),l(n),y.handleJsException(n.message,n.code,{session:X})};this.logEvent=function(n,l,e,t){var u={action:n,variation:l,payload:e,sessionId:$,messagingServer:W,p2p:H,partnerId:K};u.connectionId=J,t&&(u=E.extend(t,u)),o.logEvent(u)},this.testNetwork=function(n,l,e){if(X.logEvent("TestNetwork"),this.isConnected())e(new E.Error("Session connected, cannot test network",1015));else{var t=new u.Promise(function(n,e){var t=l._.webRtcStream();if(t)n(t);else{var u=function(){o(),n(l._.webRtcStream())},r=function(n){n&&(o(),e(n))},o=function(){l.off("publishComplete",r),l.off("accessAllowed",u)};l.on("publishComplete",r),l.on("accessAllowed",u)}}),r=void 0,o=void 0;u.Promise.all([function(n){return new u.Promise(function(l,e){E.getJSON([T.apiURL,"/v2/partner/",K,"/session/",$,"/connection/",J,"/testNetworkConfig"].join(""),{headers:{"X-OPENTOK-AUTH":n}},function(n,t){if(n){var u=JSON.parse(n.target.responseText);e(-1===u.code?new E.Error("Unexpected HTTP error codes "+n.target.status,"2001"):10001===u.code||10002===u.code?new E.Error(u.message,"1004"):new E.Error(u.message,u.code))}else l(t)})})}(n),t]).then(function(n){var l=n[1];return r=n[0],D({mediaConfig:r.media,localStream:l})}).then(function(n){return Q.debug("Received stats from webrtcTest: ",n),n.bandwidth<r.media.thresholdBitsPerSecond?u.Promise.reject(new E.Error("The detect bandwidth from the WebRTC stage of the test was not sufficient to run the HTTP stage of the test",1553)):void(o=n)}).then(function(){if(!o.extended)return g({httpConfig:r.http})}).then(function(n){var l={uploadBitsPerSecond:n?n.uploadBandwidth:o.bandwidth,downloadBitsPerSecond:n?n.downloadBandwidth:o.bandwidth,packetLossRatio:o.packetLostRatio,roundTripTimeMilliseconds:o.roundTripTime};e(null,l)}).catch(function(n){e(n)})}},this.logConnectivityEvent=function(n,l,e){if("Attempt"===n||!V){q=(new Date).getTime();var t={action:"Connect",sessionId:$,p2p:this.sessionInfo?this.sessionInfo.p2pEnabled:null,messagingServer:this.sessionInfo?this.sessionInfo.messagingServer:null,partnerId:K};this.connection&&this.connection.id?t=event.connectionId=this.connection.id:J&&(t.connectionId=J),V=new a(t)}V.setVariation(n),"Failure"!==n&&"Success"!==n&&"Cancel"!==n||(e||(e={}),E.extend(e,{attemptDuration:(new Date).getTime()-q})),this.logEvent("Connect",n,l,e)},this.connect=function(l){1<arguments.length&&("string"==typeof arguments[0]||"number"==typeof arguments[0])&&"string"==typeof arguments[1]&&(null==n&&(K=l.toString()),l=arguments[1]);var e=arguments[arguments.length-1];if(this.is("connecting","connected"))return Q.warn("OT.Session: Cannot connect, the session is already "+this.state),this;if(dn(),Z("connecting"),this.token=B=!E.isFunction(l)&&l,z?z=!1:Y=k(),e&&E.isFunction(e)&&(this.once("sessionConnected",e.bind(null,void 0)),this.once("sessionConnectFailed",e)),null==K||E.isFunction(K))return setTimeout(nn.bind(this,b(f.AUTHENTICATION_ERROR,new Error("API Key is undefined. You must pass an API Key to initSession."),h.AUTHENTICATION_ERROR))),this;if(this.logConnectivityEvent("Attempt"),!$||E.isObject($)||Array.isArray($)){var t=void 0;return $?(t="SessionID is not a string. You must use string as the session ID passed into OT.initSession().",$=$.toString()):t="SessionID is undefined. You must pass a sessionID to initSession.",setTimeout(nn.bind(this,b(f.INVALID_SESSION_ID,new Error(t),h.INVALID_SESSION_ID))),this.logConnectivityEvent("Failure",null,{failureReason:"ConnectToSession",failureCode:h.INVALID_SESSION_ID,failureMessage:t}),this}return this.apiKey=K=K.toString(),0===i.value.length&&(i.value=K),mn.call(this),this};var En=function(n){U&&U.isNot("disconnected")?U.isNot("disconnecting")&&(Z("disconnecting"),U.disconnect(n)):fn()};this.disconnect=function(n){En(void 0===n||n)},this.destroy=function(n){this.streams.destroy(),this.connections.destroy(),this.archives.destroy(),En("unloaded"!==n)},this.publish=function(n,l,e){if("function"==typeof n&&(e=n,n=void 0),"function"==typeof l&&(e=l,l=void 0),e=e||function(){},this.isNot("connected"))return o.logError(1010,"OT.exception","We need to be connected before you can publish",null,{action:"Publish",variation:"Failure",failureReason:"unconnected",failureCode:h.NOT_CONNECTED,failureMessage:"We need to be connected before you can publish",sessionId:$,streamId:n&&n.stream?n.stream.id:null,p2p:this.sessionInfo?this.sessionInfo.p2pEnabled:void 0,messagingServer:this.sessionInfo?this.sessionInfo.messagingServer:null,partnerId:K}),yn(b(f.NOT_CONNECTED,new Error("We need to be connected before you can publish"),h.NOT_CONNECTED),e),null;if(!bn("publish")){var t="This token does not allow publishing. The role must be at least `publisher` to enable this functionality",u={failureReason:"Permission",failureCode:h.UNABLE_TO_PUBLISH,failureMessage:t};return this.logEvent("Publish","Failure",null,u),yn(b(f.PERMISSION_DENIED,new Error(t),h.UNABLE_TO_PUBLISH),e),null}if(!n||"string"==typeof n||E.isElementNode(n))n=P(n,l);else{if(!(n instanceof w))return void yn(b(f.INVALID_PARAMETER,new Error("Session.publish :: First parameter passed in is neither a string nor an instance of the Publisher"),h.UNABLE_TO_PUBLISH),e);"session"in n&&n.session&&"sessionId"in n.session&&(n.session.sessionId===this.sessionId?Q.warn("Cannot publish "+n.guid()+" again to "+this.sessionId+". Please call session.unpublish(publisher) first."):Q.warn("Cannot publish "+n.guid()+" publisher already attached to "+n.session.sessionId+". Please call session.unpublish(publisher) first."))}return n._.publishToSession(this).catch(function(n){throw n.message="Session.publish :: "+n.message,Q.error(n.code,n.message),n}).then(function(){return n}).asCallback(e),n},this.unpublish=function(n){return n?void n._.unpublishFromSession(this,"unpublished"):void Q.error("OT.Session.unpublish: publisher parameter missing.")},this.subscribe=function(n,l,e,t){if("function"==typeof l&&(t=l,e=l=void 0),"function"==typeof e&&(t=e,e=void 0),t=t||function(){},this.connection&&this.connection.connectionId)if(n)if(n.hasOwnProperty("streamId")){if(!e||!1!==e.insertDefaultUI||!l){l&&!1===l.insertDefaultUI&&(e=l,l=void 0);var u=new x(l,E.extend(e||{},{stream:n,session:this}),function(n){return n?void yn(n,t):void t(null,u)});return R.subscribers.add(u),u}yn(b(f.INVALID_PARAMETER,new Error("You cannot specify a target element if insertDefaultUI is false"),h.INVALID_PARAMETER),t)}else yn(b(f.INVALID_PARAMETER,new Error("Session.subscribe :: invali
1d stream object"),h.UNABLE_TO_SUBSCRIBE),t);else yn(b(f.INVALID_PARAMETER,new Error("Session.subscribe :: stream cannot be null"),h.UNABLE_TO_SUBSCRIBE),t);else yn(b(f.NOT_CONNECTED,new Error("Session.subscribe :: Connection required to subscribe"),h.UNABLE_TO_SUBSCRIBE),t)},this.unsubscribe=function(n){if(n)return n.stream?(Q.debug("OT.Session.unsubscribe: subscriber "+n.id),n.destroy(),!0):(Q.warn("OT.Session.unsubscribe:: tried to unsubscribe a subscriber that had no stream"),!1);var l="OT.Session.unsubscribe: subscriber cannot be null";throw Q.error(l),new Error(l)},this.getSubscribersForStream=function(n){return R.subscribers.where({streamId:n.id})},this.getPublisherForStream=function(n){var l=void 0,e=void 0;if("string"==typeof n)l=n;else{if("object"!==(void 0===n?"undefined":t(n))||!n||!n.hasOwnProperty("id"))throw e="Session.getPublisherForStream :: Invalid stream type",Q.error(e),new Error(e);l=n.id}return R.publishers.where({streamId:l})[0]},this._={getSocket:function(){return U},reconnecting:function(){this.dispatchEvent(new p.SessionReconnectingEvent)}.bind(this),reconnected:function(){this.dispatchEvent(new p.SessionReconnectedEvent),this.sessionInfo.renegotiation&&(R.publishers.where({session:this}).forEach(function(n){n._.iceRestart()}),R.subscribers.where({session:this}).forEach(function(n){n._.iceRestart()}))}.bind(this),dispatchSignal:function(n,l,e){var t=new p.SignalEvent(l,e,n);(t.target=this).trigger(p.Event.names.SIGNAL,t),l&&this.dispatchEvent(t)}.bind(this),subscriberChannelUpdate:function(n,l,e,t){return U.subscriberChannelUpdate(n.id,l.widgetId,e.id,t)},streamCreate:function(n,l,e,t,u,r){U.streamCreate(n,l,e,t,u,void 0,r)},streamDestroy:function(n){U.streamDestroy(n)},streamChannelUpdate:function(n,l,e){U.streamChannelUpdate(n.id,l.id,e)},setSocket:function(n){U=n},setLogging:function(n){Q=n},setState:Z,setIceServers:function(n){n&&(G={iceServers:e(n),timestamp:Date.now()})},getIceServers:function(){return 3e5<864e5-(G?Date.now()-G.timestamp:1/0)?u.resolve(G.iceServers):B?j.get(l,B,J).then(function(n){if(X._.setIceServers(n.iceServers),!G)throw new Error("No ice servers provided by getSessionInfo");return G.iceServers}):u.reject(new Error("Don't have a token for getting ice servers"))}},this.signal=function(n,l){var t=n,u=l||function(){};E.isFunction(t)&&(u=t,t=null),this.isNot("connected")?yn(b(f.NOT_CONNECTED,new Error("Unable to send signal - you are not connected to the session."),500),u):(U.signal(t,function(n){if(n){var l=function(n){switch(n){case 400:case 413:return f.INVALID_PARAMETER;case 429:return f.RATE_LIMIT_EXCEEDED;case 404:return f.NOT_FOUND;case 500:return f.NOT_CONNECTED;case 403:return f.PERMISSION_DENIED;case 2001:return f.UNEXPECTED_SERVER_RESPONSE;default:return}}(n.code);return l&&(n=b(l,new Error(n.message),n.code)),void u(n)}u.apply(void 0,arguments)},this.logEvent),n&&n.data&&"string"!=typeof n.data&&Q.warn("Signaling of anything other than Strings is deprecated. Please update the data property to be a string."))},this.forceDisconnect=function(n,l){if(this.isNot("connected"))yn(b(f.NOT_CONNECTED,new Error("Cannot call forceDisconnect(). You are not connected to the session."),h.NOT_CONNECTED),l);else{var t="string"==typeof n?n:n.id,u="Invalid Parameter. Check that you have passed valid parameter values into the method call.";if(t)return bn("forceDisconnect")?void U.forceDisconnect(t,function(n){n?yn(b(f.INVALID_PARAMETER,new Error(u),h.INVALID_PARAMETER),l):l&&E.isFunction(l)&&l.apply(void 0,arguments)}):void yn(b(f.PERMISSION_DENIED,new Error("This token does not allow forceDisconnect. The role must be at least `moderator` to enable this functionality"),h.UNABLE_TO_FORCE_DISCONNECT),l);yn(b(f.INVALID_PARAMETER,new Error(u),h.INVALID_PARAMETER),l)}},this.forceUnpublish=function(n,l){if(this.isNot("connected"))yn(b(f.NOT_CONNECTED,new Error("Cannot call forceUnpublish(). You are not connected to the session."),h.NOT_CONNECTED),l);else if(n){var u="This token does not allow forceUnpublish. The role must be at least `moderator` to enable this functionality";if(bn("forceUnpublish")){var r="string"==typeof n?this.streams.get(n):n;
1U.forceUnpublish(r.id,function(n){n?yn(b(f.PERMISSION_DENIED,new Error(u),h.UNABLE_TO_FORCE_UNPUBLISH),l):l&&E.isFunction(l)&&l.apply(void 0,arguments)})}else yn(b(f.PERMISSION_DENIED,new Error(u),h.UNABLE_TO_FORCE_UNPUBLISH),l)}else yn(b(f.INVALID_PARAMETER,new Error("Invalid Parameter. Check that you have passed valid parameter values into the method call."),h.INVALID_PARAMETER),l)},this.isConnected=function(){return this.is("connected")},this.capabilities=new s([])}}},{"../../common-js-helpers/OTHelpers.js":200,"../../helpers/connectivity_attempt_pinger.js":230,"../../helpers/convertAnvilErrorCode.js":231,"../../helpers/convertRumorError.js":232,"../../helpers/hasIceRestartsCapability.js":247,"../../helpers/otError.js":255,"../../helpers/otProperties.js":256,"../../otplugin/otplugin.js":373,"../Errors.js":270,"../analytics.js":271,"../api_key.js":273,"../capabilities.js":276,"../events.js":287,"../exception_codes.js":288,"../logging.js":293,"../messaging/raptor/parse_ice_servers.js":299,"../messaging/raptor/raptor_socket.js":301,"../messaging/raptor/session_dispatcher.js":303,"../messaging/rumor/socket_close_errors.js":313,"../ot_error_class.js":315,"../publisher":336,"../publisher/init.js":337,"../qos_testing/http_test.js":342,"../qos_testing/webrtc_test.js":343,"../subscriber":361,"../system_requirements.js":363,"./info.js":351,"./objects.js":353,"./tag.js":354,bluebird:2,"lodash.omit":9,"lodash.pick":11,uuid:197}],351:[function(n,l,e){"use strict";var t=n("../anvil.js"),u=n("bluebird"),r=n("../../helpers/convertAnvilErrorCode.js"),o=n("../exception_codes.js"),i=n("../logging.js"),s=[0,600,12
100],a=[o.CONNECT_FAILED,o.UNEXPECTED_SERVER_RESPONSE],c=function(n){i.log("SessionInfo Response:"),i.log(n),this.sessionId=n.session_id,this.partnerId=n.partner_id,this.messagingServer=n.messaging_server_url,this.mediaServerName=n.media_server_hostname,this.messagingURL=n.messaging_url,this.symphonyAddress=n.symphony_address,this.iceServers=n.ice_servers,n.properties?(this.simulcast=n.properties.simulcast,this.reconnection=void 0!==n.properties.reconnection&&n.properties.reconnection,this.renegotiation=void 0!==n.properties.renegotiation&&n.properties.renegotiation,this.p2pEnabled=!(!n.properties.p2p||!n.properties.p2p.preference||"enabled"!==n.properties.p2p.preference.value),this.rememberDeviceChoiceIE=void 0!==n.properties.rememberDeviceChoiceIE&&n.properties.rememberDeviceChoiceIE):this.p2pEnabled=!1};c.get=function(n,l,e){var o=s.slice(),i=function d(u,i,s){return 0===o.length?void s(u):void t.get("session/"+n+"?extended=true",l,e).then(function(n){i(new c(n))},function(n){var l=r(n.code);-1<a.indexOf(l)?setTimeout(function(){d(n,i,s)},o.shift()):s(n)})};return new u.Promise(function(n,l){i(void 0,n,l)})},l.exports=c},{"../../helpers/convertAnvilErrorCode.js":231,"../anvil.js":272,"../exception_codes.js":288,"../logging.js":293,bluebird:2}],352:[function(n,l,e){"use strict";l.exports=function(l){l||(l={});var e=l.Session||n("./index.js")(),t=l.sessionObjects||n("./objects.js");return function(n,l,u){null==l&&(l=n,n=null),Array.isArray(l)&&1===l.length&&(l=l[0]);var r=t.sessions.get(l);return r||(r=new e(n,l,u),t.sessions.add(r)),r}}},{"./index.js":350,"./objects.js":353}],353:[function(n,l,e){"use strict";var t=n("../../common-js-helpers/OTHelpers.js"),u={};u.publishers=new t.Collection("guid"),u.subscribers=new t.Collection("widgetId"),u.sessions=new t.Collection,l.exports=u},{"../../common-js-helpers/OTHelpers.js":200}],354:[function(n,l,e){"use strict";l.exports={}},{}],355:[function(n,l,e){"use strict";var t=n("./logging.js"),u=n("../common-js-helpers/OTHelpers.js"),r=n("./session/objects.js"),o=n("./events.js")(),i=["name","archiving"];l.exports=function(n,l,e,s,a,c){var d=this,f=void 0;this.id=this.streamId=n,this.name=l,this.creationTime=Number(e),this.connection=s,this.channel=c,this.publisher=r.publishers.find({streamId:this.id}),u.eventing(this);var p=function(n,l,e,t){var u=l;switch(u){case"active":u="audio"===n.type?"hasAudio":"hasVideo",d[u]=t;break;case"disableWarning":if(u="audio"===n.type?"audioDisableWarning":"videoDisableWarning",d[u]=t,!d["audio"===n.type?"hasAudio":"hasVideo"])return;break;case"fitMode":d[u="defaultFitMode"]=t;break;case"source":u="audio"===n.type?"audioType":"videoType",d[u]=t;break;case"videoDimensions":d.videoDimensions=t;break;case"orientation":case"width":case"height":return}d.dispatchEvent(new o.StreamUpdatedEvent(d,u,e,t))},h=function(){return d.publisher?d.publisher:r.subscribers.find(function(n){return n.stream&&n.stream.id===d.id&&n.session.id===a.id})},v=function(){return!d.publisher};this.getChannelsOfType=function(n){return d.channel.filter(function(l){return l.type===n})},this.getChannel=function(n){for(var l=0;l<d.channel.length;++l)if(d.channel[l].id===n)return d.channel[l];return null};var g=this.getChannelsOfType("audio")[0],m=this.getChannelsOfType("video")[0];this.hasAudio=null!=g&&g.active,this.hasVideo=null!=m&&m.active,this.videoType=m&&m.source,this.defaultFitMode=m&&m.fitMode,this.videoDimensions={},m&&(this.videoDimensions.width=m.width,this.videoDimensions.height=m.height,this.videoDimensions.orientation=m.orientation,m.on("update",p),this.frameRate=m.frameRate),g&&g.on("update",p),this.setChannelActiveState=function(n,l,e){var t={active:l};e&&(t.activeReason=e),_(n,t)},this.setVideoDimensions=function(n,l){_("video",{width:n,height:l,orientation:0})},this.setRestrictFrameRate=function(n){_("video",{restrictFrameRate:n})},this.setPreferredResolution=function(n){if(v()){if(a.sessionInfo.p2pEnabled)t.warn("Stream.setPreferredResolution will not work in a P2P Session");else if(!n||void 0!==n.width||void 0!==n.height){var l=d.getChannelsOfType("video")[0];if(l){if(n&&n.width){if(isNaN(parseInt(n.width,10)))throw new u.Error("stream preferred width must be an integer","Subscriber");l.preferredWidth=parseInt(n.width,10)}else l.preferredWidth=void 0;if(n&&n.height){if(isNaN(parseInt(n.height,10)))throw new u.Error("stream preferred height must be an integer","Subscriber");l.preferredHeight=parseInt(n.height,10)}else l.preferredHeight=void 0;a._.subscriberChannelUpdate(d,h(),l,{preferredWidth:l.preferredWidth||0,preferredHeight:l.preferredHeight||0})}}}else t.warn("setPreferredResolution has no affect when called by a publisher")},this.getPreferredResolution=function(){var n=d.getChannelsOfType("video")[0];if(n&&(n.preferredWidth||n.preferredHeight))return{width:n.preferredWidth,height:n.preferredHeight}},this.setPreferredFrameRate=function(n){if(v())if(a.sessionInfo.p2pEnabled)t.warn("Stream.setPreferredFrameRate will not work in a P2P Session");else{if(n&&isNaN(parseFloat(n)))throw new u.Error("stream preferred frameRate must be a number","Subscriber");var l=d.getChannelsOfType("video")[0];l&&(l.preferredFrameRate=n?parseFloat(n):void 0,a._.subscriberChannelUpdate(d,h(),l,{preferredFrameRate:l.preferredFrameRate||0}))}else t.warn("setPreferredFrameRate has no affect when called by a publisher")},this.getPreferredFrameRate=function(){var n=d.getChannelsOfType("video")[0];return n?n.preferredFrameRate:void 0};var _=function(n,l){var e=void 0;if(d.publisher)e=function(n){a._.streamChannelUpdate(d,n,l)};else{var t=h();e=function(n){a._.subscriberChannelUpdate(d,t,n,l)}}
1d.getChannelsOfType(n).forEach(e)};this.destroyed=!1,this.destroyedReason=void 0,this.destroy=function(n,l){f=n||"clientDisconnected",d.destroyed=!0,d.destroyedReason=f,!0!==l&&d.dispatchEvent(new o.DestroyedEvent("destroyed",d,f))},this._={},this._.updateProperty=function(n,l){if(-1!==i.indexOf(n)){var e=d[n],u=l;switch(n){case"name":d[n]=u;break;case"archiving":var r=h();d.publisher&&r&&r._.archivingStatus(u),d[n]=u}var s=new o.StreamUpdatedEvent(d,n,e,u);d.dispatchEvent(s)}else t.warn('Unknown stream property "'+n+'" was modified to "'+l+'".')},this._.update=function(n){for(var l in n)n.hasOwnProperty(l)&&d._.updateProperty(l,n[l])},this._.updateChannel=function(n,l){d.getChannel(n).update(l)}}},{"../common-js-helpers/OTHelpers.js":200,"./events.js":287,"./logging.js":293,"./session/objects.js":353}],356:[function(n,l,e){"use strict";var t=n("../common-js-helpers/OTHelpers.js"),u=n("./logging.js"),r=n("../helpers/video_orientation.js")();l.exports=function(n){this.id=n.id,this.type=n.type,this.active=t.castToBoolean(n.active),this.orientation=n.orientation||r.ROTATED_NORMAL,n.frameRate&&(this.frameRate=parseFloat(n.frameRate)),n.preferredFrameRate&&(this.preferredFrameRate=parseFloat(n.preferredFrameRate)),n.preferredWidth&&(this.preferredWidth=parseInt(n.preferredWidth,10)),n.preferredHeight&&(this.preferredHeight=parseInt(n.preferredHeight,10)),this.width=parseInt(n.width,10),this.height=parseInt(n.height,10),this.source=n.source||"camera",this.fitMode=n.fitMode||"cover",t.eventing(this,!0),this.update=function(n){var l={},e={};for(var r in n)if(n.hasOwnProperty(r)){var o=this[r];switch(r){case"active":this.active=t.castToBoolean(n[r]);break;case"disableWarning":this.disableWarning=t.castToBoolean(n[r]);break;case"frameRate":this.frameRate=parseFloat(n[r],10);break;case"width":case"height":this[r]=parseInt(n[r],10),l[r]=this[r],e[r]=o;break;case"orientation":this[r]=n[r],l[r]=this[r],e[r]=o;break;case"fitMode":case"source":this[r]=n[r];break;default:return u.warn("Tried to update unknown key "+r+" on "+this.type+" channel "+this.id),!1}this.trigger("update",this,r,o,this[r])}return Object.keys(l).length&&this.trigger("update",this,"videoDimensions",e,l),!0}}},{"../common-js-helpers/OTHelpers.js":200,"../helpers/video_orientation.js":267,"./logging.js":293}],357:[function(n,l,e){"use strict";l.exports=function(n){return"http:"!==n.substr(0,5)&&"https:"!==n.substr(0,6)&&"data:image/png;base64,"!==n.substr(0,22)?"data:image/png;base64,"+n:n}},{}],358:[function(n,l,e){"use strict";var t=n("./fix_background_image_uri.js"),u=n("../logging.js"),r=n("./style.js"),o=n("./style_hash_log_filter.js");l.exports=function(n,l,e,i){if(!n.trigger)throw new Error("OT.StylableComponent is dependent on the mixin OTHelpers.eventing. Ensure that this is included in the object before StylableComponent.");i=i||function(){};var s=!1;!1===e&&(l={buttonDisplayMode:"off",nameDisplayMode:"off",audioLevelDisplayMode:"off",videoDisabledDisplayMode:"off"},i({showControls:!(s=!0)}));var c=new r(l,function(l,e,t){t?n.trigger("styleValueChanged",l,e,t):n.trigger("styleValueChanged",l,e)});n.getStyle=function(n){return c.get(n)},n.setStyle=function(n,l,e){if(s)return u.warn("Calling setStyle() has no effect because theshowControls option was set to false"),this;var r=void 0;return"string"!=typeof n?r=n:(r={})[n]=l,r.backgroundImageURI&&(r.backgroundImageURI=t(r.backgroundImageURI)),c.setAll(r,e),i(o(r)),this}}},{"../logging.js":293,"./fix_background_image_uri.js":357,"./style.js":359,"./style_hash_log_filter.js":360}],359:[function(n,l,e){"use strict";var t=n("lodash.clonedeep"),u=n("../logging.js");l.exports=function(n,l){var e=this,r={},o={buttonDisplayMode:["auto","mini","mini-auto","off","on"],nameDisplayMode:["auto","off","on"],audioLevelDisplayMode:["auto","off","on"],showSettingsButton:[!0,!1],showSpeakerButton:null,showMicButton:[!0,!1],backgroundImageURI:null,showControlBar:[!0,!1],showArchiveStatus:[!0,!1],archiveStatusDisplayMode:["auto","off","on"],videoDisabledDisplayMode:["auto","off","on"]},i=function(n,l){var e=o[n];return void 0!==e&&(null===e||-1!==e.indexOf(l))};e.getAll=function(){return t(r)},e.get=function(n){return n?r[n]:e.getAll()}
1,e.setAll=function(n,l){return Object.keys(n).forEach(function(t){e.set(t,n[t],l)}),e},e.set=function(n,t,o){u.debug("setStyle: "+n.toString());var a=void 0,c=function(n){switch(n){case"true":return!0;case"false":return!1;default:return n}}(t);return i(n,c)?c!==(a=r[n])&&(r[n]=c,o||l(n,t,a)):u.warn("Style.set::Invalid style property passed "+n+" : "+c),e},n&&e.setAll(n,!0)}},{"../logging.js":293,"lodash.clonedeep":6}],360:[function(n,l,e){"use strict";var t=n("lodash.clonedeep");l.exports=function(n){var l=t(n);if(l.backgroundImageURI){var e=l.backgroundImageURI.split(":")[0];l.backgroundImageURI=-1!==["http","https","data"].indexOf(e)?e:"other"}return l}},{"lodash.clonedeep":6}],361:[function(n,l,e){(function(e){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},o=n("bluebird"),i=n("uuid"),s=n("events");l.exports=function(l){l||(l={});var c=l.analytics||n("../analytics.js"),d=l.audioContext||n("../../helpers/audio_context.js")(),f=l.AudioLevelMeter||n("../chrome/audio_level_meter.js"),p=l.AudioLevelTransformer||n("../audio_level_transformer"),h=l.BackingBar||n("../chrome/backing_bar.js"),v=l.Chrome||n("../chrome/chrome.js"),g=l.ConnectivityAttemptPinger||n("../../helpers/connectivity_attempt_pinger.js"),m=l.env||n("../../common-js-helpers/env.js"),_=l.Errors||n("../Errors.js"),b=l.Events||n("../events.js")(),y=l.ExceptionCodes||n("../exception_codes.js"),E=l.GetstatsAudioOutputLevelSampler||n("../../helpers/audio_level_samplers/getstats_audio_output_level_sampler"),S=l.getStatsHelpers||n("../peer_connection/get_stats_helpers.js"),T=l.hasAudioOutputLevelStatCapability||n("../../helpers/hasAudioOutputLevelStatCapability.js"),w=l.hasRemoteStreamsWithWebAudio||n("../../helpers/hasRemoteStreamsWithWebAudio.js"),O=l.interpretPeerConnectionError||n("../interpretPeerConnectionError.js")(),C=l.IntervalRunner||n("../interval_runner.js")(),j=l.logging||n("../logging.js"),R=l.Message||n("../messaging/raptor/message.js"),I=l.MuteButton||n("../chrome/mute_button.js")(),A=l.NamePanel||n("../chrome/name_panel.js"),x=l.otError||n("../../helpers/otError.js")(),N=l.OTErrorClass||n("../ot_error_class.js"),k=l.OTHelpers||n("../../common-js-helpers/OTHelpers.js"),D=l.otProperties||n("../../helpers/otProperties.js"),P=l.StylableComponent||n("../styling/stylable_component.js"),L=l.SubscriberPeerConnection||n("../peer_connection/subscriber_peer_connection.js"),M=l.SubscribingState||n("./state.js"),F=l.VideoDisabledIndicator||n("../chrome/video_disabled_indicator.js"),U=l.WebaudioAudioLevelSampler||n("../../helpers/audio_level_samplers/webaudio_audio_level_sampler"),V=l.WidgetView||n("../../helpers/widget_view.js")(),W=function q(n,l,T){function L(n){G&&G.setAudioVolume(n),z&&z.muteButton.muted(0===n)}var en,V=this,W=void 0,G=void 0,z=void 0,K=void 0,X=void 0,$=void 0,Y=void 0,J=void 0,Q=void 0,Z=void 0,nn=void 0,ln=void 0,tn=void 0,un=void 0,rn=void 0,on=void 0,sn=void 0,an=void 0,cn=!1,dn=i(),fn=n||dn,pn=l.session,hn=l.stream,vn=void 0,gn=void 0,mn=q.hasAudioOutputLevelStatCapability()||w(),_n=!1,bn=b.Event.names.SUBSCRIBER_DISCONNECTED,yn=this,En={},Sn=null,Tn=!1,wn={};wn.promise=new o.Promise(function(n,l){wn.resolve=n,wn.reject=l});var On=new s,Cn=k.defaults({},l,{showControls:!0,testNetwork:!1,fitMode:hn.defaultFitMode||"cover",insertDefaultUI:!0});if(Cn.testNetwork&&pn.sessionInfo.p2pEnabled&&j.warn("You cannot test your network with a relayed session. Use a routed session."),"function"!=typeof T&&(T=function(){}),this.id=fn,this.widgetId=dn,this.session=pn,this.stream=hn=Cn.stream,this.streamId=hn.id,!pn)return N.handleJsException("OT.Subscriber must be passed a session option",2e3,{session:pn,target:this}),null;k.eventing(this,!1),yn.once("subscribeComplete",T),mn&&this.on({"audioLevelUpdated:added":function(n){1===n&&ln&&ln.start()},"audioLevelUpdated:removed":function(n){0===n&&ln&&ln.stop()}});var Rn=function(n,l,e,t,u){var r=k.extend({action:n,variation:l,payload:e,streamId:hn?hn.id:null,
1sessionId:pn?pn.sessionId:null,connectionId:pn&&pn.isConnected()?pn.connection.connectionId:null,partnerId:pn&&pn.sessionInfo?pn.sessionInfo.partnerId:null,subscriberId:dn},t);("Failure"===l||"iceconnectionstatechange"===l&&"closed"===e)&&(r=k.extend(r,En));var o=[r];u&&o.push(u),c.logEvent.apply(c,o)},In=function(n,l,e){"Attempt"!==n&&on||(rn=(new Date).getTime(),on=new g({action:"Subscribe",sessionId:pn?pn.sessionId:null,connectionId:pn&&pn.isConnected()?pn.connection.connectionId:null,partnerId:pn.isConnected()?pn.sessionInfo.partnerId:null,p2p:pn&&pn.sessionInfo.p2pEnabled,messagingServer:pn&&pn.sessionInfo.messagingServer,subscriberId:dn,streamId:hn?hn.id:null})),on.setVariation(n),"Failure"!==n&&"Success"!==n&&"Cancel"!==n||(e||(e={}),k.extend(e,{attemptDuration:(new Date).getTime()-rn})),Rn("Subscribe",n,l,e)},An=function(n,l){Rn("ICERestart",n,l)},xn=function(n){var l=void 0;W&&W.domElement?l=W.domElement:W&&W.video()&&W.video().domElement()&&(l=W.video().domElement());var e={widgetType:"Subscriber",width:l?Number(k.width(l).replace("px","")):null,height:l?Number(k.height(l).replace("px","")):null,audioTrack:tn&&0<tn.getAudioTracks().length,hasAudio:hn&&hn.hasAudio,subscribeToAudio:an,audioVolume:this.getAudioVolume(),videoTrack:tn&&0<tn.getVideoTracks().length,hasVideo:hn&&hn.hasVideo,subscribeToVideo:Cn.subscribeToVideo,sessionId:pn?pn.sessionId:null,connectionId:pn?pn.connection.connectionId:null,mediaServerName:pn?pn.sessionInfo.mediaServerName:null,p2p:!!pn&&pn.sessionInfo.p2pEnabled,messagingServer:pn?pn.sessionInfo.messagingServer:null,apiServer:D.apiURL,congestionLevel:Sn,partnerId:pn?pn.apiKey:null,streamId:hn.id,subscriberId:dn,version:D.version,duration:Math.round((k.now()-J)/1e3),remoteConnectionId:hn.connection.connectionId},t=k.extend(e,n);c.logQOS(t),this.trigger("qos",t)}.bind(this),kn=function(){if(!Z.isSubscribing()&&G){cn=!0,Tn||(Tn=!0),j.debug("OT.Subscriber.onLoaded"),Z.set("Subscribing"),J=k.now();var n={pcc:parseInt(J-Q,10),hasRelayCandidates:Y&&Y.hasRelayCandidates()};Rn("createPeerConnection","Success",n),W.loading(!1),z&&z.showAfterLoading(),_n&&hn.setRestrictFrameRate(!0),X&&X.audioOnly(W.audioOnly()),In("Success",{}),V.trigger("subscribeComplete",null,V),V.trigger("loaded",V)}},Pn=function(n){n.message="OT.Subscriber while playing stream: "+n.message,j.error("OT.Subscriber.onVideoError"),In("Failure",null,{failureReason:"VideoElement",failureMessage:n.message,failureCode:n.code||y.P2P_CONNECTION_FAILED}),Z.set("Failed"),Z.isAttemptingToSubscribe()?yn.trigger("subscribeComplete",n):yn.trigger("error",n.message),N.handleJsException(n.message,y.UNABLE_TO_PUBLISH,{session:self.session,target:self})},Ln=function(n,l,e,t){if("ICEWorkflow"===t&&pn.sessionInfo.reconnection&&cn)j.debug("Ignoring peer connection failure due to possibility of reconnection.");else{var u,r={failureReason:t||"PeerConnectionError",failureMessage:"OT.Subscriber PeerConnection Error: "+l,failureCode:u="ICEWorkflow"===t?y.SUBSCRIBER_ICE_WORKFLOW_FAILED:n===y.STREAM_LIMIT_EXCEEDED?n:y.P2P_CONNECTION_FAILED};if(Z.isAttemptingToSubscribe()){var o={hasRelayCandidates:Y&&Y.hasRelayCandidates()};Rn("createPeerConnection","Failure",o,r),Z.set("Failed");var i=O(n,l,t,"(not found)","Subscriber");V.trigger("subscribeComplete",i,V),In("Failure",null,r)}else Z.isSubscribing()&&(Z.set("Failed"),V.trigger("error",l),In("Disconnect",null,r));V.disconnect(),404===Number(n)&&V.destroy(),N.handleJsException("OT.Subscriber PeerConnection Error: "+l,u,{session:pn,target:V}),Xn.call(V,n)}},Mn=function(n){tn=n,j.debug("OT.Subscriber.onRemoteStreamAdded"),Z.set("BindingRemoteStream"),this.subscribeToAudio(an,!1),un="loading",this.subscribeToVideo(Cn.subscribeToVideo,"loading"),pn.sessionInfo.p2pEnabled||(this.setPreferredResolution(Cn.preferredResolution),this.setPreferredFrameRate(Cn.preferredFrameRate));var l={error:Pn,audioVolume:vn};n.getVideoTracks().forEach(function(n){e.webkitMediaStream?n.enabled=!1:n.enabled=hn.hasVideo&&Cn.subscribeToVideo});var t=new o.Promise(function(t,u){G=W.bindVideo(n,l,function(l){return l?(Pn(l),void u(l)):(e.webkitMediaStream&&n.getVideoTracks().forEac
1h(function(n){n.enabled=hn.hasVideo&&Cn.subscribeToVideo}),G&&G.orientation({width:hn.videoDimensions.width,height:hn.videoDimensions.height,videoOrientation:hn.videoDimensions.orientation}),void t())})}),u=new o.Promise(function(n,l){return G&&G.domElement()?void n():(W.once("videoElementCreated",n),void yn.once("destroyed",l))});o.all([t,u,wn.promise]).then(kn),nn&&"webRTCStream"in nn&&0<n.getAudioTracks().length&&nn.webRTCStream(n),Rn("createPeerConnection","StreamAdded"),this.trigger("streamAdded",this),On.emit("__sync__streamAdded",this)},Un={new:b.Event.names.SUBSCRIBER_DISCONNECTED,checking:b.Event.names.SUBSCRIBER_DISCONNECTED,connected:b.Event.names.SUBSCRIBER_CONNECTED,completed:b.Event.names.SUBSCRIBER_CONNECTED,disconnected:b.Event.names.SUBSCRIBER_DISCONNECTED};K={get:function(){return 0<hn.getChannelsOfType("audio").length?yn.getStyle("buttonDisplayMode"):"off"},update:function(){var n=K.get();z&&(z.muteButton.setDisplayMode(n),z.backingBar.setMuteMode(n))}};var Xn=function(n){var l=void 0,e=void 0;W&&(e=n===y.STREAM_LIMIT_EXCEEDED?(l="The stream was unable to connect.","The limit for the number of media streams has been reached."):(l="The stream was unable to connect due to a network error.",Tn?"Ensure you have a stable connection and try again.":"Make sure you have a stable network connection and that it isn't blocked by a firewall."),W.addError(l,e))};P(this,{nameDisplayMode:"auto",buttonDisplayMode:"auto",audioLevelDisplayMode:"auto",videoDisabledDisplayMode:"auto",backgroundImageURI:null,showArchiveStatus:!0,showMicButton:!0},Cn.showControls,function(n){Rn("SetStyle","Subscriber",n,null,.1)});var $n=function(n){Y&&Y.subscribeToVideo(!n),W&&(W.audioOnly(n),W.showPoster(n)),X&&X.audioOnly(n)},Yn=function(){var n=0;return function(){0===n&&Rn("GetStats","Called"),n++}}();this.destroy=function(n,l){if(Z.isDestroyed())return this;if(Z.isAttemptingToSubscribe()){var e={reason:n||"destroy"};"streamDestroyed"===n?this.trigger("subscribeComplete",x(_.STREAM_DESTROYED,new Error("Stream was destroyed before it could be subscribed to")),this):on.stop(),In("Cancel",e)}return Z.set("Destroyed"),ln&&ln.stop(),En={sessionId:pn.sessionId,connectionId:pn&&pn.isConnected()?pn.connection.connectionId:null,partnerId:pn&&pn.sessionInfo?pn.sessionInfo.partnerId:null,streamId:hn&&!hn.destroyed?hn.id:null},this.disconnect(),z&&(z.destroy(),z=null),W&&(W.destroy(),W=null,this.element=null),hn&&!hn.destroyed&&Rn("unsubscribe",null,{streamId:hn.id}),hn.off(sn,this),this.id=fn=null,this.stream=hn=null,this.streamId=null,this.session=pn=null,!(Cn=null)!==l&&this.dispatchEvent(new b.DestroyedEvent(b.Event.names.SUBSCRIBER_DESTROYED,this,n),this.off.bind(this)),this},this.disconnect=function(){Z.isDestroyed()||Z.isFailed()||Z.set("NotSubscribing"),G&&(G.destroy(),G=null),Y&&(Y.destroy(),Y=null,Rn("disconnect","PeerConnection",{streamId:hn.id}))},this.processMessage=function(n,l,e){j.debug("OT.Subscriber.processMessage: Received "+n+" message from "+l),j.debug(e),$!==l&&($=l),Y&&Y.processMessage(n,e)},this.disableVideo=function(n){if(n){if("auto"!==un)return void j.info("Video was not re-enabled because it was manually disabled");j.info("Video has been re-enabled"),z&&z.videoDisabledIndicator.disableVideo(!1)}else j.warn("Due to high packet loss and low bandwidth, video has been disabled");this.subscribeToVideo(n,"auto"),!n&&z&&z.videoDisabledIndicator.disableVideo(!0),Rn("updateQuality","video",n?{videoEnabled:!0}:{videoDisabled:!0})},this.getImgData=function(){return this.isSubscribing()?G.imgData():(j.error("OT.Subscriber.getImgData: Cannot getImgData before the Subscriber is subscribing."),null)},this.getStats=function(n){return Y?(Yn(),void Y.getStats(function(l,e){if(l)return 1015===l.code&&(l=x(_.NOT_CONNECTED,l,1015)),void n(l);var t={timestamp:0};e.forEach(function(n){if(S.isInboundStat(n)){var l=S.isVideoStat(n),e=S.isAudioStat(n);(e||l)&&(t.timestamp=S.normalizeTimestamp(n.timestamp)),l?t.video=S.parseStatCategory(n):e&&(t.audio=S.parseStatCategory(n))}}),n(null,t)})):void n(x(_.NOT_CONNECTED,new Error("OT.Subscriber is not connected cannot getStats"),1015))},this.setAudioVolume=function(n){var l=function(n){return Math.max(0,Math.min(100,parseInt(n,10)))}(n);return isNaN(l)?j.error("OT.Subscriber.setAudioVolume: value should be an integer between 0 and 100"):(l!==n&&j.warn("OT.Subscriber.setAudioVolume: value should be an integer between 0 and 100"),l===vn?L(vn):(gn=vn,L(vn=l),0<vn&&!an&&this.subscribeToAudio(!0))),this},this.getAudioVolume=function(){return G?G.getAudioVolume():vn},this.subscribeToAudio=function(n){var l=k.castToBoolean(n,!0);return l!==an&&(0===this.getAudioVolume()&&l&&this.setAudioVolume(gn),0<this.getAudioVolume()&&!l&&this.setAudioVolume(0)),Y&&(Y.subscribeToAudio(l),hn&&hn.setChannelActiveState("audio",l)),an=l,this};var Jn={auto:"quality",publishVideo:"publishVideo",subscribeToVideo:"subscribeToVideo"};if(this.subscribeToVideo=function(n,l){var e=k.castToBoolean(n,!0);return $n(!(e&&hn.hasVideo)),e&&!Cn.subscribeToVideo&&W&&W.video()&&hn.hasVideo&&(W.loading(e),W.video().whenTimeIncrements(function(){W.loading(!1)},this)),z&&z.videoDisabledIndicator&&z.videoDisabledIndicator.disableVideo(!1),Y&&pn&&hn&&(e!==Cn.subscribeToVideo||l!==un)&&hn.setChannelActiveState("video",e,l),Cn.subscribeToVideo=e,"loading"!==(un=l)&&(this.dispatchEvent(new b.VideoEnabledChangedEvent(e?"videoEnabled":"videoDisabled",{reason:Jn[l]||"subscribeToVideo"})),"videoDisabled"===e&&"auto"===l&&(Sn=2)),this},this.setPreferredResolution=function(n){if(!Z.isDestroyed()&&Y)if(Cn.preferredResolution=n,pn.sessionInfo.p2pEnabled)j.warn("OT.Subscriber.setPreferredResolution will not work in a P2P Session");else{var l=hn.getPreferredResolution();l&&n&&l.width===n.width&&l.height===n.height||!l&&!n||hn.setPreferredResolution(n)}else j.warn("Cannot set the max Resolution when not subscribing to a publisher")},this.setPreferredFrameRate=function(n){return Z.isDestroyed()||!Y?void j.warn("Cannot set the max frameRate when not subscribing to a publisher"):(Cn.preferredFrameRate=n,pn.sessionInfo.p2pEnabled?void j.warn("OT.Subscriber.setPreferredFrameRate will not work in a P2P Session"):void(hn.getPreferredFrameRate()!==n&&hn.setPreferredFrameRate(n)))},this.isSubscribing=function(){return Z.isSubscribing()},this.isWebRTC=!0,this.isLoading=function(){return W&&W.loading()},this.videoElement=function(){return G.domElement()},this.videoWidth=function(){return G.videoWidth()},this.videoHeight=function(){return G.videoHeight()},this.restrictFrameRate=function(n){return j.debug("OT.Subscriber.restrictFrameRate("+n+")"),Rn("restrictFrameRate",n.toString(),{streamId:hn.id}),pn.sessionInfo.p2pEnabled&&j.warn("OT.Subscriber.restrictFrameRate: Cannot restrictFrameRate on a P2P session"),"boolean"!=typeof n?j.error("OT.Subscriber.restrictFrameRate: expected a boolean value got a "+(void 0===n?"undefined":r(n))):(_n=n,hn.setRestrictFrameRate(n)),this},this.on("styleValueChanged",function(n,l){if(z)switch(n){case"nameDisplayMode":z.name.setDisplayMode(l),z.backingBar.setNameMode(l);break;case"videoDisabledDisplayMode":z.videoDisabledIndicator.setDisplayMode(l);break;
1case"showArchiveStatus":z.archive.setShowArchiveStatus(l);break;case"buttonDisplayMode":K.update();break;case"audioLevelDisplayMode":z.audioLevel.setDisplayMode(l);break;case"bugDisplayMode":break;case"backgroundImageURI":W.setBackgroundImageURI(l)}},this),this._={getDataChannel:function(n,l,e){return Y?void Y.getDataChannel(n,l,e):void e(new k.Error("Cannot create a DataChannel before there is a publisher connection."))},iceRestart:function(n){Y?n||!Y.iceConnectionStateIsConnected()?(An("Attempt"),Y.createOfferWithIceRestart()):j.debug("Subscriber: Skipping ice restart, we are connected."):j.debug("Subscriber: Skipping ice restart, we have no peer connection")},syncEventEmitter:On,webRtcStream:function(){return tn}},Z=new M(function(n){j.error("OT.Subscriber State Change Failed: ",n.message),j.debug(n)}),j.debug("OT.Subscriber: subscribe to "+hn.id),Z.set("Init"),!hn)return j.error("OT.Subscriber: No stream parameter."),!1;if(sn={updated:function(n){switch(n.changedProperty){case"videoDimensions":if(!G)break;G.orientation({width:n.newValue.width,height:n.newValue.height,videoOrientation:n.newValue.orientation}),this.dispatchEvent(new b.VideoDimensionsChangedEvent(this,n.oldValue,n.newValue));break;case"videoDisableWarning":z&&z.videoDisabledIndicator.setWarning(n.newValue),this.dispatchEvent(new b.VideoDisableWarningEvent(n.newValue?"videoDisableWarning":"videoDisableWarningLifted")),Sn="videoDisableWarning"===n.newValue?1:null;break;case"hasVideo":$n(!(hn.hasVideo&&Cn.subscribeToVideo)),this.dispatchEvent(new b.VideoEnabledChangedEvent(hn.hasVideo?"videoEnabled":"videoDisabled",{reason:"publishVideo"}));break;case"hasAudio":K.update()}},destroyed:function(){this.disconnect()}},hn.on(sn,this),$=hn.connection.id,Cn.name=Cn.name||hn.name,Cn.classNames="OT_root OT_subscriber",Cn.style&&this.setStyle(Cn.style,null,!0),Cn.subscribeToVideo=k.castToBoolean(Cn.subscribeToVideo,!0),this.subscribeToAudio(k.castToBoolean(Cn.subscribeToAudio,!0)),this.setAudioVolume(function(n){return void 0!==n.audioVolume?n.audioVolume:!1===n.subscribeToAudio?0:100}(Cn)),gn=100,W=new q.WidgetView(n,Cn),this.id=fn=W.domId(),this.element=W.domElement,W.on("videoElementCreated",function(n){var l=new b.VideoElementCreatedEvent(n),e=V;cn?V.dispatchEvent(l):V.once("loaded",function(){e.dispatchEvent(l)})}),this.element&&function(){var n={backingBar:new h({nameMode:Cn.name?this.getStyle("nameDisplayMode"):"off",muteMode:K.get()}),name:new A({name:Cn.name,mode:this.getStyle("nameDisplayMode")}),muteButton:new I({muted:0===vn,mode:K.get()})};if(mn){var l=new p,e=function(n){X.setValue(l.transform(n.audioLevel))};(X=new f({mode:yn.getStyle("audioLevelDisplayMode")})).watchVisibilityChanged(function(n){n?yn.on("audioLevelUpdated",e):yn.off("audioLevelUpdated",e)}),X.setDisplayMode(this.getStyle("audioLevelDisplayMode")),X.audioOnly(!1),n.audioLevel=X}n.videoDisabledIndicator=new F({mode:this.getStyle("videoDisabledDisplayMode")}),W&&W.domElement&&(z=new v({parent:W.domElement}).set(n).on({muted:function(){yn.setAudioVolume(0)},unmuted:function(){yn.setAudioVolume(gn)}},this)).hideWhileLoading()}.call(this),Q=k.now(),Rn("createPeerConnection","Attempt"),en=hn.connection.id===pn.connection.id,!Cn.testNetwork&&en){var Qn=pn.getPublisherForStream(hn);if(!Qn||!Qn._.webRtcStream())return this.trigger("subscribeComplete",x(_.STREAM_DESTROYED,new Error("Tried to subscribe to a local publisher, but its stream no longer exists")),this),this;wn.resolve(),Mn.call(this,Qn._.webRtcStream())}else{Cn.testNetwork&&this.setAudioVolume(0),Z.set("ConnectingToPeer");var Zn=R.subscribers.uri(pn.apiKey,pn.sessionId,hn.id,this.widgetId);if(Y=new q.SubscriberPeerConnection({iceServers:pn.sessionInfo.iceServers,socket:pn._.getSocket(),reconnection:pn.sessionInfo.reconnection,stream:hn,subscriberId:this.widgetId,subscriberUri:Zn,properties:Cn,logAnalyticsEvent:Rn}),"IE"===m.name?wn.resolve():(Y.once("iceConnected",wn.resolve),Y.once("error",wn.reject)),Y.on({disconnected:function(){j.debug("OT.Subscriber has been disconnected from the Publisher's PeerConnection"),Z.isAttemptingToSubscribe()?(Z.set("Failed"),this.trigger("subscribeComplete",x(_.DISCONNECTED,new Error("ClientDisconnected")),this)):Z.isSubscribing()&&Z.set("Failed"),this.disconnect()},error:Ln,remoteStreamAdded:Mn,remoteStreamRemoved:function(n){tn=null,j.debug("OT.Subscriber.onStreamRemoved"),G.stream===n&&(G.destroy(),G=null),this.trigger("streamRemoved",this)},signalingStateStable:function(){yn.trigger("signalingStateStable"),G&&tn&&(G.bindToStream(tn,function(n){n&&j.debug("Could not bind to stream",n)}),nn&&"webRTCStream"in nn&&0<tn.getAudioTracks().length&&nn.webRTCStream(tn))},qos:xn,iceConnectionStateChange:function(n){var l=void 0,e=Un[n];e&&e!==bn&&(bn=e,j.debug("OT.Subscriber.connectionStateChanged to "+n),this.dispatchEvent(new b.ConnectionStateChangedEvent(e,this)),W&&(l=e!==b.Event.names.SUBSCRIBER_CONNECTED,W.loading(l)))}
1,iceRestartSuccess:function(){An("Success")},iceRestartFailure:function(){An("Failure",{reason:"ICEWorkflow",message:"OT.Subscriber PeerConnection Error: The stream was unable to connect due to a network error. Make sure your connection isn't blocked by a firewall."})}},this),Y.init(function(n){if(n)throw n}),q.hasAudioOutputLevelStatCapability()?nn=new E(Y.getStats):w()&&(nn=new U(d())),nn){var nl=this;ln=new C(function(){nn.sample(function(n){null!==n&&k.requestAnimationFrame(function(){nl.dispatchEvent(new b.AudioLevelUpdatedEvent(n))})})},60)}}var ll=function(){var n=[setTimeout(function(){In("Warning",{})},15e3),setTimeout(function(){Ln(null,"OT.Subscriber failed to subscribe to a stream in a reasonable amount of time",Y,"ICEWorkflow")},3e4)];return function(){n.forEach(function(n){clearTimeout(n)})}}();yn.once("subscribeComplete destroyed",ll),In("Attempt",{})};return W.hasAudioOutputLevelStatCapability=T,W.WidgetView=V,W.SubscriberPeerConnection=L,W}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../common-js-helpers/OTHelpers.js":200,"../../common-js-helpers/env.js":217,"../../helpers/audio_context.js":227,"../../helpers/audio_level_samplers/getstats_audio_output_level_sampler":228,"../../helpers/audio_level_samplers/webaudio_audio_level_sampler":229,"../../helpers/connectivity_attempt_pinger.js":230,"../../helpers/hasAudioOutputLevelStatCapability.js":243,"../../helpers/hasRemoteStreamsWithWebAudio.js":251,"../../helpers/otError.js":255,"../../helpers/otProperties.js":256,"../../helpers/widget_view.js":268,"../Errors.js":270,"../analytics.js":271,"../audio_level_transformer":275,"../chrome/audio_level_meter.js":278,"../chrome/backing_bar.js":279,"../chrome/chrome.js":281,"../chrome/mute_button.js":282,"../chrome/name_panel.js":283,"../chrome/video_disabled_indicator.js":284,"../events.js":287,"../exception_codes.js":288,"../interpretPeerConnectionError.js":291,"../interval_runner.js":292,"../logging.js":293,"../messaging/raptor/message.js":298,"../ot_error_class.js":315,"../peer_connection/get_stats_helpers.js":319,"../peer_connection/subscriber_peer_connection.js":331,"../styling/stylable_component.js":358,"./state.js":362,bluebird:2,events:3,uuid:197}],362:[function(n,l,e){"use strict";var i=n("../generate_simple_state_machine.js")()("NotSubscribing",["NotSubscribing","Init","ConnectingToPeer","BindingRemoteStream","Subscribing","Failed","Destroyed"],{NotSubscribing:["NotSubscribing","Init","Destroyed"],Init:["NotSubscribing","ConnectingToPeer","BindingRemoteStream","Destroyed"],ConnectingToPeer:["NotSubscribing","BindingRemoteStream","Failed","Destroyed"],BindingRemoteStream:["NotSubscribing","Subscribing","Failed","Destroyed"],Subscribing:["NotSubscribing","Failed","Destroyed","BindingRemoteStream"],Failed:["Destroyed"],Destroyed:[]});i.prototype.isDestroyed=function(){return"Destroyed"===this.current},i.prototype.isFailed=function(){return"Failed"===this.current},i.prototype.isSubscribing=function(){return"Subscribing"===this.current},i.prototype.isAttemptingToSubscribe=function(){return-1!==["Init","ConnectingToPeer","BindingRemoteStream"].indexOf(this.current)},l.exports=i},{"../generate_simple_state_machine.js":289}],363:[function(n,l,e){(function(e){"use strict";var t=n("./analytics.js"),u=n("./api_key.js"),r=n("../helpers/dialogs.js"),o=n("../ot/environment_loader.js"),i=n("../helpers/hasOpenTokSupport.js").once,s=n("../common-js-helpers/isWebSocketSupported.js"),a=n("lodash.once"),c=n("../otplugin/otplugin.js"),d=n("../common-js-helpers/OTHelpers.js"),f=n("./logging.js"),p=n("../helpers/otProperties.js"),h={};l.exports=h;var v=void 0,g=document.location.hash;h.check=function(){f.debug("OT.checkSystemRequirements()");var n=s()&&i()||c.isInstalled();return n=n?1:0,h.check=function(){return f.debug("OT.checkSystemRequirements()"),n},0===n&&t.logEvent({action:"checkSystemRequirements",variation:"notHasRequirements",partnerId:u.value,payload:{userAgent:d.env.userAgent}}),n},h.upgrade=a(function(){o.onLoad(function(){if(c.isSupported())r.Plugin.promptToInstall().on({download:function(){e.location=c.pathToInstaller()},refresh:function(){location.reload()},closed:function(){}});else{var n="_upgradeBrowser";document.body.appendChild(function(){var l=document.createElement("iframe");
1l.id=n,l.style.position="absolute",l.style.position="fixed",l.style.height="100%",l.style.width="100%",l.style.top="0px",l.style.left="0px",l.style.right="0px",l.style.bottom="0px",l.style.zIndex=1e3,l.style.backgroundColor="rgba(0,0,0,0.2)",l.setAttribute("frameBorder","0"),l.frameBorder="0",l.scrolling="no",l.setAttribute("scrolling","no");var e=d.env.name.toLowerCase()in p.minimumVersion;return l.src=p.assetURL+"/html/upgrade.html#"+encodeURIComponent(e?"true":"false")+","+encodeURIComponent(JSON.stringify(p.minimumVersion))+"|"+encodeURIComponent(document.location.href),l}()),v&&clearInterval(v),v=setInterval(function(){var l=document.location.hash,e=/^#?\d+&/;l!==g&&e.test(l)&&("close_window"===(g=l).replace(e,"")&&(document.body.removeChild(document.getElementById(n)),document.location.hash=""))},100)}})}),l.exports=h}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../common-js-helpers/OTHelpers.js":200,"../common-js-helpers/isWebSocketSupported.js":219,"../helpers/dialogs.js":236,"../helpers/hasOpenTokSupport.js":248,"../helpers/otProperties.js":256,"../ot/environment_loader.js":286,"../otplugin/otplugin.js":373,"./analytics.js":271,"./api_key.js":273,"./logging.js":293,"lodash.once":10}],364:[function(n,l,e){(function(e){"use strict";var t=n("./curry_call_async.js"),u=n("../ot/logging.js"),r=n("./meta.js"),o=e.OT,i=n("../common-js-helpers/OTHelpers.js"),s=n("./plugin_proxies.js"),a=void 0,c=function(){var n=void 0;this.hasRequiredVersion=function(){return r.version()===r.installedVersion()},this.autoUpdate=function(l){var e=arguments;return function(){return n?void l(void 0,e):void s.create({mimeType:r.getInstallerMimeType(),isVisible:!1,windowless:!1},function(t,r){return n=r,t?void u.error("Error while loading the AutoUpdater: "+t):l.apply(void 0,e)})}}(function(){var l=o.Dialogs.Plugin.updateInProgress(),e=new o.Analytics,s={ieVersion:i.env.version,pluginOldVersion:r.installedVersion(),pluginNewVersion:r.version},a=t(function(){e.logEvent({action:"OTPluginAutoUpdate",variation:"Success",partnerId:o.APIKEY,payload:JSON.stringify(s)}),n.destroy(),l.close(),o.Dialogs.Plugin.updateComplete().on({reload:function(){window.location.reload()}})}),c=t(function(t,r,i){s.errorCode=t,s.systemErrorCode=i,e.logEvent({action:"OTPluginAutoUpdate",variation:"Failure",partnerId:o.APIKEY,payload:JSON.stringify(s)}),n.destroy(),l.close();var a=r+" ("+t+"). Please restart your browser and try again.";l=o.Dialogs.Plugin.updateComplete(a).on({reload:function(){l.close()}}),u.error("autoUpdate failed: "+r+" ("+t+"). Please restart your browser and try again.")}),d=t(function(n){l.setUpdateProgress(n.toFixed())});n._.updatePlugin(r.pathToInstaller(),a,c,d)}),this.destroy=function(){n&&n.destroy()},navigator.plugins&&navigator.plugins.refresh(!1)};c.get=function(n){if(!a){if(!this.isinstalled())return void n.call(null,"Plugin was not installed");a=new c}n.call(null,void 0,a)},c.isinstalled=function(){return null!==r.getInstallerMimeType()&&!r.hasBrokenUpdater()},c.installedVersion=function(){return r.installedVersion()},l.exports=c}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../common-js-helpers/OTHelpers.js":200,"../ot/logging.js":293,"./curry_call_async.js":365,"./meta.js":372,"./plugin_proxies.js":382}],365:[function(n,l,e){"use strict";l.exports=function(n){return function(){var l=arguments;setTimeout(function(){n.apply(void 0,l)})}}},{}],366:[function(n,l,e){"use strict";l.exports=3e3},{}],367:[function(n,l,e){"use strict";l.exports=function(){var n={},l={};return n.on=function(e,t,u){return l.hasOwnProperty(e)||(l[e]=[]),l[e].push([t,u]),n},n.off=function(e,t,u){if(l.hasOwnProperty(e)&&0!==l[e].length)return l[e]=l[e].filter(function(n){return n[0]!==t&&n[1]!==u}),n},n.once=function(l,e,t){return n.on(l,function r(){return n.off(l,r),e.apply(t,arguments)}),n},n.emit=function(e,t){return setTimeout(function(){l.hasOwnProperty(e)&&0!==l[e].length&&l[e].forEach(function(n){n[0].apply(n[1],t)})}),n},n}},{}],368:[function(n,l,e){"use strict";var t=n("../common-js-helpers/OTHelpers.js");l.exports=function(n){var l=t.clone(n);this.hasVideo=void 0!==l.video&&!1!==l.video,this.hasAudio=void 0!==l.audio&&!1!==l.audio,!0===l.video&&(l.video={}),!0===l.audio&&(l.audio={}),this.hasVideo&&!l.video.mandatory&&(l.video.mandatory={}),this.hasAudio&&!l.audio.mandatory&&(l.audio.mandatory={}),this.screenSharing=this.hasVideo&&("screen"===l.video.mandatory.chromeMediaSource||"window"===l.video.mandatory.chromeMediaSource),this.audio=l.audio,this.video=l.video,this.setVideoSource=function(n){void 0!==n?l.video.mandatory.sourceId=n:delete l.video},this.setAudioSource=function(n){void 0!==n?l.audio.mandatory.sourceId=n:delete l.audio},this.toHash=function(){return l}}},{"../common-js-helpers/OTHelpers.js":200}],369:[function(n,l,e){"use strict";var t=n("./readiness.js").isReady,u=n("./plugin_proxies.js"),r=n("./readiness.js").listen;l.exports=function(){var l=new function(){};return l.enumerateDevices=function(n){r(function(l){l?n(l):u.mediaCapturer.enumerateDevices(n)})},l.addListener=function(n,l){r(function(e){e||u.mediaCapturer.on("devicesChanged",n,l)})},l.removeListener=function(n,l){t()&&u.mediaCapturer.off("devicesChanged",n,l)},l}},{"./plugin_proxies.js":382,"./readiness.js":384}],370:[function(n,l,e){"use strict";var t=n("./media_stream_track.js"),u=n("./video_container.js"),r=function(n,l){var r=new function(){},o=[],i=[];r.id=n.id,l.addRef(r),n.videoTracks&&n.videoTracks.map(function(e){i.push(new t(n.id,e,l))}),n.audioTracks&&n.audioTracks.map(function(e){o.push(new t(n.id,e,l))});var s=function(n){return("video"===n?i:o).some(function(n){return n.enabled})};return r.getVideoTracks=function(){return i},r.getAudioTracks=function(){return o},r.getTracks=function(){return i.concat(o)}
1,r.getTrackById=function(n){return i.concat(o).forEach(function(l){if(l.id===n)return l}),null},r.hasVideo=function(){return s("video")},r.hasAudio=function(){return s("audio")},r.addTrack=function(){},r.removeTrack=function(){},r.stop=function(){l._.stopMediaStream(r.id),l.removeRef(r)},r.destroy=function(){r.stop()},r._={plugin:l,render:function(){return new u(l,r)}},r};r.fromJson=function(n,l){return n?new r(JSON.parse(n),l):null},l.exports=r},{"./media_stream_track.js":371,"./video_container.js":392}],371:[function(n,l,e){"use strict";l.exports=function(n,l,e){var u=new function(){};u.id=l.id,u.kind=l.kind,u.label=l.label,u.streamId=n;var r=!0===l.enabled||"true"===l.enabled;return Object.defineProperty(u,"enabled",{get:function(){return r},set:function(l){(r=!0===l||"true"===l)?e._.enableMediaStreamTrack(n,u.id):e._.disableMediaStreamTrack(n,u.id)}}),u.setEnabled=function(n){u.enabled=n},u}},{}],372:[function(n,l,e){(function(e){"use strict";var t=n("../ot/logging.js"),u=n("../common-js-helpers/OTHelpers.js"),r=n("./pluginVersion"),o=n("../helpers/otProperties.js"),i=n("./version_greater_than.js"),s={};l.exports=s;var a="IE"===u.env.name&&-1!==u.env.userAgent.indexOf("Win64"),c=a?"_x64":"";s.mimeType="application/x-opentokplugin"+c+",version="+r,s.activeXName="TokBox.OpenTokPlugin"+c+"."+r;var d=void 0,f=-1,p=function(){if(void 0===d){var n="TokBox.OpenTokPluginInstaller"+c,o="application/x-opentokplugininstaller"+c,i=e.navigator.plugins[n]||e.navigator.plugins.OpenTokPluginInstaller;if(f=-1,i)for(var s=i.length,a=new RegExp(o.replace("-","\\-")+",version=([0-9a-zA-Z-_.]+)","i"),p=void 0,h=void 0,v=0;v<s&&(!(p=i[v])||!p.enabledPlugin||p.enabledPlugin.name!==i.name||-1===p.type.indexOf(o)||(null===(h=a.exec(p.type))||(f=h[1])!==r));++v);else if("IE"===u.env.name)try{i=new ActiveXObject(n),f=i.getMasterVersion()}catch(g){t.error(g)}d=-1!==f?o+",version="+f:null}};s.getInstallerMimeType=function(){return void 0===d&&p(),d},s.version=function(){return r},s.installedVersion=function(){return void 0===f&&p(),f},s.hasBrokenUpdater=function(){var n="0.4.0.9"===s.installedVersion()||!i(s.installedVersion(),"0.4.0.4");return s.hasBrokenUpdater=function(){return n},n},s.pathToInstaller=function(n){var l=o.assetURL+"/plugin/OpenTokPluginMain_x"+(a?"64":"32")+".msi";return n&&n(l),l}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../common-js-helpers/OTHelpers.js":200,"../helpers/otProperties.js":256,"../ot/logging.js":293,"./pluginVersion":381,"./version_greater_than.js":391}],373:[function(n,l,e){(function(e){"use strict";var t=n("../ot/analytics.js"),u=n("../common-js-helpers/OTHelpers.js"),r=n("./startupAnalyticsLogger.js"),o={};if(l.exports=o,(e.OTPlugin=o).isSupported=function(){return"IE"===u.env.name&&9<=u.env.version},o.isSupported()){var i=n("./auto_updater.js"),s=n("../ot/logging.js"),a=n("./media_constraints.js"),c=n("./media_devices.js"),d=n("./media_stream.js"),f=n("./meta.js"),p=n("./peer_connection/create_peer_connection.js"),h=n("./plugin_proxies.js"),v=n("./readiness.js"),g=n("./settings.js"),m=n("./rtc/rtc_ice_candidate.js"),_=n("./rtc/rtc_session_description.js");o.isReady=v.isReady,o.meta=f,o.isInstalled=function(){return!!o.isSupported()&&i.isinstalled()},o.settings=g,o.version=f.version,o.installedVersion=f.installedVersion,o.pathToInstaller=f.pathToInstaller,o.ready=function(n){v.listen(n.bind(o))};var b=function(n,l,e){h.createMediaPeer(function(t,u){return t?void e.call(o,t):void u._.getUserMedia(n.toHash(),function(n){l.call(o,d.fromJson(n,u))},e)})};o.getUserMedia=function(n,l,e){var t=new a(n);if(t.screenSharing)b(t,l,e);else{var u=[];t.hasVideo&&u.push("video"),t.hasAudio&&u.push("audio"),h.mediaCapturer.selectSources(u,function(n){for(var u in n)n.hasOwnProperty(u)&&s.debug(u+" Capture Device: "+n[u]);t.setVideoSource(n.video),t.setAudioSource(n.audio),b(t,function(e){e&&(e.getVideoTracks().forEach(function(l){return l.deviceId=n.video,l}),e.getAudioTracks().forEach(function(l){return l.deviceId=n.audio,l})),l.apply(this,arguments)},e)},e,g.usePreviousDeviceSelection)}},o.enumerateDevices=function(n){v.listen(function(l){l?n(l):h.mediaCapturer.enumerateDevices(n)})},o.initPeerConnection=function(n,l,e,t){var u=function(e,u){return e?void t(e):(s.debug("Got PeerConnection for "+u.id),void p(n,l,u).then(function(n){t(null,n)},function(n){t(n)}))};e&&e._.plugin?u(null,e._.plugin):h.createMediaPeer(u)},o.RTCSessionDescription=_,o.RTCIceCandidate=m,o.mediaDevices=new c,r({analytics:t,meta:f,readiness:v}),l.exports=o}else o.isInstalled=function(){return!1}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../common-js-helpers/OTHelpers.js":200,"../ot/analytics.js":271,"../ot/logging.js":293,"./auto_updater.js":364,"./media_constraints.js":368,"./media_devices.js":369,"./media_stream.js":370,"./meta.js":372,"./peer_connection/create_peer_connection.js":380,"./plugin_proxies.js":382,"./readiness.js":384,"./rtc/rtc_ice_candidate.js":386,"./rtc/rtc_session_description.js":387,"./settings.js":389,"./startupAnalyticsLogger.js":390}],374:[function(n,l,e){"use strict";
1var t=n("./create_single_element_container.js"),u=n("../../curry_call_async.js"),r=n("lodash.once"),o=n("bluebird"),i=n("./request_manager.js"),s=n("../../rtc/rtc_stats_report.js");l.exports=function(n,l){var e=t(),a=r(function(){n.registerXCallback("getStatsSuccess",u(function(n){e.pop().success(n)})),n.registerXCallback("getStatsError",u(function(n){e.pop().error(n)}))});return i(function(t){return new o(function(u,r){a(),e.push({success:function(n){u(new s(JSON.parse(n)))},error:r}),n.getStats(l,t)})})}},{"../../curry_call_async.js":365,"../../rtc/rtc_stats_report.js":388,"./create_single_element_container.js":376,"./request_manager.js":378,bluebird:2,"lodash.once":10}],375:[function(n,l,e){"use strict";l.exports=function(){var n=[];return function(l){var e=n.indexOf(l);return-1===e&&(e=n.length,n.push(l)),String(e)}}},{}],376:[function(n,l,e){"use strict";var t=n("assert");l.exports=function(){var n={},l=[];return n.push=function(n){t(0===l.length),l.push(n)},n.pop=function(){return t(1===l.length),l.pop()},n}},{assert:1}],377:[function(n,l,e){"use strict";var t=n("assert");l.exports=function(n){var l=void 0;return function(){return t(0===arguments.length),l||(l=n().finally(function(){l=void 0}))}}},{assert:1}],378:[function(n,l,e){"use strict";var t=n("./create_linear_resolver.js"),u=n("lodash.memoize"),r=n("./request_compressor.js"),o=n("./request_serializer.js");l.exports=function(n){var l=o(n),i=u(function(n){return r(function(){return l(n)})},t());return function(n){return i(n)()}}},{"./create_linear_resolver.js":375,"./request_compressor.js":377,"./request_serializer.js":379,"lodash.memoize":8}],379:[function(n,l,e){"use strict";var t=n("assert"),u=n("bluebird");l.exports=function(n){var l=[],e=void 0,r=void 0;return r=function(){if(0!==l.length&&!e){var t=l.shift();e=n(t.input).finally(function(){e=void 0,r()}),t.resolve(e)}},function(n){return t(void 0===this),t(arguments.length<=1),new u(function(e){l.push({input:n,resolve:e}),r()})}}},{assert:1,bluebird:2}],380:[function(n,l,e){"use strict";var t=n("bluebird"),u=n("uuid"),r=n("../curry_call_async.js"),o=n("./create_get_stats_adaptor/create_get_stats_adaptor.js"),i=n("../../ot/logging.js"),s=n("../media_stream"),a=n("../../common-js-helpers/OTHelpers.js"),c=n("../rtc/rtc_ice_candidate.js"),d=n("../rtc/rtc_session_description.js");l.exports=function(n,l,e){var p=new function(){},h=u(),v=[],g=!1,m=[],_=void 0,b=void 0,y=new t.Promise(function(n,l){_=n,b=l}),E=void 0,S=void 0;e.addRef(p),E={addstream:[],removestream:[],icecandidate:[],signalingstatechange:[],iceconnectionstatechange:[]};var T=function(){},w=function(){return p.localDescription&&p.remoteDescription},O=function(n){i.error("Failed to process candidate"),i.error(n)},C=function(){if(w())for(var n=0;n<v.length;++n)e._.addIceCandidate(h,v[n],T,O)},j=function(n){return function(){return!0===g?n.apply(p,arguments):void m.push([n,arguments])}},I=function(){var n=Array.prototype.slice.call(arguments),l=n.shift();return E.hasOwnProperty(l)?void E[l].forEach(function(l){l.apply(void 0,n)}):void i.error("PeerConnection does not have an event called: "+l)},x=function(n){var t={stream:s.fromJson(n,e),target:p};p.onaddstream&&a.isFunction(p.onaddstream)&&a.callAsync(p.onaddstream,t),I("addstream",t)},N=function(n){var t={stream:s.fromJson(n,e),target:p};p.onremovestream&&a.isFunction(p.onremovestream)&&a.callAsync(p.onremovestream,t),I("removestream",t)},k=function(n,l,e){var u={candidate:new c({candidate:n,sdpMid:l,sdpMLineIndex:e}),target:p};p.onicecandidate&&a.isFunction(p.onicecandidate)&&a.callAsync(p.onicecandidate,u),I("icecandidate",u)},D=function(n){var l={state:p.signalingState=n,target:p};p.onsignalingstatechange&&a.isFunction(p.onsignalingstatechange)&&a.callAsync(p.onsignalingstatechange,l),I("signalingstate",l)},P=function(n){var l={state:p.iceConnectionState=n,target:p};p.oniceconnectionstatechange&&a.isFunction(p.oniceconnectionstatechange)&&a.callAsync(p.oniceconnectionstatechange,l),I("iceconnectionstatechange",l)};p.createOffer=j(function(n,l,t){i.debug("createOffer",t),e._.createOffer(h,function(l,e){n(new d({type:l,sdp:e}))},l,t||{})}),p.createAnswer=j(function(n,l,t){i.debug("createAnswer",t),e._.createAnswer(h,function(l,e){n(new d({type:l,sdp:e}))},l,t||{})}),p.setLocalDescription=j(function(n,l,t){i.debug("setLocalDescription"),e._.setLocalDescription(h,n,function(){p.localDescription=n,l&&l.call(null),C()},t)}),p.setRemoteDescription=function(n){return y.then(function(){return i.debug("setRemoteDescription"),new t.Promise(function(l,t){return e._.setRemoteDescription(h,n,function(){p.remoteDescription=n,l(),C()},t)})})},p.addIceCandidate=j(function(n){i.debug("addIceCandidate"),w()?e._.addIceCandidate(h,n,T,O):v.push(n)}),p.addStream=j(function(n){e._.addStream(h,n,{})}),p.removeStream=j(function(n){e._.removeStream(h,n)}),p.getRemoteStreams=function(){var n=e._.getRemoteStreams(h);return n?n.map(function(n){return s.fromJson(n,e)}):[]},p.getLocalStreams=function(){return e._.getLocalStreams(h).map(function(n){return s.fromJson(n,e)})},p.getStreamById=function(n){return s.fromJson(e._.getStreamById(h,n),e)};var L=o(e._,h);return p.getStats=j(function(n,l,e){S.then(function(){var t=L(n);t.then(l),t.catch(e)})}),p.close=function(){e._.destroyPeerConnection(h),e.removeRef(this)},p.destroy=function(){p.close()},p.addEventListener=function(n,l){void 0!==E[n]&&E[n].push(l)},p.removeEventListener=function(n,l){void 0!==E[n]&&(E[n]=E[n].filter(function(n){return n!==l}))},p.onaddstream=null,p.onremovestream=null,p.onicecandidate=null,p.onsignalingstatechange=null,p.oniceconnectionstatechange=null,n.iceServers.forEac
1h(function(n){n.username||(n.username=""),n.credential||(n.credential="")}),e._.initPeerConnection(h,n,l,function(){(function(n){for(var l in n)n.hasOwnProperty(l)&&(n[l]=r(n[l]));e._.on(h,n)})({addStream:x,removeStream:N,iceCandidate:k,signalingStateChange:D,iceConnectionChange:P}),S=new t.Promise(function(n){0<e._.getLocalStreams(h).length?n():p.addEventListener("addstream",function(){setTimeout(function(){n()},200)})}),g=!0,function(){for(var n=void 0;n=m.shift();)n[0].apply(p,n[1])}(),_(p)},function(n){b(n)}),y}},{"../../common-js-helpers/OTHelpers.js":200,"../../ot/logging.js":293,"../curry_call_async.js":365,"../media_stream":370,"../rtc/rtc_ice_candidate.js":386,"../rtc/rtc_session_description.js":387,"./create_get_stats_adaptor/create_get_stats_adaptor.js":374,bluebird:2,uuid:197}],381:[function(n,l,e){"use strict";l.exports="2.1.0.118"},{}],382:[function(n,l,e){"use strict";var t=n("./meta.js"),u=n("../common-js-helpers/OTHelpers.js"),r=n("./proxy_extras.js"),i=new function(){},s={};i.mediaCapturer=null,i.removeAll=function(){for(var n in s)s.hasOwnProperty(n)&&s[n].destroy();i.mediaCapturer&&i.mediaCapturer.destroy()},i.create=function(n,l){var e=r.createPluginProxy(n,l);return(s[e.uuid]=e).on("destroy",function(){var n;n=e,i.mediaCapturer&&i.mediaCapturer.id===n.id?i.mediaCapturer=null:s.hasOwnProperty(n.id)&&delete s[n.id],n.OTHelpers&&n.OTHelpers.remove()}),e},i.createMediaPeer=function(n,l){var e=void 0,o=void 0;o=u.isFunction(n)?(e={},n):(e=n,l);var a=i.create(u.extend(e||{},{mimeType:t.mimeType,isVisible:!0,windowless:!0}),function(n){return n?void o.call(void 0,n):(s[a.id]=a,void o.call(void 0,void 0,a))});r.makeMediaPeerProxy(a)},i.createMediaCapturer=function(n){return i.mediaCapturer?void n.call(void 0,void 0,i.mediaCapturer):(i.mediaCapturer=i.create({mimeType:t.mimeType,isVisible:!1,windowless:!1},function(l){n.call(void 0,l,i.mediaCapturer)}),void r.makeMediaCapturerProxy(i.mediaCapturer))},l.exports=i},{"../common-js-helpers/OTHelpers.js":200,"./meta.js":372,"./proxy_extras.js":383}],383:[function(n,l,e){(function(e){"use strict";var t=n("lodash.assign"),u=n("bluebird"),r=n("../common-js-helpers/OTHelpers.js"),o=n("uuid"),i=n("./curry_call_async.js"),s=n("./empiric_delay.js"),a=n("./event_emitter.js"),c=n("../ot/logging.js"),d=n("./ref_count_behaviour.js"),f=n("./wait_for_ready_signal.js"),h={},v=function(n){if(n&&(h[n]&&(clearTimeout(h[n]),h[n]=null),e[n]))try{delete e[n]}catch(l){e[n]=void 0}},g=function(n,l){h[n]=setTimeout(function(){v(n),l("The object timed out while loading.")},5e3),e[n]=function(){v(n);var e=Array.prototype.slice.call(arguments);e.unshift(null),l.apply(void 0,e)}},m=function(){return"OTPlugin_loaded_"+o().replace(/\-+/g,"")},_=function(n,l){var e=l||{},t=[],u=['type="'+e.mimeType+'"','id="'+n+'_obj"','tb_callback_id="'+n+'"','width="0" height="0"'],o={userAgent:r.env.userAgent.toLowerCase(),windowless:e.windowless,onload:n};for(var i in!0!==e.isVisible&&u.push('visibility="hidden"'),t.push("<object "+u.join(" ")+">"),o)o.hasOwnProperty(i)&&t.push('<param name="'+i+'" value="'+o[i]+'" />');return t.push("</object>"),t.join("")},b=function(n,l,t){var u=l||{},r=_(n,u),o=u.doc||e.document;o.body.insertAdjacentHTML("beforeend",r),t(void 0,o.body.querySelector("#"+n+"_obj"))};l.exports={createPluginProxy:function(n,l){var o=new function(){};o.ready={},o.ready.promise=new u.Promise(function(n,l){o.ready.resolve=n,o.ready.reject=l}),t(o,a()),o.listenForDeviceChanges=function(){o.ready.promise.then(function(){return u.delay(s)}).then(function(){o._.registerXCallback("devicesChanged",function(){var n=Array.prototype.slice.call(arguments);c.debug(n),o.emit("devicesChanged",n)})})},d(o);var p=function(n){n?(o._=n,o.parentElement=n.parentElement,o.OTHelpers=r(n)):(o._=null,o.parentElement=null,o.OTHelpers=r())};return o.uuid=m(),o.isValid=function(){return o._.valid},o.destroy=function(){o.removeAllRefs(),p(null),o.emit("destroy")},o.enumerateDevices=function(n){o._.enumerateDevices(n)},p(null),g(o.uuid,function(e){return e?(l("The plugin with the mimeType of "+n.mimeType+" timed out while loading: "+e),void o.destroy()):(o._.setAttribute("id","tb_plugin_"+o._.uuid),o._.removeAttribute("tb_callback_id"),o.uuid=o._.uuid,o.id=o._.id,o._.on&&o._.on(-1,{customEvent:i(function(){var n=Array.prototype.slice.call(arguments);o.emit(n.shift(),n)})}),void f(o,function(n){return n?(l("Error while starting up plugin "+o.uuid+": "+n),void o.destroy()):void l(void 0,o)}))}),b(o.uuid,n,function(n,l){return n?void c.error(n):void p(l)}),o},makeMediaPeerProxy:function(n){return n.setStream=function(l,e){return n._.setStream(l,n._.msMatchesSelector(".OT_publisher.OT_mirrored object")),e&&setTimeout(e,200),n},n},makeMediaCapturerProxy:function(n){return n.selectSources=function(){return n._.selectSources.apply(n._,arguments)},n.listenForDeviceChanges(),n}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../common-js-helpers/OTHelpers.js":200,"../ot/logging.js":293,"./curry_call_async.js":365,"./empiric_delay.js":366,"./event_emitter.js":367,"./ref_count_behaviour.js":385,"./wait_for_ready_signal.js":393,bluebird:2,"lodash.assign":4,uuid:197}],384:[function(n,l,e){"use strict";var t=n("./auto_updater.js"),u=n("../ot/logging.js"),r=n("../common-js-helpers/OTHelpers.js"),o=n("./plugin_proxies.js"),i=n("../helpers/
1domState.js"),s=!1,a=[],c=void 0,d=function(){o.removeAll()},p=function(){s=!0;for(var n=void 0;(n=a.pop())&&r.isFunction(n);)n.call(void 0,c)};i.whenLoaded.then(function(){t.get(function(n,l){return n?(c="Error while loading the AutoUpdater: "+n,void p()):l.hasRequiredVersion()?void o.createMediaCapturer(function(n){(c=n)||o.mediaCapturer&&o.mediaCapturer.isValid()||(c="The TB Plugin failed to load properly"),p(),i.whenUnloaded.then(d)}):void l.autoUpdate()})}),l.exports={listen:function(n){return r.isFunction(n)?void(s?n.call(void 0,c):a.push(n)):void u.warn("registerReadyListener was called with something that was not a function.")},isReady:function(){return s}}},{"../common-js-helpers/OTHelpers.js":200,"../helpers/domState.js":237,"../ot/logging.js":293,"./auto_updater.js":364,"./plugin_proxies.js":382}],385:[function(n,l,e){"use strict";l.exports=function(n){var l=[];n.addRef=function(e){return l.push(e),n},n.removeRef=function(e){if(0===l.length)return n;var t=l.indexOf(e);return-1!==t&&l.splice(t,1),0===l.length&&n.destroy(),n},n.removeAllRefs=function(){for(;l.length;)l.shift().destroy()}}},{}],386:[function(n,l,e){"use strict";l.exports=function(n){this.sdpMid=n.sdpMid,this.sdpMLineIndex=parseInt(n.sdpMLineIndex,10),this.candidate=n.candidate}},{}],387:[function(n,l,e){"use strict";l.exports=function(n){this.type=n.type,this.sdp=n.sdp}},{}],388:[function(n,l,e){"use strict";var t=function(n){for(var l in n)n.hasOwnProperty(l)&&(this[l]=n[l])};t.prototype.forEach=function(n,l){for(var e in this)this.hasOwnProperty(e)&&n.call(l,this[e])},l.exports=t},{}],389:[function(n,l,e){"use strict";l.exports={usePreviousDeviceSelection:!1}},{}],390:[function(n,l,e){"use strict";l.exports=function(l){var e=l.analytics,t=void 0===e?n("../ot/analytics.js"):e,u=l.meta,r=void 0===u?n("./meta.js"):u,o=l.readiness;(void 0===o?n("./readiness.js"):o).listen(function(n){var l={version:r.installedVersion()};n&&(l.message=n.message,l.stack=n.stack),t.logEvent({action:"OTPlugin-Load",variation:n?"Failure":"Success",payload:l})})}},{"../ot/analytics.js":271,"./meta.js":372,"./readiness.js":384}],391:[function(n,l,e){"use strict";var t=n("assert"),u=/^[0-9]+(\.[0-9]+)*$/;l.exports=function(n,l){t(u.test(n)),t(u.test(l));var e=n.split(".").map(Number),r=l.split(".").map(Number);t(e.length===r.length);for(var o=e.length,i=0;i<o;++i)if(e[i]!==r[i])return e[i]>r[i];return t(n===l),!1}},{assert:1}],392:[function(n,l,e){"use strict";var t=n("../ot/logging.js"),u=n("../common-js-helpers/OTHelpers.js");l.exports=function(n,l){var r=new function(){},o=!1;return r.domElement=n._,r.OTHelpers=u(n._),r.parentElement=n._.parentNode,n.addRef(r),r.appendTo=function(l){l&&n._.parentNode!==l&&(t.debug("VideoContainer appendTo",l),l.appendChild(n._),r.parentElement=l)},r.show=function(e){return t.debug("VideoContainer show"),n._.removeAttribute("width"),n._.removeAttribute("height"),n.setStream(l,e),u.show(n._),r},r.setSize=function(l,e){return n._.setAttribute("width",l),n._.setAttribute("height",e),r},r.getAudioInputLevel=function(){return o||(n._.enableVolumeLevelMonitoring(!0),o=!0),n._.getInputLevel()},r.setFitMode=function(l){n._.fitMode(l)},r.width=function(l){return void 0!==l&&(t.debug("VideoContainer set width to "+l),n._.setAttribute("width",l)),n._.getAttribute("width")},r.height=function(l){return void 0!==l&&(t.debug("VideoContainer set height to "+l),n._.setAttribute("height",l)),n._.getAttribute("height")},r.volume=function(n){return void 0!==n?t.debug("VideoContainer setVolume not implemented: called with "+n):t.debug("VideoContainer getVolume not implemented"),.5},r.getImgData=function(){return n._.getImgData("image/png")},r.videoWidth=function(){return n._.videoWidth},r.videoHeight=function(){return n._.videoHeight},r.destroy=function(){n._.setStream(null),n.removeRef(r)},r}},{"../common-js-helpers/OTHelpers.js":200,"../ot/logging.js":293}],393:[function(n,l,e){"use strict";var t=n("./curry_call_async.js"),u=n("../ot/logging.js");l.exports=function(n,l){var e=function(){n.ready.resolve(),n.ready.promise.then(function(e){return e?(u.error("Error while starting up plugin "+n.uuid+": "+e),void l(e)):(u.debug("Plugin "+n.id+" is loaded"),void l(void 0,n))})};n._.initialise?(n.on("ready",t(e)),n._.initialise()):e()}},{"../ot/logging.js":293,"./curry_call_async.js":365}]},{},[269])(269)});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.