summaryrefslogtreecommitdiffstats
path: root/settings/js
diff options
context:
space:
mode:
authorJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2018-05-11 09:57:13 +0200
committerJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2018-05-16 09:50:24 +0200
commit549940ddb9643a57a0900aa002b49276e5d20d9b (patch)
tree956eddc3e1f521bc25aa8c2fd6ff8e2e81a6793d /settings/js
parenta62c796f0709dacc332b7d9328e3f6ab151991f3 (diff)
downloadnextcloud-server-549940ddb9643a57a0900aa002b49276e5d20d9b.tar.gz
nextcloud-server-549940ddb9643a57a0900aa002b49276e5d20d9b.zip
Fixed root url detection, new tests, default new user group to current
opened group and user removal update fix Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'settings/js')
-rw-r--r--settings/js/main.js2
-rw-r--r--settings/js/main.js.map2
2 files changed, 2 insertions, 2 deletions
diff --git a/settings/js/main.js b/settings/js/main.js
index 12cd0e3771b..02f6ca645a1 100644
--- a/settings/js/main.js
+++ b/settings/js/main.js
@@ -3,7 +3,7 @@
* (c) 2014-2018 Evan You
* Released under the MIT License.
*/
-var so=Object.freeze({}),ao=Object.prototype.toString,uo=h("slot,component",!0),co=h("key,ref,slot,slot-scope,is"),lo=Object.prototype.hasOwnProperty,fo=/-(\w)/g,po=g(function(t){return t.replace(fo,function(t,e){return e?e.toUpperCase():""})}),ho=g(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),vo=/\B([A-Z])/g,mo=g(function(t){return t.replace(vo,"-$1").toLowerCase()}),go=Function.prototype.bind?b:y,yo=function(t,e,n){return!1},bo=function(t){return t},_o="data-server-rendered",wo=["component","directive","filter"],xo=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],Co={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:yo,isReservedAttr:yo,isUnknownElement:yo,getTagNamespace:C,parsePlatformTagName:bo,mustUseProp:yo,_lifecycleHooks:xo},Oo=/[^\w.$]/,ko="__proto__"in{},$o="undefined"!=typeof window,So="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,Ao=So&&WXEnvironment.platform.toLowerCase(),Eo=$o&&window.navigator.userAgent.toLowerCase(),Lo=Eo&&/msie|trident/.test(Eo),To=Eo&&Eo.indexOf("msie 9.0")>0,Po=Eo&&Eo.indexOf("edge/")>0,jo=(Eo&&Eo.indexOf("android"),Eo&&/iphone|ipad|ipod|ios/.test(Eo)||"ios"===Ao),No=(Eo&&/chrome\/\d+/.test(Eo),{}.watch),Uo=!1;if($o)try{var Io={};Object.defineProperty(Io,"passive",{get:function(){Uo=!0}}),window.addEventListener("test-passive",null,Io)}catch(t){}var Do,Mo,Ro=function(){return void 0===Do&&(Do=!$o&&!So&&void 0!==t&&"server"===t.process.env.VUE_ENV),Do},Fo=$o&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,Bo="undefined"!=typeof Symbol&&L(Symbol)&&"undefined"!=typeof Reflect&&L(Reflect.ownKeys);Mo="undefined"!=typeof Set&&L(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var qo=C,Ho=0,Vo=function(){this.id=Ho++,this.subs=[]};Vo.prototype.addSub=function(t){this.subs.push(t)},Vo.prototype.removeSub=function(t){v(this.subs,t)},Vo.prototype.depend=function(){Vo.target&&Vo.target.addDep(this)},Vo.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;e<n;e++)t[e].update()},Vo.target=null;var Go=[],zo=function(t,e,n,r,i,o,s,a){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=i,this.ns=void 0,this.context=o,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=s,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=a,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},Wo={child:{configurable:!0}};Wo.child.get=function(){return this.componentInstance},Object.defineProperties(zo.prototype,Wo);var Ko=function(t){void 0===t&&(t="");var e=new zo;return e.text=t,e.isComment=!0,e},Qo=Array.prototype,Yo=Object.create(Qo);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(t){var e=Qo[t];A(Yo,t,function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];var i,o=e.apply(this,n),s=this.__ob__;switch(t){case"push":case"unshift":i=n;break;case"splice":i=n.slice(2)}return i&&s.observeArray(i),s.dep.notify(),o})});var Jo=Object.getOwnPropertyNames(Yo),Xo=!0,Zo=function(t){if(this.value=t,this.dep=new Vo,this.vmCount=0,A(t,"__ob__",this),Array.isArray(t)){(ko?I:D)(t,Yo,Jo),this.observeArray(t)}else this.walk(t)};Zo.prototype.walk=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)R(t,e[n])},Zo.prototype.observeArray=function(t){for(var e=0,n=t.length;e<n;e++)M(t[e])};var ts=Co.optionMergeStrategies;ts.data=function(t,e,n){return n?V(t,e,n):e&&"function"!=typeof e?t:V(t,e)},xo.forEach(function(t){ts[t]=G}),wo.forEach(function(t){ts[t+"s"]=z}),ts.watch=function(t,e,n,r){if(t===No&&(t=void 0),e===No&&(e=void 0),!e)return Object.create(t||null);if(!t)return e;var i={};w(i,t);for(var o in e){var s=i[o],a=e[o];s&&!Array.isArray(s)&&(s=[s]),i[o]=s?s.concat(a):Array.isArray(a)?a:[a]}return i},ts.props=ts.methods=ts.inject=ts.computed=function(t,e,n,r){if(!t)return e;var i=Object.create(null);return w(i,t),e&&w(i,e),i},ts.provide=V;var es,ns,rs=function(t,e){return void 0===e?t:e},is=[],os=!1,ss=!1;if(void 0!==n&&L(n))ns=function(){n(st)};else if("undefined"==typeof MessageChannel||!L(MessageChannel)&&"[object MessageChannelConstructor]"!==MessageChannel.toString())ns=function(){setTimeout(st,0)};else{var as=new MessageChannel,us=as.port2;as.port1.onmessage=st,ns=function(){us.postMessage(1)}}if("undefined"!=typeof Promise&&L(Promise)){var cs=Promise.resolve();es=function(){cs.then(st),jo&&setTimeout(C)}}else es=ns;var ls,fs=new Mo,ps=g(function(t){var e="&"===t.charAt(0);t=e?t.slice(1):t;var n="~"===t.charAt(0);t=n?t.slice(1):t;var r="!"===t.charAt(0);return t=r?t.slice(1):t,{name:t,once:n,capture:r,passive:e}}),ds=null,hs=[],vs=[],ms={},gs=!1,ys=!1,bs=0,_s=0,ws=function(t,e,n,r,i){this.vm=t,i&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++_s,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new Mo,this.newDepIds=new Mo,this.expression="","function"==typeof e?this.getter=e:(this.getter=E(e),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};ws.prototype.get=function(){T(this);var t,e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;rt(t,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&ct(t),P(),this.cleanupDeps()}return t},ws.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},ws.prototype.cleanupDeps=function(){for(var t=this,e=this.deps.length;e--;){var n=t.deps[e];t.newDepIds.has(n.id)||n.removeSub(t)}var r=this.depIds;this.depIds=this.newDepIds,this.newDepIds=r,this.newDepIds.clear(),r=this.deps,this.deps=this.newDeps,this.newDeps=r,this.newDeps.length=0},ws.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():Vt(this)},ws.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||u(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){rt(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},ws.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},ws.prototype.depend=function(){for(var t=this,e=this.deps.length;e--;)t.deps[e].depend()},ws.prototype.teardown=function(){var t=this;if(this.active){this.vm._isBeingDestroyed||v(this.vm._watchers,this);for(var e=this.deps.length;e--;)t.deps[e].removeSub(t);this.active=!1}};var xs={enumerable:!0,configurable:!0,get:C,set:C},Cs={lazy:!0};me(ge.prototype);var Os={init:function(t,e,n,r){if(t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive){var i=t;Os.prepatch(i,i)}else{(t.componentInstance=xe(t,ds,n,r)).$mount(e?t.elm:void 0,e)}},prepatch:function(t,e){var n=e.componentOptions;Nt(e.componentInstance=t.componentInstance,n.propsData,n.listeners,e,n.children)},insert:function(t){var e=t.context,n=t.componentInstance;n._isMounted||(n._isMounted=!0,Mt(n,"mounted")),t.data.keepAlive&&(e._isMounted?qt(n):It(n,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?Dt(e,!0):e.$destroy())}},ks=Object.keys(Os),$s=1,Ss=2,As=0;!function(t){t.prototype._init=function(t){var e=this;e._uid=As++,e._isVue=!0,t&&t._isComponent?Le(e,t):e.$options=Y(Te(e.constructor),t||{},e),e._renderProxy=e,e._self=e,Pt(e),kt(e),Ee(e),Mt(e,"beforeCreate"),re(e),zt(e),ne(e),Mt(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}(Ne),function(t){var e={};e.get=function(){return this._data};var n={};n.get=function(){return this._props},Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=F,t.prototype.$delete=B,t.prototype.$watch=function(t,e,n){var r=this;if(c(e))return ee(r,t,e,n);n=n||{},n.user=!0;var i=new ws(r,t,e,n);return n.immediate&&e.call(r,i.value),function(){i.teardown()}}}(Ne),function(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this,i=this;if(Array.isArray(t))for(var o=0,s=t.length;o<s;o++)r.$on(t[o],n);else(i._events[t]||(i._events[t]=[])).push(n),e.test(t)&&(i._hasHookEvent=!0);return i},t.prototype.$once=function(t,e){function n(){r.$off(t,n),e.apply(r,arguments)}var r=this;return n.fn=e,r.$on(t,n),r},t.prototype.$off=function(t,e){var n=this,r=this;if(!arguments.length)return r._events=Object.create(null),r;if(Array.isArray(t)){for(var i=0,o=t.length;i<o;i++)n.$off(t[i],e);return r}var s=r._events[t];if(!s)return r;if(!e)return r._events[t]=null,r;if(e)for(var a,u=s.length;u--;)if((a=s[u])===e||a.fn===e){s.splice(u,1);break}return r},t.prototype.$emit=function(t){var e=this,n=e._events[t];if(n){n=n.length>1?_(n):n;for(var r=_(arguments,1),i=0,o=n.length;i<o;i++)try{n[i].apply(e,r)}catch(n){rt(n,e,'event handler for "'+t+'"')}}return e}}(Ne),function(t){t.prototype._update=function(t,e){var n=this;n._isMounted&&Mt(n,"beforeUpdate");var r=n.$el,i=n._vnode,o=ds;ds=n,n._vnode=t,i?n.$el=n.__patch__(i,t):(n.$el=n.__patch__(n.$el,t,e,!1,n.$options._parentElm,n.$options._refElm),n.$options._parentElm=n.$options._refElm=null),ds=o,r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},t.prototype.$forceUpdate=function(){var t=this;t._watcher&&t._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){Mt(t,"beforeDestroy"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||v(e.$children,t),t._watcher&&t._watcher.teardown();for(var n=t._watchers.length;n--;)t._watchers[n].teardown();t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),Mt(t,"destroyed"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}}}(Ne),function(t){me(t.prototype),t.prototype.$nextTick=function(t){return ut(t,this)},t.prototype._render=function(){var t=this,e=t.$options,n=e.render,r=e._parentVnode;r&&(t.$scopedSlots=r.data.scopedSlots||so),t.$vnode=r;var i;try{i=n.call(t._renderProxy,t.$createElement)}catch(e){rt(e,t,"render"),i=t._vnode}return i instanceof zo||(i=Ko()),i.parent=r,i}}(Ne);var Es=[String,RegExp,Array],Ls={name:"keep-alive",abstract:!0,props:{include:Es,exclude:Es,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){var t=this;for(var e in t.cache)Ve(t.cache,e,t.keys)},mounted:function(){var t=this;this.$watch("include",function(e){He(t,function(t){return qe(e,t)})}),this.$watch("exclude",function(e){He(t,function(t){return!qe(e,t)})})},render:function(){var t=this.$slots.default,e=Ot(t),n=e&&e.componentOptions;if(n){var r=Be(n),i=this,o=i.include,s=i.exclude;if(o&&(!r||!qe(o,r))||s&&r&&qe(s,r))return e;var a=this,u=a.cache,c=a.keys,l=null==e.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):e.key;u[l]?(e.componentInstance=u[l].componentInstance,v(c,l),c.push(l)):(u[l]=e,c.push(l),this.max&&c.length>parseInt(this.max)&&Ve(u,c[0],c,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}},Ts={KeepAlive:Ls};!function(t){var e={};e.get=function(){return Co},Object.defineProperty(t,"config",e),t.util={warn:qo,extend:w,mergeOptions:Y,defineReactive:R},t.set=F,t.delete=B,t.nextTick=ut,t.options=Object.create(null),wo.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,w(t.options.components,Ts),Ue(t),Ie(t),De(t),Fe(t)}(Ne),Object.defineProperty(Ne.prototype,"$isServer",{get:Ro}),Object.defineProperty(Ne.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Ne,"FunctionalRenderContext",{value:ge}),Ne.version="2.5.16";var Ps,js,Ns,Us,Is,Ds,Ms,Rs,Fs,Bs=h("style,class"),qs=h("input,textarea,option,select,progress"),Hs=function(t,e,n){return"value"===n&&qs(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},Vs=h("contenteditable,draggable,spellcheck"),Gs=h("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),zs="http://www.w3.org/1999/xlink",Ws=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Ks=function(t){return Ws(t)?t.slice(6,t.length):""},Qs=function(t){return null==t||!1===t},Ys={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},Js=h("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),Xs=h("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Zs=function(t){return"pre"===t},ta=function(t){return Js(t)||Xs(t)},ea=Object.create(null),na=h("text,number,password,search,email,tel,url"),ra=Object.freeze({createElement:en,createElementNS:nn,createTextNode:rn,createComment:on,insertBefore:sn,removeChild:an,appendChild:un,parentNode:cn,nextSibling:ln,tagName:fn,setTextContent:pn,setStyleScope:dn}),ia={create:function(t,e){hn(e)},update:function(t,e){t.data.ref!==e.data.ref&&(hn(t,!0),hn(e))},destroy:function(t){hn(t,!0)}},oa=new zo("",{},[]),sa=["create","activate","update","remove","destroy"],aa={create:yn,update:yn,destroy:function(t){yn(t,oa)}},ua=Object.create(null),ca=[ia,aa],la={create:Cn,update:Cn},fa={create:$n,update:$n},pa=/[\w).+\-_$\]]/,da="__r",ha="__c",va={create:er,update:er},ma={create:nr,update:nr},ga=g(function(t){var e={},n=/;(?![^(]*\))/g,r=/:(.+)/;return t.split(n).forEach(function(t){if(t){var n=t.split(r);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}),ya=/^--/,ba=/\s*!important$/,_a=function(t,e,n){if(ya.test(e))t.style.setProperty(e,n);else if(ba.test(n))t.style.setProperty(e,n.replace(ba,""),"important");else{var r=xa(e);if(Array.isArray(n))for(var i=0,o=n.length;i<o;i++)t.style[r]=n[i];else t.style[r]=n}},wa=["Webkit","Moz","ms"],xa=g(function(t){if(Fs=Fs||document.createElement("div").style,"filter"!==(t=po(t))&&t in Fs)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<wa.length;n++){var r=wa[n]+e;if(r in Fs)return r}}),Ca={create:cr,update:cr},Oa=g(function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}}),ka=$o&&!To,$a="transition",Sa="animation",Aa="transition",Ea="transitionend",La="animation",Ta="animationend";ka&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Aa="WebkitTransition",Ea="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(La="WebkitAnimation",Ta="webkitAnimationEnd"));var Pa=$o?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()},ja=/\b(transform|all)(,|$)/,Na=$o?{create:Or,activate:Or,remove:function(t,e){!0!==t.data.show?wr(t,e):e()}}:{},Ua=[la,fa,va,ma,Ca,Na],Ia=Ua.concat(ca),Da=function(t){function e(t){return new zo(T.tagName(t).toLowerCase(),{},[],void 0,t)}function n(t,e){function n(){0==--n.listeners&&s(t)}return n.listeners=e,n}function s(t){var e=T.parentNode(t);i(e)&&T.removeChild(e,t)}function u(t,e,n,r,s,a,u){if(i(t.elm)&&i(a)&&(t=a[u]=N(t)),t.isRootInsert=!s,!c(t,e,n,r)){var l=t.data,f=t.children,h=t.tag;i(h)?(t.elm=t.ns?T.createElementNS(t.ns,h):T.createElement(h,t),g(t),d(t,f,e),i(l)&&m(t,e),p(n,t.elm,r)):o(t.isComment)?(t.elm=T.createComment(t.text),p(n,t.elm,r)):(t.elm=T.createTextNode(t.text),p(n,t.elm,r))}}function c(t,e,n,r){var s=t.data;if(i(s)){var a=i(t.componentInstance)&&s.keepAlive;if(i(s=s.hook)&&i(s=s.init)&&s(t,!1,n,r),i(t.componentInstance))return l(t,e),o(a)&&f(t,e,n,r),!0}}function l(t,e){i(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,v(t)?(m(t,e),g(t)):(hn(t),e.push(t))}function f(t,e,n,r){for(var o,s=t;s.componentInstance;)if(s=s.componentInstance._vnode,i(o=s.data)&&i(o=o.transition)){for(o=0;o<E.activate.length;++o)E.activate[o](oa,s);e.push(s);break}p(n,t.elm,r)}function p(t,e,n){i(t)&&(i(n)?n.parentNode===t&&T.insertBefore(t,e,n):T.appendChild(t,e))}function d(t,e,n){if(Array.isArray(e))for(var r=0;r<e.length;++r)u(e[r],n,t.elm,null,!0,e,r);else a(t.text)&&T.appendChild(t.elm,T.createTextNode(String(t.text)))}function v(t){for(;t.componentInstance;)t=t.componentInstance._vnode;return i(t.tag)}function m(t,e){for(var n=0;n<E.create.length;++n)E.create[n](oa,t);S=t.data.hook,i(S)&&(i(S.create)&&S.create(oa,t),i(S.insert)&&e.push(t))}function g(t){var e;if(i(e=t.fnScopeId))T.setStyleScope(t.elm,e);else for(var n=t;n;)i(e=n.context)&&i(e=e.$options._scopeId)&&T.setStyleScope(t.elm,e),n=n.parent;i(e=ds)&&e!==t.context&&e!==t.fnContext&&i(e=e.$options._scopeId)&&T.setStyleScope(t.elm,e)}function y(t,e,n,r,i,o){for(;r<=i;++r)u(n[r],o,t,e,!1,n,r)}function b(t){var e,n,r=t.data;if(i(r))for(i(e=r.hook)&&i(e=e.destroy)&&e(t),e=0;e<E.destroy.length;++e)E.destroy[e](t);if(i(e=t.children))for(n=0;n<t.children.length;++n)b(t.children[n])}function _(t,e,n,r){for(;n<=r;++n){var o=e[n];i(o)&&(i(o.tag)?(w(o),b(o)):s(o.elm))}}function w(t,e){if(i(e)||i(t.data)){var r,o=E.remove.length+1;for(i(e)?e.listeners+=o:e=n(t.elm,o),i(r=t.componentInstance)&&i(r=r._vnode)&&i(r.data)&&w(r,e),r=0;r<E.remove.length;++r)E.remove[r](t,e);i(r=t.data.hook)&&i(r=r.remove)?r(t,e):e()}else s(t.elm)}function x(t,e,n,o,s){for(var a,c,l,f,p=0,d=0,h=e.length-1,v=e[0],m=e[h],g=n.length-1,b=n[0],w=n[g],x=!s;p<=h&&d<=g;)r(v)?v=e[++p]:r(m)?m=e[--h]:vn(v,b)?(O(v,b,o),v=e[++p],b=n[++d]):vn(m,w)?(O(m,w,o),m=e[--h],w=n[--g]):vn(v,w)?(O(v,w,o),x&&T.insertBefore(t,v.elm,T.nextSibling(m.elm)),v=e[++p],w=n[--g]):vn(m,b)?(O(m,b,o),x&&T.insertBefore(t,m.elm,v.elm),m=e[--h],b=n[++d]):(r(a)&&(a=gn(e,p,h)),c=i(b.key)?a[b.key]:C(b,e,p,h),r(c)?u(b,o,t,v.elm,!1,n,d):(l=e[c],vn(l,b)?(O(l,b,o),e[c]=void 0,x&&T.insertBefore(t,l.elm,v.elm)):u(b,o,t,v.elm,!1,n,d)),b=n[++d]);p>h?(f=r(n[g+1])?null:n[g+1].elm,y(t,f,n,d,g,o)):d>g&&_(t,e,p,h)}function C(t,e,n,r){for(var o=n;o<r;o++){var s=e[o];if(i(s)&&vn(t,s))return o}}function O(t,e,n,s){if(t!==e){var a=e.elm=t.elm;if(o(t.isAsyncPlaceholder))return void(i(e.asyncFactory.resolved)?$(t.elm,e,n):e.isAsyncPlaceholder=!0);if(o(e.isStatic)&&o(t.isStatic)&&e.key===t.key&&(o(e.isCloned)||o(e.isOnce)))return void(e.componentInstance=t.componentInstance);var u,c=e.data;i(c)&&i(u=c.hook)&&i(u=u.prepatch)&&u(t,e);var l=t.children,f=e.children;if(i(c)&&v(e)){for(u=0;u<E.update.length;++u)E.update[u](t,e);i(u=c.hook)&&i(u=u.update)&&u(t,e)}r(e.text)?i(l)&&i(f)?l!==f&&x(a,l,f,n,s):i(f)?(i(t.text)&&T.setTextContent(a,""),y(a,null,f,0,f.length-1,n)):i(l)?_(a,l,0,l.length-1):i(t.text)&&T.setTextContent(a,""):t.text!==e.text&&T.setTextContent(a,e.text),i(c)&&i(u=c.hook)&&i(u=u.postpatch)&&u(t,e)}}function k(t,e,n){if(o(n)&&i(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r<e.length;++r)e[r].data.hook.insert(e[r])}function $(t,e,n,r){var s,a=e.tag,u=e.data,c=e.children;if(r=r||u&&u.pre,e.elm=t,o(e.isComment)&&i(e.asyncFactory))return e.isAsyncPlaceholder=!0,!0;if(i(u)&&(i(s=u.hook)&&i(s=s.init)&&s(e,!0),i(s=e.componentInstance)))return l(e,n),!0;if(i(a)){if(i(c))if(t.hasChildNodes())if(i(s=u)&&i(s=s.domProps)&&i(s=s.innerHTML)){if(s!==t.innerHTML)return!1}else{for(var f=!0,p=t.firstChild,h=0;h<c.length;h++){if(!p||!$(p,c[h],n,r)){f=!1;break}p=p.nextSibling}if(!f||p)return!1}else d(e,c,n);if(i(u)){var v=!1;for(var g in u)if(!P(g)){v=!0,m(e,n);break}!v&&u.class&&ct(u.class)}}else t.data!==e.text&&(t.data=e.text);return!0}var S,A,E={},L=t.modules,T=t.nodeOps;for(S=0;S<sa.length;++S)for(E[sa[S]]=[],A=0;A<L.length;++A)i(L[A][sa[S]])&&E[sa[S]].push(L[A][sa[S]]);var P=h("attrs,class,staticClass,staticStyle,key");return function(t,n,s,a,c,l){if(r(n))return void(i(t)&&b(t));var f=!1,p=[];if(r(t))f=!0,u(n,p,c,l);else{var d=i(t.nodeType);if(!d&&vn(t,n))O(t,n,p,a);else{if(d){if(1===t.nodeType&&t.hasAttribute(_o)&&(t.removeAttribute(_o),s=!0),o(s)&&$(t,n,p))return k(n,p,!0),t;t=e(t)}var h=t.elm,m=T.parentNode(h);if(u(n,p,h._leaveCb?null:m,T.nextSibling(h)),i(n.parent))for(var g=n.parent,y=v(n);g;){for(var w=0;w<E.destroy.length;++w)E.destroy[w](g);if(g.elm=n.elm,y){for(var x=0;x<E.create.length;++x)E.create[x](oa,g);var C=g.data.hook.insert;if(C.merged)for(var S=1;S<C.fns.length;S++)C.fns[S]()}else hn(g);g=g.parent}i(m)?_(m,[t],0,0):i(t.tag)&&b(t)}}return k(n,p,f),n.elm}}({nodeOps:ra,modules:Ia});To&&document.addEventListener("selectionchange",function(){var t=document.activeElement;t&&t.vmodel&&Tr(t,"input")});var Ma={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?dt(n,"postpatch",function(){Ma.componentUpdated(t,e,n)}):kr(t,e,n.context),t._vOptions=[].map.call(t.options,Ar)):("textarea"===n.tag||na(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",Er),t.addEventListener("compositionend",Lr),t.addEventListener("change",Lr),To&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){kr(t,e,n.context);var r=t._vOptions,i=t._vOptions=[].map.call(t.options,Ar);if(i.some(function(t,e){return!O(t,r[e])})){(t.multiple?e.value.some(function(t){return Sr(t,i)}):e.value!==e.oldValue&&Sr(e.value,i))&&Tr(t,"change")}}}},Ra={bind:function(t,e,n){var r=e.value;n=Pr(n);var i=n.data&&n.data.transition,o=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&i?(n.data.show=!0,_r(n,function(){t.style.display=o})):t.style.display=r?o:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&(n=Pr(n),n.data&&n.data.transition?(n.data.show=!0,r?_r(n,function(){t.style.display=t.__vOriginalDisplay}):wr(n,function(){t.style.display="none"})):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,i){i||(t.style.display=t.__vOriginalDisplay)}},Fa={model:Ma,show:Ra},Ba={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]},qa={name:"transition",props:Ba,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(function(t){return t.tag||Ct(t)}),n.length)){var r=this.mode,i=n[0];if(Ir(this.$vnode))return i;var o=jr(i);if(!o)return i;if(this._leaving)return Ur(t,i);var s="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?s+"comment":s+o.tag:a(o.key)?0===String(o.key).indexOf(s)?o.key:s+o.key:o.key;var u=(o.data||(o.data={})).transition=Nr(this),c=this._vnode,l=jr(c);if(o.data.directives&&o.data.directives.some(function(t){return"show"===t.name})&&(o.data.show=!0),l&&l.data&&!Dr(o,l)&&!Ct(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=w({},u);if("out-in"===r)return this._leaving=!0,dt(f,"afterLeave",function(){e._leaving=!1,e.$forceUpdate()}),Ur(t,i);if("in-out"===r){if(Ct(o))return c;var p,d=function(){p()};dt(u,"afterEnter",d),dt(u,"enterCancelled",d),dt(f,"delayLeave",function(t){p=t})}}return i}}},Ha=w({tag:String,moveClass:String},Ba);delete Ha.mode;var Va={props:Ha,render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],s=Nr(this),a=0;a<i.length;a++){var u=i[a];if(u.tag)if(null!=u.key&&0!==String(u.key).indexOf("__vlist"))o.push(u),n[u.key]=u,(u.data||(u.data={})).transition=s;else;}if(r){for(var c=[],l=[],f=0;f<r.length;f++){var p=r[f];p.data.transition=s,p.data.pos=p.elm.getBoundingClientRect(),n[p.key]?c.push(p):l.push(p)}this.kept=t(e,null,c),this.removed=l}return t(e,null,o)},beforeUpdate:function(){this.__patch__(this._vnode,this.kept,!1,!0),this._vnode=this.kept},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||"v")+"-move";t.length&&this.hasMove(t[0].elm,e)&&(t.forEach(Mr),t.forEach(Rr),t.forEach(Fr),this._reflow=document.body.offsetHeight,t.forEach(function(t){if(t.data.moved){var n=t.elm,r=n.style;hr(n,e),r.transform=r.WebkitTransform=r.transitionDuration="",n.addEventListener(Ea,n._moveCb=function t(r){r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(Ea,t),n._moveCb=null,vr(n,e))})}}))},methods:{hasMove:function(t,e){if(!ka)return!1;if(this._hasMove)return this._hasMove;var n=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach(function(t){fr(n,t)}),lr(n,e),n.style.display="none",this.$el.appendChild(n);var r=gr(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}},Ga={Transition:qa,TransitionGroup:Va};Ne.config.mustUseProp=Hs,Ne.config.isReservedTag=ta,Ne.config.isReservedAttr=Bs,Ne.config.getTagNamespace=Xe,Ne.config.isUnknownElement=Ze,w(Ne.options.directives,Fa),w(Ne.options.components,Ga),Ne.prototype.__patch__=$o?Da:C,Ne.prototype.$mount=function(t,e){return t=t&&$o?tn(t):void 0,jt(this,t,e)},$o&&setTimeout(function(){Co.devtools&&Fo&&Fo.emit("init",Ne)},0);var za,Wa=/\{\{((?:.|\n)+?)\}\}/g,Ka=/[-.*+?^${}()|[\]\/\\]/g,Qa=g(function(t){var e=t[0].replace(Ka,"\\$&"),n=t[1].replace(Ka,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+n,"g")}),Ya={staticKeys:["staticClass"],transformNode:qr,genData:Hr},Ja={staticKeys:["staticStyle"],transformNode:Vr,genData:Gr},Xa={decode:function(t){return za=za||document.createElement("div"),za.innerHTML=t,za.textContent}},Za=h("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),tu=h("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),eu=h("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),nu=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ru="[a-zA-Z_][\\w\\-\\.]*",iu="((?:"+ru+"\\:)?"+ru+")",ou=new RegExp("^<"+iu),su=/^\s*(\/?)>/,au=new RegExp("^<\\/"+iu+"[^>]*>"),uu=/^<!DOCTYPE [^>]+>/i,cu=/^<!\--/,lu=/^<!\[/,fu=!1;"x".replace(/x(.)?/g,function(t,e){fu=""===e});var pu,du,hu,vu,mu,gu,yu,bu,_u,wu,xu,Cu=h("script,style,textarea",!0),Ou={},ku={"&lt;":"<","&gt;":">","&quot;":'"',"&amp;":"&","&#10;":"\n","&#9;":"\t"},$u=/&(?:lt|gt|quot|amp);/g,Su=/&(?:lt|gt|quot|amp|#10|#9);/g,Au=h("pre,textarea",!0),Eu=function(t,e){return t&&Au(t)&&"\n"===e[0]},Lu=/^@|^v-on:/,Tu=/^v-|^@|^:/,Pu=/([^]*?)\s+(?:in|of)\s+([^]*)/,ju=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Nu=/^\(|\)$/g,Uu=/:(.*)$/,Iu=/^:|^v-bind:/,Du=/\.[^.]+/g,Mu=g(Xa.decode),Ru=/^xmlns:NS\d+/,Fu=/^NS\d+:/,Bu={preTransformNode:gi},qu=[Ya,Ja,Bu],Hu={model:zn,text:bi,html:_i},Vu={expectHTML:!0,modules:qu,directives:Hu,isPreTag:Zs,isUnaryTag:Za,mustUseProp:Hs,canBeLeftOpenTag:tu,isReservedTag:ta,getTagNamespace:Xe,staticKeys:function(t){return t.reduce(function(t,e){return t.concat(e.staticKeys||[])},[]).join(",")}(qu)},Gu=g(xi),zu=/^([\w$_]+|\([^)]*?\))\s*=>|^function\s*\(/,Wu=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,Ku={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Qu={esc:"Escape",tab:"Tab",enter:"Enter",space:" ",up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete"]},Yu=function(t){return"if("+t+")return null;"},Ju={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:Yu("$event.target !== $event.currentTarget"),ctrl:Yu("!$event.ctrlKey"),shift:Yu("!$event.shiftKey"),alt:Yu("!$event.altKey"),meta:Yu("!$event.metaKey"),left:Yu("'button' in $event && $event.button !== 0"),middle:Yu("'button' in $event && $event.button !== 1"),right:Yu("'button' in $event && $event.button !== 2")},Xu={on:Ti,bind:Pi,cloak:C},Zu=function(t){this.options=t,this.warn=t.warn||En,this.transforms=Ln(t.modules,"transformCode"),this.dataGenFns=Ln(t.modules,"genData"),this.directives=w(w({},Xu),t.directives);var e=t.isReservedTag||yo;this.maybeComponent=function(t){return!e(t.tag)},this.onceId=0,this.staticRenderFns=[]},tc=(new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b"),new RegExp("\\b"+"delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b")+"\\s*\\([^\\)]*\\)"),function(t){return function(e){function n(n,r){var i=Object.create(e),o=[],s=[];if(i.warn=function(t,e){(e?s:o).push(t)},r){r.modules&&(i.modules=(e.modules||[]).concat(r.modules)),r.directives&&(i.directives=w(Object.create(e.directives||null),r.directives));for(var a in r)"modules"!==a&&"directives"!==a&&(i[a]=r[a])}var u=t(n,i);return u.errors=o,u.tips=s,u}return{compile:n,compileToFunctions:ro(n)}}}(function(t,e){var n=Qr(t.trim(),e);!1!==e.optimize&&wi(n,e);var r=ji(n,e);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}})),ec=tc(Vu),nc=ec.compileToFunctions,rc=!!$o&&io(!1),ic=!!$o&&io(!0),oc=g(function(t){var e=tn(t);return e&&e.innerHTML}),sc=Ne.prototype.$mount;Ne.prototype.$mount=function(t,e){if((t=t&&tn(t))===document.body||t===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=oc(r));else{if(!r.nodeType)return this;r=r.innerHTML}else t&&(r=oo(t));if(r){var i=nc(r,{shouldDecodeNewlines:rc,shouldDecodeNewlinesForHref:ic,delimiters:n.delimiters,comments:n.comments},this),o=i.render,s=i.staticRenderFns;n.render=o,n.staticRenderFns=s}}return sc.call(this,t,e)},Ne.compile=nc,e.a=Ne}).call(e,n(3),n(24).setImmediate)},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(e,n,r){"use strict";var i=r(46),o=r.n(i),s=document.getElementsByTagName("head")[0].getAttribute("data-requesttoken"),a={headers:{requesttoken:s}},u=function(t){return t.replace(/\/$/,"")};n.a={requireAdmin:function(){return new Promise(function(e,n){var r=void 0,i=setTimeout(function(){clearTimeout(r),document.getElementsByClassName("oc-dialog-close").length>0&&document.getElementsByClassName("oc-dialog-close")[0].click(),OC.Notification.showTemporary(t("settings","You did not enter the password in time")),n("Password request cancelled")},7e3);OC.PasswordConfirmation.requirePasswordConfirmation(),function t(){if(OC.PasswordConfirmation.requiresPasswordConfirmation())return void(r=setTimeout(t,500));clearTimeout(r),clearTimeout(i),e()}()})},get:function(t){return o.a.get(u(t),a).then(function(t){return Promise.resolve(t)}).catch(function(t){return Promise.reject(t)})},post:function(t,e){return o.a.post(u(t),e,a).then(function(t){return Promise.resolve(t)}).catch(function(t){return Promise.reject(t)})},patch:function(t,e){return o.a.patch(u(t),e,a).then(function(t){return Promise.resolve(t)}).catch(function(t){return Promise.reject(t)})},put:function(t,e){return o.a.put(u(t),e,a).then(function(t){return Promise.resolve(t)}).catch(function(t){return Promise.reject(t)})},delete:function(t,e){return o.a.delete(u(t),{data:e,headers:a.headers}).then(function(t){return Promise.resolve(t)}).catch(function(t){return Promise.reject(t)})}}},function(t,e){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function i(t){if(l===setTimeout)return setTimeout(t,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(t,0);try{return l(t,0)}catch(e){try{return l.call(null,t,0)}catch(e){return l.call(this,t,0)}}}function o(t){if(f===clearTimeout)return clearTimeout(t);if((f===r||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(t);try{return f(t)}catch(e){try{return f.call(null,t)}catch(e){return f.call(this,t)}}}function s(){v&&d&&(v=!1,d.length?h=d.concat(h):m=-1,h.length&&a())}function a(){if(!v){var t=i(s);v=!0;for(var e=h.length;e;){for(d=h,h=[];++m<e;)d&&d[m].run();m=-1,e=h.length}d=null,v=!1,o(t)}}function u(t,e){this.fun=t,this.array=e}function c(){}var l,f,p=t.exports={};!function(){try{l="function"==typeof setTimeout?setTimeout:n}catch(t){l=n}try{f="function"==typeof clearTimeout?clearTimeout:r}catch(t){f=r}}();var d,h=[],v=!1,m=-1;p.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];h.push(new u(t,e)),1!==h.length||v||i(a)},u.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.prependListener=c,p.prependOnceListener=c,p.listeners=function(t){return[]},p.binding=function(t){throw new Error("process.binding is not supported")},p.cwd=function(){return"/"},p.chdir=function(t){throw new Error("process.chdir is not supported")},p.umask=function(){return 0}},function(t,e,n){!function(e,n){t.exports=n()}(0,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=66)}([function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){t.exports=!n(12)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(10),i=n(43),o=n(31),s=Object.defineProperty;e.f=n(1)?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return s(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(77),i=n(21);t.exports=function(t){return r(i(t))}},function(t,e,n){var r=n(9),i=n(52),o=n(18),s=n(55),a=n(53),u=function(t,e,n){var c,l,f,p,d=t&u.F,h=t&u.G,v=t&u.S,m=t&u.P,g=t&u.B,y=h?r:v?r[e]||(r[e]={}):(r[e]||{}).prototype,b=h?i:i[e]||(i[e]={}),_=b.prototype||(b.prototype={});h&&(n=e);for(c in n)l=!d&&y&&void 0!==y[c],f=(l?y:n)[c],p=g&&l?a(f,r):m&&"function"==typeof f?a(Function.call,f):f,y&&s(y,c,f,t&u.U),b[c]!=f&&o(b,c,p),m&&_[c]!=f&&(_[c]=f)};r.core=i,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e,n){var r=n(3),i=n(15);t.exports=n(1)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var r=n(29)("wks"),i=n(16),o=n(0).Symbol,s="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=s&&o[t]||(s?o:i)("Symbol."+t))}).store=r},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){var r=n(13);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var r=n(48),i=n(22);t.exports=Object.keys||function(t){return r(t,i)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){var r=n(109),i=n(110);t.exports=n(35)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var r=n(8);t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(0),i=n(11),o=n(74),s=n(6),a=function(t,e,n){var u,c,l,f=t&a.F,p=t&a.G,d=t&a.S,h=t&a.P,v=t&a.B,m=t&a.W,g=p?i:i[e]||(i[e]={}),y=g.prototype,b=p?r:d?r[e]:(r[e]||{}).prototype;p&&(n=e);for(u in n)(c=!f&&b&&void 0!==b[u])&&u in g||(l=c?b[u]:n[u],g[u]=p&&"function"!=typeof b[u]?n[u]:v&&c?o(l,r):m&&b[u]==l?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(l):h&&"function"==typeof l?o(Function.call,l):l,h&&((g.virtual||(g.virtual={}))[u]=l,t&a.R&&y&&!y[u]&&s(y,u,l)))};a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e){t.exports={}},function(t,e){t.exports=!0},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(3).f,i=n(2),o=n(7)("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},function(t,e,n){var r=n(29)("keys"),i=n(16);t.exports=function(t){return r[t]||(r[t]=i(t))}},function(t,e,n){var r=n(0),i=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(13);t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var r=n(0),i=n(11),o=n(25),s=n(33),a=n(3).f;t.exports=function(t){var e=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:s.f(t)})}},function(t,e,n){e.f=n(7)},function(t,e,n){var r=n(53),i=n(36),o=n(57),s=n(37),a=n(104);t.exports=function(t,e){var n=1==t,u=2==t,c=3==t,l=4==t,f=6==t,p=5==t||f,d=e||a;return function(e,a,h){for(var v,m,g=o(e),y=i(g),b=r(a,h,3),_=s(y.length),w=0,x=n?d(e,_):u?d(e,0):void 0;_>w;w++)if((p||w in y)&&(v=y[w],m=b(v,w,g),t))if(n)x[w]=m;else if(m)switch(t){case 3:return!0;case 5:return v;case 6:return w;case 2:x.push(v)}else if(l)return!1;return f?-1:c||l?l:x}}},function(t,e,n){t.exports=!n(8)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(51);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(56),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e,n){var r=n(111)("wks"),i=n(58),o=n(9).Symbol,s="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=s&&o[t]||(s?o:i)("Symbol."+t))}).store=r},function(t,e,n){"use strict";function r(t){return!(0===t||(!Array.isArray(t)||0!==t.length)&&t)}function i(t){return function(){return!t.apply(void 0,arguments)}}function o(t,e){return void 0===t&&(t="undefined"),null===t&&(t="null"),!1===t&&(t="false"),-1!==t.toString().toLowerCase().indexOf(e.trim())}function s(t,e,n,r){return t.filter(function(t){return o(r(t,n),e)})}function a(t){return t.filter(function(t){return!t.$isLabel})}function u(t,e){return function(n){return n.reduce(function(n,r){return r[t]&&r[t].length?(n.push({$groupLabel:r[e],$isLabel:!0}),n.concat(r[t])):n},[])}}function c(t,e,n,r,i){return function(o){return o.map(function(o){var a;if(!o[n])return console.warn("Options passed to vue-multiselect do not contain groups, despite the config."),[];var u=s(o[n],t,e,i);return u.length?(a={},v()(a,r,o[r]),v()(a,n,u),a):[]})}}var l=n(65),f=n.n(l),p=n(59),d=(n.n(p),n(122)),h=(n.n(d),n(64)),v=n.n(h),m=n(120),g=(n.n(m),n(121)),y=(n.n(g),n(117)),b=(n.n(y),n(123)),_=(n.n(b),n(118)),w=(n.n(_),n(119)),x=(n.n(w),function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(t){return e.reduce(function(t,e){return e(t)},t)}});e.a={data:function(){return{search:"",isOpen:!1,prefferedOpenDirection:"below",optimizedHeight:this.maxHeight}},props:{internalSearch:{type:Boolean,default:!0},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},value:{type:null,default:function(){return[]}},trackBy:{type:String},label:{type:String},searchable:{type:Boolean,default:!0},clearOnSelect:{type:Boolean,default:!0},hideSelected:{type:Boolean,default:!1},placeholder:{type:String,default:"Select option"},allowEmpty:{type:Boolean,default:!0},resetAfter:{type:Boolean,default:!1},closeOnSelect:{type:Boolean,default:!0},customLabel:{type:Function,default:function(t,e){return r(t)?"":e?t[e]:t}},taggable:{type:Boolean,default:!1},tagPlaceholder:{type:String,default:"Press enter to create a tag"},tagPosition:{type:String,default:"top"},max:{type:[Number,Boolean],default:!1},id:{default:null},optionsLimit:{type:Number,default:1e3},groupValues:{type:String},groupLabel:{type:String},groupSelect:{type:Boolean,default:!1},blockKeys:{type:Array,default:function(){return[]}},preserveSearch:{type:Boolean,default:!1},preselectFirst:{type:Boolean,default:!1}},mounted:function(){this.multiple||this.clearOnSelect||console.warn("[Vue-Multiselect warn]: ClearOnSelect and Multiple props can’t be both set to false."),!this.multiple&&this.max&&console.warn("[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false."),this.preselectFirst&&!this.internalValue.length&&this.options.length&&this.select(this.filteredOptions[0])},computed:{internalValue:function(){return this.value||0===this.value?Array.isArray(this.value)?this.value:[this.value]:[]},filteredOptions:function(){var t=this.search||"",e=t.toLowerCase().trim(),n=this.options.concat();return n=this.internalSearch?this.groupValues?this.filterAndFlat(n,e,this.label):s(n,e,this.label,this.customLabel):this.groupValues?u(this.groupValues,this.groupLabel)(n):n,n=this.hideSelected?n.filter(i(this.isSelected)):n,this.taggable&&e.length&&!this.isExistingOption(e)&&("bottom"===this.tagPosition?n.push({isTag:!0,label:t}):n.unshift({isTag:!0,label:t})),n.slice(0,this.optionsLimit)},valueKeys:function(){var t=this;return this.trackBy?this.internalValue.map(function(e){return e[t.trackBy]}):this.internalValue},optionKeys:function(){var t=this;return(this.groupValues?this.flatAndStrip(this.options):this.options).map(function(e){return t.customLabel(e,t.label).toString().toLowerCase()})},currentOptionLabel:function(){return this.multiple?this.searchable?"":this.placeholder:this.internalValue.length?this.getOptionLabel(this.internalValue[0]):this.searchable?"":this.placeholder}},watch:{internalValue:function(){this.resetAfter&&this.internalValue.length&&(this.search="",this.$emit("input",this.multiple?[]:null))},search:function(){this.$emit("search-change",this.search,this.id)}},methods:{getValue:function(){return this.multiple?this.internalValue:0===this.internalValue.length?null:this.internalValue[0]},filterAndFlat:function(t,e,n){return x(c(e,n,this.groupValues,this.groupLabel,this.customLabel),u(this.groupValues,this.groupLabel))(t)},flatAndStrip:function(t){return x(u(this.groupValues,this.groupLabel),a)(t)},updateSearch:function(t){this.search=t},isExistingOption:function(t){return!!this.options&&this.optionKeys.indexOf(t)>-1},isSelected:function(t){var e=this.trackBy?t[this.trackBy]:t;return this.valueKeys.indexOf(e)>-1},getOptionLabel:function(t){if(r(t))return"";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return r(e)?"":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)return void this.selectGroup(t);if(!(-1!==this.blockKeys.indexOf(e)||this.disabled||t.$isDisabled||t.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&("Tab"!==e||this.pointerDirty)){if(t.isTag)this.$emit("tag",t.label,this.id),this.search="",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(t))return void("Tab"!==e&&this.removeElement(t));this.$emit("select",t,this.id),this.multiple?this.$emit("input",this.internalValue.concat([t]),this.id):this.$emit("input",t,this.id),this.clearOnSelect&&(this.search="")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(t){var e=this,n=this.options.find(function(n){return n[e.groupLabel]===t.$groupLabel});if(n)if(this.wholeGroupSelected(n)){this.$emit("remove",n[this.groupValues],this.id);var r=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit("input",r,this.id)}else{var o=n[this.groupValues].filter(i(this.isSelected));this.$emit("select",o,this.id),this.$emit("input",this.internalValue.concat(o),this.id)}},wholeGroupSelected:function(t){return t[this.groupValues].every(this.isSelected)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var n="object"===f()(t)?this.valueKeys.indexOf(t[this.trackBy]):this.valueKeys.indexOf(t);if(this.$emit("remove",t,this.id),this.multiple){var r=this.internalValue.slice(0,n).concat(this.internalValue.slice(n+1));this.$emit("input",r,this.id)}else this.$emit("input",null,this.id);this.closeOnSelect&&e&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf("Delete")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var t=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=""),this.$nextTick(function(){return t.$refs.search.focus()})):this.$el.focus(),this.$emit("open",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=""),this.$emit("close",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if("undefined"!=typeof window){var t=this.$el.getBoundingClientRect().top,e=window.innerHeight-this.$el.getBoundingClientRect().bottom;e>this.maxHeight||e>t||"below"===this.openDirection||"bottom"===this.openDirection?(this.prefferedOpenDirection="below",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.prefferedOpenDirection="above",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){"use strict";var r=n(59);n.n(r),e.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(t,e){return{"multiselect__option--highlight":t===this.pointer&&this.showPointer,"multiselect__option--selected":this.isSelected(e)}},groupHighlight:function(t,e){var n=this;if(!this.groupSelect)return["multiselect__option--disabled"];var r=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return[this.groupSelect?"multiselect__option--group":"multiselect__option--disabled",{"multiselect__option--highlight":t===this.pointer&&this.showPointer},{"multiselect__option--group-selected":this.wholeGroupSelected(r)}]},addPointerElement:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Enter",e=t.key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward:function(){this.pointer<this.filteredOptions.length-1&&(this.pointer++,this.$refs.list.scrollTop<=this.pointerPosition-(this.visibleElements-1)*this.optionHeight&&(this.$refs.list.scrollTop=this.pointerPosition-(this.visibleElements-1)*this.optionHeight),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()),this.pointerDirty=!0},pointerBackward:function(){this.pointer>0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(t){this.pointer=t,this.pointerDirty=!0}}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(13),i=n(0).document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,e,n){t.exports=!n(1)&&!n(12)(function(){return 7!=Object.defineProperty(n(42)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){"use strict";var r=n(25),i=n(23),o=n(49),s=n(6),a=n(2),u=n(24),c=n(79),l=n(27),f=n(86),p=n(7)("iterator"),d=!([].keys&&"next"in[].keys()),h=function(){return this};t.exports=function(t,e,n,v,m,g,y){c(n,e,v);var b,_,w,x=function(t){if(!d&&t in $)return $[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},C=e+" Iterator",O="values"==m,k=!1,$=t.prototype,S=$[p]||$["@@iterator"]||m&&$[m],A=S||x(m),E=m?O?x("entries"):A:void 0,L="Array"==e?$.entries||S:S;if(L&&(w=f(L.call(new t)))!==Object.prototype&&(l(w,C,!0),r||a(w,p)||s(w,p,h)),O&&S&&"values"!==S.name&&(k=!0,A=function(){return S.call(this)}),r&&!y||!d&&!k&&$[p]||s($,p,A),u[e]=A,u[C]=h,m)if(b={values:O?A:x("values"),keys:g?A:x("keys"),entries:E},y)for(_ in b)_ in $||o($,_,b[_]);else i(i.P+i.F*(d||k),e,b);return b}},function(t,e,n){var r=n(10),i=n(83),o=n(22),s=n(28)("IE_PROTO"),a=function(){},u=function(){var t,e=n(42)("iframe"),r=o.length;for(e.style.display="none",n(76).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write("<script>document.F=Object<\/script>"),t.close(),u=t.F;r--;)delete u.prototype[o[r]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(a.prototype=r(t),n=new a,a.prototype=null,n[s]=t):n=u(),void 0===e?n:i(n,e)}},function(t,e,n){var r=n(48),i=n(22).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(2),i=n(4),o=n(73)(!1),s=n(28)("IE_PROTO");t.exports=function(t,e){var n,a=i(t),u=0,c=[];for(n in a)n!=s&&r(a,n)&&c.push(n);for(;e.length>u;)r(a,n=e[u++])&&(~o(c,n)||c.push(n));return c}},function(t,e,n){t.exports=n(6)},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(50);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var r=n(51);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(9),i=n(18),o=n(107),s=n(58)("src"),a=Function.toString,u=(""+a).split("toString");n(52).inspectSource=function(t){return a.call(t)},(t.exports=function(t,e,n,a){var c="function"==typeof n;c&&(o(n,"name")||i(n,"name",e)),t[e]!==n&&(c&&(o(n,s)||i(n,s,t[e]?""+t[e]:u.join(String(e)))),t===r?t[e]=n:a?t[e]?t[e]=n:i(t,e,n):(delete t[e],i(t,e,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[s]||a.call(this)})},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(17);t.exports=function(t){return Object(r(t))}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){"use strict";var r=n(5),i=n(34)(5),o=!0;"find"in[]&&Array(1).find(function(){o=!1}),r(r.P+r.F*o,"Array",{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n(99)("find")},function(t,e,n){"use strict";function r(t){n(124)}var i=n(67),o=n(126),s=n(125),a=r,u=s(i.a,o.a,!1,a,null,null);e.a=u.exports},function(t,e,n){t.exports=n(68)},function(t,e,n){t.exports=n(69)},function(t,e,n){t.exports=n(70)},function(t,e,n){function r(t,e,n){return e in t?i(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var i=n(61);t.exports=r},function(t,e,n){function r(t){return(r="function"==typeof s&&"symbol"==typeof o?function(t){return typeof t}:function(t){return t&&"function"==typeof s&&t.constructor===s&&t!==s.prototype?"symbol":typeof t})(t)}function i(e){return"function"==typeof s&&"symbol"===r(o)?t.exports=i=function(t){return r(t)}:t.exports=i=function(t){return t&&"function"==typeof s&&t.constructor===s&&t!==s.prototype?"symbol":r(t)},i(e)}var o=n(63),s=n(62);t.exports=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(60),i=n(39),o=n(40);n.d(e,"Multiselect",function(){return r.a}),n.d(e,"multiselectMixin",function(){return i.a}),n.d(e,"pointerMixin",function(){return o.a}),e.default=r.a},function(t,e,n){"use strict";var r=n(39),i=n(40);e.a={name:"vue-multiselect",mixins:[r.a,i.a],props:{name:{type:String,default:""},selectLabel:{type:String,default:"Press enter to select"},selectGroupLabel:{type:String,default:"Press enter to select group"},selectedLabel:{type:String,default:"Selected"},deselectLabel:{type:String,default:"Press enter to remove"},deselectGroupLabel:{type:String,default:"Press enter to deselect group"},showLabels:{type:Boolean,default:!0},limit:{type:Number,default:99999},maxHeight:{type:Number,default:300},limitText:{type:Function,default:function(t){return"and ".concat(t," more")}},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},openDirection:{type:String,default:""},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{isSingleLabelVisible:function(){return this.singleValue&&(!this.isOpen||!this.searchable)&&!this.visibleValues.length},isPlaceholderVisible:function(){return!(this.internalValue.length||this.searchable&&this.isOpen)},visibleValues:function(){return this.multiple?this.internalValue.slice(0,this.limit):[]},singleValue:function(){return this.internalValue[0]},deselectLabelText:function(){return this.showLabels?this.deselectLabel:""},deselectGroupLabelText:function(){return this.showLabels?this.deselectGroupLabel:""},selectLabelText:function(){return this.showLabels?this.selectLabel:""},selectGroupLabelText:function(){return this.showLabels?this.selectGroupLabel:""},selectedLabelText:function(){return this.showLabels?this.selectedLabel:""},inputStyle:function(){if(this.multiple&&this.value&&this.value.length)return this.isOpen?{width:"auto"}:{width:"0",position:"absolute",padding:"0"}},contentStyle:function(){return this.options.length?{display:"inline-block"}:{display:"block"}},isAbove:function(){return"above"===this.openDirection||"top"===this.openDirection||"below"!==this.openDirection&&"bottom"!==this.openDirection&&"above"===this.prefferedOpenDirection},showSearchInput:function(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}}},function(t,e,n){n(92);var r=n(11).Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},function(t,e,n){n(95),n(93),n(96),n(97),t.exports=n(11).Symbol},function(t,e,n){n(94),n(98),t.exports=n(33).f("iterator")},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){t.exports=function(){}},function(t,e,n){var r=n(4),i=n(89),o=n(88);t.exports=function(t){return function(e,n,s){var a,u=r(e),c=i(u.length),l=o(s,c);if(t&&n!=n){for(;c>l;)if((a=u[l++])!=a)return!0}else for(;c>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}}},function(t,e,n){var r=n(71);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var r=n(14),i=n(47),o=n(26);t.exports=function(t){var e=r(t),n=i.f;if(n)for(var s,a=n(t),u=o.f,c=0;a.length>c;)u.call(t,s=a[c++])&&e.push(s);return e}},function(t,e,n){t.exports=n(0).document&&document.documentElement},function(t,e,n){var r=n(41);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(41);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){"use strict";var r=n(45),i=n(15),o=n(27),s={};n(6)(s,n(7)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(s,{next:i(1,n)}),o(t,e+" Iterator")}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r=n(14),i=n(4);t.exports=function(t,e){for(var n,o=i(t),s=r(o),a=s.length,u=0;a>u;)if(o[n=s[u++]]===e)return n}},function(t,e,n){var r=n(16)("meta"),i=n(13),o=n(2),s=n(3).f,a=0,u=Object.isExtensible||function(){return!0},c=!n(12)(function(){return u(Object.preventExtensions({}))}),l=function(t){s(t,r,{value:{i:"O"+ ++a,w:{}}})},f=function(t,e){if(!i(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,r)){if(!u(t))return"F";if(!e)return"E";l(t)}return t[r].i},p=function(t,e){if(!o(t,r)){if(!u(t))return!0;if(!e)return!1;l(t)}return t[r].w},d=function(t){return c&&h.NEED&&u(t)&&!o(t,r)&&l(t),t},h=t.exports={KEY:r,NEED:!1,fastKey:f,getWeak:p,onFreeze:d}},function(t,e,n){var r=n(3),i=n(10),o=n(14);t.exports=n(1)?Object.defineProperties:function(t,e){i(t);for(var n,s=o(e),a=s.length,u=0;a>u;)r.f(t,n=s[u++],e[n]);return t}},function(t,e,n){var r=n(26),i=n(15),o=n(4),s=n(31),a=n(2),u=n(43),c=Object.getOwnPropertyDescriptor;e.f=n(1)?c:function(t,e){if(t=o(t),e=s(e,!0),u)try{return c(t,e)}catch(t){}if(a(t,e))return i(!r.f.call(t,e),t[e])}},function(t,e,n){var r=n(4),i=n(46).f,o={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return i(t)}catch(t){return s.slice()}};t.exports.f=function(t){return s&&"[object Window]"==o.call(t)?a(t):i(r(t))}},function(t,e,n){var r=n(2),i=n(90),o=n(28)("IE_PROTO"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var r=n(30),i=n(21);t.exports=function(t){return function(e,n){var o,s,a=String(i(e)),u=r(n),c=a.length;return u<0||u>=c?t?"":void 0:(o=a.charCodeAt(u),o<55296||o>56319||u+1===c||(s=a.charCodeAt(u+1))<56320||s>57343?t?a.charAt(u):o:t?a.slice(u,u+2):s-56320+(o-55296<<10)+65536)}}},function(t,e,n){var r=n(30),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},function(t,e,n){var r=n(30),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e,n){var r=n(21);t.exports=function(t){return Object(r(t))}},function(t,e,n){"use strict";var r=n(72),i=n(80),o=n(24),s=n(4);t.exports=n(44)(Array,"Array",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):"keys"==e?i(0,n):"values"==e?i(0,t[n]):i(0,[n,t[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},function(t,e,n){var r=n(23);r(r.S+r.F*!n(1),"Object",{defineProperty:n(3).f})},function(t,e){},function(t,e,n){"use strict";var r=n(87)(!0);n(44)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){"use strict";var r=n(0),i=n(2),o=n(1),s=n(23),a=n(49),u=n(82).KEY,c=n(12),l=n(29),f=n(27),p=n(16),d=n(7),h=n(33),v=n(32),m=n(81),g=n(75),y=n(78),b=n(10),_=n(4),w=n(31),x=n(15),C=n(45),O=n(85),k=n(84),$=n(3),S=n(14),A=k.f,E=$.f,L=O.f,T=r.Symbol,P=r.JSON,j=P&&P.stringify,N=d("_hidden"),U=d("toPrimitive"),I={}.propertyIsEnumerable,D=l("symbol-registry"),M=l("symbols"),R=l("op-symbols"),F=Object.prototype,B="function"==typeof T,q=r.QObject,H=!q||!q.prototype||!q.prototype.findChild,V=o&&c(function(){return 7!=C(E({},"a",{get:function(){return E(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=A(F,e);r&&delete F[e],E(t,e,n),r&&t!==F&&E(F,e,r)}:E,G=function(t){var e=M[t]=C(T.prototype);return e._k=t,e},z=B&&"symbol"==typeof T.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof T},W=function(t,e,n){return t===F&&W(R,e,n),b(t),e=w(e,!0),b(n),i(M,e)?(n.enumerable?(i(t,N)&&t[N][e]&&(t[N][e]=!1),n=C(n,{enumerable:x(0,!1)})):(i(t,N)||E(t,N,x(1,{})),t[N][e]=!0),V(t,e,n)):E(t,e,n)},K=function(t,e){b(t);for(var n,r=g(e=_(e)),i=0,o=r.length;o>i;)W(t,n=r[i++],e[n]);return t},Q=function(t,e){return void 0===e?C(t):K(C(t),e)},Y=function(t){var e=I.call(this,t=w(t,!0));return!(this===F&&i(M,t)&&!i(R,t))&&(!(e||!i(this,t)||!i(M,t)||i(this,N)&&this[N][t])||e)},J=function(t,e){if(t=_(t),e=w(e,!0),t!==F||!i(M,e)||i(R,e)){var n=A(t,e);return!n||!i(M,e)||i(t,N)&&t[N][e]||(n.enumerable=!0),n}},X=function(t){for(var e,n=L(_(t)),r=[],o=0;n.length>o;)i(M,e=n[o++])||e==N||e==u||r.push(e);return r},Z=function(t){for(var e,n=t===F,r=L(n?R:_(t)),o=[],s=0;r.length>s;)!i(M,e=r[s++])||n&&!i(F,e)||o.push(M[e]);return o};B||(T=function(){if(this instanceof T)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===F&&e.call(R,n),i(this,N)&&i(this[N],t)&&(this[N][t]=!1),V(this,t,x(1,n))};return o&&H&&V(F,t,{configurable:!0,set:e}),G(t)},a(T.prototype,"toString",function(){return this._k}),k.f=J,$.f=W,n(46).f=O.f=X,n(26).f=Y,n(47).f=Z,o&&!n(25)&&a(F,"propertyIsEnumerable",Y,!0),h.f=function(t){return G(d(t))}),s(s.G+s.W+s.F*!B,{Symbol:T});for(var tt="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),et=0;tt.length>et;)d(tt[et++]);for(var tt=S(d.store),et=0;tt.length>et;)v(tt[et++]);s(s.S+s.F*!B,"Symbol",{for:function(t){return i(D,t+="")?D[t]:D[t]=T(t)},keyFor:function(t){if(z(t))return m(D,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){H=!0},useSimple:function(){H=!1}}),s(s.S+s.F*!B,"Object",{create:Q,defineProperty:W,defineProperties:K,getOwnPropertyDescriptor:J,getOwnPropertyNames:X,getOwnPropertySymbols:Z}),P&&s(s.S+s.F*(!B||c(function(){var t=T();return"[null]"!=j([t])||"{}"!=j({a:t})||"{}"!=j(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!z(t)){for(var e,n,r=[t],i=1;arguments.length>i;)r.push(arguments[i++]);return e=r[1],"function"==typeof e&&(n=e),!n&&y(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!z(e))return e}),r[1]=e,j.apply(P,r)}}}),T.prototype[U]||n(6)(T.prototype,U,T.prototype.valueOf),f(T,"Symbol"),f(Math,"Math",!0),f(r.JSON,"JSON",!0)},function(t,e,n){n(32)("asyncIterator")},function(t,e,n){n(32)("observable")},function(t,e,n){n(91);for(var r=n(0),i=n(6),o=n(24),s=n(7)("toStringTag"),a=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],u=0;u<5;u++){var c=a[u],l=r[c],f=l&&l.prototype;f&&!f[s]&&i(f,s,c),o[c]=o.Array}},function(t,e,n){var r=n(38)("unscopables"),i=Array.prototype;void 0==i[r]&&n(18)(i,r,{}),t.exports=function(t){i[r][t]=!0}},function(t,e,n){var r=n(19);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e,n){var r=n(115),i=n(37),o=n(114);t.exports=function(t){return function(e,n,s){var a,u=r(e),c=i(u.length),l=o(s,c);if(t&&n!=n){for(;c>l;)if((a=u[l++])!=a)return!0}else for(;c>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}}},function(t,e,n){var r=n(50),i=n(57),o=n(36),s=n(37);t.exports=function(t,e,n,a,u){r(e);var c=i(t),l=o(c),f=s(c.length),p=u?f-1:0,d=u?-1:1;if(n<2)for(;;){if(p in l){a=l[p],p+=d;break}if(p+=d,u?p<0:f<=p)throw TypeError("Reduce of empty array with no initial value")}for(;u?p>=0:f>p;p+=d)p in l&&(a=e(a,l[p],p,c));return a}},function(t,e,n){var r=n(19),i=n(54),o=n(38)("species");t.exports=function(t){var e;return i(t)&&(e=t.constructor,"function"!=typeof e||e!==Array&&!i(e.prototype)||(e=void 0),r(e)&&null===(e=e[o])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var r=n(103);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){var r=n(19),i=n(9).document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,e,n){"use strict";var r=n(18),i=n(55),o=n(8),s=n(17),a=n(38);t.exports=function(t,e,n){var u=a(t),c=n(s,u,""[t]),l=c[0],f=c[1];o(function(){var e={};return e[u]=function(){return 7},7!=""[t](e)})&&(i(String.prototype,t,l),r(RegExp.prototype,u,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}))}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){t.exports=!n(35)&&!n(8)(function(){return 7!=Object.defineProperty(n(105)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(100),i=n(108),o=n(116),s=Object.defineProperty;e.f=n(35)?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return s(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(9),i=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e,n){var r=n(5),i=n(17),o=n(8),s=n(113),a="["+s+"]",u="​…",c=RegExp("^"+a+a+"*"),l=RegExp(a+a+"*$"),f=function(t,e,n){var i={},a=o(function(){return!!s[t]()||u[t]()!=u}),c=i[t]=a?e(p):s[t];n&&(i[n]=c),r(r.P+r.F*a,"String",i)},p=f.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(c,"")),2&e&&(t=t.replace(l,"")),t};t.exports=f},function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,e,n){var r=n(56),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},function(t,e,n){var r=n(36),i=n(17);t.exports=function(t){return r(i(t))}},function(t,e,n){var r=n(19);t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){"use strict";var r=n(5),i=n(34)(2);r(r.P+r.F*!n(20)([].filter,!0),"Array",{filter:function(t){return i(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(5),i=n(101)(!1),o=[].indexOf,s=!!o&&1/[1].indexOf(1,-0)<0;r(r.P+r.F*(s||!n(20)(o)),"Array",{indexOf:function(t){return s?o.apply(this,arguments)||0:i(this,t,arguments[1])}})},function(t,e,n){var r=n(5);r(r.S,"Array",{isArray:n(54)})},function(t,e,n){"use strict";var r=n(5),i=n(34)(1);r(r.P+r.F*!n(20)([].map,!0),"Array",{map:function(t){return i(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(5),i=n(102);r(r.P+r.F*!n(20)([].reduce,!0),"Array",{reduce:function(t){return i(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){n(106)("search",1,function(t,e,n){return[function(n){"use strict";var r=t(this),i=void 0==n?void 0:n[e];return void 0!==i?i.call(n,r):new RegExp(n)[e](String(r))},n]})},function(t,e,n){"use strict";n(112)("trim",function(t){return function(){return t(this,3)}})},function(t,e){},function(t,e){t.exports=function(t,e,n,r,i,o){var s,a=t=t||{},u=typeof t.default;"object"!==u&&"function"!==u||(s=t,a=t.default);var c="function"==typeof a?a.options:a;e&&(c.render=e.render,c.staticRenderFns=e.staticRenderFns,c._compiled=!0),n&&(c.functional=!0),i&&(c._scopeId=i);var l;if(o?(l=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},c._ssrRegister=l):r&&(l=r),l){var f=c.functional,p=f?c.render:c.beforeCreate;f?(c._injectStyles=l,c.render=function(t,e){return l.call(e),p(t,e)}):c.beforeCreate=p?[].concat(p,l):[l]}return{esModule:s,exports:a,options:c}}},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"multiselect",class:{"multiselect--active":t.isOpen,"multiselect--disabled":t.disabled,"multiselect--above":t.isAbove},attrs:{tabindex:t.searchable?-1:t.tabindex},on:{focus:function(e){t.activate()},blur:function(e){!t.searchable&&t.deactivate()},keydown:[function(e){return"button"in e||!t._k(e.keyCode,"down",40,e.key,"ArrowDown")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerForward()):null},function(e){return"button"in e||!t._k(e.keyCode,"up",38,e.key,"ArrowUp")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerBackward()):null},function(e){return"button"in e||!t._k(e.keyCode,"enter",13,e.key,"Enter")||!t._k(e.keyCode,"tab",9,e.key,"Tab")?(e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null}],keyup:function(e){if(!("button"in e)&&t._k(e.keyCode,"esc",27,e.key,"Escape"))return null;t.deactivate()}}},[t._t("caret",[n("div",{staticClass:"multiselect__select",on:{mousedown:function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}}})],{toggle:t.toggle}),t._v(" "),t._t("clear",null,{search:t.search}),t._v(" "),n("div",{ref:"tags",staticClass:"multiselect__tags"},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.visibleValues.length>0,expression:"visibleValues.length > 0"}],staticClass:"multiselect__tags-wrap"},[t._l(t.visibleValues,function(e){return[t._t("tag",[n("span",{staticClass:"multiselect__tag"},[n("span",{domProps:{textContent:t._s(t.getOptionLabel(e))}}),t._v(" "),n("i",{staticClass:"multiselect__tag-icon",attrs:{"aria-hidden":"true",tabindex:"1"},on:{keydown:function(n){if(!("button"in n)&&t._k(n.keyCode,"enter",13,n.key,"Enter"))return null;n.preventDefault(),t.removeElement(e)},mousedown:function(n){n.preventDefault(),t.removeElement(e)}}})])],{option:e,search:t.search,remove:t.removeElement})]})],2),t._v(" "),t.internalValue&&t.internalValue.length>t.limit?[t._t("limit",[n("strong",{staticClass:"multiselect__strong",domProps:{textContent:t._s(t.limitText(t.internalValue.length-t.limit))}})])]:t._e(),t._v(" "),n("transition",{attrs:{name:"multiselect__loading"}},[t._t("loading",[n("div",{directives:[{name:"show",rawName:"v-show",value:t.loading,expression:"loading"}],staticClass:"multiselect__spinner"})])],2),t._v(" "),n("input",{directives:[{name:"show",rawName:"v-show",value:t.isOpen&&t.searchable,expression:"isOpen && searchable"}],ref:"search",staticClass:"multiselect__input",style:t.inputStyle,attrs:{name:t.name,id:t.id,type:"text",autocomplete:"off",placeholder:t.placeholder,disabled:t.disabled,tabindex:t.tabindex},domProps:{value:t.search},on:{input:function(e){t.updateSearch(e.target.value)},focus:function(e){e.preventDefault(),t.activate()},blur:function(e){e.preventDefault(),t.deactivate()},keyup:function(e){if(!("button"in e)&&t._k(e.keyCode,"esc",27,e.key,"Escape"))return null;t.deactivate()},keydown:[function(e){if(!("button"in e)&&t._k(e.keyCode,"down",40,e.key,"ArrowDown"))return null;e.preventDefault(),t.pointerForward()},function(e){if(!("button"in e)&&t._k(e.keyCode,"up",38,e.key,"ArrowUp"))return null;e.preventDefault(),t.pointerBackward()},function(e){return"button"in e||!t._k(e.keyCode,"enter",13,e.key,"Enter")?(e.preventDefault(),e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null},function(e){if(!("button"in e)&&t._k(e.keyCode,"delete",[8,46],e.key,["Backspace","Delete"]))return null;e.stopPropagation(),t.removeLastElement()}]}}),t._v(" "),t.isSingleLabelVisible?n("span",{staticClass:"multiselect__single",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t("singleLabel",[[t._v(t._s(t.currentOptionLabel))]],{option:t.singleValue})],2):t._e(),t._v(" "),t.isPlaceholderVisible?n("span",{on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t("placeholder",[n("span",{staticClass:"multiselect__single"},[t._v("\n "+t._s(t.placeholder)+"\n ")])])],2):t._e()],2),t._v(" "),n("transition",{attrs:{name:"multiselect"}},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.isOpen,expression:"isOpen"}],ref:"list",staticClass:"multiselect__content-wrapper",style:{maxHeight:t.optimizedHeight+"px"},on:{focus:t.activate,mousedown:function(t){t.preventDefault()}}},[n("ul",{staticClass:"multiselect__content",style:t.contentStyle},[t._t("beforeList"),t._v(" "),t.multiple&&t.max===t.internalValue.length?n("li",[n("span",{staticClass:"multiselect__option"},[t._t("maxElements",[t._v("Maximum of "+t._s(t.max)+" options selected. First remove a selected option to select another.")])],2)]):t._e(),t._v(" "),!t.max||t.internalValue.length<t.max?t._l(t.filteredOptions,function(e,r){return n("li",{key:r,staticClass:"multiselect__element"},[e&&(e.$isLabel||e.$isDisabled)?t._e():n("span",{staticClass:"multiselect__option",class:t.optionHighlight(r,e),attrs:{"data-select":e&&e.isTag?t.tagPlaceholder:t.selectLabelText,"data-selected":t.selectedLabelText,"data-deselect":t.deselectLabelText},on:{click:function(n){n.stopPropagation(),t.select(e)},mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.pointerSet(r)}}},[t._t("option",[n("span",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2),t._v(" "),e&&(e.$isLabel||e.$isDisabled)?n("span",{staticClass:"multiselect__option",class:t.groupHighlight(r,e),attrs:{"data-select":t.groupSelect&&t.selectGroupLabelText,"data-deselect":t.groupSelect&&t.deselectGroupLabelText},on:{mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.groupSelect&&t.pointerSet(r)},mousedown:function(n){n.preventDefault(),t.selectGroup(e)}}},[t._t("option",[n("span",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2):t._e()])}):t._e(),t._v(" "),n("li",{directives:[{name:"show",rawName:"v-show",value:t.showNoResults&&0===t.filteredOptions.length&&t.search&&!t.loading,expression:"showNoResults && (filteredOptions.length === 0 && search && !loading)"}]},[n("span",{staticClass:"multiselect__option"},[t._t("noResult",[t._v("No elements found. Consider changing the search query.")])],2)]),t._v(" "),t._t("afterList")],2)])])],2)},i=[],o={render:r,staticRenderFns:i};e.a=o}])})},function(t,e,n){"use strict";(function(e){function r(t,e){!i.isUndefined(t)&&i.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var i=n(0),o=n(50),s={"Content-Type":"application/x-www-form-urlencoded"},a={adapter:function(){var t;return"undefined"!=typeof XMLHttpRequest?t=n(19):void 0!==e&&(t=n(19)),t}(),transformRequest:[function(t,e){return o(e,"Content-Type"),i.isFormData(t)||i.isArrayBuffer(t)||i.isBuffer(t)||i.isStream(t)||i.isFile(t)||i.isBlob(t)?t:i.isArrayBufferView(t)?t.buffer:i.isURLSearchParams(t)?(r(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):i.isObject(t)?(r(e,"application/json;charset=utf-8"),JSON.stringify(t)):t}],transformResponse:[function(t){if("string"==typeof t)try{t=JSON.parse(t)}catch(t){}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(t){return t>=200&&t<300}};a.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(t){a.headers[t]={}}),i.forEach(["post","put","patch"],function(t){a.headers[t]=i.merge(s)}),t.exports=a}).call(e,n(5))},function(t,e,n){"use strict";e.a={name:"App",beforeMount:function(){null!==document.getElementById("serverData")&&this.$store.commit("setServerData",JSON.parse(document.getElementById("serverData").dataset.server))}}},function(e,n,r){"use strict";var i=r(32),o=r(39),s=r(2),a=r(45),u=r.n(a),c=r(6),l=r.n(c),f=(r(4),"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t});s.a.use(u.a),s.a.use(u.a),n.a={name:"Users",props:["selectedGroup"],components:{appNavigation:i.a,userList:o.a,Multiselect:l.a},beforeMount:function(){this.$store.commit("initGroups",{groups:this.$store.getters.getServerData.groups,orderBy:this.$store.getters.getServerData.sortGroups,userCount:this.$store.getters.getServerData.userCount}),this.$store.dispatch("getPasswordPolicyMinLength")},data:function(){return{unlimitedQuota:{id:"default",label:t("settings","Unlimited")},selectedQuota:!1,showConfig:{showStoragePath:!1,showUserBackend:!1,showLastLogin:!1,showNewUserForm:!1,showLanguages:!1}}},methods:{toggleNewUserMenu:function(){this.showConfig.showNewUserForm=!this.showConfig.showNewUserForm,this.showConfig.showNewUserForm&&s.a.nextTick(function(){window.newusername.focus()})},getLocalstorage:function(t){var e=this.$localStorage.get(t);return this.showConfig[t]=null!==e?"true"===e:this.showConfig[t],this.showConfig[t]},setLocalStorage:function(t,e){return this.showConfig[t]=e,this.$localStorage.set(t,e),e},removeGroup:function(e){var n=this;OC.dialogs.confirm(t("settings","You are about to remove the group {group}. The users will NOT be deleted.",{group:e}),t("settings","Please confirm the group removal "),function(t){t&&n.$store.dispatch("removeGroup",e)})},setDefaultQuota:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"none";this.$store.dispatch("setAppConfig",{app:"files",key:"default_quota",value:e.id?e.id:e}).then(function(){"object"!==(void 0===e?"undefined":f(e))&&(e={id:e,label:e}),t.defaultQuota=e})},validateQuota:function(t){var e=OC.Util.computerFileSize(t);return 0===e?this.setDefaultQuota("none"):null!==e&&this.setDefaultQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(t)))}},computed:{users:function(){return this.$store.getters.getUsers},loading:function(){return 0===Object.keys(this.users).length},usersOffset:function(){return this.$store.getters.getUsersOffset},usersLimit:function(){return this.$store.getters.getUsersLimit},showLanguages:{get:function(){return this.getLocalstorage("showLanguages")},set:function(t){this.setLocalStorage("showLanguages",t)}},showLastLogin:{get:function(){return this.getLocalstorage("showLastLogin")},set:function(t){this.setLocalStorage("showLastLogin",t)}},showUserBackend:{get:function(){return this.getLocalstorage("showUserBackend")},set:function(t){this.setLocalStorage("showUserBackend",t)}},showStoragePath:{get:function(){return this.getLocalstorage("showStoragePath")},set:function(t){this.setLocalStorage("showStoragePath",t)}},userCount:function(){return this.$store.getters.getUserCount},settings:function(){return this.$store.getters.getServerData},quotaOptions:function(){var t=this.settings.quotaPreset.reduce(function(t,e){return t.concat({id:e,label:e})},[]);return t.unshift(this.unlimitedQuota),t},defaultQuota:{get:function(){return!1!==this.selectedQuota?this.selectedQuota:OC.Util.computerFileSize(this.settings.defaultQuota)>0?{id:this.settings.defaultQuota,label:this.settings.defaultQuota}:this.unlimitedQuota},set:function(t){this.selectedQuota=t}},menu:function(){var e=this,n=this.$store.getters.getGroups;n=Array.isArray(n)?n:[],n=n.map(function(n){var r={};if(r.id=n.id.replace(" ","_"),r.classes=[],r.router={name:"group",params:{selectedGroup:n.id}},r.text=n.name,r.utils={counter:n.usercount},"admin"!==r.id&&"disabled"!==r.id){var i=e;r.utils.actions=[{icon:"icon-delete",text:t("settings","Remove group"),action:function(){i.removeGroup(n.id)}}]}return r});var r=n.find(function(t){return"admin"==t.id}),i=n.findIndex(function(t){return"disabled"==t.id}),o=n[i];r&&r.text&&(r.text=t("settings","Admins")),o&&o.text&&(o.text=t("settings","Disabled users"),0===o.utils.counter&&n.splice(i,1)),n.unshift({id:"everyone",classes:[],router:{name:"users"},text:t("settings","Everyone"),utils:{counter:this.userCount}});var s=n.findIndex(function(t){return t.id===e.selectedGroup});return s>=0?n[s].classes.push("active"):n[0].classes.push("active"),{id:"usergrouplist",new:{id:"new-user-button",text:t("settings","New user"),icon:"icon-add",action:this.toggleNewUserMenu},items:n}}}}},function(t,e,n){"use strict";var r=n(33);e.a={name:"appNavigation",props:["menu"],components:{navigationItem:r.a}}},function(t,e,n){"use strict";var r=n(12),i=n(15),o=n.n(i),s=n(2);e.a={name:"navigationItem",props:["item"],components:{popoverMenu:r.a},directives:{ClickOutside:o.a},data:function(){return{openedMenu:!1}},methods:{showMenu:function(){this.openedMenu=!0},hideMenu:function(){this.openedMenu=!1},toggleCollapse:function(){s.a.set(this.item,"opened",!this.item.opened||!this.item.opened)},cancelEdit:function(){Array.isArray(this.item.classes)&&(this.item.classes=this.item.classes.filter(function(t){return"editing"!==t}))}},mounted:function(){this.popupItem=this.$el}}},function(t,e,n){"use strict";var r=n(13),i=n(36),o=n(1),s=o(r.a,i.a,!1,null,null,null);e.a=s.exports},function(t,e,n){"use strict";var r=n(34);e.a={name:"popoverMenu",props:["menu"],components:{popoverItem:r.a}}},function(t,e,n){"use strict";e.a={props:["item"]}},function(t,e){function n(t){return"function"==typeof t.value||(console.warn("[Vue-click-outside:] provided expression",t.expression,"is not a function."),!1)}function r(t,e){if(!t||!e)return!1;for(var n=0,r=e.length;n<r;n++)try{if(t.contains(e[n]))return!0;if(e[n].contains(t))return!1}catch(t){return!1}return!1}function i(t){return void 0!==t.componentInstance&&t.componentInstance.$isServer}t.exports={bind:function(t,e,o){function s(e){if(o.context){var n=e.path||e.composedPath&&e.composedPath();n&&n.length>0&&n.unshift(e.target),t.contains(e.target)||r(o.context.popupItem,n)||t.__vueClickOutside__.callback(e)}}n(e)&&(t.__vueClickOutside__={handler:s,callback:e.value},!i(o)&&document.addEventListener("click",s))},update:function(t,e){n(e)&&(t.__vueClickOutside__.callback=e.value)},unbind:function(t,e,n){!i(n)&&document.removeEventListener("click",t.__vueClickOutside__.handler),delete t.__vueClickOutside__}}},function(e,n,r){"use strict";var i=r(40),o=r(6),s=r.n(o),a=r(43),u=r.n(a),c=r(2);n.a={name:"userList",props:["users","showConfig","selectedGroup"],components:{userRow:i.a,Multiselect:s.a,InfiniteLoading:u.a},data:function(){var e={id:"none",label:t("settings","Unlimited")},n={id:"default",label:t("settings","Default quota")};return{unlimitedQuota:e,defaultQuota:n,loading:!1,scrolled:!1,newUser:{id:"",displayName:"",password:"",mailAddress:"",groups:[],subAdminsGroups:[],quota:n,language:{code:"en",name:t("settings","Default language")}}}},mounted:function(){this.settings.canChangePassword||OC.Notification.showTemporary(t("settings","Password change is disabled because the master key is disabled")),c.a.set(this.newUser.language,"code",this.settings.defaultLanguage)},computed:{settings:function(){return this.$store.getters.getServerData},filteredUsers:function(){if("disabled"===this.selectedGroup){var t=this.users.filter(function(t){return!0!==t.enabled});return 0===t.length&&this.$refs.infiniteLoading&&this.$refs.infiniteLoading.isComplete&&(this.$router.push({name:"users"}),this.$refs.infiniteLoading.$emit("$InfiniteLoading:reset")),t}return this.users.filter(function(t){return!0===t.enabled})},groups:function(){return this.$store.getters.getGroups.filter(function(t){return"disabled"!==t.id})},subAdminsGroups:function(){return this.$store.getters.getServerData.subadmingroups},quotaOptions:function(){var t=this.settings.quotaPreset.reduce(function(t,e){return t.concat({id:e,label:e})},[]);return t.unshift(this.unlimitedQuota),t.unshift(this.defaultQuota),t},minPasswordLength:function(){return this.$store.getters.getPasswordPolicyMinLength},usersOffset:function(){return this.$store.getters.getUsersOffset},usersLimit:function(){return this.$store.getters.getUsersLimit},languages:function(){return Array({label:t("settings","Common languages"),languages:this.settings.languages.commonlanguages},{label:t("settings","All languages"),languages:this.settings.languages.languages})}},watch:{selectedGroup:function(t,e){this.$store.commit("resetUsers"),this.$refs.infiniteLoading.$emit("$InfiniteLoading:reset")}},methods:{onScroll:function(t){this.scrolled=t.target.scrollTop>0},validateQuota:function(t){var e=OC.Util.computerFileSize(t);return null!==e&&e>0?(t=OC.Util.humanFileSize(OC.Util.computerFileSize(t)),this.newUser.quota={id:t,label:t}):this.newUser.quota=this.quotaOptions[0]},infiniteHandler:function(t){this.$store.dispatch("getUsers",{offset:this.usersOffset,limit:this.usersLimit,group:"disabled"!==this.selectedGroup?this.selectedGroup:""}).then(function(e){e?t.loaded():t.complete()})},resetForm:function(){Object.assign(this.newUser,this.$options.data.call(this).newUser),this.loading=!1},createUser:function(){var t=this;this.loading=!0,this.$store.dispatch("addUser",{userid:this.newUser.id,password:this.newUser.password,email:this.newUser.mailAddress,groups:this.newUser.groups.map(function(t){return t.id}),subadmin:this.newUser.subAdminsGroups.map(function(t){return t.id}),quota:this.newUser.quota.id,language:this.newUser.language.code}).then(function(){return t.resetForm()})}}}},function(e,n,r){"use strict";var i=r(12),o=r(15),s=r.n(o),a=r(6),u=r.n(a),c=r(2),l=r(41),f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};c.a.use(l.a),n.a={name:"userRow",props:["user","settings","groups","subAdminsGroups","quotaOptions","showConfig","languages"],components:{popoverMenu:i.a,Multiselect:u.a},directives:{ClickOutside:s.a},mounted:function(){},data:function(){return{rand:parseInt(1e3*Math.random()),openedMenu:!1,loading:{all:!1,displayName:!1,password:!1,mailAddress:!1,groups:!1,subadmins:!1,quota:!1,delete:!1,disable:!1,languages:!1}}},computed:{userActions:function(){return[{icon:"icon-delete",text:t("settings","Delete user"),action:this.deleteUser},{icon:this.user.enabled?"icon-close":"icon-add",text:this.user.enabled?t("settings","Disable user"):t("settings","Enable user"),action:this.enableDisableUser}]},userGroups:function(){var t=this;return this.groups.filter(function(e){return t.user.groups.includes(e.id)})},userSubAdminsGroups:function(){var t=this;return this.subAdminsGroups.filter(function(e){return t.user.subadmin.includes(e.id)})},usedQuota:function(){var t=this.user.quota.quota;if(t>0)t=Math.min(100,Math.round(this.user.quota.used/t*100));else{t=95*(1-1/(this.user.quota.used/(10*Math.pow(2,30))+1))}return isNaN(t)?0:t},userQuota:function(){if(this.user.quota.quota>0){var t=OC.Util.humanFileSize(this.user.quota.quota),e=this.quotaOptions.find(function(e){return e.id===t});return e||{id:t,label:t}}return 0===this.user.quota.quota||"default"===this.user.quota.quota?this.quotaOptions[0]:this.quotaOptions[1]},minPasswordLength:function(){return this.$store.getters.getPasswordPolicyMinLength},userLanguage:function(){var t=this,e=this.languages[0].languages.concat(this.languages[1].languages),n=e.find(function(e){return e.code===t.user.language});return"object"!==(void 0===n?"undefined":f(n))&&""!==this.user.language?{code:this.user.language,name:this.user.language}:""!==this.user.language&&n}},methods:{toggleMenu:function(){this.openedMenu=!this.openedMenu},hideMenu:function(){this.openedMenu=!1},generateAvatar:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:32;return OC.generateUrl("/avatar/{user}/{size}?v={version}",{user:t,size:e,version:oc_userconfig.avatar.version})},limitGroups:function(t){return"+"+t},deleteUser:function(){var t=this;this.loading.delete=!0,this.loading.all=!0;var e=this.user.id;return this.$store.dispatch("deleteUser",{userid:e}).then(function(){t.loading.delete=!1,t.loading.all=!1})},enableDisableUser:function(){var t=this;this.loading.delete=!0,this.loading.all=!0;var e=this.user.id,n=!this.user.enabled;return this.$store.dispatch("enableDisableUser",{userid:e,enabled:n}).then(function(){t.loading.delete=!1,t.loading.all=!1})},updateDisplayName:function(){var t=this,e=this.$refs.displayName.value;this.loading.displayName=!0,this.$store.dispatch("setUserData",{userid:this.user.id,key:"displayname",value:e}).then(function(){t.loading.displayName=!1,t.$refs.displayName.value=e})},updatePassword:function(){var t=this,e=this.$refs.password.value;this.loading.password=!0,this.$store.dispatch("setUserData",{userid:this.user.id,key:"password",value:e}).then(function(){t.loading.password=!1,t.$refs.password.value=""})},updateEmail:function(){var t=this,e=this.$refs.mailAddress.value;this.loading.mailAddress=!0,this.$store.dispatch("setUserData",{userid:this.user.id,key:"email",value:e}).then(function(){t.loading.mailAddress=!1,t.$refs.mailAddress.value=e})},createGroup:function(t){var e=this;return this.loading={groups:!0,subadmins:!0},this.$store.dispatch("addGroup",t).then(function(){e.loading={groups:!1,subadmins:!1};var n=e.user.id;e.$store.dispatch("addUserGroup",{userid:n,gid:t})}),this.$store.getters.getGroups[this.groups.length]},addUserGroup:function(t){var e=this;this.loading.groups=!0;var n=this.user.id,r=t.id;return this.$store.dispatch("addUserGroup",{userid:n,gid:r}).then(function(){return e.loading.groups=!1})},removeUserGroup:function(t){var e=this;this.loading.groups=!0;var n=this.user.id,r=t.id;return this.$store.dispatch("removeUserGroup",{userid:n,gid:r}).then(function(){return e.loading.groups=!1})},addUserSubAdmin:function(t){var e=this;this.loading.subadmins=!0;var n=this.user.id,r=t.id;return this.$store.dispatch("addUserSubAdmin",{userid:n,gid:r}).then(function(){return e.loading.subadmins=!1})},removeUserSubAdmin:function(t){var e=this;this.loading.subadmins=!0;var n=this.user.id,r=t.id;return this.$store.dispatch("removeUserSubAdmin",{userid:n,gid:r}).then(function(){return e.loading.subadmins=!1})},setUserQuota:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"none";return this.loading.quota=!0,e=e.id?e.id:e,this.$store.dispatch("setUserData",{userid:this.user.id,key:"quota",value:e}).then(function(){return t.loading.quota=!1}),e},validateQuota:function(t){var e=OC.Util.computerFileSize(t);return 0===e?this.setUserQuota("none"):null!==e&&this.setUserQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(t)))},setUserLanguage:function(t){var e=this;return this.loading.languages=!0,this.$store.dispatch("setUserData",{userid:this.user.id,key:"language",value:t.code}).then(function(){return e.loading.languages=!1}),t}}}},function(t,e,n){"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return t.apply(e,n)}}},function(t,e,n){"use strict";var r=n(0),i=n(51),o=n(53),s=n(54),a=n(55),u=n(20),c="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||n(56);t.exports=function(t){return new Promise(function(e,l){var f=t.data,p=t.headers;r.isFormData(f)&&delete p["Content-Type"];var d=new XMLHttpRequest,h="onreadystatechange",v=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in d||a(t.url)||(d=new window.XDomainRequest,h="onload",v=!0,d.onprogress=function(){},d.ontimeout=function(){}),t.auth){var m=t.auth.username||"",g=t.auth.password||"";p.Authorization="Basic "+c(m+":"+g)}if(d.open(t.method.toUpperCase(),o(t.url,t.params,t.paramsSerializer),!0),d.timeout=t.timeout,d[h]=function(){if(d&&(4===d.readyState||v)&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in d?s(d.getAllResponseHeaders()):null,r=t.responseType&&"text"!==t.responseType?d.response:d.responseText,o={data:r,status:1223===d.status?204:d.status,statusText:1223===d.status?"No Content":d.statusText,headers:n,config:t,request:d};i(e,l,o),d=null}},d.onerror=function(){l(u("Network Error",t,null,d)),d=null},d.ontimeout=function(){l(u("timeout of "+t.timeout+"ms exceeded",t,"ECONNABORTED",d)),d=null},r.isStandardBrowserEnv()){var y=n(57),b=(t.withCredentials||a(t.url))&&t.xsrfCookieName?y.read(t.xsrfCookieName):void 0;b&&(p[t.xsrfHeaderName]=b)}if("setRequestHeader"in d&&r.forEach(p,function(t,e){void 0===f&&"content-type"===e.toLowerCase()?delete p[e]:d.setRequestHeader(e,t)}),t.withCredentials&&(d.withCredentials=!0),t.responseType)try{d.responseType=t.responseType}catch(e){if("json"!==t.responseType)throw e}"function"==typeof t.onDownloadProgress&&d.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",t.onUploadProgress),t.cancelToken&&t.cancelToken.promise.then(function(t){d&&(d.abort(),l(t),d=null)}),void 0===f&&(f=null),d.send(f)})}},function(t,e,n){"use strict";var r=n(52);t.exports=function(t,e,n,i,o){var s=new Error(t);return r(s,e,n,i,o)}},function(t,e,n){"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},function(t,e,n){"use strict";function r(t){this.message=t}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,t.exports=r},function(e,n,r){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),r.d(n,"app",function(){return c});var i=r(2),o=r(26),s=(r.n(o),r(27)),a=r(29),u=r(66);r.d(n,"router",function(){return a.a}),r.d(n,"store",function(){return u.a}),Object(o.sync)(u.a,a.a),i.a.prototype.t=t,i.a.prototype.OC=OC,i.a.prototype.oc_userconfig=oc_userconfig;var c=new i.a({router:a.a,store:u.a,render:function(t){return t(s.a)}}).$mount("#content")},function(t,e,n){(function(t){function r(t,e){this._id=t,this._clearFn=e}var i=void 0!==t&&t||"undefined"!=typeof self&&self||window,o=Function.prototype.apply;e.setTimeout=function(){return new r(o.call(setTimeout,i,arguments),clearTimeout)},e.setInterval=function(){return new r(o.call(setInterval,i,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(i,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(25),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(e,n(3))},function(t,e,n){(function(t,e){!function(t,n){"use strict";function r(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n<e.length;n++)e[n]=arguments[n+1];var r={callback:t,args:e};return c[u]=r,a(u),u++}function i(t){delete c[t]}function o(t){var e=t.callback,r=t.args;switch(r.length){case 0:e();break;case 1:e(r[0]);break;case 2:e(r[0],r[1]);break;case 3:e(r[0],r[1],r[2]);break;default:e.apply(n,r)}}function s(t){if(l)setTimeout(s,0,t);else{var e=c[t];if(e){l=!0;try{o(e)}finally{i(t),l=!1}}}}if(!t.setImmediate){var a,u=1,c={},l=!1,f=t.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(t);p=p&&p.setTimeout?p:t,"[object process]"==={}.toString.call(t.process)?function(){a=function(t){e.nextTick(function(){s(t)})}}():function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?function(){var e="setImmediate$"+Math.random()+"$",n=function(n){n.source===t&&"string"==typeof n.data&&0===n.data.indexOf(e)&&s(+n.data.slice(e.length))};t.addEventListener?t.addEventListener("message",n,!1):t.attachEvent("onmessage",n),a=function(n){t.postMessage(e+n,"*")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){s(t.data)},a=function(e){t.port2.postMessage(e)}}():f&&"onreadystatechange"in f.createElement("script")?function(){var t=f.documentElement;a=function(e){var n=f.createElement("script");n.onreadystatechange=function(){s(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():function(){a=function(t){setTimeout(s,0,t)}}(),p.setImmediate=r,p.clearImmediate=i}}("undefined"==typeof self?void 0===t?this:t:self)}).call(e,n(3),n(5))},function(t,e){function n(t,e){var r={name:t.name,path:t.path,hash:t.hash,query:t.query,params:t.params,fullPath:t.fullPath,meta:t.meta};return e&&(r.from=n(e)),Object.freeze(r)}e.sync=function(t,e,r){var i=(r||{}).moduleName||"route";t.registerModule(i,{namespaced:!0,state:n(e.currentRoute),mutations:{ROUTE_CHANGED:function(e,r){t.state[i]=n(r.to,r.from)}}});var o,s=!1,a=t.watch(function(t){return t[i]},function(t){var n=t.fullPath;n!==o&&(null!=o&&(s=!0,e.push(t)),o=n)},{sync:!0}),u=e.afterEach(function(e,n){if(s)return void(s=!1);o=e.fullPath,t.commit(i+"/ROUTE_CHANGED",{to:e,from:n})});return function(){null!=u&&u(),null!=a&&a(),t.unregisterModule(i)}}},function(t,e,n){"use strict";var r=n(8),i=n(28),o=n(1),s=o(r.a,i.a,!1,null,null,null);e.a=s.exports},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement;return(t._self._c||e)("router-view")},i=[],o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=n(2),i=n(30),o=n(31);r.a.use(i.a),e.a=new i.a({mode:"history",base:window.location.pathname.indexOf("index.php")>0?"/index.php/":"/",routes:[{path:"/:index(index.php/)?settings/users",component:o.a,props:!0,name:"users",children:[{path:":selectedGroup",name:"group",component:o.a}]}]})},function(t,e,n){"use strict";function r(t,e){}function i(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}function o(t,e){switch(typeof e){case"undefined":return;case"object":return e;case"function":return e(t);case"boolean":return e?t.params:void 0}}function s(t,e){for(var n in e)t[n]=e[n];return t}function a(t,e,n){void 0===e&&(e={});var r,i=n||u;try{r=i(t||"")}catch(t){r={}}for(var o in e)r[o]=e[o];return r}function u(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach(function(t){var n=t.replace(/\+/g," ").split("="),r=Ft(n.shift()),i=n.length>0?Ft(n.join("=")):null;void 0===e[r]?e[r]=i:Array.isArray(e[r])?e[r].push(i):e[r]=[e[r],i]}),e):e}function c(t){var e=t?Object.keys(t).map(function(e){var n=t[e];if(void 0===n)return"";if(null===n)return Rt(e);if(Array.isArray(n)){var r=[];return n.forEach(function(t){void 0!==t&&(null===t?r.push(Rt(e)):r.push(Rt(e)+"="+Rt(t)))}),r.join("&")}return Rt(e)+"="+Rt(n)}).filter(function(t){return t.length>0}).join("&"):null;return e?"?"+e:""}function l(t,e,n,r){var i=r&&r.options.stringifyQuery,o=e.query||{};try{o=f(o)}catch(t){}var s={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:o,params:e.params||{},fullPath:d(e,i),matched:t?p(t):[]};return n&&(s.redirectedFrom=d(n,i)),Object.freeze(s)}function f(t){if(Array.isArray(t))return t.map(f);if(t&&"object"==typeof t){var e={};for(var n in t)e[n]=f(t[n]);return e}return t}function p(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function d(t,e){var n=t.path,r=t.query;void 0===r&&(r={});var i=t.hash;void 0===i&&(i="");var o=e||c;return(n||"/")+o(r)+i}function h(t,e){return e===qt?t===e:!!e&&(t.path&&e.path?t.path.replace(Bt,"")===e.path.replace(Bt,"")&&t.hash===e.hash&&v(t.query,e.query):!(!t.name||!e.name)&&(t.name===e.name&&t.hash===e.hash&&v(t.query,e.query)&&v(t.params,e.params)))}function v(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t),r=Object.keys(e);return n.length===r.length&&n.every(function(n){var r=t[n],i=e[n];return"object"==typeof r&&"object"==typeof i?v(r,i):String(r)===String(i)})}function m(t,e){return 0===t.path.replace(Bt,"/").indexOf(e.path.replace(Bt,"/"))&&(!e.hash||t.hash===e.hash)&&g(t.query,e.query)}function g(t,e){for(var n in e)if(!(n in t))return!1;return!0}function y(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||t.defaultPrevented||void 0!==t.button&&0!==t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){if(/\b_blank\b/i.test(t.currentTarget.getAttribute("target")))return}return t.preventDefault&&t.preventDefault(),!0}}function b(t){if(t)for(var e,n=0;n<t.length;n++){if(e=t[n],"a"===e.tag)return e;if(e.children&&(e=b(e.children)))return e}}function _(t){if(!_.installed||Nt!==t){_.installed=!0,Nt=t;var e=function(t){return void 0!==t},n=function(t,n){var r=t.$options._parentVnode;e(r)&&e(r=r.data)&&e(r=r.registerRouteInstance)&&r(t,n)};t.mixin({beforeCreate:function(){e(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),t.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,n(this,this)},destroyed:function(){n(this)}}),Object.defineProperty(t.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(t.prototype,"$route",{get:function(){return this._routerRoot._route}}),t.component("router-view",Ut),t.component("router-link",Gt);var r=t.config.optionMergeStrategies;r.beforeRouteEnter=r.beforeRouteLeave=r.beforeRouteUpdate=r.created}}function w(t,e,n){var r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return e+t;var i=e.split("/");n&&i[i.length-1]||i.pop();for(var o=t.replace(/^\//,"").split("/"),s=0;s<o.length;s++){var a=o[s];".."===a?i.pop():"."!==a&&i.push(a)}return""!==i[0]&&i.unshift(""),i.join("/")}function x(t){var e="",n="",r=t.indexOf("#");r>=0&&(e=t.slice(r),t=t.slice(0,r));var i=t.indexOf("?");return i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),{path:t,query:n,hash:e}}function C(t){return t.replace(/\/\//g,"/")}function O(t,e){for(var n,r=[],i=0,o=0,s="",a=e&&e.delimiter||"/";null!=(n=Zt.exec(t));){var u=n[0],c=n[1],l=n.index;if(s+=t.slice(o,l),o=l+u.length,c)s+=c[1];else{var f=t[o],p=n[2],d=n[3],h=n[4],v=n[5],m=n[6],g=n[7];s&&(r.push(s),s="");var y=null!=p&&null!=f&&f!==p,b="+"===m||"*"===m,_="?"===m||"*"===m,w=n[2]||a,x=h||v;r.push({name:d||i++,prefix:p||"",delimiter:w,optional:_,repeat:b,partial:y,asterisk:!!g,pattern:x?L(x):g?".*":"[^"+E(w)+"]+?"})}}return o<t.length&&(s+=t.substr(o)),s&&r.push(s),r}function k(t,e){return A(O(t,e))}function $(t){return encodeURI(t).replace(/[\/?#]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function S(t){return encodeURI(t).replace(/[?#]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function A(t){for(var e=new Array(t.length),n=0;n<t.length;n++)"object"==typeof t[n]&&(e[n]=new RegExp("^(?:"+t[n].pattern+")$"));return function(n,r){for(var i="",o=n||{},s=r||{},a=s.pretty?$:encodeURIComponent,u=0;u<t.length;u++){var c=t[u];if("string"!=typeof c){var l,f=o[c.name];if(null==f){if(c.optional){c.partial&&(i+=c.prefix);continue}throw new TypeError('Expected "'+c.name+'" to be defined')}if(Wt(f)){if(!c.repeat)throw new TypeError('Expected "'+c.name+'" to not repeat, but received `'+JSON.stringify(f)+"`");if(0===f.length){if(c.optional)continue;throw new TypeError('Expected "'+c.name+'" to not be empty')}for(var p=0;p<f.length;p++){if(l=a(f[p]),!e[u].test(l))throw new TypeError('Expected all "'+c.name+'" to match "'+c.pattern+'", but received `'+JSON.stringify(l)+"`");i+=(0===p?c.prefix:c.delimiter)+l}}else{if(l=c.asterisk?S(f):a(f),!e[u].test(l))throw new TypeError('Expected "'+c.name+'" to match "'+c.pattern+'", but received "'+l+'"');i+=c.prefix+l}}else i+=c}return i}}function E(t){return t.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function L(t){return t.replace(/([=!:$\/()])/g,"\\$1")}function T(t,e){return t.keys=e,t}function P(t){return t.sensitive?"":"i"}function j(t,e){var n=t.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)e.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return T(t,e)}function N(t,e,n){for(var r=[],i=0;i<t.length;i++)r.push(D(t[i],e,n).source);return T(new RegExp("(?:"+r.join("|")+")",P(n)),e)}function U(t,e,n){return I(O(t,n),e,n)}function I(t,e,n){Wt(e)||(n=e||n,e=[]),n=n||{};for(var r=n.strict,i=!1!==n.end,o="",s=0;s<t.length;s++){var a=t[s];if("string"==typeof a)o+=E(a);else{var u=E(a.prefix),c="(?:"+a.pattern+")";e.push(a),a.repeat&&(c+="(?:"+u+c+")*"),c=a.optional?a.partial?u+"("+c+")?":"(?:"+u+"("+c+"))?":u+"("+c+")",o+=c}}var l=E(n.delimiter||"/"),f=o.slice(-l.length)===l;return r||(o=(f?o.slice(0,-l.length):o)+"(?:"+l+"(?=$))?"),o+=i?"$":r&&f?"":"(?="+l+"|$)",T(new RegExp("^"+o,P(n)),e)}function D(t,e,n){return Wt(e)||(n=e||n,e=[]),n=n||{},t instanceof RegExp?j(t,e):Wt(t)?N(t,e,n):U(t,e,n)}function M(t,e,n){try{return(te[t]||(te[t]=Kt.compile(t)))(e||{},{pretty:!0})}catch(t){return""}}function R(t,e,n,r){var i=e||[],o=n||Object.create(null),s=r||Object.create(null);t.forEach(function(t){F(i,o,s,t)});for(var a=0,u=i.length;a<u;a++)"*"===i[a]&&(i.push(i.splice(a,1)[0]),u--,a--);return{pathList:i,pathMap:o,nameMap:s}}function F(t,e,n,r,i,o){var s=r.path,a=r.name,u=r.pathToRegexpOptions||{},c=q(s,i,u.strict);"boolean"==typeof r.caseSensitive&&(u.sensitive=r.caseSensitive);var l={path:c,regex:B(c,u),components:r.components||{default:r.component},instances:{},name:a,parent:i,matchAs:o,redirect:r.redirect,beforeEnter:r.beforeEnter,meta:r.meta||{},props:null==r.props?{}:r.components?r.props:{default:r.props}};if(r.children&&r.children.forEach(function(r){var i=o?C(o+"/"+r.path):void 0;F(t,e,n,r,l,i)}),void 0!==r.alias){(Array.isArray(r.alias)?r.alias:[r.alias]).forEach(function(o){var s={path:o,children:r.children};F(t,e,n,s,i,l.path||"/")})}e[l.path]||(t.push(l.path),e[l.path]=l),a&&(n[a]||(n[a]=l))}function B(t,e){var n=Kt(t,[],e);return n}function q(t,e,n){return n||(t=t.replace(/\/$/,"")),"/"===t[0]?t:null==e?t:C(e.path+"/"+t)}function H(t,e,n,r){var i="string"==typeof t?{path:t}:t;if(i.name||i._normalized)return i;if(!i.path&&i.params&&e){i=V({},i),i._normalized=!0;var o=V(V({},e.params),i.params);if(e.name)i.name=e.name,i.params=o;else if(e.matched.length){var s=e.matched[e.matched.length-1].path;i.path=M(s,o,"path "+e.path)}return i}var u=x(i.path||""),c=e&&e.path||"/",l=u.path?w(u.path,c,n||i.append):c,f=a(u.query,i.query,r&&r.options.parseQuery),p=i.hash||u.hash;return p&&"#"!==p.charAt(0)&&(p="#"+p),{_normalized:!0,path:l,query:f,hash:p}}function V(t,e){for(var n in e)t[n]=e[n];return t}function G(t,e){function n(t){R(t,u,c,f)}function r(t,n,r){var i=H(t,n,!1,e),o=i.name;if(o){var a=f[o];if(!a)return s(null,i);var l=a.regex.keys.filter(function(t){return!t.optional}).map(function(t){return t.name});if("object"!=typeof i.params&&(i.params={}),n&&"object"==typeof n.params)for(var p in n.params)!(p in i.params)&&l.indexOf(p)>-1&&(i.params[p]=n.params[p]);if(a)return i.path=M(a.path,i.params,'named route "'+o+'"'),s(a,i,r)}else if(i.path){i.params={};for(var d=0;d<u.length;d++){var h=u[d],v=c[h];if(z(v.regex,i.path,i.params))return s(v,i,r)}}return s(null,i)}function i(t,n){var i=t.redirect,o="function"==typeof i?i(l(t,n,null,e)):i;if("string"==typeof o&&(o={path:o}),!o||"object"!=typeof o)return s(null,n);var a=o,u=a.name,c=a.path,p=n.query,d=n.hash,h=n.params;if(p=a.hasOwnProperty("query")?a.query:p,d=a.hasOwnProperty("hash")?a.hash:d,h=a.hasOwnProperty("params")?a.params:h,u){f[u];return r({_normalized:!0,name:u,query:p,hash:d,params:h},void 0,n)}if(c){var v=W(c,t);return r({_normalized:!0,path:M(v,h,'redirect route with path "'+v+'"'),query:p,hash:d},void 0,n)}return s(null,n)}function o(t,e,n){var i=M(n,e.params,'aliased route with path "'+n+'"'),o=r({_normalized:!0,path:i});if(o){var a=o.matched,u=a[a.length-1];return e.params=o.params,s(u,e)}return s(null,e)}function s(t,n,r){return t&&t.redirect?i(t,r||n):t&&t.matchAs?o(t,n,t.matchAs):l(t,n,r,e)}var a=R(t),u=a.pathList,c=a.pathMap,f=a.nameMap;return{match:r,addRoutes:n}}function z(t,e,n){var r=e.match(t);if(!r)return!1;if(!n)return!0;for(var i=1,o=r.length;i<o;++i){var s=t.keys[i-1],a="string"==typeof r[i]?decodeURIComponent(r[i]):r[i];s&&(n[s.name]=a)}return!0}function W(t,e){return w(t,e.parent?e.parent.path:"/",!0)}function K(){window.history.replaceState({key:ot()},""),window.addEventListener("popstate",function(t){Y(),t.state&&t.state.key&&st(t.state.key)})}function Q(t,e,n,r){if(t.app){var i=t.options.scrollBehavior;i&&t.app.$nextTick(function(){var t=J(),o=i(e,n,r?t:null);o&&("function"==typeof o.then?o.then(function(e){rt(e,t)}).catch(function(t){}):rt(o,t))})}}function Y(){var t=ot();t&&(ee[t]={x:window.pageXOffset,y:window.pageYOffset})}function J(){var t=ot();if(t)return ee[t]}function X(t,e){var n=document.documentElement,r=n.getBoundingClientRect(),i=t.getBoundingClientRect();return{x:i.left-r.left-e.x,y:i.top-r.top-e.y}}function Z(t){return nt(t.x)||nt(t.y)}function tt(t){return{x:nt(t.x)?t.x:window.pageXOffset,y:nt(t.y)?t.y:window.pageYOffset}}function et(t){return{x:nt(t.x)?t.x:0,y:nt(t.y)?t.y:0}}function nt(t){return"number"==typeof t}function rt(t,e){var n="object"==typeof t;if(n&&"string"==typeof t.selector){var r=document.querySelector(t.selector);if(r){var i=t.offset&&"object"==typeof t.offset?t.offset:{};i=et(i),e=X(r,i)}else Z(t)&&(e=tt(t))}else n&&Z(t)&&(e=tt(t));e&&window.scrollTo(e.x,e.y)}function it(){return re.now().toFixed(3)}function ot(){return ie}function st(t){ie=t}function at(t,e){Y();var n=window.history;try{e?n.replaceState({key:ie},"",t):(ie=it(),n.pushState({key:ie},"",t))}catch(n){window.location[e?"replace":"assign"](t)}}function ut(t){at(t,!0)}function ct(t,e,n){var r=function(i){i>=t.length?n():t[i]?e(t[i],function(){r(i+1)}):r(i+1)};r(0)}function lt(t){return function(e,n,r){var o=!1,s=0,a=null;ft(t,function(t,e,n,u){if("function"==typeof t&&void 0===t.cid){o=!0,s++;var c,l=ht(function(e){dt(e)&&(e=e.default),t.resolved="function"==typeof e?e:Nt.extend(e),n.components[u]=e,--s<=0&&r()}),f=ht(function(t){var e="Failed to resolve async component "+u+": "+t;a||(a=i(t)?t:new Error(e),r(a))});try{c=t(l,f)}catch(t){f(t)}if(c)if("function"==typeof c.then)c.then(l,f);else{var p=c.component;p&&"function"==typeof p.then&&p.then(l,f)}}}),o||r()}}function ft(t,e){return pt(t.map(function(t){return Object.keys(t.components).map(function(n){return e(t.components[n],t.instances[n],t,n)})}))}function pt(t){return Array.prototype.concat.apply([],t)}function dt(t){return t.__esModule||oe&&"Module"===t[Symbol.toStringTag]}function ht(t){var e=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}function vt(t){if(!t)if(zt){var e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^https?:\/\/[^\/]+/,"")}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}function mt(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n<r&&t[n]===e[n];n++);return{updated:e.slice(0,n),activated:e.slice(n),deactivated:t.slice(n)}}function gt(t,e,n,r){var i=ft(t,function(t,r,i,o){var s=yt(t,e);if(s)return Array.isArray(s)?s.map(function(t){return n(t,r,i,o)}):n(s,r,i,o)});return pt(r?i.reverse():i)}function yt(t,e){return"function"!=typeof t&&(t=Nt.extend(t)),t.options[e]}function bt(t){return gt(t,"beforeRouteLeave",wt,!0)}function _t(t){return gt(t,"beforeRouteUpdate",wt)}function wt(t,e){if(e)return function(){return t.apply(e,arguments)}}function xt(t,e,n){return gt(t,"beforeRouteEnter",function(t,r,i,o){return Ct(t,i,o,e,n)})}function Ct(t,e,n,r,i){return function(o,s,a){return t(o,s,function(t){a(t),"function"==typeof t&&r.push(function(){Ot(t,e.instances,n,i)})})}}function Ot(t,e,n,r){e[n]?t(e[n]):r()&&setTimeout(function(){Ot(t,e,n,r)},16)}function kt(t){var e=window.location.pathname;return t&&0===e.indexOf(t)&&(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}function $t(t){var e=kt(t);if(!/^\/#/.test(e))return window.location.replace(C(t+"/#"+e)),!0}function St(){var t=At();return"/"===t.charAt(0)||(Tt("/"+t),!1)}function At(){var t=window.location.href,e=t.indexOf("#");return-1===e?"":t.slice(e+1)}function Et(t){var e=window.location.href,n=e.indexOf("#");return(n>=0?e.slice(0,n):e)+"#"+t}function Lt(t){ne?at(Et(t)):window.location.hash=t}function Tt(t){ne?ut(Et(t)):window.location.replace(Et(t))}function Pt(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function jt(t,e,n){var r="hash"===n?"#"+e:e;return t?C(t+"/"+r):r}var Nt,Ut={name:"router-view",functional:!0,props:{name:{type:String,default:"default"}},render:function(t,e){var n=e.props,r=e.children,i=e.parent,a=e.data;a.routerView=!0;for(var u=i.$createElement,c=n.name,l=i.$route,f=i._routerViewCache||(i._routerViewCache={}),p=0,d=!1;i&&i._routerRoot!==i;)i.$vnode&&i.$vnode.data.routerView&&p++,i._inactive&&(d=!0),i=i.$parent;if(a.routerViewDepth=p,d)return u(f[c],a,r);var h=l.matched[p];if(!h)return f[c]=null,u();var v=f[c]=h.components[c];a.registerRouteInstance=function(t,e){var n=h.instances[c];(e&&n!==t||!e&&n===t)&&(h.instances[c]=e)},(a.hook||(a.hook={})).prepatch=function(t,e){h.instances[c]=e.componentInstance};var m=a.props=o(l,h.props&&h.props[c]);if(m){m=a.props=s({},m);var g=a.attrs=a.attrs||{};for(var y in m)v.props&&y in v.props||(g[y]=m[y],delete m[y])}return u(v,a,r)}},It=/[!'()*]/g,Dt=function(t){return"%"+t.charCodeAt(0).toString(16)},Mt=/%2C/g,Rt=function(t){return encodeURIComponent(t).replace(It,Dt).replace(Mt,",")},Ft=decodeURIComponent,Bt=/\/?$/,qt=l(null,{path:"/"}),Ht=[String,Object],Vt=[String,Array],Gt={name:"router-link",props:{to:{type:Ht,required:!0},tag:{type:String,default:"a"},exact:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,event:{type:Vt,default:"click"}},render:function(t){var e=this,n=this.$router,r=this.$route,i=n.resolve(this.to,r,this.append),o=i.location,s=i.route,a=i.href,u={},c=n.options.linkActiveClass,f=n.options.linkExactActiveClass,p=null==c?"router-link-active":c,d=null==f?"router-link-exact-active":f,v=null==this.activeClass?p:this.activeClass,g=null==this.exactActiveClass?d:this.exactActiveClass,_=o.path?l(null,o,null,n):s;u[g]=h(r,_),u[v]=this.exact?u[g]:m(r,_);var w=function(t){y(t)&&(e.replace?n.replace(o):n.push(o))},x={click:y};Array.isArray(this.event)?this.event.forEach(function(t){x[t]=w}):x[this.event]=w;var C={class:u};if("a"===this.tag)C.on=x,C.attrs={href:a};else{var O=b(this.$slots.default);if(O){O.isStatic=!1;var k=Nt.util.extend;(O.data=k({},O.data)).on=x;(O.data.attrs=k({},O.data.attrs)).href=a}else C.on=x}return t(this.tag,C,this.$slots.default)}},zt="undefined"!=typeof window,Wt=Array.isArray||function(t){return"[object Array]"==Object.prototype.toString.call(t)},Kt=D,Qt=O,Yt=k,Jt=A,Xt=I,Zt=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");Kt.parse=Qt,Kt.compile=Yt,Kt.tokensToFunction=Jt,Kt.tokensToRegExp=Xt;var te=Object.create(null),ee=Object.create(null),ne=zt&&function(){var t=window.navigator.userAgent;return(-1===t.indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&(window.history&&"pushState"in window.history)}(),re=zt&&window.performance&&window.performance.now?window.performance:Date,ie=it(),oe="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag,se=function(t,e){this.router=t,this.base=vt(e),this.current=qt,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[]};se.prototype.listen=function(t){this.cb=t},se.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},se.prototype.onError=function(t){this.errorCbs.push(t)},se.prototype.transitionTo=function(t,e,n){var r=this,i=this.router.match(t,this.current);this.confirmTransition(i,function(){r.updateRoute(i),e&&e(i),r.ensureURL(),r.ready||(r.ready=!0,r.readyCbs.forEach(function(t){t(i)}))},function(t){n&&n(t),t&&!r.ready&&(r.ready=!0,r.readyErrorCbs.forEach(function(e){e(t)}))})},se.prototype.confirmTransition=function(t,e,n){var o=this,s=this.current,a=function(t){i(t)&&(o.errorCbs.length?o.errorCbs.forEach(function(e){e(t)}):(r(!1,"uncaught error during route navigation:"),console.error(t))),n&&n(t)};if(h(t,s)&&t.matched.length===s.matched.length)return this.ensureURL(),a();var u=mt(this.current.matched,t.matched),c=u.updated,l=u.deactivated,f=u.activated,p=[].concat(bt(l),this.router.beforeHooks,_t(c),f.map(function(t){return t.beforeEnter}),lt(f));this.pending=t;var d=function(e,n){if(o.pending!==t)return a();try{e(t,s,function(t){!1===t||i(t)?(o.ensureURL(!0),a(t)):"string"==typeof t||"object"==typeof t&&("string"==typeof t.path||"string"==typeof t.name)?(a(),"object"==typeof t&&t.replace?o.replace(t):o.push(t)):n(t)})}catch(t){a(t)}};ct(p,d,function(){var n=[];ct(xt(f,n,function(){return o.current===t}).concat(o.router.resolveHooks),d,function(){if(o.pending!==t)return a();o.pending=null,e(t),o.router.app&&o.router.app.$nextTick(function(){n.forEach(function(t){t()})})})})},se.prototype.updateRoute=function(t){var e=this.current;this.current=t,this.cb&&this.cb(t),this.router.afterHooks.forEach(function(n){n&&n(t,e)})};var ae=function(t){function e(e,n){var r=this;t.call(this,e,n);var i=e.options.scrollBehavior;i&&K();var o=kt(this.base);window.addEventListener("popstate",function(t){var n=r.current,s=kt(r.base);r.current===qt&&s===o||r.transitionTo(s,function(t){i&&Q(e,t,n,!0)})})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,function(t){at(C(r.base+t.fullPath)),Q(r.router,t,o,!1),e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,function(t){ut(C(r.base+t.fullPath)),Q(r.router,t,o,!1),e&&e(t)},n)},e.prototype.ensureURL=function(t){if(kt(this.base)!==this.current.fullPath){var e=C(this.base+this.current.fullPath);t?at(e):ut(e)}},e.prototype.getCurrentLocation=function(){return kt(this.base)},e}(se),ue=function(t){function e(e,n,r){t.call(this,e,n),r&&$t(this.base)||St()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this,e=this.router,n=e.options.scrollBehavior,r=ne&&n;r&&K(),window.addEventListener(ne?"popstate":"hashchange",function(){var e=t.current;St()&&t.transitionTo(At(),function(n){r&&Q(t.router,n,e,!0),ne||Tt(n.fullPath)})})},e.prototype.push=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,function(t){Lt(t.fullPath),Q(r.router,t,o,!1),e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,function(t){Tt(t.fullPath),Q(r.router,t,o,!1),e&&e(t)},n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;At()!==e&&(t?Lt(e):Tt(e))},e.prototype.getCurrentLocation=function(){return At()},e}(se),ce=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)},n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,function(){e.index=n,e.updateRoute(r)})}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(se),le=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=G(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!ne&&!1!==t.fallback,this.fallback&&(e="hash"),zt||(e="abstract"),this.mode=e,e){case"history":this.history=new ae(this,t.base);break;case"hash":this.history=new ue(this,t.base,this.fallback);break;case"abstract":this.history=new ce(this,t.base)}},fe={currentRoute:{configurable:!0}};le.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},fe.currentRoute.get=function(){return this.history&&this.history.current},le.prototype.init=function(t){var e=this;if(this.apps.push(t),!this.app){this.app=t;var n=this.history;if(n instanceof ae)n.transitionTo(n.getCurrentLocation());else if(n instanceof ue){var r=function(){n.setupListeners()};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen(function(t){e.apps.forEach(function(e){e._route=t})})}},le.prototype.beforeEach=function(t){return Pt(this.beforeHooks,t)},le.prototype.beforeResolve=function(t){return Pt(this.resolveHooks,t)},le.prototype.afterEach=function(t){return Pt(this.afterHooks,t)},le.prototype.onReady=function(t,e){this.history.onReady(t,e)},le.prototype.onError=function(t){this.history.onError(t)},le.prototype.push=function(t,e,n){this.history.push(t,e,n)},le.prototype.replace=function(t,e,n){this.history.replace(t,e,n)},le.prototype.go=function(t){this.history.go(t)},le.prototype.back=function(){this.go(-1)},le.prototype.forward=function(){this.go(1)},le.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map(function(t){return Object.keys(t.components).map(function(e){return t.components[e]})})):[]},le.prototype.resolve=function(t,e,n){var r=H(t,e||this.history.current,n,this),i=this.match(r,e),o=i.redirectedFrom||i.fullPath;return{location:r,route:i,href:jt(this.history.base,o,this.mode),normalizedTo:r,resolved:i}},le.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==qt&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(le.prototype,fe),le.install=_,le.version="3.0.1",zt&&window.Vue&&window.Vue.use(le),e.a=le},function(t,e,n){"use strict";var r=n(9),i=n(65),o=n(1),s=o(r.a,i.a,!1,null,null,null);e.a=s.exports},function(t,e,n){"use strict";var r=n(10),i=n(38),o=n(1),s=o(r.a,i.a,!1,null,null,null);e.a=s.exports},function(t,e,n){"use strict";var r=n(11),i=n(37),o=n(1),s=o(r.a,i.a,!1,null,null,null);e.a=s.exports},function(t,e,n){"use strict";var r=n(14),i=n(35),o=n(1),s=o(r.a,i.a,!1,null,null,null);e.a=s.exports},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("li",[t.item.href?n("a",{attrs:{href:t.item.href?t.item.href:"#"},on:{click:t.item.action}},[n("span",{class:t.item.icon}),t._v(" "),t.item.text?n("span",[t._v(t._s(t.item.text))]):t.item.longtext?n("p",[t._v(t._s(t.item.longtext))]):t._e()]):t.item.action?n("button",{on:{click:t.item.action}},[n("span",{class:t.item.icon}),t._v(" "),t.item.text?n("span",[t._v(t._s(t.item.text))]):t.item.longtext?n("p",[t._v(t._s(t.item.longtext))]):t._e()]):n("span",[n("span",{class:t.item.icon}),t._v(" "),t.item.text?n("span",[t._v(t._s(t.item.text))]):t.item.longtext?n("p",[t._v(t._s(t.item.longtext))]):t._e()])])},i=[],o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("ul",t._l(t.menu,function(t,e){return n("popover-item",{key:e,attrs:{item:t}})}))},i=[],o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("li",{class:[{"icon-loading-small":t.item.loading,open:t.item.opened,collapsible:t.item.collapsible&&t.item.children&&t.item.children.length>0},t.item.classes],attrs:{id:t.item.id}},[t.item.bullet?n("div",{staticClass:"app-navigation-entry-bullet",style:{backgroundColor:t.item.bullet}}):t._e(),t._v(" "),t.item.href?n("a",{class:t.item.icon,attrs:{href:t.item.href?t.item.href:"#"},on:{click:t.toggleCollapse}},[t.item.iconUrl?n("img",{attrs:{alt:t.item.text,src:t.item.iconUrl}}):t._e(),t._v("\n\t\t"+t._s(t.item.text)+"\n\t")]):t.item.router?n("router-link",{class:t.item.icon,attrs:{to:t.item.router}},[t.item.iconUrl?n("img",{attrs:{alt:t.item.text,src:t.item.iconUrl}}):t._e(),t._v("\n\t\t"+t._s(t.item.text)+"\n\t")]):t._e(),t._v(" "),t.item.utils?n("div",{staticClass:"app-navigation-entry-utils"},[n("ul",[Number.isInteger(t.item.utils.counter)?n("li",{staticClass:"app-navigation-entry-utils-counter"},[t._v(t._s(t.item.utils.counter))]):t._e(),t._v(" "),t.item.utils.actions&&1===t.item.utils.actions.length&&Number.isInteger(t.item.utils.counter)?n("li",{staticClass:"app-navigation-entry-utils-menu-button"},[n("button",{class:t.item.utils.actions[0].icon,attrs:{title:t.item.utils.actions[0].text},on:{click:t.item.utils.actions[0].action}})]):t.item.utils.actions&&2===t.item.utils.actions.length&&!Number.isInteger(t.item.utils.counter)?t._l(t.item.utils.actions,function(t){return n("li",{key:t.action,staticClass:"app-navigation-entry-utils-menu-button"},[n("button",{class:t.icon,attrs:{title:t.text},on:{click:t.action}})])}):t.item.utils.actions&&t.item.utils.actions.length>1&&(Number.isInteger(t.item.utils.counter)||t.item.utils.actions.length>2)?n("li",{staticClass:"app-navigation-entry-utils-menu-button"},[n("button",{directives:[{name:"click-outside",rawName:"v-click-outside",value:t.hideMenu,expression:"hideMenu"}],on:{click:t.showMenu}})]):t._e()],2)]):t._e(),t._v(" "),t.item.utils&&t.item.utils.actions&&t.item.utils.actions.length>1&&(Number.isInteger(t.item.utils.counter)||t.item.utils.actions.length>2)?n("div",{staticClass:"app-navigation-entry-menu",class:{open:t.openedMenu}},[n("popover-menu",{attrs:{menu:t.item.utils.actions}})],1):t._e(),t._v(" "),t.item.undo?n("div",{staticClass:"app-navigation-entry-deleted"},[n("div",{staticClass:"app-navigation-entry-deleted-description"},[t._v(t._s(t.item.undo.text))]),t._v(" "),n("button",{staticClass:"app-navigation-entry-deleted-button icon-history",attrs:{title:t.t("settings","Undo")}})]):t._e(),t._v(" "),t.item.edit?n("div",{staticClass:"app-navigation-entry-edit"},[n("form",[n("input",{directives:[{name:"model",rawName:"v-model",value:t.item.text,expression:"item.text"}],attrs:{type:"text"},domProps:{value:t.item.text},on:{input:function(e){e.target.composing||t.$set(t.item,"text",e.target.value)}}}),t._v(" "),n("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}}),t._v(" "),n("input",{staticClass:"icon-close",attrs:{type:"submit",value:""},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.cancelEdit(e)}}})])]):t._e(),t._v(" "),t.item.children?n("ul",t._l(t.item.children,function(t,e){return n("navigation-item",{key:e,attrs:{item:t}})})):t._e()],1)},i=[],o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:{"icon-loading":t.menu.loading},attrs:{id:"app-navigation"}},[t.menu.new?n("div",{staticClass:"app-navigation-new"},[n("button",{class:t.menu.new.icon,attrs:{type:"button",id:t.menu.new.id},on:{click:t.menu.new.action}},[t._v(t._s(t.menu.new.text))])]):t._e(),t._v(" "),n("ul",{attrs:{id:t.menu.id}},t._l(t.menu.items,function(t,e){return n("navigation-item",{key:e,attrs:{item:t}})})),t._v(" "),n("div",{attrs:{id:"app-settings"}},[n("div",{attrs:{id:"app-settings-header"}},[n("button",{staticClass:"settings-button",attrs:{"data-apps-slide-toggle":"#app-settings-content"}},[t._v(t._s(t.t("settings","Settings")))])]),t._v(" "),n("div",{attrs:{id:"app-settings-content"}},[t._t("settings-content")],2)])])},i=[],o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=n(16),i=n(44),o=n(1),s=o(r.a,i.a,!1,null,null,null);e.a=s.exports},function(t,e,n){"use strict";var r=n(17),i=n(42),o=n(1),s=o(r.a,i.a,!1,null,null,null);e.a=s.exports},function(t,e,n){"use strict";(function(t){function n(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then(function(){e=!1,t()}))}}function r(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},Pt))}}function i(t){var e={};return t&&"[object Function]"===e.toString.call(t)}function o(t,e){if(1!==t.nodeType)return[];var n=getComputedStyle(t,null);return e?n[e]:n}function s(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function a(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=o(t),n=e.overflow,r=e.overflowX;return/(auto|scroll)/.test(n+e.overflowY+r)?t:a(s(t))}function u(t){var e=t&&t.offsetParent,n=e&&e.nodeName;return n&&"BODY"!==n&&"HTML"!==n?-1!==["TD","TABLE"].indexOf(e.nodeName)&&"static"===o(e,"position")?u(e):e:t?t.ownerDocument.documentElement:document.documentElement}function c(t){var e=t.nodeName;return"BODY"!==e&&("HTML"===e||u(t.firstElementChild)===t)}function l(t){return null!==t.parentNode?l(t.parentNode):t}function f(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?t:e,i=n?e:t,o=document.createRange();o.setStart(r,0),o.setEnd(i,0);var s=o.commonAncestorContainer;if(t!==s&&e!==s||r.contains(i))return c(s)?s:u(s);var a=l(t);return a.host?f(a.host,e):f(t,l(e).host)}function p(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===e?"scrollTop":"scrollLeft",r=t.nodeName;if("BODY"===r||"HTML"===r){var i=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||i)[n]}return t[n]}function d(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=p(e,"top"),i=p(e,"left"),o=n?-1:1;return t.top+=r*o,t.bottom+=r*o,t.left+=i*o,t.right+=i*o,t}function h(t,e){var n="x"===e?"Left":"Top",r="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+r+"Width"],10)}function v(t,e,n,r){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],Dt()?n["offset"+t]+r["margin"+("Height"===t?"Top":"Left")]+r["margin"+("Height"===t?"Bottom":"Right")]:0)}function m(){var t=document.body,e=document.documentElement,n=Dt()&&getComputedStyle(e);return{height:v("Height",t,e,n),width:v("Width",t,e,n)}}function g(t){return Bt({},t,{right:t.left+t.width,bottom:t.top+t.height})}function y(t){var e={};if(Dt())try{e=t.getBoundingClientRect();var n=p(t,"top"),r=p(t,"left");e.top+=n,e.left+=r,e.bottom+=n,e.right+=r}catch(t){}else e=t.getBoundingClientRect();var i={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},s="HTML"===t.nodeName?m():{},a=s.width||t.clientWidth||i.right-i.left,u=s.height||t.clientHeight||i.bottom-i.top,c=t.offsetWidth-a,l=t.offsetHeight-u;if(c||l){var f=o(t);c-=h(f,"x"),l-=h(f,"y"),i.width-=c,i.height-=l}return g(i)}function b(t,e){var n=Dt(),r="HTML"===e.nodeName,i=y(t),s=y(e),u=a(t),c=o(e),l=parseFloat(c.borderTopWidth,10),f=parseFloat(c.borderLeftWidth,10),p=g({top:i.top-s.top-l,left:i.left-s.left-f,width:i.width,height:i.height});if(p.marginTop=0,p.marginLeft=0,!n&&r){var h=parseFloat(c.marginTop,10),v=parseFloat(c.marginLeft,10);p.top-=l-h,p.bottom-=l-h,p.left-=f-v,p.right-=f-v,p.marginTop=h,p.marginLeft=v}return(n?e.contains(u):e===u&&"BODY"!==u.nodeName)&&(p=d(p,e)),p}function _(t){var e=t.ownerDocument.documentElement,n=b(t,e),r=Math.max(e.clientWidth,window.innerWidth||0),i=Math.max(e.clientHeight,window.innerHeight||0),o=p(e),s=p(e,"left");return g({top:o-n.top+n.marginTop,left:s-n.left+n.marginLeft,width:r,height:i})}function w(t){var e=t.nodeName;return"BODY"!==e&&"HTML"!==e&&("fixed"===o(t,"position")||w(s(t)))}function x(t,e,n,r){var i={top:0,left:0},o=f(t,e);if("viewport"===r)i=_(o);else{var u=void 0;"scrollParent"===r?(u=a(s(e)),"BODY"===u.nodeName&&(u=t.ownerDocument.documentElement)):u="window"===r?t.ownerDocument.documentElement:r;var c=b(u,o);if("HTML"!==u.nodeName||w(o))i=c;else{var l=m(),p=l.height,d=l.width;i.top+=c.top-c.marginTop,i.bottom=p+c.top,i.left+=c.left-c.marginLeft,i.right=d+c.left}}return i.left+=n,i.top+=n,i.right-=n,i.bottom-=n,i}function C(t){return t.width*t.height}function O(t,e,n,r,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=x(n,r,o,i),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},u=Object.keys(a).map(function(t){return Bt({key:t},a[t],{area:C(a[t])})}).sort(function(t,e){return e.area-t.area}),c=u.filter(function(t){var e=t.width,r=t.height;return e>=n.clientWidth&&r>=n.clientHeight}),l=c.length>0?c[0].key:u[0].key,f=t.split("-")[1];return l+(f?"-"+f:"")}function k(t,e,n){return b(n,f(e,n))}function $(t){var e=getComputedStyle(t),n=parseFloat(e.marginTop)+parseFloat(e.marginBottom),r=parseFloat(e.marginLeft)+parseFloat(e.marginRight);return{width:t.offsetWidth+r,height:t.offsetHeight+n}}function S(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function A(t,e,n){n=n.split("-")[0];var r=$(t),i={width:r.width,height:r.height},o=-1!==["right","left"].indexOf(n),s=o?"top":"left",a=o?"left":"top",u=o?"height":"width",c=o?"width":"height";return i[s]=e[s]+e[u]/2-r[u]/2,i[a]=n===a?e[a]-r[c]:e[S(a)],i}function E(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function L(t,e,n){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===n});var r=E(t,function(t){return t[e]===n});return t.indexOf(r)}function T(t,e,n){return(void 0===n?t:t.slice(0,L(t,"name",n))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&i(n)&&(e.offsets.popper=g(e.offsets.popper),e.offsets.reference=g(e.offsets.reference),e=n(e,t))}),e}function P(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=k(this.state,this.popper,this.reference),t.placement=O(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.offsets.popper=A(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position="absolute",t=T(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function j(t,e){return t.some(function(t){var n=t.name;return t.enabled&&n===e})}function N(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),r=0;r<e.length-1;r++){var i=e[r],o=i?""+i+n:t;if(void 0!==document.body.style[o])return o}return null}function U(){return this.state.isDestroyed=!0,j(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.left="",this.popper.style.position="",this.popper.style.top="",this.popper.style[N("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function I(t){var e=t.ownerDocument;return e?e.defaultView:window}function D(t,e,n,r){var i="BODY"===t.nodeName,o=i?t.ownerDocument.defaultView:t;o.addEventListener(e,n,{passive:!0}),i||D(a(o.parentNode),e,n,r),r.push(o)}function M(t,e,n,r){n.updateBound=r,I(t).addEventListener("resize",n.updateBound,{passive:!0});var i=a(t);return D(i,"scroll",n.updateBound,n.scrollParents),n.scrollElement=i,n.eventsEnabled=!0,n}function R(){this.state.eventsEnabled||(this.state=M(this.reference,this.options,this.state,this.scheduleUpdate))}function F(t,e){return I(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach(function(t){t.removeEventListener("scroll",e.updateBound)}),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e}function B(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=F(this.reference,this.state))}function q(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function H(t,e){Object.keys(e).forEach(function(n){var r="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&q(e[n])&&(r="px"),t.style[n]=e[n]+r})}function V(t,e){Object.keys(e).forEach(function(n){!1!==e[n]?t.setAttribute(n,e[n]):t.removeAttribute(n)})}function G(t){return H(t.instance.popper,t.styles),V(t.instance.popper,t.attributes),t.arrowElement&&Object.keys(t.arrowStyles).length&&H(t.arrowElement,t.arrowStyles),t}function z(t,e,n,r,i){var o=k(i,e,t),s=O(n.placement,o,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),H(e,{position:"absolute"}),n}function W(t,e){var n=e.x,r=e.y,i=t.offsets.popper,o=E(t.instance.modifiers,function(t){return"applyStyle"===t.name}).gpuAcceleration;void 0!==o&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==o?o:e.gpuAcceleration,a=u(t.instance.popper),c=y(a),l={position:i.position},f={left:Math.floor(i.left),top:Math.floor(i.top),bottom:Math.floor(i.bottom),right:Math.floor(i.right)},p="bottom"===n?"top":"bottom",d="right"===r?"left":"right",h=N("transform"),v=void 0,m=void 0;if(m="bottom"===p?-c.height+f.bottom:f.top,v="right"===d?-c.width+f.right:f.left,s&&h)l[h]="translate3d("+v+"px, "+m+"px, 0)",l[p]=0,l[d]=0,l.willChange="transform";else{var g="bottom"===p?-1:1,b="right"===d?-1:1;l[p]=m*g,l[d]=v*b,l.willChange=p+", "+d}var _={"x-placement":t.placement};return t.attributes=Bt({},_,t.attributes),t.styles=Bt({},l,t.styles),t.arrowStyles=Bt({},t.offsets.arrow,t.arrowStyles),t}function K(t,e,n){var r=E(t,function(t){return t.name===e}),i=!!r&&t.some(function(t){return t.name===n&&t.enabled&&t.order<r.order});if(!i){var o="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+o+" modifier in order to work, be sure to include it before "+o+"!")}return i}function Q(t,e){var n;if(!K(t.instance.modifiers,"arrow","keepTogether"))return t;var r=e.element;if("string"==typeof r){if(!(r=t.instance.popper.querySelector(r)))return t}else if(!t.instance.popper.contains(r))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var i=t.placement.split("-")[0],s=t.offsets,a=s.popper,u=s.reference,c=-1!==["left","right"].indexOf(i),l=c?"height":"width",f=c?"Top":"Left",p=f.toLowerCase(),d=c?"left":"top",h=c?"bottom":"right",v=$(r)[l];u[h]-v<a[p]&&(t.offsets.popper[p]-=a[p]-(u[h]-v)),u[p]+v>a[h]&&(t.offsets.popper[p]+=u[p]+v-a[h]),t.offsets.popper=g(t.offsets.popper);var m=u[p]+u[l]/2-v/2,y=o(t.instance.popper),b=parseFloat(y["margin"+f],10),_=parseFloat(y["border"+f+"Width"],10),w=m-t.offsets.popper[p]-b-_;return w=Math.max(Math.min(a[l]-v,w),0),t.arrowElement=r,t.offsets.arrow=(n={},Ft(n,p,Math.round(w)),Ft(n,d,""),n),t}function Y(t){return"end"===t?"start":"start"===t?"end":t}function J(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Ht.indexOf(t),r=Ht.slice(n+1).concat(Ht.slice(0,n));return e?r.reverse():r}function X(t,e){if(j(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=x(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement),r=t.placement.split("-")[0],i=S(r),o=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case Vt.FLIP:s=[r,i];break;case Vt.CLOCKWISE:s=J(r);break;case Vt.COUNTERCLOCKWISE:s=J(r,!0);break;default:s=e.behavior}return s.forEach(function(a,u){if(r!==a||s.length===u+1)return t;r=t.placement.split("-")[0],i=S(r);var c=t.offsets.popper,l=t.offsets.reference,f=Math.floor,p="left"===r&&f(c.right)>f(l.left)||"right"===r&&f(c.left)<f(l.right)||"top"===r&&f(c.bottom)>f(l.top)||"bottom"===r&&f(c.top)<f(l.bottom),d=f(c.left)<f(n.left),h=f(c.right)>f(n.right),v=f(c.top)<f(n.top),m=f(c.bottom)>f(n.bottom),g="left"===r&&d||"right"===r&&h||"top"===r&&v||"bottom"===r&&m,y=-1!==["top","bottom"].indexOf(r),b=!!e.flipVariations&&(y&&"start"===o&&d||y&&"end"===o&&h||!y&&"start"===o&&v||!y&&"end"===o&&m);(p||g||b)&&(t.flipped=!0,(p||g)&&(r=s[u+1]),b&&(o=Y(o)),t.placement=r+(o?"-"+o:""),t.offsets.popper=Bt({},t.offsets.popper,A(t.instance.popper,t.offsets.reference,t.placement)),t=T(t.instance.modifiers,t,"flip"))}),t}function Z(t){var e=t.offsets,n=e.popper,r=e.reference,i=t.placement.split("-")[0],o=Math.floor,s=-1!==["top","bottom"].indexOf(i),a=s?"right":"bottom",u=s?"left":"top",c=s?"width":"height";return n[a]<o(r[u])&&(t.offsets.popper[u]=o(r[u])-n[c]),n[u]>o(r[a])&&(t.offsets.popper[u]=o(r[a])),t}function tt(t,e,n,r){var i=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+i[1],s=i[2];if(!o)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=r}return g(a)[e]/100*o}if("vh"===s||"vw"===s){return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o}return o}function et(t,e,n,r){var i=[0,0],o=-1!==["right","left"].indexOf(r),s=t.split(/(\+|\-)/).map(function(t){return t.trim()}),a=s.indexOf(E(s,function(t){return-1!==t.search(/,|\s/)}));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var u=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(u)[0]]),[s[a].split(u)[1]].concat(s.slice(a+1))]:[s];return c=c.map(function(t,r){var i=(1===r?!o:o)?"height":"width",s=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)},[]).map(function(t){return tt(t,i,e,n)})}),c.forEach(function(t,e){t.forEach(function(n,r){q(n)&&(i[e]+=n*("-"===t[r-1]?-1:1))})}),i}function nt(t,e){var n=e.offset,r=t.placement,i=t.offsets,o=i.popper,s=i.reference,a=r.split("-")[0],u=void 0;return u=q(+n)?[+n,0]:et(n,o,s,a),"left"===a?(o.top+=u[0],o.left-=u[1]):"right"===a?(o.top+=u[0],o.left+=u[1]):"top"===a?(o.left+=u[0],o.top-=u[1]):"bottom"===a&&(o.left+=u[0],o.top+=u[1]),t.popper=o,t}function rt(t,e){var n=e.boundariesElement||u(t.instance.popper);t.instance.reference===n&&(n=u(n));var r=x(t.instance.popper,t.instance.reference,e.padding,n);e.boundaries=r;var i=e.priority,o=t.offsets.popper,s={primary:function(t){var n=o[t];return o[t]<r[t]&&!e.escapeWithReference&&(n=Math.max(o[t],r[t])),Ft({},t,n)},secondary:function(t){var n="right"===t?"left":"top",i=o[n];return o[t]>r[t]&&!e.escapeWithReference&&(i=Math.min(o[n],r[t]-("right"===t?o.width:o.height))),Ft({},n,i)}};return i.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";o=Bt({},o,s[e](t))}),t.offsets.popper=o,t}function it(t){var e=t.placement,n=e.split("-")[0],r=e.split("-")[1];if(r){var i=t.offsets,o=i.reference,s=i.popper,a=-1!==["bottom","top"].indexOf(n),u=a?"left":"top",c=a?"width":"height",l={start:Ft({},u,o[u]),end:Ft({},u,o[u]+o[c]-s[c])};t.offsets.popper=Bt({},s,l[r])}return t}function ot(t){if(!K(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=E(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}function st(t){var e=t.placement,n=e.split("-")[0],r=t.offsets,i=r.popper,o=r.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return i[s?"left":"top"]=o[n]-(a?i[s?"width":"height"]:0),t.placement=S(e),t.offsets.popper=g(i),t}function at(t){return"string"==typeof t&&(t=t.split(" ")),t}function ut(t,e){var n=at(e),r=void 0;r=t.className instanceof SVGAnimatedString?Array.from(t.className):at(t.className),n.forEach(function(t){-1===r.indexOf(t)&&r.push(t)}),t instanceof SVGElement?t.setAttribute("class",r.join(" ")):t.className=r.join(" ")}function ct(t,e){var n=at(e),r=void 0;r=t.className instanceof SVGAnimatedString?Array.from(t.className):at(t.className),n.forEach(function(t){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}),t instanceof SVGElement?t.setAttribute("class",r.join(" ")):t.className=r.join(" ")}function lt(t){var e={placement:void 0!==t.placement?t.placement:ae.options.defaultPlacement,delay:void 0!==t.delay?t.delay:ae.options.defaultDelay,template:void 0!==t.template?t.template:ae.options.defaultTemplate,arrowSelector:void 0!==t.arrowSelector?t.arrowSelector:ae.options.defaultArrowSelector,innerSelector:void 0!==t.innerSelector?t.innerSelector:ae.options.defaultInnerSelector,trigger:void 0!==t.trigger?t.trigger:ae.options.defaultTrigger,offset:void 0!==t.offset?t.offset:ae.options.defaultOffset,container:void 0!==t.container?t.container:ae.options.defaultContainer,boundariesElement:void 0!==t.boundariesElement?t.boundariesElement:ae.options.defaultBoundariesElement,autoHide:void 0!==t.autoHide?t.autoHide:ae.options.autoHide,loadingClass:void 0!==t.loadingClass?t.loadingClass:ae.options.defaultLoadingClass,loadingContent:void 0!==t.loadingContent?t.loadingContent:ae.options.defaultLoadingContent,popperOptions:Zt({},void 0!==t.popperOptions?t.popperOptions:ae.options.defaultPopperOptions)};if(e.offset){var n=Yt(e.offset),r=e.offset;("number"===n||"string"===n&&-1===r.indexOf(","))&&(r="0, "+r),e.popperOptions.modifiers||(e.popperOptions.modifiers={}),e.popperOptions.modifiers.offset={offset:r}}return e}function ft(t,e){for(var n=t.placement,r=0;r<oe.length;r++){var i=oe[r];e[i]&&(n=i)}return n}function pt(t){var e=void 0===t?"undefined":Yt(t);return"string"===e?t:!(!t||"object"!==e)&&t.content}function dt(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=pt(e),i=void 0!==e.classes?e.classes:ae.options.defaultClass,o=Zt({title:r,html:!0},lt(Zt({},e,{placement:ft(e,n)}))),s=t._tooltip=new ne(t,o);s.setClasses(i),s._vueEl=t;var a=void 0!==e.targetClasses?e.targetClasses:ae.options.defaultTargetClass;return t._tooltipTargetClasses=a,ut(t,a),s}function ht(t){t._tooltip&&(t._tooltip.dispose(),delete t._tooltip,delete t._tooltipOldShow),t._tooltipTargetClasses&&(ct(t,t._tooltipTargetClasses),delete t._tooltipTargetClasses)}function vt(t,e){var n=e.value,r=(e.oldValue,e.modifiers),i=pt(n);if(i&&ie.enabled){var o=void 0;t._tooltip?(o=t._tooltip,o.setContent(i),o.setOptions(Zt({},n,{placement:ft(n,r)}))):o=dt(t,n,r),void 0!==n.show&&n.show!==t._tooltipOldShow&&(t._tooltipOldShow=n.show,n.show?o.show():o.hide())}else ht(t)}function mt(t){t.addEventListener("click",yt),t.addEventListener("touchstart",bt,!!Kt&&{passive:!0})}function gt(t){t.removeEventListener("click",yt),t.removeEventListener("touchstart",bt),t.removeEventListener("touchend",_t),t.removeEventListener("touchcancel",wt)}function yt(t){var e=t.currentTarget;t.closePopover=!e.$_vclosepopover_touch,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}function bt(t){if(1===t.changedTouches.length){var e=t.currentTarget;e.$_vclosepopover_touch=!0;var n=t.changedTouches[0];e.$_vclosepopover_touchPoint=n,e.addEventListener("touchend",_t),e.addEventListener("touchcancel",wt)}}function _t(t){var e=t.currentTarget;if(e.$_vclosepopover_touch=!1,1===t.changedTouches.length){var n=t.changedTouches[0],r=e.$_vclosepopover_touchPoint;t.closePopover=Math.abs(n.screenY-r.screenY)<20&&Math.abs(n.screenX-r.screenX)<20,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}}function wt(t){t.currentTarget.$_vclosepopover_touch=!1}function xt(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var n=t.indexOf("rv:");return parseInt(t.substring(n+3,t.indexOf(".",n)),10)}var r=t.indexOf("Edge/");return r>0?parseInt(t.substring(r+5,t.indexOf(".",r)),10):-1}function Ct(){Ct.init||(Ct.init=!0,ce=-1!==xt())}function Ot(t){t.component("resize-observer",le)}function kt(t){var e=ae.options.popover[t];return void 0===e?ae.options[t]:e}function $t(t){At(t)}function St(t){At(t,!0)}function At(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=void 0,r=0;r<he.length;r++){n=he[r];var i=n.$refs.popover.contains(t.target);(t.closeAllPopover||t.closePopover&&i||n.autoHide&&!i)&&n.$_handleGlobalClose(t,e)}}function Et(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!Et.installed){Et.installed=!0;var n={};ge(n,se,e),ye.options=n,ae.options=n,t.directive("tooltip",ae),t.directive("close-popover",ue),t.component("v-popover",ve)}}for(var Lt="undefined"!=typeof window&&"undefined"!=typeof document,Tt=["Edge","Trident","Firefox"],Pt=0,jt=0;jt<Tt.length;jt+=1)if(Lt&&navigator.userAgent.indexOf(Tt[jt])>=0){Pt=1;break}var Nt=Lt&&window.Promise,Ut=Nt?n:r,It=void 0,Dt=function(){return void 0===It&&(It=-1!==navigator.appVersion.indexOf("MSIE 10")),It},Mt=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Rt=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),Ft=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},Bt=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},qt=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],Ht=qt.slice(3),Vt={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"},Gt={shift:{order:100,enabled:!0,fn:it},offset:{order:200,enabled:!0,fn:nt,offset:0},preventOverflow:{order:300,enabled:!0,fn:rt,priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:Z},arrow:{order:500,enabled:!0,fn:Q,element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:X,behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:st},hide:{order:800,enabled:!0,fn:ot},computeStyle:{order:850,enabled:!0,fn:W,gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:G,onLoad:z,gpuAcceleration:void 0}},zt={placement:"bottom",eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:Gt},Wt=function(){function t(e,n){var r=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Mt(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=Ut(this.update.bind(this)),this.options=Bt({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(Bt({},t.Defaults.modifiers,o.modifiers)).forEach(function(e){r.options.modifiers[e]=Bt({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return Bt({name:t},r.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&i(t.onLoad)&&t.onLoad(r.reference,r.popper,r.options,t,r.state)}),this.update();var s=this.options.eventsEnabled;s&&this.enableEventListeners(),this.state.eventsEnabled=s}return Rt(t,[{key:"update",value:function(){return P.call(this)}},{key:"destroy",value:function(){return U.call(this)}},{key:"enableEventListeners",value:function(){return R.call(this)}},{key:"disableEventListeners",value:function(){return B.call(this)}}]),t}();Wt.Utils=("undefined"!=typeof window?window:t).PopperUtils,Wt.placements=qt,Wt.Defaults=zt;var Kt=!1;if("undefined"!=typeof window){Kt=!1;try{var Qt=Object.defineProperty({},"passive",{get:function(){Kt=!0}});window.addEventListener("test",null,Qt)}catch(t){}}var Yt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Jt=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Xt=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),Zt=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},te={container:!1,delay:0,html:!1,placement:"top",title:"",template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",offset:0},ee=[],ne=function(){function t(e,n){Jt(this,t),re.call(this),n=Zt({},te,n),e.jquery&&(e=e[0]),this.reference=e,this.options=n,this._isOpen=!1,this._init()}return Xt(t,[{key:"setClasses",value:function(t){this._classes=t}},{key:"setContent",value:function(t){this.options.title=t,this._tooltipNode&&this._setContent(t,this.options)}},{key:"setOptions",value:function(t){var e=!1,n=t&&t.classes||ae.options.defaultClass;this._classes!==n&&(this.setClasses(n),e=!0),t=lt(t);var r=!1,i=!1;this.options.offset===t.offset&&this.options.placement===t.placement||(r=!0),(this.options.template!==t.template||this.options.trigger!==t.trigger||this.options.container!==t.container||e)&&(i=!0);for(var o in t)this.options[o]=t[o];if(this._tooltipNode)if(i){var s=this._isOpen;this.dispose(),this._init(),s&&this.show()}else r&&this.popperInstance.update()}},{key:"_init",value:function(){var t="string"==typeof this.options.trigger?this.options.trigger.split(" ").filter(function(t){return-1!==["click","hover","focus"].indexOf(t)}):[];this._isDisposed=!1,this._enableDocumentTouch=-1===t.indexOf("manual"),this._setEventListeners(this.reference,t,this.options)}},{key:"_create",value:function(t,e){var n=window.document.createElement("div");n.innerHTML=e.trim();var r=n.childNodes[0];return r.id="tooltip_"+Math.random().toString(36).substr(2,10),r.setAttribute("aria-hidden","true"),this.options.autoHide&&-1!==this.options.trigger.indexOf("hover")&&(r.addEventListener("mouseenter",this.hide),r.addEventListener("click",this.hide)),r}},{key:"_setContent",value:function(t,e){var n=this;this.asyncContent=!1,this._applyContent(t,e).then(function(){n.popperInstance.update()})}},{key:"_applyContent",value:function(t,e){var n=this;return new Promise(function(r,i){var o=e.html,s=n._tooltipNode,a=s.querySelector(n.options.innerSelector);if(1===t.nodeType){if(o){for(;a.firstChild;)a.removeChild(a.firstChild);a.appendChild(t)}}else{if("function"==typeof t){var u=t();return void(u&&"function"==typeof u.then?(n.asyncContent=!0,e.loadingClass&&ut(s,e.loadingClass),e.loadingContent&&n._applyContent(e.loadingContent,e),u.then(function(t){return e.loadingClass&&ct(s,e.loadingClass),n._applyContent(t,e)}).then(r).catch(i)):n._applyContent(u,e).then(r).catch(i))}o?a.innerHTML=t:a.innerText=t}r()})}},{key:"_show",value:function(t,e){if(e&&"string"==typeof e.container){if(!document.querySelector(e.container))return}clearTimeout(this._disposeTimer),e=Object.assign({},e),delete e.offset;var n=!0;this._tooltipNode&&(ut(this._tooltipNode,this._classes),n=!1);var r=this._ensureShown(t,e);return n&&this._tooltipNode&&ut(this._tooltipNode,this._classes),r}},{key:"_ensureShown",value:function(t,e){var n=this;if(this._isOpen)return this;if(this._isOpen=!0,ee.push(this),this._tooltipNode)return this._tooltipNode.style.display="",this._tooltipNode.setAttribute("aria-hidden","false"),this.popperInstance.enableEventListeners(),this.popperInstance.update(),this.asyncContent&&this._setContent(e.title,e),this;var r=t.getAttribute("title")||e.title;if(!r)return this;var i=this._create(t,e.template);this._tooltipNode=i,this._setContent(r,e),t.setAttribute("aria-describedby",i.id);var o=this._findContainer(e.container,t);this._append(i,o);var s=Zt({},e.popperOptions,{placement:e.placement});return s.modifiers=Zt({},s.modifiers,{arrow:{element:this.options.arrowSelector}}),e.boundariesElement&&(s.modifiers.preventOverflow={boundariesElement:e.boundariesElement}),this.popperInstance=new Wt(t,i,s),requestAnimationFrame(function(){!n._isDisposed&&n.popperInstance?(n.popperInstance.update(),requestAnimationFrame(function(){n._isDisposed?n.dispose():n._isOpen&&i.setAttribute("aria-hidden","false")})):n.dispose()}),this}},{key:"_noLongerOpen",value:function(){var t=ee.indexOf(this);-1!==t&&ee.splice(t,1)}},{key:"_hide",value:function(){var t=this;if(!this._isOpen)return this;this._isOpen=!1,this._noLongerOpen(),this._tooltipNode.style.display="none",this._tooltipNode.setAttribute("aria-hidden","true"),this.popperInstance.disableEventListeners(),clearTimeout(this._disposeTimer);var e=ae.options.disposeTimeout;return null!==e&&(this._disposeTimer=setTimeout(function(){t._tooltipNode&&(t._tooltipNode.removeEventListener("mouseenter",t.hide),t._tooltipNode.removeEventListener("click",t.hide),t._tooltipNode.parentNode.removeChild(t._tooltipNode),t._tooltipNode=null)},e)),this}},{key:"_dispose",value:function(){var t=this;return this._isDisposed=!0,this._events.forEach(function(e){var n=e.func,r=e.event;t.reference.removeEventListener(r,n)}),this._events=[],this._tooltipNode?(this._hide(),this._tooltipNode.removeEventListener("mouseenter",this.hide),this._tooltipNode.removeEventListener("click",this.hide),this.popperInstance.destroy(),this.popperInstance.options.removeOnDestroy||(this._tooltipNode.parentNode.removeChild(this._tooltipNode),this._tooltipNode=null)):this._noLongerOpen(),this}},{key:"_findContainer",value:function(t,e){return"string"==typeof t?t=window.document.querySelector(t):!1===t&&(t=e.parentNode),t}},{key:"_append",value:function(t,e){e.appendChild(t)}},{key:"_setEventListeners",value:function(t,e,n){var r=this,i=[],o=[];e.forEach(function(t){switch(t){case"hover":i.push("mouseenter"),o.push("mouseleave");break;case"focus":i.push("focus"),o.push("blur");break;case"click":i.push("click"),o.push("click")}}),i.forEach(function(e){var i=function(e){!0!==r._isOpen&&(e.usedByTooltip=!0,r._scheduleShow(t,n.delay,n,e))};r._events.push({event:e,func:i}),t.addEventListener(e,i)}),o.forEach(function(e){var i=function(e){!0!==e.usedByTooltip&&r._scheduleHide(t,n.delay,n,e)};r._events.push({event:e,func:i}),t.addEventListener(e,i)})}},{key:"_onDocumentTouch",value:function(t){this._enableDocumentTouch&&this._scheduleHide(this.reference,this.options.delay,this.options,t)}},{key:"_scheduleShow",value:function(t,e,n){var r=this,i=e&&e.show||e||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){return r._show(t,n)},i)}},{key:"_scheduleHide",value:function(t,e,n,r){var i=this,o=e&&e.hide||e||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){if(!1!==i._isOpen&&document.body.contains(i._tooltipNode)){if("mouseleave"===r.type){if(i._setTooltipNodeEvent(r,t,e,n))return}i._hide(t,n)}},o)}}]),t}(),re=function(){var t=this;this.show=function(){t._show(t.reference,t.options)},this.hide=function(){t._hide()},this.dispose=function(){t._dispose()},this.toggle=function(){return t._isOpen?t.hide():t.show()},this._events=[],this._setTooltipNodeEvent=function(e,n,r,i){var o=e.relatedreference||e.toElement,s=function r(o){var s=o.relatedreference||o.toElement;t._tooltipNode.removeEventListener(e.type,r),n.contains(s)||t._scheduleHide(n,i.delay,i,o)};return!!t._tooltipNode.contains(o)&&(t._tooltipNode.addEventListener(e.type,s),!0)}};"undefined"!=typeof document&&document.addEventListener("touchstart",function(t){for(var e=0;e<ee.length;e++)ee[e]._onDocumentTouch(t)},!!Kt&&{passive:!0});var ie={enabled:!0},oe=["top","top-start","top-end","right","right-start","right-end","bottom","bottom-start","bottom-end","left","left-start","left-end"],se={defaultPlacement:"top",defaultClass:"vue-tooltip-theme",defaultTargetClass:"has-tooltip",defaultTemplate:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',defaultArrowSelector:".tooltip-arrow, .tooltip__arrow",defaultInnerSelector:".tooltip-inner, .tooltip__inner",defaultDelay:0,defaultTrigger:"hover focus",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultLoadingClass:"tooltip-loading",defaultLoadingContent:"...",autoHide:!0,disposeTimeout:5e3,popover:{defaultPlacement:"bottom",defaultClass:"vue-popover-theme",defaultBaseClass:"tooltip popover",defaultWrapperClass:"wrapper",defaultInnerClass:"tooltip-inner popover-inner",defaultArrowClass:"tooltip-arrow popover-arrow",defaultDelay:0,defaultTrigger:"click",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultAutoHide:!0,defaultHandleResize:!0}},ae={options:se,bind:vt,update:vt,unbind:function(t){ht(t)}},ue={bind:function(t,e){var n=e.value,r=e.modifiers;t.$_closePopoverModifiers=r,(void 0===n||n)&&mt(t)},update:function(t,e){var n=e.value,r=e.oldValue,i=e.modifiers;t.$_closePopoverModifiers=i,n!==r&&(void 0===n||n?mt(t):gt(t))},unbind:function(t){gt(t)}},ce=void 0,le={render:function(){var t=this,e=t.$createElement;return(t._self._c||e)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},staticRenderFns:[],_scopeId:"data-v-b329ee4c",name:"resize-observer",methods:{notify:function(){this.$emit("notify")},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.notify),this._w===this.$el.offsetWidth&&this._h===this.$el.offsetHeight||this.notify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!ce&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.notify),delete this._resizeObject.onload)}},mounted:function(){var t=this;Ct(),this.$nextTick(function(){t._w=t.$el.offsetWidth,t._h=t.$el.offsetHeight});var e=document.createElement("object");this._resizeObject=e,e.setAttribute("style","display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;"),e.setAttribute("aria-hidden","true"),e.onload=this.addResizeHandlers,e.type="text/html",ce&&this.$el.appendChild(e),e.data="about:blank",ce||this.$el.appendChild(e)},beforeDestroy:function(){this.removeResizeHandlers()}},fe={version:"0.4.3",install:Ot},pe=null;"undefined"!=typeof window?pe=window.Vue:void 0!==t&&(pe=t.Vue),pe&&pe.use(fe);var de=!1;"undefined"!=typeof window&&"undefined"!=typeof navigator&&(de=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);var he=[],ve={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"v-popover",class:t.cssClass},[n("span",{ref:"trigger",staticClass:"trigger",staticStyle:{display:"inline-block"},attrs:{"aria-describedby":t.popoverId}},[t._t("default")],2),t._v(" "),n("div",{ref:"popover",class:[t.popoverBaseClass,t.popoverClass,t.cssClass],style:{display:t.isOpen?"":"none"},attrs:{id:t.popoverId,"aria-hidden":t.isOpen?"false":"true"}},[n("div",{class:t.popoverWrapperClass},[n("div",{ref:"arrow",class:t.popoverArrowClass}),t._v(" "),n("div",{ref:"inner",class:t.popoverInnerClass,staticStyle:{position:"relative"}},[n("div",[t._t("popover")],2),t._v(" "),t.handleResize?n("ResizeObserver",{on:{notify:t.$_handleResize}}):t._e()],1)])])])},staticRenderFns:[],name:"VPopover",components:{ResizeObserver:le},props:{open:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},placement:{type:String,default:function(){return kt("defaultPlacement")}},delay:{type:[String,Number,Object],default:function(){return kt("defaultDelay")}},offset:{type:[String,Number],default:function(){return kt("defaultOffset")}},trigger:{type:String,default:function(){return kt("defaultTrigger")}},container:{type:[String,Object,Element],default:function(){return kt("defaultContainer")}},boundariesElement:{type:Element,default:function(){return kt("defaultBoundariesElement")}},popperOptions:{type:Object,default:function(){return kt("defaultPopperOptions")}},popoverClass:{type:[String,Array],default:function(){return kt("defaultClass")}},popoverBaseClass:{type:[String,Array],default:function(){return ae.options.popover.defaultBaseClass}},popoverInnerClass:{type:[String,Array],default:function(){return ae.options.popover.defaultInnerClass}},popoverWrapperClass:{type:[String,Array],default:function(){return ae.options.popover.defaultWrapperClass}},popoverArrowClass:{type:[String,Array],default:function(){return ae.options.popover.defaultArrowClass}},autoHide:{type:Boolean,default:function(){return ae.options.popover.defaultAutoHide}},handleResize:{type:Boolean,default:function(){return ae.options.popover.defaultHandleResize}},openGroup:{type:String,default:null}},data:function(){return{isOpen:!1,id:Math.random().toString(36).substr(2,10)}},computed:{cssClass:function(){return{open:this.isOpen}},popoverId:function(){return"popover_"+this.id}},watch:{open:function(t){t?this.show():this.hide()},disabled:function(t,e){t!==e&&(t?this.hide():this.open&&this.show())},container:function(t){if(this.isOpen&&this.popperInstance){var e=this.$refs.popover,n=this.$refs.trigger,r=this.$_findContainer(this.container,n);if(!r)return void console.warn("No container for popover",this);r.appendChild(e),this.popperInstance.update()}},trigger:function(t){this.$_removeEventListeners(),this.$_addEventListeners()},offset:function(t){var e=this;this.$_updatePopper(function(){if(t){var n=e.$_getOffset();e.popperInstance.options.modifiers.offset={offset:n}}else e.popperInstance.options.modifiers.offset=void 0})},placement:function(t){var e=this;this.$_updatePopper(function(){e.popperInstance.options.placement=t})},boundariesElement:"$_restartPopper",popperOptions:{handler:"$_restartPopper",deep:!0}},created:function(){this.$_isDisposed=!1,this.$_mounted=!1,this.$_events=[],this.$_preventOpen=!1},mounted:function(){var t=this.$refs.popover;t.parentNode&&t.parentNode.removeChild(t),this.$_init(),this.open&&this.show()},beforeDestroy:function(){this.dispose()},methods:{show:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.event,n=(t.skipDelay,t.force);!(void 0!==n&&n)&&this.disabled||(this.$_scheduleShow(e),this.$emit("show")),this.$emit("update:open",!0)},hide:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.event;t.skipDelay;this.$_scheduleHide(e),this.$emit("hide"),this.$emit("update:open",!1)},dispose:function(){if(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.popperInstance&&(this.popperInstance.destroy(),!this.popperInstance.options.removeOnDestroy)){var t=this.$refs.popover;t.parentNode&&t.parentNode.removeChild(t)}this.$_mounted=!1,this.$emit("dispose")},$_init:function(){-1===this.trigger.indexOf("manual")&&this.$_addEventListeners()},$_show:function(){var t=this,e=this.$refs.trigger,n=this.$refs.popover;if(clearTimeout(this.$_disposeTimer),!this.isOpen){if(this.popperInstance&&(this.isOpen=!0,this.popperInstance.enableEventListeners(),this.popperInstance.update()),!this.$_mounted){var r=this.$_findContainer(this.container,e);if(!r)return void console.warn("No container for popover",this);r.appendChild(n),this.$_mounted=!0}if(!this.popperInstance){var i=Zt({},this.popperOptions,{placement:this.placement});if(i.modifiers=Zt({},i.modifiers,{arrow:{element:this.$refs.arrow}}),this.offset){var o=this.$_getOffset();i.modifiers.offset={offset:o}}this.boundariesElement&&(i.modifiers.preventOverflow={boundariesElement:this.boundariesElement}),this.popperInstance=new Wt(e,n,i),requestAnimationFrame(function(){!t.$_isDisposed&&t.popperInstance?(t.popperInstance.update(),requestAnimationFrame(function(){t.$_isDisposed?t.dispose():t.isOpen=!0})):t.dispose()})}var s=this.openGroup;if(s)for(var a=void 0,u=0;u<he.length;u++)a=he[u],a.openGroup!==s&&(a.hide(),a.$emit("close-group"));he.push(this)}},$_hide:function(){var t=this;if(this.isOpen){var e=he.indexOf(this);-1!==e&&he.splice(e,1),this.isOpen=!1,this.popperInstance&&this.popperInstance.disableEventListeners(),clearTimeout(this.$_disposeTimer);var n=ae.options.popover.disposeTimeout||ae.options.disposeTimeout;null!==n&&(this.$_disposeTimer=setTimeout(function(){var e=t.$refs.popover;e&&(e.parentNode&&e.parentNode.removeChild(e),t.$_mounted=!1)},n))}},$_findContainer:function(t,e){return"string"==typeof t?t=window.document.querySelector(t):!1===t&&(t=e.parentNode),t},$_getOffset:function(){var t=Yt(this.offset),e=this.offset;return("number"===t||"string"===t&&-1===e.indexOf(","))&&(e="0, "+e),e},$_addEventListeners:function(){var t=this,e=this.$refs.trigger,n=[],r=[];("string"==typeof this.trigger?this.trigger.split(" ").filter(function(t){return-1!==["click","hover","focus"].indexOf(t)}):[]).forEach(function(t){switch(t){case"hover":n.push("mouseenter"),r.push("mouseleave");break;case"focus":n.push("focus"),r.push("blur");break;case"click":n.push("click"),r.push("click")}}),n.forEach(function(n){var r=function(e){t.isOpen||(e.usedByTooltip=!0,!t.$_preventOpen&&t.show({event:e}))};t.$_events.push({event:n,func:r}),e.addEventListener(n,r)}),r.forEach(function(n){var r=function(e){e.usedByTooltip||t.hide({event:e})};t.$_events.push({event:n,func:r}),e.addEventListener(n,r)})},$_scheduleShow:function(){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),t)this.$_show();else{var e=parseInt(this.delay&&this.delay.show||this.delay||0);this.$_scheduleTimer=setTimeout(this.$_show.bind(this),e)}},$_scheduleHide:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),n)this.$_hide();else{var r=parseInt(this.delay&&this.delay.hide||this.delay||0);this.$_scheduleTimer=setTimeout(function(){if(t.isOpen){if(e&&"mouseleave"===e.type){if(t.$_setTooltipNodeEvent(e))return}t.$_hide()}},r)}},$_setTooltipNodeEvent:function(t){var e=this,n=this.$refs.trigger,r=this.$refs.popover,i=t.relatedreference||t.toElement,o=function i(o){var s=o.relatedreference||o.toElement;r.removeEventListener(t.type,i),n.contains(s)||e.hide({event:o})};return!!r.contains(i)&&(r.addEventListener(t.type,o),!0)},$_removeEventListeners:function(){var t=this.$refs.trigger;this.$_events.forEach(function(e){var n=e.func,r=e.event;t.removeEventListener(r,n)}),this.$_events=[]},$_updatePopper:function(t){this.isOpen&&this.popperInstance&&(t(),this.popperInstance.update())},$_restartPopper:function(){if(this.popperInstance){var t=this.isOpen;this.dispose(),this.$_init(),t&&this.show()}},$_handleGlobalClose:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.hide({event:t}),t.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),n&&(this.$_preventOpen=!0,setTimeout(function(){e.$_preventOpen=!1},300))},$_handleResize:function(){this.isOpen&&this.popperInstance&&(this.popperInstance.update(),this.$emit("resize"))}}};"undefined"!=typeof document&&"undefined"!=typeof window&&(de?document.addEventListener("touchend",St,!!Kt&&{passive:!0}):window.addEventListener("click",$t));var me="undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:{},ge=function(t,e){return e={exports:{}},t(e,e.exports),e.exports}(function(t,e){function n(t,e){return t.set(e[0],e[1]),t}function r(t,e){return t.add(e),t}function i(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function o(t,e){for(var n=-1,r=t?t.length:0;++n<r&&!1!==e(t[n],n,t););return t}function s(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}function a(t,e,n,r){var i=-1,o=t?t.length:0;for(r&&o&&(n=t[++i]);++i<o;)n=e(n,t[i],i,t);return n}function u(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}function c(t,e){return null==t?void 0:t[e]}function l(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}function f(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function p(t,e){return function(n){return t(e(n))}}function d(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}function h(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function v(){this.__data__=Ze?Ze(null):{}}function m(t){return this.has(t)&&delete this.__data__[t]}function g(t){var e=this.__data__;if(Ze){var n=e[t];return n===Rt?void 0:n}return je.call(e,t)?e[t]:void 0}function y(t){var e=this.__data__;return Ze?void 0!==e[t]:je.call(e,t)}function b(t,e){return this.__data__[t]=Ze&&void 0===e?Rt:e,this}function _(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function w(){this.__data__=[]}function x(t){var e=this.__data__,n=B(e,t);return!(n<0)&&(n==e.length-1?e.pop():He.call(e,n,1),!0)}function C(t){var e=this.__data__,n=B(e,t);return n<0?void 0:e[n][1]}function O(t){return B(this.__data__,t)>-1}function k(t,e){var n=this.__data__,r=B(n,t);return r<0?n.push([t,e]):n[r][1]=e,this}function $(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function S(){this.__data__={hash:new h,map:new(Qe||_),string:new h}}function A(t){return pt(this,t).delete(t)}function E(t){return pt(this,t).get(t)}function L(t){return pt(this,t).has(t)}function T(t,e){return pt(this,t).set(t,e),this}function P(t){this.__data__=new _(t)}function j(){this.__data__=new _}function N(t){return this.__data__.delete(t)}function U(t){return this.__data__.get(t)}function I(t){return this.__data__.has(t)}function D(t,e){var n=this.__data__;if(n instanceof _){var r=n.__data__;if(!Qe||r.length<Mt-1)return r.push([t,e]),this;n=this.__data__=new $(r)}return n.set(t,e),this}function M(t,e){var n=ln(t)||kt(t)?u(t.length,String):[],r=n.length,i=!!r;for(var o in t)!e&&!je.call(t,o)||i&&("length"==o||gt(o,r))||n.push(o);return n}function R(t,e,n){(void 0===n||Ot(t[e],n))&&("number"!=typeof e||void 0!==n||e in t)||(t[e]=n)}function F(t,e,n){var r=t[e];je.call(t,e)&&Ot(r,n)&&(void 0!==n||e in t)||(t[e]=n)}function B(t,e){for(var n=t.length;n--;)if(Ot(t[n][0],e))return n;return-1}function q(t,e){return t&&ct(e,Nt(e),t)}function H(t,e,n,r,i,s,a){var u;if(r&&(u=s?r(t,i,s,a):r(t)),void 0!==u)return u;if(!Lt(t))return t;var c=ln(t);if(c){if(u=ht(t),!e)return ut(t,u)}else{var f=cn(t),p=f==Vt||f==Gt;if(fn(t))return tt(t,e);if(f==Kt||f==Bt||p&&!s){if(l(t))return s?t:{};if(u=vt(p?{}:t),!e)return lt(t,q(u,t))}else{if(!ge[f])return s?t:{};u=mt(t,f,H,e)}}a||(a=new P);var d=a.get(t);if(d)return d;if(a.set(t,u),!c)var h=n?ft(t):Nt(t);return o(h||t,function(i,o){h&&(o=i,i=t[o]),F(u,o,H(i,e,n,r,o,t,a))}),u}function V(t){return Lt(t)?Be(t):{}}function G(t,e,n){var r=e(t);return ln(t)?r:s(r,n(t))}function z(t){return Ue.call(t)}function W(t){return!(!Lt(t)||_t(t))&&(At(t)||l(t)?Ie:de).test(Ct(t))}function K(t){return Tt(t)&&Et(t.length)&&!!ve[Ue.call(t)]}function Q(t){if(!wt(t))return ze(t);var e=[];for(var n in Object(t))je.call(t,n)&&"constructor"!=n&&e.push(n);return e}function Y(t){if(!Lt(t))return xt(t);var e=wt(t),n=[];for(var r in t)("constructor"!=r||!e&&je.call(t,r))&&n.push(r);return n}function J(t,e,n,r,i){if(t!==e){if(!ln(e)&&!pn(e))var s=Y(e);o(s||e,function(o,a){if(s&&(a=o,o=e[a]),Lt(o))i||(i=new P),X(t,e,a,n,J,r,i);else{var u=r?r(t[a],o,a+"",t,e,i):void 0;void 0===u&&(u=o),R(t,a,u)}})}}function X(t,e,n,r,i,o,s){var a=t[n],u=e[n],c=s.get(u);if(c)return void R(t,n,c);var l=o?o(a,u,n+"",t,e,s):void 0,f=void 0===l;f&&(l=u,ln(u)||pn(u)?ln(a)?l=a:St(a)?l=ut(a):(f=!1,l=H(u,!0)):Pt(u)||kt(u)?kt(a)?l=jt(a):!Lt(a)||r&&At(a)?(f=!1,l=H(u,!0)):l=a:f=!1),f&&(s.set(u,l),i(l,u,r,o,s),s.delete(u)),R(t,n,l)}function Z(t,e){return e=We(void 0===e?t.length-1:e,0),function(){for(var n=arguments,r=-1,o=We(n.length-e,0),s=Array(o);++r<o;)s[r]=n[e+r];r=-1;for(var a=Array(e+1);++r<e;)a[r]=n[r];return a[e]=s,i(t,this,a)}}function tt(t,e){if(e)return t.slice();var n=new t.constructor(t.length);return t.copy(n),n}function et(t){var e=new t.constructor(t.byteLength);return new Re(e).set(new Re(t)),e}function nt(t,e){var n=e?et(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function rt(t,e,r){return a(e?r(f(t),!0):f(t),n,new t.constructor)}function it(t){var e=new t.constructor(t.source,pe.exec(t));return e.lastIndex=t.lastIndex,e}function ot(t,e,n){return a(e?n(d(t),!0):d(t),r,new t.constructor)}function st(t){return an?Object(an.call(t)):{}}function at(t,e){var n=e?et(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function ut(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}function ct(t,e,n,r){n||(n={});for(var i=-1,o=e.length;++i<o;){var s=e[i],a=r?r(n[s],t[s],s,n,t):void 0;F(n,s,void 0===a?t[s]:a)}return n}function lt(t,e){return ct(t,un(t),e)}function ft(t){return G(t,Nt,un)}function pt(t,e){var n=t.__data__;return bt(e)?n["string"==typeof e?"string":"hash"]:n.map}function dt(t,e){var n=c(t,e);return W(n)?n:void 0}function ht(t){var e=t.length,n=t.constructor(e);return e&&"string"==typeof t[0]&&je.call(t,"index")&&(n.index=t.index,n.input=t.input),n}function vt(t){return"function"!=typeof t.constructor||wt(t)?{}:V(Fe(t))}function mt(t,e,n,r){var i=t.constructor;switch(e){case te:return et(t);case qt:case Ht:return new i(+t);case ee:return nt(t,r);case ne:case re:case ie:case oe:case se:case ae:case ue:case ce:case le:return at(t,r);case zt:return rt(t,r,n);case Wt:case Jt:return new i(t);case Qt:return it(t);case Yt:return ot(t,r,n);case Xt:return st(t)}}function gt(t,e){return!!(e=null==e?Ft:e)&&("number"==typeof t||he.test(t))&&t>-1&&t%1==0&&t<e}function yt(t,e,n){if(!Lt(n))return!1;var r=typeof e;return!!("number"==r?$t(n)&&gt(e,n.length):"string"==r&&e in n)&&Ot(n[e],t)}function bt(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}function _t(t){return!!Te&&Te in t}function wt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Ee)}function xt(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}function Ct(t){if(null!=t){try{return Pe.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function Ot(t,e){return t===e||t!==t&&e!==e}function kt(t){return St(t)&&je.call(t,"callee")&&(!qe.call(t,"callee")||Ue.call(t)==Bt)}function $t(t){return null!=t&&Et(t.length)&&!At(t)}function St(t){return Tt(t)&&$t(t)}function At(t){var e=Lt(t)?Ue.call(t):"";return e==Vt||e==Gt}function Et(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=Ft}function Lt(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Tt(t){return!!t&&"object"==typeof t}function Pt(t){if(!Tt(t)||Ue.call(t)!=Kt||l(t))return!1;var e=Fe(t);if(null===e)return!0;var n=je.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&Pe.call(n)==Ne}function jt(t){return ct(t,Ut(t))}function Nt(t){return $t(t)?M(t):Q(t)}function Ut(t){return $t(t)?M(t,!0):Y(t)}function It(){return[]}function Dt(){return!1}var Mt=200,Rt="__lodash_hash_undefined__",Ft=9007199254740991,Bt="[object Arguments]",qt="[object Boolean]",Ht="[object Date]",Vt="[object Function]",Gt="[object GeneratorFunction]",zt="[object Map]",Wt="[object Number]",Kt="[object Object]",Qt="[object RegExp]",Yt="[object Set]",Jt="[object String]",Xt="[object Symbol]",Zt="[object WeakMap]",te="[object ArrayBuffer]",ee="[object DataView]",ne="[object Float32Array]",re="[object Float64Array]",ie="[object Int8Array]",oe="[object Int16Array]",se="[object Int32Array]",ae="[object Uint8Array]",ue="[object Uint8ClampedArray]",ce="[object Uint16Array]",le="[object Uint32Array]",fe=/[\\^$.*+?()[\]{}|]/g,pe=/\w*$/,de=/^\[object .+?Constructor\]$/,he=/^(?:0|[1-9]\d*)$/,ve={};ve[ne]=ve[re]=ve[ie]=ve[oe]=ve[se]=ve[ae]=ve[ue]=ve[ce]=ve[le]=!0,ve[Bt]=ve["[object Array]"]=ve[te]=ve[qt]=ve[ee]=ve[Ht]=ve["[object Error]"]=ve[Vt]=ve[zt]=ve[Wt]=ve[Kt]=ve[Qt]=ve[Yt]=ve[Jt]=ve[Zt]=!1;var ge={};ge[Bt]=ge["[object Array]"]=ge[te]=ge[ee]=ge[qt]=ge[Ht]=ge[ne]=ge[re]=ge[ie]=ge[oe]=ge[se]=ge[zt]=ge[Wt]=ge[Kt]=ge[Qt]=ge[Yt]=ge[Jt]=ge[Xt]=ge[ae]=ge[ue]=ge[ce]=ge[le]=!0,ge["[object Error]"]=ge[Vt]=ge[Zt]=!1;var ye="object"==typeof me&&me&&me.Object===Object&&me,be="object"==typeof self&&self&&self.Object===Object&&self,_e=ye||be||Function("return this")(),we=e&&!e.nodeType&&e,xe=we&&!0&&t&&!t.nodeType&&t,Ce=xe&&xe.exports===we,Oe=Ce&&ye.process,ke=function(){try{return Oe&&Oe.binding("util")}catch(t){}}(),$e=ke&&ke.isTypedArray,Se=Array.prototype,Ae=Function.prototype,Ee=Object.prototype,Le=_e["__core-js_shared__"],Te=function(){var t=/[^.]+$/.exec(Le&&Le.keys&&Le.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),Pe=Ae.toString,je=Ee.hasOwnProperty,Ne=Pe.call(Object),Ue=Ee.toString,Ie=RegExp("^"+Pe.call(je).replace(fe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),De=Ce?_e.Buffer:void 0,Me=_e.Symbol,Re=_e.Uint8Array,Fe=p(Object.getPrototypeOf,Object),Be=Object.create,qe=Ee.propertyIsEnumerable,He=Se.splice,Ve=Object.getOwnPropertySymbols,Ge=De?De.isBuffer:void 0,ze=p(Object.keys,Object),We=Math.max,Ke=dt(_e,"DataView"),Qe=dt(_e,"Map"),Ye=dt(_e,"Promise"),Je=dt(_e,"Set"),Xe=dt(_e,"WeakMap"),Ze=dt(Object,"create"),tn=Ct(Ke),en=Ct(Qe),nn=Ct(Ye),rn=Ct(Je),on=Ct(Xe),sn=Me?Me.prototype:void 0,an=sn?sn.valueOf:void 0;h.prototype.clear=v,h.prototype.delete=m,h.prototype.get=g,h.prototype.has=y,h.prototype.set=b,_.prototype.clear=w,_.prototype.delete=x,_.prototype.get=C,_.prototype.has=O,_.prototype.set=k,$.prototype.clear=S,$.prototype.delete=A,$.prototype.get=E,$.prototype.has=L,$.prototype.set=T,P.prototype.clear=j,P.prototype.delete=N,P.prototype.get=U,P.prototype.has=I,P.prototype.set=D;var un=Ve?p(Ve,Object):It,cn=z;(Ke&&cn(new Ke(new ArrayBuffer(1)))!=ee||Qe&&cn(new Qe)!=zt||Ye&&"[object Promise]"!=cn(Ye.resolve())||Je&&cn(new Je)!=Yt||Xe&&cn(new Xe)!=Zt)&&(cn=function(t){var e=Ue.call(t),n=e==Kt?t.constructor:void 0,r=n?Ct(n):void 0;if(r)switch(r){case tn:return ee;case en:return zt;case nn:return"[object Promise]";case rn:return Yt;case on:return Zt}return e});var ln=Array.isArray,fn=Ge||Dt,pn=$e?function(t){return function(e){return t(e)}}($e):K,dn=function(t){return Z(function(e,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=t.length>3&&"function"==typeof o?(i--,o):void 0,s&&yt(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),e=Object(e);++r<i;){var a=n[r];a&&t(e,a,r,o)}return e})}(function(t,e,n){J(t,e,n)});t.exports=dn}),ye={install:Et,get enabled(){return ie.enabled},set enabled(t){ie.enabled=t}},be=null;"undefined"!=typeof window?be=window.Vue:void 0!==t&&(be=t.Vue),be&&be.use(ye),e.a=ye}).call(e,n(3))},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"row",class:{disabled:t.loading.delete||t.loading.disable}},[n("div",{staticClass:"avatar",class:{"icon-loading-small":t.loading.delete||t.loading.disable}},[t.loading.delete||t.loading.disable?t._e():n("img",{attrs:{alt:"",width:"32",height:"32",src:t.generateAvatar(t.user.id,32),srcset:t.generateAvatar(t.user.id,64)+" 2x, "+t.generateAvatar(t.user.id,128)+" 4x"}})]),t._v(" "),n("div",{staticClass:"name"},[t._v(t._s(t.user.id))]),t._v(" "),n("form",{staticClass:"displayName",class:{"icon-loading-small":t.loading.displayName},on:{submit:function(e){return e.preventDefault(),t.updateDisplayName(e)}}},[n("input",{attrs:{id:"displayName"+t.user.id+t.rand,type:"text",disabled:t.loading.displayName||t.loading.all,autocomplete:"new-password",autocorrect:"off",autocapitalize:"off",spellcheck:"false"},domProps:{value:t.user.displayname}}),t._v(" "),n("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}})]),t._v(" "),t.settings.canChangePassword?n("form",{staticClass:"password",class:{"icon-loading-small":t.loading.password},on:{submit:function(e){return e.preventDefault(),t.updatePassword(e)}}},[n("input",{ref:"password",attrs:{id:"password"+t.user.id+t.rand,type:"password",required:"",disabled:t.loading.password||t.loading.all,minlength:t.minPasswordLength,value:"",placeholder:t.t("settings","New password"),autocomplete:"new-password",autocorrect:"off",autocapitalize:"off",spellcheck:"false"}}),t._v(" "),n("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}})]):n("div"),t._v(" "),n("form",{staticClass:"mailAddress",class:{"icon-loading-small":t.loading.mailAddress},on:{submit:function(e){return e.preventDefault(),t.updateEmail(e)}}},[n("input",{ref:"mailAddress",attrs:{id:"mailAddress"+t.user.id+t.rand,type:"email",disabled:t.loading.mailAddress||t.loading.all,autocomplete:"new-password",autocorrect:"off",autocapitalize:"off",spellcheck:"false"},domProps:{value:t.user.email}}),t._v(" "),n("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}})]),t._v(" "),n("div",{staticClass:"groups",class:{"icon-loading-small":t.loading.groups}},[n("multiselect",{staticClass:"multiselect-vue",attrs:{value:t.userGroups,options:t.groups,disabled:t.loading.groups||t.loading.all,"tag-placeholder":"create",placeholder:t.t("settings","Add user in group"),label:"name","track-by":"id",limit:2,limitText:t.limitGroups,multiple:!0,taggable:!0,closeOnSelect:!1},on:{tag:t.createGroup,select:t.addUserGroup,remove:t.removeUserGroup}})],1),t._v(" "),t.subAdminsGroups.length>0?n("div",{staticClass:"subadmins",class:{"icon-loading-small":t.loading.subadmins}},[n("multiselect",{staticClass:"multiselect-vue",attrs:{value:t.userSubAdminsGroups,options:t.subAdminsGroups,disabled:t.loading.subadmins||t.loading.all,placeholder:t.t("settings","Set user as admin for"),label:"name","track-by":"id",limit:2,limitText:t.limitGroups,multiple:!0,closeOnSelect:!1},on:{select:t.addUserSubAdmin,remove:t.removeUserSubAdmin}},[n("span",{attrs:{slot:"noResult"},slot:"noResult"},[t._v(t._s(t.t("settings","No result")))])])],1):t._e(),t._v(" "),n("div",{staticClass:"quota",class:{"icon-loading-small":t.loading.quota}},[n("multiselect",{staticClass:"multiselect-vue",attrs:{value:t.userQuota,options:t.quotaOptions,disabled:t.loading.quota||t.loading.all,"tag-placeholder":"create",placeholder:t.t("settings","Select user quota"),label:"label","track-by":"id",allowEmpty:!1,taggable:!0},on:{tag:t.validateQuota,input:t.setUserQuota}}),t._v(" "),n("progress",{staticClass:"quota-user-progress",class:{warn:t.usedQuota>80},attrs:{max:"100"},domProps:{value:t.usedQuota}})],1),t._v(" "),t.showConfig.showLanguages?n("div",{staticClass:"languages",class:{"icon-loading-small":t.loading.languages}},[n("multiselect",{staticClass:"multiselect-vue",attrs:{value:t.userLanguage,options:t.languages,disabled:t.loading.languages||t.loading.all,placeholder:t.t("settings","No language set"),label:"name","track-by":"code",allowEmpty:!1,"group-values":"languages","group-label":"label"},on:{input:t.setUserLanguage}})],1):t._e(),t._v(" "),t.showConfig.showStoragePath?n("div",{staticClass:"storageLocation"},[t._v(t._s(t.user.storageLocation))]):t._e(),t._v(" "),t.showConfig.showUserBackend?n("div",{staticClass:"userBackend"},[t._v(t._s(t.user.backend))]):t._e(),t._v(" "),t.showConfig.showLastLogin?n("div",{directives:[{name:"tooltip",rawName:"v-tooltip.auto",value:t.user.lastLogin>0?t.OC.Util.formatDate(t.user.lastLogin):"",expression:"user.lastLogin>0 ? OC.Util.formatDate(user.lastLogin) : ''",modifiers:{auto:!0}}],staticClass:"lastLogin"},[t._v("\n\t\t"+t._s(t.user.lastLogin>0?t.OC.Util.relativeModifiedDate(t.user.lastLogin):t.t("settings","Never"))+"\n\t")]):t._e(),t._v(" "),n("div",{staticClass:"userActions"},[t.OC.currentUser===t.user.id||"admin"===t.user.id||t.loading.all?t._e():n("div",{staticClass:"toggleUserActions"},[n("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:t.hideMenu,expression:"hideMenu"}],staticClass:"icon-more",on:{click:t.toggleMenu}}),t._v(" "),n("div",{staticClass:"popovermenu",class:{open:t.openedMenu}},[n("popover-menu",{attrs:{menu:t.userActions}})],1)])])])},i=[],o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){!function(e,n){t.exports=n()}("undefined"!=typeof self&&self,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=3)}([function(t,e){function n(t,e){var n=t[1]||"",i=t[3];if(!i)return n;if(e&&"function"==typeof btoa){var o=r(i);return[n].concat(i.sources.map(function(t){return"/*# sourceURL="+i.sourceRoot+t+" */"})).concat([o]).join("\n")}return[n].join("\n")}function r(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var r=n(e,t);return e[2]?"@media "+e[2]+"{"+r+"}":r}).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var r={},i=0;i<this.length;i++){var o=this[i][0];"number"==typeof o&&(r[o]=!0)}for(i=0;i<t.length;i++){var s=t[i];"number"==typeof s[0]&&r[s[0]]||(n&&!s[2]?s[2]=n:n&&(s[2]="("+s[2]+") and ("+n+")"),e.push(s))}},e}},function(t,e,n){function r(t){for(var e=0;e<t.length;e++){var n=t[e],r=l[n.id];if(r){r.refs++;for(var i=0;i<r.parts.length;i++)r.parts[i](n.parts[i]);for(;i<n.parts.length;i++)r.parts.push(o(n.parts[i]));r.parts.length>n.parts.length&&(r.parts.length=n.parts.length)}else{for(var s=[],i=0;i<n.parts.length;i++)s.push(o(n.parts[i]));l[n.id]={id:n.id,refs:1,parts:s}}}}function i(){var t=document.createElement("style");return t.type="text/css",f.appendChild(t),t}function o(t){var e,n,r=document.querySelector('style[data-vue-ssr-id~="'+t.id+'"]');if(r){if(h)return v;r.parentNode.removeChild(r)}if(m){var o=d++;r=p||(p=i()),e=s.bind(null,r,o,!1),n=s.bind(null,r,o,!0)}else r=i(),e=a.bind(null,r),n=function(){r.parentNode.removeChild(r)};return e(t),function(r){if(r){if(r.css===t.css&&r.media===t.media&&r.sourceMap===t.sourceMap)return;e(t=r)}else n()}}function s(t,e,n,r){var i=n?"":r.css;if(t.styleSheet)t.styleSheet.cssText=g(e,i);else{var o=document.createTextNode(i),s=t.childNodes;s[e]&&t.removeChild(s[e]),s.length?t.insertBefore(o,s[e]):t.appendChild(o)}}function a(t,e){var n=e.css,r=e.media,i=e.sourceMap;if(r&&t.setAttribute("media",r),i&&(n+="\n/*# sourceURL="+i.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}var u="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!u)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var c=n(7),l={},f=u&&(document.head||document.getElementsByTagName("head")[0]),p=null,d=0,h=!1,v=function(){},m="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());t.exports=function(t,e,n){h=n;var i=c(t,e);return r(i),function(e){for(var n=[],o=0;o<i.length;o++){var s=i[o],a=l[s.id];a.refs--,n.push(a)}e?(i=c(t,e),r(i)):i=[];for(var o=0;o<n.length;o++){var a=n[o];if(0===a.refs){for(var u=0;u<a.parts.length;u++)a.parts[u]();delete l[a.id]}}}};var g=function(){var t=[];return function(e,n){return t[e]=n,t.filter(Boolean).join("\n")}}()},function(t,e){t.exports=function(t,e,n,r,i,o){var s,a=t=t||{},u=typeof t.default;"object"!==u&&"function"!==u||(s=t,a=t.default);var c="function"==typeof a?a.options:a;e&&(c.render=e.render,c.staticRenderFns=e.staticRenderFns,c._compiled=!0),n&&(c.functional=!0),i&&(c._scopeId=i);var l;if(o?(l=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},c._ssrRegister=l):r&&(l=r),l){var f=c.functional,p=f?c.render:c.beforeCreate;f?(c._injectStyles=l,c.render=function(t,e){return l.call(e),p(t,e)}):c.beforeCreate=p?[].concat(p,l):[l]}return{esModule:s,exports:a,options:c}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4);e.default=r.a,"undefined"!=typeof window&&window.Vue&&window.Vue.component("infinite-loading",r.a)},function(t,e,n){"use strict";function r(t){n(5)}var i=n(8),o=n(14),s=n(2),a=r,u=s(i.a,o.a,!1,a,"data-v-fb2c869e",null);e.a=u.exports},function(t,e,n){var r=n(6);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("2249d7a7",r,!0)},function(t,e,n){e=t.exports=n(0)(void 0),e.push([t.i,".infinite-loading-container[data-v-fb2c869e]{clear:both;text-align:center}.infinite-loading-container[data-v-fb2c869e] [class^=loading-]{display:inline-block;margin:15px 0;width:28px;height:28px;font-size:28px;line-height:28px;border-radius:50%}.infinite-status-prompt[data-v-fb2c869e]{color:#666;font-size:14px;text-align:center;padding:10px 0}",""])},function(t,e){t.exports=function(t,e){for(var n=[],r={},i=0;i<e.length;i++){var o=e[i],s=o[0],a=o[1],u=o[2],c=o[3],l={id:t+":"+i,css:a,media:u,sourceMap:c};r[s]?r[s].parts.push(l):n.push(r[s]={id:s,parts:[l]})}return n}},function(t,e,n){"use strict";var r=n(9),i={STATE_CHANGER:["[Vue-infinite-loading warn]: emit `loaded` and `complete` event through component instance of `$refs` may cause error, so it will be deprecated soon, please use the `$state` argument instead (`$state` just the special `$event` variable):","\ntemplate:",'<infinite-loading @infinite="infiniteHandler"></infinite-loading>',"\nscript:\n...\ninfiniteHandler($state) {\n ajax('https://www.example.com/api/news')\n .then((res) => {\n if (res.data.length) {\n $state.loaded();\n } else {\n $state.complete();\n }\n });\n}\n...","","more details: https://github.com/PeachScript/vue-infinite-loading/issues/57#issuecomment-324370549"].join("\n"),INFINITE_EVENT:"[Vue-infinite-loading warn]: `:on-infinite` property will be deprecated soon, please use `@infinite` event instead."},o={INFINITE_LOOP:["[Vue-infinite-loading error]: executed the callback function more than 10 times for a short time, it looks like searched a wrong scroll wrapper that doest not has fixed height or maximum height, please check it. If you want to force to set a element as scroll wrapper ranther than automatic searching, you can do this:",'\n\x3c!-- add a special attribute for the real scroll wrapper --\x3e\n<div infinite-wrapper>\n ...\n \x3c!-- set force-use-infinite-wrapper to true --\x3e\n <infinite-loading force-use-infinite-wrapper="true"></infinite-loading>\n</div>\n ',"more details: https://github.com/PeachScript/vue-infinite-loading/issues/55#issuecomment-316934169"].join("\n")};e.a={name:"InfiniteLoading",data:function(){return{scrollParent:null,scrollHandler:null,isLoading:!1,isComplete:!1,isFirstLoad:!0,debounceTimer:null,debounceDuration:50,infiniteLoopChecked:!1,infiniteLoopTimer:null,continuousCallTimes:0}},components:{Spinner:r.a},computed:{isNoResults:{cache:!1,get:function(){var t=this.$slots["no-results"],e=t&&t[0].elm&&""===t[0].elm.textContent;return!this.isLoading&&this.isComplete&&this.isFirstLoad&&!e}},isNoMore:{cache:!1,get:function(){var t=this.$slots["no-more"],e=t&&t[0].elm&&""===t[0].elm.textContent;return!this.isLoading&&this.isComplete&&!this.isFirstLoad&&!e}}},props:{distance:{type:Number,default:100},onInfinite:Function,spinner:String,direction:{type:String,default:"bottom"},forceUseInfiniteWrapper:null},mounted:function(){var t=this;this.scrollParent=this.getScrollParent(),this.scrollHandler=function(t){this.isLoading||(clearTimeout(this.debounceTimer),t&&t.constructor===Event?this.debounceTimer=setTimeout(this.attemptLoad,this.debounceDuration):this.attemptLoad())}.bind(this),setTimeout(this.scrollHandler,1),this.scrollParent.addEventListener("scroll",this.scrollHandler),this.$on("$InfiniteLoading:loaded",function(e){t.isFirstLoad=!1,t.isLoading&&t.$nextTick(t.attemptLoad.bind(null,!0)),e&&e.target===t||console.warn(i.STATE_CHANGER)}),this.$on("$InfiniteLoading:complete",function(e){t.isLoading=!1,t.isComplete=!0,t.$nextTick(function(){t.$forceUpdate()}),t.scrollParent.removeEventListener("scroll",t.scrollHandler),e&&e.target===t||console.warn(i.STATE_CHANGER)}),this.$on("$InfiniteLoading:reset",function(){t.isLoading=!1,t.isComplete=!1,t.isFirstLoad=!0,t.scrollParent.addEventListener("scroll",t.scrollHandler),setTimeout(t.scrollHandler,1)}),this.onInfinite&&console.warn(i.INFINITE_EVENT),this.stateChanger={loaded:function(){t.$emit("$InfiniteLoading:loaded",{target:t})},complete:function(){t.$emit("$InfiniteLoading:complete",{target:t})},reset:function(){t.$emit("$InfiniteLoading:reset",{target:t})}},this.$watch("forceUseInfiniteWrapper",function(){t.scrollParent=t.getScrollParent()})},deactivated:function(){this.isLoading=!1,this.scrollParent.removeEventListener("scroll",this.scrollHandler)},activated:function(){this.scrollParent.addEventListener("scroll",this.scrollHandler)},methods:{attemptLoad:function(t){var e=this,n=this.getCurrentDistance();!this.isComplete&&n<=this.distance&&this.$el.offsetWidth+this.$el.offsetHeight>0?(this.isLoading=!0,"function"==typeof this.onInfinite?this.onInfinite.call(null,this.stateChanger):this.$emit("infinite",this.stateChanger),!t||this.forceUseInfiniteWrapper||this.infiniteLoopChecked||(this.continuousCallTimes+=1,clearTimeout(this.infiniteLoopTimer),this.infiniteLoopTimer=setTimeout(function(){e.infiniteLoopChecked=!0},1e3),this.continuousCallTimes>10&&(console.error(o.INFINITE_LOOP),this.infiniteLoopChecked=!0))):this.isLoading=!1},getCurrentDistance:function(){return"top"===this.direction?isNaN(this.scrollParent.scrollTop)?this.scrollParent.pageYOffset:this.scrollParent.scrollTop:this.$el.getBoundingClientRect().top-(this.scrollParent===window?window.innerHeight:this.scrollParent.getBoundingClientRect().bottom)},getScrollParent:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.$el,e=void 0;return"BODY"===t.tagName?e=window:!this.forceUseInfiniteWrapper&&["scroll","auto"].indexOf(getComputedStyle(t).overflowY)>-1?e=t:(t.hasAttribute("infinite-wrapper")||t.hasAttribute("data-infinite-wrapper"))&&(e=t),e||this.getScrollParent(t.parentNode)}},destroyed:function(){this.isComplete||this.scrollParent.removeEventListener("scroll",this.scrollHandler)}}},function(t,e,n){"use strict";function r(t){n(10)}var i=n(12),o=n(13),s=n(2),a=r,u=s(i.a,o.a,!1,a,"data-v-6e1fd88f",null);e.a=u.exports},function(t,e,n){var r=n(11);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("29881045",r,!0)},function(t,e,n){e=t.exports=n(0)(void 0),e.push([t.i,'.loading-wave-dots[data-v-6e1fd88f]{position:relative}.loading-wave-dots[data-v-6e1fd88f] .wave-item{position:absolute;top:50%;left:50%;display:inline-block;margin-top:-4px;width:8px;height:8px;border-radius:50%;-webkit-animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite;animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite}.loading-wave-dots[data-v-6e1fd88f] .wave-item:first-child{margin-left:-36px}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(2){margin-left:-20px;-webkit-animation-delay:.14s;animation-delay:.14s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(3){margin-left:-4px;-webkit-animation-delay:.28s;animation-delay:.28s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(4){margin-left:12px;-webkit-animation-delay:.42s;animation-delay:.42s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:last-child{margin-left:28px;-webkit-animation-delay:.56s;animation-delay:.56s}@-webkit-keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}@keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}.loading-circles[data-v-6e1fd88f] .circle-item{width:5px;height:5px;-webkit-animation:loading-circles-data-v-6e1fd88f linear .75s infinite;animation:loading-circles-data-v-6e1fd88f linear .75s infinite}.loading-circles[data-v-6e1fd88f] .circle-item:first-child{margin-top:-14.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){margin-top:-11.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){margin-top:-2.5px;margin-left:9.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){margin-top:6.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){margin-top:9.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){margin-top:6.26px;margin-left:-11.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){margin-top:-2.5px;margin-left:-14.5px}.loading-circles[data-v-6e1fd88f] .circle-item:last-child{margin-top:-11.26px;margin-left:-11.26px}@-webkit-keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}@keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}.loading-bubbles[data-v-6e1fd88f] .bubble-item{background:#666;-webkit-animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite;animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite}.loading-bubbles[data-v-6e1fd88f] .bubble-item:first-child{margin-top:-12.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2){margin-top:-9.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3){margin-top:-.5px;margin-left:11.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4){margin-top:8.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5){margin-top:11.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6){margin-top:8.26px;margin-left:-9.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7){margin-top:-.5px;margin-left:-12.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child{margin-top:-9.26px;margin-left:-9.26px}@-webkit-keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}@keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}.loading-default[data-v-6e1fd88f]{position:relative;border:1px solid #999;-webkit-animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite;animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite}.loading-default[data-v-6e1fd88f]:before{content:"";position:absolute;display:block;top:0;left:50%;margin-top:-3px;margin-left:-3px;width:6px;height:6px;background-color:#999;border-radius:50%}.loading-spiral[data-v-6e1fd88f]{border:2px solid #777;border-right-color:transparent;-webkit-animation:loading-rotating-data-v-6e1fd88f linear .85s infinite;animation:loading-rotating-data-v-6e1fd88f linear .85s infinite}@-webkit-keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-bubbles[data-v-6e1fd88f],.loading-circles[data-v-6e1fd88f]{position:relative}.loading-bubbles[data-v-6e1fd88f] .bubble-item,.loading-circles[data-v-6e1fd88f] .circle-item{position:absolute;top:50%;left:50%;display:inline-block;border-radius:50%}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){-webkit-animation-delay:93ms;animation-delay:93ms}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){-webkit-animation-delay:.186s;animation-delay:.186s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){-webkit-animation-delay:.279s;animation-delay:.279s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){-webkit-animation-delay:.372s;animation-delay:.372s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){-webkit-animation-delay:.465s;animation-delay:.465s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){-webkit-animation-delay:.558s;animation-delay:.558s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child,.loading-circles[data-v-6e1fd88f] .circle-item:last-child{-webkit-animation-delay:.651s;animation-delay:.651s}',""])},function(t,e,n){"use strict";var r={BUBBLES:{render:function(t){return t("span",{attrs:{class:"loading-bubbles"}},Array.apply(Array,Array(8)).map(function(){return t("span",{attrs:{class:"bubble-item"}})}))}},CIRCLES:{render:function(t){return t("span",{attrs:{class:"loading-circles"}},Array.apply(Array,Array(8)).map(function(){return t("span",{attrs:{class:"circle-item"}})}))}},DEFAULT:{render:function(t){return t("i",{attrs:{class:"loading-default"}})}},SPIRAL:{render:function(t){return t("i",{attrs:{class:"loading-spiral"}})}},WAVEDOTS:{render:function(t){return t("span",{attrs:{class:"loading-wave-dots"}},Array.apply(Array,Array(5)).map(function(){return t("span",{attrs:{class:"wave-item"}})}))}}};e.a={name:"spinner",computed:{spinnerView:function(){return r[(this.spinner||"").toUpperCase()]||r.DEFAULT}},props:{spinner:String}}},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement;return(t._self._c||e)(t.spinnerView,{tag:"component"})},i=[],o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"infinite-loading-container"},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.isLoading,expression:"isLoading"}]},[t._t("spinner",[n("spinner",{attrs:{spinner:t.spinner}})])],2),t._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:t.isNoResults,expression:"isNoResults"}],staticClass:"infinite-status-prompt"},[t._t("no-results",[t._v("No results :(")])],2),t._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:t.isNoMore,expression:"isNoMore"}],staticClass:"infinite-status-prompt"},[t._t("no-more",[t._v("No more data :)")])],2)])},i=[],o={render:r,staticRenderFns:i};e.a=o}])})},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"user-list-grid",attrs:{id:"app-content"},on:{"&scroll":function(e){return t.onScroll(e)}}},[n("div",{staticClass:"row",class:{sticky:t.scrolled&&!t.showConfig.showNewUserForm},attrs:{id:"grid-header"}},[n("div",{staticClass:"avatar",attrs:{id:"headerAvatar"}}),t._v(" "),n("div",{staticClass:"name",attrs:{id:"headerName"}},[t._v(t._s(t.t("settings","Username")))]),t._v(" "),n("div",{staticClass:"displayName",attrs:{id:"headerDisplayName"}},[t._v(t._s(t.t("settings","Full name")))]),t._v(" "),n("div",{staticClass:"password",attrs:{id:"headerPassword"}},[t._v(t._s(t.t("settings","Password")))]),t._v(" "),n("div",{staticClass:"mailAddress",attrs:{id:"headerAddress"}},[t._v(t._s(t.t("settings","Email")))]),t._v(" "),n("div",{staticClass:"groups",attrs:{id:"headerGroups"}},[t._v(t._s(t.t("settings","Groups")))]),t._v(" "),t.subAdminsGroups.length>0?n("div",{staticClass:"subadmins",attrs:{id:"headerSubAdmins"}},[t._v(t._s(t.t("settings","Group admin for")))]):t._e(),t._v(" "),n("div",{staticClass:"quota",attrs:{id:"headerQuota"}},[t._v(t._s(t.t("settings","Quota")))]),t._v(" "),t.showConfig.showLanguages?n("div",{staticClass:"languages",attrs:{id:"headerLanguages"}},[t._v(t._s(t.t("settings","Languages")))]):t._e(),t._v(" "),t.showConfig.showStoragePath?n("div",{staticClass:"headerStorageLocation storageLocation"},[t._v(t._s(t.t("settings","Storage location")))]):t._e(),t._v(" "),t.showConfig.showUserBackend?n("div",{staticClass:"headerUserBackend userBackend"},[t._v(t._s(t.t("settings","User backend")))]):t._e(),t._v(" "),t.showConfig.showLastLogin?n("div",{staticClass:"headerLastLogin lastLogin"},[t._v(t._s(t.t("settings","Last login")))]):t._e(),t._v(" "),n("div",{staticClass:"userActions"})]),t._v(" "),n("form",{directives:[{name:"show",rawName:"v-show",value:t.showConfig.showNewUserForm,expression:"showConfig.showNewUserForm"}],staticClass:"row",class:{sticky:t.scrolled&&t.showConfig.showNewUserForm},attrs:{id:"new-user",disabled:t.loading},on:{submit:function(e){return e.preventDefault(),t.createUser(e)}}},[n("div",{class:t.loading?"icon-loading-small":"icon-add"}),t._v(" "),n("div",{staticClass:"name"},[n("input",{directives:[{name:"model",rawName:"v-model",value:t.newUser.id,expression:"newUser.id"}],attrs:{id:"newusername",type:"text",required:"",placeholder:t.t("settings","User name"),name:"username",autocomplete:"off",autocapitalize:"none",autocorrect:"off",pattern:"[a-zA-Z0-9 _\\.@\\-']+"},domProps:{value:t.newUser.id},on:{input:function(e){e.target.composing||t.$set(t.newUser,"id",e.target.value)}}})]),t._v(" "),n("div",{staticClass:"displayName"},[n("input",{directives:[{name:"model",rawName:"v-model",value:t.newUser.displayName,expression:"newUser.displayName"}],attrs:{id:"newdisplayname",type:"text",placeholder:t.t("settings","Display name"),name:"displayname",autocomplete:"off",autocapitalize:"none",autocorrect:"off"},domProps:{value:t.newUser.displayName},on:{input:function(e){e.target.composing||t.$set(t.newUser,"displayName",e.target.value)}}})]),t._v(" "),n("div",{staticClass:"password"},[n("input",{directives:[{name:"model",rawName:"v-model",value:t.newUser.password,expression:"newUser.password"}],attrs:{id:"newuserpassword",type:"password",required:""===t.newUser.mailAddress,placeholder:t.t("settings","Password"),name:"password",autocomplete:"new-password",autocapitalize:"none",autocorrect:"off",minlength:t.minPasswordLength},domProps:{value:t.newUser.password},on:{input:function(e){e.target.composing||t.$set(t.newUser,"password",e.target.value)}}})]),t._v(" "),n("div",{staticClass:"mailAddress"},[n("input",{directives:[{name:"model",rawName:"v-model",value:t.newUser.mailAddress,expression:"newUser.mailAddress"}],attrs:{id:"newemail",type:"email",required:""===t.newUser.password,placeholder:t.t("settings","Mail address"),name:"email",autocomplete:"off",autocapitalize:"none",autocorrect:"off"},domProps:{value:t.newUser.mailAddress},on:{input:function(e){e.target.composing||t.$set(t.newUser,"mailAddress",e.target.value)}}})]),t._v(" "),n("div",{staticClass:"groups"},[n("multiselect",{staticClass:"multiselect-vue",attrs:{options:t.groups,placeholder:t.t("settings","Add user in group"),label:"name","track-by":"id",multiple:!0,"close-on-select":!1},model:{value:t.newUser.groups,callback:function(e){t.$set(t.newUser,"groups",e)},expression:"newUser.groups"}},[n("span",{attrs:{slot:"noResult"},slot:"noResult"},[t._v(t._s(t.t("settings","No result")))])])],1),t._v(" "),t.subAdminsGroups.length>0?n("div",{staticClass:"subadmins"},[n("multiselect",{staticClass:"multiselect-vue",attrs:{options:t.subAdminsGroups,placeholder:t.t("settings","Set user as admin for"),label:"name","track-by":"id",multiple:!0,"close-on-select":!1},model:{value:t.newUser.subAdminsGroups,callback:function(e){t.$set(t.newUser,"subAdminsGroups",e)},expression:"newUser.subAdminsGroups"}},[n("span",{attrs:{slot:"noResult"},slot:"noResult"},[t._v(t._s(t.t("settings","No result")))])])],1):t._e(),t._v(" "),n("div",{staticClass:"quota"},[n("multiselect",{staticClass:"multiselect-vue",attrs:{options:t.quotaOptions,placeholder:t.t("settings","Select user quota"),label:"label","track-by":"id",allowEmpty:!1,taggable:!0},on:{tag:t.validateQuota},model:{value:t.newUser.quota,callback:function(e){t.$set(t.newUser,"quota",e)},expression:"newUser.quota"}})],1),t._v(" "),t.showConfig.showLanguages?n("div",{staticClass:"languages"},[n("multiselect",{staticClass:"multiselect-vue",attrs:{options:t.languages,placeholder:t.t("settings","Default language"),label:"name","track-by":"code",allowEmpty:!1,"group-values":"languages","group-label":"label"},model:{value:t.newUser.language,callback:function(e){t.$set(t.newUser,"language",e)},expression:"newUser.language"}})],1):t._e(),t._v(" "),t.showConfig.showStoragePath?n("div",{staticClass:"storageLocation"}):t._e(),t._v(" "),t.showConfig.showUserBackend?n("div",{staticClass:"userBackend"}):t._e(),t._v(" "),t.showConfig.showLastLogin?n("div",{staticClass:"lastLogin"}):t._e(),t._v(" "),n("div",{staticClass:"userActions"},[n("input",{staticClass:"button primary icon-checkmark-white has-tooltip",attrs:{type:"submit",id:"newsubmit",value:"",title:t.t("settings","Add a new user")}}),t._v(" "),n("input",{staticClass:"button icon-close has-tooltip",attrs:{type:"reset",id:"newreset",value:"",title:t.t("settings","Cancel and reset the form")},on:{click:t.resetForm}})])]),t._v(" "),t._l(t.filteredUsers,function(e,r){return n("user-row",{key:r,attrs:{user:e,settings:t.settings,showConfig:t.showConfig,groups:t.groups,subAdminsGroups:t.subAdminsGroups,quotaOptions:t.quotaOptions,languages:t.languages}})}),t._v(" "),n("infinite-loading",{ref:"infiniteLoading",on:{infinite:t.infiniteHandler}},[n("div",{attrs:{slot:"spinner"},slot:"spinner"},[n("div",{staticClass:"users-icon-loading icon-loading"})]),t._v(" "),n("div",{attrs:{slot:"no-more"},slot:"no-more"},[n("div",{staticClass:"users-list-end"},[t._v("— "+t._s(t.t("settings","no more results"))+" —")])]),t._v(" "),n("div",{attrs:{slot:"no-results"},slot:"no-results"},[n("div",{attrs:{id:"emptycontent"}},[n("div",{staticClass:"icon-contacts-dark"}),t._v(" "),n("h2",[t._v(t._s(t.t("settings","No users in here")))])])])])],2)},i=[],o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){(function(e){/**
+var so=Object.freeze({}),ao=Object.prototype.toString,uo=h("slot,component",!0),co=h("key,ref,slot,slot-scope,is"),lo=Object.prototype.hasOwnProperty,fo=/-(\w)/g,po=g(function(t){return t.replace(fo,function(t,e){return e?e.toUpperCase():""})}),ho=g(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),vo=/\B([A-Z])/g,mo=g(function(t){return t.replace(vo,"-$1").toLowerCase()}),go=Function.prototype.bind?b:y,yo=function(t,e,n){return!1},bo=function(t){return t},_o="data-server-rendered",wo=["component","directive","filter"],xo=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],Co={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:yo,isReservedAttr:yo,isUnknownElement:yo,getTagNamespace:C,parsePlatformTagName:bo,mustUseProp:yo,_lifecycleHooks:xo},Oo=/[^\w.$]/,ko="__proto__"in{},$o="undefined"!=typeof window,So="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,Ao=So&&WXEnvironment.platform.toLowerCase(),Eo=$o&&window.navigator.userAgent.toLowerCase(),Lo=Eo&&/msie|trident/.test(Eo),To=Eo&&Eo.indexOf("msie 9.0")>0,Po=Eo&&Eo.indexOf("edge/")>0,jo=(Eo&&Eo.indexOf("android"),Eo&&/iphone|ipad|ipod|ios/.test(Eo)||"ios"===Ao),No=(Eo&&/chrome\/\d+/.test(Eo),{}.watch),Uo=!1;if($o)try{var Io={};Object.defineProperty(Io,"passive",{get:function(){Uo=!0}}),window.addEventListener("test-passive",null,Io)}catch(t){}var Do,Mo,Ro=function(){return void 0===Do&&(Do=!$o&&!So&&void 0!==t&&"server"===t.process.env.VUE_ENV),Do},Fo=$o&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,Bo="undefined"!=typeof Symbol&&L(Symbol)&&"undefined"!=typeof Reflect&&L(Reflect.ownKeys);Mo="undefined"!=typeof Set&&L(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var qo=C,Ho=0,Vo=function(){this.id=Ho++,this.subs=[]};Vo.prototype.addSub=function(t){this.subs.push(t)},Vo.prototype.removeSub=function(t){v(this.subs,t)},Vo.prototype.depend=function(){Vo.target&&Vo.target.addDep(this)},Vo.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;e<n;e++)t[e].update()},Vo.target=null;var Go=[],zo=function(t,e,n,r,i,o,s,a){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=i,this.ns=void 0,this.context=o,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=s,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=a,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},Wo={child:{configurable:!0}};Wo.child.get=function(){return this.componentInstance},Object.defineProperties(zo.prototype,Wo);var Ko=function(t){void 0===t&&(t="");var e=new zo;return e.text=t,e.isComment=!0,e},Qo=Array.prototype,Yo=Object.create(Qo);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(t){var e=Qo[t];A(Yo,t,function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];var i,o=e.apply(this,n),s=this.__ob__;switch(t){case"push":case"unshift":i=n;break;case"splice":i=n.slice(2)}return i&&s.observeArray(i),s.dep.notify(),o})});var Jo=Object.getOwnPropertyNames(Yo),Xo=!0,Zo=function(t){if(this.value=t,this.dep=new Vo,this.vmCount=0,A(t,"__ob__",this),Array.isArray(t)){(ko?I:D)(t,Yo,Jo),this.observeArray(t)}else this.walk(t)};Zo.prototype.walk=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)R(t,e[n])},Zo.prototype.observeArray=function(t){for(var e=0,n=t.length;e<n;e++)M(t[e])};var ts=Co.optionMergeStrategies;ts.data=function(t,e,n){return n?V(t,e,n):e&&"function"!=typeof e?t:V(t,e)},xo.forEach(function(t){ts[t]=G}),wo.forEach(function(t){ts[t+"s"]=z}),ts.watch=function(t,e,n,r){if(t===No&&(t=void 0),e===No&&(e=void 0),!e)return Object.create(t||null);if(!t)return e;var i={};w(i,t);for(var o in e){var s=i[o],a=e[o];s&&!Array.isArray(s)&&(s=[s]),i[o]=s?s.concat(a):Array.isArray(a)?a:[a]}return i},ts.props=ts.methods=ts.inject=ts.computed=function(t,e,n,r){if(!t)return e;var i=Object.create(null);return w(i,t),e&&w(i,e),i},ts.provide=V;var es,ns,rs=function(t,e){return void 0===e?t:e},is=[],os=!1,ss=!1;if(void 0!==n&&L(n))ns=function(){n(st)};else if("undefined"==typeof MessageChannel||!L(MessageChannel)&&"[object MessageChannelConstructor]"!==MessageChannel.toString())ns=function(){setTimeout(st,0)};else{var as=new MessageChannel,us=as.port2;as.port1.onmessage=st,ns=function(){us.postMessage(1)}}if("undefined"!=typeof Promise&&L(Promise)){var cs=Promise.resolve();es=function(){cs.then(st),jo&&setTimeout(C)}}else es=ns;var ls,fs=new Mo,ps=g(function(t){var e="&"===t.charAt(0);t=e?t.slice(1):t;var n="~"===t.charAt(0);t=n?t.slice(1):t;var r="!"===t.charAt(0);return t=r?t.slice(1):t,{name:t,once:n,capture:r,passive:e}}),ds=null,hs=[],vs=[],ms={},gs=!1,ys=!1,bs=0,_s=0,ws=function(t,e,n,r,i){this.vm=t,i&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++_s,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new Mo,this.newDepIds=new Mo,this.expression="","function"==typeof e?this.getter=e:(this.getter=E(e),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};ws.prototype.get=function(){T(this);var t,e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;rt(t,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&ct(t),P(),this.cleanupDeps()}return t},ws.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},ws.prototype.cleanupDeps=function(){for(var t=this,e=this.deps.length;e--;){var n=t.deps[e];t.newDepIds.has(n.id)||n.removeSub(t)}var r=this.depIds;this.depIds=this.newDepIds,this.newDepIds=r,this.newDepIds.clear(),r=this.deps,this.deps=this.newDeps,this.newDeps=r,this.newDeps.length=0},ws.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():Vt(this)},ws.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||u(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){rt(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},ws.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},ws.prototype.depend=function(){for(var t=this,e=this.deps.length;e--;)t.deps[e].depend()},ws.prototype.teardown=function(){var t=this;if(this.active){this.vm._isBeingDestroyed||v(this.vm._watchers,this);for(var e=this.deps.length;e--;)t.deps[e].removeSub(t);this.active=!1}};var xs={enumerable:!0,configurable:!0,get:C,set:C},Cs={lazy:!0};me(ge.prototype);var Os={init:function(t,e,n,r){if(t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive){var i=t;Os.prepatch(i,i)}else{(t.componentInstance=xe(t,ds,n,r)).$mount(e?t.elm:void 0,e)}},prepatch:function(t,e){var n=e.componentOptions;Nt(e.componentInstance=t.componentInstance,n.propsData,n.listeners,e,n.children)},insert:function(t){var e=t.context,n=t.componentInstance;n._isMounted||(n._isMounted=!0,Mt(n,"mounted")),t.data.keepAlive&&(e._isMounted?qt(n):It(n,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?Dt(e,!0):e.$destroy())}},ks=Object.keys(Os),$s=1,Ss=2,As=0;!function(t){t.prototype._init=function(t){var e=this;e._uid=As++,e._isVue=!0,t&&t._isComponent?Le(e,t):e.$options=Y(Te(e.constructor),t||{},e),e._renderProxy=e,e._self=e,Pt(e),kt(e),Ee(e),Mt(e,"beforeCreate"),re(e),zt(e),ne(e),Mt(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}(Ne),function(t){var e={};e.get=function(){return this._data};var n={};n.get=function(){return this._props},Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=F,t.prototype.$delete=B,t.prototype.$watch=function(t,e,n){var r=this;if(c(e))return ee(r,t,e,n);n=n||{},n.user=!0;var i=new ws(r,t,e,n);return n.immediate&&e.call(r,i.value),function(){i.teardown()}}}(Ne),function(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this,i=this;if(Array.isArray(t))for(var o=0,s=t.length;o<s;o++)r.$on(t[o],n);else(i._events[t]||(i._events[t]=[])).push(n),e.test(t)&&(i._hasHookEvent=!0);return i},t.prototype.$once=function(t,e){function n(){r.$off(t,n),e.apply(r,arguments)}var r=this;return n.fn=e,r.$on(t,n),r},t.prototype.$off=function(t,e){var n=this,r=this;if(!arguments.length)return r._events=Object.create(null),r;if(Array.isArray(t)){for(var i=0,o=t.length;i<o;i++)n.$off(t[i],e);return r}var s=r._events[t];if(!s)return r;if(!e)return r._events[t]=null,r;if(e)for(var a,u=s.length;u--;)if((a=s[u])===e||a.fn===e){s.splice(u,1);break}return r},t.prototype.$emit=function(t){var e=this,n=e._events[t];if(n){n=n.length>1?_(n):n;for(var r=_(arguments,1),i=0,o=n.length;i<o;i++)try{n[i].apply(e,r)}catch(n){rt(n,e,'event handler for "'+t+'"')}}return e}}(Ne),function(t){t.prototype._update=function(t,e){var n=this;n._isMounted&&Mt(n,"beforeUpdate");var r=n.$el,i=n._vnode,o=ds;ds=n,n._vnode=t,i?n.$el=n.__patch__(i,t):(n.$el=n.__patch__(n.$el,t,e,!1,n.$options._parentElm,n.$options._refElm),n.$options._parentElm=n.$options._refElm=null),ds=o,r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},t.prototype.$forceUpdate=function(){var t=this;t._watcher&&t._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){Mt(t,"beforeDestroy"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||v(e.$children,t),t._watcher&&t._watcher.teardown();for(var n=t._watchers.length;n--;)t._watchers[n].teardown();t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),Mt(t,"destroyed"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}}}(Ne),function(t){me(t.prototype),t.prototype.$nextTick=function(t){return ut(t,this)},t.prototype._render=function(){var t=this,e=t.$options,n=e.render,r=e._parentVnode;r&&(t.$scopedSlots=r.data.scopedSlots||so),t.$vnode=r;var i;try{i=n.call(t._renderProxy,t.$createElement)}catch(e){rt(e,t,"render"),i=t._vnode}return i instanceof zo||(i=Ko()),i.parent=r,i}}(Ne);var Es=[String,RegExp,Array],Ls={name:"keep-alive",abstract:!0,props:{include:Es,exclude:Es,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){var t=this;for(var e in t.cache)Ve(t.cache,e,t.keys)},mounted:function(){var t=this;this.$watch("include",function(e){He(t,function(t){return qe(e,t)})}),this.$watch("exclude",function(e){He(t,function(t){return!qe(e,t)})})},render:function(){var t=this.$slots.default,e=Ot(t),n=e&&e.componentOptions;if(n){var r=Be(n),i=this,o=i.include,s=i.exclude;if(o&&(!r||!qe(o,r))||s&&r&&qe(s,r))return e;var a=this,u=a.cache,c=a.keys,l=null==e.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):e.key;u[l]?(e.componentInstance=u[l].componentInstance,v(c,l),c.push(l)):(u[l]=e,c.push(l),this.max&&c.length>parseInt(this.max)&&Ve(u,c[0],c,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}},Ts={KeepAlive:Ls};!function(t){var e={};e.get=function(){return Co},Object.defineProperty(t,"config",e),t.util={warn:qo,extend:w,mergeOptions:Y,defineReactive:R},t.set=F,t.delete=B,t.nextTick=ut,t.options=Object.create(null),wo.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,w(t.options.components,Ts),Ue(t),Ie(t),De(t),Fe(t)}(Ne),Object.defineProperty(Ne.prototype,"$isServer",{get:Ro}),Object.defineProperty(Ne.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Ne,"FunctionalRenderContext",{value:ge}),Ne.version="2.5.16";var Ps,js,Ns,Us,Is,Ds,Ms,Rs,Fs,Bs=h("style,class"),qs=h("input,textarea,option,select,progress"),Hs=function(t,e,n){return"value"===n&&qs(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},Vs=h("contenteditable,draggable,spellcheck"),Gs=h("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),zs="http://www.w3.org/1999/xlink",Ws=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Ks=function(t){return Ws(t)?t.slice(6,t.length):""},Qs=function(t){return null==t||!1===t},Ys={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},Js=h("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),Xs=h("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Zs=function(t){return"pre"===t},ta=function(t){return Js(t)||Xs(t)},ea=Object.create(null),na=h("text,number,password,search,email,tel,url"),ra=Object.freeze({createElement:en,createElementNS:nn,createTextNode:rn,createComment:on,insertBefore:sn,removeChild:an,appendChild:un,parentNode:cn,nextSibling:ln,tagName:fn,setTextContent:pn,setStyleScope:dn}),ia={create:function(t,e){hn(e)},update:function(t,e){t.data.ref!==e.data.ref&&(hn(t,!0),hn(e))},destroy:function(t){hn(t,!0)}},oa=new zo("",{},[]),sa=["create","activate","update","remove","destroy"],aa={create:yn,update:yn,destroy:function(t){yn(t,oa)}},ua=Object.create(null),ca=[ia,aa],la={create:Cn,update:Cn},fa={create:$n,update:$n},pa=/[\w).+\-_$\]]/,da="__r",ha="__c",va={create:er,update:er},ma={create:nr,update:nr},ga=g(function(t){var e={},n=/;(?![^(]*\))/g,r=/:(.+)/;return t.split(n).forEach(function(t){if(t){var n=t.split(r);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}),ya=/^--/,ba=/\s*!important$/,_a=function(t,e,n){if(ya.test(e))t.style.setProperty(e,n);else if(ba.test(n))t.style.setProperty(e,n.replace(ba,""),"important");else{var r=xa(e);if(Array.isArray(n))for(var i=0,o=n.length;i<o;i++)t.style[r]=n[i];else t.style[r]=n}},wa=["Webkit","Moz","ms"],xa=g(function(t){if(Fs=Fs||document.createElement("div").style,"filter"!==(t=po(t))&&t in Fs)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<wa.length;n++){var r=wa[n]+e;if(r in Fs)return r}}),Ca={create:cr,update:cr},Oa=g(function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}}),ka=$o&&!To,$a="transition",Sa="animation",Aa="transition",Ea="transitionend",La="animation",Ta="animationend";ka&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Aa="WebkitTransition",Ea="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(La="WebkitAnimation",Ta="webkitAnimationEnd"));var Pa=$o?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()},ja=/\b(transform|all)(,|$)/,Na=$o?{create:Or,activate:Or,remove:function(t,e){!0!==t.data.show?wr(t,e):e()}}:{},Ua=[la,fa,va,ma,Ca,Na],Ia=Ua.concat(ca),Da=function(t){function e(t){return new zo(T.tagName(t).toLowerCase(),{},[],void 0,t)}function n(t,e){function n(){0==--n.listeners&&s(t)}return n.listeners=e,n}function s(t){var e=T.parentNode(t);i(e)&&T.removeChild(e,t)}function u(t,e,n,r,s,a,u){if(i(t.elm)&&i(a)&&(t=a[u]=N(t)),t.isRootInsert=!s,!c(t,e,n,r)){var l=t.data,f=t.children,h=t.tag;i(h)?(t.elm=t.ns?T.createElementNS(t.ns,h):T.createElement(h,t),g(t),d(t,f,e),i(l)&&m(t,e),p(n,t.elm,r)):o(t.isComment)?(t.elm=T.createComment(t.text),p(n,t.elm,r)):(t.elm=T.createTextNode(t.text),p(n,t.elm,r))}}function c(t,e,n,r){var s=t.data;if(i(s)){var a=i(t.componentInstance)&&s.keepAlive;if(i(s=s.hook)&&i(s=s.init)&&s(t,!1,n,r),i(t.componentInstance))return l(t,e),o(a)&&f(t,e,n,r),!0}}function l(t,e){i(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,v(t)?(m(t,e),g(t)):(hn(t),e.push(t))}function f(t,e,n,r){for(var o,s=t;s.componentInstance;)if(s=s.componentInstance._vnode,i(o=s.data)&&i(o=o.transition)){for(o=0;o<E.activate.length;++o)E.activate[o](oa,s);e.push(s);break}p(n,t.elm,r)}function p(t,e,n){i(t)&&(i(n)?n.parentNode===t&&T.insertBefore(t,e,n):T.appendChild(t,e))}function d(t,e,n){if(Array.isArray(e))for(var r=0;r<e.length;++r)u(e[r],n,t.elm,null,!0,e,r);else a(t.text)&&T.appendChild(t.elm,T.createTextNode(String(t.text)))}function v(t){for(;t.componentInstance;)t=t.componentInstance._vnode;return i(t.tag)}function m(t,e){for(var n=0;n<E.create.length;++n)E.create[n](oa,t);S=t.data.hook,i(S)&&(i(S.create)&&S.create(oa,t),i(S.insert)&&e.push(t))}function g(t){var e;if(i(e=t.fnScopeId))T.setStyleScope(t.elm,e);else for(var n=t;n;)i(e=n.context)&&i(e=e.$options._scopeId)&&T.setStyleScope(t.elm,e),n=n.parent;i(e=ds)&&e!==t.context&&e!==t.fnContext&&i(e=e.$options._scopeId)&&T.setStyleScope(t.elm,e)}function y(t,e,n,r,i,o){for(;r<=i;++r)u(n[r],o,t,e,!1,n,r)}function b(t){var e,n,r=t.data;if(i(r))for(i(e=r.hook)&&i(e=e.destroy)&&e(t),e=0;e<E.destroy.length;++e)E.destroy[e](t);if(i(e=t.children))for(n=0;n<t.children.length;++n)b(t.children[n])}function _(t,e,n,r){for(;n<=r;++n){var o=e[n];i(o)&&(i(o.tag)?(w(o),b(o)):s(o.elm))}}function w(t,e){if(i(e)||i(t.data)){var r,o=E.remove.length+1;for(i(e)?e.listeners+=o:e=n(t.elm,o),i(r=t.componentInstance)&&i(r=r._vnode)&&i(r.data)&&w(r,e),r=0;r<E.remove.length;++r)E.remove[r](t,e);i(r=t.data.hook)&&i(r=r.remove)?r(t,e):e()}else s(t.elm)}function x(t,e,n,o,s){for(var a,c,l,f,p=0,d=0,h=e.length-1,v=e[0],m=e[h],g=n.length-1,b=n[0],w=n[g],x=!s;p<=h&&d<=g;)r(v)?v=e[++p]:r(m)?m=e[--h]:vn(v,b)?(O(v,b,o),v=e[++p],b=n[++d]):vn(m,w)?(O(m,w,o),m=e[--h],w=n[--g]):vn(v,w)?(O(v,w,o),x&&T.insertBefore(t,v.elm,T.nextSibling(m.elm)),v=e[++p],w=n[--g]):vn(m,b)?(O(m,b,o),x&&T.insertBefore(t,m.elm,v.elm),m=e[--h],b=n[++d]):(r(a)&&(a=gn(e,p,h)),c=i(b.key)?a[b.key]:C(b,e,p,h),r(c)?u(b,o,t,v.elm,!1,n,d):(l=e[c],vn(l,b)?(O(l,b,o),e[c]=void 0,x&&T.insertBefore(t,l.elm,v.elm)):u(b,o,t,v.elm,!1,n,d)),b=n[++d]);p>h?(f=r(n[g+1])?null:n[g+1].elm,y(t,f,n,d,g,o)):d>g&&_(t,e,p,h)}function C(t,e,n,r){for(var o=n;o<r;o++){var s=e[o];if(i(s)&&vn(t,s))return o}}function O(t,e,n,s){if(t!==e){var a=e.elm=t.elm;if(o(t.isAsyncPlaceholder))return void(i(e.asyncFactory.resolved)?$(t.elm,e,n):e.isAsyncPlaceholder=!0);if(o(e.isStatic)&&o(t.isStatic)&&e.key===t.key&&(o(e.isCloned)||o(e.isOnce)))return void(e.componentInstance=t.componentInstance);var u,c=e.data;i(c)&&i(u=c.hook)&&i(u=u.prepatch)&&u(t,e);var l=t.children,f=e.children;if(i(c)&&v(e)){for(u=0;u<E.update.length;++u)E.update[u](t,e);i(u=c.hook)&&i(u=u.update)&&u(t,e)}r(e.text)?i(l)&&i(f)?l!==f&&x(a,l,f,n,s):i(f)?(i(t.text)&&T.setTextContent(a,""),y(a,null,f,0,f.length-1,n)):i(l)?_(a,l,0,l.length-1):i(t.text)&&T.setTextContent(a,""):t.text!==e.text&&T.setTextContent(a,e.text),i(c)&&i(u=c.hook)&&i(u=u.postpatch)&&u(t,e)}}function k(t,e,n){if(o(n)&&i(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r<e.length;++r)e[r].data.hook.insert(e[r])}function $(t,e,n,r){var s,a=e.tag,u=e.data,c=e.children;if(r=r||u&&u.pre,e.elm=t,o(e.isComment)&&i(e.asyncFactory))return e.isAsyncPlaceholder=!0,!0;if(i(u)&&(i(s=u.hook)&&i(s=s.init)&&s(e,!0),i(s=e.componentInstance)))return l(e,n),!0;if(i(a)){if(i(c))if(t.hasChildNodes())if(i(s=u)&&i(s=s.domProps)&&i(s=s.innerHTML)){if(s!==t.innerHTML)return!1}else{for(var f=!0,p=t.firstChild,h=0;h<c.length;h++){if(!p||!$(p,c[h],n,r)){f=!1;break}p=p.nextSibling}if(!f||p)return!1}else d(e,c,n);if(i(u)){var v=!1;for(var g in u)if(!P(g)){v=!0,m(e,n);break}!v&&u.class&&ct(u.class)}}else t.data!==e.text&&(t.data=e.text);return!0}var S,A,E={},L=t.modules,T=t.nodeOps;for(S=0;S<sa.length;++S)for(E[sa[S]]=[],A=0;A<L.length;++A)i(L[A][sa[S]])&&E[sa[S]].push(L[A][sa[S]]);var P=h("attrs,class,staticClass,staticStyle,key");return function(t,n,s,a,c,l){if(r(n))return void(i(t)&&b(t));var f=!1,p=[];if(r(t))f=!0,u(n,p,c,l);else{var d=i(t.nodeType);if(!d&&vn(t,n))O(t,n,p,a);else{if(d){if(1===t.nodeType&&t.hasAttribute(_o)&&(t.removeAttribute(_o),s=!0),o(s)&&$(t,n,p))return k(n,p,!0),t;t=e(t)}var h=t.elm,m=T.parentNode(h);if(u(n,p,h._leaveCb?null:m,T.nextSibling(h)),i(n.parent))for(var g=n.parent,y=v(n);g;){for(var w=0;w<E.destroy.length;++w)E.destroy[w](g);if(g.elm=n.elm,y){for(var x=0;x<E.create.length;++x)E.create[x](oa,g);var C=g.data.hook.insert;if(C.merged)for(var S=1;S<C.fns.length;S++)C.fns[S]()}else hn(g);g=g.parent}i(m)?_(m,[t],0,0):i(t.tag)&&b(t)}}return k(n,p,f),n.elm}}({nodeOps:ra,modules:Ia});To&&document.addEventListener("selectionchange",function(){var t=document.activeElement;t&&t.vmodel&&Tr(t,"input")});var Ma={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?dt(n,"postpatch",function(){Ma.componentUpdated(t,e,n)}):kr(t,e,n.context),t._vOptions=[].map.call(t.options,Ar)):("textarea"===n.tag||na(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",Er),t.addEventListener("compositionend",Lr),t.addEventListener("change",Lr),To&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){kr(t,e,n.context);var r=t._vOptions,i=t._vOptions=[].map.call(t.options,Ar);if(i.some(function(t,e){return!O(t,r[e])})){(t.multiple?e.value.some(function(t){return Sr(t,i)}):e.value!==e.oldValue&&Sr(e.value,i))&&Tr(t,"change")}}}},Ra={bind:function(t,e,n){var r=e.value;n=Pr(n);var i=n.data&&n.data.transition,o=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&i?(n.data.show=!0,_r(n,function(){t.style.display=o})):t.style.display=r?o:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&(n=Pr(n),n.data&&n.data.transition?(n.data.show=!0,r?_r(n,function(){t.style.display=t.__vOriginalDisplay}):wr(n,function(){t.style.display="none"})):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,i){i||(t.style.display=t.__vOriginalDisplay)}},Fa={model:Ma,show:Ra},Ba={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]},qa={name:"transition",props:Ba,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(function(t){return t.tag||Ct(t)}),n.length)){var r=this.mode,i=n[0];if(Ir(this.$vnode))return i;var o=jr(i);if(!o)return i;if(this._leaving)return Ur(t,i);var s="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?s+"comment":s+o.tag:a(o.key)?0===String(o.key).indexOf(s)?o.key:s+o.key:o.key;var u=(o.data||(o.data={})).transition=Nr(this),c=this._vnode,l=jr(c);if(o.data.directives&&o.data.directives.some(function(t){return"show"===t.name})&&(o.data.show=!0),l&&l.data&&!Dr(o,l)&&!Ct(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=w({},u);if("out-in"===r)return this._leaving=!0,dt(f,"afterLeave",function(){e._leaving=!1,e.$forceUpdate()}),Ur(t,i);if("in-out"===r){if(Ct(o))return c;var p,d=function(){p()};dt(u,"afterEnter",d),dt(u,"enterCancelled",d),dt(f,"delayLeave",function(t){p=t})}}return i}}},Ha=w({tag:String,moveClass:String},Ba);delete Ha.mode;var Va={props:Ha,render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],s=Nr(this),a=0;a<i.length;a++){var u=i[a];if(u.tag)if(null!=u.key&&0!==String(u.key).indexOf("__vlist"))o.push(u),n[u.key]=u,(u.data||(u.data={})).transition=s;else;}if(r){for(var c=[],l=[],f=0;f<r.length;f++){var p=r[f];p.data.transition=s,p.data.pos=p.elm.getBoundingClientRect(),n[p.key]?c.push(p):l.push(p)}this.kept=t(e,null,c),this.removed=l}return t(e,null,o)},beforeUpdate:function(){this.__patch__(this._vnode,this.kept,!1,!0),this._vnode=this.kept},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||"v")+"-move";t.length&&this.hasMove(t[0].elm,e)&&(t.forEach(Mr),t.forEach(Rr),t.forEach(Fr),this._reflow=document.body.offsetHeight,t.forEach(function(t){if(t.data.moved){var n=t.elm,r=n.style;hr(n,e),r.transform=r.WebkitTransform=r.transitionDuration="",n.addEventListener(Ea,n._moveCb=function t(r){r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(Ea,t),n._moveCb=null,vr(n,e))})}}))},methods:{hasMove:function(t,e){if(!ka)return!1;if(this._hasMove)return this._hasMove;var n=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach(function(t){fr(n,t)}),lr(n,e),n.style.display="none",this.$el.appendChild(n);var r=gr(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}},Ga={Transition:qa,TransitionGroup:Va};Ne.config.mustUseProp=Hs,Ne.config.isReservedTag=ta,Ne.config.isReservedAttr=Bs,Ne.config.getTagNamespace=Xe,Ne.config.isUnknownElement=Ze,w(Ne.options.directives,Fa),w(Ne.options.components,Ga),Ne.prototype.__patch__=$o?Da:C,Ne.prototype.$mount=function(t,e){return t=t&&$o?tn(t):void 0,jt(this,t,e)},$o&&setTimeout(function(){Co.devtools&&Fo&&Fo.emit("init",Ne)},0);var za,Wa=/\{\{((?:.|\n)+?)\}\}/g,Ka=/[-.*+?^${}()|[\]\/\\]/g,Qa=g(function(t){var e=t[0].replace(Ka,"\\$&"),n=t[1].replace(Ka,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+n,"g")}),Ya={staticKeys:["staticClass"],transformNode:qr,genData:Hr},Ja={staticKeys:["staticStyle"],transformNode:Vr,genData:Gr},Xa={decode:function(t){return za=za||document.createElement("div"),za.innerHTML=t,za.textContent}},Za=h("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),tu=h("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),eu=h("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),nu=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ru="[a-zA-Z_][\\w\\-\\.]*",iu="((?:"+ru+"\\:)?"+ru+")",ou=new RegExp("^<"+iu),su=/^\s*(\/?)>/,au=new RegExp("^<\\/"+iu+"[^>]*>"),uu=/^<!DOCTYPE [^>]+>/i,cu=/^<!\--/,lu=/^<!\[/,fu=!1;"x".replace(/x(.)?/g,function(t,e){fu=""===e});var pu,du,hu,vu,mu,gu,yu,bu,_u,wu,xu,Cu=h("script,style,textarea",!0),Ou={},ku={"&lt;":"<","&gt;":">","&quot;":'"',"&amp;":"&","&#10;":"\n","&#9;":"\t"},$u=/&(?:lt|gt|quot|amp);/g,Su=/&(?:lt|gt|quot|amp|#10|#9);/g,Au=h("pre,textarea",!0),Eu=function(t,e){return t&&Au(t)&&"\n"===e[0]},Lu=/^@|^v-on:/,Tu=/^v-|^@|^:/,Pu=/([^]*?)\s+(?:in|of)\s+([^]*)/,ju=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Nu=/^\(|\)$/g,Uu=/:(.*)$/,Iu=/^:|^v-bind:/,Du=/\.[^.]+/g,Mu=g(Xa.decode),Ru=/^xmlns:NS\d+/,Fu=/^NS\d+:/,Bu={preTransformNode:gi},qu=[Ya,Ja,Bu],Hu={model:zn,text:bi,html:_i},Vu={expectHTML:!0,modules:qu,directives:Hu,isPreTag:Zs,isUnaryTag:Za,mustUseProp:Hs,canBeLeftOpenTag:tu,isReservedTag:ta,getTagNamespace:Xe,staticKeys:function(t){return t.reduce(function(t,e){return t.concat(e.staticKeys||[])},[]).join(",")}(qu)},Gu=g(xi),zu=/^([\w$_]+|\([^)]*?\))\s*=>|^function\s*\(/,Wu=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,Ku={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Qu={esc:"Escape",tab:"Tab",enter:"Enter",space:" ",up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete"]},Yu=function(t){return"if("+t+")return null;"},Ju={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:Yu("$event.target !== $event.currentTarget"),ctrl:Yu("!$event.ctrlKey"),shift:Yu("!$event.shiftKey"),alt:Yu("!$event.altKey"),meta:Yu("!$event.metaKey"),left:Yu("'button' in $event && $event.button !== 0"),middle:Yu("'button' in $event && $event.button !== 1"),right:Yu("'button' in $event && $event.button !== 2")},Xu={on:Ti,bind:Pi,cloak:C},Zu=function(t){this.options=t,this.warn=t.warn||En,this.transforms=Ln(t.modules,"transformCode"),this.dataGenFns=Ln(t.modules,"genData"),this.directives=w(w({},Xu),t.directives);var e=t.isReservedTag||yo;this.maybeComponent=function(t){return!e(t.tag)},this.onceId=0,this.staticRenderFns=[]},tc=(new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b"),new RegExp("\\b"+"delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b")+"\\s*\\([^\\)]*\\)"),function(t){return function(e){function n(n,r){var i=Object.create(e),o=[],s=[];if(i.warn=function(t,e){(e?s:o).push(t)},r){r.modules&&(i.modules=(e.modules||[]).concat(r.modules)),r.directives&&(i.directives=w(Object.create(e.directives||null),r.directives));for(var a in r)"modules"!==a&&"directives"!==a&&(i[a]=r[a])}var u=t(n,i);return u.errors=o,u.tips=s,u}return{compile:n,compileToFunctions:ro(n)}}}(function(t,e){var n=Qr(t.trim(),e);!1!==e.optimize&&wi(n,e);var r=ji(n,e);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}})),ec=tc(Vu),nc=ec.compileToFunctions,rc=!!$o&&io(!1),ic=!!$o&&io(!0),oc=g(function(t){var e=tn(t);return e&&e.innerHTML}),sc=Ne.prototype.$mount;Ne.prototype.$mount=function(t,e){if((t=t&&tn(t))===document.body||t===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=oc(r));else{if(!r.nodeType)return this;r=r.innerHTML}else t&&(r=oo(t));if(r){var i=nc(r,{shouldDecodeNewlines:rc,shouldDecodeNewlinesForHref:ic,delimiters:n.delimiters,comments:n.comments},this),o=i.render,s=i.staticRenderFns;n.render=o,n.staticRenderFns=s}}return sc.call(this,t,e)},Ne.compile=nc,e.a=Ne}).call(e,n(3),n(24).setImmediate)},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(e,n,r){"use strict";var i=r(46),o=r.n(i),s=document.getElementsByTagName("head")[0].getAttribute("data-requesttoken"),a={headers:{requesttoken:s}},u=function(t){return t.replace(/\/$/,"")};n.a={requireAdmin:function(){return new Promise(function(e,n){var r=void 0,i=setTimeout(function(){clearTimeout(r),document.getElementsByClassName("oc-dialog-close").length>0&&document.getElementsByClassName("oc-dialog-close")[0].click(),OC.Notification.showTemporary(t("settings","You did not enter the password in time")),n("Password request cancelled")},7e3);OC.PasswordConfirmation.requirePasswordConfirmation(),function t(){if(OC.PasswordConfirmation.requiresPasswordConfirmation())return void(r=setTimeout(t,500));clearTimeout(r),clearTimeout(i),e()}()})},get:function(t){return o.a.get(u(t),a).then(function(t){return Promise.resolve(t)}).catch(function(t){return Promise.reject(t)})},post:function(t,e){return o.a.post(u(t),e,a).then(function(t){return Promise.resolve(t)}).catch(function(t){return Promise.reject(t)})},patch:function(t,e){return o.a.patch(u(t),e,a).then(function(t){return Promise.resolve(t)}).catch(function(t){return Promise.reject(t)})},put:function(t,e){return o.a.put(u(t),e,a).then(function(t){return Promise.resolve(t)}).catch(function(t){return Promise.reject(t)})},delete:function(t,e){return o.a.delete(u(t),{data:e,headers:a.headers}).then(function(t){return Promise.resolve(t)}).catch(function(t){return Promise.reject(t)})}}},function(t,e){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function i(t){if(l===setTimeout)return setTimeout(t,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(t,0);try{return l(t,0)}catch(e){try{return l.call(null,t,0)}catch(e){return l.call(this,t,0)}}}function o(t){if(f===clearTimeout)return clearTimeout(t);if((f===r||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(t);try{return f(t)}catch(e){try{return f.call(null,t)}catch(e){return f.call(this,t)}}}function s(){v&&d&&(v=!1,d.length?h=d.concat(h):m=-1,h.length&&a())}function a(){if(!v){var t=i(s);v=!0;for(var e=h.length;e;){for(d=h,h=[];++m<e;)d&&d[m].run();m=-1,e=h.length}d=null,v=!1,o(t)}}function u(t,e){this.fun=t,this.array=e}function c(){}var l,f,p=t.exports={};!function(){try{l="function"==typeof setTimeout?setTimeout:n}catch(t){l=n}try{f="function"==typeof clearTimeout?clearTimeout:r}catch(t){f=r}}();var d,h=[],v=!1,m=-1;p.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];h.push(new u(t,e)),1!==h.length||v||i(a)},u.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.prependListener=c,p.prependOnceListener=c,p.listeners=function(t){return[]},p.binding=function(t){throw new Error("process.binding is not supported")},p.cwd=function(){return"/"},p.chdir=function(t){throw new Error("process.chdir is not supported")},p.umask=function(){return 0}},function(t,e,n){!function(e,n){t.exports=n()}(0,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=66)}([function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){t.exports=!n(12)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(10),i=n(43),o=n(31),s=Object.defineProperty;e.f=n(1)?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return s(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(77),i=n(21);t.exports=function(t){return r(i(t))}},function(t,e,n){var r=n(9),i=n(52),o=n(18),s=n(55),a=n(53),u=function(t,e,n){var c,l,f,p,d=t&u.F,h=t&u.G,v=t&u.S,m=t&u.P,g=t&u.B,y=h?r:v?r[e]||(r[e]={}):(r[e]||{}).prototype,b=h?i:i[e]||(i[e]={}),_=b.prototype||(b.prototype={});h&&(n=e);for(c in n)l=!d&&y&&void 0!==y[c],f=(l?y:n)[c],p=g&&l?a(f,r):m&&"function"==typeof f?a(Function.call,f):f,y&&s(y,c,f,t&u.U),b[c]!=f&&o(b,c,p),m&&_[c]!=f&&(_[c]=f)};r.core=i,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e,n){var r=n(3),i=n(15);t.exports=n(1)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var r=n(29)("wks"),i=n(16),o=n(0).Symbol,s="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=s&&o[t]||(s?o:i)("Symbol."+t))}).store=r},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){var r=n(13);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var r=n(48),i=n(22);t.exports=Object.keys||function(t){return r(t,i)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){var r=n(109),i=n(110);t.exports=n(35)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var r=n(8);t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(0),i=n(11),o=n(74),s=n(6),a=function(t,e,n){var u,c,l,f=t&a.F,p=t&a.G,d=t&a.S,h=t&a.P,v=t&a.B,m=t&a.W,g=p?i:i[e]||(i[e]={}),y=g.prototype,b=p?r:d?r[e]:(r[e]||{}).prototype;p&&(n=e);for(u in n)(c=!f&&b&&void 0!==b[u])&&u in g||(l=c?b[u]:n[u],g[u]=p&&"function"!=typeof b[u]?n[u]:v&&c?o(l,r):m&&b[u]==l?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(l):h&&"function"==typeof l?o(Function.call,l):l,h&&((g.virtual||(g.virtual={}))[u]=l,t&a.R&&y&&!y[u]&&s(y,u,l)))};a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e){t.exports={}},function(t,e){t.exports=!0},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(3).f,i=n(2),o=n(7)("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},function(t,e,n){var r=n(29)("keys"),i=n(16);t.exports=function(t){return r[t]||(r[t]=i(t))}},function(t,e,n){var r=n(0),i=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(13);t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var r=n(0),i=n(11),o=n(25),s=n(33),a=n(3).f;t.exports=function(t){var e=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:s.f(t)})}},function(t,e,n){e.f=n(7)},function(t,e,n){var r=n(53),i=n(36),o=n(57),s=n(37),a=n(104);t.exports=function(t,e){var n=1==t,u=2==t,c=3==t,l=4==t,f=6==t,p=5==t||f,d=e||a;return function(e,a,h){for(var v,m,g=o(e),y=i(g),b=r(a,h,3),_=s(y.length),w=0,x=n?d(e,_):u?d(e,0):void 0;_>w;w++)if((p||w in y)&&(v=y[w],m=b(v,w,g),t))if(n)x[w]=m;else if(m)switch(t){case 3:return!0;case 5:return v;case 6:return w;case 2:x.push(v)}else if(l)return!1;return f?-1:c||l?l:x}}},function(t,e,n){t.exports=!n(8)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(51);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(56),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e,n){var r=n(111)("wks"),i=n(58),o=n(9).Symbol,s="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=s&&o[t]||(s?o:i)("Symbol."+t))}).store=r},function(t,e,n){"use strict";function r(t){return!(0===t||(!Array.isArray(t)||0!==t.length)&&t)}function i(t){return function(){return!t.apply(void 0,arguments)}}function o(t,e){return void 0===t&&(t="undefined"),null===t&&(t="null"),!1===t&&(t="false"),-1!==t.toString().toLowerCase().indexOf(e.trim())}function s(t,e,n,r){return t.filter(function(t){return o(r(t,n),e)})}function a(t){return t.filter(function(t){return!t.$isLabel})}function u(t,e){return function(n){return n.reduce(function(n,r){return r[t]&&r[t].length?(n.push({$groupLabel:r[e],$isLabel:!0}),n.concat(r[t])):n},[])}}function c(t,e,n,r,i){return function(o){return o.map(function(o){var a;if(!o[n])return console.warn("Options passed to vue-multiselect do not contain groups, despite the config."),[];var u=s(o[n],t,e,i);return u.length?(a={},v()(a,r,o[r]),v()(a,n,u),a):[]})}}var l=n(65),f=n.n(l),p=n(59),d=(n.n(p),n(122)),h=(n.n(d),n(64)),v=n.n(h),m=n(120),g=(n.n(m),n(121)),y=(n.n(g),n(117)),b=(n.n(y),n(123)),_=(n.n(b),n(118)),w=(n.n(_),n(119)),x=(n.n(w),function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(t){return e.reduce(function(t,e){return e(t)},t)}});e.a={data:function(){return{search:"",isOpen:!1,prefferedOpenDirection:"below",optimizedHeight:this.maxHeight}},props:{internalSearch:{type:Boolean,default:!0},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},value:{type:null,default:function(){return[]}},trackBy:{type:String},label:{type:String},searchable:{type:Boolean,default:!0},clearOnSelect:{type:Boolean,default:!0},hideSelected:{type:Boolean,default:!1},placeholder:{type:String,default:"Select option"},allowEmpty:{type:Boolean,default:!0},resetAfter:{type:Boolean,default:!1},closeOnSelect:{type:Boolean,default:!0},customLabel:{type:Function,default:function(t,e){return r(t)?"":e?t[e]:t}},taggable:{type:Boolean,default:!1},tagPlaceholder:{type:String,default:"Press enter to create a tag"},tagPosition:{type:String,default:"top"},max:{type:[Number,Boolean],default:!1},id:{default:null},optionsLimit:{type:Number,default:1e3},groupValues:{type:String},groupLabel:{type:String},groupSelect:{type:Boolean,default:!1},blockKeys:{type:Array,default:function(){return[]}},preserveSearch:{type:Boolean,default:!1},preselectFirst:{type:Boolean,default:!1}},mounted:function(){this.multiple||this.clearOnSelect||console.warn("[Vue-Multiselect warn]: ClearOnSelect and Multiple props can’t be both set to false."),!this.multiple&&this.max&&console.warn("[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false."),this.preselectFirst&&!this.internalValue.length&&this.options.length&&this.select(this.filteredOptions[0])},computed:{internalValue:function(){return this.value||0===this.value?Array.isArray(this.value)?this.value:[this.value]:[]},filteredOptions:function(){var t=this.search||"",e=t.toLowerCase().trim(),n=this.options.concat();return n=this.internalSearch?this.groupValues?this.filterAndFlat(n,e,this.label):s(n,e,this.label,this.customLabel):this.groupValues?u(this.groupValues,this.groupLabel)(n):n,n=this.hideSelected?n.filter(i(this.isSelected)):n,this.taggable&&e.length&&!this.isExistingOption(e)&&("bottom"===this.tagPosition?n.push({isTag:!0,label:t}):n.unshift({isTag:!0,label:t})),n.slice(0,this.optionsLimit)},valueKeys:function(){var t=this;return this.trackBy?this.internalValue.map(function(e){return e[t.trackBy]}):this.internalValue},optionKeys:function(){var t=this;return(this.groupValues?this.flatAndStrip(this.options):this.options).map(function(e){return t.customLabel(e,t.label).toString().toLowerCase()})},currentOptionLabel:function(){return this.multiple?this.searchable?"":this.placeholder:this.internalValue.length?this.getOptionLabel(this.internalValue[0]):this.searchable?"":this.placeholder}},watch:{internalValue:function(){this.resetAfter&&this.internalValue.length&&(this.search="",this.$emit("input",this.multiple?[]:null))},search:function(){this.$emit("search-change",this.search,this.id)}},methods:{getValue:function(){return this.multiple?this.internalValue:0===this.internalValue.length?null:this.internalValue[0]},filterAndFlat:function(t,e,n){return x(c(e,n,this.groupValues,this.groupLabel,this.customLabel),u(this.groupValues,this.groupLabel))(t)},flatAndStrip:function(t){return x(u(this.groupValues,this.groupLabel),a)(t)},updateSearch:function(t){this.search=t},isExistingOption:function(t){return!!this.options&&this.optionKeys.indexOf(t)>-1},isSelected:function(t){var e=this.trackBy?t[this.trackBy]:t;return this.valueKeys.indexOf(e)>-1},getOptionLabel:function(t){if(r(t))return"";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return r(e)?"":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)return void this.selectGroup(t);if(!(-1!==this.blockKeys.indexOf(e)||this.disabled||t.$isDisabled||t.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&("Tab"!==e||this.pointerDirty)){if(t.isTag)this.$emit("tag",t.label,this.id),this.search="",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(t))return void("Tab"!==e&&this.removeElement(t));this.$emit("select",t,this.id),this.multiple?this.$emit("input",this.internalValue.concat([t]),this.id):this.$emit("input",t,this.id),this.clearOnSelect&&(this.search="")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(t){var e=this,n=this.options.find(function(n){return n[e.groupLabel]===t.$groupLabel});if(n)if(this.wholeGroupSelected(n)){this.$emit("remove",n[this.groupValues],this.id);var r=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit("input",r,this.id)}else{var o=n[this.groupValues].filter(i(this.isSelected));this.$emit("select",o,this.id),this.$emit("input",this.internalValue.concat(o),this.id)}},wholeGroupSelected:function(t){return t[this.groupValues].every(this.isSelected)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var n="object"===f()(t)?this.valueKeys.indexOf(t[this.trackBy]):this.valueKeys.indexOf(t);if(this.$emit("remove",t,this.id),this.multiple){var r=this.internalValue.slice(0,n).concat(this.internalValue.slice(n+1));this.$emit("input",r,this.id)}else this.$emit("input",null,this.id);this.closeOnSelect&&e&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf("Delete")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var t=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=""),this.$nextTick(function(){return t.$refs.search.focus()})):this.$el.focus(),this.$emit("open",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=""),this.$emit("close",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if("undefined"!=typeof window){var t=this.$el.getBoundingClientRect().top,e=window.innerHeight-this.$el.getBoundingClientRect().bottom;e>this.maxHeight||e>t||"below"===this.openDirection||"bottom"===this.openDirection?(this.prefferedOpenDirection="below",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.prefferedOpenDirection="above",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){"use strict";var r=n(59);n.n(r),e.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(t,e){return{"multiselect__option--highlight":t===this.pointer&&this.showPointer,"multiselect__option--selected":this.isSelected(e)}},groupHighlight:function(t,e){var n=this;if(!this.groupSelect)return["multiselect__option--disabled"];var r=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return[this.groupSelect?"multiselect__option--group":"multiselect__option--disabled",{"multiselect__option--highlight":t===this.pointer&&this.showPointer},{"multiselect__option--group-selected":this.wholeGroupSelected(r)}]},addPointerElement:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Enter",e=t.key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward:function(){this.pointer<this.filteredOptions.length-1&&(this.pointer++,this.$refs.list.scrollTop<=this.pointerPosition-(this.visibleElements-1)*this.optionHeight&&(this.$refs.list.scrollTop=this.pointerPosition-(this.visibleElements-1)*this.optionHeight),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()),this.pointerDirty=!0},pointerBackward:function(){this.pointer>0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(t){this.pointer=t,this.pointerDirty=!0}}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(13),i=n(0).document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,e,n){t.exports=!n(1)&&!n(12)(function(){return 7!=Object.defineProperty(n(42)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){"use strict";var r=n(25),i=n(23),o=n(49),s=n(6),a=n(2),u=n(24),c=n(79),l=n(27),f=n(86),p=n(7)("iterator"),d=!([].keys&&"next"in[].keys()),h=function(){return this};t.exports=function(t,e,n,v,m,g,y){c(n,e,v);var b,_,w,x=function(t){if(!d&&t in $)return $[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},C=e+" Iterator",O="values"==m,k=!1,$=t.prototype,S=$[p]||$["@@iterator"]||m&&$[m],A=S||x(m),E=m?O?x("entries"):A:void 0,L="Array"==e?$.entries||S:S;if(L&&(w=f(L.call(new t)))!==Object.prototype&&(l(w,C,!0),r||a(w,p)||s(w,p,h)),O&&S&&"values"!==S.name&&(k=!0,A=function(){return S.call(this)}),r&&!y||!d&&!k&&$[p]||s($,p,A),u[e]=A,u[C]=h,m)if(b={values:O?A:x("values"),keys:g?A:x("keys"),entries:E},y)for(_ in b)_ in $||o($,_,b[_]);else i(i.P+i.F*(d||k),e,b);return b}},function(t,e,n){var r=n(10),i=n(83),o=n(22),s=n(28)("IE_PROTO"),a=function(){},u=function(){var t,e=n(42)("iframe"),r=o.length;for(e.style.display="none",n(76).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write("<script>document.F=Object<\/script>"),t.close(),u=t.F;r--;)delete u.prototype[o[r]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(a.prototype=r(t),n=new a,a.prototype=null,n[s]=t):n=u(),void 0===e?n:i(n,e)}},function(t,e,n){var r=n(48),i=n(22).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(2),i=n(4),o=n(73)(!1),s=n(28)("IE_PROTO");t.exports=function(t,e){var n,a=i(t),u=0,c=[];for(n in a)n!=s&&r(a,n)&&c.push(n);for(;e.length>u;)r(a,n=e[u++])&&(~o(c,n)||c.push(n));return c}},function(t,e,n){t.exports=n(6)},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(50);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var r=n(51);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(9),i=n(18),o=n(107),s=n(58)("src"),a=Function.toString,u=(""+a).split("toString");n(52).inspectSource=function(t){return a.call(t)},(t.exports=function(t,e,n,a){var c="function"==typeof n;c&&(o(n,"name")||i(n,"name",e)),t[e]!==n&&(c&&(o(n,s)||i(n,s,t[e]?""+t[e]:u.join(String(e)))),t===r?t[e]=n:a?t[e]?t[e]=n:i(t,e,n):(delete t[e],i(t,e,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[s]||a.call(this)})},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(17);t.exports=function(t){return Object(r(t))}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){"use strict";var r=n(5),i=n(34)(5),o=!0;"find"in[]&&Array(1).find(function(){o=!1}),r(r.P+r.F*o,"Array",{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n(99)("find")},function(t,e,n){"use strict";function r(t){n(124)}var i=n(67),o=n(126),s=n(125),a=r,u=s(i.a,o.a,!1,a,null,null);e.a=u.exports},function(t,e,n){t.exports=n(68)},function(t,e,n){t.exports=n(69)},function(t,e,n){t.exports=n(70)},function(t,e,n){function r(t,e,n){return e in t?i(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var i=n(61);t.exports=r},function(t,e,n){function r(t){return(r="function"==typeof s&&"symbol"==typeof o?function(t){return typeof t}:function(t){return t&&"function"==typeof s&&t.constructor===s&&t!==s.prototype?"symbol":typeof t})(t)}function i(e){return"function"==typeof s&&"symbol"===r(o)?t.exports=i=function(t){return r(t)}:t.exports=i=function(t){return t&&"function"==typeof s&&t.constructor===s&&t!==s.prototype?"symbol":r(t)},i(e)}var o=n(63),s=n(62);t.exports=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(60),i=n(39),o=n(40);n.d(e,"Multiselect",function(){return r.a}),n.d(e,"multiselectMixin",function(){return i.a}),n.d(e,"pointerMixin",function(){return o.a}),e.default=r.a},function(t,e,n){"use strict";var r=n(39),i=n(40);e.a={name:"vue-multiselect",mixins:[r.a,i.a],props:{name:{type:String,default:""},selectLabel:{type:String,default:"Press enter to select"},selectGroupLabel:{type:String,default:"Press enter to select group"},selectedLabel:{type:String,default:"Selected"},deselectLabel:{type:String,default:"Press enter to remove"},deselectGroupLabel:{type:String,default:"Press enter to deselect group"},showLabels:{type:Boolean,default:!0},limit:{type:Number,default:99999},maxHeight:{type:Number,default:300},limitText:{type:Function,default:function(t){return"and ".concat(t," more")}},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},openDirection:{type:String,default:""},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{isSingleLabelVisible:function(){return this.singleValue&&(!this.isOpen||!this.searchable)&&!this.visibleValues.length},isPlaceholderVisible:function(){return!(this.internalValue.length||this.searchable&&this.isOpen)},visibleValues:function(){return this.multiple?this.internalValue.slice(0,this.limit):[]},singleValue:function(){return this.internalValue[0]},deselectLabelText:function(){return this.showLabels?this.deselectLabel:""},deselectGroupLabelText:function(){return this.showLabels?this.deselectGroupLabel:""},selectLabelText:function(){return this.showLabels?this.selectLabel:""},selectGroupLabelText:function(){return this.showLabels?this.selectGroupLabel:""},selectedLabelText:function(){return this.showLabels?this.selectedLabel:""},inputStyle:function(){if(this.multiple&&this.value&&this.value.length)return this.isOpen?{width:"auto"}:{width:"0",position:"absolute",padding:"0"}},contentStyle:function(){return this.options.length?{display:"inline-block"}:{display:"block"}},isAbove:function(){return"above"===this.openDirection||"top"===this.openDirection||"below"!==this.openDirection&&"bottom"!==this.openDirection&&"above"===this.prefferedOpenDirection},showSearchInput:function(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}}},function(t,e,n){n(92);var r=n(11).Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},function(t,e,n){n(95),n(93),n(96),n(97),t.exports=n(11).Symbol},function(t,e,n){n(94),n(98),t.exports=n(33).f("iterator")},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){t.exports=function(){}},function(t,e,n){var r=n(4),i=n(89),o=n(88);t.exports=function(t){return function(e,n,s){var a,u=r(e),c=i(u.length),l=o(s,c);if(t&&n!=n){for(;c>l;)if((a=u[l++])!=a)return!0}else for(;c>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}}},function(t,e,n){var r=n(71);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var r=n(14),i=n(47),o=n(26);t.exports=function(t){var e=r(t),n=i.f;if(n)for(var s,a=n(t),u=o.f,c=0;a.length>c;)u.call(t,s=a[c++])&&e.push(s);return e}},function(t,e,n){t.exports=n(0).document&&document.documentElement},function(t,e,n){var r=n(41);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(41);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){"use strict";var r=n(45),i=n(15),o=n(27),s={};n(6)(s,n(7)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(s,{next:i(1,n)}),o(t,e+" Iterator")}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r=n(14),i=n(4);t.exports=function(t,e){for(var n,o=i(t),s=r(o),a=s.length,u=0;a>u;)if(o[n=s[u++]]===e)return n}},function(t,e,n){var r=n(16)("meta"),i=n(13),o=n(2),s=n(3).f,a=0,u=Object.isExtensible||function(){return!0},c=!n(12)(function(){return u(Object.preventExtensions({}))}),l=function(t){s(t,r,{value:{i:"O"+ ++a,w:{}}})},f=function(t,e){if(!i(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,r)){if(!u(t))return"F";if(!e)return"E";l(t)}return t[r].i},p=function(t,e){if(!o(t,r)){if(!u(t))return!0;if(!e)return!1;l(t)}return t[r].w},d=function(t){return c&&h.NEED&&u(t)&&!o(t,r)&&l(t),t},h=t.exports={KEY:r,NEED:!1,fastKey:f,getWeak:p,onFreeze:d}},function(t,e,n){var r=n(3),i=n(10),o=n(14);t.exports=n(1)?Object.defineProperties:function(t,e){i(t);for(var n,s=o(e),a=s.length,u=0;a>u;)r.f(t,n=s[u++],e[n]);return t}},function(t,e,n){var r=n(26),i=n(15),o=n(4),s=n(31),a=n(2),u=n(43),c=Object.getOwnPropertyDescriptor;e.f=n(1)?c:function(t,e){if(t=o(t),e=s(e,!0),u)try{return c(t,e)}catch(t){}if(a(t,e))return i(!r.f.call(t,e),t[e])}},function(t,e,n){var r=n(4),i=n(46).f,o={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return i(t)}catch(t){return s.slice()}};t.exports.f=function(t){return s&&"[object Window]"==o.call(t)?a(t):i(r(t))}},function(t,e,n){var r=n(2),i=n(90),o=n(28)("IE_PROTO"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var r=n(30),i=n(21);t.exports=function(t){return function(e,n){var o,s,a=String(i(e)),u=r(n),c=a.length;return u<0||u>=c?t?"":void 0:(o=a.charCodeAt(u),o<55296||o>56319||u+1===c||(s=a.charCodeAt(u+1))<56320||s>57343?t?a.charAt(u):o:t?a.slice(u,u+2):s-56320+(o-55296<<10)+65536)}}},function(t,e,n){var r=n(30),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},function(t,e,n){var r=n(30),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e,n){var r=n(21);t.exports=function(t){return Object(r(t))}},function(t,e,n){"use strict";var r=n(72),i=n(80),o=n(24),s=n(4);t.exports=n(44)(Array,"Array",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):"keys"==e?i(0,n):"values"==e?i(0,t[n]):i(0,[n,t[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},function(t,e,n){var r=n(23);r(r.S+r.F*!n(1),"Object",{defineProperty:n(3).f})},function(t,e){},function(t,e,n){"use strict";var r=n(87)(!0);n(44)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){"use strict";var r=n(0),i=n(2),o=n(1),s=n(23),a=n(49),u=n(82).KEY,c=n(12),l=n(29),f=n(27),p=n(16),d=n(7),h=n(33),v=n(32),m=n(81),g=n(75),y=n(78),b=n(10),_=n(4),w=n(31),x=n(15),C=n(45),O=n(85),k=n(84),$=n(3),S=n(14),A=k.f,E=$.f,L=O.f,T=r.Symbol,P=r.JSON,j=P&&P.stringify,N=d("_hidden"),U=d("toPrimitive"),I={}.propertyIsEnumerable,D=l("symbol-registry"),M=l("symbols"),R=l("op-symbols"),F=Object.prototype,B="function"==typeof T,q=r.QObject,H=!q||!q.prototype||!q.prototype.findChild,V=o&&c(function(){return 7!=C(E({},"a",{get:function(){return E(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=A(F,e);r&&delete F[e],E(t,e,n),r&&t!==F&&E(F,e,r)}:E,G=function(t){var e=M[t]=C(T.prototype);return e._k=t,e},z=B&&"symbol"==typeof T.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof T},W=function(t,e,n){return t===F&&W(R,e,n),b(t),e=w(e,!0),b(n),i(M,e)?(n.enumerable?(i(t,N)&&t[N][e]&&(t[N][e]=!1),n=C(n,{enumerable:x(0,!1)})):(i(t,N)||E(t,N,x(1,{})),t[N][e]=!0),V(t,e,n)):E(t,e,n)},K=function(t,e){b(t);for(var n,r=g(e=_(e)),i=0,o=r.length;o>i;)W(t,n=r[i++],e[n]);return t},Q=function(t,e){return void 0===e?C(t):K(C(t),e)},Y=function(t){var e=I.call(this,t=w(t,!0));return!(this===F&&i(M,t)&&!i(R,t))&&(!(e||!i(this,t)||!i(M,t)||i(this,N)&&this[N][t])||e)},J=function(t,e){if(t=_(t),e=w(e,!0),t!==F||!i(M,e)||i(R,e)){var n=A(t,e);return!n||!i(M,e)||i(t,N)&&t[N][e]||(n.enumerable=!0),n}},X=function(t){for(var e,n=L(_(t)),r=[],o=0;n.length>o;)i(M,e=n[o++])||e==N||e==u||r.push(e);return r},Z=function(t){for(var e,n=t===F,r=L(n?R:_(t)),o=[],s=0;r.length>s;)!i(M,e=r[s++])||n&&!i(F,e)||o.push(M[e]);return o};B||(T=function(){if(this instanceof T)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===F&&e.call(R,n),i(this,N)&&i(this[N],t)&&(this[N][t]=!1),V(this,t,x(1,n))};return o&&H&&V(F,t,{configurable:!0,set:e}),G(t)},a(T.prototype,"toString",function(){return this._k}),k.f=J,$.f=W,n(46).f=O.f=X,n(26).f=Y,n(47).f=Z,o&&!n(25)&&a(F,"propertyIsEnumerable",Y,!0),h.f=function(t){return G(d(t))}),s(s.G+s.W+s.F*!B,{Symbol:T});for(var tt="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),et=0;tt.length>et;)d(tt[et++]);for(var tt=S(d.store),et=0;tt.length>et;)v(tt[et++]);s(s.S+s.F*!B,"Symbol",{for:function(t){return i(D,t+="")?D[t]:D[t]=T(t)},keyFor:function(t){if(z(t))return m(D,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){H=!0},useSimple:function(){H=!1}}),s(s.S+s.F*!B,"Object",{create:Q,defineProperty:W,defineProperties:K,getOwnPropertyDescriptor:J,getOwnPropertyNames:X,getOwnPropertySymbols:Z}),P&&s(s.S+s.F*(!B||c(function(){var t=T();return"[null]"!=j([t])||"{}"!=j({a:t})||"{}"!=j(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!z(t)){for(var e,n,r=[t],i=1;arguments.length>i;)r.push(arguments[i++]);return e=r[1],"function"==typeof e&&(n=e),!n&&y(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!z(e))return e}),r[1]=e,j.apply(P,r)}}}),T.prototype[U]||n(6)(T.prototype,U,T.prototype.valueOf),f(T,"Symbol"),f(Math,"Math",!0),f(r.JSON,"JSON",!0)},function(t,e,n){n(32)("asyncIterator")},function(t,e,n){n(32)("observable")},function(t,e,n){n(91);for(var r=n(0),i=n(6),o=n(24),s=n(7)("toStringTag"),a=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],u=0;u<5;u++){var c=a[u],l=r[c],f=l&&l.prototype;f&&!f[s]&&i(f,s,c),o[c]=o.Array}},function(t,e,n){var r=n(38)("unscopables"),i=Array.prototype;void 0==i[r]&&n(18)(i,r,{}),t.exports=function(t){i[r][t]=!0}},function(t,e,n){var r=n(19);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e,n){var r=n(115),i=n(37),o=n(114);t.exports=function(t){return function(e,n,s){var a,u=r(e),c=i(u.length),l=o(s,c);if(t&&n!=n){for(;c>l;)if((a=u[l++])!=a)return!0}else for(;c>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}}},function(t,e,n){var r=n(50),i=n(57),o=n(36),s=n(37);t.exports=function(t,e,n,a,u){r(e);var c=i(t),l=o(c),f=s(c.length),p=u?f-1:0,d=u?-1:1;if(n<2)for(;;){if(p in l){a=l[p],p+=d;break}if(p+=d,u?p<0:f<=p)throw TypeError("Reduce of empty array with no initial value")}for(;u?p>=0:f>p;p+=d)p in l&&(a=e(a,l[p],p,c));return a}},function(t,e,n){var r=n(19),i=n(54),o=n(38)("species");t.exports=function(t){var e;return i(t)&&(e=t.constructor,"function"!=typeof e||e!==Array&&!i(e.prototype)||(e=void 0),r(e)&&null===(e=e[o])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var r=n(103);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){var r=n(19),i=n(9).document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,e,n){"use strict";var r=n(18),i=n(55),o=n(8),s=n(17),a=n(38);t.exports=function(t,e,n){var u=a(t),c=n(s,u,""[t]),l=c[0],f=c[1];o(function(){var e={};return e[u]=function(){return 7},7!=""[t](e)})&&(i(String.prototype,t,l),r(RegExp.prototype,u,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}))}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){t.exports=!n(35)&&!n(8)(function(){return 7!=Object.defineProperty(n(105)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(100),i=n(108),o=n(116),s=Object.defineProperty;e.f=n(35)?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return s(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(9),i=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e,n){var r=n(5),i=n(17),o=n(8),s=n(113),a="["+s+"]",u="​…",c=RegExp("^"+a+a+"*"),l=RegExp(a+a+"*$"),f=function(t,e,n){var i={},a=o(function(){return!!s[t]()||u[t]()!=u}),c=i[t]=a?e(p):s[t];n&&(i[n]=c),r(r.P+r.F*a,"String",i)},p=f.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(c,"")),2&e&&(t=t.replace(l,"")),t};t.exports=f},function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,e,n){var r=n(56),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},function(t,e,n){var r=n(36),i=n(17);t.exports=function(t){return r(i(t))}},function(t,e,n){var r=n(19);t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){"use strict";var r=n(5),i=n(34)(2);r(r.P+r.F*!n(20)([].filter,!0),"Array",{filter:function(t){return i(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(5),i=n(101)(!1),o=[].indexOf,s=!!o&&1/[1].indexOf(1,-0)<0;r(r.P+r.F*(s||!n(20)(o)),"Array",{indexOf:function(t){return s?o.apply(this,arguments)||0:i(this,t,arguments[1])}})},function(t,e,n){var r=n(5);r(r.S,"Array",{isArray:n(54)})},function(t,e,n){"use strict";var r=n(5),i=n(34)(1);r(r.P+r.F*!n(20)([].map,!0),"Array",{map:function(t){return i(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(5),i=n(102);r(r.P+r.F*!n(20)([].reduce,!0),"Array",{reduce:function(t){return i(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){n(106)("search",1,function(t,e,n){return[function(n){"use strict";var r=t(this),i=void 0==n?void 0:n[e];return void 0!==i?i.call(n,r):new RegExp(n)[e](String(r))},n]})},function(t,e,n){"use strict";n(112)("trim",function(t){return function(){return t(this,3)}})},function(t,e){},function(t,e){t.exports=function(t,e,n,r,i,o){var s,a=t=t||{},u=typeof t.default;"object"!==u&&"function"!==u||(s=t,a=t.default);var c="function"==typeof a?a.options:a;e&&(c.render=e.render,c.staticRenderFns=e.staticRenderFns,c._compiled=!0),n&&(c.functional=!0),i&&(c._scopeId=i);var l;if(o?(l=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},c._ssrRegister=l):r&&(l=r),l){var f=c.functional,p=f?c.render:c.beforeCreate;f?(c._injectStyles=l,c.render=function(t,e){return l.call(e),p(t,e)}):c.beforeCreate=p?[].concat(p,l):[l]}return{esModule:s,exports:a,options:c}}},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"multiselect",class:{"multiselect--active":t.isOpen,"multiselect--disabled":t.disabled,"multiselect--above":t.isAbove},attrs:{tabindex:t.searchable?-1:t.tabindex},on:{focus:function(e){t.activate()},blur:function(e){!t.searchable&&t.deactivate()},keydown:[function(e){return"button"in e||!t._k(e.keyCode,"down",40,e.key,"ArrowDown")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerForward()):null},function(e){return"button"in e||!t._k(e.keyCode,"up",38,e.key,"ArrowUp")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerBackward()):null},function(e){return"button"in e||!t._k(e.keyCode,"enter",13,e.key,"Enter")||!t._k(e.keyCode,"tab",9,e.key,"Tab")?(e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null}],keyup:function(e){if(!("button"in e)&&t._k(e.keyCode,"esc",27,e.key,"Escape"))return null;t.deactivate()}}},[t._t("caret",[n("div",{staticClass:"multiselect__select",on:{mousedown:function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}}})],{toggle:t.toggle}),t._v(" "),t._t("clear",null,{search:t.search}),t._v(" "),n("div",{ref:"tags",staticClass:"multiselect__tags"},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.visibleValues.length>0,expression:"visibleValues.length > 0"}],staticClass:"multiselect__tags-wrap"},[t._l(t.visibleValues,function(e){return[t._t("tag",[n("span",{staticClass:"multiselect__tag"},[n("span",{domProps:{textContent:t._s(t.getOptionLabel(e))}}),t._v(" "),n("i",{staticClass:"multiselect__tag-icon",attrs:{"aria-hidden":"true",tabindex:"1"},on:{keydown:function(n){if(!("button"in n)&&t._k(n.keyCode,"enter",13,n.key,"Enter"))return null;n.preventDefault(),t.removeElement(e)},mousedown:function(n){n.preventDefault(),t.removeElement(e)}}})])],{option:e,search:t.search,remove:t.removeElement})]})],2),t._v(" "),t.internalValue&&t.internalValue.length>t.limit?[t._t("limit",[n("strong",{staticClass:"multiselect__strong",domProps:{textContent:t._s(t.limitText(t.internalValue.length-t.limit))}})])]:t._e(),t._v(" "),n("transition",{attrs:{name:"multiselect__loading"}},[t._t("loading",[n("div",{directives:[{name:"show",rawName:"v-show",value:t.loading,expression:"loading"}],staticClass:"multiselect__spinner"})])],2),t._v(" "),n("input",{directives:[{name:"show",rawName:"v-show",value:t.isOpen&&t.searchable,expression:"isOpen && searchable"}],ref:"search",staticClass:"multiselect__input",style:t.inputStyle,attrs:{name:t.name,id:t.id,type:"text",autocomplete:"off",placeholder:t.placeholder,disabled:t.disabled,tabindex:t.tabindex},domProps:{value:t.search},on:{input:function(e){t.updateSearch(e.target.value)},focus:function(e){e.preventDefault(),t.activate()},blur:function(e){e.preventDefault(),t.deactivate()},keyup:function(e){if(!("button"in e)&&t._k(e.keyCode,"esc",27,e.key,"Escape"))return null;t.deactivate()},keydown:[function(e){if(!("button"in e)&&t._k(e.keyCode,"down",40,e.key,"ArrowDown"))return null;e.preventDefault(),t.pointerForward()},function(e){if(!("button"in e)&&t._k(e.keyCode,"up",38,e.key,"ArrowUp"))return null;e.preventDefault(),t.pointerBackward()},function(e){return"button"in e||!t._k(e.keyCode,"enter",13,e.key,"Enter")?(e.preventDefault(),e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null},function(e){if(!("button"in e)&&t._k(e.keyCode,"delete",[8,46],e.key,["Backspace","Delete"]))return null;e.stopPropagation(),t.removeLastElement()}]}}),t._v(" "),t.isSingleLabelVisible?n("span",{staticClass:"multiselect__single",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t("singleLabel",[[t._v(t._s(t.currentOptionLabel))]],{option:t.singleValue})],2):t._e(),t._v(" "),t.isPlaceholderVisible?n("span",{on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t("placeholder",[n("span",{staticClass:"multiselect__single"},[t._v("\n "+t._s(t.placeholder)+"\n ")])])],2):t._e()],2),t._v(" "),n("transition",{attrs:{name:"multiselect"}},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.isOpen,expression:"isOpen"}],ref:"list",staticClass:"multiselect__content-wrapper",style:{maxHeight:t.optimizedHeight+"px"},on:{focus:t.activate,mousedown:function(t){t.preventDefault()}}},[n("ul",{staticClass:"multiselect__content",style:t.contentStyle},[t._t("beforeList"),t._v(" "),t.multiple&&t.max===t.internalValue.length?n("li",[n("span",{staticClass:"multiselect__option"},[t._t("maxElements",[t._v("Maximum of "+t._s(t.max)+" options selected. First remove a selected option to select another.")])],2)]):t._e(),t._v(" "),!t.max||t.internalValue.length<t.max?t._l(t.filteredOptions,function(e,r){return n("li",{key:r,staticClass:"multiselect__element"},[e&&(e.$isLabel||e.$isDisabled)?t._e():n("span",{staticClass:"multiselect__option",class:t.optionHighlight(r,e),attrs:{"data-select":e&&e.isTag?t.tagPlaceholder:t.selectLabelText,"data-selected":t.selectedLabelText,"data-deselect":t.deselectLabelText},on:{click:function(n){n.stopPropagation(),t.select(e)},mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.pointerSet(r)}}},[t._t("option",[n("span",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2),t._v(" "),e&&(e.$isLabel||e.$isDisabled)?n("span",{staticClass:"multiselect__option",class:t.groupHighlight(r,e),attrs:{"data-select":t.groupSelect&&t.selectGroupLabelText,"data-deselect":t.groupSelect&&t.deselectGroupLabelText},on:{mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.groupSelect&&t.pointerSet(r)},mousedown:function(n){n.preventDefault(),t.selectGroup(e)}}},[t._t("option",[n("span",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2):t._e()])}):t._e(),t._v(" "),n("li",{directives:[{name:"show",rawName:"v-show",value:t.showNoResults&&0===t.filteredOptions.length&&t.search&&!t.loading,expression:"showNoResults && (filteredOptions.length === 0 && search && !loading)"}]},[n("span",{staticClass:"multiselect__option"},[t._t("noResult",[t._v("No elements found. Consider changing the search query.")])],2)]),t._v(" "),t._t("afterList")],2)])])],2)},i=[],o={render:r,staticRenderFns:i};e.a=o}])})},function(t,e,n){"use strict";(function(e){function r(t,e){!i.isUndefined(t)&&i.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var i=n(0),o=n(50),s={"Content-Type":"application/x-www-form-urlencoded"},a={adapter:function(){var t;return"undefined"!=typeof XMLHttpRequest?t=n(19):void 0!==e&&(t=n(19)),t}(),transformRequest:[function(t,e){return o(e,"Content-Type"),i.isFormData(t)||i.isArrayBuffer(t)||i.isBuffer(t)||i.isStream(t)||i.isFile(t)||i.isBlob(t)?t:i.isArrayBufferView(t)?t.buffer:i.isURLSearchParams(t)?(r(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):i.isObject(t)?(r(e,"application/json;charset=utf-8"),JSON.stringify(t)):t}],transformResponse:[function(t){if("string"==typeof t)try{t=JSON.parse(t)}catch(t){}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(t){return t>=200&&t<300}};a.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(t){a.headers[t]={}}),i.forEach(["post","put","patch"],function(t){a.headers[t]=i.merge(s)}),t.exports=a}).call(e,n(5))},function(t,e,n){"use strict";e.a={name:"App",beforeMount:function(){null!==document.getElementById("serverData")&&this.$store.commit("setServerData",JSON.parse(document.getElementById("serverData").dataset.server))}}},function(e,n,r){"use strict";var i=r(32),o=r(39),s=r(2),a=r(45),u=r.n(a),c=r(6),l=r.n(c),f=(r(4),"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t});s.a.use(u.a),s.a.use(u.a),n.a={name:"Users",props:["selectedGroup"],components:{appNavigation:i.a,userList:o.a,Multiselect:l.a},beforeMount:function(){this.$store.commit("initGroups",{groups:this.$store.getters.getServerData.groups,orderBy:this.$store.getters.getServerData.sortGroups,userCount:this.$store.getters.getServerData.userCount}),this.$store.dispatch("getPasswordPolicyMinLength")},data:function(){return{unlimitedQuota:{id:"default",label:t("settings","Unlimited")},selectedQuota:!1,showConfig:{showStoragePath:!1,showUserBackend:!1,showLastLogin:!1,showNewUserForm:!1,showLanguages:!1}}},methods:{toggleNewUserMenu:function(){this.showConfig.showNewUserForm=!this.showConfig.showNewUserForm,this.showConfig.showNewUserForm&&s.a.nextTick(function(){window.newusername.focus()})},getLocalstorage:function(t){var e=this.$localStorage.get(t);return this.showConfig[t]=null!==e?"true"===e:this.showConfig[t],this.showConfig[t]},setLocalStorage:function(t,e){return this.showConfig[t]=e,this.$localStorage.set(t,e),e},removeGroup:function(e){var n=this;OC.dialogs.confirm(t("settings","You are about to remove the group {group}. The users will NOT be deleted.",{group:e}),t("settings","Please confirm the group removal "),function(t){t&&n.$store.dispatch("removeGroup",e)})},setDefaultQuota:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"none";this.$store.dispatch("setAppConfig",{app:"files",key:"default_quota",value:e.id?e.id:e}).then(function(){"object"!==(void 0===e?"undefined":f(e))&&(e={id:e,label:e}),t.defaultQuota=e})},validateQuota:function(t){var e=OC.Util.computerFileSize(t);return 0===e?this.setDefaultQuota("none"):null!==e&&this.setDefaultQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(t)))}},computed:{users:function(){return this.$store.getters.getUsers},loading:function(){return 0===Object.keys(this.users).length},usersOffset:function(){return this.$store.getters.getUsersOffset},usersLimit:function(){return this.$store.getters.getUsersLimit},showLanguages:{get:function(){return this.getLocalstorage("showLanguages")},set:function(t){this.setLocalStorage("showLanguages",t)}},showLastLogin:{get:function(){return this.getLocalstorage("showLastLogin")},set:function(t){this.setLocalStorage("showLastLogin",t)}},showUserBackend:{get:function(){return this.getLocalstorage("showUserBackend")},set:function(t){this.setLocalStorage("showUserBackend",t)}},showStoragePath:{get:function(){return this.getLocalstorage("showStoragePath")},set:function(t){this.setLocalStorage("showStoragePath",t)}},userCount:function(){return this.$store.getters.getUserCount},settings:function(){return this.$store.getters.getServerData},quotaOptions:function(){var t=this.settings.quotaPreset.reduce(function(t,e){return t.concat({id:e,label:e})},[]);return t.unshift(this.unlimitedQuota),t},defaultQuota:{get:function(){return!1!==this.selectedQuota?this.selectedQuota:OC.Util.computerFileSize(this.settings.defaultQuota)>0?{id:this.settings.defaultQuota,label:this.settings.defaultQuota}:this.unlimitedQuota},set:function(t){this.selectedQuota=t}},menu:function(){var e=this,n=this.$store.getters.getGroups;n=Array.isArray(n)?n:[],n=n.map(function(n){var r={};if(r.id=n.id.replace(" ","_"),r.classes=[],r.router={name:"group",params:{selectedGroup:n.id}},r.text=n.name,r.utils={counter:n.usercount},"admin"!==r.id&&"disabled"!==r.id){var i=e;r.utils.actions=[{icon:"icon-delete",text:t("settings","Remove group"),action:function(){i.removeGroup(n.id)}}]}return r});var r=n.find(function(t){return"admin"==t.id}),i=n.findIndex(function(t){return"disabled"==t.id}),o=n[i];r&&r.text&&(r.text=t("settings","Admins")),o&&o.text&&(o.text=t("settings","Disabled users"),0===o.utils.counter&&n.splice(i,1)),n.unshift({id:"everyone",classes:[],router:{name:"users"},text:t("settings","Everyone"),utils:{counter:this.userCount}});var s=n.findIndex(function(t){return t.id===e.selectedGroup});return s>=0?n[s].classes.push("active"):n[0].classes.push("active"),{id:"usergrouplist",new:{id:"new-user-button",text:t("settings","New user"),icon:"icon-add",action:this.toggleNewUserMenu},items:n}}}}},function(t,e,n){"use strict";var r=n(33);e.a={name:"appNavigation",props:["menu"],components:{navigationItem:r.a}}},function(t,e,n){"use strict";var r=n(12),i=n(15),o=n.n(i),s=n(2);e.a={name:"navigationItem",props:["item"],components:{popoverMenu:r.a},directives:{ClickOutside:o.a},data:function(){return{openedMenu:!1}},methods:{showMenu:function(){this.openedMenu=!0},hideMenu:function(){this.openedMenu=!1},toggleCollapse:function(){s.a.set(this.item,"opened",!this.item.opened||!this.item.opened)},cancelEdit:function(){Array.isArray(this.item.classes)&&(this.item.classes=this.item.classes.filter(function(t){return"editing"!==t}))}},mounted:function(){this.popupItem=this.$el}}},function(t,e,n){"use strict";var r=n(13),i=n(36),o=n(1),s=o(r.a,i.a,!1,null,null,null);e.a=s.exports},function(t,e,n){"use strict";var r=n(34);e.a={name:"popoverMenu",props:["menu"],components:{popoverItem:r.a}}},function(t,e,n){"use strict";e.a={props:["item"]}},function(t,e){function n(t){return"function"==typeof t.value||(console.warn("[Vue-click-outside:] provided expression",t.expression,"is not a function."),!1)}function r(t,e){if(!t||!e)return!1;for(var n=0,r=e.length;n<r;n++)try{if(t.contains(e[n]))return!0;if(e[n].contains(t))return!1}catch(t){return!1}return!1}function i(t){return void 0!==t.componentInstance&&t.componentInstance.$isServer}t.exports={bind:function(t,e,o){function s(e){if(o.context){var n=e.path||e.composedPath&&e.composedPath();n&&n.length>0&&n.unshift(e.target),t.contains(e.target)||r(o.context.popupItem,n)||t.__vueClickOutside__.callback(e)}}n(e)&&(t.__vueClickOutside__={handler:s,callback:e.value},!i(o)&&document.addEventListener("click",s))},update:function(t,e){n(e)&&(t.__vueClickOutside__.callback=e.value)},unbind:function(t,e,n){!i(n)&&document.removeEventListener("click",t.__vueClickOutside__.handler),delete t.__vueClickOutside__}}},function(e,n,r){"use strict";var i=r(40),o=r(6),s=r.n(o),a=r(43),u=r.n(a),c=r(2);n.a={name:"userList",props:["users","showConfig","selectedGroup"],components:{userRow:i.a,Multiselect:s.a,InfiniteLoading:u.a},data:function(){var e={id:"none",label:t("settings","Unlimited")},n={id:"default",label:t("settings","Default quota")};return{unlimitedQuota:e,defaultQuota:n,loading:!1,scrolled:!1,newUser:{id:"",displayName:"",password:"",mailAddress:"",groups:[],subAdminsGroups:[],quota:n,language:{code:"en",name:t("settings","Default language")}}}},mounted:function(){this.settings.canChangePassword||OC.Notification.showTemporary(t("settings","Password change is disabled because the master key is disabled")),c.a.set(this.newUser.language,"code",this.settings.defaultLanguage),this.setNewUserDefaultGroup(this.$route.params.selectedGroup)},computed:{settings:function(){return this.$store.getters.getServerData},filteredUsers:function(){if("disabled"===this.selectedGroup){var t=this.users.filter(function(t){return!0!==t.enabled});return 0===t.length&&this.$refs.infiniteLoading&&this.$refs.infiniteLoading.isComplete&&(this.$router.push({name:"users"}),this.$refs.infiniteLoading.$emit("$InfiniteLoading:reset")),t}return this.users.filter(function(t){return!0===t.enabled})},groups:function(){return this.$store.getters.getGroups.filter(function(t){return"disabled"!==t.id})},subAdminsGroups:function(){return this.$store.getters.getServerData.subadmingroups},quotaOptions:function(){var t=this.settings.quotaPreset.reduce(function(t,e){return t.concat({id:e,label:e})},[]);return t.unshift(this.unlimitedQuota),t.unshift(this.defaultQuota),t},minPasswordLength:function(){return this.$store.getters.getPasswordPolicyMinLength},usersOffset:function(){return this.$store.getters.getUsersOffset},usersLimit:function(){return this.$store.getters.getUsersLimit},languages:function(){return Array({label:t("settings","Common languages"),languages:this.settings.languages.commonlanguages},{label:t("settings","All languages"),languages:this.settings.languages.languages})}},watch:{selectedGroup:function(t,e){this.$store.commit("resetUsers"),this.$refs.infiniteLoading.$emit("$InfiniteLoading:reset"),this.setNewUserDefaultGroup(t)}},methods:{onScroll:function(t){this.scrolled=t.target.scrollTop>0},validateQuota:function(t){var e=OC.Util.computerFileSize(t);return null!==e&&e>0?(t=OC.Util.humanFileSize(OC.Util.computerFileSize(t)),this.newUser.quota={id:t,label:t}):this.newUser.quota=this.quotaOptions[0]},infiniteHandler:function(t){this.$store.dispatch("getUsers",{offset:this.usersOffset,limit:this.usersLimit,group:"disabled"!==this.selectedGroup?this.selectedGroup:""}).then(function(e){e?t.loaded():t.complete()})},resetForm:function(){Object.assign(this.newUser,this.$options.data.call(this).newUser),this.loading=!1},createUser:function(){var t=this;this.loading=!0,this.$store.dispatch("addUser",{userid:this.newUser.id,password:this.newUser.password,email:this.newUser.mailAddress,groups:this.newUser.groups.map(function(t){return t.id}),subadmin:this.newUser.subAdminsGroups.map(function(t){return t.id}),quota:this.newUser.quota.id,language:this.newUser.language.code}).then(function(){return t.resetForm()})},setNewUserDefaultGroup:function(t){if(t&&t.length>0){var e=this.groups.find(function(e){return e.id===t});if(e)return void(this.newUser.groups=[e])}this.newUser.groups=[]}}}},function(e,n,r){"use strict";var i=r(12),o=r(15),s=r.n(o),a=r(6),u=r.n(a),c=r(2),l=r(41),f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};c.a.use(l.a),n.a={name:"userRow",props:["user","settings","groups","subAdminsGroups","quotaOptions","showConfig","languages"],components:{popoverMenu:i.a,Multiselect:u.a},directives:{ClickOutside:s.a},mounted:function(){},data:function(){return{rand:parseInt(1e3*Math.random()),openedMenu:!1,loading:{all:!1,displayName:!1,password:!1,mailAddress:!1,groups:!1,subadmins:!1,quota:!1,delete:!1,disable:!1,languages:!1}}},computed:{userActions:function(){return[{icon:"icon-delete",text:t("settings","Delete user"),action:this.deleteUser},{icon:this.user.enabled?"icon-close":"icon-add",text:this.user.enabled?t("settings","Disable user"):t("settings","Enable user"),action:this.enableDisableUser}]},userGroups:function(){var t=this;return this.groups.filter(function(e){return t.user.groups.includes(e.id)})},userSubAdminsGroups:function(){var t=this;return this.subAdminsGroups.filter(function(e){return t.user.subadmin.includes(e.id)})},usedQuota:function(){var t=this.user.quota.quota;if(t>0)t=Math.min(100,Math.round(this.user.quota.used/t*100));else{t=95*(1-1/(this.user.quota.used/(10*Math.pow(2,30))+1))}return isNaN(t)?0:t},userQuota:function(){if(this.user.quota.quota>0){var t=OC.Util.humanFileSize(this.user.quota.quota),e=this.quotaOptions.find(function(e){return e.id===t});return e||{id:t,label:t}}return 0===this.user.quota.quota||"default"===this.user.quota.quota?this.quotaOptions[0]:this.quotaOptions[1]},minPasswordLength:function(){return this.$store.getters.getPasswordPolicyMinLength},userLanguage:function(){var t=this,e=this.languages[0].languages.concat(this.languages[1].languages),n=e.find(function(e){return e.code===t.user.language});return"object"!==(void 0===n?"undefined":f(n))&&""!==this.user.language?{code:this.user.language,name:this.user.language}:""!==this.user.language&&n}},methods:{toggleMenu:function(){this.openedMenu=!this.openedMenu},hideMenu:function(){this.openedMenu=!1},generateAvatar:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:32;return OC.generateUrl("/avatar/{user}/{size}?v={version}",{user:t,size:e,version:oc_userconfig.avatar.version})},limitGroups:function(t){return"+"+t},deleteUser:function(){var t=this;this.loading.delete=!0,this.loading.all=!0;var e=this.user.id;return this.$store.dispatch("deleteUser",{userid:e}).then(function(){t.loading.delete=!1,t.loading.all=!1})},enableDisableUser:function(){var t=this;this.loading.delete=!0,this.loading.all=!0;var e=this.user.id,n=!this.user.enabled;return this.$store.dispatch("enableDisableUser",{userid:e,enabled:n}).then(function(){t.loading.delete=!1,t.loading.all=!1})},updateDisplayName:function(){var t=this,e=this.$refs.displayName.value;this.loading.displayName=!0,this.$store.dispatch("setUserData",{userid:this.user.id,key:"displayname",value:e}).then(function(){t.loading.displayName=!1,t.$refs.displayName.value=e})},updatePassword:function(){var t=this,e=this.$refs.password.value;this.loading.password=!0,this.$store.dispatch("setUserData",{userid:this.user.id,key:"password",value:e}).then(function(){t.loading.password=!1,t.$refs.password.value=""})},updateEmail:function(){var t=this,e=this.$refs.mailAddress.value;this.loading.mailAddress=!0,this.$store.dispatch("setUserData",{userid:this.user.id,key:"email",value:e}).then(function(){t.loading.mailAddress=!1,t.$refs.mailAddress.value=e})},createGroup:function(t){var e=this;return this.loading={groups:!0,subadmins:!0},this.$store.dispatch("addGroup",t).then(function(){e.loading={groups:!1,subadmins:!1};var n=e.user.id;e.$store.dispatch("addUserGroup",{userid:n,gid:t})}),this.$store.getters.getGroups[this.groups.length]},addUserGroup:function(t){var e=this;this.loading.groups=!0;var n=this.user.id,r=t.id;return this.$store.dispatch("addUserGroup",{userid:n,gid:r}).then(function(){return e.loading.groups=!1})},removeUserGroup:function(t){var e=this;this.loading.groups=!0;var n=this.user.id,r=t.id;return this.$store.dispatch("removeUserGroup",{userid:n,gid:r}).then(function(){e.loading.groups=!1,e.$route.params.selectedGroup===r&&e.$store.commit("deleteUser",n)})},addUserSubAdmin:function(t){var e=this;this.loading.subadmins=!0;var n=this.user.id,r=t.id;return this.$store.dispatch("addUserSubAdmin",{userid:n,gid:r}).then(function(){return e.loading.subadmins=!1})},removeUserSubAdmin:function(t){var e=this;this.loading.subadmins=!0;var n=this.user.id,r=t.id;return this.$store.dispatch("removeUserSubAdmin",{userid:n,gid:r}).then(function(){return e.loading.subadmins=!1})},setUserQuota:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"none";return this.loading.quota=!0,e=e.id?e.id:e,this.$store.dispatch("setUserData",{userid:this.user.id,key:"quota",value:e}).then(function(){return t.loading.quota=!1}),e},validateQuota:function(t){var e=OC.Util.computerFileSize(t);return 0===e?this.setUserQuota("none"):null!==e&&this.setUserQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(t)))},setUserLanguage:function(t){var e=this;return this.loading.languages=!0,this.$store.dispatch("setUserData",{userid:this.user.id,key:"language",value:t.code}).then(function(){return e.loading.languages=!1}),t}}}},function(t,e,n){"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return t.apply(e,n)}}},function(t,e,n){"use strict";var r=n(0),i=n(51),o=n(53),s=n(54),a=n(55),u=n(20),c="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||n(56);t.exports=function(t){return new Promise(function(e,l){var f=t.data,p=t.headers;r.isFormData(f)&&delete p["Content-Type"];var d=new XMLHttpRequest,h="onreadystatechange",v=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in d||a(t.url)||(d=new window.XDomainRequest,h="onload",v=!0,d.onprogress=function(){},d.ontimeout=function(){}),t.auth){var m=t.auth.username||"",g=t.auth.password||"";p.Authorization="Basic "+c(m+":"+g)}if(d.open(t.method.toUpperCase(),o(t.url,t.params,t.paramsSerializer),!0),d.timeout=t.timeout,d[h]=function(){if(d&&(4===d.readyState||v)&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in d?s(d.getAllResponseHeaders()):null,r=t.responseType&&"text"!==t.responseType?d.response:d.responseText,o={data:r,status:1223===d.status?204:d.status,statusText:1223===d.status?"No Content":d.statusText,headers:n,config:t,request:d};i(e,l,o),d=null}},d.onerror=function(){l(u("Network Error",t,null,d)),d=null},d.ontimeout=function(){l(u("timeout of "+t.timeout+"ms exceeded",t,"ECONNABORTED",d)),d=null},r.isStandardBrowserEnv()){var y=n(57),b=(t.withCredentials||a(t.url))&&t.xsrfCookieName?y.read(t.xsrfCookieName):void 0;b&&(p[t.xsrfHeaderName]=b)}if("setRequestHeader"in d&&r.forEach(p,function(t,e){void 0===f&&"content-type"===e.toLowerCase()?delete p[e]:d.setRequestHeader(e,t)}),t.withCredentials&&(d.withCredentials=!0),t.responseType)try{d.responseType=t.responseType}catch(e){if("json"!==t.responseType)throw e}"function"==typeof t.onDownloadProgress&&d.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",t.onUploadProgress),t.cancelToken&&t.cancelToken.promise.then(function(t){d&&(d.abort(),l(t),d=null)}),void 0===f&&(f=null),d.send(f)})}},function(t,e,n){"use strict";var r=n(52);t.exports=function(t,e,n,i,o){var s=new Error(t);return r(s,e,n,i,o)}},function(t,e,n){"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},function(t,e,n){"use strict";function r(t){this.message=t}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,t.exports=r},function(e,n,r){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),r.d(n,"app",function(){return c});var i=r(2),o=r(26),s=(r.n(o),r(27)),a=r(29),u=r(66);r.d(n,"router",function(){return a.a}),r.d(n,"store",function(){return u.a}),Object(o.sync)(u.a,a.a),i.a.prototype.t=t,i.a.prototype.OC=OC,i.a.prototype.oc_userconfig=oc_userconfig;var c=new i.a({router:a.a,store:u.a,render:function(t){return t(s.a)}}).$mount("#content")},function(t,e,n){(function(t){function r(t,e){this._id=t,this._clearFn=e}var i=void 0!==t&&t||"undefined"!=typeof self&&self||window,o=Function.prototype.apply;e.setTimeout=function(){return new r(o.call(setTimeout,i,arguments),clearTimeout)},e.setInterval=function(){return new r(o.call(setInterval,i,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(i,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(25),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(e,n(3))},function(t,e,n){(function(t,e){!function(t,n){"use strict";function r(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n<e.length;n++)e[n]=arguments[n+1];var r={callback:t,args:e};return c[u]=r,a(u),u++}function i(t){delete c[t]}function o(t){var e=t.callback,r=t.args;switch(r.length){case 0:e();break;case 1:e(r[0]);break;case 2:e(r[0],r[1]);break;case 3:e(r[0],r[1],r[2]);break;default:e.apply(n,r)}}function s(t){if(l)setTimeout(s,0,t);else{var e=c[t];if(e){l=!0;try{o(e)}finally{i(t),l=!1}}}}if(!t.setImmediate){var a,u=1,c={},l=!1,f=t.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(t);p=p&&p.setTimeout?p:t,"[object process]"==={}.toString.call(t.process)?function(){a=function(t){e.nextTick(function(){s(t)})}}():function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?function(){var e="setImmediate$"+Math.random()+"$",n=function(n){n.source===t&&"string"==typeof n.data&&0===n.data.indexOf(e)&&s(+n.data.slice(e.length))};t.addEventListener?t.addEventListener("message",n,!1):t.attachEvent("onmessage",n),a=function(n){t.postMessage(e+n,"*")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){s(t.data)},a=function(e){t.port2.postMessage(e)}}():f&&"onreadystatechange"in f.createElement("script")?function(){var t=f.documentElement;a=function(e){var n=f.createElement("script");n.onreadystatechange=function(){s(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():function(){a=function(t){setTimeout(s,0,t)}}(),p.setImmediate=r,p.clearImmediate=i}}("undefined"==typeof self?void 0===t?this:t:self)}).call(e,n(3),n(5))},function(t,e){function n(t,e){var r={name:t.name,path:t.path,hash:t.hash,query:t.query,params:t.params,fullPath:t.fullPath,meta:t.meta};return e&&(r.from=n(e)),Object.freeze(r)}e.sync=function(t,e,r){var i=(r||{}).moduleName||"route";t.registerModule(i,{namespaced:!0,state:n(e.currentRoute),mutations:{ROUTE_CHANGED:function(e,r){t.state[i]=n(r.to,r.from)}}});var o,s=!1,a=t.watch(function(t){return t[i]},function(t){var n=t.fullPath;n!==o&&(null!=o&&(s=!0,e.push(t)),o=n)},{sync:!0}),u=e.afterEach(function(e,n){if(s)return void(s=!1);o=e.fullPath,t.commit(i+"/ROUTE_CHANGED",{to:e,from:n})});return function(){null!=u&&u(),null!=a&&a(),t.unregisterModule(i)}}},function(t,e,n){"use strict";var r=n(8),i=n(28),o=n(1),s=o(r.a,i.a,!1,null,null,null);e.a=s.exports},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement;return(t._self._c||e)("router-view")},i=[],o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=n(2),i=n(30),o=n(31);r.a.use(i.a),e.a=new i.a({mode:"history",base:OC.generateUrl(""),routes:[{path:"/:index(index.php/)?settings/users",component:o.a,props:!0,name:"users",children:[{path:":selectedGroup",name:"group",component:o.a}]}]})},function(t,e,n){"use strict";function r(t,e){}function i(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}function o(t,e){switch(typeof e){case"undefined":return;case"object":return e;case"function":return e(t);case"boolean":return e?t.params:void 0}}function s(t,e){for(var n in e)t[n]=e[n];return t}function a(t,e,n){void 0===e&&(e={});var r,i=n||u;try{r=i(t||"")}catch(t){r={}}for(var o in e)r[o]=e[o];return r}function u(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach(function(t){var n=t.replace(/\+/g," ").split("="),r=Ft(n.shift()),i=n.length>0?Ft(n.join("=")):null;void 0===e[r]?e[r]=i:Array.isArray(e[r])?e[r].push(i):e[r]=[e[r],i]}),e):e}function c(t){var e=t?Object.keys(t).map(function(e){var n=t[e];if(void 0===n)return"";if(null===n)return Rt(e);if(Array.isArray(n)){var r=[];return n.forEach(function(t){void 0!==t&&(null===t?r.push(Rt(e)):r.push(Rt(e)+"="+Rt(t)))}),r.join("&")}return Rt(e)+"="+Rt(n)}).filter(function(t){return t.length>0}).join("&"):null;return e?"?"+e:""}function l(t,e,n,r){var i=r&&r.options.stringifyQuery,o=e.query||{};try{o=f(o)}catch(t){}var s={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:o,params:e.params||{},fullPath:d(e,i),matched:t?p(t):[]};return n&&(s.redirectedFrom=d(n,i)),Object.freeze(s)}function f(t){if(Array.isArray(t))return t.map(f);if(t&&"object"==typeof t){var e={};for(var n in t)e[n]=f(t[n]);return e}return t}function p(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function d(t,e){var n=t.path,r=t.query;void 0===r&&(r={});var i=t.hash;void 0===i&&(i="");var o=e||c;return(n||"/")+o(r)+i}function h(t,e){return e===qt?t===e:!!e&&(t.path&&e.path?t.path.replace(Bt,"")===e.path.replace(Bt,"")&&t.hash===e.hash&&v(t.query,e.query):!(!t.name||!e.name)&&(t.name===e.name&&t.hash===e.hash&&v(t.query,e.query)&&v(t.params,e.params)))}function v(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t),r=Object.keys(e);return n.length===r.length&&n.every(function(n){var r=t[n],i=e[n];return"object"==typeof r&&"object"==typeof i?v(r,i):String(r)===String(i)})}function m(t,e){return 0===t.path.replace(Bt,"/").indexOf(e.path.replace(Bt,"/"))&&(!e.hash||t.hash===e.hash)&&g(t.query,e.query)}function g(t,e){for(var n in e)if(!(n in t))return!1;return!0}function y(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||t.defaultPrevented||void 0!==t.button&&0!==t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){if(/\b_blank\b/i.test(t.currentTarget.getAttribute("target")))return}return t.preventDefault&&t.preventDefault(),!0}}function b(t){if(t)for(var e,n=0;n<t.length;n++){if(e=t[n],"a"===e.tag)return e;if(e.children&&(e=b(e.children)))return e}}function _(t){if(!_.installed||Nt!==t){_.installed=!0,Nt=t;var e=function(t){return void 0!==t},n=function(t,n){var r=t.$options._parentVnode;e(r)&&e(r=r.data)&&e(r=r.registerRouteInstance)&&r(t,n)};t.mixin({beforeCreate:function(){e(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),t.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,n(this,this)},destroyed:function(){n(this)}}),Object.defineProperty(t.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(t.prototype,"$route",{get:function(){return this._routerRoot._route}}),t.component("router-view",Ut),t.component("router-link",Gt);var r=t.config.optionMergeStrategies;r.beforeRouteEnter=r.beforeRouteLeave=r.beforeRouteUpdate=r.created}}function w(t,e,n){var r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return e+t;var i=e.split("/");n&&i[i.length-1]||i.pop();for(var o=t.replace(/^\//,"").split("/"),s=0;s<o.length;s++){var a=o[s];".."===a?i.pop():"."!==a&&i.push(a)}return""!==i[0]&&i.unshift(""),i.join("/")}function x(t){var e="",n="",r=t.indexOf("#");r>=0&&(e=t.slice(r),t=t.slice(0,r));var i=t.indexOf("?");return i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),{path:t,query:n,hash:e}}function C(t){return t.replace(/\/\//g,"/")}function O(t,e){for(var n,r=[],i=0,o=0,s="",a=e&&e.delimiter||"/";null!=(n=Zt.exec(t));){var u=n[0],c=n[1],l=n.index;if(s+=t.slice(o,l),o=l+u.length,c)s+=c[1];else{var f=t[o],p=n[2],d=n[3],h=n[4],v=n[5],m=n[6],g=n[7];s&&(r.push(s),s="");var y=null!=p&&null!=f&&f!==p,b="+"===m||"*"===m,_="?"===m||"*"===m,w=n[2]||a,x=h||v;r.push({name:d||i++,prefix:p||"",delimiter:w,optional:_,repeat:b,partial:y,asterisk:!!g,pattern:x?L(x):g?".*":"[^"+E(w)+"]+?"})}}return o<t.length&&(s+=t.substr(o)),s&&r.push(s),r}function k(t,e){return A(O(t,e))}function $(t){return encodeURI(t).replace(/[\/?#]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function S(t){return encodeURI(t).replace(/[?#]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function A(t){for(var e=new Array(t.length),n=0;n<t.length;n++)"object"==typeof t[n]&&(e[n]=new RegExp("^(?:"+t[n].pattern+")$"));return function(n,r){for(var i="",o=n||{},s=r||{},a=s.pretty?$:encodeURIComponent,u=0;u<t.length;u++){var c=t[u];if("string"!=typeof c){var l,f=o[c.name];if(null==f){if(c.optional){c.partial&&(i+=c.prefix);continue}throw new TypeError('Expected "'+c.name+'" to be defined')}if(Wt(f)){if(!c.repeat)throw new TypeError('Expected "'+c.name+'" to not repeat, but received `'+JSON.stringify(f)+"`");if(0===f.length){if(c.optional)continue;throw new TypeError('Expected "'+c.name+'" to not be empty')}for(var p=0;p<f.length;p++){if(l=a(f[p]),!e[u].test(l))throw new TypeError('Expected all "'+c.name+'" to match "'+c.pattern+'", but received `'+JSON.stringify(l)+"`");i+=(0===p?c.prefix:c.delimiter)+l}}else{if(l=c.asterisk?S(f):a(f),!e[u].test(l))throw new TypeError('Expected "'+c.name+'" to match "'+c.pattern+'", but received "'+l+'"');i+=c.prefix+l}}else i+=c}return i}}function E(t){return t.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function L(t){return t.replace(/([=!:$\/()])/g,"\\$1")}function T(t,e){return t.keys=e,t}function P(t){return t.sensitive?"":"i"}function j(t,e){var n=t.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)e.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return T(t,e)}function N(t,e,n){for(var r=[],i=0;i<t.length;i++)r.push(D(t[i],e,n).source);return T(new RegExp("(?:"+r.join("|")+")",P(n)),e)}function U(t,e,n){return I(O(t,n),e,n)}function I(t,e,n){Wt(e)||(n=e||n,e=[]),n=n||{};for(var r=n.strict,i=!1!==n.end,o="",s=0;s<t.length;s++){var a=t[s];if("string"==typeof a)o+=E(a);else{var u=E(a.prefix),c="(?:"+a.pattern+")";e.push(a),a.repeat&&(c+="(?:"+u+c+")*"),c=a.optional?a.partial?u+"("+c+")?":"(?:"+u+"("+c+"))?":u+"("+c+")",o+=c}}var l=E(n.delimiter||"/"),f=o.slice(-l.length)===l;return r||(o=(f?o.slice(0,-l.length):o)+"(?:"+l+"(?=$))?"),o+=i?"$":r&&f?"":"(?="+l+"|$)",T(new RegExp("^"+o,P(n)),e)}function D(t,e,n){return Wt(e)||(n=e||n,e=[]),n=n||{},t instanceof RegExp?j(t,e):Wt(t)?N(t,e,n):U(t,e,n)}function M(t,e,n){try{return(te[t]||(te[t]=Kt.compile(t)))(e||{},{pretty:!0})}catch(t){return""}}function R(t,e,n,r){var i=e||[],o=n||Object.create(null),s=r||Object.create(null);t.forEach(function(t){F(i,o,s,t)});for(var a=0,u=i.length;a<u;a++)"*"===i[a]&&(i.push(i.splice(a,1)[0]),u--,a--);return{pathList:i,pathMap:o,nameMap:s}}function F(t,e,n,r,i,o){var s=r.path,a=r.name,u=r.pathToRegexpOptions||{},c=q(s,i,u.strict);"boolean"==typeof r.caseSensitive&&(u.sensitive=r.caseSensitive);var l={path:c,regex:B(c,u),components:r.components||{default:r.component},instances:{},name:a,parent:i,matchAs:o,redirect:r.redirect,beforeEnter:r.beforeEnter,meta:r.meta||{},props:null==r.props?{}:r.components?r.props:{default:r.props}};if(r.children&&r.children.forEach(function(r){var i=o?C(o+"/"+r.path):void 0;F(t,e,n,r,l,i)}),void 0!==r.alias){(Array.isArray(r.alias)?r.alias:[r.alias]).forEach(function(o){var s={path:o,children:r.children};F(t,e,n,s,i,l.path||"/")})}e[l.path]||(t.push(l.path),e[l.path]=l),a&&(n[a]||(n[a]=l))}function B(t,e){var n=Kt(t,[],e);return n}function q(t,e,n){return n||(t=t.replace(/\/$/,"")),"/"===t[0]?t:null==e?t:C(e.path+"/"+t)}function H(t,e,n,r){var i="string"==typeof t?{path:t}:t;if(i.name||i._normalized)return i;if(!i.path&&i.params&&e){i=V({},i),i._normalized=!0;var o=V(V({},e.params),i.params);if(e.name)i.name=e.name,i.params=o;else if(e.matched.length){var s=e.matched[e.matched.length-1].path;i.path=M(s,o,"path "+e.path)}return i}var u=x(i.path||""),c=e&&e.path||"/",l=u.path?w(u.path,c,n||i.append):c,f=a(u.query,i.query,r&&r.options.parseQuery),p=i.hash||u.hash;return p&&"#"!==p.charAt(0)&&(p="#"+p),{_normalized:!0,path:l,query:f,hash:p}}function V(t,e){for(var n in e)t[n]=e[n];return t}function G(t,e){function n(t){R(t,u,c,f)}function r(t,n,r){var i=H(t,n,!1,e),o=i.name;if(o){var a=f[o];if(!a)return s(null,i);var l=a.regex.keys.filter(function(t){return!t.optional}).map(function(t){return t.name});if("object"!=typeof i.params&&(i.params={}),n&&"object"==typeof n.params)for(var p in n.params)!(p in i.params)&&l.indexOf(p)>-1&&(i.params[p]=n.params[p]);if(a)return i.path=M(a.path,i.params,'named route "'+o+'"'),s(a,i,r)}else if(i.path){i.params={};for(var d=0;d<u.length;d++){var h=u[d],v=c[h];if(z(v.regex,i.path,i.params))return s(v,i,r)}}return s(null,i)}function i(t,n){var i=t.redirect,o="function"==typeof i?i(l(t,n,null,e)):i;if("string"==typeof o&&(o={path:o}),!o||"object"!=typeof o)return s(null,n);var a=o,u=a.name,c=a.path,p=n.query,d=n.hash,h=n.params;if(p=a.hasOwnProperty("query")?a.query:p,d=a.hasOwnProperty("hash")?a.hash:d,h=a.hasOwnProperty("params")?a.params:h,u){f[u];return r({_normalized:!0,name:u,query:p,hash:d,params:h},void 0,n)}if(c){var v=W(c,t);return r({_normalized:!0,path:M(v,h,'redirect route with path "'+v+'"'),query:p,hash:d},void 0,n)}return s(null,n)}function o(t,e,n){var i=M(n,e.params,'aliased route with path "'+n+'"'),o=r({_normalized:!0,path:i});if(o){var a=o.matched,u=a[a.length-1];return e.params=o.params,s(u,e)}return s(null,e)}function s(t,n,r){return t&&t.redirect?i(t,r||n):t&&t.matchAs?o(t,n,t.matchAs):l(t,n,r,e)}var a=R(t),u=a.pathList,c=a.pathMap,f=a.nameMap;return{match:r,addRoutes:n}}function z(t,e,n){var r=e.match(t);if(!r)return!1;if(!n)return!0;for(var i=1,o=r.length;i<o;++i){var s=t.keys[i-1],a="string"==typeof r[i]?decodeURIComponent(r[i]):r[i];s&&(n[s.name]=a)}return!0}function W(t,e){return w(t,e.parent?e.parent.path:"/",!0)}function K(){window.history.replaceState({key:ot()},""),window.addEventListener("popstate",function(t){Y(),t.state&&t.state.key&&st(t.state.key)})}function Q(t,e,n,r){if(t.app){var i=t.options.scrollBehavior;i&&t.app.$nextTick(function(){var t=J(),o=i(e,n,r?t:null);o&&("function"==typeof o.then?o.then(function(e){rt(e,t)}).catch(function(t){}):rt(o,t))})}}function Y(){var t=ot();t&&(ee[t]={x:window.pageXOffset,y:window.pageYOffset})}function J(){var t=ot();if(t)return ee[t]}function X(t,e){var n=document.documentElement,r=n.getBoundingClientRect(),i=t.getBoundingClientRect();return{x:i.left-r.left-e.x,y:i.top-r.top-e.y}}function Z(t){return nt(t.x)||nt(t.y)}function tt(t){return{x:nt(t.x)?t.x:window.pageXOffset,y:nt(t.y)?t.y:window.pageYOffset}}function et(t){return{x:nt(t.x)?t.x:0,y:nt(t.y)?t.y:0}}function nt(t){return"number"==typeof t}function rt(t,e){var n="object"==typeof t;if(n&&"string"==typeof t.selector){var r=document.querySelector(t.selector);if(r){var i=t.offset&&"object"==typeof t.offset?t.offset:{};i=et(i),e=X(r,i)}else Z(t)&&(e=tt(t))}else n&&Z(t)&&(e=tt(t));e&&window.scrollTo(e.x,e.y)}function it(){return re.now().toFixed(3)}function ot(){return ie}function st(t){ie=t}function at(t,e){Y();var n=window.history;try{e?n.replaceState({key:ie},"",t):(ie=it(),n.pushState({key:ie},"",t))}catch(n){window.location[e?"replace":"assign"](t)}}function ut(t){at(t,!0)}function ct(t,e,n){var r=function(i){i>=t.length?n():t[i]?e(t[i],function(){r(i+1)}):r(i+1)};r(0)}function lt(t){return function(e,n,r){var o=!1,s=0,a=null;ft(t,function(t,e,n,u){if("function"==typeof t&&void 0===t.cid){o=!0,s++;var c,l=ht(function(e){dt(e)&&(e=e.default),t.resolved="function"==typeof e?e:Nt.extend(e),n.components[u]=e,--s<=0&&r()}),f=ht(function(t){var e="Failed to resolve async component "+u+": "+t;a||(a=i(t)?t:new Error(e),r(a))});try{c=t(l,f)}catch(t){f(t)}if(c)if("function"==typeof c.then)c.then(l,f);else{var p=c.component;p&&"function"==typeof p.then&&p.then(l,f)}}}),o||r()}}function ft(t,e){return pt(t.map(function(t){return Object.keys(t.components).map(function(n){return e(t.components[n],t.instances[n],t,n)})}))}function pt(t){return Array.prototype.concat.apply([],t)}function dt(t){return t.__esModule||oe&&"Module"===t[Symbol.toStringTag]}function ht(t){var e=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}function vt(t){if(!t)if(zt){var e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^https?:\/\/[^\/]+/,"")}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}function mt(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n<r&&t[n]===e[n];n++);return{updated:e.slice(0,n),activated:e.slice(n),deactivated:t.slice(n)}}function gt(t,e,n,r){var i=ft(t,function(t,r,i,o){var s=yt(t,e);if(s)return Array.isArray(s)?s.map(function(t){return n(t,r,i,o)}):n(s,r,i,o)});return pt(r?i.reverse():i)}function yt(t,e){return"function"!=typeof t&&(t=Nt.extend(t)),t.options[e]}function bt(t){return gt(t,"beforeRouteLeave",wt,!0)}function _t(t){return gt(t,"beforeRouteUpdate",wt)}function wt(t,e){if(e)return function(){return t.apply(e,arguments)}}function xt(t,e,n){return gt(t,"beforeRouteEnter",function(t,r,i,o){return Ct(t,i,o,e,n)})}function Ct(t,e,n,r,i){return function(o,s,a){return t(o,s,function(t){a(t),"function"==typeof t&&r.push(function(){Ot(t,e.instances,n,i)})})}}function Ot(t,e,n,r){e[n]?t(e[n]):r()&&setTimeout(function(){Ot(t,e,n,r)},16)}function kt(t){var e=window.location.pathname;return t&&0===e.indexOf(t)&&(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}function $t(t){var e=kt(t);if(!/^\/#/.test(e))return window.location.replace(C(t+"/#"+e)),!0}function St(){var t=At();return"/"===t.charAt(0)||(Tt("/"+t),!1)}function At(){var t=window.location.href,e=t.indexOf("#");return-1===e?"":t.slice(e+1)}function Et(t){var e=window.location.href,n=e.indexOf("#");return(n>=0?e.slice(0,n):e)+"#"+t}function Lt(t){ne?at(Et(t)):window.location.hash=t}function Tt(t){ne?ut(Et(t)):window.location.replace(Et(t))}function Pt(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function jt(t,e,n){var r="hash"===n?"#"+e:e;return t?C(t+"/"+r):r}var Nt,Ut={name:"router-view",functional:!0,props:{name:{type:String,default:"default"}},render:function(t,e){var n=e.props,r=e.children,i=e.parent,a=e.data;a.routerView=!0;for(var u=i.$createElement,c=n.name,l=i.$route,f=i._routerViewCache||(i._routerViewCache={}),p=0,d=!1;i&&i._routerRoot!==i;)i.$vnode&&i.$vnode.data.routerView&&p++,i._inactive&&(d=!0),i=i.$parent;if(a.routerViewDepth=p,d)return u(f[c],a,r);var h=l.matched[p];if(!h)return f[c]=null,u();var v=f[c]=h.components[c];a.registerRouteInstance=function(t,e){var n=h.instances[c];(e&&n!==t||!e&&n===t)&&(h.instances[c]=e)},(a.hook||(a.hook={})).prepatch=function(t,e){h.instances[c]=e.componentInstance};var m=a.props=o(l,h.props&&h.props[c]);if(m){m=a.props=s({},m);var g=a.attrs=a.attrs||{};for(var y in m)v.props&&y in v.props||(g[y]=m[y],delete m[y])}return u(v,a,r)}},It=/[!'()*]/g,Dt=function(t){return"%"+t.charCodeAt(0).toString(16)},Mt=/%2C/g,Rt=function(t){return encodeURIComponent(t).replace(It,Dt).replace(Mt,",")},Ft=decodeURIComponent,Bt=/\/?$/,qt=l(null,{path:"/"}),Ht=[String,Object],Vt=[String,Array],Gt={name:"router-link",props:{to:{type:Ht,required:!0},tag:{type:String,default:"a"},exact:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,event:{type:Vt,default:"click"}},render:function(t){var e=this,n=this.$router,r=this.$route,i=n.resolve(this.to,r,this.append),o=i.location,s=i.route,a=i.href,u={},c=n.options.linkActiveClass,f=n.options.linkExactActiveClass,p=null==c?"router-link-active":c,d=null==f?"router-link-exact-active":f,v=null==this.activeClass?p:this.activeClass,g=null==this.exactActiveClass?d:this.exactActiveClass,_=o.path?l(null,o,null,n):s;u[g]=h(r,_),u[v]=this.exact?u[g]:m(r,_);var w=function(t){y(t)&&(e.replace?n.replace(o):n.push(o))},x={click:y};Array.isArray(this.event)?this.event.forEach(function(t){x[t]=w}):x[this.event]=w;var C={class:u};if("a"===this.tag)C.on=x,C.attrs={href:a};else{var O=b(this.$slots.default);if(O){O.isStatic=!1;var k=Nt.util.extend;(O.data=k({},O.data)).on=x;(O.data.attrs=k({},O.data.attrs)).href=a}else C.on=x}return t(this.tag,C,this.$slots.default)}},zt="undefined"!=typeof window,Wt=Array.isArray||function(t){return"[object Array]"==Object.prototype.toString.call(t)},Kt=D,Qt=O,Yt=k,Jt=A,Xt=I,Zt=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");Kt.parse=Qt,Kt.compile=Yt,Kt.tokensToFunction=Jt,Kt.tokensToRegExp=Xt;var te=Object.create(null),ee=Object.create(null),ne=zt&&function(){var t=window.navigator.userAgent;return(-1===t.indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&(window.history&&"pushState"in window.history)}(),re=zt&&window.performance&&window.performance.now?window.performance:Date,ie=it(),oe="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag,se=function(t,e){this.router=t,this.base=vt(e),this.current=qt,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[]};se.prototype.listen=function(t){this.cb=t},se.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},se.prototype.onError=function(t){this.errorCbs.push(t)},se.prototype.transitionTo=function(t,e,n){var r=this,i=this.router.match(t,this.current);this.confirmTransition(i,function(){r.updateRoute(i),e&&e(i),r.ensureURL(),r.ready||(r.ready=!0,r.readyCbs.forEach(function(t){t(i)}))},function(t){n&&n(t),t&&!r.ready&&(r.ready=!0,r.readyErrorCbs.forEach(function(e){e(t)}))})},se.prototype.confirmTransition=function(t,e,n){var o=this,s=this.current,a=function(t){i(t)&&(o.errorCbs.length?o.errorCbs.forEach(function(e){e(t)}):(r(!1,"uncaught error during route navigation:"),console.error(t))),n&&n(t)};if(h(t,s)&&t.matched.length===s.matched.length)return this.ensureURL(),a();var u=mt(this.current.matched,t.matched),c=u.updated,l=u.deactivated,f=u.activated,p=[].concat(bt(l),this.router.beforeHooks,_t(c),f.map(function(t){return t.beforeEnter}),lt(f));this.pending=t;var d=function(e,n){if(o.pending!==t)return a();try{e(t,s,function(t){!1===t||i(t)?(o.ensureURL(!0),a(t)):"string"==typeof t||"object"==typeof t&&("string"==typeof t.path||"string"==typeof t.name)?(a(),"object"==typeof t&&t.replace?o.replace(t):o.push(t)):n(t)})}catch(t){a(t)}};ct(p,d,function(){var n=[];ct(xt(f,n,function(){return o.current===t}).concat(o.router.resolveHooks),d,function(){if(o.pending!==t)return a();o.pending=null,e(t),o.router.app&&o.router.app.$nextTick(function(){n.forEach(function(t){t()})})})})},se.prototype.updateRoute=function(t){var e=this.current;this.current=t,this.cb&&this.cb(t),this.router.afterHooks.forEach(function(n){n&&n(t,e)})};var ae=function(t){function e(e,n){var r=this;t.call(this,e,n);var i=e.options.scrollBehavior;i&&K();var o=kt(this.base);window.addEventListener("popstate",function(t){var n=r.current,s=kt(r.base);r.current===qt&&s===o||r.transitionTo(s,function(t){i&&Q(e,t,n,!0)})})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,function(t){at(C(r.base+t.fullPath)),Q(r.router,t,o,!1),e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,function(t){ut(C(r.base+t.fullPath)),Q(r.router,t,o,!1),e&&e(t)},n)},e.prototype.ensureURL=function(t){if(kt(this.base)!==this.current.fullPath){var e=C(this.base+this.current.fullPath);t?at(e):ut(e)}},e.prototype.getCurrentLocation=function(){return kt(this.base)},e}(se),ue=function(t){function e(e,n,r){t.call(this,e,n),r&&$t(this.base)||St()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this,e=this.router,n=e.options.scrollBehavior,r=ne&&n;r&&K(),window.addEventListener(ne?"popstate":"hashchange",function(){var e=t.current;St()&&t.transitionTo(At(),function(n){r&&Q(t.router,n,e,!0),ne||Tt(n.fullPath)})})},e.prototype.push=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,function(t){Lt(t.fullPath),Q(r.router,t,o,!1),e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,function(t){Tt(t.fullPath),Q(r.router,t,o,!1),e&&e(t)},n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;At()!==e&&(t?Lt(e):Tt(e))},e.prototype.getCurrentLocation=function(){return At()},e}(se),ce=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)},n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,function(){e.index=n,e.updateRoute(r)})}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(se),le=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=G(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!ne&&!1!==t.fallback,this.fallback&&(e="hash"),zt||(e="abstract"),this.mode=e,e){case"history":this.history=new ae(this,t.base);break;case"hash":this.history=new ue(this,t.base,this.fallback);break;case"abstract":this.history=new ce(this,t.base)}},fe={currentRoute:{configurable:!0}};le.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},fe.currentRoute.get=function(){return this.history&&this.history.current},le.prototype.init=function(t){var e=this;if(this.apps.push(t),!this.app){this.app=t;var n=this.history;if(n instanceof ae)n.transitionTo(n.getCurrentLocation());else if(n instanceof ue){var r=function(){n.setupListeners()};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen(function(t){e.apps.forEach(function(e){e._route=t})})}},le.prototype.beforeEach=function(t){return Pt(this.beforeHooks,t)},le.prototype.beforeResolve=function(t){return Pt(this.resolveHooks,t)},le.prototype.afterEach=function(t){return Pt(this.afterHooks,t)},le.prototype.onReady=function(t,e){this.history.onReady(t,e)},le.prototype.onError=function(t){this.history.onError(t)},le.prototype.push=function(t,e,n){this.history.push(t,e,n)},le.prototype.replace=function(t,e,n){this.history.replace(t,e,n)},le.prototype.go=function(t){this.history.go(t)},le.prototype.back=function(){this.go(-1)},le.prototype.forward=function(){this.go(1)},le.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map(function(t){return Object.keys(t.components).map(function(e){return t.components[e]})})):[]},le.prototype.resolve=function(t,e,n){var r=H(t,e||this.history.current,n,this),i=this.match(r,e),o=i.redirectedFrom||i.fullPath;return{location:r,route:i,href:jt(this.history.base,o,this.mode),normalizedTo:r,resolved:i}},le.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==qt&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(le.prototype,fe),le.install=_,le.version="3.0.1",zt&&window.Vue&&window.Vue.use(le),e.a=le},function(t,e,n){"use strict";var r=n(9),i=n(65),o=n(1),s=o(r.a,i.a,!1,null,null,null);e.a=s.exports},function(t,e,n){"use strict";var r=n(10),i=n(38),o=n(1),s=o(r.a,i.a,!1,null,null,null);e.a=s.exports},function(t,e,n){"use strict";var r=n(11),i=n(37),o=n(1),s=o(r.a,i.a,!1,null,null,null);e.a=s.exports},function(t,e,n){"use strict";var r=n(14),i=n(35),o=n(1),s=o(r.a,i.a,!1,null,null,null);e.a=s.exports},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("li",[t.item.href?n("a",{attrs:{href:t.item.href?t.item.href:"#"},on:{click:t.item.action}},[n("span",{class:t.item.icon}),t._v(" "),t.item.text?n("span",[t._v(t._s(t.item.text))]):t.item.longtext?n("p",[t._v(t._s(t.item.longtext))]):t._e()]):t.item.action?n("button",{on:{click:t.item.action}},[n("span",{class:t.item.icon}),t._v(" "),t.item.text?n("span",[t._v(t._s(t.item.text))]):t.item.longtext?n("p",[t._v(t._s(t.item.longtext))]):t._e()]):n("span",[n("span",{class:t.item.icon}),t._v(" "),t.item.text?n("span",[t._v(t._s(t.item.text))]):t.item.longtext?n("p",[t._v(t._s(t.item.longtext))]):t._e()])])},i=[],o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("ul",t._l(t.menu,function(t,e){return n("popover-item",{key:e,attrs:{item:t}})}))},i=[],o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("li",{class:[{"icon-loading-small":t.item.loading,open:t.item.opened,collapsible:t.item.collapsible&&t.item.children&&t.item.children.length>0},t.item.classes],attrs:{id:t.item.id}},[t.item.bullet?n("div",{staticClass:"app-navigation-entry-bullet",style:{backgroundColor:t.item.bullet}}):t._e(),t._v(" "),t.item.href?n("a",{class:t.item.icon,attrs:{href:t.item.href?t.item.href:"#"},on:{click:t.toggleCollapse}},[t.item.iconUrl?n("img",{attrs:{alt:t.item.text,src:t.item.iconUrl}}):t._e(),t._v("\n\t\t"+t._s(t.item.text)+"\n\t")]):t.item.router?n("router-link",{class:t.item.icon,attrs:{to:t.item.router}},[t.item.iconUrl?n("img",{attrs:{alt:t.item.text,src:t.item.iconUrl}}):t._e(),t._v("\n\t\t"+t._s(t.item.text)+"\n\t")]):t._e(),t._v(" "),t.item.utils?n("div",{staticClass:"app-navigation-entry-utils"},[n("ul",[Number.isInteger(t.item.utils.counter)?n("li",{staticClass:"app-navigation-entry-utils-counter"},[t._v(t._s(t.item.utils.counter))]):t._e(),t._v(" "),t.item.utils.actions&&1===t.item.utils.actions.length&&Number.isInteger(t.item.utils.counter)?n("li",{staticClass:"app-navigation-entry-utils-menu-button"},[n("button",{class:t.item.utils.actions[0].icon,attrs:{title:t.item.utils.actions[0].text},on:{click:t.item.utils.actions[0].action}})]):t.item.utils.actions&&2===t.item.utils.actions.length&&!Number.isInteger(t.item.utils.counter)?t._l(t.item.utils.actions,function(t){return n("li",{key:t.action,staticClass:"app-navigation-entry-utils-menu-button"},[n("button",{class:t.icon,attrs:{title:t.text},on:{click:t.action}})])}):t.item.utils.actions&&t.item.utils.actions.length>1&&(Number.isInteger(t.item.utils.counter)||t.item.utils.actions.length>2)?n("li",{staticClass:"app-navigation-entry-utils-menu-button"},[n("button",{directives:[{name:"click-outside",rawName:"v-click-outside",value:t.hideMenu,expression:"hideMenu"}],on:{click:t.showMenu}})]):t._e()],2)]):t._e(),t._v(" "),t.item.utils&&t.item.utils.actions&&t.item.utils.actions.length>1&&(Number.isInteger(t.item.utils.counter)||t.item.utils.actions.length>2)?n("div",{staticClass:"app-navigation-entry-menu",class:{open:t.openedMenu}},[n("popover-menu",{attrs:{menu:t.item.utils.actions}})],1):t._e(),t._v(" "),t.item.undo?n("div",{staticClass:"app-navigation-entry-deleted"},[n("div",{staticClass:"app-navigation-entry-deleted-description"},[t._v(t._s(t.item.undo.text))]),t._v(" "),n("button",{staticClass:"app-navigation-entry-deleted-button icon-history",attrs:{title:t.t("settings","Undo")}})]):t._e(),t._v(" "),t.item.edit?n("div",{staticClass:"app-navigation-entry-edit"},[n("form",[n("input",{directives:[{name:"model",rawName:"v-model",value:t.item.text,expression:"item.text"}],attrs:{type:"text"},domProps:{value:t.item.text},on:{input:function(e){e.target.composing||t.$set(t.item,"text",e.target.value)}}}),t._v(" "),n("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}}),t._v(" "),n("input",{staticClass:"icon-close",attrs:{type:"submit",value:""},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.cancelEdit(e)}}})])]):t._e(),t._v(" "),t.item.children?n("ul",t._l(t.item.children,function(t,e){return n("navigation-item",{key:e,attrs:{item:t}})})):t._e()],1)},i=[],o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:{"icon-loading":t.menu.loading},attrs:{id:"app-navigation"}},[t.menu.new?n("div",{staticClass:"app-navigation-new"},[n("button",{class:t.menu.new.icon,attrs:{type:"button",id:t.menu.new.id},on:{click:t.menu.new.action}},[t._v(t._s(t.menu.new.text))])]):t._e(),t._v(" "),n("ul",{attrs:{id:t.menu.id}},t._l(t.menu.items,function(t,e){return n("navigation-item",{key:e,attrs:{item:t}})})),t._v(" "),n("div",{attrs:{id:"app-settings"}},[n("div",{attrs:{id:"app-settings-header"}},[n("button",{staticClass:"settings-button",attrs:{"data-apps-slide-toggle":"#app-settings-content"}},[t._v(t._s(t.t("settings","Settings")))])]),t._v(" "),n("div",{attrs:{id:"app-settings-content"}},[t._t("settings-content")],2)])])},i=[],o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=n(16),i=n(44),o=n(1),s=o(r.a,i.a,!1,null,null,null);e.a=s.exports},function(t,e,n){"use strict";var r=n(17),i=n(42),o=n(1),s=o(r.a,i.a,!1,null,null,null);e.a=s.exports},function(t,e,n){"use strict";(function(t){function n(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then(function(){e=!1,t()}))}}function r(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},Pt))}}function i(t){var e={};return t&&"[object Function]"===e.toString.call(t)}function o(t,e){if(1!==t.nodeType)return[];var n=getComputedStyle(t,null);return e?n[e]:n}function s(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function a(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=o(t),n=e.overflow,r=e.overflowX;return/(auto|scroll)/.test(n+e.overflowY+r)?t:a(s(t))}function u(t){var e=t&&t.offsetParent,n=e&&e.nodeName;return n&&"BODY"!==n&&"HTML"!==n?-1!==["TD","TABLE"].indexOf(e.nodeName)&&"static"===o(e,"position")?u(e):e:t?t.ownerDocument.documentElement:document.documentElement}function c(t){var e=t.nodeName;return"BODY"!==e&&("HTML"===e||u(t.firstElementChild)===t)}function l(t){return null!==t.parentNode?l(t.parentNode):t}function f(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?t:e,i=n?e:t,o=document.createRange();o.setStart(r,0),o.setEnd(i,0);var s=o.commonAncestorContainer;if(t!==s&&e!==s||r.contains(i))return c(s)?s:u(s);var a=l(t);return a.host?f(a.host,e):f(t,l(e).host)}function p(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===e?"scrollTop":"scrollLeft",r=t.nodeName;if("BODY"===r||"HTML"===r){var i=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||i)[n]}return t[n]}function d(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=p(e,"top"),i=p(e,"left"),o=n?-1:1;return t.top+=r*o,t.bottom+=r*o,t.left+=i*o,t.right+=i*o,t}function h(t,e){var n="x"===e?"Left":"Top",r="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+r+"Width"],10)}function v(t,e,n,r){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],Dt()?n["offset"+t]+r["margin"+("Height"===t?"Top":"Left")]+r["margin"+("Height"===t?"Bottom":"Right")]:0)}function m(){var t=document.body,e=document.documentElement,n=Dt()&&getComputedStyle(e);return{height:v("Height",t,e,n),width:v("Width",t,e,n)}}function g(t){return Bt({},t,{right:t.left+t.width,bottom:t.top+t.height})}function y(t){var e={};if(Dt())try{e=t.getBoundingClientRect();var n=p(t,"top"),r=p(t,"left");e.top+=n,e.left+=r,e.bottom+=n,e.right+=r}catch(t){}else e=t.getBoundingClientRect();var i={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},s="HTML"===t.nodeName?m():{},a=s.width||t.clientWidth||i.right-i.left,u=s.height||t.clientHeight||i.bottom-i.top,c=t.offsetWidth-a,l=t.offsetHeight-u;if(c||l){var f=o(t);c-=h(f,"x"),l-=h(f,"y"),i.width-=c,i.height-=l}return g(i)}function b(t,e){var n=Dt(),r="HTML"===e.nodeName,i=y(t),s=y(e),u=a(t),c=o(e),l=parseFloat(c.borderTopWidth,10),f=parseFloat(c.borderLeftWidth,10),p=g({top:i.top-s.top-l,left:i.left-s.left-f,width:i.width,height:i.height});if(p.marginTop=0,p.marginLeft=0,!n&&r){var h=parseFloat(c.marginTop,10),v=parseFloat(c.marginLeft,10);p.top-=l-h,p.bottom-=l-h,p.left-=f-v,p.right-=f-v,p.marginTop=h,p.marginLeft=v}return(n?e.contains(u):e===u&&"BODY"!==u.nodeName)&&(p=d(p,e)),p}function _(t){var e=t.ownerDocument.documentElement,n=b(t,e),r=Math.max(e.clientWidth,window.innerWidth||0),i=Math.max(e.clientHeight,window.innerHeight||0),o=p(e),s=p(e,"left");return g({top:o-n.top+n.marginTop,left:s-n.left+n.marginLeft,width:r,height:i})}function w(t){var e=t.nodeName;return"BODY"!==e&&"HTML"!==e&&("fixed"===o(t,"position")||w(s(t)))}function x(t,e,n,r){var i={top:0,left:0},o=f(t,e);if("viewport"===r)i=_(o);else{var u=void 0;"scrollParent"===r?(u=a(s(e)),"BODY"===u.nodeName&&(u=t.ownerDocument.documentElement)):u="window"===r?t.ownerDocument.documentElement:r;var c=b(u,o);if("HTML"!==u.nodeName||w(o))i=c;else{var l=m(),p=l.height,d=l.width;i.top+=c.top-c.marginTop,i.bottom=p+c.top,i.left+=c.left-c.marginLeft,i.right=d+c.left}}return i.left+=n,i.top+=n,i.right-=n,i.bottom-=n,i}function C(t){return t.width*t.height}function O(t,e,n,r,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=x(n,r,o,i),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},u=Object.keys(a).map(function(t){return Bt({key:t},a[t],{area:C(a[t])})}).sort(function(t,e){return e.area-t.area}),c=u.filter(function(t){var e=t.width,r=t.height;return e>=n.clientWidth&&r>=n.clientHeight}),l=c.length>0?c[0].key:u[0].key,f=t.split("-")[1];return l+(f?"-"+f:"")}function k(t,e,n){return b(n,f(e,n))}function $(t){var e=getComputedStyle(t),n=parseFloat(e.marginTop)+parseFloat(e.marginBottom),r=parseFloat(e.marginLeft)+parseFloat(e.marginRight);return{width:t.offsetWidth+r,height:t.offsetHeight+n}}function S(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function A(t,e,n){n=n.split("-")[0];var r=$(t),i={width:r.width,height:r.height},o=-1!==["right","left"].indexOf(n),s=o?"top":"left",a=o?"left":"top",u=o?"height":"width",c=o?"width":"height";return i[s]=e[s]+e[u]/2-r[u]/2,i[a]=n===a?e[a]-r[c]:e[S(a)],i}function E(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function L(t,e,n){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===n});var r=E(t,function(t){return t[e]===n});return t.indexOf(r)}function T(t,e,n){return(void 0===n?t:t.slice(0,L(t,"name",n))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&i(n)&&(e.offsets.popper=g(e.offsets.popper),e.offsets.reference=g(e.offsets.reference),e=n(e,t))}),e}function P(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=k(this.state,this.popper,this.reference),t.placement=O(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.offsets.popper=A(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position="absolute",t=T(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function j(t,e){return t.some(function(t){var n=t.name;return t.enabled&&n===e})}function N(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),r=0;r<e.length-1;r++){var i=e[r],o=i?""+i+n:t;if(void 0!==document.body.style[o])return o}return null}function U(){return this.state.isDestroyed=!0,j(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.left="",this.popper.style.position="",this.popper.style.top="",this.popper.style[N("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function I(t){var e=t.ownerDocument;return e?e.defaultView:window}function D(t,e,n,r){var i="BODY"===t.nodeName,o=i?t.ownerDocument.defaultView:t;o.addEventListener(e,n,{passive:!0}),i||D(a(o.parentNode),e,n,r),r.push(o)}function M(t,e,n,r){n.updateBound=r,I(t).addEventListener("resize",n.updateBound,{passive:!0});var i=a(t);return D(i,"scroll",n.updateBound,n.scrollParents),n.scrollElement=i,n.eventsEnabled=!0,n}function R(){this.state.eventsEnabled||(this.state=M(this.reference,this.options,this.state,this.scheduleUpdate))}function F(t,e){return I(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach(function(t){t.removeEventListener("scroll",e.updateBound)}),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e}function B(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=F(this.reference,this.state))}function q(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function H(t,e){Object.keys(e).forEach(function(n){var r="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&q(e[n])&&(r="px"),t.style[n]=e[n]+r})}function V(t,e){Object.keys(e).forEach(function(n){!1!==e[n]?t.setAttribute(n,e[n]):t.removeAttribute(n)})}function G(t){return H(t.instance.popper,t.styles),V(t.instance.popper,t.attributes),t.arrowElement&&Object.keys(t.arrowStyles).length&&H(t.arrowElement,t.arrowStyles),t}function z(t,e,n,r,i){var o=k(i,e,t),s=O(n.placement,o,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),H(e,{position:"absolute"}),n}function W(t,e){var n=e.x,r=e.y,i=t.offsets.popper,o=E(t.instance.modifiers,function(t){return"applyStyle"===t.name}).gpuAcceleration;void 0!==o&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==o?o:e.gpuAcceleration,a=u(t.instance.popper),c=y(a),l={position:i.position},f={left:Math.floor(i.left),top:Math.floor(i.top),bottom:Math.floor(i.bottom),right:Math.floor(i.right)},p="bottom"===n?"top":"bottom",d="right"===r?"left":"right",h=N("transform"),v=void 0,m=void 0;if(m="bottom"===p?-c.height+f.bottom:f.top,v="right"===d?-c.width+f.right:f.left,s&&h)l[h]="translate3d("+v+"px, "+m+"px, 0)",l[p]=0,l[d]=0,l.willChange="transform";else{var g="bottom"===p?-1:1,b="right"===d?-1:1;l[p]=m*g,l[d]=v*b,l.willChange=p+", "+d}var _={"x-placement":t.placement};return t.attributes=Bt({},_,t.attributes),t.styles=Bt({},l,t.styles),t.arrowStyles=Bt({},t.offsets.arrow,t.arrowStyles),t}function K(t,e,n){var r=E(t,function(t){return t.name===e}),i=!!r&&t.some(function(t){return t.name===n&&t.enabled&&t.order<r.order});if(!i){var o="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+o+" modifier in order to work, be sure to include it before "+o+"!")}return i}function Q(t,e){var n;if(!K(t.instance.modifiers,"arrow","keepTogether"))return t;var r=e.element;if("string"==typeof r){if(!(r=t.instance.popper.querySelector(r)))return t}else if(!t.instance.popper.contains(r))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var i=t.placement.split("-")[0],s=t.offsets,a=s.popper,u=s.reference,c=-1!==["left","right"].indexOf(i),l=c?"height":"width",f=c?"Top":"Left",p=f.toLowerCase(),d=c?"left":"top",h=c?"bottom":"right",v=$(r)[l];u[h]-v<a[p]&&(t.offsets.popper[p]-=a[p]-(u[h]-v)),u[p]+v>a[h]&&(t.offsets.popper[p]+=u[p]+v-a[h]),t.offsets.popper=g(t.offsets.popper);var m=u[p]+u[l]/2-v/2,y=o(t.instance.popper),b=parseFloat(y["margin"+f],10),_=parseFloat(y["border"+f+"Width"],10),w=m-t.offsets.popper[p]-b-_;return w=Math.max(Math.min(a[l]-v,w),0),t.arrowElement=r,t.offsets.arrow=(n={},Ft(n,p,Math.round(w)),Ft(n,d,""),n),t}function Y(t){return"end"===t?"start":"start"===t?"end":t}function J(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Ht.indexOf(t),r=Ht.slice(n+1).concat(Ht.slice(0,n));return e?r.reverse():r}function X(t,e){if(j(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=x(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement),r=t.placement.split("-")[0],i=S(r),o=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case Vt.FLIP:s=[r,i];break;case Vt.CLOCKWISE:s=J(r);break;case Vt.COUNTERCLOCKWISE:s=J(r,!0);break;default:s=e.behavior}return s.forEach(function(a,u){if(r!==a||s.length===u+1)return t;r=t.placement.split("-")[0],i=S(r);var c=t.offsets.popper,l=t.offsets.reference,f=Math.floor,p="left"===r&&f(c.right)>f(l.left)||"right"===r&&f(c.left)<f(l.right)||"top"===r&&f(c.bottom)>f(l.top)||"bottom"===r&&f(c.top)<f(l.bottom),d=f(c.left)<f(n.left),h=f(c.right)>f(n.right),v=f(c.top)<f(n.top),m=f(c.bottom)>f(n.bottom),g="left"===r&&d||"right"===r&&h||"top"===r&&v||"bottom"===r&&m,y=-1!==["top","bottom"].indexOf(r),b=!!e.flipVariations&&(y&&"start"===o&&d||y&&"end"===o&&h||!y&&"start"===o&&v||!y&&"end"===o&&m);(p||g||b)&&(t.flipped=!0,(p||g)&&(r=s[u+1]),b&&(o=Y(o)),t.placement=r+(o?"-"+o:""),t.offsets.popper=Bt({},t.offsets.popper,A(t.instance.popper,t.offsets.reference,t.placement)),t=T(t.instance.modifiers,t,"flip"))}),t}function Z(t){var e=t.offsets,n=e.popper,r=e.reference,i=t.placement.split("-")[0],o=Math.floor,s=-1!==["top","bottom"].indexOf(i),a=s?"right":"bottom",u=s?"left":"top",c=s?"width":"height";return n[a]<o(r[u])&&(t.offsets.popper[u]=o(r[u])-n[c]),n[u]>o(r[a])&&(t.offsets.popper[u]=o(r[a])),t}function tt(t,e,n,r){var i=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+i[1],s=i[2];if(!o)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=r}return g(a)[e]/100*o}if("vh"===s||"vw"===s){return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o}return o}function et(t,e,n,r){var i=[0,0],o=-1!==["right","left"].indexOf(r),s=t.split(/(\+|\-)/).map(function(t){return t.trim()}),a=s.indexOf(E(s,function(t){return-1!==t.search(/,|\s/)}));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var u=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(u)[0]]),[s[a].split(u)[1]].concat(s.slice(a+1))]:[s];return c=c.map(function(t,r){var i=(1===r?!o:o)?"height":"width",s=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)},[]).map(function(t){return tt(t,i,e,n)})}),c.forEach(function(t,e){t.forEach(function(n,r){q(n)&&(i[e]+=n*("-"===t[r-1]?-1:1))})}),i}function nt(t,e){var n=e.offset,r=t.placement,i=t.offsets,o=i.popper,s=i.reference,a=r.split("-")[0],u=void 0;return u=q(+n)?[+n,0]:et(n,o,s,a),"left"===a?(o.top+=u[0],o.left-=u[1]):"right"===a?(o.top+=u[0],o.left+=u[1]):"top"===a?(o.left+=u[0],o.top-=u[1]):"bottom"===a&&(o.left+=u[0],o.top+=u[1]),t.popper=o,t}function rt(t,e){var n=e.boundariesElement||u(t.instance.popper);t.instance.reference===n&&(n=u(n));var r=x(t.instance.popper,t.instance.reference,e.padding,n);e.boundaries=r;var i=e.priority,o=t.offsets.popper,s={primary:function(t){var n=o[t];return o[t]<r[t]&&!e.escapeWithReference&&(n=Math.max(o[t],r[t])),Ft({},t,n)},secondary:function(t){var n="right"===t?"left":"top",i=o[n];return o[t]>r[t]&&!e.escapeWithReference&&(i=Math.min(o[n],r[t]-("right"===t?o.width:o.height))),Ft({},n,i)}};return i.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";o=Bt({},o,s[e](t))}),t.offsets.popper=o,t}function it(t){var e=t.placement,n=e.split("-")[0],r=e.split("-")[1];if(r){var i=t.offsets,o=i.reference,s=i.popper,a=-1!==["bottom","top"].indexOf(n),u=a?"left":"top",c=a?"width":"height",l={start:Ft({},u,o[u]),end:Ft({},u,o[u]+o[c]-s[c])};t.offsets.popper=Bt({},s,l[r])}return t}function ot(t){if(!K(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=E(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}function st(t){var e=t.placement,n=e.split("-")[0],r=t.offsets,i=r.popper,o=r.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return i[s?"left":"top"]=o[n]-(a?i[s?"width":"height"]:0),t.placement=S(e),t.offsets.popper=g(i),t}function at(t){return"string"==typeof t&&(t=t.split(" ")),t}function ut(t,e){var n=at(e),r=void 0;r=t.className instanceof SVGAnimatedString?Array.from(t.className):at(t.className),n.forEach(function(t){-1===r.indexOf(t)&&r.push(t)}),t instanceof SVGElement?t.setAttribute("class",r.join(" ")):t.className=r.join(" ")}function ct(t,e){var n=at(e),r=void 0;r=t.className instanceof SVGAnimatedString?Array.from(t.className):at(t.className),n.forEach(function(t){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}),t instanceof SVGElement?t.setAttribute("class",r.join(" ")):t.className=r.join(" ")}function lt(t){var e={placement:void 0!==t.placement?t.placement:ae.options.defaultPlacement,delay:void 0!==t.delay?t.delay:ae.options.defaultDelay,template:void 0!==t.template?t.template:ae.options.defaultTemplate,arrowSelector:void 0!==t.arrowSelector?t.arrowSelector:ae.options.defaultArrowSelector,innerSelector:void 0!==t.innerSelector?t.innerSelector:ae.options.defaultInnerSelector,trigger:void 0!==t.trigger?t.trigger:ae.options.defaultTrigger,offset:void 0!==t.offset?t.offset:ae.options.defaultOffset,container:void 0!==t.container?t.container:ae.options.defaultContainer,boundariesElement:void 0!==t.boundariesElement?t.boundariesElement:ae.options.defaultBoundariesElement,autoHide:void 0!==t.autoHide?t.autoHide:ae.options.autoHide,loadingClass:void 0!==t.loadingClass?t.loadingClass:ae.options.defaultLoadingClass,loadingContent:void 0!==t.loadingContent?t.loadingContent:ae.options.defaultLoadingContent,popperOptions:Zt({},void 0!==t.popperOptions?t.popperOptions:ae.options.defaultPopperOptions)};if(e.offset){var n=Yt(e.offset),r=e.offset;("number"===n||"string"===n&&-1===r.indexOf(","))&&(r="0, "+r),e.popperOptions.modifiers||(e.popperOptions.modifiers={}),e.popperOptions.modifiers.offset={offset:r}}return e}function ft(t,e){for(var n=t.placement,r=0;r<oe.length;r++){var i=oe[r];e[i]&&(n=i)}return n}function pt(t){var e=void 0===t?"undefined":Yt(t);return"string"===e?t:!(!t||"object"!==e)&&t.content}function dt(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=pt(e),i=void 0!==e.classes?e.classes:ae.options.defaultClass,o=Zt({title:r,html:!0},lt(Zt({},e,{placement:ft(e,n)}))),s=t._tooltip=new ne(t,o);s.setClasses(i),s._vueEl=t;var a=void 0!==e.targetClasses?e.targetClasses:ae.options.defaultTargetClass;return t._tooltipTargetClasses=a,ut(t,a),s}function ht(t){t._tooltip&&(t._tooltip.dispose(),delete t._tooltip,delete t._tooltipOldShow),t._tooltipTargetClasses&&(ct(t,t._tooltipTargetClasses),delete t._tooltipTargetClasses)}function vt(t,e){var n=e.value,r=(e.oldValue,e.modifiers),i=pt(n);if(i&&ie.enabled){var o=void 0;t._tooltip?(o=t._tooltip,o.setContent(i),o.setOptions(Zt({},n,{placement:ft(n,r)}))):o=dt(t,n,r),void 0!==n.show&&n.show!==t._tooltipOldShow&&(t._tooltipOldShow=n.show,n.show?o.show():o.hide())}else ht(t)}function mt(t){t.addEventListener("click",yt),t.addEventListener("touchstart",bt,!!Kt&&{passive:!0})}function gt(t){t.removeEventListener("click",yt),t.removeEventListener("touchstart",bt),t.removeEventListener("touchend",_t),t.removeEventListener("touchcancel",wt)}function yt(t){var e=t.currentTarget;t.closePopover=!e.$_vclosepopover_touch,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}function bt(t){if(1===t.changedTouches.length){var e=t.currentTarget;e.$_vclosepopover_touch=!0;var n=t.changedTouches[0];e.$_vclosepopover_touchPoint=n,e.addEventListener("touchend",_t),e.addEventListener("touchcancel",wt)}}function _t(t){var e=t.currentTarget;if(e.$_vclosepopover_touch=!1,1===t.changedTouches.length){var n=t.changedTouches[0],r=e.$_vclosepopover_touchPoint;t.closePopover=Math.abs(n.screenY-r.screenY)<20&&Math.abs(n.screenX-r.screenX)<20,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}}function wt(t){t.currentTarget.$_vclosepopover_touch=!1}function xt(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var n=t.indexOf("rv:");return parseInt(t.substring(n+3,t.indexOf(".",n)),10)}var r=t.indexOf("Edge/");return r>0?parseInt(t.substring(r+5,t.indexOf(".",r)),10):-1}function Ct(){Ct.init||(Ct.init=!0,ce=-1!==xt())}function Ot(t){t.component("resize-observer",le)}function kt(t){var e=ae.options.popover[t];return void 0===e?ae.options[t]:e}function $t(t){At(t)}function St(t){At(t,!0)}function At(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=void 0,r=0;r<he.length;r++){n=he[r];var i=n.$refs.popover.contains(t.target);(t.closeAllPopover||t.closePopover&&i||n.autoHide&&!i)&&n.$_handleGlobalClose(t,e)}}function Et(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!Et.installed){Et.installed=!0;var n={};ge(n,se,e),ye.options=n,ae.options=n,t.directive("tooltip",ae),t.directive("close-popover",ue),t.component("v-popover",ve)}}for(var Lt="undefined"!=typeof window&&"undefined"!=typeof document,Tt=["Edge","Trident","Firefox"],Pt=0,jt=0;jt<Tt.length;jt+=1)if(Lt&&navigator.userAgent.indexOf(Tt[jt])>=0){Pt=1;break}var Nt=Lt&&window.Promise,Ut=Nt?n:r,It=void 0,Dt=function(){return void 0===It&&(It=-1!==navigator.appVersion.indexOf("MSIE 10")),It},Mt=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Rt=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),Ft=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},Bt=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},qt=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],Ht=qt.slice(3),Vt={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"},Gt={shift:{order:100,enabled:!0,fn:it},offset:{order:200,enabled:!0,fn:nt,offset:0},preventOverflow:{order:300,enabled:!0,fn:rt,priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:Z},arrow:{order:500,enabled:!0,fn:Q,element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:X,behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:st},hide:{order:800,enabled:!0,fn:ot},computeStyle:{order:850,enabled:!0,fn:W,gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:G,onLoad:z,gpuAcceleration:void 0}},zt={placement:"bottom",eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:Gt},Wt=function(){function t(e,n){var r=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Mt(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=Ut(this.update.bind(this)),this.options=Bt({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(Bt({},t.Defaults.modifiers,o.modifiers)).forEach(function(e){r.options.modifiers[e]=Bt({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return Bt({name:t},r.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&i(t.onLoad)&&t.onLoad(r.reference,r.popper,r.options,t,r.state)}),this.update();var s=this.options.eventsEnabled;s&&this.enableEventListeners(),this.state.eventsEnabled=s}return Rt(t,[{key:"update",value:function(){return P.call(this)}},{key:"destroy",value:function(){return U.call(this)}},{key:"enableEventListeners",value:function(){return R.call(this)}},{key:"disableEventListeners",value:function(){return B.call(this)}}]),t}();Wt.Utils=("undefined"!=typeof window?window:t).PopperUtils,Wt.placements=qt,Wt.Defaults=zt;var Kt=!1;if("undefined"!=typeof window){Kt=!1;try{var Qt=Object.defineProperty({},"passive",{get:function(){Kt=!0}});window.addEventListener("test",null,Qt)}catch(t){}}var Yt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Jt=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Xt=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),Zt=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},te={container:!1,delay:0,html:!1,placement:"top",title:"",template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",offset:0},ee=[],ne=function(){function t(e,n){Jt(this,t),re.call(this),n=Zt({},te,n),e.jquery&&(e=e[0]),this.reference=e,this.options=n,this._isOpen=!1,this._init()}return Xt(t,[{key:"setClasses",value:function(t){this._classes=t}},{key:"setContent",value:function(t){this.options.title=t,this._tooltipNode&&this._setContent(t,this.options)}},{key:"setOptions",value:function(t){var e=!1,n=t&&t.classes||ae.options.defaultClass;this._classes!==n&&(this.setClasses(n),e=!0),t=lt(t);var r=!1,i=!1;this.options.offset===t.offset&&this.options.placement===t.placement||(r=!0),(this.options.template!==t.template||this.options.trigger!==t.trigger||this.options.container!==t.container||e)&&(i=!0);for(var o in t)this.options[o]=t[o];if(this._tooltipNode)if(i){var s=this._isOpen;this.dispose(),this._init(),s&&this.show()}else r&&this.popperInstance.update()}},{key:"_init",value:function(){var t="string"==typeof this.options.trigger?this.options.trigger.split(" ").filter(function(t){return-1!==["click","hover","focus"].indexOf(t)}):[];this._isDisposed=!1,this._enableDocumentTouch=-1===t.indexOf("manual"),this._setEventListeners(this.reference,t,this.options)}},{key:"_create",value:function(t,e){var n=window.document.createElement("div");n.innerHTML=e.trim();var r=n.childNodes[0];return r.id="tooltip_"+Math.random().toString(36).substr(2,10),r.setAttribute("aria-hidden","true"),this.options.autoHide&&-1!==this.options.trigger.indexOf("hover")&&(r.addEventListener("mouseenter",this.hide),r.addEventListener("click",this.hide)),r}},{key:"_setContent",value:function(t,e){var n=this;this.asyncContent=!1,this._applyContent(t,e).then(function(){n.popperInstance.update()})}},{key:"_applyContent",value:function(t,e){var n=this;return new Promise(function(r,i){var o=e.html,s=n._tooltipNode,a=s.querySelector(n.options.innerSelector);if(1===t.nodeType){if(o){for(;a.firstChild;)a.removeChild(a.firstChild);a.appendChild(t)}}else{if("function"==typeof t){var u=t();return void(u&&"function"==typeof u.then?(n.asyncContent=!0,e.loadingClass&&ut(s,e.loadingClass),e.loadingContent&&n._applyContent(e.loadingContent,e),u.then(function(t){return e.loadingClass&&ct(s,e.loadingClass),n._applyContent(t,e)}).then(r).catch(i)):n._applyContent(u,e).then(r).catch(i))}o?a.innerHTML=t:a.innerText=t}r()})}},{key:"_show",value:function(t,e){if(e&&"string"==typeof e.container){if(!document.querySelector(e.container))return}clearTimeout(this._disposeTimer),e=Object.assign({},e),delete e.offset;var n=!0;this._tooltipNode&&(ut(this._tooltipNode,this._classes),n=!1);var r=this._ensureShown(t,e);return n&&this._tooltipNode&&ut(this._tooltipNode,this._classes),r}},{key:"_ensureShown",value:function(t,e){var n=this;if(this._isOpen)return this;if(this._isOpen=!0,ee.push(this),this._tooltipNode)return this._tooltipNode.style.display="",this._tooltipNode.setAttribute("aria-hidden","false"),this.popperInstance.enableEventListeners(),this.popperInstance.update(),this.asyncContent&&this._setContent(e.title,e),this;var r=t.getAttribute("title")||e.title;if(!r)return this;var i=this._create(t,e.template);this._tooltipNode=i,this._setContent(r,e),t.setAttribute("aria-describedby",i.id);var o=this._findContainer(e.container,t);this._append(i,o);var s=Zt({},e.popperOptions,{placement:e.placement});return s.modifiers=Zt({},s.modifiers,{arrow:{element:this.options.arrowSelector}}),e.boundariesElement&&(s.modifiers.preventOverflow={boundariesElement:e.boundariesElement}),this.popperInstance=new Wt(t,i,s),requestAnimationFrame(function(){!n._isDisposed&&n.popperInstance?(n.popperInstance.update(),requestAnimationFrame(function(){n._isDisposed?n.dispose():n._isOpen&&i.setAttribute("aria-hidden","false")})):n.dispose()}),this}},{key:"_noLongerOpen",value:function(){var t=ee.indexOf(this);-1!==t&&ee.splice(t,1)}},{key:"_hide",value:function(){var t=this;if(!this._isOpen)return this;this._isOpen=!1,this._noLongerOpen(),this._tooltipNode.style.display="none",this._tooltipNode.setAttribute("aria-hidden","true"),this.popperInstance.disableEventListeners(),clearTimeout(this._disposeTimer);var e=ae.options.disposeTimeout;return null!==e&&(this._disposeTimer=setTimeout(function(){t._tooltipNode&&(t._tooltipNode.removeEventListener("mouseenter",t.hide),t._tooltipNode.removeEventListener("click",t.hide),t._tooltipNode.parentNode.removeChild(t._tooltipNode),t._tooltipNode=null)},e)),this}},{key:"_dispose",value:function(){var t=this;return this._isDisposed=!0,this._events.forEach(function(e){var n=e.func,r=e.event;t.reference.removeEventListener(r,n)}),this._events=[],this._tooltipNode?(this._hide(),this._tooltipNode.removeEventListener("mouseenter",this.hide),this._tooltipNode.removeEventListener("click",this.hide),this.popperInstance.destroy(),this.popperInstance.options.removeOnDestroy||(this._tooltipNode.parentNode.removeChild(this._tooltipNode),this._tooltipNode=null)):this._noLongerOpen(),this}},{key:"_findContainer",value:function(t,e){return"string"==typeof t?t=window.document.querySelector(t):!1===t&&(t=e.parentNode),t}},{key:"_append",value:function(t,e){e.appendChild(t)}},{key:"_setEventListeners",value:function(t,e,n){var r=this,i=[],o=[];e.forEach(function(t){switch(t){case"hover":i.push("mouseenter"),o.push("mouseleave");break;case"focus":i.push("focus"),o.push("blur");break;case"click":i.push("click"),o.push("click")}}),i.forEach(function(e){var i=function(e){!0!==r._isOpen&&(e.usedByTooltip=!0,r._scheduleShow(t,n.delay,n,e))};r._events.push({event:e,func:i}),t.addEventListener(e,i)}),o.forEach(function(e){var i=function(e){!0!==e.usedByTooltip&&r._scheduleHide(t,n.delay,n,e)};r._events.push({event:e,func:i}),t.addEventListener(e,i)})}},{key:"_onDocumentTouch",value:function(t){this._enableDocumentTouch&&this._scheduleHide(this.reference,this.options.delay,this.options,t)}},{key:"_scheduleShow",value:function(t,e,n){var r=this,i=e&&e.show||e||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){return r._show(t,n)},i)}},{key:"_scheduleHide",value:function(t,e,n,r){var i=this,o=e&&e.hide||e||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){if(!1!==i._isOpen&&document.body.contains(i._tooltipNode)){if("mouseleave"===r.type){if(i._setTooltipNodeEvent(r,t,e,n))return}i._hide(t,n)}},o)}}]),t}(),re=function(){var t=this;this.show=function(){t._show(t.reference,t.options)},this.hide=function(){t._hide()},this.dispose=function(){t._dispose()},this.toggle=function(){return t._isOpen?t.hide():t.show()},this._events=[],this._setTooltipNodeEvent=function(e,n,r,i){var o=e.relatedreference||e.toElement,s=function r(o){var s=o.relatedreference||o.toElement;t._tooltipNode.removeEventListener(e.type,r),n.contains(s)||t._scheduleHide(n,i.delay,i,o)};return!!t._tooltipNode.contains(o)&&(t._tooltipNode.addEventListener(e.type,s),!0)}};"undefined"!=typeof document&&document.addEventListener("touchstart",function(t){for(var e=0;e<ee.length;e++)ee[e]._onDocumentTouch(t)},!!Kt&&{passive:!0});var ie={enabled:!0},oe=["top","top-start","top-end","right","right-start","right-end","bottom","bottom-start","bottom-end","left","left-start","left-end"],se={defaultPlacement:"top",defaultClass:"vue-tooltip-theme",defaultTargetClass:"has-tooltip",defaultTemplate:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',defaultArrowSelector:".tooltip-arrow, .tooltip__arrow",defaultInnerSelector:".tooltip-inner, .tooltip__inner",defaultDelay:0,defaultTrigger:"hover focus",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultLoadingClass:"tooltip-loading",defaultLoadingContent:"...",autoHide:!0,disposeTimeout:5e3,popover:{defaultPlacement:"bottom",defaultClass:"vue-popover-theme",defaultBaseClass:"tooltip popover",defaultWrapperClass:"wrapper",defaultInnerClass:"tooltip-inner popover-inner",defaultArrowClass:"tooltip-arrow popover-arrow",defaultDelay:0,defaultTrigger:"click",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultAutoHide:!0,defaultHandleResize:!0}},ae={options:se,bind:vt,update:vt,unbind:function(t){ht(t)}},ue={bind:function(t,e){var n=e.value,r=e.modifiers;t.$_closePopoverModifiers=r,(void 0===n||n)&&mt(t)},update:function(t,e){var n=e.value,r=e.oldValue,i=e.modifiers;t.$_closePopoverModifiers=i,n!==r&&(void 0===n||n?mt(t):gt(t))},unbind:function(t){gt(t)}},ce=void 0,le={render:function(){var t=this,e=t.$createElement;return(t._self._c||e)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},staticRenderFns:[],_scopeId:"data-v-b329ee4c",name:"resize-observer",methods:{notify:function(){this.$emit("notify")},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.notify),this._w===this.$el.offsetWidth&&this._h===this.$el.offsetHeight||this.notify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!ce&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.notify),delete this._resizeObject.onload)}},mounted:function(){var t=this;Ct(),this.$nextTick(function(){t._w=t.$el.offsetWidth,t._h=t.$el.offsetHeight});var e=document.createElement("object");this._resizeObject=e,e.setAttribute("style","display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;"),e.setAttribute("aria-hidden","true"),e.onload=this.addResizeHandlers,e.type="text/html",ce&&this.$el.appendChild(e),e.data="about:blank",ce||this.$el.appendChild(e)},beforeDestroy:function(){this.removeResizeHandlers()}},fe={version:"0.4.3",install:Ot},pe=null;"undefined"!=typeof window?pe=window.Vue:void 0!==t&&(pe=t.Vue),pe&&pe.use(fe);var de=!1;"undefined"!=typeof window&&"undefined"!=typeof navigator&&(de=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);var he=[],ve={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"v-popover",class:t.cssClass},[n("span",{ref:"trigger",staticClass:"trigger",staticStyle:{display:"inline-block"},attrs:{"aria-describedby":t.popoverId}},[t._t("default")],2),t._v(" "),n("div",{ref:"popover",class:[t.popoverBaseClass,t.popoverClass,t.cssClass],style:{display:t.isOpen?"":"none"},attrs:{id:t.popoverId,"aria-hidden":t.isOpen?"false":"true"}},[n("div",{class:t.popoverWrapperClass},[n("div",{ref:"arrow",class:t.popoverArrowClass}),t._v(" "),n("div",{ref:"inner",class:t.popoverInnerClass,staticStyle:{position:"relative"}},[n("div",[t._t("popover")],2),t._v(" "),t.handleResize?n("ResizeObserver",{on:{notify:t.$_handleResize}}):t._e()],1)])])])},staticRenderFns:[],name:"VPopover",components:{ResizeObserver:le},props:{open:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},placement:{type:String,default:function(){return kt("defaultPlacement")}},delay:{type:[String,Number,Object],default:function(){return kt("defaultDelay")}},offset:{type:[String,Number],default:function(){return kt("defaultOffset")}},trigger:{type:String,default:function(){return kt("defaultTrigger")}},container:{type:[String,Object,Element],default:function(){return kt("defaultContainer")}},boundariesElement:{type:Element,default:function(){return kt("defaultBoundariesElement")}},popperOptions:{type:Object,default:function(){return kt("defaultPopperOptions")}},popoverClass:{type:[String,Array],default:function(){return kt("defaultClass")}},popoverBaseClass:{type:[String,Array],default:function(){return ae.options.popover.defaultBaseClass}},popoverInnerClass:{type:[String,Array],default:function(){return ae.options.popover.defaultInnerClass}},popoverWrapperClass:{type:[String,Array],default:function(){return ae.options.popover.defaultWrapperClass}},popoverArrowClass:{type:[String,Array],default:function(){return ae.options.popover.defaultArrowClass}},autoHide:{type:Boolean,default:function(){return ae.options.popover.defaultAutoHide}},handleResize:{type:Boolean,default:function(){return ae.options.popover.defaultHandleResize}},openGroup:{type:String,default:null}},data:function(){return{isOpen:!1,id:Math.random().toString(36).substr(2,10)}},computed:{cssClass:function(){return{open:this.isOpen}},popoverId:function(){return"popover_"+this.id}},watch:{open:function(t){t?this.show():this.hide()},disabled:function(t,e){t!==e&&(t?this.hide():this.open&&this.show())},container:function(t){if(this.isOpen&&this.popperInstance){var e=this.$refs.popover,n=this.$refs.trigger,r=this.$_findContainer(this.container,n);if(!r)return void console.warn("No container for popover",this);r.appendChild(e),this.popperInstance.update()}},trigger:function(t){this.$_removeEventListeners(),this.$_addEventListeners()},offset:function(t){var e=this;this.$_updatePopper(function(){if(t){var n=e.$_getOffset();e.popperInstance.options.modifiers.offset={offset:n}}else e.popperInstance.options.modifiers.offset=void 0})},placement:function(t){var e=this;this.$_updatePopper(function(){e.popperInstance.options.placement=t})},boundariesElement:"$_restartPopper",popperOptions:{handler:"$_restartPopper",deep:!0}},created:function(){this.$_isDisposed=!1,this.$_mounted=!1,this.$_events=[],this.$_preventOpen=!1},mounted:function(){var t=this.$refs.popover;t.parentNode&&t.parentNode.removeChild(t),this.$_init(),this.open&&this.show()},beforeDestroy:function(){this.dispose()},methods:{show:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.event,n=(t.skipDelay,t.force);!(void 0!==n&&n)&&this.disabled||(this.$_scheduleShow(e),this.$emit("show")),this.$emit("update:open",!0)},hide:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.event;t.skipDelay;this.$_scheduleHide(e),this.$emit("hide"),this.$emit("update:open",!1)},dispose:function(){if(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.popperInstance&&(this.popperInstance.destroy(),!this.popperInstance.options.removeOnDestroy)){var t=this.$refs.popover;t.parentNode&&t.parentNode.removeChild(t)}this.$_mounted=!1,this.$emit("dispose")},$_init:function(){-1===this.trigger.indexOf("manual")&&this.$_addEventListeners()},$_show:function(){var t=this,e=this.$refs.trigger,n=this.$refs.popover;if(clearTimeout(this.$_disposeTimer),!this.isOpen){if(this.popperInstance&&(this.isOpen=!0,this.popperInstance.enableEventListeners(),this.popperInstance.update()),!this.$_mounted){var r=this.$_findContainer(this.container,e);if(!r)return void console.warn("No container for popover",this);r.appendChild(n),this.$_mounted=!0}if(!this.popperInstance){var i=Zt({},this.popperOptions,{placement:this.placement});if(i.modifiers=Zt({},i.modifiers,{arrow:{element:this.$refs.arrow}}),this.offset){var o=this.$_getOffset();i.modifiers.offset={offset:o}}this.boundariesElement&&(i.modifiers.preventOverflow={boundariesElement:this.boundariesElement}),this.popperInstance=new Wt(e,n,i),requestAnimationFrame(function(){!t.$_isDisposed&&t.popperInstance?(t.popperInstance.update(),requestAnimationFrame(function(){t.$_isDisposed?t.dispose():t.isOpen=!0})):t.dispose()})}var s=this.openGroup;if(s)for(var a=void 0,u=0;u<he.length;u++)a=he[u],a.openGroup!==s&&(a.hide(),a.$emit("close-group"));he.push(this)}},$_hide:function(){var t=this;if(this.isOpen){var e=he.indexOf(this);-1!==e&&he.splice(e,1),this.isOpen=!1,this.popperInstance&&this.popperInstance.disableEventListeners(),clearTimeout(this.$_disposeTimer);var n=ae.options.popover.disposeTimeout||ae.options.disposeTimeout;null!==n&&(this.$_disposeTimer=setTimeout(function(){var e=t.$refs.popover;e&&(e.parentNode&&e.parentNode.removeChild(e),t.$_mounted=!1)},n))}},$_findContainer:function(t,e){return"string"==typeof t?t=window.document.querySelector(t):!1===t&&(t=e.parentNode),t},$_getOffset:function(){var t=Yt(this.offset),e=this.offset;return("number"===t||"string"===t&&-1===e.indexOf(","))&&(e="0, "+e),e},$_addEventListeners:function(){var t=this,e=this.$refs.trigger,n=[],r=[];("string"==typeof this.trigger?this.trigger.split(" ").filter(function(t){return-1!==["click","hover","focus"].indexOf(t)}):[]).forEach(function(t){switch(t){case"hover":n.push("mouseenter"),r.push("mouseleave");break;case"focus":n.push("focus"),r.push("blur");break;case"click":n.push("click"),r.push("click")}}),n.forEach(function(n){var r=function(e){t.isOpen||(e.usedByTooltip=!0,!t.$_preventOpen&&t.show({event:e}))};t.$_events.push({event:n,func:r}),e.addEventListener(n,r)}),r.forEach(function(n){var r=function(e){e.usedByTooltip||t.hide({event:e})};t.$_events.push({event:n,func:r}),e.addEventListener(n,r)})},$_scheduleShow:function(){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),t)this.$_show();else{var e=parseInt(this.delay&&this.delay.show||this.delay||0);this.$_scheduleTimer=setTimeout(this.$_show.bind(this),e)}},$_scheduleHide:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),n)this.$_hide();else{var r=parseInt(this.delay&&this.delay.hide||this.delay||0);this.$_scheduleTimer=setTimeout(function(){if(t.isOpen){if(e&&"mouseleave"===e.type){if(t.$_setTooltipNodeEvent(e))return}t.$_hide()}},r)}},$_setTooltipNodeEvent:function(t){var e=this,n=this.$refs.trigger,r=this.$refs.popover,i=t.relatedreference||t.toElement,o=function i(o){var s=o.relatedreference||o.toElement;r.removeEventListener(t.type,i),n.contains(s)||e.hide({event:o})};return!!r.contains(i)&&(r.addEventListener(t.type,o),!0)},$_removeEventListeners:function(){var t=this.$refs.trigger;this.$_events.forEach(function(e){var n=e.func,r=e.event;t.removeEventListener(r,n)}),this.$_events=[]},$_updatePopper:function(t){this.isOpen&&this.popperInstance&&(t(),this.popperInstance.update())},$_restartPopper:function(){if(this.popperInstance){var t=this.isOpen;this.dispose(),this.$_init(),t&&this.show()}},$_handleGlobalClose:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.hide({event:t}),t.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),n&&(this.$_preventOpen=!0,setTimeout(function(){e.$_preventOpen=!1},300))},$_handleResize:function(){this.isOpen&&this.popperInstance&&(this.popperInstance.update(),this.$emit("resize"))}}};"undefined"!=typeof document&&"undefined"!=typeof window&&(de?document.addEventListener("touchend",St,!!Kt&&{passive:!0}):window.addEventListener("click",$t));var me="undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:{},ge=function(t,e){return e={exports:{}},t(e,e.exports),e.exports}(function(t,e){function n(t,e){return t.set(e[0],e[1]),t}function r(t,e){return t.add(e),t}function i(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function o(t,e){for(var n=-1,r=t?t.length:0;++n<r&&!1!==e(t[n],n,t););return t}function s(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}function a(t,e,n,r){var i=-1,o=t?t.length:0;for(r&&o&&(n=t[++i]);++i<o;)n=e(n,t[i],i,t);return n}function u(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}function c(t,e){return null==t?void 0:t[e]}function l(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}function f(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function p(t,e){return function(n){return t(e(n))}}function d(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}function h(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function v(){this.__data__=Ze?Ze(null):{}}function m(t){return this.has(t)&&delete this.__data__[t]}function g(t){var e=this.__data__;if(Ze){var n=e[t];return n===Rt?void 0:n}return je.call(e,t)?e[t]:void 0}function y(t){var e=this.__data__;return Ze?void 0!==e[t]:je.call(e,t)}function b(t,e){return this.__data__[t]=Ze&&void 0===e?Rt:e,this}function _(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function w(){this.__data__=[]}function x(t){var e=this.__data__,n=B(e,t);return!(n<0)&&(n==e.length-1?e.pop():He.call(e,n,1),!0)}function C(t){var e=this.__data__,n=B(e,t);return n<0?void 0:e[n][1]}function O(t){return B(this.__data__,t)>-1}function k(t,e){var n=this.__data__,r=B(n,t);return r<0?n.push([t,e]):n[r][1]=e,this}function $(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function S(){this.__data__={hash:new h,map:new(Qe||_),string:new h}}function A(t){return pt(this,t).delete(t)}function E(t){return pt(this,t).get(t)}function L(t){return pt(this,t).has(t)}function T(t,e){return pt(this,t).set(t,e),this}function P(t){this.__data__=new _(t)}function j(){this.__data__=new _}function N(t){return this.__data__.delete(t)}function U(t){return this.__data__.get(t)}function I(t){return this.__data__.has(t)}function D(t,e){var n=this.__data__;if(n instanceof _){var r=n.__data__;if(!Qe||r.length<Mt-1)return r.push([t,e]),this;n=this.__data__=new $(r)}return n.set(t,e),this}function M(t,e){var n=ln(t)||kt(t)?u(t.length,String):[],r=n.length,i=!!r;for(var o in t)!e&&!je.call(t,o)||i&&("length"==o||gt(o,r))||n.push(o);return n}function R(t,e,n){(void 0===n||Ot(t[e],n))&&("number"!=typeof e||void 0!==n||e in t)||(t[e]=n)}function F(t,e,n){var r=t[e];je.call(t,e)&&Ot(r,n)&&(void 0!==n||e in t)||(t[e]=n)}function B(t,e){for(var n=t.length;n--;)if(Ot(t[n][0],e))return n;return-1}function q(t,e){return t&&ct(e,Nt(e),t)}function H(t,e,n,r,i,s,a){var u;if(r&&(u=s?r(t,i,s,a):r(t)),void 0!==u)return u;if(!Lt(t))return t;var c=ln(t);if(c){if(u=ht(t),!e)return ut(t,u)}else{var f=cn(t),p=f==Vt||f==Gt;if(fn(t))return tt(t,e);if(f==Kt||f==Bt||p&&!s){if(l(t))return s?t:{};if(u=vt(p?{}:t),!e)return lt(t,q(u,t))}else{if(!ge[f])return s?t:{};u=mt(t,f,H,e)}}a||(a=new P);var d=a.get(t);if(d)return d;if(a.set(t,u),!c)var h=n?ft(t):Nt(t);return o(h||t,function(i,o){h&&(o=i,i=t[o]),F(u,o,H(i,e,n,r,o,t,a))}),u}function V(t){return Lt(t)?Be(t):{}}function G(t,e,n){var r=e(t);return ln(t)?r:s(r,n(t))}function z(t){return Ue.call(t)}function W(t){return!(!Lt(t)||_t(t))&&(At(t)||l(t)?Ie:de).test(Ct(t))}function K(t){return Tt(t)&&Et(t.length)&&!!ve[Ue.call(t)]}function Q(t){if(!wt(t))return ze(t);var e=[];for(var n in Object(t))je.call(t,n)&&"constructor"!=n&&e.push(n);return e}function Y(t){if(!Lt(t))return xt(t);var e=wt(t),n=[];for(var r in t)("constructor"!=r||!e&&je.call(t,r))&&n.push(r);return n}function J(t,e,n,r,i){if(t!==e){if(!ln(e)&&!pn(e))var s=Y(e);o(s||e,function(o,a){if(s&&(a=o,o=e[a]),Lt(o))i||(i=new P),X(t,e,a,n,J,r,i);else{var u=r?r(t[a],o,a+"",t,e,i):void 0;void 0===u&&(u=o),R(t,a,u)}})}}function X(t,e,n,r,i,o,s){var a=t[n],u=e[n],c=s.get(u);if(c)return void R(t,n,c);var l=o?o(a,u,n+"",t,e,s):void 0,f=void 0===l;f&&(l=u,ln(u)||pn(u)?ln(a)?l=a:St(a)?l=ut(a):(f=!1,l=H(u,!0)):Pt(u)||kt(u)?kt(a)?l=jt(a):!Lt(a)||r&&At(a)?(f=!1,l=H(u,!0)):l=a:f=!1),f&&(s.set(u,l),i(l,u,r,o,s),s.delete(u)),R(t,n,l)}function Z(t,e){return e=We(void 0===e?t.length-1:e,0),function(){for(var n=arguments,r=-1,o=We(n.length-e,0),s=Array(o);++r<o;)s[r]=n[e+r];r=-1;for(var a=Array(e+1);++r<e;)a[r]=n[r];return a[e]=s,i(t,this,a)}}function tt(t,e){if(e)return t.slice();var n=new t.constructor(t.length);return t.copy(n),n}function et(t){var e=new t.constructor(t.byteLength);return new Re(e).set(new Re(t)),e}function nt(t,e){var n=e?et(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function rt(t,e,r){return a(e?r(f(t),!0):f(t),n,new t.constructor)}function it(t){var e=new t.constructor(t.source,pe.exec(t));return e.lastIndex=t.lastIndex,e}function ot(t,e,n){return a(e?n(d(t),!0):d(t),r,new t.constructor)}function st(t){return an?Object(an.call(t)):{}}function at(t,e){var n=e?et(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function ut(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}function ct(t,e,n,r){n||(n={});for(var i=-1,o=e.length;++i<o;){var s=e[i],a=r?r(n[s],t[s],s,n,t):void 0;F(n,s,void 0===a?t[s]:a)}return n}function lt(t,e){return ct(t,un(t),e)}function ft(t){return G(t,Nt,un)}function pt(t,e){var n=t.__data__;return bt(e)?n["string"==typeof e?"string":"hash"]:n.map}function dt(t,e){var n=c(t,e);return W(n)?n:void 0}function ht(t){var e=t.length,n=t.constructor(e);return e&&"string"==typeof t[0]&&je.call(t,"index")&&(n.index=t.index,n.input=t.input),n}function vt(t){return"function"!=typeof t.constructor||wt(t)?{}:V(Fe(t))}function mt(t,e,n,r){var i=t.constructor;switch(e){case te:return et(t);case qt:case Ht:return new i(+t);case ee:return nt(t,r);case ne:case re:case ie:case oe:case se:case ae:case ue:case ce:case le:return at(t,r);case zt:return rt(t,r,n);case Wt:case Jt:return new i(t);case Qt:return it(t);case Yt:return ot(t,r,n);case Xt:return st(t)}}function gt(t,e){return!!(e=null==e?Ft:e)&&("number"==typeof t||he.test(t))&&t>-1&&t%1==0&&t<e}function yt(t,e,n){if(!Lt(n))return!1;var r=typeof e;return!!("number"==r?$t(n)&&gt(e,n.length):"string"==r&&e in n)&&Ot(n[e],t)}function bt(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}function _t(t){return!!Te&&Te in t}function wt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Ee)}function xt(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}function Ct(t){if(null!=t){try{return Pe.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function Ot(t,e){return t===e||t!==t&&e!==e}function kt(t){return St(t)&&je.call(t,"callee")&&(!qe.call(t,"callee")||Ue.call(t)==Bt)}function $t(t){return null!=t&&Et(t.length)&&!At(t)}function St(t){return Tt(t)&&$t(t)}function At(t){var e=Lt(t)?Ue.call(t):"";return e==Vt||e==Gt}function Et(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=Ft}function Lt(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Tt(t){return!!t&&"object"==typeof t}function Pt(t){if(!Tt(t)||Ue.call(t)!=Kt||l(t))return!1;var e=Fe(t);if(null===e)return!0;var n=je.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&Pe.call(n)==Ne}function jt(t){return ct(t,Ut(t))}function Nt(t){return $t(t)?M(t):Q(t)}function Ut(t){return $t(t)?M(t,!0):Y(t)}function It(){return[]}function Dt(){return!1}var Mt=200,Rt="__lodash_hash_undefined__",Ft=9007199254740991,Bt="[object Arguments]",qt="[object Boolean]",Ht="[object Date]",Vt="[object Function]",Gt="[object GeneratorFunction]",zt="[object Map]",Wt="[object Number]",Kt="[object Object]",Qt="[object RegExp]",Yt="[object Set]",Jt="[object String]",Xt="[object Symbol]",Zt="[object WeakMap]",te="[object ArrayBuffer]",ee="[object DataView]",ne="[object Float32Array]",re="[object Float64Array]",ie="[object Int8Array]",oe="[object Int16Array]",se="[object Int32Array]",ae="[object Uint8Array]",ue="[object Uint8ClampedArray]",ce="[object Uint16Array]",le="[object Uint32Array]",fe=/[\\^$.*+?()[\]{}|]/g,pe=/\w*$/,de=/^\[object .+?Constructor\]$/,he=/^(?:0|[1-9]\d*)$/,ve={};ve[ne]=ve[re]=ve[ie]=ve[oe]=ve[se]=ve[ae]=ve[ue]=ve[ce]=ve[le]=!0,ve[Bt]=ve["[object Array]"]=ve[te]=ve[qt]=ve[ee]=ve[Ht]=ve["[object Error]"]=ve[Vt]=ve[zt]=ve[Wt]=ve[Kt]=ve[Qt]=ve[Yt]=ve[Jt]=ve[Zt]=!1;var ge={};ge[Bt]=ge["[object Array]"]=ge[te]=ge[ee]=ge[qt]=ge[Ht]=ge[ne]=ge[re]=ge[ie]=ge[oe]=ge[se]=ge[zt]=ge[Wt]=ge[Kt]=ge[Qt]=ge[Yt]=ge[Jt]=ge[Xt]=ge[ae]=ge[ue]=ge[ce]=ge[le]=!0,ge["[object Error]"]=ge[Vt]=ge[Zt]=!1;var ye="object"==typeof me&&me&&me.Object===Object&&me,be="object"==typeof self&&self&&self.Object===Object&&self,_e=ye||be||Function("return this")(),we=e&&!e.nodeType&&e,xe=we&&!0&&t&&!t.nodeType&&t,Ce=xe&&xe.exports===we,Oe=Ce&&ye.process,ke=function(){try{return Oe&&Oe.binding("util")}catch(t){}}(),$e=ke&&ke.isTypedArray,Se=Array.prototype,Ae=Function.prototype,Ee=Object.prototype,Le=_e["__core-js_shared__"],Te=function(){var t=/[^.]+$/.exec(Le&&Le.keys&&Le.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),Pe=Ae.toString,je=Ee.hasOwnProperty,Ne=Pe.call(Object),Ue=Ee.toString,Ie=RegExp("^"+Pe.call(je).replace(fe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),De=Ce?_e.Buffer:void 0,Me=_e.Symbol,Re=_e.Uint8Array,Fe=p(Object.getPrototypeOf,Object),Be=Object.create,qe=Ee.propertyIsEnumerable,He=Se.splice,Ve=Object.getOwnPropertySymbols,Ge=De?De.isBuffer:void 0,ze=p(Object.keys,Object),We=Math.max,Ke=dt(_e,"DataView"),Qe=dt(_e,"Map"),Ye=dt(_e,"Promise"),Je=dt(_e,"Set"),Xe=dt(_e,"WeakMap"),Ze=dt(Object,"create"),tn=Ct(Ke),en=Ct(Qe),nn=Ct(Ye),rn=Ct(Je),on=Ct(Xe),sn=Me?Me.prototype:void 0,an=sn?sn.valueOf:void 0;h.prototype.clear=v,h.prototype.delete=m,h.prototype.get=g,h.prototype.has=y,h.prototype.set=b,_.prototype.clear=w,_.prototype.delete=x,_.prototype.get=C,_.prototype.has=O,_.prototype.set=k,$.prototype.clear=S,$.prototype.delete=A,$.prototype.get=E,$.prototype.has=L,$.prototype.set=T,P.prototype.clear=j,P.prototype.delete=N,P.prototype.get=U,P.prototype.has=I,P.prototype.set=D;var un=Ve?p(Ve,Object):It,cn=z;(Ke&&cn(new Ke(new ArrayBuffer(1)))!=ee||Qe&&cn(new Qe)!=zt||Ye&&"[object Promise]"!=cn(Ye.resolve())||Je&&cn(new Je)!=Yt||Xe&&cn(new Xe)!=Zt)&&(cn=function(t){var e=Ue.call(t),n=e==Kt?t.constructor:void 0,r=n?Ct(n):void 0;if(r)switch(r){case tn:return ee;case en:return zt;case nn:return"[object Promise]";case rn:return Yt;case on:return Zt}return e});var ln=Array.isArray,fn=Ge||Dt,pn=$e?function(t){return function(e){return t(e)}}($e):K,dn=function(t){return Z(function(e,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=t.length>3&&"function"==typeof o?(i--,o):void 0,s&&yt(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),e=Object(e);++r<i;){var a=n[r];a&&t(e,a,r,o)}return e})}(function(t,e,n){J(t,e,n)});t.exports=dn}),ye={install:Et,get enabled(){return ie.enabled},set enabled(t){ie.enabled=t}},be=null;"undefined"!=typeof window?be=window.Vue:void 0!==t&&(be=t.Vue),be&&be.use(ye),e.a=ye}).call(e,n(3))},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"row",class:{disabled:t.loading.delete||t.loading.disable}},[n("div",{staticClass:"avatar",class:{"icon-loading-small":t.loading.delete||t.loading.disable}},[t.loading.delete||t.loading.disable?t._e():n("img",{attrs:{alt:"",width:"32",height:"32",src:t.generateAvatar(t.user.id,32),srcset:t.generateAvatar(t.user.id,64)+" 2x, "+t.generateAvatar(t.user.id,128)+" 4x"}})]),t._v(" "),n("div",{staticClass:"name"},[t._v(t._s(t.user.id))]),t._v(" "),n("form",{staticClass:"displayName",class:{"icon-loading-small":t.loading.displayName},on:{submit:function(e){return e.preventDefault(),t.updateDisplayName(e)}}},[n("input",{ref:"displayName",attrs:{id:"displayName"+t.user.id+t.rand,type:"text",disabled:t.loading.displayName||t.loading.all,autocomplete:"new-password",autocorrect:"off",autocapitalize:"off",spellcheck:"false"},domProps:{value:t.user.displayname}}),t._v(" "),n("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}})]),t._v(" "),t.settings.canChangePassword?n("form",{staticClass:"password",class:{"icon-loading-small":t.loading.password},on:{submit:function(e){return e.preventDefault(),t.updatePassword(e)}}},[n("input",{ref:"password",attrs:{id:"password"+t.user.id+t.rand,type:"password",required:"",disabled:t.loading.password||t.loading.all,minlength:t.minPasswordLength,value:"",placeholder:t.t("settings","New password"),autocomplete:"new-password",autocorrect:"off",autocapitalize:"off",spellcheck:"false"}}),t._v(" "),n("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}})]):n("div"),t._v(" "),n("form",{staticClass:"mailAddress",class:{"icon-loading-small":t.loading.mailAddress},on:{submit:function(e){return e.preventDefault(),t.updateEmail(e)}}},[n("input",{ref:"mailAddress",attrs:{id:"mailAddress"+t.user.id+t.rand,type:"email",disabled:t.loading.mailAddress||t.loading.all,autocomplete:"new-password",autocorrect:"off",autocapitalize:"off",spellcheck:"false"},domProps:{value:t.user.email}}),t._v(" "),n("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}})]),t._v(" "),n("div",{staticClass:"groups",class:{"icon-loading-small":t.loading.groups}},[n("multiselect",{staticClass:"multiselect-vue",attrs:{value:t.userGroups,options:t.groups,disabled:t.loading.groups||t.loading.all,"tag-placeholder":"create",placeholder:t.t("settings","Add user in group"),label:"name","track-by":"id",limit:2,limitText:t.limitGroups,multiple:!0,taggable:!0,closeOnSelect:!1},on:{tag:t.createGroup,select:t.addUserGroup,remove:t.removeUserGroup}})],1),t._v(" "),t.subAdminsGroups.length>0?n("div",{staticClass:"subadmins",class:{"icon-loading-small":t.loading.subadmins}},[n("multiselect",{staticClass:"multiselect-vue",attrs:{value:t.userSubAdminsGroups,options:t.subAdminsGroups,disabled:t.loading.subadmins||t.loading.all,placeholder:t.t("settings","Set user as admin for"),label:"name","track-by":"id",limit:2,limitText:t.limitGroups,multiple:!0,closeOnSelect:!1},on:{select:t.addUserSubAdmin,remove:t.removeUserSubAdmin}},[n("span",{attrs:{slot:"noResult"},slot:"noResult"},[t._v(t._s(t.t("settings","No result")))])])],1):t._e(),t._v(" "),n("div",{staticClass:"quota",class:{"icon-loading-small":t.loading.quota}},[n("multiselect",{staticClass:"multiselect-vue",attrs:{value:t.userQuota,options:t.quotaOptions,disabled:t.loading.quota||t.loading.all,"tag-placeholder":"create",placeholder:t.t("settings","Select user quota"),label:"label","track-by":"id",allowEmpty:!1,taggable:!0},on:{tag:t.validateQuota,input:t.setUserQuota}}),t._v(" "),n("progress",{staticClass:"quota-user-progress",class:{warn:t.usedQuota>80},attrs:{max:"100"},domProps:{value:t.usedQuota}})],1),t._v(" "),t.showConfig.showLanguages?n("div",{staticClass:"languages",class:{"icon-loading-small":t.loading.languages}},[n("multiselect",{staticClass:"multiselect-vue",attrs:{value:t.userLanguage,options:t.languages,disabled:t.loading.languages||t.loading.all,placeholder:t.t("settings","No language set"),label:"name","track-by":"code",allowEmpty:!1,"group-values":"languages","group-label":"label"},on:{input:t.setUserLanguage}})],1):t._e(),t._v(" "),t.showConfig.showStoragePath?n("div",{staticClass:"storageLocation"},[t._v(t._s(t.user.storageLocation))]):t._e(),t._v(" "),t.showConfig.showUserBackend?n("div",{staticClass:"userBackend"},[t._v(t._s(t.user.backend))]):t._e(),t._v(" "),t.showConfig.showLastLogin?n("div",{directives:[{name:"tooltip",rawName:"v-tooltip.auto",value:t.user.lastLogin>0?t.OC.Util.formatDate(t.user.lastLogin):"",expression:"user.lastLogin>0 ? OC.Util.formatDate(user.lastLogin) : ''",modifiers:{auto:!0}}],staticClass:"lastLogin"},[t._v("\n\t\t"+t._s(t.user.lastLogin>0?t.OC.Util.relativeModifiedDate(t.user.lastLogin):t.t("settings","Never"))+"\n\t")]):t._e(),t._v(" "),n("div",{staticClass:"userActions"},[t.OC.currentUser===t.user.id||"admin"===t.user.id||t.loading.all?t._e():n("div",{staticClass:"toggleUserActions"},[n("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:t.hideMenu,expression:"hideMenu"}],staticClass:"icon-more",on:{click:t.toggleMenu}}),t._v(" "),n("div",{staticClass:"popovermenu",class:{open:t.openedMenu}},[n("popover-menu",{attrs:{menu:t.userActions}})],1)])])])},i=[],o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){!function(e,n){t.exports=n()}("undefined"!=typeof self&&self,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=3)}([function(t,e){function n(t,e){var n=t[1]||"",i=t[3];if(!i)return n;if(e&&"function"==typeof btoa){var o=r(i);return[n].concat(i.sources.map(function(t){return"/*# sourceURL="+i.sourceRoot+t+" */"})).concat([o]).join("\n")}return[n].join("\n")}function r(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var r=n(e,t);return e[2]?"@media "+e[2]+"{"+r+"}":r}).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var r={},i=0;i<this.length;i++){var o=this[i][0];"number"==typeof o&&(r[o]=!0)}for(i=0;i<t.length;i++){var s=t[i];"number"==typeof s[0]&&r[s[0]]||(n&&!s[2]?s[2]=n:n&&(s[2]="("+s[2]+") and ("+n+")"),e.push(s))}},e}},function(t,e,n){function r(t){for(var e=0;e<t.length;e++){var n=t[e],r=l[n.id];if(r){r.refs++;for(var i=0;i<r.parts.length;i++)r.parts[i](n.parts[i]);for(;i<n.parts.length;i++)r.parts.push(o(n.parts[i]));r.parts.length>n.parts.length&&(r.parts.length=n.parts.length)}else{for(var s=[],i=0;i<n.parts.length;i++)s.push(o(n.parts[i]));l[n.id]={id:n.id,refs:1,parts:s}}}}function i(){var t=document.createElement("style");return t.type="text/css",f.appendChild(t),t}function o(t){var e,n,r=document.querySelector('style[data-vue-ssr-id~="'+t.id+'"]');if(r){if(h)return v;r.parentNode.removeChild(r)}if(m){var o=d++;r=p||(p=i()),e=s.bind(null,r,o,!1),n=s.bind(null,r,o,!0)}else r=i(),e=a.bind(null,r),n=function(){r.parentNode.removeChild(r)};return e(t),function(r){if(r){if(r.css===t.css&&r.media===t.media&&r.sourceMap===t.sourceMap)return;e(t=r)}else n()}}function s(t,e,n,r){var i=n?"":r.css;if(t.styleSheet)t.styleSheet.cssText=g(e,i);else{var o=document.createTextNode(i),s=t.childNodes;s[e]&&t.removeChild(s[e]),s.length?t.insertBefore(o,s[e]):t.appendChild(o)}}function a(t,e){var n=e.css,r=e.media,i=e.sourceMap;if(r&&t.setAttribute("media",r),i&&(n+="\n/*# sourceURL="+i.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}var u="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!u)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var c=n(7),l={},f=u&&(document.head||document.getElementsByTagName("head")[0]),p=null,d=0,h=!1,v=function(){},m="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());t.exports=function(t,e,n){h=n;var i=c(t,e);return r(i),function(e){for(var n=[],o=0;o<i.length;o++){var s=i[o],a=l[s.id];a.refs--,n.push(a)}e?(i=c(t,e),r(i)):i=[];for(var o=0;o<n.length;o++){var a=n[o];if(0===a.refs){for(var u=0;u<a.parts.length;u++)a.parts[u]();delete l[a.id]}}}};var g=function(){var t=[];return function(e,n){return t[e]=n,t.filter(Boolean).join("\n")}}()},function(t,e){t.exports=function(t,e,n,r,i,o){var s,a=t=t||{},u=typeof t.default;"object"!==u&&"function"!==u||(s=t,a=t.default);var c="function"==typeof a?a.options:a;e&&(c.render=e.render,c.staticRenderFns=e.staticRenderFns,c._compiled=!0),n&&(c.functional=!0),i&&(c._scopeId=i);var l;if(o?(l=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},c._ssrRegister=l):r&&(l=r),l){var f=c.functional,p=f?c.render:c.beforeCreate;f?(c._injectStyles=l,c.render=function(t,e){return l.call(e),p(t,e)}):c.beforeCreate=p?[].concat(p,l):[l]}return{esModule:s,exports:a,options:c}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4);e.default=r.a,"undefined"!=typeof window&&window.Vue&&window.Vue.component("infinite-loading",r.a)},function(t,e,n){"use strict";function r(t){n(5)}var i=n(8),o=n(14),s=n(2),a=r,u=s(i.a,o.a,!1,a,"data-v-fb2c869e",null);e.a=u.exports},function(t,e,n){var r=n(6);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("2249d7a7",r,!0)},function(t,e,n){e=t.exports=n(0)(void 0),e.push([t.i,".infinite-loading-container[data-v-fb2c869e]{clear:both;text-align:center}.infinite-loading-container[data-v-fb2c869e] [class^=loading-]{display:inline-block;margin:15px 0;width:28px;height:28px;font-size:28px;line-height:28px;border-radius:50%}.infinite-status-prompt[data-v-fb2c869e]{color:#666;font-size:14px;text-align:center;padding:10px 0}",""])},function(t,e){t.exports=function(t,e){for(var n=[],r={},i=0;i<e.length;i++){var o=e[i],s=o[0],a=o[1],u=o[2],c=o[3],l={id:t+":"+i,css:a,media:u,sourceMap:c};r[s]?r[s].parts.push(l):n.push(r[s]={id:s,parts:[l]})}return n}},function(t,e,n){"use strict";var r=n(9),i={STATE_CHANGER:["[Vue-infinite-loading warn]: emit `loaded` and `complete` event through component instance of `$refs` may cause error, so it will be deprecated soon, please use the `$state` argument instead (`$state` just the special `$event` variable):","\ntemplate:",'<infinite-loading @infinite="infiniteHandler"></infinite-loading>',"\nscript:\n...\ninfiniteHandler($state) {\n ajax('https://www.example.com/api/news')\n .then((res) => {\n if (res.data.length) {\n $state.loaded();\n } else {\n $state.complete();\n }\n });\n}\n...","","more details: https://github.com/PeachScript/vue-infinite-loading/issues/57#issuecomment-324370549"].join("\n"),INFINITE_EVENT:"[Vue-infinite-loading warn]: `:on-infinite` property will be deprecated soon, please use `@infinite` event instead."},o={INFINITE_LOOP:["[Vue-infinite-loading error]: executed the callback function more than 10 times for a short time, it looks like searched a wrong scroll wrapper that doest not has fixed height or maximum height, please check it. If you want to force to set a element as scroll wrapper ranther than automatic searching, you can do this:",'\n\x3c!-- add a special attribute for the real scroll wrapper --\x3e\n<div infinite-wrapper>\n ...\n \x3c!-- set force-use-infinite-wrapper to true --\x3e\n <infinite-loading force-use-infinite-wrapper="true"></infinite-loading>\n</div>\n ',"more details: https://github.com/PeachScript/vue-infinite-loading/issues/55#issuecomment-316934169"].join("\n")};e.a={name:"InfiniteLoading",data:function(){return{scrollParent:null,scrollHandler:null,isLoading:!1,isComplete:!1,isFirstLoad:!0,debounceTimer:null,debounceDuration:50,infiniteLoopChecked:!1,infiniteLoopTimer:null,continuousCallTimes:0}},components:{Spinner:r.a},computed:{isNoResults:{cache:!1,get:function(){var t=this.$slots["no-results"],e=t&&t[0].elm&&""===t[0].elm.textContent;return!this.isLoading&&this.isComplete&&this.isFirstLoad&&!e}},isNoMore:{cache:!1,get:function(){var t=this.$slots["no-more"],e=t&&t[0].elm&&""===t[0].elm.textContent;return!this.isLoading&&this.isComplete&&!this.isFirstLoad&&!e}}},props:{distance:{type:Number,default:100},onInfinite:Function,spinner:String,direction:{type:String,default:"bottom"},forceUseInfiniteWrapper:null},mounted:function(){var t=this;this.scrollParent=this.getScrollParent(),this.scrollHandler=function(t){this.isLoading||(clearTimeout(this.debounceTimer),t&&t.constructor===Event?this.debounceTimer=setTimeout(this.attemptLoad,this.debounceDuration):this.attemptLoad())}.bind(this),setTimeout(this.scrollHandler,1),this.scrollParent.addEventListener("scroll",this.scrollHandler),this.$on("$InfiniteLoading:loaded",function(e){t.isFirstLoad=!1,t.isLoading&&t.$nextTick(t.attemptLoad.bind(null,!0)),e&&e.target===t||console.warn(i.STATE_CHANGER)}),this.$on("$InfiniteLoading:complete",function(e){t.isLoading=!1,t.isComplete=!0,t.$nextTick(function(){t.$forceUpdate()}),t.scrollParent.removeEventListener("scroll",t.scrollHandler),e&&e.target===t||console.warn(i.STATE_CHANGER)}),this.$on("$InfiniteLoading:reset",function(){t.isLoading=!1,t.isComplete=!1,t.isFirstLoad=!0,t.scrollParent.addEventListener("scroll",t.scrollHandler),setTimeout(t.scrollHandler,1)}),this.onInfinite&&console.warn(i.INFINITE_EVENT),this.stateChanger={loaded:function(){t.$emit("$InfiniteLoading:loaded",{target:t})},complete:function(){t.$emit("$InfiniteLoading:complete",{target:t})},reset:function(){t.$emit("$InfiniteLoading:reset",{target:t})}},this.$watch("forceUseInfiniteWrapper",function(){t.scrollParent=t.getScrollParent()})},deactivated:function(){this.isLoading=!1,this.scrollParent.removeEventListener("scroll",this.scrollHandler)},activated:function(){this.scrollParent.addEventListener("scroll",this.scrollHandler)},methods:{attemptLoad:function(t){var e=this,n=this.getCurrentDistance();!this.isComplete&&n<=this.distance&&this.$el.offsetWidth+this.$el.offsetHeight>0?(this.isLoading=!0,"function"==typeof this.onInfinite?this.onInfinite.call(null,this.stateChanger):this.$emit("infinite",this.stateChanger),!t||this.forceUseInfiniteWrapper||this.infiniteLoopChecked||(this.continuousCallTimes+=1,clearTimeout(this.infiniteLoopTimer),this.infiniteLoopTimer=setTimeout(function(){e.infiniteLoopChecked=!0},1e3),this.continuousCallTimes>10&&(console.error(o.INFINITE_LOOP),this.infiniteLoopChecked=!0))):this.isLoading=!1},getCurrentDistance:function(){return"top"===this.direction?isNaN(this.scrollParent.scrollTop)?this.scrollParent.pageYOffset:this.scrollParent.scrollTop:this.$el.getBoundingClientRect().top-(this.scrollParent===window?window.innerHeight:this.scrollParent.getBoundingClientRect().bottom)},getScrollParent:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.$el,e=void 0;return"BODY"===t.tagName?e=window:!this.forceUseInfiniteWrapper&&["scroll","auto"].indexOf(getComputedStyle(t).overflowY)>-1?e=t:(t.hasAttribute("infinite-wrapper")||t.hasAttribute("data-infinite-wrapper"))&&(e=t),e||this.getScrollParent(t.parentNode)}},destroyed:function(){this.isComplete||this.scrollParent.removeEventListener("scroll",this.scrollHandler)}}},function(t,e,n){"use strict";function r(t){n(10)}var i=n(12),o=n(13),s=n(2),a=r,u=s(i.a,o.a,!1,a,"data-v-6e1fd88f",null);e.a=u.exports},function(t,e,n){var r=n(11);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("29881045",r,!0)},function(t,e,n){e=t.exports=n(0)(void 0),e.push([t.i,'.loading-wave-dots[data-v-6e1fd88f]{position:relative}.loading-wave-dots[data-v-6e1fd88f] .wave-item{position:absolute;top:50%;left:50%;display:inline-block;margin-top:-4px;width:8px;height:8px;border-radius:50%;-webkit-animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite;animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite}.loading-wave-dots[data-v-6e1fd88f] .wave-item:first-child{margin-left:-36px}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(2){margin-left:-20px;-webkit-animation-delay:.14s;animation-delay:.14s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(3){margin-left:-4px;-webkit-animation-delay:.28s;animation-delay:.28s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(4){margin-left:12px;-webkit-animation-delay:.42s;animation-delay:.42s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:last-child{margin-left:28px;-webkit-animation-delay:.56s;animation-delay:.56s}@-webkit-keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}@keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}.loading-circles[data-v-6e1fd88f] .circle-item{width:5px;height:5px;-webkit-animation:loading-circles-data-v-6e1fd88f linear .75s infinite;animation:loading-circles-data-v-6e1fd88f linear .75s infinite}.loading-circles[data-v-6e1fd88f] .circle-item:first-child{margin-top:-14.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){margin-top:-11.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){margin-top:-2.5px;margin-left:9.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){margin-top:6.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){margin-top:9.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){margin-top:6.26px;margin-left:-11.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){margin-top:-2.5px;margin-left:-14.5px}.loading-circles[data-v-6e1fd88f] .circle-item:last-child{margin-top:-11.26px;margin-left:-11.26px}@-webkit-keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}@keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}.loading-bubbles[data-v-6e1fd88f] .bubble-item{background:#666;-webkit-animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite;animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite}.loading-bubbles[data-v-6e1fd88f] .bubble-item:first-child{margin-top:-12.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2){margin-top:-9.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3){margin-top:-.5px;margin-left:11.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4){margin-top:8.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5){margin-top:11.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6){margin-top:8.26px;margin-left:-9.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7){margin-top:-.5px;margin-left:-12.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child{margin-top:-9.26px;margin-left:-9.26px}@-webkit-keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}@keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}.loading-default[data-v-6e1fd88f]{position:relative;border:1px solid #999;-webkit-animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite;animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite}.loading-default[data-v-6e1fd88f]:before{content:"";position:absolute;display:block;top:0;left:50%;margin-top:-3px;margin-left:-3px;width:6px;height:6px;background-color:#999;border-radius:50%}.loading-spiral[data-v-6e1fd88f]{border:2px solid #777;border-right-color:transparent;-webkit-animation:loading-rotating-data-v-6e1fd88f linear .85s infinite;animation:loading-rotating-data-v-6e1fd88f linear .85s infinite}@-webkit-keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-bubbles[data-v-6e1fd88f],.loading-circles[data-v-6e1fd88f]{position:relative}.loading-bubbles[data-v-6e1fd88f] .bubble-item,.loading-circles[data-v-6e1fd88f] .circle-item{position:absolute;top:50%;left:50%;display:inline-block;border-radius:50%}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){-webkit-animation-delay:93ms;animation-delay:93ms}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){-webkit-animation-delay:.186s;animation-delay:.186s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){-webkit-animation-delay:.279s;animation-delay:.279s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){-webkit-animation-delay:.372s;animation-delay:.372s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){-webkit-animation-delay:.465s;animation-delay:.465s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){-webkit-animation-delay:.558s;animation-delay:.558s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child,.loading-circles[data-v-6e1fd88f] .circle-item:last-child{-webkit-animation-delay:.651s;animation-delay:.651s}',""])},function(t,e,n){"use strict";var r={BUBBLES:{render:function(t){return t("span",{attrs:{class:"loading-bubbles"}},Array.apply(Array,Array(8)).map(function(){return t("span",{attrs:{class:"bubble-item"}})}))}},CIRCLES:{render:function(t){return t("span",{attrs:{class:"loading-circles"}},Array.apply(Array,Array(8)).map(function(){return t("span",{attrs:{class:"circle-item"}})}))}},DEFAULT:{render:function(t){return t("i",{attrs:{class:"loading-default"}})}},SPIRAL:{render:function(t){return t("i",{attrs:{class:"loading-spiral"}})}},WAVEDOTS:{render:function(t){return t("span",{attrs:{class:"loading-wave-dots"}},Array.apply(Array,Array(5)).map(function(){return t("span",{attrs:{class:"wave-item"}})}))}}};e.a={name:"spinner",computed:{spinnerView:function(){return r[(this.spinner||"").toUpperCase()]||r.DEFAULT}},props:{spinner:String}}},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement;return(t._self._c||e)(t.spinnerView,{tag:"component"})},i=[],o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"infinite-loading-container"},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.isLoading,expression:"isLoading"}]},[t._t("spinner",[n("spinner",{attrs:{spinner:t.spinner}})])],2),t._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:t.isNoResults,expression:"isNoResults"}],staticClass:"infinite-status-prompt"},[t._t("no-results",[t._v("No results :(")])],2),t._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:t.isNoMore,expression:"isNoMore"}],staticClass:"infinite-status-prompt"},[t._t("no-more",[t._v("No more data :)")])],2)])},i=[],o={render:r,staticRenderFns:i};e.a=o}])})},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"user-list-grid",attrs:{id:"app-content"},on:{"&scroll":function(e){return t.onScroll(e)}}},[n("div",{staticClass:"row",class:{sticky:t.scrolled&&!t.showConfig.showNewUserForm},attrs:{id:"grid-header"}},[n("div",{staticClass:"avatar",attrs:{id:"headerAvatar"}}),t._v(" "),n("div",{staticClass:"name",attrs:{id:"headerName"}},[t._v(t._s(t.t("settings","Username")))]),t._v(" "),n("div",{staticClass:"displayName",attrs:{id:"headerDisplayName"}},[t._v(t._s(t.t("settings","Full name")))]),t._v(" "),n("div",{staticClass:"password",attrs:{id:"headerPassword"}},[t._v(t._s(t.t("settings","Password")))]),t._v(" "),n("div",{staticClass:"mailAddress",attrs:{id:"headerAddress"}},[t._v(t._s(t.t("settings","Email")))]),t._v(" "),n("div",{staticClass:"groups",attrs:{id:"headerGroups"}},[t._v(t._s(t.t("settings","Groups")))]),t._v(" "),t.subAdminsGroups.length>0?n("div",{staticClass:"subadmins",attrs:{id:"headerSubAdmins"}},[t._v(t._s(t.t("settings","Group admin for")))]):t._e(),t._v(" "),n("div",{staticClass:"quota",attrs:{id:"headerQuota"}},[t._v(t._s(t.t("settings","Quota")))]),t._v(" "),t.showConfig.showLanguages?n("div",{staticClass:"languages",attrs:{id:"headerLanguages"}},[t._v(t._s(t.t("settings","Languages")))]):t._e(),t._v(" "),t.showConfig.showStoragePath?n("div",{staticClass:"headerStorageLocation storageLocation"},[t._v(t._s(t.t("settings","Storage location")))]):t._e(),t._v(" "),t.showConfig.showUserBackend?n("div",{staticClass:"headerUserBackend userBackend"},[t._v(t._s(t.t("settings","User backend")))]):t._e(),t._v(" "),t.showConfig.showLastLogin?n("div",{staticClass:"headerLastLogin lastLogin"},[t._v(t._s(t.t("settings","Last login")))]):t._e(),t._v(" "),n("div",{staticClass:"userActions"})]),t._v(" "),n("form",{directives:[{name:"show",rawName:"v-show",value:t.showConfig.showNewUserForm,expression:"showConfig.showNewUserForm"}],staticClass:"row",class:{sticky:t.scrolled&&t.showConfig.showNewUserForm},attrs:{id:"new-user",disabled:t.loading},on:{submit:function(e){return e.preventDefault(),t.createUser(e)}}},[n("div",{class:t.loading?"icon-loading-small":"icon-add"}),t._v(" "),n("div",{staticClass:"name"},[n("input",{directives:[{name:"model",rawName:"v-model",value:t.newUser.id,expression:"newUser.id"}],attrs:{id:"newusername",type:"text",required:"",placeholder:t.t("settings","User name"),name:"username",autocomplete:"off",autocapitalize:"none",autocorrect:"off",pattern:"[a-zA-Z0-9 _\\.@\\-']+"},domProps:{value:t.newUser.id},on:{input:function(e){e.target.composing||t.$set(t.newUser,"id",e.target.value)}}})]),t._v(" "),n("div",{staticClass:"displayName"},[n("input",{directives:[{name:"model",rawName:"v-model",value:t.newUser.displayName,expression:"newUser.displayName"}],attrs:{id:"newdisplayname",type:"text",placeholder:t.t("settings","Display name"),name:"displayname",autocomplete:"off",autocapitalize:"none",autocorrect:"off"},domProps:{value:t.newUser.displayName},on:{input:function(e){e.target.composing||t.$set(t.newUser,"displayName",e.target.value)}}})]),t._v(" "),n("div",{staticClass:"password"},[n("input",{directives:[{name:"model",rawName:"v-model",value:t.newUser.password,expression:"newUser.password"}],attrs:{id:"newuserpassword",type:"password",required:""===t.newUser.mailAddress,placeholder:t.t("settings","Password"),name:"password",autocomplete:"new-password",autocapitalize:"none",autocorrect:"off",minlength:t.minPasswordLength},domProps:{value:t.newUser.password},on:{input:function(e){e.target.composing||t.$set(t.newUser,"password",e.target.value)}}})]),t._v(" "),n("div",{staticClass:"mailAddress"},[n("input",{directives:[{name:"model",rawName:"v-model",value:t.newUser.mailAddress,expression:"newUser.mailAddress"}],attrs:{id:"newemail",type:"email",required:""===t.newUser.password,placeholder:t.t("settings","Mail address"),name:"email",autocomplete:"off",autocapitalize:"none",autocorrect:"off"},domProps:{value:t.newUser.mailAddress},on:{input:function(e){e.target.composing||t.$set(t.newUser,"mailAddress",e.target.value)}}})]),t._v(" "),n("div",{staticClass:"groups"},[n("multiselect",{staticClass:"multiselect-vue",attrs:{options:t.groups,placeholder:t.t("settings","Add user in group"),label:"name","track-by":"id",multiple:!0,"close-on-select":!1},model:{value:t.newUser.groups,callback:function(e){t.$set(t.newUser,"groups",e)},expression:"newUser.groups"}},[n("span",{attrs:{slot:"noResult"},slot:"noResult"},[t._v(t._s(t.t("settings","No result")))])])],1),t._v(" "),t.subAdminsGroups.length>0?n("div",{staticClass:"subadmins"},[n("multiselect",{staticClass:"multiselect-vue",attrs:{options:t.subAdminsGroups,placeholder:t.t("settings","Set user as admin for"),label:"name","track-by":"id",multiple:!0,"close-on-select":!1},model:{value:t.newUser.subAdminsGroups,callback:function(e){t.$set(t.newUser,"subAdminsGroups",e)},expression:"newUser.subAdminsGroups"}},[n("span",{attrs:{slot:"noResult"},slot:"noResult"},[t._v(t._s(t.t("settings","No result")))])])],1):t._e(),t._v(" "),n("div",{staticClass:"quota"},[n("multiselect",{staticClass:"multiselect-vue",attrs:{options:t.quotaOptions,placeholder:t.t("settings","Select user quota"),label:"label","track-by":"id",allowEmpty:!1,taggable:!0},on:{tag:t.validateQuota},model:{value:t.newUser.quota,callback:function(e){t.$set(t.newUser,"quota",e)},expression:"newUser.quota"}})],1),t._v(" "),t.showConfig.showLanguages?n("div",{staticClass:"languages"},[n("multiselect",{staticClass:"multiselect-vue",attrs:{options:t.languages,placeholder:t.t("settings","Default language"),label:"name","track-by":"code",allowEmpty:!1,"group-values":"languages","group-label":"label"},model:{value:t.newUser.language,callback:function(e){t.$set(t.newUser,"language",e)},expression:"newUser.language"}})],1):t._e(),t._v(" "),t.showConfig.showStoragePath?n("div",{staticClass:"storageLocation"}):t._e(),t._v(" "),t.showConfig.showUserBackend?n("div",{staticClass:"userBackend"}):t._e(),t._v(" "),t.showConfig.showLastLogin?n("div",{staticClass:"lastLogin"}):t._e(),t._v(" "),n("div",{staticClass:"userActions"},[n("input",{staticClass:"button primary icon-checkmark-white has-tooltip",attrs:{type:"submit",id:"newsubmit",value:"",title:t.t("settings","Add a new user")}}),t._v(" "),n("input",{staticClass:"button icon-close has-tooltip",attrs:{type:"reset",id:"newreset",value:"",title:t.t("settings","Cancel and reset the form")},on:{click:t.resetForm}})])]),t._v(" "),t._l(t.filteredUsers,function(e,r){return n("user-row",{key:r,attrs:{user:e,settings:t.settings,showConfig:t.showConfig,groups:t.groups,subAdminsGroups:t.subAdminsGroups,quotaOptions:t.quotaOptions,languages:t.languages}})}),t._v(" "),n("infinite-loading",{ref:"infiniteLoading",on:{infinite:t.infiniteHandler}},[n("div",{attrs:{slot:"spinner"},slot:"spinner"},[n("div",{staticClass:"users-icon-loading icon-loading"})]),t._v(" "),n("div",{attrs:{slot:"no-more"},slot:"no-more"},[n("div",{staticClass:"users-list-end"},[t._v("— "+t._s(t.t("settings","no more results"))+" —")])]),t._v(" "),n("div",{attrs:{slot:"no-results"},slot:"no-results"},[n("div",{attrs:{id:"emptycontent"}},[n("div",{staticClass:"icon-contacts-dark"}),t._v(" "),n("h2",[t._v(t._s(t.t("settings","No users in here")))])])])])],2)},i=[],o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){(function(e){/**
* vue-local-storage v0.6.0
* (c) 2017 Alexander Avakov
* @license MIT
diff --git a/settings/js/main.js.map b/settings/js/main.js.map
index 3b36884506d..4d397dfe4a0 100644
--- a/settings/js/main.js.map
+++ b/settings/js/main.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///main.js","webpack:///webpack/bootstrap b8546a71c6ffaf0c9d5e","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/vue-loader/lib/component-normalizer.js","webpack:///./node_modules/vue/dist/vue.esm.js","webpack:///(webpack)/buildin/global.js","webpack:///./src/store/api.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/vue-multiselect/dist/vue-multiselect.min.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///src/App.vue","webpack:///src/views/Users.vue","webpack:///src/components/appNavigation.vue","webpack:///src/components/appNavigation/navigationItem.vue","webpack:///./src/components/popoverMenu.vue","webpack:///src/components/popoverMenu.vue","webpack:///src/components/popoverMenu/popoverItem.vue","webpack:///./node_modules/vue-click-outside/index.js","webpack:///src/components/userList.vue","webpack:///src/components/userList/userRow.vue","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./src/main.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/vuex-router-sync/index.js","webpack:///./src/App.vue","webpack:///./src/App.vue?e64a","webpack:///./src/router.js","webpack:///./node_modules/vue-router/dist/vue-router.esm.js","webpack:///./src/views/Users.vue","webpack:///./src/components/appNavigation.vue","webpack:///./src/components/appNavigation/navigationItem.vue","webpack:///./src/components/popoverMenu/popoverItem.vue","webpack:///./src/components/popoverMenu/popoverItem.vue?c1f4","webpack:///./src/components/popoverMenu.vue?a46a","webpack:///./src/components/appNavigation/navigationItem.vue?1725","webpack:///./src/components/appNavigation.vue?d750","webpack:///./src/components/userList.vue","webpack:///./src/components/userList/userRow.vue","webpack:///./node_modules/v-tooltip/dist/v-tooltip.esm.js","webpack:///./src/components/userList/userRow.vue?208d","webpack:///./node_modules/vue-infinite-loading/dist/vue-infinite-loading.js","webpack:///./src/components/userList.vue?d95d","webpack:///./node_modules/vue-localstorage/dist/vue-local-storage.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/is-buffer/index.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/axios/lib/helpers/btoa.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./src/views/Users.vue?9f98","webpack:///./src/store/index.js","webpack:///./node_modules/vuex/dist/vuex.esm.js","webpack:///./src/store/users.js","webpack:///./src/store/settings.js","webpack:///./src/store/oc.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","isArray","val","toString","isArrayBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isUndefined","isObject","isDate","isFile","isBlob","isFunction","isStream","pipe","isURLSearchParams","URLSearchParams","trim","str","replace","isStandardBrowserEnv","navigator","product","window","document","forEach","obj","fn","length","key","merge","assignValue","result","arguments","extend","a","b","thisArg","bind","isBuffer","rawScriptExports","compiledTemplate","functionalTemplate","injectStyles","scopeId","moduleIdentifier","esModule","scriptExports","type","default","options","render","staticRenderFns","_compiled","functional","_scopeId","hook","context","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","existing","beforeCreate","_injectStyles","h","concat","__webpack_exports__","global","setImmediate","isUndef","v","undefined","isDef","isTrue","isFalse","isPrimitive","value","isPlainObject","_toString","isRegExp","isValidArrayIndex","parseFloat","String","Math","floor","isFinite","JSON","stringify","toNumber","isNaN","makeMap","expectsLowerCase","map","create","list","split","toLowerCase","remove","arr","item","index","indexOf","splice","hasOwn","cached","cache","polyfillBind","ctx","boundFn","apply","_length","nativeBind","toArray","start","ret","Array","to","_from","toObject","res","noop","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","e","keysA","keys","keysB","looseIndexOf","once","called","isReserved","charCodeAt","def","writable","parsePath","path","bailRE","test","segments","isNative","Ctor","pushTarget","_target","Dep","target","targetStack","push","popTarget","pop","createTextVNode","VNode","cloneVNode","vnode","cloned","tag","data","children","text","elm","componentOptions","asyncFactory","ns","isStatic","isComment","fnContext","fnOptions","fnScopeId","isCloned","toggleObserving","shouldObserve","protoAugment","src","__proto__","copyAugment","observe","asRootData","ob","__ob__","Observer","isServerRendering","isExtensible","_isVue","vmCount","defineReactive","customSetter","shallow","dep","getOwnPropertyDescriptor","setter","set","childOb","depend","dependArray","newVal","notify","max","del","mergeData","from","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","mergeAssets","normalizeProps","props","camelize","normalizeInject","inject","normalized","normalizeDirectives","dirs","directives","update","mergeOptions","child","mergeField","strat","strats","defaultStrat","extendsFrom","extends","mixins","resolveAsset","id","warnMissing","assets","camelizedId","PascalCaseId","capitalize","validateProp","propOptions","propsData","prop","absent","booleanIndex","getTypeIndex","Boolean","hyphenate","stringIndex","getPropDefaultValue","prevShouldObserve","$options","_props","getType","match","isSameType","expectedTypes","len","handleError","err","info","cur","$parent","hooks","errorCaptured","capture","globalHandleError","config","errorHandler","logError","inBrowser","inWeex","console","error","flushCallbacks","pending","copies","callbacks","slice","withMacroTask","_withTask","useMacroTask","nextTick","cb","_resolve","macroTimerFunc","microTimerFunc","Promise","resolve","traverse","_traverse","seenObjects","clear","seen","isA","isFrozen","depId","has","createFnInvoker","fns","invoker","arguments$1","updateListeners","on","oldOn","remove$$1","old","event","normalizeEvent","passive","params","mergeVNodeHook","hookKey","wrappedHook","oldHook","merged","extractPropsFromVNodeData","attrs","altKey","checkProp","hash","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","node","nestedIndex","lastIndex","last","shift","_isVList","ensureCtor","comp","base","hasSymbol","Symbol","toStringTag","createAsyncPlaceholder","factory","createEmptyVNode","asyncMeta","resolveAsyncComponent","baseCtor","errorComp","resolved","loading","loadingComp","contexts","sync","forceRender","$forceUpdate","reject","reason","then","component","delay","setTimeout","timeout","isAsyncPlaceholder","getFirstComponentChild","initEvents","_events","_hasHookEvent","listeners","_parentListeners","updateComponentListeners","$once","$on","remove$1","$off","oldListeners","resolveSlots","slots","slot","name$1","isWhitespace","resolveScopedSlots","initLifecycle","abstract","$children","$root","$refs","_watcher","_inactive","_directInactive","_isMounted","_isDestroyed","_isBeingDestroyed","mountComponent","el","hydrating","$el","callHook","updateComponent","_update","_render","Watcher","updateChildComponent","parentVnode","renderChildren","hasChildren","_renderChildren","scopedSlots","$scopedSlots","emptyObject","_parentVnode","_vnode","$attrs","$listeners","propKeys","_propKeys","$slots","isInInactiveTree","activateChildComponent","direct","deactivateChildComponent","handlers","j","$emit","resetSchedulerState","queue","activatedChildren","waiting","flushing","flushSchedulerQueue","watcher","sort","run","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","devtools","emit","queueActivatedComponent","queueWatcher","proxy","sourceKey","sharedPropertyDefinition","initState","_watchers","opts","initProps","methods","initMethods","initData","_data","computed","initComputed","watch","nativeWatch","initWatch","propsOptions","getData","watchers","_computedWatchers","isSSR","userDef","computedWatcherOptions","defineComputed","shouldCache","createComputedGetter","dirty","evaluate","handler","createWatcher","expOrFn","$watch","initProvide","provide","_provided","initInjections","resolveInject","Reflect","ownKeys","filter","provideKey","source","provideDefault","renderList","renderSlot","fallback","bindObject","nodes","scopedSlotFn","slotNodes","_rendered","$createElement","resolveFilter","identity","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","keyCodes","bindObjectProps","asProp","isSync","isReservedAttribute","mustUseProp","domProps","$event","renderStatic","isInFor","_staticTrees","tree","_renderProxy","markStatic","markOnce","isOnce","markStaticNode","bindObjectListeners","ours","installRenderHelpers","_o","_n","_s","_l","_t","_q","_i","_m","_f","_k","_b","_v","_e","_u","_g","FunctionalRenderContext","contextVm","_original","isCompiled","needNormalization","injections","_c","createElement","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","clone","createComponent","_base","cid","resolveConstructorOptions","model","transformModel","nativeOn","installComponentHooks","createComponentInstanceForVnode","parentElm","refElm","_isComponent","_parentElm","_refElm","inlineTemplate","hooksToMerge","componentVNodeHooks","callback","normalizationType","alwaysNormalize","ALWAYS_NORMALIZE","_createElement","is","SIMPLE_NORMALIZE","getTagNamespace","isReservedTag","parsePlatformTagName","applyNS","registerDeepBindings","force","style","class","initRender","parentData","initInternalComponent","constructor","vnodeComponentOptions","_componentTag","super","superOptions","modifiedOptions","resolveModifiedOptions","extendOptions","components","modified","latest","extended","sealed","sealedOptions","dedupe","Vue","_init","initUse","use","plugin","installedPlugins","_installedPlugins","args","unshift","install","initMixin$1","mixin","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","ASSET_TYPES","Comp","initAssetRegisters","definition","getComponentName","matches","pattern","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","current","cached$$1","componentInstance","$destroy","genClassForVnode","parentNode","childNode","mergeClassData","renderClass","staticClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","isSVG","isUnknownElement","unknownElementCache","HTMLUnknownElement","HTMLElement","query","selected","querySelector","createElement$1","tagName","multiple","setAttribute","createElementNS","namespace","namespaceMap","createTextNode","createComment","insertBefore","newNode","referenceNode","removeChild","appendChild","nextSibling","setTextContent","textContent","setStyleScope","registerRef","isRemoval","ref","refs","refInFor","sameVnode","sameInputType","typeA","typeB","isTextInputType","createKeyToOldIdx","beginIdx","endIdx","updateDirectives","oldVnode","oldDir","dir","isCreate","emptyNode","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldValue","callHook$1","componentUpdated","inserted","callInsert","modifiers","emptyModifiers","getRawDirName","rawName","join","updateAttrs","inheritAttrs","oldAttrs","setAttr","isIE","isEdge","isXlink","removeAttributeNS","xlinkNS","getXlinkProp","isEnumeratedAttr","removeAttribute","baseSetAttr","isBooleanAttr","isFalsyAttrValue","setAttributeNS","isIE9","__ieph","blocker","stopImmediatePropagation","removeEventListener","addEventListener","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","parseFilters","exp","pushFilter","filters","lastFilterIndex","prev","expression","inSingle","inDouble","inTemplateString","inRegex","curly","square","paren","charAt","validDivisionCharRE","wrapFilter","baseWarn","msg","pluckModuleFunction","_","addProp","plain","addAttr","addRawAttr","attrsMap","attrsList","addDirective","arg","addHandler","important","warn","right","middle","events","native","nativeEvents","newHandler","getBindingAttr","getStatic","dynamicValue","getAndRemoveAttr","staticValue","removeFromMap","genComponentModel","number","valueExpression","assignment","genAssignmentCode","parseModel","lastIndexOf","index$1","expressionPos","expressionEndPos","eof","chr","next","isStringStart","parseString","parseBracket","inBracket","stringQuote","_warn","warn$1","genSelect","genCheckboxModel","genRadioModel","genDefaultModel","valueBinding","trueValueBinding","falseValueBinding","selectedVal","code","lazy","needCompositionGuard","RANGE_TOKEN","normalizeEvents","CHECKBOX_RADIO_TOKEN","change","createOnceHandler","target$1","onceHandler","remove$2","add$1","once$$1","supportsPassive","updateDOMListeners","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","activeElement","_vModifiers","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","parseStyleText","getStyle","checkChild","styleData","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","setProp","addClass","classList","getAttribute","removeClass","tar","resolveTransition","css","autoCssTransition","nextFrame","raf","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","TRANSITION","transitionEndEvent","animationEndEvent","ended","end","onEnd","styles","getComputedStyle","transitionDelays","transitionProp","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationProp","animationDurations","animationTimeout","ANIMATION","hasTransform","transformRE","delays","durations","toMs","Number","enter","toggleDisplay","_leaveCb","cancelled","transition","_enterCb","nodeType","enterClass","enterToClass","enterActiveClass","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","duration","activeInstance","transitionNode","isAppear","isRootInsert","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","rm","performLeave","beforeLeave","leaveClass","leaveActiveClass","leaveToClass","explicitLeaveDuration","afterLeave","leaveCancelled","delayLeave","invokerFns","_enter","setSelected","binding","actuallySetSelected","isMultiple","option","getValue","selectedIndex","hasNoMatchingOption","onCompositionStart","onCompositionEnd","trigger","createEvent","initEvent","dispatchEvent","locateNode","getRealChild","compOptions","extractTransitionData","key$1","placeholder","rawChild","hasParentTransition","isSameChild","oldChild","callPendingCbs","_moveCb","recordPosition","newPos","getBoundingClientRect","applyTranslation","oldPos","pos","dx","left","dy","top","moved","transform","WebkitTransform","transitionDuration","parseText","delimiters","tagRE","buildRegex","defaultTagRE","tokenValue","tokens","rawTokens","exec","@binding","transformNode","classBinding","genData","transformNode$1","styleBinding","genData$1","decodeAttr","shouldDecodeNewlines","re","encodedAttrWithNewLines","encodedAttr","decodingMap","parseHTML","html","advance","substring","parseEndTag","lowerCasedTagName","stack","lowerCasedTag","lastTag","expectHTML","isUnaryTag$$1","isUnaryTag","no","canBeLeftOpenTag$$1","canBeLeftOpenTag","isPlainTextElement","endTagLength","stackedTag","reStackedTag","reCache","RegExp","rest$1","all","endTag","shouldIgnoreFirstNewline","chars","textEnd","comment","commentEnd","shouldKeepComment","conditionalComment","conditionalEnd","doctypeMatch","doctype","endTagMatch","curIndex","startTagMatch","startTagOpen","attr","startTagClose","attribute","unarySlash","isNonPhrasingTag","unary","IS_REGEX_CAPTURING_BROKEN","shouldDecodeNewlinesForHref","rest","createASTElement","makeAttrsMap","parse","template","closeElement","element","pre","inVPre","platformIsPreTag","inPre","postTransforms","warn$2","isPreTag","platformMustUseProp","platformGetTagNamespace","transforms","preTransforms","root","currentParent","preserveWhitespace","comments","guardIESVGBug","isForbiddenTag","forbidden","processPre","processRawAttrs","processed","processFor","processIf","processOnce","processElement","if","elseif","else","addIfCondition","block","processIfConditions","slotScope","slotTarget","lastNode","isTextTag","decodeHTMLCached","processKey","processRef","processSlot","processComponent","processAttrs","checkInFor","parseFor","inMatch","forAliasRE","for","alias","stripParensRE","iteratorMatch","forIteratorRE","iterator1","iterator2","findPrevElement","condition","ifConditions","slotName","isProp","dirRE","hasBindings","parseModifiers","modifierRE","bindRE","camel","onRE","argMatch","argRE","ieNSBug","ieNSPrefix","preTransformNode","typeBinding","ifCondition","ifConditionExtra","hasElse","elseIfCondition","branch0","cloneASTElement","branch1","branch2","optimize","isStaticKey","genStaticKeysCached","staticKeys","isPlatformReservedTag","markStatic$1","markStaticRoots","genStaticKeys$1","static","i$1","l$1","staticInFor","staticRoot","isBuiltInTag","isDirectChildOfTemplateFor","genHandlers","genHandler","isMethodPath","simplePathRE","isFunctionExpression","fnExpRE","genModifierCode","modifierCode","genGuard","keyModifier","genKeyFilter","genFilterCode","keyVal","parseInt","keyCode","keyName","keyNames","wrapListeners","bind$1","wrapData","generate","ast","state","CodegenState","genElement","staticProcessed","genStatic","onceProcessed","genOnce","forProcessed","genFor","ifProcessed","genIf","genSlot","genComponent","genData$2","genChildren","onceId","altGen","altEmpty","genIfConditions","conditions","genTernaryExp","altHelper","genDirectives","dataGenFns","genProps","genScopedSlots","genInlineTemplate","needRuntime","hasRuntime","gen","inlineRenderFns","genScopedSlot","genForScopedSlot","checkSkip","altGenElement","altGenNode","el$1","getNormalizationType","maybeComponent","genNode","needsNormalization","some","genComment","genText","transformSpecialNewlines","bind$$1","componentName","createFunction","errors","Function","createCompileToFunctionFn","compile","compiled","fnGenErrors","getShouldDecode","href","div","innerHTML","getOuterHTML","outerHTML","container","cloneNode","freeze","camelizeRE","toUpperCase","hyphenateRE","SSR_ATTR","LIFECYCLE_HOOKS","optionMergeStrategies","silent","productionTip","performance","warnHandler","ignoredElements","isReservedAttr","_lifecycleHooks","hasProto","WXEnvironment","platform","weexPlatform","UA","userAgent","isIOS","_isServer","_Set","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","Set","uid","subs","addSub","sub","removeSub","addDep","raw","prototypeAccessors","defineProperties","arrayProto","arrayMethods","method","original","observeArray","arrayKeys","getOwnPropertyNames","walk","items","MessageChannel","channel","port","port2","port1","onmessage","postMessage","uid$1","isRenderWatcher","deep","user","active","deps","newDeps","depIds","newDepIds","cleanupDeps","this$1","tmp","teardown","init","keepAlive","mountedNode","prepatch","$mount","insert","destroy","uid$3","_uid","_self","dataDef","propsDef","$set","$delete","immediate","hookRE","cbs","prevEl","prevVnode","prevActiveInstance","__patch__","__vue__","$nextTick","patternTypes","KeepAlive","include","exclude","created","destroyed","mounted","ref$1","builtInComponents","configDef","util","delete","version","emptyStyle","acceptValue","svg","math","isHTMLTag","nodeOps","baseModules","klass","cssText","listDelimiter","propertyDelimiter","cssVarRE","importantRE","setProperty","normalizedName","normalize","vendorNames","capName","hasTransition","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","requestAnimationFrame","activate","platformModules","patch","backend","emptyNodeAt","createRmCb","childElm","removeNode","createElm","insertedVnodeQueue","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","hydrate","postpatch","invokeInsertHook","initial","hasChildNodes","childrenMatch","firstChild","fullInvoke","isRenderedModule","isInitialPatch","isRealElement","hasAttribute","oldElm","parentElm$1","patchable","i$2","vmodel","directive","_vOptions","prevOptions","curOptions","transition$$1","originalDisplay","__vOriginalDisplay","display","unbind","platformDirectives","transitionProps","mode","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","prevChildren","rawChildren","transitionData","kept","removed","c$1","beforeUpdate","updated","hasMove","_reflow","body","offsetHeight","propertyName","_hasMove","platformComponents","decoder","regexEscapeRE","open","close","klass$1","style$1","he","decode","ncname","qnameCapture","g","&lt;","&gt;","&quot;","&amp;","&#10;","&#9;","isIgnoreNewlineTag","model$2","modules$1","directives$1","baseOptions","reduce","esc","tab","space","up","down","stop","prevent","self","ctrl","alt","meta","baseDirectives","cloak","createCompiler","baseCompile","finalOptions","tips","tip","compileToFunctions","idToTemplate","mount","documentElement","eval","__WEBPACK_IMPORTED_MODULE_0_axios__","__WEBPACK_IMPORTED_MODULE_0_axios___default","requestToken","getElementsByTagName","tokenHeaders","headers","requesttoken","sanitize","url","requireAdmin","passwordTimeout","promiseTimeout","clearTimeout","getElementsByClassName","click","OC","Notification","showTemporary","t","PasswordConfirmation","requirePasswordConfirmation","waitForpassword","requiresPasswordConfirmation","response","catch","post","put","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","runClearTimeout","marker","cachedClearTimeout","cleanUpNextTick","draining","currentQueue","queueIndex","drainQueue","Item","array","process","title","browser","argv","versions","addListener","off","removeListener","removeAllListeners","prependListener","prependOnceListener","cwd","chdir","umask","r","__g","f","TypeError","u","F","G","S","y","P","B","U","core","W","R","store","__e","random","virtual","propertyIsEnumerable","ceil","valueOf","x","w","min","$isLabel","$groupLabel","search","isOpen","prefferedOpenDirection","optimizedHeight","maxHeight","internalSearch","required","trackBy","label","searchable","clearOnSelect","hideSelected","allowEmpty","resetAfter","closeOnSelect","customLabel","taggable","tagPlaceholder","tagPosition","optionsLimit","groupValues","groupLabel","groupSelect","blockKeys","preserveSearch","preselectFirst","internalValue","select","filteredOptions","filterAndFlat","isSelected","isExistingOption","isTag","valueKeys","optionKeys","flatAndStrip","currentOptionLabel","getOptionLabel","updateSearch","selectGroup","disabled","$isDisabled","pointerDirty","deactivate","removeElement","find","wholeGroupSelected","removeLastElement","adjustPosition","pointer","focus","blur","toggle","innerHeight","bottom","openDirection","showPointer","optionHeight","pointerPosition","visibleElements","pointerAdjust","optionHighlight","multiselect__option--highlight","multiselect__option--selected","groupHighlight","multiselect__option--group-selected","addPointerElement","pointerReset","pointerForward","scrollTop","pointerBackward","pointerSet","O","L","k","E","V","entries","values","contentWindow","write","getOwnPropertySymbols","inspectSource","selectLabel","selectGroupLabel","selectedLabel","deselectLabel","deselectGroupLabel","showLabels","limit","limitText","showNoResults","tabindex","isSingleLabelVisible","singleValue","visibleValues","isPlaceholderVisible","deselectLabelText","deselectGroupLabelText","selectLabelText","selectGroupLabelText","selectedLabelText","inputStyle","width","position","padding","contentStyle","isAbove","showSearchInput","hasSingleSelectedSlot","visibleSingleValue","done","preventExtensions","NEED","KEY","fastKey","getWeak","onFreeze","getPrototypeOf","Arguments","C","T","A","$","D","M","N","H","QObject","I","findChild","K","z","iterator","J","q","X","Y","Q","Z","tt","et","keyFor","useSetter","useSimple","multiselect--active","multiselect--disabled","multiselect--above","keydown","currentTarget","preventDefault","stopPropagation","keyup","mousedown","aria-hidden","autocomplete","input","data-select","data-selected","data-deselect","mouseenter","setContentTypeIfUnset","utils","normalizeHeaderName","DEFAULT_CONTENT_TYPE","Content-Type","defaults","adapter","XMLHttpRequest","transformRequest","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","Accept","beforeMount","getElementById","$store","commit","dataset","server","__WEBPACK_IMPORTED_MODULE_0__components_appNavigation__","__WEBPACK_IMPORTED_MODULE_1__components_userList__","__WEBPACK_IMPORTED_MODULE_2_vue__","__WEBPACK_IMPORTED_MODULE_3_vue_localstorage__","__WEBPACK_IMPORTED_MODULE_3_vue_localstorage___default","__WEBPACK_IMPORTED_MODULE_4_vue_multiselect__","__WEBPACK_IMPORTED_MODULE_4_vue_multiselect___default","_typeof","appNavigation","userList","Multiselect","groups","getters","getServerData","orderBy","sortGroups","userCount","dispatch","unlimitedQuota","selectedQuota","showConfig","showStoragePath","showUserBackend","showLastLogin","showNewUserForm","showLanguages","toggleNewUserMenu","newusername","getLocalstorage","localConfig","$localStorage","setLocalStorage","removeGroup","groupid","dialogs","confirm","group","success","setDefaultQuota","_this","quota","app","defaultQuota","validateQuota","validQuota","Util","computerFileSize","humanFileSize","users","getUsers","usersOffset","getUsersOffset","usersLimit","getUsersLimit","getUserCount","settings","quotaOptions","quotaPreset","acc","menu","_this2","getGroups","classes","router","selectedGroup","counter","usercount","actions","icon","action","adminGroup","disabledGroupIndex","findIndex","disabledGroup","activeGroup","new","__WEBPACK_IMPORTED_MODULE_0__appNavigation_navigationItem__","navigationItem","__WEBPACK_IMPORTED_MODULE_0__popoverMenu__","__WEBPACK_IMPORTED_MODULE_1_vue_click_outside__","__WEBPACK_IMPORTED_MODULE_1_vue_click_outside___default","popoverMenu","ClickOutside","openedMenu","showMenu","hideMenu","toggleCollapse","opened","cancelEdit","popupItem","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_popoverMenu_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_24e4fcfe_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_popoverMenu_vue__","normalizeComponent","Component","__WEBPACK_IMPORTED_MODULE_0__popoverMenu_popoverItem__","popoverItem","validate","isPopup","elements","contains","isServer","vNode","$isServer","composedPath","__vueClickOutside__","__WEBPACK_IMPORTED_MODULE_0__userList_userRow__","__WEBPACK_IMPORTED_MODULE_1_vue_multiselect__","__WEBPACK_IMPORTED_MODULE_1_vue_multiselect___default","__WEBPACK_IMPORTED_MODULE_2_vue_infinite_loading__","__WEBPACK_IMPORTED_MODULE_2_vue_infinite_loading___default","__WEBPACK_IMPORTED_MODULE_3_vue__","userRow","InfiniteLoading","scrolled","newUser","displayName","password","mailAddress","subAdminsGroups","language","canChangePassword","defaultLanguage","filteredUsers","disabledUsers","enabled","infiniteLoading","isComplete","$router","subadmingroups","minPasswordLength","getPasswordPolicyMinLength","languages","commonlanguages","onScroll","infiniteHandler","$state","offset","loaded","complete","resetForm","assign","createUser","userid","email","subadmin","__WEBPACK_IMPORTED_MODULE_2_vue_multiselect__","__WEBPACK_IMPORTED_MODULE_2_vue_multiselect___default","__WEBPACK_IMPORTED_MODULE_4_v_tooltip__","rand","subadmins","disable","userActions","deleteUser","enableDisableUser","userGroups","includes","userSubAdminsGroups","usedQuota","round","used","pow","userQuota","humanQuota","userLanguage","_this3","availableLanguages","userLang","lang","toggleMenu","generateAvatar","size","generateUrl","oc_userconfig","avatar","limitGroups","count","_this4","_this5","updateDisplayName","_this6","updatePassword","_this7","updateEmail","_this8","createGroup","gid","_this9","addUserGroup","_this10","removeUserGroup","_this11","addUserSubAdmin","_this12","removeUserSubAdmin","_this13","setUserQuota","_this14","setUserLanguage","_this15","settle","buildURL","parseHeaders","isURLSameOrigin","createError","btoa","requestData","requestHeaders","request","loadEvent","xDomain","XDomainRequest","onprogress","ontimeout","auth","username","Authorization","paramsSerializer","readyState","responseURL","responseHeaders","getAllResponseHeaders","responseData","responseType","responseText","statusText","onerror","cookies","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancelToken","promise","cancel","abort","send","enhanceError","message","__CANCEL__","Cancel","__WEBPACK_IMPORTED_MODULE_0_vue__","__WEBPACK_IMPORTED_MODULE_1_vuex_router_sync__","__WEBPACK_IMPORTED_MODULE_2__App_vue__","__WEBPACK_IMPORTED_MODULE_3__router__","__WEBPACK_IMPORTED_MODULE_4__store__","Timeout","clearFn","_id","_clearFn","scope","setInterval","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","clearImmediate","task","tasksByHandle","nextHandle","registerImmediate","handle","runIfPresent","currentlyRunningATask","doc","attachTo","importScripts","postMessageIsAsynchronous","oldOnMessage","messagePrefix","onGlobalMessage","attachEvent","script","onreadystatechange","cloneRoute","fullPath","moduleName","registerModule","namespaced","currentRoute","mutations","ROUTE_CHANGED","currentPath","isTimeTraveling","storeUnwatch","route","afterEachUnHook","afterEach","unregisterModule","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_App_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_f72d2b7e_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_App_vue__","_vm","_h","esExports","__WEBPACK_IMPORTED_MODULE_1_vue_router__","__WEBPACK_IMPORTED_MODULE_2__views_Users__","location","pathname","routes","isError","resolveProps","resolveQuery","extraQuery","_parseQuery","parsedQuery","parseQuery","param","parts","stringifyQuery","encode","val2","createRoute","record","redirectedFrom","stringifyQuery$$1","getFullPath","matched","formatMatch","_stringifyQuery","isSameRoute","START","trailingSlashRE","isObjectEqual","aKeys","bKeys","aVal","bVal","isIncludedRoute","queryIncludes","guardEvent","metaKey","ctrlKey","shiftKey","defaultPrevented","button","findAnchor","installed","_Vue","registerInstance","callVal","registerRouteInstance","_routerRoot","_router","history","_route","View","Link","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","resolvePath","relative","append","firstChar","segment","hashIndex","queryIndex","cleanPath","defaultDelimiter","delimiter","PATH_REGEXP","escaped","prefix","modifier","asterisk","partial","repeat","optional","escapeGroup","escapeString","substr","tokensToFunction","encodeURIComponentPretty","encodeURI","encodeAsterisk","pretty","encodeURIComponent","token","isarray","attachKeys","flags","sensitive","regexpToRegexp","arrayToRegexp","pathToRegexp","stringToRegexp","tokensToRegExp","strict","endsWithDelimiter","fillParams","routeMsg","regexpCompileCache","pathToRegexp_1","createRouteMap","oldPathList","oldPathMap","oldNameMap","pathList","pathMap","nameMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","instances","redirect","childMatchAs","aliasRoute","normalizeLocation","_normalized","rawPath","parsedPath","basePath","createMatcher","addRoutes","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","aliasedPath","aliasedMatch","aliasedRecord","decodeURIComponent","setupScroll","replaceState","getStateKey","saveScrollPosition","setStateKey","handleScroll","isPop","behavior","scrollBehavior","getScrollPosition","shouldScroll","scrollToPosition","positionStore","pageXOffset","pageYOffset","getElementPosition","docEl","docRect","elRect","isValidPosition","normalizePosition","normalizeOffset","selector","scrollTo","genKey","Time","now","toFixed","_key","pushState","runQueue","step","resolveAsyncComponents","hasAsync","flatMapComponents","resolvedDef","isESModule","flatten","normalizeBase","baseEl","resolveQueue","activated","deactivated","extractGuards","records","reverse","guards","instance","guard","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","isValid","bindEnterGuard","poll","getLocation","checkFallback","ensureSlash","getHash","replaceHash","getUrl","pushHash","supportsPushState","registerHook","createHref","routerView","$route","_routerViewCache","depth","inactive","routerViewDepth","propsToPass","encodeReserveRE","encodeReserveReplacer","commaRE","toTypes","eventTypes","exact","exactActiveClass","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","parse_1","compile_1","tokensToFunction_1","tokensToRegExp_1","ua","Date","History","ready","readyCbs","readyErrorCbs","errorCbs","listen","onReady","errorCb","onError","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","beforeHooks","postEnterCbs","resolveHooks","afterHooks","HTML5History","History$$1","expectScroll","initLocation","go","fromRoute","getCurrentLocation","HashHistory","setupListeners","supportsScroll","AbstractHistory","targetIndex","VueRouter","apps","matcher","setupHashListener","beforeEach","beforeResolve","back","forward","getMatchedComponents","normalizedTo","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Users_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_2db113c0_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Users_vue__","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_appNavigation_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_85c34754_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_appNavigation_vue__","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_navigationItem_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_429bfeff_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_navigationItem_vue__","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_popoverItem_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_38c13d40_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_popoverItem_vue__","longtext","icon-loading-small","collapsible","backgroundColor","bullet","iconUrl","isInteger","undo","icon-loading","data-apps-slide-toggle","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_userList_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_991a8d00_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_userList_vue__","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_userRow_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_689d61c8_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_userRow_vue__","microtaskDebounce","taskDebounce","scheduled","timeoutDuration","functionToCheck","getStyleComputedProperty","getParentNode","nodeName","host","getScrollParent","ownerDocument","_getStyleComputedProp","overflow","overflowX","overflowY","getOffsetParent","offsetParent","isOffsetContainer","firstElementChild","getRoot","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","element1root","getScroll","side","upperSide","scrollingElement","includeScroll","rect","subtract","scrollLeft","getBordersSize","axis","sideA","sideB","getSize","computedStyle","isIE10$1","getWindowSizes","height","getClientRect","offsets","_extends","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","isIE10","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","relativeOffset","innerWidth","isFixed","getBoundaries","popper","reference","boundariesElement","boundaries","boundariesNode","_getWindowSizes","getArea","_ref","computeAutoPlacement","placement","refRect","rects","sortedAreas","area","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","getOuterSizes","marginBottom","marginRight","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","check","runModifiers","ends","isDestroyed","arrowStyles","attributes","flipped","flip","originalPlacement","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","toCheck","disableEventListeners","removeOnDestroy","getWindow","defaultView","attachToScrollParents","scrollParents","isBody","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","removeEventListeners","cancelAnimationFrame","isNumeric","setStyles","unit","setAttributes","applyStyle","arrowElement","applyStyleOnLoad","modifierOptions","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","prefixedProperty","willChange","invertTop","invertLeft","x-placement","arrow","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","_data$offsets$arrow","_data$offsets","isVertical","sideCapitalized","altSide","opSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","getOppositeVariation","clockwise","validPlacements","placementOpposite","flipOrder","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","keepTogether","toValue","parseOffset","basePlacement","useHeight","fragments","frag","divider","splitRegex","ops","op","mergeWithPrevious","index2","preventOverflow","priority","primary","escapeWithReference","secondary","shiftvariation","shiftOffsets","hide","bound","inner","subtractLength","convertToArray","addClasses","newClasses","className","SVGAnimatedString","newClass","SVGElement","removeClasses","getOptions","defaultPlacement","defaultDelay","defaultTemplate","arrowSelector","defaultArrowSelector","innerSelector","defaultInnerSelector","defaultTrigger","defaultOffset","defaultContainer","defaultBoundariesElement","autoHide","loadingClass","defaultLoadingClass","loadingContent","defaultLoadingContent","popperOptions","_extends$1","defaultPopperOptions","typeofOffset","getPlacement","positions","getContent","content","createTooltip","defaultClass","tooltip","_tooltip","Tooltip","setClasses","_vueEl","targetClasses","defaultTargetClass","_tooltipTargetClasses","destroyTooltip","dispose","_tooltipOldShow","setContent","setOptions","addListeners","onClick","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","closePopover","$_vclosepopover_touch","closeAllPopover","$_closePopoverModifiers","changedTouches","touch","$_vclosepopover_touchPoint","firstTouch","abs","screenY","screenX","getInternetExplorerVersion","msie","rv","edge","initCompat","install$1","ResizeObserver","getDefault","popover","handleGlobalClick","handleGlobalClose","handleGlobalTouchend","openPopovers","$_handleGlobalClose","lodash_merge","defaultOptions","vclosepopover","Popover","isBrowser","longerTimeoutBrowsers","supportsMicroTasks","debounce","appVersion","classCallCheck","Constructor","createClass","descriptor","protoProps","staticProps","placements","onLoad","Defaults","Popper","jquery","Utils","PopperUtils","classCallCheck$1","createClass$1","DEFAULT_OPTIONS","openTooltips","_initialiseProps","_isOpen","_classes","_tooltipNode","_setContent","classesUpdated","needPopperUpdate","needRestart","popperInstance","_isDisposed","_enableDocumentTouch","_setEventListeners","tooltipGenerator","tooltipNode","asyncContent","_applyContent","allowHtml","rootNode","titleNode","asyncResult","innerText","_disposeTimer","updateClasses","_ensureShown","_create","_findContainer","_append","_noLongerOpen","disposeTime","disposeTimeout","func","_hide","directEvents","oppositeEvents","evt","usedByTooltip","_scheduleShow","_scheduleHide","computedDelay","_scheduleTimer","_show","_setTooltipNodeEvent","_dispose","relatedreference","toElement","evt2","relatedreference2","_onDocumentTouch","defaultBaseClass","defaultWrapperClass","defaultInnerClass","defaultArrowClass","defaultAutoHide","defaultHandleResize","addResizeHandlers","_resizeObject","contentDocument","_w","removeResizeHandlers","onload","beforeDestroy","plugin$2","GlobalVue$1","MSStream","cssClass","aria-describedby","popoverId","popoverBaseClass","popoverClass","popoverWrapperClass","popoverArrowClass","popoverInnerClass","handleResize","$_handleResize","Element","openGroup","oldVal","popoverNode","$_findContainer","$_removeEventListeners","$_addEventListeners","$_updatePopper","$_getOffset","$_isDisposed","$_mounted","$_events","$_preventOpen","$_init","_ref$force","skipDelay","$_scheduleShow","$_scheduleHide","$_show","$_disposeTimer","$_hide","$_scheduleTimer","$_setTooltipNodeEvent","event2","_ref3","$_restartPopper","commonjsGlobal","addMapEntry","pair","addSetEntry","arrayEach","iteratee","arrayPush","arrayReduce","accumulator","initAccum","baseTimes","isHostObject","mapToArray","overArg","setToArray","Hash","entry","hashClear","__data__","nativeCreate","hashDelete","hashGet","HASH_UNDEFINED","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","Map","string","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","pairs","LARGE_ARRAY_SIZE","arrayLikeKeys","inherited","isArguments","skipIndexes","isIndex","assignMergeValue","eq","objValue","baseAssign","copyObject","baseClone","isDeep","isFull","customizer","isArr","initCloneArray","copyArray","getTag","isFunc","funcTag","genTag","cloneBuffer","objectTag","argsTag","initCloneObject","copySymbols","cloneableTags","initCloneByTag","stacked","getAllKeys","subValue","baseCreate","proto","objectCreate","baseGetAllKeys","keysFunc","symbolsFunc","baseGetTag","objectToString","baseIsNative","isMasked","reIsNative","reIsHostCtor","toSource","baseIsTypedArray","isObjectLike","isLength","typedArrayTags","baseKeys","isPrototype","nativeKeys","baseKeysIn","nativeKeysIn","isProto","baseMerge","srcIndex","isTypedArray","srcValue","baseMergeDeep","newValue","mergeFunc","isCommon","isArrayLikeObject","toPlainObject","baseRest","nativeMax","otherArgs","copy","cloneArrayBuffer","arrayBuffer","byteLength","Uint8Array","cloneDataView","dataView","byteOffset","cloneMap","cloneFunc","cloneRegExp","regexp","reFlags","cloneSet","cloneSymbol","symbol","symbolValueOf","cloneTypedArray","typedArray","getSymbols","isKeyable","getNative","getPrototype","arrayBufferTag","boolTag","dateTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","mapTag","numberTag","stringTag","regexpTag","setTag","symbolTag","MAX_SAFE_INTEGER","reIsUint","isIterateeCall","isArrayLike","maskSrcKey","objectProto","funcToString","other","objectCtorString","keysIn","stubArray","stubFalse","weakMapTag","reRegExpChar","freeGlobal","freeSelf","freeExports","freeModule","moduleExports","freeProcess","nodeUtil","nodeIsTypedArray","funcProto","coreJsData","IE_PROTO","Buffer","nativeGetSymbols","nativeIsBuffer","DataView","WeakMap","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","ctorString","assigner","sources","GlobalVue","srcset","submit","autocorrect","autocapitalize","spellcheck","displayname","minlength","tag-placeholder","track-by","group-values","group-label","storageLocation","lastLogin","formatDate","auto","relativeModifiedDate","currentUser","sourceRoot","unescape","media","sourceMap","styleSheet","DEBUG","head","locals","STATE_CHANGER","INFINITE_EVENT","INFINITE_LOOP","scrollHandler","isLoading","isFirstLoad","debounceTimer","debounceDuration","infiniteLoopChecked","infiniteLoopTimer","continuousCallTimes","Spinner","isNoResults","isNoMore","distance","onInfinite","spinner","direction","forceUseInfiniteWrapper","Event","attemptLoad","stateChanger","reset","getCurrentDistance","BUBBLES","CIRCLES","DEFAULT","SPIRAL","WAVEDOTS","spinnerView","&scroll","sticky","close-on-select","$$v","infinite","VueLocalStorage","_properties","_namespace","_isSupported","_getLsKey","lsKey","_lsSet","rawValue","localStorage","setItem","_lsGet","defaultValue","defaultType","_process","removeItem","addProperty","vueLocalStorage","SERVER_BUILD","NODE_ENV","isSupported","log","createInstance","defaultConfig","Axios","axios","instanceConfig","CancelToken","isCancel","promises","spread","isSlowBuffer","readFloatLE","_isBuffer","interceptors","InterceptorManager","dispatchRequest","chain","interceptor","fulfilled","rejected","serializedParams","toISOString","ignoreDuplicateOf","parsed","line","resolveURL","urlParsingNode","protocol","hostname","originURL","requestURL","charCode","output","idx","expires","domain","secure","cookie","toGMTString","eject","throwIfCancellationRequested","throwIfRequested","transformData","isAbsoluteURL","combineURLs","baseURL","relativeURL","executor","resolvePromise","checked","$$a","$$el","$$c","$$i","__WEBPACK_IMPORTED_MODULE_1_vuex__","__WEBPACK_IMPORTED_MODULE_2__users__","__WEBPACK_IMPORTED_MODULE_3__settings__","__WEBPACK_IMPORTED_MODULE_4__oc__","API_FAILURE","Store","oc","devtoolPlugin","devtoolHook","_devtoolHook","targetState","subscribe","mutation","forEachValue","isPromise","targetModule","newModule","getChild","genericSubscribe","resetStore","hot","_actions","_mutations","_wrappedGetters","_modulesNamespaceMap","installModule","_modules","resetStoreVM","oldVm","wrappedGetters","$$state","enableStrictMode","_withCommit","rootState","isRoot","getNamespace","parentState","getNestedState","local","makeLocalContext","forEachMutation","registerMutation","forEachAction","registerAction","forEachGetter","registerGetter","forEachChild","noNamespace","_type","_payload","_options","unifyObjectStyle","payload","makeLocalGetters","gettersProxy","splitPos","localType","rootGetters","rawGetter","applyMixin","normalizeMap","normalizeNamespace","getModuleByNamespace","helper","vuexInit","Module","rawModule","runtime","_children","_rawModule","rawState","prototypeAccessors$1","addChild","ModuleCollection","rawRootModule","register","rawChildModule","unregister","plugins","_committing","_actionSubscribers","_subscribers","_watcherVM","subscribeAction","preserveState","hotUpdate","newOptions","committing","mapState","states","vuex","mapMutations","mapGetters","mapActions","createNamespacedHelpers","index_esm","__WEBPACK_IMPORTED_MODULE_0__api__","orderGroups","localeCompare","appendUsers","usersObj","setPasswordPolicyMinLength","initGroups","addGroup","groupIndex","groupSearch","_ref4","_ref5","userIndex","addUserData","ocs","_ref6","setUserData","_ref7","humanValue","resetUsers","_ref8","linkToOCS","getUsersFromList","_ref9","getUsersFromGroup","_ref10","_ref11","_ref12","_ref13","_ref14","_ref15","addUser","_ref16","_ref17","_ref18","_ref18$enabled","userStatus","_ref19","allowedEmpty","serverData","setServerData","setAppConfig"],"mappings":"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","file":"main.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 23);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar bind = __webpack_require__(18);\nvar isBuffer = __webpack_require__(48);\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global, setImmediate) {/*!\n * Vue.js v2.5.16\n * (c) 2014-2018 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// these helpers produces better vm code in JS engines due to their\n// explicitness and function inlining\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value e.g. [object Object]\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : typeof val === 'object'\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert a input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if a attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether the object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it... e.g.\n * PhantomJS 1.x. Technically we don't need this anymore since native bind is\n * now more performant in most browsers, but removing it would be breaking for\n * code that was able to run in PhantomJS 1.x, so this must be kept for\n * backwards compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/)\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/**\n * Return same value\n */\nvar identity = function (_) { return _; };\n\n/**\n * Generate a static keys string from compiler modules.\n */\nfunction genStaticKeys (modules) {\n return modules.reduce(function (keys, m) {\n return keys.concat(m.staticKeys || [])\n }, []).join(',')\n}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured'\n];\n\n/* */\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: \"production\" !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: \"production\" !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n})\n\n/* */\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = /[^\\w.$]/;\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = (function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (false) {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return '<Root>'\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm || {};\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// the current target watcher being evaluated.\n// this is globally unique because there could be only one\n// watcher being evaluated at any time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (_target) {\n if (Dep.target) { targetStack.push(Dep.target); }\n Dep.target = _target;\n}\n\nfunction popTarget () {\n Dep.target = targetStack.pop();\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n vnode.children,\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n var augment = hasProto\n ? protoAugment\n : copyAugment;\n augment(value, arrayMethods, arrayKeys);\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through each property and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment an target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src, keys) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment an target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n if (!getter && arguments.length === 2) {\n val = obj[key];\n }\n var setter = property && property.set;\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (false) {\n customSetter();\n }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (false\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n \"production\" !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (false\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n \"production\" !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (false) {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n var keys = Object.keys(from);\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (isPlainObject(toVal) && isPlainObject(fromVal)) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n \"production\" !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n return childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n \"production\" !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (false) {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && \"production\" !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!/^[a-zA-Z][\\w-]*$/.test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'can only contain alphanumeric characters and the hyphen, ' +\n 'and must start with a letter.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (false) {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (false) {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (false) {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def = dirs[key];\n if (typeof def === 'function') {\n dirs[key] = { bind: def, update: def };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (false) {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n var extendsFrom = child.extends;\n if (extendsFrom) {\n parent = mergeOptions(parent, extendsFrom, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (false) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n false\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (false) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n if (!valid) {\n warn(\n \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', ')) +\n \", got \" + (toRawType(value)) + \".\",\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n logError(e, null, 'config.errorHandler');\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (false) {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n/* globals MessageChannel */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using both microtasks and (macro) tasks.\n// In < 2.4 we used microtasks everywhere, but there are some scenarios where\n// microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690) or even between bubbling of the same\n// event (#6566). However, using (macro) tasks everywhere also has subtle problems\n// when state is changed right before repaint (e.g. #6813, out-in transitions).\n// Here we use microtask by default, but expose a way to force (macro) task when\n// needed (e.g. in event handlers attached by v-on).\nvar microTimerFunc;\nvar macroTimerFunc;\nvar useMacroTask = false;\n\n// Determine (macro) task defer implementation.\n// Technically setImmediate should be the ideal choice, but it's only available\n// in IE. The only polyfill that consistently queues the callback after all DOM\n// events triggered in the same loop is by using MessageChannel.\n/* istanbul ignore if */\nif (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n macroTimerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else if (typeof MessageChannel !== 'undefined' && (\n isNative(MessageChannel) ||\n // PhantomJS\n MessageChannel.toString() === '[object MessageChannelConstructor]'\n)) {\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = flushCallbacks;\n macroTimerFunc = function () {\n port.postMessage(1);\n };\n} else {\n /* istanbul ignore next */\n macroTimerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\n// Determine microtask defer implementation.\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n microTimerFunc = function () {\n p.then(flushCallbacks);\n // in problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else {\n // fallback to macro\n microTimerFunc = macroTimerFunc;\n}\n\n/**\n * Wrap a function so that if any code inside triggers state change,\n * the changes are queued using a (macro) task instead of a microtask.\n */\nfunction withMacroTask (fn) {\n return fn._withTask || (fn._withTask = function () {\n useMacroTask = true;\n var res = fn.apply(null, arguments);\n useMacroTask = false;\n return res\n })\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n if (useMacroTask) {\n macroTimerFunc();\n } else {\n microTimerFunc();\n }\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\nvar mark;\nvar measure;\n\nif (false) {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n perf.clearMeasures(name);\n };\n }\n}\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (false) {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) || key.charAt(0) === '_';\n if (!has && !isAllowed) {\n warnNonPresent(target, key);\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n warnNonPresent(target, key);\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n cloned[i].apply(null, arguments$1);\n }\n } else {\n // return handler return value for single handlers\n return fns.apply(null, arguments)\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n vm\n) {\n var name, def, cur, old, event;\n for (name in on) {\n def = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n /* istanbul ignore if */\n if (isUndef(cur)) {\n \"production\" !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur);\n }\n add(event.name, cur, event.once, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (false) {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor,\n context\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (isDef(factory.contexts)) {\n // already pending\n factory.contexts.push(context);\n } else {\n var contexts = factory.contexts = [context];\n var sync = true;\n\n var forceRender = function () {\n for (var i = 0, l = contexts.length; i < l; i++) {\n contexts[i].$forceUpdate();\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender();\n }\n });\n\n var reject = once(function (reason) {\n \"production\" !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender();\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (typeof res.then === 'function') {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isDef(res.component) && typeof res.component.then === 'function') {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n setTimeout(function () {\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender();\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n setTimeout(function () {\n if (isUndef(factory.resolved)) {\n reject(\n false\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn, once) {\n if (once) {\n target.$once(event, fn);\n } else {\n target.$on(event, fn);\n }\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var this$1 = this;\n\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n this$1.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var this$1 = this;\n\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n this$1.$off(event[i], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n if (fn) {\n // specific handler\n var cb;\n var i$1 = cbs.length;\n while (i$1--) {\n cb = cbs[i$1];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i$1, 1);\n break\n }\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (false) {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n for (var i = 0, l = cbs.length; i < l; i++) {\n try {\n cbs[i].apply(vm, args);\n } catch (e) {\n handleError(e, vm, (\"event handler for \\\"\" + event + \"\\\"\"));\n }\n }\n }\n return vm\n };\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n var slots = {};\n if (!children) {\n return slots\n }\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res\n) {\n res = res || {};\n for (var i = 0; i < fns.length; i++) {\n if (Array.isArray(fns[i])) {\n resolveScopedSlots(fns[i], res);\n } else {\n res[fns[i].key] = fns[i].fn;\n }\n }\n return res\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n if (vm._isMounted) {\n callHook(vm, 'beforeUpdate');\n }\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(\n vm.$el, vnode, hydrating, false /* removeOnly */,\n vm.$options._parentElm,\n vm.$options._refElm\n );\n // no need for the ref nodes after initial patch\n // this prevents keeping a detached DOM tree in memory (#5851)\n vm.$options._parentElm = vm.$options._refElm = null;\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n activeInstance = prevActiveInstance;\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction mountComponent (\n vm,\n el,\n hydrating\n) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n if (false) {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n callHook(vm, 'beforeMount');\n\n var updateComponent;\n /* istanbul ignore if */\n if (false) {\n updateComponent = function () {\n var name = vm._name;\n var id = vm._uid;\n var startTag = \"vue-perf-start:\" + id;\n var endTag = \"vue-perf-end:\" + id;\n\n mark(startTag);\n var vnode = vm._render();\n mark(endTag);\n measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure((\"vue \" + name + \" patch\"), startTag, endTag);\n };\n } else {\n updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n }\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, null, true /* isRenderWatcher */);\n hydrating = false;\n\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook(vm, 'mounted');\n }\n return vm\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (false) {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren\n var hasChildren = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n parentVnode.data.scopedSlots || // has new scoped slots\n vm.$scopedSlots !== emptyObject // has old scoped slots\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n\n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (hasChildren) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (false) {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n try {\n handlers[i].call(vm);\n } catch (e) {\n handleError(e, vm, (hook + \" hook\"));\n }\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (false) {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (false) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\nvar uid$1 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$1; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = false\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = function () {};\n \"production\" !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var this$1 = this;\n\n var i = this.deps.length;\n while (i--) {\n var dep = this$1.deps[i];\n if (!this$1.newDepIds.has(dep.id)) {\n dep.removeSub(this$1);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var this$1 = this;\n\n var i = this.deps.length;\n while (i--) {\n this$1.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n var this$1 = this;\n\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this$1.deps[i].removeSub(this$1);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (false) {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive(props, key, value, function () {\n if (vm.$parent && !isUpdatingChildComponent) {\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n \"production\" !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (false) {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n \"production\" !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (false) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (false) {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : userDef;\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : userDef.get\n : noop;\n sharedPropertyDefinition.set = userDef.set\n ? userDef.set\n : noop;\n }\n if (false) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (false) {\n if (methods[key] == null) {\n warn(\n \"Method \\\"\" + key + \"\\\" has an undefined value in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = methods[key] == null ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (false) {\n dataDef.set = function (newData) {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n cb.call(vm, watcher.value);\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (false) {\n defineReactive(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject).filter(function (key) {\n /* istanbul ignore next */\n return Object.getOwnPropertyDescriptor(inject, key).enumerable\n })\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (false) {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n } else if (isObject(val)) {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n if (isDef(ret)) {\n (ret)._isVList = true;\n }\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (false) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes = scopedSlotFn(props) || fallback;\n } else {\n var slotNodes = this.$slots[name];\n // warn duplicate slot usage\n if (slotNodes) {\n if (false) {\n warn(\n \"Duplicate presence of slot \\\"\" + name + \"\\\" found in the same render tree \" +\n \"- this will likely cause render errors.\",\n this\n );\n }\n slotNodes._rendered = true;\n }\n nodes = slotNodes || fallback;\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n \"production\" !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n if (!(key in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n \"production\" !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () { return resolveSlots(children, parent); };\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = data.scopedSlots || emptyObject;\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n\n\n\n// Register the component hook to weex native render engine.\n// The hook will be triggered by native, not javascript.\n\n\n// Updates the state of the component to weex native render engine.\n\n/* */\n\n// https://github.com/Hanks10100/weex-native-directive/tree/master/component\n\n// listening on native callback\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (\n vnode,\n hydrating,\n parentElm,\n refElm\n ) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance,\n parentElm,\n refElm\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (false) {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor, context);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n // Weex specific: invoke recycle-list optimized @render function for\n // extracting cell-slot template.\n // https://github.com/Hanks10100/weex-native-directive/tree/master/component\n /* istanbul ignore if */\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent, // activeInstance in lifecycle state\n parentElm,\n refElm\n) {\n var options = {\n _isComponent: true,\n parent: parent,\n _parentVnode: vnode,\n _parentElm: parentElm || null,\n _refElm: refElm || null\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n hooks[key] = componentVNodeHooks[key];\n }\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input';(data.props || (data.props = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n if (isDef(on[event])) {\n on[event] = [data.model.callback].concat(on[event]);\n } else {\n on[event] = data.model.callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n \"production\" !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (false\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if (isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (false) {\n defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n // reset _rendered flag on slots for duplicate slot check\n if (false) {\n for (var key in vm.$slots) {\n // $flow-disable-line\n vm.$slots[key]._rendered = false;\n }\n }\n\n if (_parentVnode) {\n vm.$scopedSlots = _parentVnode.data.scopedSlots || emptyObject;\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (false) {\n if (vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (false) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (false) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (false) {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook(vm, 'created');\n\n /* istanbul ignore if */\n if (false) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n opts._parentElm = options._parentElm;\n opts._refElm = options._refElm;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var extended = Ctor.extendOptions;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = dedupe(latest[key], extended[key], sealed[key]);\n }\n }\n return modified\n}\n\nfunction dedupe (latest, extended, sealed) {\n // compare latest and sealed to ensure lifecycle hooks won't be duplicated\n // between merges\n if (Array.isArray(latest)) {\n var res = [];\n sealed = Array.isArray(sealed) ? sealed : [sealed];\n extended = Array.isArray(extended) ? extended : [extended];\n for (var i = 0; i < latest.length; i++) {\n // push original options and not sealed options to exclude duplicated options\n if (extended.indexOf(latest[i]) >= 0 || sealed.indexOf(latest[i]) < 0) {\n res.push(latest[i]);\n }\n }\n return res\n } else {\n return latest\n }\n}\n\nfunction Vue (options) {\n if (false\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (false) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (false) {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n var this$1 = this;\n\n for (var key in this$1.cache) {\n pruneCacheEntry(this$1.cache, key, this$1.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n}\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n}\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (false) {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.5.16';\n\n/* */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n return (\n (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video')\n )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isBooleanAttr = makeMap(\n 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,translate,' +\n 'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n return val == null || val === false\n};\n\n/* */\n\nfunction genClassForVnode (vnode) {\n var data = vnode.data;\n var parentNode = vnode;\n var childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n while (isDef(parentNode = parentNode.parent)) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class)\n ? [child.class, parent.class]\n : parent.class\n }\n}\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n 'html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n true\n);\n\nvar isPreTag = function (tag) { return tag === 'pre'; };\n\nvar isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n if (isSVG(tag)) {\n return 'svg'\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math'\n }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true\n }\n if (isReservedTag(tag)) {\n return false\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag]\n }\n var el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] = (\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement\n ))\n } else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/* */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n \"production\" !== 'production' && warn(\n 'Cannot find element: ' + el\n );\n return document.createElement('div')\n }\n return selected\n } else {\n return el\n }\n}\n\n/* */\n\nfunction createElement$1 (tagName, vnode) {\n var elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode (node) {\n return node.parentNode\n}\n\nfunction nextSibling (node) {\n return node.nextSibling\n}\n\nfunction tagName (node) {\n return node.tagName\n}\n\nfunction setTextContent (node, text) {\n node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\n\nvar nodeOps = Object.freeze({\n\tcreateElement: createElement$1,\n\tcreateElementNS: createElementNS,\n\tcreateTextNode: createTextNode,\n\tcreateComment: createComment,\n\tinsertBefore: insertBefore,\n\tremoveChild: removeChild,\n\tappendChild: appendChild,\n\tparentNode: parentNode,\n\tnextSibling: nextSibling,\n\ttagName: tagName,\n\tsetTextContent: setTextContent,\n\tsetStyleScope: setStyleScope\n});\n\n/* */\n\nvar ref = {\n create: function create (_, vnode) {\n registerRef(vnode);\n },\n update: function update (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy: function destroy (vnode) {\n registerRef(vnode, true);\n }\n}\n\nfunction registerRef (vnode, isRemoval) {\n var key = vnode.data.ref;\n if (!isDef(key)) { return }\n\n var vm = vnode.context;\n var ref = vnode.componentInstance || vnode.elm;\n var refs = vm.$refs;\n if (isRemoval) {\n if (Array.isArray(refs[key])) {\n remove(refs[key], ref);\n } else if (refs[key] === ref) {\n refs[key] = undefined;\n }\n } else {\n if (vnode.data.refInFor) {\n if (!Array.isArray(refs[key])) {\n refs[key] = [ref];\n } else if (refs[key].indexOf(ref) < 0) {\n // $flow-disable-line\n refs[key].push(ref);\n }\n } else {\n refs[key] = ref;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n return (\n a.key === b.key && (\n (\n a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)\n ) || (\n isTrue(a.isAsyncPlaceholder) &&\n a.asyncFactory === b.asyncFactory &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n}\n\nfunction sameInputType (a, b) {\n if (a.tag !== 'input') { return true }\n var i;\n var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n var i, key;\n var map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key)) { map[key] = i; }\n }\n return map\n}\n\nfunction createPatchFunction (backend) {\n var i, j;\n var cbs = {};\n\n var modules = backend.modules;\n var nodeOps = backend.nodeOps;\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n\n function emptyNodeAt (elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n }\n\n function createRmCb (childElm, listeners) {\n function remove () {\n if (--remove.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove.listeners = listeners;\n return remove\n }\n\n function removeNode (el) {\n var parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n\n function isUnknownElement$$1 (vnode, inVPre) {\n return (\n !inVPre &&\n !vnode.ns &&\n !(\n config.ignoredElements.length &&\n config.ignoredElements.some(function (ignore) {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag\n })\n ) &&\n config.isUnknownElement(vnode.tag)\n )\n }\n\n var creatingElmInVPre = 0;\n\n function createElm (\n vnode,\n insertedVnodeQueue,\n parentElm,\n refElm,\n nested,\n ownerArray,\n index\n ) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return\n }\n\n var data = vnode.data;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n if (false) {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n warn(\n 'Unknown custom element: <' + tag + '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.',\n vnode.context\n );\n }\n }\n\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n\n /* istanbul ignore if */\n {\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n }\n\n if (false) {\n creatingElmInVPre--;\n }\n } else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n } else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n\n function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i = vnode.data;\n if (isDef(i)) {\n var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef(i = i.hook) && isDef(i = i.init)) {\n i(vnode, false /* hydrating */, parentElm, refElm);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true\n }\n }\n }\n\n function initComponent (vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n } else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n\n function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n var innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n\n function insert (parent, elm, ref$$1) {\n if (isDef(parent)) {\n if (isDef(ref$$1)) {\n if (ref$$1.parentNode === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n if (false) {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (parentElm, vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by <transition-group>\n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n\n if (false) {\n checkDuplicateKeys(newCh);\n }\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n } else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue);\n canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue);\n canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) { // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n } else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (oldVnode, vnode, insertedVnodeQueue, removeOnly) {\n if (oldVnode === vnode) {\n return\n }\n\n var elm = vnode.elm = oldVnode.elm;\n\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n } else {\n vnode.isAsyncPlaceholder = true;\n }\n return\n }\n\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n ) {\n vnode.componentInstance = oldVnode.componentInstance;\n return\n }\n\n var i;\n var data = vnode.data;\n if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n i(oldVnode, vnode);\n }\n\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n } else if (isDef(ch)) {\n if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (false) {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (false\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (false\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly, parentElm, refElm) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n return\n }\n\n var isInitialPatch = false;\n var insertedVnodeQueue = [];\n\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue, parentElm, refElm);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, removeOnly);\n } else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode\n } else if (false) {\n warn(\n 'The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n '<p>, or missing <tbody>. Bailing hydration and performing ' +\n 'full client-side render.'\n );\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n // replacing existing element\n var oldElm = oldVnode.elm;\n var parentElm$1 = nodeOps.parentNode(oldElm);\n\n // create new node\n createElm(\n vnode,\n insertedVnodeQueue,\n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm$1,\n nodeOps.nextSibling(oldElm)\n );\n\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n var ancestor = vnode.parent;\n var patchable = isPatchable(vnode);\n while (ancestor) {\n for (var i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n var insert = ancestor.data.hook.insert;\n if (insert.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n insert.fns[i$2]();\n }\n }\n } else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n\n // destroy old node\n if (isDef(parentElm$1)) {\n removeVnodes(parentElm$1, [oldVnode], 0, 0);\n } else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm\n }\n}\n\n/* */\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n}\n\nfunction updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\n\nfunction _update (oldVnode, vnode) {\n var isCreate = oldVnode === emptyNode;\n var isDestroy = vnode === emptyNode;\n var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n var dirsWithInsert = [];\n var dirsWithPostpatch = [];\n\n var key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook$1(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n } else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n callHook$1(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n\n if (dirsWithInsert.length) {\n var callInsert = function () {\n for (var i = 0; i < dirsWithInsert.length; i++) {\n callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n } else {\n callInsert();\n }\n }\n\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n for (var i = 0; i < dirsWithPostpatch.length; i++) {\n callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n dirs,\n vm\n) {\n var res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res\n }\n var i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res\n}\n\nfunction getRawDirName (dir) {\n return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n var fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n } catch (e) {\n handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n }\n }\n}\n\nvar baseModules = [\n ref,\n directives\n]\n\n/* */\n\nfunction updateAttrs (oldVnode, vnode) {\n var opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return\n }\n var key, cur, old;\n var elm = vnode.elm;\n var oldAttrs = oldVnode.data.attrs || {};\n var attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\n\nfunction setAttr (el, key, value) {\n if (el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n } else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. <option disabled>Select one</option>\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for <iframe>,\n // but Flash expects a value of \"true\" when used on <embed> tag\n value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n ? 'true'\n : key;\n el.setAttribute(key, value);\n }\n } else if (isEnumeratedAttr(key)) {\n el.setAttribute(key, isFalsyAttrValue(value) || value === 'false' ? 'false' : 'true');\n } else if (isXlink(key)) {\n if (isFalsyAttrValue(value)) {\n el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n baseSetAttr(el, key, value);\n }\n}\n\nfunction baseSetAttr (el, key, value) {\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // #7138: IE10 & 11 fires input event when setting placeholder on\n // <textarea>... block the first input event and remove the blocker\n // immediately.\n /* istanbul ignore if */\n if (\n isIE && !isIE9 &&\n el.tagName === 'TEXTAREA' &&\n key === 'placeholder' && !el.__ieph\n ) {\n var blocker = function (e) {\n e.stopImmediatePropagation();\n el.removeEventListener('input', blocker);\n };\n el.addEventListener('input', blocker);\n // $flow-disable-line\n el.__ieph = true; /* IE placeholder patched */\n }\n el.setAttribute(key, value);\n }\n}\n\nvar attrs = {\n create: updateAttrs,\n update: updateAttrs\n}\n\n/* */\n\nfunction updateClass (oldVnode, vnode) {\n var el = vnode.elm;\n var data = vnode.data;\n var oldData = oldVnode.data;\n if (\n isUndef(data.staticClass) &&\n isUndef(data.class) && (\n isUndef(oldData) || (\n isUndef(oldData.staticClass) &&\n isUndef(oldData.class)\n )\n )\n ) {\n return\n }\n\n var cls = genClassForVnode(vnode);\n\n // handle transition classes\n var transitionClass = el._transitionClasses;\n if (isDef(transitionClass)) {\n cls = concat(cls, stringifyClass(transitionClass));\n }\n\n // set the class\n if (cls !== el._prevClass) {\n el.setAttribute('class', cls);\n el._prevClass = cls;\n }\n}\n\nvar klass = {\n create: updateClass,\n update: updateClass\n}\n\n/* */\n\nvar validDivisionCharRE = /[\\w).+\\-_$\\]]/;\n\nfunction parseFilters (exp) {\n var inSingle = false;\n var inDouble = false;\n var inTemplateString = false;\n var inRegex = false;\n var curly = 0;\n var square = 0;\n var paren = 0;\n var lastFilterIndex = 0;\n var c, prev, i, expression, filters;\n\n for (i = 0; i < exp.length; i++) {\n prev = c;\n c = exp.charCodeAt(i);\n if (inSingle) {\n if (c === 0x27 && prev !== 0x5C) { inSingle = false; }\n } else if (inDouble) {\n if (c === 0x22 && prev !== 0x5C) { inDouble = false; }\n } else if (inTemplateString) {\n if (c === 0x60 && prev !== 0x5C) { inTemplateString = false; }\n } else if (inRegex) {\n if (c === 0x2f && prev !== 0x5C) { inRegex = false; }\n } else if (\n c === 0x7C && // pipe\n exp.charCodeAt(i + 1) !== 0x7C &&\n exp.charCodeAt(i - 1) !== 0x7C &&\n !curly && !square && !paren\n ) {\n if (expression === undefined) {\n // first filter, end of expression\n lastFilterIndex = i + 1;\n expression = exp.slice(0, i).trim();\n } else {\n pushFilter();\n }\n } else {\n switch (c) {\n case 0x22: inDouble = true; break // \"\n case 0x27: inSingle = true; break // '\n case 0x60: inTemplateString = true; break // `\n case 0x28: paren++; break // (\n case 0x29: paren--; break // )\n case 0x5B: square++; break // [\n case 0x5D: square--; break // ]\n case 0x7B: curly++; break // {\n case 0x7D: curly--; break // }\n }\n if (c === 0x2f) { // /\n var j = i - 1;\n var p = (void 0);\n // find first non-whitespace prev char\n for (; j >= 0; j--) {\n p = exp.charAt(j);\n if (p !== ' ') { break }\n }\n if (!p || !validDivisionCharRE.test(p)) {\n inRegex = true;\n }\n }\n }\n }\n\n if (expression === undefined) {\n expression = exp.slice(0, i).trim();\n } else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n\n function pushFilter () {\n (filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim());\n lastFilterIndex = i + 1;\n }\n\n if (filters) {\n for (i = 0; i < filters.length; i++) {\n expression = wrapFilter(expression, filters[i]);\n }\n }\n\n return expression\n}\n\nfunction wrapFilter (exp, filter) {\n var i = filter.indexOf('(');\n if (i < 0) {\n // _f: resolveFilter\n return (\"_f(\\\"\" + filter + \"\\\")(\" + exp + \")\")\n } else {\n var name = filter.slice(0, i);\n var args = filter.slice(i + 1);\n return (\"_f(\\\"\" + name + \"\\\")(\" + exp + (args !== ')' ? ',' + args : args))\n }\n}\n\n/* */\n\nfunction baseWarn (msg) {\n console.error((\"[Vue compiler]: \" + msg));\n}\n\nfunction pluckModuleFunction (\n modules,\n key\n) {\n return modules\n ? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; })\n : []\n}\n\nfunction addProp (el, name, value) {\n (el.props || (el.props = [])).push({ name: name, value: value });\n el.plain = false;\n}\n\nfunction addAttr (el, name, value) {\n (el.attrs || (el.attrs = [])).push({ name: name, value: value });\n el.plain = false;\n}\n\n// add a raw attr (use this in preTransforms)\nfunction addRawAttr (el, name, value) {\n el.attrsMap[name] = value;\n el.attrsList.push({ name: name, value: value });\n}\n\nfunction addDirective (\n el,\n name,\n rawName,\n value,\n arg,\n modifiers\n) {\n (el.directives || (el.directives = [])).push({ name: name, rawName: rawName, value: value, arg: arg, modifiers: modifiers });\n el.plain = false;\n}\n\nfunction addHandler (\n el,\n name,\n value,\n modifiers,\n important,\n warn\n) {\n modifiers = modifiers || emptyObject;\n // warn prevent and passive modifier\n /* istanbul ignore if */\n if (\n false\n ) {\n warn(\n 'passive and prevent can\\'t be used together. ' +\n 'Passive handler can\\'t prevent default event.'\n );\n }\n\n // check capture modifier\n if (modifiers.capture) {\n delete modifiers.capture;\n name = '!' + name; // mark the event as captured\n }\n if (modifiers.once) {\n delete modifiers.once;\n name = '~' + name; // mark the event as once\n }\n /* istanbul ignore if */\n if (modifiers.passive) {\n delete modifiers.passive;\n name = '&' + name; // mark the event as passive\n }\n\n // normalize click.right and click.middle since they don't actually fire\n // this is technically browser-specific, but at least for now browsers are\n // the only target envs that have right/middle clicks.\n if (name === 'click') {\n if (modifiers.right) {\n name = 'contextmenu';\n delete modifiers.right;\n } else if (modifiers.middle) {\n name = 'mouseup';\n }\n }\n\n var events;\n if (modifiers.native) {\n delete modifiers.native;\n events = el.nativeEvents || (el.nativeEvents = {});\n } else {\n events = el.events || (el.events = {});\n }\n\n var newHandler = {\n value: value.trim()\n };\n if (modifiers !== emptyObject) {\n newHandler.modifiers = modifiers;\n }\n\n var handlers = events[name];\n /* istanbul ignore if */\n if (Array.isArray(handlers)) {\n important ? handlers.unshift(newHandler) : handlers.push(newHandler);\n } else if (handlers) {\n events[name] = important ? [newHandler, handlers] : [handlers, newHandler];\n } else {\n events[name] = newHandler;\n }\n\n el.plain = false;\n}\n\nfunction getBindingAttr (\n el,\n name,\n getStatic\n) {\n var dynamicValue =\n getAndRemoveAttr(el, ':' + name) ||\n getAndRemoveAttr(el, 'v-bind:' + name);\n if (dynamicValue != null) {\n return parseFilters(dynamicValue)\n } else if (getStatic !== false) {\n var staticValue = getAndRemoveAttr(el, name);\n if (staticValue != null) {\n return JSON.stringify(staticValue)\n }\n }\n}\n\n// note: this only removes the attr from the Array (attrsList) so that it\n// doesn't get processed by processAttrs.\n// By default it does NOT remove it from the map (attrsMap) because the map is\n// needed during codegen.\nfunction getAndRemoveAttr (\n el,\n name,\n removeFromMap\n) {\n var val;\n if ((val = el.attrsMap[name]) != null) {\n var list = el.attrsList;\n for (var i = 0, l = list.length; i < l; i++) {\n if (list[i].name === name) {\n list.splice(i, 1);\n break\n }\n }\n }\n if (removeFromMap) {\n delete el.attrsMap[name];\n }\n return val\n}\n\n/* */\n\n/**\n * Cross-platform code generation for component v-model\n */\nfunction genComponentModel (\n el,\n value,\n modifiers\n) {\n var ref = modifiers || {};\n var number = ref.number;\n var trim = ref.trim;\n\n var baseValueExpression = '$$v';\n var valueExpression = baseValueExpression;\n if (trim) {\n valueExpression =\n \"(typeof \" + baseValueExpression + \" === 'string'\" +\n \"? \" + baseValueExpression + \".trim()\" +\n \": \" + baseValueExpression + \")\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n var assignment = genAssignmentCode(value, valueExpression);\n\n el.model = {\n value: (\"(\" + value + \")\"),\n expression: (\"\\\"\" + value + \"\\\"\"),\n callback: (\"function (\" + baseValueExpression + \") {\" + assignment + \"}\")\n };\n}\n\n/**\n * Cross-platform codegen helper for generating v-model value assignment code.\n */\nfunction genAssignmentCode (\n value,\n assignment\n) {\n var res = parseModel(value);\n if (res.key === null) {\n return (value + \"=\" + assignment)\n } else {\n return (\"$set(\" + (res.exp) + \", \" + (res.key) + \", \" + assignment + \")\")\n }\n}\n\n/**\n * Parse a v-model expression into a base path and a final key segment.\n * Handles both dot-path and possible square brackets.\n *\n * Possible cases:\n *\n * - test\n * - test[key]\n * - test[test1[key]]\n * - test[\"a\"][key]\n * - xxx.test[a[a].test1[key]]\n * - test.xxx.a[\"asa\"][test1[key]]\n *\n */\n\nvar len;\nvar str;\nvar chr;\nvar index$1;\nvar expressionPos;\nvar expressionEndPos;\n\n\n\nfunction parseModel (val) {\n // Fix https://github.com/vuejs/vue/pull/7730\n // allow v-model=\"obj.val \" (trailing whitespace)\n val = val.trim();\n len = val.length;\n\n if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) {\n index$1 = val.lastIndexOf('.');\n if (index$1 > -1) {\n return {\n exp: val.slice(0, index$1),\n key: '\"' + val.slice(index$1 + 1) + '\"'\n }\n } else {\n return {\n exp: val,\n key: null\n }\n }\n }\n\n str = val;\n index$1 = expressionPos = expressionEndPos = 0;\n\n while (!eof()) {\n chr = next();\n /* istanbul ignore if */\n if (isStringStart(chr)) {\n parseString(chr);\n } else if (chr === 0x5B) {\n parseBracket(chr);\n }\n }\n\n return {\n exp: val.slice(0, expressionPos),\n key: val.slice(expressionPos + 1, expressionEndPos)\n }\n}\n\nfunction next () {\n return str.charCodeAt(++index$1)\n}\n\nfunction eof () {\n return index$1 >= len\n}\n\nfunction isStringStart (chr) {\n return chr === 0x22 || chr === 0x27\n}\n\nfunction parseBracket (chr) {\n var inBracket = 1;\n expressionPos = index$1;\n while (!eof()) {\n chr = next();\n if (isStringStart(chr)) {\n parseString(chr);\n continue\n }\n if (chr === 0x5B) { inBracket++; }\n if (chr === 0x5D) { inBracket--; }\n if (inBracket === 0) {\n expressionEndPos = index$1;\n break\n }\n }\n}\n\nfunction parseString (chr) {\n var stringQuote = chr;\n while (!eof()) {\n chr = next();\n if (chr === stringQuote) {\n break\n }\n }\n}\n\n/* */\n\nvar warn$1;\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\nfunction model (\n el,\n dir,\n _warn\n) {\n warn$1 = _warn;\n var value = dir.value;\n var modifiers = dir.modifiers;\n var tag = el.tag;\n var type = el.attrsMap.type;\n\n if (false) {\n // inputs with type=\"file\" are read only and setting the input's\n // value will throw an error.\n if (tag === 'input' && type === 'file') {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\" type=\\\"file\\\">:\\n\" +\n \"File inputs are read only. Use a v-on:change listener instead.\"\n );\n }\n }\n\n if (el.component) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (tag === 'select') {\n genSelect(el, value, modifiers);\n } else if (tag === 'input' && type === 'checkbox') {\n genCheckboxModel(el, value, modifiers);\n } else if (tag === 'input' && type === 'radio') {\n genRadioModel(el, value, modifiers);\n } else if (tag === 'input' || tag === 'textarea') {\n genDefaultModel(el, value, modifiers);\n } else if (!config.isReservedTag(tag)) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (false) {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"v-model is not supported on this element type. \" +\n 'If you are working with contenteditable, it\\'s recommended to ' +\n 'wrap a library dedicated for that purpose inside a custom component.'\n );\n }\n\n // ensure runtime directive metadata\n return true\n}\n\nfunction genCheckboxModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n var trueValueBinding = getBindingAttr(el, 'true-value') || 'true';\n var falseValueBinding = getBindingAttr(el, 'false-value') || 'false';\n addProp(el, 'checked',\n \"Array.isArray(\" + value + \")\" +\n \"?_i(\" + value + \",\" + valueBinding + \")>-1\" + (\n trueValueBinding === 'true'\n ? (\":(\" + value + \")\")\n : (\":_q(\" + value + \",\" + trueValueBinding + \")\")\n )\n );\n addHandler(el, 'change',\n \"var $$a=\" + value + \",\" +\n '$$el=$event.target,' +\n \"$$c=$$el.checked?(\" + trueValueBinding + \"):(\" + falseValueBinding + \");\" +\n 'if(Array.isArray($$a)){' +\n \"var $$v=\" + (number ? '_n(' + valueBinding + ')' : valueBinding) + \",\" +\n '$$i=_i($$a,$$v);' +\n \"if($$el.checked){$$i<0&&(\" + (genAssignmentCode(value, '$$a.concat([$$v])')) + \")}\" +\n \"else{$$i>-1&&(\" + (genAssignmentCode(value, '$$a.slice(0,$$i).concat($$a.slice($$i+1))')) + \")}\" +\n \"}else{\" + (genAssignmentCode(value, '$$c')) + \"}\",\n null, true\n );\n}\n\nfunction genRadioModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n valueBinding = number ? (\"_n(\" + valueBinding + \")\") : valueBinding;\n addProp(el, 'checked', (\"_q(\" + value + \",\" + valueBinding + \")\"));\n addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true);\n}\n\nfunction genSelect (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var selectedVal = \"Array.prototype.filter\" +\n \".call($event.target.options,function(o){return o.selected})\" +\n \".map(function(o){var val = \\\"_value\\\" in o ? o._value : o.value;\" +\n \"return \" + (number ? '_n(val)' : 'val') + \"})\";\n\n var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]';\n var code = \"var $$selectedVal = \" + selectedVal + \";\";\n code = code + \" \" + (genAssignmentCode(value, assignment));\n addHandler(el, 'change', code, null, true);\n}\n\nfunction genDefaultModel (\n el,\n value,\n modifiers\n) {\n var type = el.attrsMap.type;\n\n // warn if v-bind:value conflicts with v-model\n // except for inputs with v-bind:type\n if (false) {\n var value$1 = el.attrsMap['v-bind:value'] || el.attrsMap[':value'];\n var typeBinding = el.attrsMap['v-bind:type'] || el.attrsMap[':type'];\n if (value$1 && !typeBinding) {\n var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value';\n warn$1(\n binding + \"=\\\"\" + value$1 + \"\\\" conflicts with v-model on the same element \" +\n 'because the latter already expands to a value binding internally'\n );\n }\n }\n\n var ref = modifiers || {};\n var lazy = ref.lazy;\n var number = ref.number;\n var trim = ref.trim;\n var needCompositionGuard = !lazy && type !== 'range';\n var event = lazy\n ? 'change'\n : type === 'range'\n ? RANGE_TOKEN\n : 'input';\n\n var valueExpression = '$event.target.value';\n if (trim) {\n valueExpression = \"$event.target.value.trim()\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n\n var code = genAssignmentCode(value, valueExpression);\n if (needCompositionGuard) {\n code = \"if($event.target.composing)return;\" + code;\n }\n\n addProp(el, 'value', (\"(\" + value + \")\"));\n addHandler(el, event, code, null, true);\n if (trim || number) {\n addHandler(el, 'blur', '$forceUpdate()');\n }\n}\n\n/* */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n /* istanbul ignore if */\n if (isDef(on[RANGE_TOKEN])) {\n // IE input[type=range] only supports `change` event\n var event = isIE ? 'change' : 'input';\n on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n delete on[RANGE_TOKEN];\n }\n // This was originally intended to fix #4521 but no longer necessary\n // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n /* istanbul ignore if */\n if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n delete on[CHECKBOX_RADIO_TOKEN];\n }\n}\n\nvar target$1;\n\nfunction createOnceHandler (handler, event, capture) {\n var _target = target$1; // save current target element in closure\n return function onceHandler () {\n var res = handler.apply(null, arguments);\n if (res !== null) {\n remove$2(event, onceHandler, capture, _target);\n }\n }\n}\n\nfunction add$1 (\n event,\n handler,\n once$$1,\n capture,\n passive\n) {\n handler = withMacroTask(handler);\n if (once$$1) { handler = createOnceHandler(handler, event, capture); }\n target$1.addEventListener(\n event,\n handler,\n supportsPassive\n ? { capture: capture, passive: passive }\n : capture\n );\n}\n\nfunction remove$2 (\n event,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n event,\n handler._withTask || handler,\n capture\n );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n return\n }\n var on = vnode.data.on || {};\n var oldOn = oldVnode.data.on || {};\n target$1 = vnode.elm;\n normalizeEvents(on);\n updateListeners(on, oldOn, add$1, remove$2, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n}\n\n/* */\n\nfunction updateDOMProps (oldVnode, vnode) {\n if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n return\n }\n var key, cur;\n var elm = vnode.elm;\n var oldProps = oldVnode.data.domProps || {};\n var props = vnode.data.domProps || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(props.__ob__)) {\n props = vnode.data.domProps = extend({}, props);\n }\n\n for (key in oldProps) {\n if (isUndef(props[key])) {\n elm[key] = '';\n }\n }\n for (key in props) {\n cur = props[key];\n // ignore children if the node has textContent or innerHTML,\n // as these will throw away existing DOM nodes and cause removal errors\n // on subsequent patches (#3360)\n if (key === 'textContent' || key === 'innerHTML') {\n if (vnode.children) { vnode.children.length = 0; }\n if (cur === oldProps[key]) { continue }\n // #6601 work around Chrome version <= 55 bug where single textNode\n // replaced by innerHTML/textContent retains its parentNode property\n if (elm.childNodes.length === 1) {\n elm.removeChild(elm.childNodes[0]);\n }\n }\n\n if (key === 'value') {\n // store value as _value as well since\n // non-string values will be stringified\n elm._value = cur;\n // avoid resetting cursor position when value is the same\n var strCur = isUndef(cur) ? '' : String(cur);\n if (shouldUpdateValue(elm, strCur)) {\n elm.value = strCur;\n }\n } else {\n elm[key] = cur;\n }\n }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n return (!elm.composing && (\n elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)\n ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n // return true when textbox (.number and .trim) loses focus and its value is\n // not equal to the updated value\n var notInFocus = true;\n // #6157\n // work around IE bug when accessing document.activeElement in an iframe\n try { notInFocus = document.activeElement !== elm; } catch (e) {}\n return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n var value = elm.value;\n var modifiers = elm._vModifiers; // injected by v-model runtime\n if (isDef(modifiers)) {\n if (modifiers.lazy) {\n // inputs with lazy should only be updated when not in focus\n return false\n }\n if (modifiers.number) {\n return toNumber(value) !== toNumber(newVal)\n }\n if (modifiers.trim) {\n return value.trim() !== newVal.trim()\n }\n }\n return value !== newVal\n}\n\nvar domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n}\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n var style = normalizeStyleBinding(data.style);\n // static style is pre-processed into an object during compilation\n // and is always a fresh object, so it's safe to merge into it\n return data.staticStyle\n ? extend(data.staticStyle, style)\n : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n var res = {};\n var styleData;\n\n if (checkChild) {\n var childNode = vnode;\n while (childNode.componentInstance) {\n childNode = childNode.componentInstance._vnode;\n if (\n childNode && childNode.data &&\n (styleData = normalizeStyleData(childNode.data))\n ) {\n extend(res, styleData);\n }\n }\n }\n\n if ((styleData = normalizeStyleData(vnode.data))) {\n extend(res, styleData);\n }\n\n var parentNode = vnode;\n while ((parentNode = parentNode.parent)) {\n if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n extend(res, styleData);\n }\n }\n return res\n}\n\n/* */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n /* istanbul ignore if */\n if (cssVarRE.test(name)) {\n el.style.setProperty(name, val);\n } else if (importantRE.test(val)) {\n el.style.setProperty(name, val.replace(importantRE, ''), 'important');\n } else {\n var normalizedName = normalize(name);\n if (Array.isArray(val)) {\n // Support values array created by autoprefixer, e.g.\n // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n // Set them one by one, and the browser will only set those it can recognize\n for (var i = 0, len = val.length; i < len; i++) {\n el.style[normalizedName] = val[i];\n }\n } else {\n el.style[normalizedName] = val;\n }\n }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n emptyStyle = emptyStyle || document.createElement('div').style;\n prop = camelize(prop);\n if (prop !== 'filter' && (prop in emptyStyle)) {\n return prop\n }\n var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n for (var i = 0; i < vendorNames.length; i++) {\n var name = vendorNames[i] + capName;\n if (name in emptyStyle) {\n return name\n }\n }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n var data = vnode.data;\n var oldData = oldVnode.data;\n\n if (isUndef(data.staticStyle) && isUndef(data.style) &&\n isUndef(oldData.staticStyle) && isUndef(oldData.style)\n ) {\n return\n }\n\n var cur, name;\n var el = vnode.elm;\n var oldStaticStyle = oldData.staticStyle;\n var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n var oldStyle = oldStaticStyle || oldStyleBinding;\n\n var style = normalizeStyleBinding(vnode.data.style) || {};\n\n // store normalized style under a different key for next diff\n // make sure to clone it if it's reactive, since the user likely wants\n // to mutate it.\n vnode.data.normalizedStyle = isDef(style.__ob__)\n ? extend({}, style)\n : style;\n\n var newStyle = getStyle(vnode, true);\n\n for (name in oldStyle) {\n if (isUndef(newStyle[name])) {\n setProp(el, name, '');\n }\n }\n for (name in newStyle) {\n cur = newStyle[name];\n if (cur !== oldStyle[name]) {\n // ie9 setting to null has no effect, must use empty string\n setProp(el, name, cur == null ? '' : cur);\n }\n }\n}\n\nvar style = {\n create: updateStyle,\n update: updateStyle\n}\n\n/* */\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(/\\s+/).forEach(function (c) { return el.classList.add(c); });\n } else {\n el.classList.add(cls);\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n el.setAttribute('class', (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(/\\s+/).forEach(function (c) { return el.classList.remove(c); });\n } else {\n el.classList.remove(cls);\n }\n if (!el.classList.length) {\n el.removeAttribute('class');\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n cur = cur.trim();\n if (cur) {\n el.setAttribute('class', cur);\n } else {\n el.removeAttribute('class');\n }\n }\n}\n\n/* */\n\nfunction resolveTransition (def) {\n if (!def) {\n return\n }\n /* istanbul ignore else */\n if (typeof def === 'object') {\n var res = {};\n if (def.css !== false) {\n extend(res, autoCssTransition(def.name || 'v'));\n }\n extend(res, def);\n return res\n } else if (typeof def === 'string') {\n return autoCssTransition(def)\n }\n}\n\nvar autoCssTransition = cached(function (name) {\n return {\n enterClass: (name + \"-enter\"),\n enterToClass: (name + \"-enter-to\"),\n enterActiveClass: (name + \"-enter-active\"),\n leaveClass: (name + \"-leave\"),\n leaveToClass: (name + \"-leave-to\"),\n leaveActiveClass: (name + \"-leave-active\")\n }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n /* istanbul ignore if */\n if (window.ontransitionend === undefined &&\n window.onwebkittransitionend !== undefined\n ) {\n transitionProp = 'WebkitTransition';\n transitionEndEvent = 'webkitTransitionEnd';\n }\n if (window.onanimationend === undefined &&\n window.onwebkitanimationend !== undefined\n ) {\n animationProp = 'WebkitAnimation';\n animationEndEvent = 'webkitAnimationEnd';\n }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n raf(function () {\n raf(fn);\n });\n}\n\nfunction addTransitionClass (el, cls) {\n var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n if (transitionClasses.indexOf(cls) < 0) {\n transitionClasses.push(cls);\n addClass(el, cls);\n }\n}\n\nfunction removeTransitionClass (el, cls) {\n if (el._transitionClasses) {\n remove(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n el,\n expectedType,\n cb\n) {\n var ref = getTransitionInfo(el, expectedType);\n var type = ref.type;\n var timeout = ref.timeout;\n var propCount = ref.propCount;\n if (!type) { return cb() }\n var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n var ended = 0;\n var end = function () {\n el.removeEventListener(event, onEnd);\n cb();\n };\n var onEnd = function (e) {\n if (e.target === el) {\n if (++ended >= propCount) {\n end();\n }\n }\n };\n setTimeout(function () {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n var styles = window.getComputedStyle(el);\n var transitionDelays = styles[transitionProp + 'Delay'].split(', ');\n var transitionDurations = styles[transitionProp + 'Duration'].split(', ');\n var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n var animationDelays = styles[animationProp + 'Delay'].split(', ');\n var animationDurations = styles[animationProp + 'Duration'].split(', ');\n var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n var type;\n var timeout = 0;\n var propCount = 0;\n /* istanbul ignore if */\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0\n ? transitionTimeout > animationTimeout\n ? TRANSITION\n : ANIMATION\n : null;\n propCount = type\n ? type === TRANSITION\n ? transitionDurations.length\n : animationDurations.length\n : 0;\n }\n var hasTransform =\n type === TRANSITION &&\n transformRE.test(styles[transitionProp + 'Property']);\n return {\n type: type,\n timeout: timeout,\n propCount: propCount,\n hasTransform: hasTransform\n }\n}\n\nfunction getTimeout (delays, durations) {\n /* istanbul ignore next */\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n\n return Math.max.apply(null, durations.map(function (d, i) {\n return toMs(d) + toMs(delays[i])\n }))\n}\n\nfunction toMs (s) {\n return Number(s.slice(0, -1)) * 1000\n}\n\n/* */\n\nfunction enter (vnode, toggleDisplay) {\n var el = vnode.elm;\n\n // call leave callback now\n if (isDef(el._leaveCb)) {\n el._leaveCb.cancelled = true;\n el._leaveCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data)) {\n return\n }\n\n /* istanbul ignore if */\n if (isDef(el._enterCb) || el.nodeType !== 1) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var enterClass = data.enterClass;\n var enterToClass = data.enterToClass;\n var enterActiveClass = data.enterActiveClass;\n var appearClass = data.appearClass;\n var appearToClass = data.appearToClass;\n var appearActiveClass = data.appearActiveClass;\n var beforeEnter = data.beforeEnter;\n var enter = data.enter;\n var afterEnter = data.afterEnter;\n var enterCancelled = data.enterCancelled;\n var beforeAppear = data.beforeAppear;\n var appear = data.appear;\n var afterAppear = data.afterAppear;\n var appearCancelled = data.appearCancelled;\n var duration = data.duration;\n\n // activeInstance will always be the <transition> component managing this\n // transition. One edge case to check is when the <transition> is placed\n // as the root node of a child component. In that case we need to check\n // <transition>'s parent for appear check.\n var context = activeInstance;\n var transitionNode = activeInstance.$vnode;\n while (transitionNode && transitionNode.parent) {\n transitionNode = transitionNode.parent;\n context = transitionNode.context;\n }\n\n var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n if (isAppear && !appear && appear !== '') {\n return\n }\n\n var startClass = isAppear && appearClass\n ? appearClass\n : enterClass;\n var activeClass = isAppear && appearActiveClass\n ? appearActiveClass\n : enterActiveClass;\n var toClass = isAppear && appearToClass\n ? appearToClass\n : enterToClass;\n\n var beforeEnterHook = isAppear\n ? (beforeAppear || beforeEnter)\n : beforeEnter;\n var enterHook = isAppear\n ? (typeof appear === 'function' ? appear : enter)\n : enter;\n var afterEnterHook = isAppear\n ? (afterAppear || afterEnter)\n : afterEnter;\n var enterCancelledHook = isAppear\n ? (appearCancelled || enterCancelled)\n : enterCancelled;\n\n var explicitEnterDuration = toNumber(\n isObject(duration)\n ? duration.enter\n : duration\n );\n\n if (false) {\n checkDuration(explicitEnterDuration, 'enter', vnode);\n }\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(enterHook);\n\n var cb = el._enterCb = once(function () {\n if (expectsCSS) {\n removeTransitionClass(el, toClass);\n removeTransitionClass(el, activeClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, startClass);\n }\n enterCancelledHook && enterCancelledHook(el);\n } else {\n afterEnterHook && afterEnterHook(el);\n }\n el._enterCb = null;\n });\n\n if (!vnode.data.show) {\n // remove pending leave element on enter by injecting an insert hook\n mergeVNodeHook(vnode, 'insert', function () {\n var parent = el.parentNode;\n var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n if (pendingNode &&\n pendingNode.tag === vnode.tag &&\n pendingNode.elm._leaveCb\n ) {\n pendingNode.elm._leaveCb();\n }\n enterHook && enterHook(el, cb);\n });\n }\n\n // start enter transition\n beforeEnterHook && beforeEnterHook(el);\n if (expectsCSS) {\n addTransitionClass(el, startClass);\n addTransitionClass(el, activeClass);\n nextFrame(function () {\n removeTransitionClass(el, startClass);\n if (!cb.cancelled) {\n addTransitionClass(el, toClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitEnterDuration)) {\n setTimeout(cb, explicitEnterDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n\n if (vnode.data.show) {\n toggleDisplay && toggleDisplay();\n enterHook && enterHook(el, cb);\n }\n\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n}\n\nfunction leave (vnode, rm) {\n var el = vnode.elm;\n\n // call enter callback now\n if (isDef(el._enterCb)) {\n el._enterCb.cancelled = true;\n el._enterCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data) || el.nodeType !== 1) {\n return rm()\n }\n\n /* istanbul ignore if */\n if (isDef(el._leaveCb)) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var leaveClass = data.leaveClass;\n var leaveToClass = data.leaveToClass;\n var leaveActiveClass = data.leaveActiveClass;\n var beforeLeave = data.beforeLeave;\n var leave = data.leave;\n var afterLeave = data.afterLeave;\n var leaveCancelled = data.leaveCancelled;\n var delayLeave = data.delayLeave;\n var duration = data.duration;\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(leave);\n\n var explicitLeaveDuration = toNumber(\n isObject(duration)\n ? duration.leave\n : duration\n );\n\n if (false) {\n checkDuration(explicitLeaveDuration, 'leave', vnode);\n }\n\n var cb = el._leaveCb = once(function () {\n if (el.parentNode && el.parentNode._pending) {\n el.parentNode._pending[vnode.key] = null;\n }\n if (expectsCSS) {\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, leaveClass);\n }\n leaveCancelled && leaveCancelled(el);\n } else {\n rm();\n afterLeave && afterLeave(el);\n }\n el._leaveCb = null;\n });\n\n if (delayLeave) {\n delayLeave(performLeave);\n } else {\n performLeave();\n }\n\n function performLeave () {\n // the delayed leave may have already been cancelled\n if (cb.cancelled) {\n return\n }\n // record leaving element\n if (!vnode.data.show) {\n (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n }\n beforeLeave && beforeLeave(el);\n if (expectsCSS) {\n addTransitionClass(el, leaveClass);\n addTransitionClass(el, leaveActiveClass);\n nextFrame(function () {\n removeTransitionClass(el, leaveClass);\n if (!cb.cancelled) {\n addTransitionClass(el, leaveToClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitLeaveDuration)) {\n setTimeout(cb, explicitLeaveDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n leave && leave(el, cb);\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n if (typeof val !== 'number') {\n warn(\n \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n \"got \" + (JSON.stringify(val)) + \".\",\n vnode.context\n );\n } else if (isNaN(val)) {\n warn(\n \"<transition> explicit \" + name + \" duration is NaN - \" +\n 'the duration expression might be incorrect.',\n vnode.context\n );\n }\n}\n\nfunction isValidDuration (val) {\n return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n if (isUndef(fn)) {\n return false\n }\n var invokerFns = fn.fns;\n if (isDef(invokerFns)) {\n // invoker\n return getHookArgumentsLength(\n Array.isArray(invokerFns)\n ? invokerFns[0]\n : invokerFns\n )\n } else {\n return (fn._length || fn.length) > 1\n }\n}\n\nfunction _enter (_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n}\n\nvar transition = inBrowser ? {\n create: _enter,\n activate: _enter,\n remove: function remove$$1 (vnode, rm) {\n /* istanbul ignore else */\n if (vnode.data.show !== true) {\n leave(vnode, rm);\n } else {\n rm();\n }\n }\n} : {}\n\nvar platformModules = [\n attrs,\n klass,\n events,\n domProps,\n style,\n transition\n]\n\n/* */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', function () {\n var el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nvar directive = {\n inserted: function inserted (el, binding, vnode, oldVnode) {\n if (vnode.tag === 'select') {\n // #6903\n if (oldVnode.elm && !oldVnode.elm._vOptions) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n directive.componentUpdated(el, binding, vnode);\n });\n } else {\n setSelected(el, binding, vnode.context);\n }\n el._vOptions = [].map.call(el.options, getValue);\n } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n el._vModifiers = binding.modifiers;\n if (!binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n\n componentUpdated: function componentUpdated (el, binding, vnode) {\n if (vnode.tag === 'select') {\n setSelected(el, binding, vnode.context);\n // in case the options rendered by v-for have changed,\n // it's possible that the value is out-of-sync with the rendered options.\n // detect such cases and filter out values that no longer has a matching\n // option in the DOM.\n var prevOptions = el._vOptions;\n var curOptions = el._vOptions = [].map.call(el.options, getValue);\n if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n // trigger change event if\n // no matching option found for at least one value\n var needReset = el.multiple\n ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n if (needReset) {\n trigger(el, 'change');\n }\n }\n }\n }\n};\n\nfunction setSelected (el, binding, vm) {\n actuallySetSelected(el, binding, vm);\n /* istanbul ignore if */\n if (isIE || isEdge) {\n setTimeout(function () {\n actuallySetSelected(el, binding, vm);\n }, 0);\n }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n var value = binding.value;\n var isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n \"production\" !== 'production' && warn(\n \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n vm\n );\n return\n }\n var selected, option;\n for (var i = 0, l = el.options.length; i < l; i++) {\n option = el.options[i];\n if (isMultiple) {\n selected = looseIndexOf(value, getValue(option)) > -1;\n if (option.selected !== selected) {\n option.selected = selected;\n }\n } else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) {\n el.selectedIndex = i;\n }\n return\n }\n }\n }\n if (!isMultiple) {\n el.selectedIndex = -1;\n }\n}\n\nfunction hasNoMatchingOption (value, options) {\n return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n return '_value' in option\n ? option._value\n : option.value\n}\n\nfunction onCompositionStart (e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) { return }\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n var e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode\n}\n\nvar show = {\n bind: function bind (el, ref, vnode) {\n var value = ref.value;\n\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n var originalDisplay = el.__vOriginalDisplay =\n el.style.display === 'none' ? '' : el.style.display;\n if (value && transition$$1) {\n vnode.data.show = true;\n enter(vnode, function () {\n el.style.display = originalDisplay;\n });\n } else {\n el.style.display = value ? originalDisplay : 'none';\n }\n },\n\n update: function update (el, ref, vnode) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n\n /* istanbul ignore if */\n if (!value === !oldValue) { return }\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n if (transition$$1) {\n vnode.data.show = true;\n if (value) {\n enter(vnode, function () {\n el.style.display = el.__vOriginalDisplay;\n });\n } else {\n leave(vnode, function () {\n el.style.display = 'none';\n });\n }\n } else {\n el.style.display = value ? el.__vOriginalDisplay : 'none';\n }\n },\n\n unbind: function unbind (\n el,\n binding,\n vnode,\n oldVnode,\n isDestroy\n ) {\n if (!isDestroy) {\n el.style.display = el.__vOriginalDisplay;\n }\n }\n}\n\nvar platformDirectives = {\n model: directive,\n show: show\n}\n\n/* */\n\n// Provides transition support for a single element/component.\n// supports transition mode (out-in / in-out)\n\nvar transitionProps = {\n name: String,\n appear: Boolean,\n css: Boolean,\n mode: String,\n type: String,\n enterClass: String,\n leaveClass: String,\n enterToClass: String,\n leaveToClass: String,\n enterActiveClass: String,\n leaveActiveClass: String,\n appearClass: String,\n appearActiveClass: String,\n appearToClass: String,\n duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n var compOptions = vnode && vnode.componentOptions;\n if (compOptions && compOptions.Ctor.options.abstract) {\n return getRealChild(getFirstComponentChild(compOptions.children))\n } else {\n return vnode\n }\n}\n\nfunction extractTransitionData (comp) {\n var data = {};\n var options = comp.$options;\n // props\n for (var key in options.propsData) {\n data[key] = comp[key];\n }\n // events.\n // extract listeners and pass them directly to the transition methods\n var listeners = options._parentListeners;\n for (var key$1 in listeners) {\n data[camelize(key$1)] = listeners[key$1];\n }\n return data\n}\n\nfunction placeholder (h, rawChild) {\n if (/\\d-keep-alive$/.test(rawChild.tag)) {\n return h('keep-alive', {\n props: rawChild.componentOptions.propsData\n })\n }\n}\n\nfunction hasParentTransition (vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true\n }\n }\n}\n\nfunction isSameChild (child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar Transition = {\n name: 'transition',\n props: transitionProps,\n abstract: true,\n\n render: function render (h) {\n var this$1 = this;\n\n var children = this.$slots.default;\n if (!children) {\n return\n }\n\n // filter out text nodes (possible whitespaces)\n children = children.filter(function (c) { return c.tag || isAsyncPlaceholder(c); });\n /* istanbul ignore if */\n if (!children.length) {\n return\n }\n\n // warn multiple elements\n if (false) {\n warn(\n '<transition> can only be used on a single element. Use ' +\n '<transition-group> for lists.',\n this.$parent\n );\n }\n\n var mode = this.mode;\n\n // warn invalid mode\n if (false\n ) {\n warn(\n 'invalid <transition> mode: ' + mode,\n this.$parent\n );\n }\n\n var rawChild = children[0];\n\n // if this is a component root node and the component's\n // parent container node also has transition, skip.\n if (hasParentTransition(this.$vnode)) {\n return rawChild\n }\n\n // apply transition data to child\n // use getRealChild() to ignore abstract components e.g. keep-alive\n var child = getRealChild(rawChild);\n /* istanbul ignore if */\n if (!child) {\n return rawChild\n }\n\n if (this._leaving) {\n return placeholder(h, rawChild)\n }\n\n // ensure a key that is unique to the vnode type and to this transition\n // component instance. This key will be used to remove pending leaving nodes\n // during entering.\n var id = \"__transition-\" + (this._uid) + \"-\";\n child.key = child.key == null\n ? child.isComment\n ? id + 'comment'\n : id + child.tag\n : isPrimitive(child.key)\n ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n : child.key;\n\n var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n var oldRawChild = this._vnode;\n var oldChild = getRealChild(oldRawChild);\n\n // mark v-show\n // so that the transition module can hand over the control to the directive\n if (child.data.directives && child.data.directives.some(function (d) { return d.name === 'show'; })) {\n child.data.show = true;\n }\n\n if (\n oldChild &&\n oldChild.data &&\n !isSameChild(child, oldChild) &&\n !isAsyncPlaceholder(oldChild) &&\n // #6687 component root is a comment node\n !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n ) {\n // replace old child transition data with fresh one\n // important for dynamic transitions!\n var oldData = oldChild.data.transition = extend({}, data);\n // handle transition mode\n if (mode === 'out-in') {\n // return placeholder node and queue update when leave finishes\n this._leaving = true;\n mergeVNodeHook(oldData, 'afterLeave', function () {\n this$1._leaving = false;\n this$1.$forceUpdate();\n });\n return placeholder(h, rawChild)\n } else if (mode === 'in-out') {\n if (isAsyncPlaceholder(child)) {\n return oldRawChild\n }\n var delayedLeave;\n var performLeave = function () { delayedLeave(); };\n mergeVNodeHook(data, 'afterEnter', performLeave);\n mergeVNodeHook(data, 'enterCancelled', performLeave);\n mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n }\n }\n\n return rawChild\n }\n}\n\n/* */\n\n// Provides transition support for list items.\n// supports move transitions using the FLIP technique.\n\n// Because the vdom's children update algorithm is \"unstable\" - i.e.\n// it doesn't guarantee the relative positioning of removed elements,\n// we force transition-group to update its children into two passes:\n// in the first pass, we remove all nodes that need to be removed,\n// triggering their leaving transition; in the second pass, we insert/move\n// into the final desired state. This way in the second pass removed\n// nodes will remain where they should be.\n\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props: props,\n\n render: function render (h) {\n var tag = this.tag || this.$vnode.data.tag || 'span';\n var map = Object.create(null);\n var prevChildren = this.prevChildren = this.children;\n var rawChildren = this.$slots.default || [];\n var children = this.children = [];\n var transitionData = extractTransitionData(this);\n\n for (var i = 0; i < rawChildren.length; i++) {\n var c = rawChildren[i];\n if (c.tag) {\n if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n children.push(c);\n map[c.key] = c\n ;(c.data || (c.data = {})).transition = transitionData;\n } else if (false) {\n var opts = c.componentOptions;\n var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n }\n }\n }\n\n if (prevChildren) {\n var kept = [];\n var removed = [];\n for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n var c$1 = prevChildren[i$1];\n c$1.data.transition = transitionData;\n c$1.data.pos = c$1.elm.getBoundingClientRect();\n if (map[c$1.key]) {\n kept.push(c$1);\n } else {\n removed.push(c$1);\n }\n }\n this.kept = h(tag, null, kept);\n this.removed = removed;\n }\n\n return h(tag, null, children)\n },\n\n beforeUpdate: function beforeUpdate () {\n // force removing pass\n this.__patch__(\n this._vnode,\n this.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this._vnode = this.kept;\n },\n\n updated: function updated () {\n var children = this.prevChildren;\n var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n return\n }\n\n // we divide the work into three loops to avoid mixing DOM reads and writes\n // in each iteration - which helps prevent layout thrashing.\n children.forEach(callPendingCbs);\n children.forEach(recordPosition);\n children.forEach(applyTranslation);\n\n // force reflow to put everything in position\n // assign to this to avoid being removed in tree-shaking\n // $flow-disable-line\n this._reflow = document.body.offsetHeight;\n\n children.forEach(function (c) {\n if (c.data.moved) {\n var el = c.elm;\n var s = el.style;\n addTransitionClass(el, moveClass);\n s.transform = s.WebkitTransform = s.transitionDuration = '';\n el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(transitionEndEvent, cb);\n el._moveCb = null;\n removeTransitionClass(el, moveClass);\n }\n });\n }\n });\n },\n\n methods: {\n hasMove: function hasMove (el, moveClass) {\n /* istanbul ignore if */\n if (!hasTransition) {\n return false\n }\n /* istanbul ignore if */\n if (this._hasMove) {\n return this._hasMove\n }\n // Detect whether an element with the move class applied has\n // CSS transitions. Since the element may be inside an entering\n // transition at this very moment, we make a clone of it and remove\n // all other transition classes applied to ensure only the move class\n // is applied.\n var clone = el.cloneNode();\n if (el._transitionClasses) {\n el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n }\n addClass(clone, moveClass);\n clone.style.display = 'none';\n this.$el.appendChild(clone);\n var info = getTransitionInfo(clone);\n this.$el.removeChild(clone);\n return (this._hasMove = info.hasTransform)\n }\n }\n}\n\nfunction callPendingCbs (c) {\n /* istanbul ignore if */\n if (c.elm._moveCb) {\n c.elm._moveCb();\n }\n /* istanbul ignore if */\n if (c.elm._enterCb) {\n c.elm._enterCb();\n }\n}\n\nfunction recordPosition (c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n var oldPos = c.data.pos;\n var newPos = c.data.newPos;\n var dx = oldPos.left - newPos.left;\n var dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c.data.moved = true;\n var s = c.elm.style;\n s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n s.transitionDuration = '0s';\n }\n}\n\nvar platformComponents = {\n Transition: Transition,\n TransitionGroup: TransitionGroup\n}\n\n/* */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && inBrowser ? query(el) : undefined;\n return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n setTimeout(function () {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n } else if (\n false\n ) {\n console[console.info ? 'info' : 'log'](\n 'Download the Vue Devtools extension for a better development experience:\\n' +\n 'https://github.com/vuejs/vue-devtools'\n );\n }\n }\n if (false\n ) {\n console[console.info ? 'info' : 'log'](\n \"You are running Vue in development mode.\\n\" +\n \"Make sure to turn on production mode when deploying for production.\\n\" +\n \"See more tips at https://vuejs.org/guide/deployment.html\"\n );\n }\n }, 0);\n}\n\n/* */\n\nvar defaultTagRE = /\\{\\{((?:.|\\n)+?)\\}\\}/g;\nvar regexEscapeRE = /[-.*+?^${}()|[\\]\\/\\\\]/g;\n\nvar buildRegex = cached(function (delimiters) {\n var open = delimiters[0].replace(regexEscapeRE, '\\\\$&');\n var close = delimiters[1].replace(regexEscapeRE, '\\\\$&');\n return new RegExp(open + '((?:.|\\\\n)+?)' + close, 'g')\n});\n\n\n\nfunction parseText (\n text,\n delimiters\n) {\n var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;\n if (!tagRE.test(text)) {\n return\n }\n var tokens = [];\n var rawTokens = [];\n var lastIndex = tagRE.lastIndex = 0;\n var match, index, tokenValue;\n while ((match = tagRE.exec(text))) {\n index = match.index;\n // push text token\n if (index > lastIndex) {\n rawTokens.push(tokenValue = text.slice(lastIndex, index));\n tokens.push(JSON.stringify(tokenValue));\n }\n // tag token\n var exp = parseFilters(match[1].trim());\n tokens.push((\"_s(\" + exp + \")\"));\n rawTokens.push({ '@binding': exp });\n lastIndex = index + match[0].length;\n }\n if (lastIndex < text.length) {\n rawTokens.push(tokenValue = text.slice(lastIndex));\n tokens.push(JSON.stringify(tokenValue));\n }\n return {\n expression: tokens.join('+'),\n tokens: rawTokens\n }\n}\n\n/* */\n\nfunction transformNode (el, options) {\n var warn = options.warn || baseWarn;\n var staticClass = getAndRemoveAttr(el, 'class');\n if (false) {\n var res = parseText(staticClass, options.delimiters);\n if (res) {\n warn(\n \"class=\\\"\" + staticClass + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div class=\"{{ val }}\">, use <div :class=\"val\">.'\n );\n }\n }\n if (staticClass) {\n el.staticClass = JSON.stringify(staticClass);\n }\n var classBinding = getBindingAttr(el, 'class', false /* getStatic */);\n if (classBinding) {\n el.classBinding = classBinding;\n }\n}\n\nfunction genData (el) {\n var data = '';\n if (el.staticClass) {\n data += \"staticClass:\" + (el.staticClass) + \",\";\n }\n if (el.classBinding) {\n data += \"class:\" + (el.classBinding) + \",\";\n }\n return data\n}\n\nvar klass$1 = {\n staticKeys: ['staticClass'],\n transformNode: transformNode,\n genData: genData\n}\n\n/* */\n\nfunction transformNode$1 (el, options) {\n var warn = options.warn || baseWarn;\n var staticStyle = getAndRemoveAttr(el, 'style');\n if (staticStyle) {\n /* istanbul ignore if */\n if (false) {\n var res = parseText(staticStyle, options.delimiters);\n if (res) {\n warn(\n \"style=\\\"\" + staticStyle + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div style=\"{{ val }}\">, use <div :style=\"val\">.'\n );\n }\n }\n el.staticStyle = JSON.stringify(parseStyleText(staticStyle));\n }\n\n var styleBinding = getBindingAttr(el, 'style', false /* getStatic */);\n if (styleBinding) {\n el.styleBinding = styleBinding;\n }\n}\n\nfunction genData$1 (el) {\n var data = '';\n if (el.staticStyle) {\n data += \"staticStyle:\" + (el.staticStyle) + \",\";\n }\n if (el.styleBinding) {\n data += \"style:(\" + (el.styleBinding) + \"),\";\n }\n return data\n}\n\nvar style$1 = {\n staticKeys: ['staticStyle'],\n transformNode: transformNode$1,\n genData: genData$1\n}\n\n/* */\n\nvar decoder;\n\nvar he = {\n decode: function decode (html) {\n decoder = decoder || document.createElement('div');\n decoder.innerHTML = html;\n return decoder.textContent\n }\n}\n\n/* */\n\nvar isUnaryTag = makeMap(\n 'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +\n 'link,meta,param,source,track,wbr'\n);\n\n// Elements that you can, intentionally, leave open\n// (and which close themselves)\nvar canBeLeftOpenTag = makeMap(\n 'colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source'\n);\n\n// HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3\n// Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content\nvar isNonPhrasingTag = makeMap(\n 'address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' +\n 'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' +\n 'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' +\n 'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' +\n 'title,tr,track'\n);\n\n/**\n * Not type-checking this file because it's mostly vendor code.\n */\n\n/*!\n * HTML Parser By John Resig (ejohn.org)\n * Modified by Juriy \"kangax\" Zaytsev\n * Original code by Erik Arvidsson, Mozilla Public License\n * http://erik.eae.net/simplehtmlparser/simplehtmlparser.js\n */\n\n// Regular Expressions for parsing tags and attributes\nvar attribute = /^\\s*([^\\s\"'<>\\/=]+)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\n// could use https://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-QName\n// but for Vue templates we can enforce a simple charset\nvar ncname = '[a-zA-Z_][\\\\w\\\\-\\\\.]*';\nvar qnameCapture = \"((?:\" + ncname + \"\\\\:)?\" + ncname + \")\";\nvar startTagOpen = new RegExp((\"^<\" + qnameCapture));\nvar startTagClose = /^\\s*(\\/?)>/;\nvar endTag = new RegExp((\"^<\\\\/\" + qnameCapture + \"[^>]*>\"));\nvar doctype = /^<!DOCTYPE [^>]+>/i;\n// #7298: escape - to avoid being pased as HTML comment when inlined in page\nvar comment = /^<!\\--/;\nvar conditionalComment = /^<!\\[/;\n\nvar IS_REGEX_CAPTURING_BROKEN = false;\n'x'.replace(/x(.)?/g, function (m, g) {\n IS_REGEX_CAPTURING_BROKEN = g === '';\n});\n\n// Special Elements (can contain anything)\nvar isPlainTextElement = makeMap('script,style,textarea', true);\nvar reCache = {};\n\nvar decodingMap = {\n '&lt;': '<',\n '&gt;': '>',\n '&quot;': '\"',\n '&amp;': '&',\n '&#10;': '\\n',\n '&#9;': '\\t'\n};\nvar encodedAttr = /&(?:lt|gt|quot|amp);/g;\nvar encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#10|#9);/g;\n\n// #5992\nvar isIgnoreNewlineTag = makeMap('pre,textarea', true);\nvar shouldIgnoreFirstNewline = function (tag, html) { return tag && isIgnoreNewlineTag(tag) && html[0] === '\\n'; };\n\nfunction decodeAttr (value, shouldDecodeNewlines) {\n var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr;\n return value.replace(re, function (match) { return decodingMap[match]; })\n}\n\nfunction parseHTML (html, options) {\n var stack = [];\n var expectHTML = options.expectHTML;\n var isUnaryTag$$1 = options.isUnaryTag || no;\n var canBeLeftOpenTag$$1 = options.canBeLeftOpenTag || no;\n var index = 0;\n var last, lastTag;\n while (html) {\n last = html;\n // Make sure we're not in a plaintext content element like script/style\n if (!lastTag || !isPlainTextElement(lastTag)) {\n var textEnd = html.indexOf('<');\n if (textEnd === 0) {\n // Comment:\n if (comment.test(html)) {\n var commentEnd = html.indexOf('-->');\n\n if (commentEnd >= 0) {\n if (options.shouldKeepComment) {\n options.comment(html.substring(4, commentEnd));\n }\n advance(commentEnd + 3);\n continue\n }\n }\n\n // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment\n if (conditionalComment.test(html)) {\n var conditionalEnd = html.indexOf(']>');\n\n if (conditionalEnd >= 0) {\n advance(conditionalEnd + 2);\n continue\n }\n }\n\n // Doctype:\n var doctypeMatch = html.match(doctype);\n if (doctypeMatch) {\n advance(doctypeMatch[0].length);\n continue\n }\n\n // End tag:\n var endTagMatch = html.match(endTag);\n if (endTagMatch) {\n var curIndex = index;\n advance(endTagMatch[0].length);\n parseEndTag(endTagMatch[1], curIndex, index);\n continue\n }\n\n // Start tag:\n var startTagMatch = parseStartTag();\n if (startTagMatch) {\n handleStartTag(startTagMatch);\n if (shouldIgnoreFirstNewline(lastTag, html)) {\n advance(1);\n }\n continue\n }\n }\n\n var text = (void 0), rest = (void 0), next = (void 0);\n if (textEnd >= 0) {\n rest = html.slice(textEnd);\n while (\n !endTag.test(rest) &&\n !startTagOpen.test(rest) &&\n !comment.test(rest) &&\n !conditionalComment.test(rest)\n ) {\n // < in plain text, be forgiving and treat it as text\n next = rest.indexOf('<', 1);\n if (next < 0) { break }\n textEnd += next;\n rest = html.slice(textEnd);\n }\n text = html.substring(0, textEnd);\n advance(textEnd);\n }\n\n if (textEnd < 0) {\n text = html;\n html = '';\n }\n\n if (options.chars && text) {\n options.chars(text);\n }\n } else {\n var endTagLength = 0;\n var stackedTag = lastTag.toLowerCase();\n var reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\\\s\\\\S]*?)(</' + stackedTag + '[^>]*>)', 'i'));\n var rest$1 = html.replace(reStackedTag, function (all, text, endTag) {\n endTagLength = endTag.length;\n if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') {\n text = text\n .replace(/<!\\--([\\s\\S]*?)-->/g, '$1') // #7298\n .replace(/<!\\[CDATA\\[([\\s\\S]*?)]]>/g, '$1');\n }\n if (shouldIgnoreFirstNewline(stackedTag, text)) {\n text = text.slice(1);\n }\n if (options.chars) {\n options.chars(text);\n }\n return ''\n });\n index += html.length - rest$1.length;\n html = rest$1;\n parseEndTag(stackedTag, index - endTagLength, index);\n }\n\n if (html === last) {\n options.chars && options.chars(html);\n if (false) {\n options.warn((\"Mal-formatted tag at end of template: \\\"\" + html + \"\\\"\"));\n }\n break\n }\n }\n\n // Clean up any remaining tags\n parseEndTag();\n\n function advance (n) {\n index += n;\n html = html.substring(n);\n }\n\n function parseStartTag () {\n var start = html.match(startTagOpen);\n if (start) {\n var match = {\n tagName: start[1],\n attrs: [],\n start: index\n };\n advance(start[0].length);\n var end, attr;\n while (!(end = html.match(startTagClose)) && (attr = html.match(attribute))) {\n advance(attr[0].length);\n match.attrs.push(attr);\n }\n if (end) {\n match.unarySlash = end[1];\n advance(end[0].length);\n match.end = index;\n return match\n }\n }\n }\n\n function handleStartTag (match) {\n var tagName = match.tagName;\n var unarySlash = match.unarySlash;\n\n if (expectHTML) {\n if (lastTag === 'p' && isNonPhrasingTag(tagName)) {\n parseEndTag(lastTag);\n }\n if (canBeLeftOpenTag$$1(tagName) && lastTag === tagName) {\n parseEndTag(tagName);\n }\n }\n\n var unary = isUnaryTag$$1(tagName) || !!unarySlash;\n\n var l = match.attrs.length;\n var attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n var args = match.attrs[i];\n // hackish work around FF bug https://bugzilla.mozilla.org/show_bug.cgi?id=369778\n if (IS_REGEX_CAPTURING_BROKEN && args[0].indexOf('\"\"') === -1) {\n if (args[3] === '') { delete args[3]; }\n if (args[4] === '') { delete args[4]; }\n if (args[5] === '') { delete args[5]; }\n }\n var value = args[3] || args[4] || args[5] || '';\n var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href'\n ? options.shouldDecodeNewlinesForHref\n : options.shouldDecodeNewlines;\n attrs[i] = {\n name: args[1],\n value: decodeAttr(value, shouldDecodeNewlines)\n };\n }\n\n if (!unary) {\n stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs });\n lastTag = tagName;\n }\n\n if (options.start) {\n options.start(tagName, attrs, unary, match.start, match.end);\n }\n }\n\n function parseEndTag (tagName, start, end) {\n var pos, lowerCasedTagName;\n if (start == null) { start = index; }\n if (end == null) { end = index; }\n\n if (tagName) {\n lowerCasedTagName = tagName.toLowerCase();\n }\n\n // Find the closest opened tag of the same type\n if (tagName) {\n for (pos = stack.length - 1; pos >= 0; pos--) {\n if (stack[pos].lowerCasedTag === lowerCasedTagName) {\n break\n }\n }\n } else {\n // If no tag name is provided, clean shop\n pos = 0;\n }\n\n if (pos >= 0) {\n // Close all the open elements, up the stack\n for (var i = stack.length - 1; i >= pos; i--) {\n if (false\n ) {\n options.warn(\n (\"tag <\" + (stack[i].tag) + \"> has no matching end tag.\")\n );\n }\n if (options.end) {\n options.end(stack[i].tag, start, end);\n }\n }\n\n // Remove the open elements from the stack\n stack.length = pos;\n lastTag = pos && stack[pos - 1].tag;\n } else if (lowerCasedTagName === 'br') {\n if (options.start) {\n options.start(tagName, [], true, start, end);\n }\n } else if (lowerCasedTagName === 'p') {\n if (options.start) {\n options.start(tagName, [], false, start, end);\n }\n if (options.end) {\n options.end(tagName, start, end);\n }\n }\n }\n}\n\n/* */\n\nvar onRE = /^@|^v-on:/;\nvar dirRE = /^v-|^@|^:/;\nvar forAliasRE = /([^]*?)\\s+(?:in|of)\\s+([^]*)/;\nvar forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\nvar stripParensRE = /^\\(|\\)$/g;\n\nvar argRE = /:(.*)$/;\nvar bindRE = /^:|^v-bind:/;\nvar modifierRE = /\\.[^.]+/g;\n\nvar decodeHTMLCached = cached(he.decode);\n\n// configurable state\nvar warn$2;\nvar delimiters;\nvar transforms;\nvar preTransforms;\nvar postTransforms;\nvar platformIsPreTag;\nvar platformMustUseProp;\nvar platformGetTagNamespace;\n\n\n\nfunction createASTElement (\n tag,\n attrs,\n parent\n) {\n return {\n type: 1,\n tag: tag,\n attrsList: attrs,\n attrsMap: makeAttrsMap(attrs),\n parent: parent,\n children: []\n }\n}\n\n/**\n * Convert HTML string to AST.\n */\nfunction parse (\n template,\n options\n) {\n warn$2 = options.warn || baseWarn;\n\n platformIsPreTag = options.isPreTag || no;\n platformMustUseProp = options.mustUseProp || no;\n platformGetTagNamespace = options.getTagNamespace || no;\n\n transforms = pluckModuleFunction(options.modules, 'transformNode');\n preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');\n postTransforms = pluckModuleFunction(options.modules, 'postTransformNode');\n\n delimiters = options.delimiters;\n\n var stack = [];\n var preserveWhitespace = options.preserveWhitespace !== false;\n var root;\n var currentParent;\n var inVPre = false;\n var inPre = false;\n var warned = false;\n\n function warnOnce (msg) {\n if (!warned) {\n warned = true;\n warn$2(msg);\n }\n }\n\n function closeElement (element) {\n // check pre state\n if (element.pre) {\n inVPre = false;\n }\n if (platformIsPreTag(element.tag)) {\n inPre = false;\n }\n // apply post-transforms\n for (var i = 0; i < postTransforms.length; i++) {\n postTransforms[i](element, options);\n }\n }\n\n parseHTML(template, {\n warn: warn$2,\n expectHTML: options.expectHTML,\n isUnaryTag: options.isUnaryTag,\n canBeLeftOpenTag: options.canBeLeftOpenTag,\n shouldDecodeNewlines: options.shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref,\n shouldKeepComment: options.comments,\n start: function start (tag, attrs, unary) {\n // check namespace.\n // inherit parent ns if there is one\n var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);\n\n // handle IE svg bug\n /* istanbul ignore if */\n if (isIE && ns === 'svg') {\n attrs = guardIESVGBug(attrs);\n }\n\n var element = createASTElement(tag, attrs, currentParent);\n if (ns) {\n element.ns = ns;\n }\n\n if (isForbiddenTag(element) && !isServerRendering()) {\n element.forbidden = true;\n \"production\" !== 'production' && warn$2(\n 'Templates should only be responsible for mapping the state to the ' +\n 'UI. Avoid placing tags with side-effects in your templates, such as ' +\n \"<\" + tag + \">\" + ', as they will not be parsed.'\n );\n }\n\n // apply pre-transforms\n for (var i = 0; i < preTransforms.length; i++) {\n element = preTransforms[i](element, options) || element;\n }\n\n if (!inVPre) {\n processPre(element);\n if (element.pre) {\n inVPre = true;\n }\n }\n if (platformIsPreTag(element.tag)) {\n inPre = true;\n }\n if (inVPre) {\n processRawAttrs(element);\n } else if (!element.processed) {\n // structural directives\n processFor(element);\n processIf(element);\n processOnce(element);\n // element-scope stuff\n processElement(element, options);\n }\n\n function checkRootConstraints (el) {\n if (false) {\n if (el.tag === 'slot' || el.tag === 'template') {\n warnOnce(\n \"Cannot use <\" + (el.tag) + \"> as component root element because it may \" +\n 'contain multiple nodes.'\n );\n }\n if (el.attrsMap.hasOwnProperty('v-for')) {\n warnOnce(\n 'Cannot use v-for on stateful component root element because ' +\n 'it renders multiple elements.'\n );\n }\n }\n }\n\n // tree management\n if (!root) {\n root = element;\n checkRootConstraints(root);\n } else if (!stack.length) {\n // allow root elements with v-if, v-else-if and v-else\n if (root.if && (element.elseif || element.else)) {\n checkRootConstraints(element);\n addIfCondition(root, {\n exp: element.elseif,\n block: element\n });\n } else if (false) {\n warnOnce(\n \"Component template should contain exactly one root element. \" +\n \"If you are using v-if on multiple elements, \" +\n \"use v-else-if to chain them instead.\"\n );\n }\n }\n if (currentParent && !element.forbidden) {\n if (element.elseif || element.else) {\n processIfConditions(element, currentParent);\n } else if (element.slotScope) { // scoped slot\n currentParent.plain = false;\n var name = element.slotTarget || '\"default\"';(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;\n } else {\n currentParent.children.push(element);\n element.parent = currentParent;\n }\n }\n if (!unary) {\n currentParent = element;\n stack.push(element);\n } else {\n closeElement(element);\n }\n },\n\n end: function end () {\n // remove trailing whitespace\n var element = stack[stack.length - 1];\n var lastNode = element.children[element.children.length - 1];\n if (lastNode && lastNode.type === 3 && lastNode.text === ' ' && !inPre) {\n element.children.pop();\n }\n // pop stack\n stack.length -= 1;\n currentParent = stack[stack.length - 1];\n closeElement(element);\n },\n\n chars: function chars (text) {\n if (!currentParent) {\n if (false) {\n if (text === template) {\n warnOnce(\n 'Component template requires a root element, rather than just text.'\n );\n } else if ((text = text.trim())) {\n warnOnce(\n (\"text \\\"\" + text + \"\\\" outside root element will be ignored.\")\n );\n }\n }\n return\n }\n // IE textarea placeholder bug\n /* istanbul ignore if */\n if (isIE &&\n currentParent.tag === 'textarea' &&\n currentParent.attrsMap.placeholder === text\n ) {\n return\n }\n var children = currentParent.children;\n text = inPre || text.trim()\n ? isTextTag(currentParent) ? text : decodeHTMLCached(text)\n // only preserve whitespace if its not right after a starting tag\n : preserveWhitespace && children.length ? ' ' : '';\n if (text) {\n var res;\n if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) {\n children.push({\n type: 2,\n expression: res.expression,\n tokens: res.tokens,\n text: text\n });\n } else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') {\n children.push({\n type: 3,\n text: text\n });\n }\n }\n },\n comment: function comment (text) {\n currentParent.children.push({\n type: 3,\n text: text,\n isComment: true\n });\n }\n });\n return root\n}\n\nfunction processPre (el) {\n if (getAndRemoveAttr(el, 'v-pre') != null) {\n el.pre = true;\n }\n}\n\nfunction processRawAttrs (el) {\n var l = el.attrsList.length;\n if (l) {\n var attrs = el.attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n attrs[i] = {\n name: el.attrsList[i].name,\n value: JSON.stringify(el.attrsList[i].value)\n };\n }\n } else if (!el.pre) {\n // non root node in pre blocks with no attributes\n el.plain = true;\n }\n}\n\nfunction processElement (element, options) {\n processKey(element);\n\n // determine whether this is a plain element after\n // removing structural attributes\n element.plain = !element.key && !element.attrsList.length;\n\n processRef(element);\n processSlot(element);\n processComponent(element);\n for (var i = 0; i < transforms.length; i++) {\n element = transforms[i](element, options) || element;\n }\n processAttrs(element);\n}\n\nfunction processKey (el) {\n var exp = getBindingAttr(el, 'key');\n if (exp) {\n if (false) {\n warn$2(\"<template> cannot be keyed. Place the key on real elements instead.\");\n }\n el.key = exp;\n }\n}\n\nfunction processRef (el) {\n var ref = getBindingAttr(el, 'ref');\n if (ref) {\n el.ref = ref;\n el.refInFor = checkInFor(el);\n }\n}\n\nfunction processFor (el) {\n var exp;\n if ((exp = getAndRemoveAttr(el, 'v-for'))) {\n var res = parseFor(exp);\n if (res) {\n extend(el, res);\n } else if (false) {\n warn$2(\n (\"Invalid v-for expression: \" + exp)\n );\n }\n }\n}\n\n\n\nfunction parseFor (exp) {\n var inMatch = exp.match(forAliasRE);\n if (!inMatch) { return }\n var res = {};\n res.for = inMatch[2].trim();\n var alias = inMatch[1].trim().replace(stripParensRE, '');\n var iteratorMatch = alias.match(forIteratorRE);\n if (iteratorMatch) {\n res.alias = alias.replace(forIteratorRE, '');\n res.iterator1 = iteratorMatch[1].trim();\n if (iteratorMatch[2]) {\n res.iterator2 = iteratorMatch[2].trim();\n }\n } else {\n res.alias = alias;\n }\n return res\n}\n\nfunction processIf (el) {\n var exp = getAndRemoveAttr(el, 'v-if');\n if (exp) {\n el.if = exp;\n addIfCondition(el, {\n exp: exp,\n block: el\n });\n } else {\n if (getAndRemoveAttr(el, 'v-else') != null) {\n el.else = true;\n }\n var elseif = getAndRemoveAttr(el, 'v-else-if');\n if (elseif) {\n el.elseif = elseif;\n }\n }\n}\n\nfunction processIfConditions (el, parent) {\n var prev = findPrevElement(parent.children);\n if (prev && prev.if) {\n addIfCondition(prev, {\n exp: el.elseif,\n block: el\n });\n } else if (false) {\n warn$2(\n \"v-\" + (el.elseif ? ('else-if=\"' + el.elseif + '\"') : 'else') + \" \" +\n \"used on element <\" + (el.tag) + \"> without corresponding v-if.\"\n );\n }\n}\n\nfunction findPrevElement (children) {\n var i = children.length;\n while (i--) {\n if (children[i].type === 1) {\n return children[i]\n } else {\n if (false) {\n warn$2(\n \"text \\\"\" + (children[i].text.trim()) + \"\\\" between v-if and v-else(-if) \" +\n \"will be ignored.\"\n );\n }\n children.pop();\n }\n }\n}\n\nfunction addIfCondition (el, condition) {\n if (!el.ifConditions) {\n el.ifConditions = [];\n }\n el.ifConditions.push(condition);\n}\n\nfunction processOnce (el) {\n var once$$1 = getAndRemoveAttr(el, 'v-once');\n if (once$$1 != null) {\n el.once = true;\n }\n}\n\nfunction processSlot (el) {\n if (el.tag === 'slot') {\n el.slotName = getBindingAttr(el, 'name');\n if (false) {\n warn$2(\n \"`key` does not work on <slot> because slots are abstract outlets \" +\n \"and can possibly expand into multiple elements. \" +\n \"Use the key on a wrapping element instead.\"\n );\n }\n } else {\n var slotScope;\n if (el.tag === 'template') {\n slotScope = getAndRemoveAttr(el, 'scope');\n /* istanbul ignore if */\n if (false) {\n warn$2(\n \"the \\\"scope\\\" attribute for scoped slots have been deprecated and \" +\n \"replaced by \\\"slot-scope\\\" since 2.5. The new \\\"slot-scope\\\" attribute \" +\n \"can also be used on plain elements in addition to <template> to \" +\n \"denote scoped slots.\",\n true\n );\n }\n el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope');\n } else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) {\n /* istanbul ignore if */\n if (false) {\n warn$2(\n \"Ambiguous combined usage of slot-scope and v-for on <\" + (el.tag) + \"> \" +\n \"(v-for takes higher priority). Use a wrapper <template> for the \" +\n \"scoped slot to make it clearer.\",\n true\n );\n }\n el.slotScope = slotScope;\n }\n var slotTarget = getBindingAttr(el, 'slot');\n if (slotTarget) {\n el.slotTarget = slotTarget === '\"\"' ? '\"default\"' : slotTarget;\n // preserve slot as an attribute for native shadow DOM compat\n // only for non-scoped slots.\n if (el.tag !== 'template' && !el.slotScope) {\n addAttr(el, 'slot', slotTarget);\n }\n }\n }\n}\n\nfunction processComponent (el) {\n var binding;\n if ((binding = getBindingAttr(el, 'is'))) {\n el.component = binding;\n }\n if (getAndRemoveAttr(el, 'inline-template') != null) {\n el.inlineTemplate = true;\n }\n}\n\nfunction processAttrs (el) {\n var list = el.attrsList;\n var i, l, name, rawName, value, modifiers, isProp;\n for (i = 0, l = list.length; i < l; i++) {\n name = rawName = list[i].name;\n value = list[i].value;\n if (dirRE.test(name)) {\n // mark element as dynamic\n el.hasBindings = true;\n // modifiers\n modifiers = parseModifiers(name);\n if (modifiers) {\n name = name.replace(modifierRE, '');\n }\n if (bindRE.test(name)) { // v-bind\n name = name.replace(bindRE, '');\n value = parseFilters(value);\n isProp = false;\n if (modifiers) {\n if (modifiers.prop) {\n isProp = true;\n name = camelize(name);\n if (name === 'innerHtml') { name = 'innerHTML'; }\n }\n if (modifiers.camel) {\n name = camelize(name);\n }\n if (modifiers.sync) {\n addHandler(\n el,\n (\"update:\" + (camelize(name))),\n genAssignmentCode(value, \"$event\")\n );\n }\n }\n if (isProp || (\n !el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)\n )) {\n addProp(el, name, value);\n } else {\n addAttr(el, name, value);\n }\n } else if (onRE.test(name)) { // v-on\n name = name.replace(onRE, '');\n addHandler(el, name, value, modifiers, false, warn$2);\n } else { // normal directives\n name = name.replace(dirRE, '');\n // parse arg\n var argMatch = name.match(argRE);\n var arg = argMatch && argMatch[1];\n if (arg) {\n name = name.slice(0, -(arg.length + 1));\n }\n addDirective(el, name, rawName, value, arg, modifiers);\n if (false) {\n checkForAliasModel(el, value);\n }\n }\n } else {\n // literal attribute\n if (false) {\n var res = parseText(value, delimiters);\n if (res) {\n warn$2(\n name + \"=\\\"\" + value + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div id=\"{{ val }}\">, use <div :id=\"val\">.'\n );\n }\n }\n addAttr(el, name, JSON.stringify(value));\n // #6887 firefox doesn't update muted state if set via attribute\n // even immediately after element creation\n if (!el.component &&\n name === 'muted' &&\n platformMustUseProp(el.tag, el.attrsMap.type, name)) {\n addProp(el, name, 'true');\n }\n }\n }\n}\n\nfunction checkInFor (el) {\n var parent = el;\n while (parent) {\n if (parent.for !== undefined) {\n return true\n }\n parent = parent.parent;\n }\n return false\n}\n\nfunction parseModifiers (name) {\n var match = name.match(modifierRE);\n if (match) {\n var ret = {};\n match.forEach(function (m) { ret[m.slice(1)] = true; });\n return ret\n }\n}\n\nfunction makeAttrsMap (attrs) {\n var map = {};\n for (var i = 0, l = attrs.length; i < l; i++) {\n if (\n false\n ) {\n warn$2('duplicate attribute: ' + attrs[i].name);\n }\n map[attrs[i].name] = attrs[i].value;\n }\n return map\n}\n\n// for script (e.g. type=\"x/template\") or style, do not decode content\nfunction isTextTag (el) {\n return el.tag === 'script' || el.tag === 'style'\n}\n\nfunction isForbiddenTag (el) {\n return (\n el.tag === 'style' ||\n (el.tag === 'script' && (\n !el.attrsMap.type ||\n el.attrsMap.type === 'text/javascript'\n ))\n )\n}\n\nvar ieNSBug = /^xmlns:NS\\d+/;\nvar ieNSPrefix = /^NS\\d+:/;\n\n/* istanbul ignore next */\nfunction guardIESVGBug (attrs) {\n var res = [];\n for (var i = 0; i < attrs.length; i++) {\n var attr = attrs[i];\n if (!ieNSBug.test(attr.name)) {\n attr.name = attr.name.replace(ieNSPrefix, '');\n res.push(attr);\n }\n }\n return res\n}\n\nfunction checkForAliasModel (el, value) {\n var _el = el;\n while (_el) {\n if (_el.for && _el.alias === value) {\n warn$2(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"You are binding v-model directly to a v-for iteration alias. \" +\n \"This will not be able to modify the v-for source array because \" +\n \"writing to the alias is like modifying a function local variable. \" +\n \"Consider using an array of objects and use v-model on an object property instead.\"\n );\n }\n _el = _el.parent;\n }\n}\n\n/* */\n\n/**\n * Expand input[v-model] with dyanmic type bindings into v-if-else chains\n * Turn this:\n * <input v-model=\"data[type]\" :type=\"type\">\n * into this:\n * <input v-if=\"type === 'checkbox'\" type=\"checkbox\" v-model=\"data[type]\">\n * <input v-else-if=\"type === 'radio'\" type=\"radio\" v-model=\"data[type]\">\n * <input v-else :type=\"type\" v-model=\"data[type]\">\n */\n\nfunction preTransformNode (el, options) {\n if (el.tag === 'input') {\n var map = el.attrsMap;\n if (!map['v-model']) {\n return\n }\n\n var typeBinding;\n if (map[':type'] || map['v-bind:type']) {\n typeBinding = getBindingAttr(el, 'type');\n }\n if (!map.type && !typeBinding && map['v-bind']) {\n typeBinding = \"(\" + (map['v-bind']) + \").type\";\n }\n\n if (typeBinding) {\n var ifCondition = getAndRemoveAttr(el, 'v-if', true);\n var ifConditionExtra = ifCondition ? (\"&&(\" + ifCondition + \")\") : \"\";\n var hasElse = getAndRemoveAttr(el, 'v-else', true) != null;\n var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true);\n // 1. checkbox\n var branch0 = cloneASTElement(el);\n // process for on the main node\n processFor(branch0);\n addRawAttr(branch0, 'type', 'checkbox');\n processElement(branch0, options);\n branch0.processed = true; // prevent it from double-processed\n branch0.if = \"(\" + typeBinding + \")==='checkbox'\" + ifConditionExtra;\n addIfCondition(branch0, {\n exp: branch0.if,\n block: branch0\n });\n // 2. add radio else-if condition\n var branch1 = cloneASTElement(el);\n getAndRemoveAttr(branch1, 'v-for', true);\n addRawAttr(branch1, 'type', 'radio');\n processElement(branch1, options);\n addIfCondition(branch0, {\n exp: \"(\" + typeBinding + \")==='radio'\" + ifConditionExtra,\n block: branch1\n });\n // 3. other\n var branch2 = cloneASTElement(el);\n getAndRemoveAttr(branch2, 'v-for', true);\n addRawAttr(branch2, ':type', typeBinding);\n processElement(branch2, options);\n addIfCondition(branch0, {\n exp: ifCondition,\n block: branch2\n });\n\n if (hasElse) {\n branch0.else = true;\n } else if (elseIfCondition) {\n branch0.elseif = elseIfCondition;\n }\n\n return branch0\n }\n }\n}\n\nfunction cloneASTElement (el) {\n return createASTElement(el.tag, el.attrsList.slice(), el.parent)\n}\n\nvar model$2 = {\n preTransformNode: preTransformNode\n}\n\nvar modules$1 = [\n klass$1,\n style$1,\n model$2\n]\n\n/* */\n\nfunction text (el, dir) {\n if (dir.value) {\n addProp(el, 'textContent', (\"_s(\" + (dir.value) + \")\"));\n }\n}\n\n/* */\n\nfunction html (el, dir) {\n if (dir.value) {\n addProp(el, 'innerHTML', (\"_s(\" + (dir.value) + \")\"));\n }\n}\n\nvar directives$1 = {\n model: model,\n text: text,\n html: html\n}\n\n/* */\n\nvar baseOptions = {\n expectHTML: true,\n modules: modules$1,\n directives: directives$1,\n isPreTag: isPreTag,\n isUnaryTag: isUnaryTag,\n mustUseProp: mustUseProp,\n canBeLeftOpenTag: canBeLeftOpenTag,\n isReservedTag: isReservedTag,\n getTagNamespace: getTagNamespace,\n staticKeys: genStaticKeys(modules$1)\n};\n\n/* */\n\nvar isStaticKey;\nvar isPlatformReservedTag;\n\nvar genStaticKeysCached = cached(genStaticKeys$1);\n\n/**\n * Goal of the optimizer: walk the generated template AST tree\n * and detect sub-trees that are purely static, i.e. parts of\n * the DOM that never needs to change.\n *\n * Once we detect these sub-trees, we can:\n *\n * 1. Hoist them into constants, so that we no longer need to\n * create fresh nodes for them on each re-render;\n * 2. Completely skip them in the patching process.\n */\nfunction optimize (root, options) {\n if (!root) { return }\n isStaticKey = genStaticKeysCached(options.staticKeys || '');\n isPlatformReservedTag = options.isReservedTag || no;\n // first pass: mark all non-static nodes.\n markStatic$1(root);\n // second pass: mark static roots.\n markStaticRoots(root, false);\n}\n\nfunction genStaticKeys$1 (keys) {\n return makeMap(\n 'type,tag,attrsList,attrsMap,plain,parent,children,attrs' +\n (keys ? ',' + keys : '')\n )\n}\n\nfunction markStatic$1 (node) {\n node.static = isStatic(node);\n if (node.type === 1) {\n // do not make component slot content static. this avoids\n // 1. components not able to mutate slot nodes\n // 2. static slot content fails for hot-reloading\n if (\n !isPlatformReservedTag(node.tag) &&\n node.tag !== 'slot' &&\n node.attrsMap['inline-template'] == null\n ) {\n return\n }\n for (var i = 0, l = node.children.length; i < l; i++) {\n var child = node.children[i];\n markStatic$1(child);\n if (!child.static) {\n node.static = false;\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n var block = node.ifConditions[i$1].block;\n markStatic$1(block);\n if (!block.static) {\n node.static = false;\n }\n }\n }\n }\n}\n\nfunction markStaticRoots (node, isInFor) {\n if (node.type === 1) {\n if (node.static || node.once) {\n node.staticInFor = isInFor;\n }\n // For a node to qualify as a static root, it should have children that\n // are not just static text. Otherwise the cost of hoisting out will\n // outweigh the benefits and it's better off to just always render it fresh.\n if (node.static && node.children.length && !(\n node.children.length === 1 &&\n node.children[0].type === 3\n )) {\n node.staticRoot = true;\n return\n } else {\n node.staticRoot = false;\n }\n if (node.children) {\n for (var i = 0, l = node.children.length; i < l; i++) {\n markStaticRoots(node.children[i], isInFor || !!node.for);\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n markStaticRoots(node.ifConditions[i$1].block, isInFor);\n }\n }\n }\n}\n\nfunction isStatic (node) {\n if (node.type === 2) { // expression\n return false\n }\n if (node.type === 3) { // text\n return true\n }\n return !!(node.pre || (\n !node.hasBindings && // no dynamic bindings\n !node.if && !node.for && // not v-if or v-for or v-else\n !isBuiltInTag(node.tag) && // not a built-in\n isPlatformReservedTag(node.tag) && // not a component\n !isDirectChildOfTemplateFor(node) &&\n Object.keys(node).every(isStaticKey)\n ))\n}\n\nfunction isDirectChildOfTemplateFor (node) {\n while (node.parent) {\n node = node.parent;\n if (node.tag !== 'template') {\n return false\n }\n if (node.for) {\n return true\n }\n }\n return false\n}\n\n/* */\n\nvar fnExpRE = /^([\\w$_]+|\\([^)]*?\\))\\s*=>|^function\\s*\\(/;\nvar simplePathRE = /^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\['[^']*?']|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/;\n\n// KeyboardEvent.keyCode aliases\nvar keyCodes = {\n esc: 27,\n tab: 9,\n enter: 13,\n space: 32,\n up: 38,\n left: 37,\n right: 39,\n down: 40,\n 'delete': [8, 46]\n};\n\n// KeyboardEvent.key aliases\nvar keyNames = {\n esc: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: ' ',\n // #7806: IE11 uses key names without `Arrow` prefix for arrow keys.\n up: ['Up', 'ArrowUp'],\n left: ['Left', 'ArrowLeft'],\n right: ['Right', 'ArrowRight'],\n down: ['Down', 'ArrowDown'],\n 'delete': ['Backspace', 'Delete']\n};\n\n// #4868: modifiers that prevent the execution of the listener\n// need to explicitly return null so that we can determine whether to remove\n// the listener for .once\nvar genGuard = function (condition) { return (\"if(\" + condition + \")return null;\"); };\n\nvar modifierCode = {\n stop: '$event.stopPropagation();',\n prevent: '$event.preventDefault();',\n self: genGuard(\"$event.target !== $event.currentTarget\"),\n ctrl: genGuard(\"!$event.ctrlKey\"),\n shift: genGuard(\"!$event.shiftKey\"),\n alt: genGuard(\"!$event.altKey\"),\n meta: genGuard(\"!$event.metaKey\"),\n left: genGuard(\"'button' in $event && $event.button !== 0\"),\n middle: genGuard(\"'button' in $event && $event.button !== 1\"),\n right: genGuard(\"'button' in $event && $event.button !== 2\")\n};\n\nfunction genHandlers (\n events,\n isNative,\n warn\n) {\n var res = isNative ? 'nativeOn:{' : 'on:{';\n for (var name in events) {\n res += \"\\\"\" + name + \"\\\":\" + (genHandler(name, events[name])) + \",\";\n }\n return res.slice(0, -1) + '}'\n}\n\nfunction genHandler (\n name,\n handler\n) {\n if (!handler) {\n return 'function(){}'\n }\n\n if (Array.isArray(handler)) {\n return (\"[\" + (handler.map(function (handler) { return genHandler(name, handler); }).join(',')) + \"]\")\n }\n\n var isMethodPath = simplePathRE.test(handler.value);\n var isFunctionExpression = fnExpRE.test(handler.value);\n\n if (!handler.modifiers) {\n if (isMethodPath || isFunctionExpression) {\n return handler.value\n }\n /* istanbul ignore if */\n return (\"function($event){\" + (handler.value) + \"}\") // inline statement\n } else {\n var code = '';\n var genModifierCode = '';\n var keys = [];\n for (var key in handler.modifiers) {\n if (modifierCode[key]) {\n genModifierCode += modifierCode[key];\n // left/right\n if (keyCodes[key]) {\n keys.push(key);\n }\n } else if (key === 'exact') {\n var modifiers = (handler.modifiers);\n genModifierCode += genGuard(\n ['ctrl', 'shift', 'alt', 'meta']\n .filter(function (keyModifier) { return !modifiers[keyModifier]; })\n .map(function (keyModifier) { return (\"$event.\" + keyModifier + \"Key\"); })\n .join('||')\n );\n } else {\n keys.push(key);\n }\n }\n if (keys.length) {\n code += genKeyFilter(keys);\n }\n // Make sure modifiers like prevent and stop get executed after key filtering\n if (genModifierCode) {\n code += genModifierCode;\n }\n var handlerCode = isMethodPath\n ? (\"return \" + (handler.value) + \"($event)\")\n : isFunctionExpression\n ? (\"return (\" + (handler.value) + \")($event)\")\n : handler.value;\n /* istanbul ignore if */\n return (\"function($event){\" + code + handlerCode + \"}\")\n }\n}\n\nfunction genKeyFilter (keys) {\n return (\"if(!('button' in $event)&&\" + (keys.map(genFilterCode).join('&&')) + \")return null;\")\n}\n\nfunction genFilterCode (key) {\n var keyVal = parseInt(key, 10);\n if (keyVal) {\n return (\"$event.keyCode!==\" + keyVal)\n }\n var keyCode = keyCodes[key];\n var keyName = keyNames[key];\n return (\n \"_k($event.keyCode,\" +\n (JSON.stringify(key)) + \",\" +\n (JSON.stringify(keyCode)) + \",\" +\n \"$event.key,\" +\n \"\" + (JSON.stringify(keyName)) +\n \")\"\n )\n}\n\n/* */\n\nfunction on (el, dir) {\n if (false) {\n warn(\"v-on without argument does not support modifiers.\");\n }\n el.wrapListeners = function (code) { return (\"_g(\" + code + \",\" + (dir.value) + \")\"); };\n}\n\n/* */\n\nfunction bind$1 (el, dir) {\n el.wrapData = function (code) {\n return (\"_b(\" + code + \",'\" + (el.tag) + \"',\" + (dir.value) + \",\" + (dir.modifiers && dir.modifiers.prop ? 'true' : 'false') + (dir.modifiers && dir.modifiers.sync ? ',true' : '') + \")\")\n };\n}\n\n/* */\n\nvar baseDirectives = {\n on: on,\n bind: bind$1,\n cloak: noop\n}\n\n/* */\n\nvar CodegenState = function CodegenState (options) {\n this.options = options;\n this.warn = options.warn || baseWarn;\n this.transforms = pluckModuleFunction(options.modules, 'transformCode');\n this.dataGenFns = pluckModuleFunction(options.modules, 'genData');\n this.directives = extend(extend({}, baseDirectives), options.directives);\n var isReservedTag = options.isReservedTag || no;\n this.maybeComponent = function (el) { return !isReservedTag(el.tag); };\n this.onceId = 0;\n this.staticRenderFns = [];\n};\n\n\n\nfunction generate (\n ast,\n options\n) {\n var state = new CodegenState(options);\n var code = ast ? genElement(ast, state) : '_c(\"div\")';\n return {\n render: (\"with(this){return \" + code + \"}\"),\n staticRenderFns: state.staticRenderFns\n }\n}\n\nfunction genElement (el, state) {\n if (el.staticRoot && !el.staticProcessed) {\n return genStatic(el, state)\n } else if (el.once && !el.onceProcessed) {\n return genOnce(el, state)\n } else if (el.for && !el.forProcessed) {\n return genFor(el, state)\n } else if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.tag === 'template' && !el.slotTarget) {\n return genChildren(el, state) || 'void 0'\n } else if (el.tag === 'slot') {\n return genSlot(el, state)\n } else {\n // component or element\n var code;\n if (el.component) {\n code = genComponent(el.component, el, state);\n } else {\n var data = el.plain ? undefined : genData$2(el, state);\n\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n code = \"_c('\" + (el.tag) + \"'\" + (data ? (\",\" + data) : '') + (children ? (\",\" + children) : '') + \")\";\n }\n // module transforms\n for (var i = 0; i < state.transforms.length; i++) {\n code = state.transforms[i](el, code);\n }\n return code\n }\n}\n\n// hoist static sub-trees out\nfunction genStatic (el, state) {\n el.staticProcessed = true;\n state.staticRenderFns.push((\"with(this){return \" + (genElement(el, state)) + \"}\"));\n return (\"_m(\" + (state.staticRenderFns.length - 1) + (el.staticInFor ? ',true' : '') + \")\")\n}\n\n// v-once\nfunction genOnce (el, state) {\n el.onceProcessed = true;\n if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.staticInFor) {\n var key = '';\n var parent = el.parent;\n while (parent) {\n if (parent.for) {\n key = parent.key;\n break\n }\n parent = parent.parent;\n }\n if (!key) {\n \"production\" !== 'production' && state.warn(\n \"v-once can only be used inside v-for that is keyed. \"\n );\n return genElement(el, state)\n }\n return (\"_o(\" + (genElement(el, state)) + \",\" + (state.onceId++) + \",\" + key + \")\")\n } else {\n return genStatic(el, state)\n }\n}\n\nfunction genIf (\n el,\n state,\n altGen,\n altEmpty\n) {\n el.ifProcessed = true; // avoid recursion\n return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty)\n}\n\nfunction genIfConditions (\n conditions,\n state,\n altGen,\n altEmpty\n) {\n if (!conditions.length) {\n return altEmpty || '_e()'\n }\n\n var condition = conditions.shift();\n if (condition.exp) {\n return (\"(\" + (condition.exp) + \")?\" + (genTernaryExp(condition.block)) + \":\" + (genIfConditions(conditions, state, altGen, altEmpty)))\n } else {\n return (\"\" + (genTernaryExp(condition.block)))\n }\n\n // v-if with v-once should generate code like (a)?_m(0):_m(1)\n function genTernaryExp (el) {\n return altGen\n ? altGen(el, state)\n : el.once\n ? genOnce(el, state)\n : genElement(el, state)\n }\n}\n\nfunction genFor (\n el,\n state,\n altGen,\n altHelper\n) {\n var exp = el.for;\n var alias = el.alias;\n var iterator1 = el.iterator1 ? (\",\" + (el.iterator1)) : '';\n var iterator2 = el.iterator2 ? (\",\" + (el.iterator2)) : '';\n\n if (false\n ) {\n state.warn(\n \"<\" + (el.tag) + \" v-for=\\\"\" + alias + \" in \" + exp + \"\\\">: component lists rendered with \" +\n \"v-for should have explicit keys. \" +\n \"See https://vuejs.org/guide/list.html#key for more info.\",\n true /* tip */\n );\n }\n\n el.forProcessed = true; // avoid recursion\n return (altHelper || '_l') + \"((\" + exp + \"),\" +\n \"function(\" + alias + iterator1 + iterator2 + \"){\" +\n \"return \" + ((altGen || genElement)(el, state)) +\n '})'\n}\n\nfunction genData$2 (el, state) {\n var data = '{';\n\n // directives first.\n // directives may mutate the el's other properties before they are generated.\n var dirs = genDirectives(el, state);\n if (dirs) { data += dirs + ','; }\n\n // key\n if (el.key) {\n data += \"key:\" + (el.key) + \",\";\n }\n // ref\n if (el.ref) {\n data += \"ref:\" + (el.ref) + \",\";\n }\n if (el.refInFor) {\n data += \"refInFor:true,\";\n }\n // pre\n if (el.pre) {\n data += \"pre:true,\";\n }\n // record original tag name for components using \"is\" attribute\n if (el.component) {\n data += \"tag:\\\"\" + (el.tag) + \"\\\",\";\n }\n // module data generation functions\n for (var i = 0; i < state.dataGenFns.length; i++) {\n data += state.dataGenFns[i](el);\n }\n // attributes\n if (el.attrs) {\n data += \"attrs:{\" + (genProps(el.attrs)) + \"},\";\n }\n // DOM props\n if (el.props) {\n data += \"domProps:{\" + (genProps(el.props)) + \"},\";\n }\n // event handlers\n if (el.events) {\n data += (genHandlers(el.events, false, state.warn)) + \",\";\n }\n if (el.nativeEvents) {\n data += (genHandlers(el.nativeEvents, true, state.warn)) + \",\";\n }\n // slot target\n // only for non-scoped slots\n if (el.slotTarget && !el.slotScope) {\n data += \"slot:\" + (el.slotTarget) + \",\";\n }\n // scoped slots\n if (el.scopedSlots) {\n data += (genScopedSlots(el.scopedSlots, state)) + \",\";\n }\n // component v-model\n if (el.model) {\n data += \"model:{value:\" + (el.model.value) + \",callback:\" + (el.model.callback) + \",expression:\" + (el.model.expression) + \"},\";\n }\n // inline-template\n if (el.inlineTemplate) {\n var inlineTemplate = genInlineTemplate(el, state);\n if (inlineTemplate) {\n data += inlineTemplate + \",\";\n }\n }\n data = data.replace(/,$/, '') + '}';\n // v-bind data wrap\n if (el.wrapData) {\n data = el.wrapData(data);\n }\n // v-on data wrap\n if (el.wrapListeners) {\n data = el.wrapListeners(data);\n }\n return data\n}\n\nfunction genDirectives (el, state) {\n var dirs = el.directives;\n if (!dirs) { return }\n var res = 'directives:[';\n var hasRuntime = false;\n var i, l, dir, needRuntime;\n for (i = 0, l = dirs.length; i < l; i++) {\n dir = dirs[i];\n needRuntime = true;\n var gen = state.directives[dir.name];\n if (gen) {\n // compile-time directive that manipulates AST.\n // returns true if it also needs a runtime counterpart.\n needRuntime = !!gen(el, dir, state.warn);\n }\n if (needRuntime) {\n hasRuntime = true;\n res += \"{name:\\\"\" + (dir.name) + \"\\\",rawName:\\\"\" + (dir.rawName) + \"\\\"\" + (dir.value ? (\",value:(\" + (dir.value) + \"),expression:\" + (JSON.stringify(dir.value))) : '') + (dir.arg ? (\",arg:\\\"\" + (dir.arg) + \"\\\"\") : '') + (dir.modifiers ? (\",modifiers:\" + (JSON.stringify(dir.modifiers))) : '') + \"},\";\n }\n }\n if (hasRuntime) {\n return res.slice(0, -1) + ']'\n }\n}\n\nfunction genInlineTemplate (el, state) {\n var ast = el.children[0];\n if (false) {\n state.warn('Inline-template components must have exactly one child element.');\n }\n if (ast.type === 1) {\n var inlineRenderFns = generate(ast, state.options);\n return (\"inlineTemplate:{render:function(){\" + (inlineRenderFns.render) + \"},staticRenderFns:[\" + (inlineRenderFns.staticRenderFns.map(function (code) { return (\"function(){\" + code + \"}\"); }).join(',')) + \"]}\")\n }\n}\n\nfunction genScopedSlots (\n slots,\n state\n) {\n return (\"scopedSlots:_u([\" + (Object.keys(slots).map(function (key) {\n return genScopedSlot(key, slots[key], state)\n }).join(',')) + \"])\")\n}\n\nfunction genScopedSlot (\n key,\n el,\n state\n) {\n if (el.for && !el.forProcessed) {\n return genForScopedSlot(key, el, state)\n }\n var fn = \"function(\" + (String(el.slotScope)) + \"){\" +\n \"return \" + (el.tag === 'template'\n ? el.if\n ? ((el.if) + \"?\" + (genChildren(el, state) || 'undefined') + \":undefined\")\n : genChildren(el, state) || 'undefined'\n : genElement(el, state)) + \"}\";\n return (\"{key:\" + key + \",fn:\" + fn + \"}\")\n}\n\nfunction genForScopedSlot (\n key,\n el,\n state\n) {\n var exp = el.for;\n var alias = el.alias;\n var iterator1 = el.iterator1 ? (\",\" + (el.iterator1)) : '';\n var iterator2 = el.iterator2 ? (\",\" + (el.iterator2)) : '';\n el.forProcessed = true; // avoid recursion\n return \"_l((\" + exp + \"),\" +\n \"function(\" + alias + iterator1 + iterator2 + \"){\" +\n \"return \" + (genScopedSlot(key, el, state)) +\n '})'\n}\n\nfunction genChildren (\n el,\n state,\n checkSkip,\n altGenElement,\n altGenNode\n) {\n var children = el.children;\n if (children.length) {\n var el$1 = children[0];\n // optimize single v-for\n if (children.length === 1 &&\n el$1.for &&\n el$1.tag !== 'template' &&\n el$1.tag !== 'slot'\n ) {\n return (altGenElement || genElement)(el$1, state)\n }\n var normalizationType = checkSkip\n ? getNormalizationType(children, state.maybeComponent)\n : 0;\n var gen = altGenNode || genNode;\n return (\"[\" + (children.map(function (c) { return gen(c, state); }).join(',')) + \"]\" + (normalizationType ? (\",\" + normalizationType) : ''))\n }\n}\n\n// determine the normalization needed for the children array.\n// 0: no normalization needed\n// 1: simple normalization needed (possible 1-level deep nested array)\n// 2: full normalization needed\nfunction getNormalizationType (\n children,\n maybeComponent\n) {\n var res = 0;\n for (var i = 0; i < children.length; i++) {\n var el = children[i];\n if (el.type !== 1) {\n continue\n }\n if (needsNormalization(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) {\n res = 2;\n break\n }\n if (maybeComponent(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) {\n res = 1;\n }\n }\n return res\n}\n\nfunction needsNormalization (el) {\n return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'\n}\n\nfunction genNode (node, state) {\n if (node.type === 1) {\n return genElement(node, state)\n } if (node.type === 3 && node.isComment) {\n return genComment(node)\n } else {\n return genText(node)\n }\n}\n\nfunction genText (text) {\n return (\"_v(\" + (text.type === 2\n ? text.expression // no need for () because already wrapped in _s()\n : transformSpecialNewlines(JSON.stringify(text.text))) + \")\")\n}\n\nfunction genComment (comment) {\n return (\"_e(\" + (JSON.stringify(comment.text)) + \")\")\n}\n\nfunction genSlot (el, state) {\n var slotName = el.slotName || '\"default\"';\n var children = genChildren(el, state);\n var res = \"_t(\" + slotName + (children ? (\",\" + children) : '');\n var attrs = el.attrs && (\"{\" + (el.attrs.map(function (a) { return ((camelize(a.name)) + \":\" + (a.value)); }).join(',')) + \"}\");\n var bind$$1 = el.attrsMap['v-bind'];\n if ((attrs || bind$$1) && !children) {\n res += \",null\";\n }\n if (attrs) {\n res += \",\" + attrs;\n }\n if (bind$$1) {\n res += (attrs ? '' : ',null') + \",\" + bind$$1;\n }\n return res + ')'\n}\n\n// componentName is el.component, take it as argument to shun flow's pessimistic refinement\nfunction genComponent (\n componentName,\n el,\n state\n) {\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n return (\"_c(\" + componentName + \",\" + (genData$2(el, state)) + (children ? (\",\" + children) : '') + \")\")\n}\n\nfunction genProps (props) {\n var res = '';\n for (var i = 0; i < props.length; i++) {\n var prop = props[i];\n /* istanbul ignore if */\n {\n res += \"\\\"\" + (prop.name) + \"\\\":\" + (transformSpecialNewlines(prop.value)) + \",\";\n }\n }\n return res.slice(0, -1)\n}\n\n// #3895, #4268\nfunction transformSpecialNewlines (text) {\n return text\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n}\n\n/* */\n\n// these keywords should not appear inside expressions, but operators like\n// typeof, instanceof and in are allowed\nvar prohibitedKeywordRE = new RegExp('\\\\b' + (\n 'do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +\n 'super,throw,while,yield,delete,export,import,return,switch,default,' +\n 'extends,finally,continue,debugger,function,arguments'\n).split(',').join('\\\\b|\\\\b') + '\\\\b');\n\n// these unary operators should not be used as property/method names\nvar unaryOperatorsRE = new RegExp('\\\\b' + (\n 'delete,typeof,void'\n).split(',').join('\\\\s*\\\\([^\\\\)]*\\\\)|\\\\b') + '\\\\s*\\\\([^\\\\)]*\\\\)');\n\n// strip strings in expressions\nvar stripStringRE = /'(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"|`(?:[^`\\\\]|\\\\.)*\\$\\{|\\}(?:[^`\\\\]|\\\\.)*`|`(?:[^`\\\\]|\\\\.)*`/g;\n\n// detect problematic expressions in a template\nfunction detectErrors (ast) {\n var errors = [];\n if (ast) {\n checkNode(ast, errors);\n }\n return errors\n}\n\nfunction checkNode (node, errors) {\n if (node.type === 1) {\n for (var name in node.attrsMap) {\n if (dirRE.test(name)) {\n var value = node.attrsMap[name];\n if (value) {\n if (name === 'v-for') {\n checkFor(node, (\"v-for=\\\"\" + value + \"\\\"\"), errors);\n } else if (onRE.test(name)) {\n checkEvent(value, (name + \"=\\\"\" + value + \"\\\"\"), errors);\n } else {\n checkExpression(value, (name + \"=\\\"\" + value + \"\\\"\"), errors);\n }\n }\n }\n }\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n checkNode(node.children[i], errors);\n }\n }\n } else if (node.type === 2) {\n checkExpression(node.expression, node.text, errors);\n }\n}\n\nfunction checkEvent (exp, text, errors) {\n var stipped = exp.replace(stripStringRE, '');\n var keywordMatch = stipped.match(unaryOperatorsRE);\n if (keywordMatch && stipped.charAt(keywordMatch.index - 1) !== '$') {\n errors.push(\n \"avoid using JavaScript unary operator as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\" in expression \" + (text.trim())\n );\n }\n checkExpression(exp, text, errors);\n}\n\nfunction checkFor (node, text, errors) {\n checkExpression(node.for || '', text, errors);\n checkIdentifier(node.alias, 'v-for alias', text, errors);\n checkIdentifier(node.iterator1, 'v-for iterator', text, errors);\n checkIdentifier(node.iterator2, 'v-for iterator', text, errors);\n}\n\nfunction checkIdentifier (\n ident,\n type,\n text,\n errors\n) {\n if (typeof ident === 'string') {\n try {\n new Function((\"var \" + ident + \"=_\"));\n } catch (e) {\n errors.push((\"invalid \" + type + \" \\\"\" + ident + \"\\\" in expression: \" + (text.trim())));\n }\n }\n}\n\nfunction checkExpression (exp, text, errors) {\n try {\n new Function((\"return \" + exp));\n } catch (e) {\n var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);\n if (keywordMatch) {\n errors.push(\n \"avoid using JavaScript keyword as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\"\\n Raw expression: \" + (text.trim())\n );\n } else {\n errors.push(\n \"invalid expression: \" + (e.message) + \" in\\n\\n\" +\n \" \" + exp + \"\\n\\n\" +\n \" Raw expression: \" + (text.trim()) + \"\\n\"\n );\n }\n }\n}\n\n/* */\n\nfunction createFunction (code, errors) {\n try {\n return new Function(code)\n } catch (err) {\n errors.push({ err: err, code: code });\n return noop\n }\n}\n\nfunction createCompileToFunctionFn (compile) {\n var cache = Object.create(null);\n\n return function compileToFunctions (\n template,\n options,\n vm\n ) {\n options = extend({}, options);\n var warn$$1 = options.warn || warn;\n delete options.warn;\n\n /* istanbul ignore if */\n if (false) {\n // detect possible CSP restriction\n try {\n new Function('return 1');\n } catch (e) {\n if (e.toString().match(/unsafe-eval|CSP/)) {\n warn$$1(\n 'It seems you are using the standalone build of Vue.js in an ' +\n 'environment with Content Security Policy that prohibits unsafe-eval. ' +\n 'The template compiler cannot work in this environment. Consider ' +\n 'relaxing the policy to allow unsafe-eval or pre-compiling your ' +\n 'templates into render functions.'\n );\n }\n }\n }\n\n // check cache\n var key = options.delimiters\n ? String(options.delimiters) + template\n : template;\n if (cache[key]) {\n return cache[key]\n }\n\n // compile\n var compiled = compile(template, options);\n\n // check compilation errors/tips\n if (false) {\n if (compiled.errors && compiled.errors.length) {\n warn$$1(\n \"Error compiling template:\\n\\n\" + template + \"\\n\\n\" +\n compiled.errors.map(function (e) { return (\"- \" + e); }).join('\\n') + '\\n',\n vm\n );\n }\n if (compiled.tips && compiled.tips.length) {\n compiled.tips.forEach(function (msg) { return tip(msg, vm); });\n }\n }\n\n // turn code into functions\n var res = {};\n var fnGenErrors = [];\n res.render = createFunction(compiled.render, fnGenErrors);\n res.staticRenderFns = compiled.staticRenderFns.map(function (code) {\n return createFunction(code, fnGenErrors)\n });\n\n // check function generation errors.\n // this should only happen if there is a bug in the compiler itself.\n // mostly for codegen development use\n /* istanbul ignore if */\n if (false) {\n if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) {\n warn$$1(\n \"Failed to generate render function:\\n\\n\" +\n fnGenErrors.map(function (ref) {\n var err = ref.err;\n var code = ref.code;\n\n return ((err.toString()) + \" in\\n\\n\" + code + \"\\n\");\n }).join('\\n'),\n vm\n );\n }\n }\n\n return (cache[key] = res)\n }\n}\n\n/* */\n\nfunction createCompilerCreator (baseCompile) {\n return function createCompiler (baseOptions) {\n function compile (\n template,\n options\n ) {\n var finalOptions = Object.create(baseOptions);\n var errors = [];\n var tips = [];\n finalOptions.warn = function (msg, tip) {\n (tip ? tips : errors).push(msg);\n };\n\n if (options) {\n // merge custom modules\n if (options.modules) {\n finalOptions.modules =\n (baseOptions.modules || []).concat(options.modules);\n }\n // merge custom directives\n if (options.directives) {\n finalOptions.directives = extend(\n Object.create(baseOptions.directives || null),\n options.directives\n );\n }\n // copy other options\n for (var key in options) {\n if (key !== 'modules' && key !== 'directives') {\n finalOptions[key] = options[key];\n }\n }\n }\n\n var compiled = baseCompile(template, finalOptions);\n if (false) {\n errors.push.apply(errors, detectErrors(compiled.ast));\n }\n compiled.errors = errors;\n compiled.tips = tips;\n return compiled\n }\n\n return {\n compile: compile,\n compileToFunctions: createCompileToFunctionFn(compile)\n }\n }\n}\n\n/* */\n\n// `createCompilerCreator` allows creating compilers that use alternative\n// parser/optimizer/codegen, e.g the SSR optimizing compiler.\n// Here we just export a default compiler using the default parts.\nvar createCompiler = createCompilerCreator(function baseCompile (\n template,\n options\n) {\n var ast = parse(template.trim(), options);\n if (options.optimize !== false) {\n optimize(ast, options);\n }\n var code = generate(ast, options);\n return {\n ast: ast,\n render: code.render,\n staticRenderFns: code.staticRenderFns\n }\n});\n\n/* */\n\nvar ref$1 = createCompiler(baseOptions);\nvar compileToFunctions = ref$1.compileToFunctions;\n\n/* */\n\n// check whether current browser encodes a char inside attribute values\nvar div;\nfunction getShouldDecode (href) {\n div = div || document.createElement('div');\n div.innerHTML = href ? \"<a href=\\\"\\n\\\"/>\" : \"<div a=\\\"\\n\\\"/>\";\n return div.innerHTML.indexOf('&#10;') > 0\n}\n\n// #3663: IE encodes newlines inside attribute values while other browsers don't\nvar shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false;\n// #6828: chrome encodes content in a[href]\nvar shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false;\n\n/* */\n\nvar idToTemplate = cached(function (id) {\n var el = query(id);\n return el && el.innerHTML\n});\n\nvar mount = Vue.prototype.$mount;\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && query(el);\n\n /* istanbul ignore if */\n if (el === document.body || el === document.documentElement) {\n \"production\" !== 'production' && warn(\n \"Do not mount Vue to <html> or <body> - mount to normal elements instead.\"\n );\n return this\n }\n\n var options = this.$options;\n // resolve template/el and convert to render function\n if (!options.render) {\n var template = options.template;\n if (template) {\n if (typeof template === 'string') {\n if (template.charAt(0) === '#') {\n template = idToTemplate(template);\n /* istanbul ignore if */\n if (false) {\n warn(\n (\"Template element not found or is empty: \" + (options.template)),\n this\n );\n }\n }\n } else if (template.nodeType) {\n template = template.innerHTML;\n } else {\n if (false) {\n warn('invalid template option:' + template, this);\n }\n return this\n }\n } else if (el) {\n template = getOuterHTML(el);\n }\n if (template) {\n /* istanbul ignore if */\n if (false) {\n mark('compile');\n }\n\n var ref = compileToFunctions(template, {\n shouldDecodeNewlines: shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref,\n delimiters: options.delimiters,\n comments: options.comments\n }, this);\n var render = ref.render;\n var staticRenderFns = ref.staticRenderFns;\n options.render = render;\n options.staticRenderFns = staticRenderFns;\n\n /* istanbul ignore if */\n if (false) {\n mark('compile end');\n measure((\"vue \" + (this._name) + \" compile\"), 'compile', 'compile end');\n }\n }\n }\n return mount.call(this, el, hydrating)\n};\n\n/**\n * Get outerHTML of elements, taking care\n * of SVG elements in IE as well.\n */\nfunction getOuterHTML (el) {\n if (el.outerHTML) {\n return el.outerHTML\n } else {\n var container = document.createElement('div');\n container.appendChild(el.cloneNode(true));\n return container.innerHTML\n }\n}\n\nVue.compile = compileToFunctions;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Vue);\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3), __webpack_require__(24).setImmediate))\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_axios__ = __webpack_require__(46);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_axios__);\n\n\nvar requestToken = document.getElementsByTagName('head')[0].getAttribute('data-requesttoken');\nvar tokenHeaders = { headers: { requesttoken: requestToken } };\n\nvar sanitize = function sanitize(url) {\n\treturn url.replace(/\\/$/, ''); // Remove last url slash\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\n\t/**\n * This Promise is used to chain a request that require an admin password confirmation\n * Since chaining Promise have a very precise behavior concerning catch and then,\n * you'll need to be careful when using it.\n * e.g\n * // store\n * \taction(context) {\n *\t\treturn api.requireAdmin().then((response) => {\n *\t\t\treturn api.get('url')\n *\t\t\t\t.then((response) => {API success})\n *\t\t\t\t.catch((error) => {API failure});\n *\t\t}).catch((error) => {requireAdmin failure});\n *\t}\n * // vue\n *\tthis.$store.dispatch('action').then(() => {always executed})\n *\n * Since Promise.then().catch().then() will always execute the last then\n * this.$store.dispatch('action').then will always be executed\n * \n * If you want requireAdmin failure to also catch the API request failure\n * you will need to throw a new error in the api.get.catch()\n * \n * e.g\n *\tapi.requireAdmin().then((response) => {\n *\t\tapi.get('url')\n *\t\t\t.then((response) => {API success})\n *\t\t\t.catch((error) => {throw error;});\n *\t}).catch((error) => {requireAdmin OR API failure});\n * \n * @returns {Promise}\n */\n\trequireAdmin: function requireAdmin() {\n\t\treturn new Promise(function (resolve, reject) {\n\t\t\t// TODO: migrate the OC.dialog to Vue and avoid this mess\n\t\t\t// wait for password confirmation\n\t\t\tvar passwordTimeout = void 0;\n\t\t\tvar waitForpassword = function waitForpassword() {\n\t\t\t\tif (OC.PasswordConfirmation.requiresPasswordConfirmation()) {\n\t\t\t\t\tpasswordTimeout = setTimeout(waitForpassword, 500);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tclearTimeout(passwordTimeout);\n\t\t\t\tclearTimeout(promiseTimeout);\n\t\t\t\tresolve();\n\t\t\t};\n\n\t\t\t// automatically reject after 5s if not resolved\n\t\t\tvar promiseTimeout = setTimeout(function () {\n\t\t\t\tclearTimeout(passwordTimeout);\n\t\t\t\t// close dialog\n\t\t\t\tif (document.getElementsByClassName('oc-dialog-close').length > 0) {\n\t\t\t\t\tdocument.getElementsByClassName('oc-dialog-close')[0].click();\n\t\t\t\t}\n\t\t\t\tOC.Notification.showTemporary(t('settings', 'You did not enter the password in time'));\n\t\t\t\treject('Password request cancelled');\n\t\t\t}, 7000);\n\n\t\t\t// request password\n\t\t\tOC.PasswordConfirmation.requirePasswordConfirmation();\n\t\t\twaitForpassword();\n\t\t});\n\t},\n\tget: function get(url) {\n\t\treturn __WEBPACK_IMPORTED_MODULE_0_axios___default.a.get(sanitize(url), tokenHeaders).then(function (response) {\n\t\t\treturn Promise.resolve(response);\n\t\t}).catch(function (error) {\n\t\t\treturn Promise.reject(error);\n\t\t});\n\t},\n\tpost: function post(url, data) {\n\t\treturn __WEBPACK_IMPORTED_MODULE_0_axios___default.a.post(sanitize(url), data, tokenHeaders).then(function (response) {\n\t\t\treturn Promise.resolve(response);\n\t\t}).catch(function (error) {\n\t\t\treturn Promise.reject(error);\n\t\t});\n\t},\n\tpatch: function patch(url, data) {\n\t\treturn __WEBPACK_IMPORTED_MODULE_0_axios___default.a.patch(sanitize(url), data, tokenHeaders).then(function (response) {\n\t\t\treturn Promise.resolve(response);\n\t\t}).catch(function (error) {\n\t\t\treturn Promise.reject(error);\n\t\t});\n\t},\n\tput: function put(url, data) {\n\t\treturn __WEBPACK_IMPORTED_MODULE_0_axios___default.a.put(sanitize(url), data, tokenHeaders).then(function (response) {\n\t\t\treturn Promise.resolve(response);\n\t\t}).catch(function (error) {\n\t\t\treturn Promise.reject(error);\n\t\t});\n\t},\n\tdelete: function _delete(url, data) {\n\t\treturn __WEBPACK_IMPORTED_MODULE_0_axios___default.a.delete(sanitize(url), { data: data, headers: tokenHeaders.headers }).then(function (response) {\n\t\t\treturn Promise.resolve(response);\n\t\t}).catch(function (error) {\n\t\t\treturn Promise.reject(error);\n\t\t});\n\t}\n});\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n!function(t,e){ true?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueMultiselect=e():t.VueMultiselect=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=66)}([function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){t.exports=!n(12)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(10),r=n(43),o=n(31),s=Object.defineProperty;e.f=n(1)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e,n){var i=n(77),r=n(21);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(9),r=n(52),o=n(18),s=n(55),u=n(53),a=function(t,e,n){var l,c,f,p,h=t&a.F,d=t&a.G,v=t&a.S,y=t&a.P,g=t&a.B,b=d?i:v?i[e]||(i[e]={}):(i[e]||{}).prototype,m=d?r:r[e]||(r[e]={}),_=m.prototype||(m.prototype={});d&&(n=e);for(l in n)c=!h&&b&&void 0!==b[l],f=(c?b:n)[l],p=g&&c?u(f,i):y&&\"function\"==typeof f?u(Function.call,f):f,b&&s(b,l,f,t&a.U),m[l]!=f&&o(m,l,p),y&&_[l]!=f&&(_[l]=f)};i.core=r,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e,n){var i=n(3),r=n(15);t.exports=n(1)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var i=n(29)(\"wks\"),r=n(16),o=n(0).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){var i=n(13);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(48),r=n(22);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e,n){var i=n(109),r=n(110);t.exports=n(35)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(8);t.exports=function(t,e){return!!t&&i(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e,n){var i=n(0),r=n(11),o=n(74),s=n(6),u=function(t,e,n){var a,l,c,f=t&u.F,p=t&u.G,h=t&u.S,d=t&u.P,v=t&u.B,y=t&u.W,g=p?r:r[e]||(r[e]={}),b=g.prototype,m=p?i:h?i[e]:(i[e]||{}).prototype;p&&(n=e);for(a in n)(l=!f&&m&&void 0!==m[a])&&a in g||(c=l?m[a]:n[a],g[a]=p&&\"function\"!=typeof m[a]?n[a]:v&&l?o(c,i):y&&m[a]==c?function(t){var e=function(e,n,i){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,i)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(c):d&&\"function\"==typeof c?o(Function.call,c):c,d&&((g.virtual||(g.virtual={}))[a]=c,t&u.R&&b&&!b[a]&&s(b,a,c)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e){t.exports={}},function(t,e){t.exports=!0},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var i=n(3).f,r=n(2),o=n(7)(\"toStringTag\");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(29)(\"keys\"),r=n(16);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(0),r=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});t.exports=function(t){return r[t]||(r[t]={})}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(13);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){var i=n(0),r=n(11),o=n(25),s=n(33),u=n(3).f;t.exports=function(t){var e=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});\"_\"==t.charAt(0)||t in e||u(e,t,{value:s.f(t)})}},function(t,e,n){e.f=n(7)},function(t,e,n){var i=n(53),r=n(36),o=n(57),s=n(37),u=n(104);t.exports=function(t,e){var n=1==t,a=2==t,l=3==t,c=4==t,f=6==t,p=5==t||f,h=e||u;return function(e,u,d){for(var v,y,g=o(e),b=r(g),m=i(u,d,3),_=s(b.length),x=0,w=n?h(e,_):a?h(e,0):void 0;_>x;x++)if((p||x in b)&&(v=b[x],y=m(v,x,g),t))if(n)w[x]=y;else if(y)switch(t){case 3:return!0;case 5:return v;case 6:return x;case 2:w.push(v)}else if(c)return!1;return f?-1:l||c?c:w}}},function(t,e,n){t.exports=!n(8)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(51);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e,n){var i=n(56),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(111)(\"wks\"),r=n(58),o=n(9).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e,n){\"use strict\";function i(t){return 0!==t&&(!(!Array.isArray(t)||0!==t.length)||!t)}function r(t){return function(){return!t.apply(void 0,arguments)}}function o(t,e){return void 0===t&&(t=\"undefined\"),null===t&&(t=\"null\"),!1===t&&(t=\"false\"),-1!==t.toString().toLowerCase().indexOf(e.trim())}function s(t,e,n,i){return t.filter(function(t){return o(i(t,n),e)})}function u(t){return t.filter(function(t){return!t.$isLabel})}function a(t,e){return function(n){return n.reduce(function(n,i){return i[t]&&i[t].length?(n.push({$groupLabel:i[e],$isLabel:!0}),n.concat(i[t])):n},[])}}function l(t,e,n,i,r){return function(o){return o.map(function(o){var u;if(!o[n])return console.warn(\"Options passed to vue-multiselect do not contain groups, despite the config.\"),[];var a=s(o[n],t,e,r);return a.length?(u={},v()(u,i,o[i]),v()(u,n,a),u):[]})}}var c=n(65),f=n.n(c),p=n(59),h=(n.n(p),n(122)),d=(n.n(h),n(64)),v=n.n(d),y=n(120),g=(n.n(y),n(121)),b=(n.n(g),n(117)),m=(n.n(b),n(123)),_=(n.n(m),n(118)),x=(n.n(_),n(119)),w=(n.n(x),function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(t){return e.reduce(function(t,e){return e(t)},t)}});e.a={data:function(){return{search:\"\",isOpen:!1,prefferedOpenDirection:\"below\",optimizedHeight:this.maxHeight}},props:{internalSearch:{type:Boolean,default:!0},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},value:{type:null,default:function(){return[]}},trackBy:{type:String},label:{type:String},searchable:{type:Boolean,default:!0},clearOnSelect:{type:Boolean,default:!0},hideSelected:{type:Boolean,default:!1},placeholder:{type:String,default:\"Select option\"},allowEmpty:{type:Boolean,default:!0},resetAfter:{type:Boolean,default:!1},closeOnSelect:{type:Boolean,default:!0},customLabel:{type:Function,default:function(t,e){return i(t)?\"\":e?t[e]:t}},taggable:{type:Boolean,default:!1},tagPlaceholder:{type:String,default:\"Press enter to create a tag\"},tagPosition:{type:String,default:\"top\"},max:{type:[Number,Boolean],default:!1},id:{default:null},optionsLimit:{type:Number,default:1e3},groupValues:{type:String},groupLabel:{type:String},groupSelect:{type:Boolean,default:!1},blockKeys:{type:Array,default:function(){return[]}},preserveSearch:{type:Boolean,default:!1},preselectFirst:{type:Boolean,default:!1}},mounted:function(){this.multiple||this.clearOnSelect||console.warn(\"[Vue-Multiselect warn]: ClearOnSelect and Multiple props can’t be both set to false.\"),!this.multiple&&this.max&&console.warn(\"[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.\"),this.preselectFirst&&!this.internalValue.length&&this.options.length&&this.select(this.filteredOptions[0])},computed:{internalValue:function(){return this.value||0===this.value?Array.isArray(this.value)?this.value:[this.value]:[]},filteredOptions:function(){var t=this.search||\"\",e=t.toLowerCase().trim(),n=this.options.concat();return n=this.internalSearch?this.groupValues?this.filterAndFlat(n,e,this.label):s(n,e,this.label,this.customLabel):this.groupValues?a(this.groupValues,this.groupLabel)(n):n,n=this.hideSelected?n.filter(r(this.isSelected)):n,this.taggable&&e.length&&!this.isExistingOption(e)&&(\"bottom\"===this.tagPosition?n.push({isTag:!0,label:t}):n.unshift({isTag:!0,label:t})),n.slice(0,this.optionsLimit)},valueKeys:function(){var t=this;return this.trackBy?this.internalValue.map(function(e){return e[t.trackBy]}):this.internalValue},optionKeys:function(){var t=this;return(this.groupValues?this.flatAndStrip(this.options):this.options).map(function(e){return t.customLabel(e,t.label).toString().toLowerCase()})},currentOptionLabel:function(){return this.multiple?this.searchable?\"\":this.placeholder:this.internalValue.length?this.getOptionLabel(this.internalValue[0]):this.searchable?\"\":this.placeholder}},watch:{internalValue:function(){this.resetAfter&&this.internalValue.length&&(this.search=\"\",this.$emit(\"input\",this.multiple?[]:null))},search:function(){this.$emit(\"search-change\",this.search,this.id)}},methods:{getValue:function(){return this.multiple?this.internalValue:0===this.internalValue.length?null:this.internalValue[0]},filterAndFlat:function(t,e,n){return w(l(e,n,this.groupValues,this.groupLabel,this.customLabel),a(this.groupValues,this.groupLabel))(t)},flatAndStrip:function(t){return w(a(this.groupValues,this.groupLabel),u)(t)},updateSearch:function(t){this.search=t},isExistingOption:function(t){return!!this.options&&this.optionKeys.indexOf(t)>-1},isSelected:function(t){var e=this.trackBy?t[this.trackBy]:t;return this.valueKeys.indexOf(e)>-1},getOptionLabel:function(t){if(i(t))return\"\";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return i(e)?\"\":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)return void this.selectGroup(t);if(!(-1!==this.blockKeys.indexOf(e)||this.disabled||t.$isDisabled||t.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&(\"Tab\"!==e||this.pointerDirty)){if(t.isTag)this.$emit(\"tag\",t.label,this.id),this.search=\"\",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(t))return void(\"Tab\"!==e&&this.removeElement(t));this.$emit(\"select\",t,this.id),this.multiple?this.$emit(\"input\",this.internalValue.concat([t]),this.id):this.$emit(\"input\",t,this.id),this.clearOnSelect&&(this.search=\"\")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(t){var e=this,n=this.options.find(function(n){return n[e.groupLabel]===t.$groupLabel});if(n)if(this.wholeGroupSelected(n)){this.$emit(\"remove\",n[this.groupValues],this.id);var i=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit(\"input\",i,this.id)}else{var o=n[this.groupValues].filter(r(this.isSelected));this.$emit(\"select\",o,this.id),this.$emit(\"input\",this.internalValue.concat(o),this.id)}},wholeGroupSelected:function(t){return t[this.groupValues].every(this.isSelected)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var n=\"object\"===f()(t)?this.valueKeys.indexOf(t[this.trackBy]):this.valueKeys.indexOf(t);if(this.$emit(\"remove\",t,this.id),this.multiple){var i=this.internalValue.slice(0,n).concat(this.internalValue.slice(n+1));this.$emit(\"input\",i,this.id)}else this.$emit(\"input\",null,this.id);this.closeOnSelect&&e&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf(\"Delete\")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var t=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=\"\"),this.$nextTick(function(){return t.$refs.search.focus()})):this.$el.focus(),this.$emit(\"open\",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=\"\"),this.$emit(\"close\",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if(\"undefined\"!=typeof window){var t=this.$el.getBoundingClientRect().top,e=window.innerHeight-this.$el.getBoundingClientRect().bottom;e>this.maxHeight||e>t||\"below\"===this.openDirection||\"bottom\"===this.openDirection?(this.prefferedOpenDirection=\"below\",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.prefferedOpenDirection=\"above\",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){\"use strict\";var i=n(59);n.n(i);e.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(t,e){return{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer,\"multiselect__option--selected\":this.isSelected(e)}},groupHighlight:function(t,e){var n=this;if(!this.groupSelect)return[\"multiselect__option--disabled\"];var i=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return[this.groupSelect?\"multiselect__option--group\":\"multiselect__option--disabled\",{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer},{\"multiselect__option--group-selected\":this.wholeGroupSelected(i)}]},addPointerElement:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"Enter\",e=t.key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward:function(){this.pointer<this.filteredOptions.length-1&&(this.pointer++,this.$refs.list.scrollTop<=this.pointerPosition-(this.visibleElements-1)*this.optionHeight&&(this.$refs.list.scrollTop=this.pointerPosition-(this.visibleElements-1)*this.optionHeight),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()),this.pointerDirty=!0},pointerBackward:function(){this.pointer>0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(t){this.pointer=t,this.pointerDirty=!0}}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var i=n(13),r=n(0).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){t.exports=!n(1)&&!n(12)(function(){return 7!=Object.defineProperty(n(42)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){\"use strict\";var i=n(25),r=n(23),o=n(49),s=n(6),u=n(2),a=n(24),l=n(79),c=n(27),f=n(86),p=n(7)(\"iterator\"),h=!([].keys&&\"next\"in[].keys()),d=function(){return this};t.exports=function(t,e,n,v,y,g,b){l(n,e,v);var m,_,x,w=function(t){if(!h&&t in P)return P[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+\" Iterator\",O=\"values\"==y,L=!1,P=t.prototype,k=P[p]||P[\"@@iterator\"]||y&&P[y],E=k||w(y),j=y?O?w(\"entries\"):E:void 0,V=\"Array\"==e?P.entries||k:k;if(V&&(x=f(V.call(new t)))!==Object.prototype&&(c(x,S,!0),i||u(x,p)||s(x,p,d)),O&&k&&\"values\"!==k.name&&(L=!0,E=function(){return k.call(this)}),i&&!b||!h&&!L&&P[p]||s(P,p,E),a[e]=E,a[S]=d,y)if(m={values:O?E:w(\"values\"),keys:g?E:w(\"keys\"),entries:j},b)for(_ in m)_ in P||o(P,_,m[_]);else r(r.P+r.F*(h||L),e,m);return m}},function(t,e,n){var i=n(10),r=n(83),o=n(22),s=n(28)(\"IE_PROTO\"),u=function(){},a=function(){var t,e=n(42)(\"iframe\"),i=o.length;for(e.style.display=\"none\",n(76).appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),a=t.F;i--;)delete a.prototype[o[i]];return a()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=i(t),n=new u,u.prototype=null,n[s]=t):n=a(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(48),r=n(22).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var i=n(2),r=n(4),o=n(73)(!1),s=n(28)(\"IE_PROTO\");t.exports=function(t,e){var n,u=r(t),a=0,l=[];for(n in u)n!=s&&i(u,n)&&l.push(n);for(;e.length>a;)i(u,n=e[a++])&&(~o(l,n)||l.push(n));return l}},function(t,e,n){t.exports=n(6)},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e,n){var i=n(50);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(51);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){var i=n(9),r=n(18),o=n(107),s=n(58)(\"src\"),u=Function.toString,a=(\"\"+u).split(\"toString\");n(52).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var l=\"function\"==typeof n;l&&(o(n,\"name\")||r(n,\"name\",e)),t[e]!==n&&(l&&(o(n,s)||r(n,s,t[e]?\"\"+t[e]:a.join(String(e)))),t===i?t[e]=n:u?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[s]||u.call(this)})},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(17);t.exports=function(t){return Object(i(t))}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(5),o=!0;\"find\"in[]&&Array(1).find(function(){o=!1}),i(i.P+i.F*o,\"Array\",{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),n(99)(\"find\")},function(t,e,n){\"use strict\";function i(t){n(124)}var r=n(67),o=n(126),s=n(125),u=i,a=s(r.a,o.a,!1,u,null,null);e.a=a.exports},function(t,e,n){t.exports=n(68)},function(t,e,n){t.exports=n(69)},function(t,e,n){t.exports=n(70)},function(t,e,n){function i(t,e,n){return e in t?r(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var r=n(61);t.exports=i},function(t,e,n){function i(t){return(i=\"function\"==typeof s&&\"symbol\"==typeof o?function(t){return typeof t}:function(t){return t&&\"function\"==typeof s&&t.constructor===s&&t!==s.prototype?\"symbol\":typeof t})(t)}function r(e){return\"function\"==typeof s&&\"symbol\"===i(o)?t.exports=r=function(t){return i(t)}:t.exports=r=function(t){return t&&\"function\"==typeof s&&t.constructor===s&&t!==s.prototype?\"symbol\":i(t)},r(e)}var o=n(63),s=n(62);t.exports=r},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(60),r=n(39),o=n(40);n.d(e,\"Multiselect\",function(){return i.a}),n.d(e,\"multiselectMixin\",function(){return r.a}),n.d(e,\"pointerMixin\",function(){return o.a}),e.default=i.a},function(t,e,n){\"use strict\";var i=n(39),r=n(40);e.a={name:\"vue-multiselect\",mixins:[i.a,r.a],props:{name:{type:String,default:\"\"},selectLabel:{type:String,default:\"Press enter to select\"},selectGroupLabel:{type:String,default:\"Press enter to select group\"},selectedLabel:{type:String,default:\"Selected\"},deselectLabel:{type:String,default:\"Press enter to remove\"},deselectGroupLabel:{type:String,default:\"Press enter to deselect group\"},showLabels:{type:Boolean,default:!0},limit:{type:Number,default:99999},maxHeight:{type:Number,default:300},limitText:{type:Function,default:function(t){return\"and \".concat(t,\" more\")}},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},openDirection:{type:String,default:\"\"},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{isSingleLabelVisible:function(){return this.singleValue&&(!this.isOpen||!this.searchable)&&!this.visibleValues.length},isPlaceholderVisible:function(){return!(this.internalValue.length||this.searchable&&this.isOpen)},visibleValues:function(){return this.multiple?this.internalValue.slice(0,this.limit):[]},singleValue:function(){return this.internalValue[0]},deselectLabelText:function(){return this.showLabels?this.deselectLabel:\"\"},deselectGroupLabelText:function(){return this.showLabels?this.deselectGroupLabel:\"\"},selectLabelText:function(){return this.showLabels?this.selectLabel:\"\"},selectGroupLabelText:function(){return this.showLabels?this.selectGroupLabel:\"\"},selectedLabelText:function(){return this.showLabels?this.selectedLabel:\"\"},inputStyle:function(){if(this.multiple&&this.value&&this.value.length)return this.isOpen?{width:\"auto\"}:{width:\"0\",position:\"absolute\",padding:\"0\"}},contentStyle:function(){return this.options.length?{display:\"inline-block\"}:{display:\"block\"}},isAbove:function(){return\"above\"===this.openDirection||\"top\"===this.openDirection||\"below\"!==this.openDirection&&\"bottom\"!==this.openDirection&&\"above\"===this.prefferedOpenDirection},showSearchInput:function(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}}},function(t,e,n){n(92);var i=n(11).Object;t.exports=function(t,e,n){return i.defineProperty(t,e,n)}},function(t,e,n){n(95),n(93),n(96),n(97),t.exports=n(11).Symbol},function(t,e,n){n(94),n(98),t.exports=n(33).f(\"iterator\")},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){t.exports=function(){}},function(t,e,n){var i=n(4),r=n(89),o=n(88);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(71);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(14),r=n(47),o=n(26);t.exports=function(t){var e=i(t),n=r.f;if(n)for(var s,u=n(t),a=o.f,l=0;u.length>l;)a.call(t,s=u[l++])&&e.push(s);return e}},function(t,e,n){t.exports=n(0).document&&document.documentElement},function(t,e,n){var i=n(41);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e,n){var i=n(41);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){\"use strict\";var i=n(45),r=n(15),o=n(27),s={};n(6)(s,n(7)(\"iterator\"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+\" Iterator\")}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var i=n(14),r=n(4);t.exports=function(t,e){for(var n,o=r(t),s=i(o),u=s.length,a=0;u>a;)if(o[n=s[a++]]===e)return n}},function(t,e,n){var i=n(16)(\"meta\"),r=n(13),o=n(2),s=n(3).f,u=0,a=Object.isExtensible||function(){return!0},l=!n(12)(function(){return a(Object.preventExtensions({}))}),c=function(t){s(t,i,{value:{i:\"O\"+ ++u,w:{}}})},f=function(t,e){if(!r(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!o(t,i)){if(!a(t))return\"F\";if(!e)return\"E\";c(t)}return t[i].i},p=function(t,e){if(!o(t,i)){if(!a(t))return!0;if(!e)return!1;c(t)}return t[i].w},h=function(t){return l&&d.NEED&&a(t)&&!o(t,i)&&c(t),t},d=t.exports={KEY:i,NEED:!1,fastKey:f,getWeak:p,onFreeze:h}},function(t,e,n){var i=n(3),r=n(10),o=n(14);t.exports=n(1)?Object.defineProperties:function(t,e){r(t);for(var n,s=o(e),u=s.length,a=0;u>a;)i.f(t,n=s[a++],e[n]);return t}},function(t,e,n){var i=n(26),r=n(15),o=n(4),s=n(31),u=n(2),a=n(43),l=Object.getOwnPropertyDescriptor;e.f=n(1)?l:function(t,e){if(t=o(t),e=s(e,!0),a)try{return l(t,e)}catch(t){}if(u(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e,n){var i=n(4),r=n(46).f,o={}.toString,s=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(t){try{return r(t)}catch(t){return s.slice()}};t.exports.f=function(t){return s&&\"[object Window]\"==o.call(t)?u(t):r(i(t))}},function(t,e,n){var i=n(2),r=n(90),o=n(28)(\"IE_PROTO\"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var i=n(30),r=n(21);t.exports=function(t){return function(e,n){var o,s,u=String(r(e)),a=i(n),l=u.length;return a<0||a>=l?t?\"\":void 0:(o=u.charCodeAt(a),o<55296||o>56319||a+1===l||(s=u.charCodeAt(a+1))<56320||s>57343?t?u.charAt(a):o:t?u.slice(a,a+2):s-56320+(o-55296<<10)+65536)}}},function(t,e,n){var i=n(30),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(30),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(21);t.exports=function(t){return Object(i(t))}},function(t,e,n){\"use strict\";var i=n(72),r=n(80),o=n(24),s=n(4);t.exports=n(44)(Array,\"Array\",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):\"keys\"==e?r(0,n):\"values\"==e?r(0,t[n]):r(0,[n,t[n]])},\"values\"),o.Arguments=o.Array,i(\"keys\"),i(\"values\"),i(\"entries\")},function(t,e,n){var i=n(23);i(i.S+i.F*!n(1),\"Object\",{defineProperty:n(3).f})},function(t,e){},function(t,e,n){\"use strict\";var i=n(87)(!0);n(44)(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=i(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){\"use strict\";var i=n(0),r=n(2),o=n(1),s=n(23),u=n(49),a=n(82).KEY,l=n(12),c=n(29),f=n(27),p=n(16),h=n(7),d=n(33),v=n(32),y=n(81),g=n(75),b=n(78),m=n(10),_=n(4),x=n(31),w=n(15),S=n(45),O=n(85),L=n(84),P=n(3),k=n(14),E=L.f,j=P.f,V=O.f,C=i.Symbol,T=i.JSON,A=T&&T.stringify,$=h(\"_hidden\"),D=h(\"toPrimitive\"),F={}.propertyIsEnumerable,M=c(\"symbol-registry\"),B=c(\"symbols\"),N=c(\"op-symbols\"),R=Object.prototype,H=\"function\"==typeof C,G=i.QObject,I=!G||!G.prototype||!G.prototype.findChild,K=o&&l(function(){return 7!=S(j({},\"a\",{get:function(){return j(this,\"a\",{value:7}).a}})).a})?function(t,e,n){var i=E(R,e);i&&delete R[e],j(t,e,n),i&&t!==R&&j(R,e,i)}:j,z=function(t){var e=B[t]=S(C.prototype);return e._k=t,e},U=H&&\"symbol\"==typeof C.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof C},W=function(t,e,n){return t===R&&W(N,e,n),m(t),e=x(e,!0),m(n),r(B,e)?(n.enumerable?(r(t,$)&&t[$][e]&&(t[$][e]=!1),n=S(n,{enumerable:w(0,!1)})):(r(t,$)||j(t,$,w(1,{})),t[$][e]=!0),K(t,e,n)):j(t,e,n)},J=function(t,e){m(t);for(var n,i=g(e=_(e)),r=0,o=i.length;o>r;)W(t,n=i[r++],e[n]);return t},q=function(t,e){return void 0===e?S(t):J(S(t),e)},X=function(t){var e=F.call(this,t=x(t,!0));return!(this===R&&r(B,t)&&!r(N,t))&&(!(e||!r(this,t)||!r(B,t)||r(this,$)&&this[$][t])||e)},Y=function(t,e){if(t=_(t),e=x(e,!0),t!==R||!r(B,e)||r(N,e)){var n=E(t,e);return!n||!r(B,e)||r(t,$)&&t[$][e]||(n.enumerable=!0),n}},Q=function(t){for(var e,n=V(_(t)),i=[],o=0;n.length>o;)r(B,e=n[o++])||e==$||e==a||i.push(e);return i},Z=function(t){for(var e,n=t===R,i=V(n?N:_(t)),o=[],s=0;i.length>s;)!r(B,e=i[s++])||n&&!r(R,e)||o.push(B[e]);return o};H||(C=function(){if(this instanceof C)throw TypeError(\"Symbol is not a constructor!\");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===R&&e.call(N,n),r(this,$)&&r(this[$],t)&&(this[$][t]=!1),K(this,t,w(1,n))};return o&&I&&K(R,t,{configurable:!0,set:e}),z(t)},u(C.prototype,\"toString\",function(){return this._k}),L.f=Y,P.f=W,n(46).f=O.f=Q,n(26).f=X,n(47).f=Z,o&&!n(25)&&u(R,\"propertyIsEnumerable\",X,!0),d.f=function(t){return z(h(t))}),s(s.G+s.W+s.F*!H,{Symbol:C});for(var tt=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),et=0;tt.length>et;)h(tt[et++]);for(var tt=k(h.store),et=0;tt.length>et;)v(tt[et++]);s(s.S+s.F*!H,\"Symbol\",{for:function(t){return r(M,t+=\"\")?M[t]:M[t]=C(t)},keyFor:function(t){if(U(t))return y(M,t);throw TypeError(t+\" is not a symbol!\")},useSetter:function(){I=!0},useSimple:function(){I=!1}}),s(s.S+s.F*!H,\"Object\",{create:q,defineProperty:W,defineProperties:J,getOwnPropertyDescriptor:Y,getOwnPropertyNames:Q,getOwnPropertySymbols:Z}),T&&s(s.S+s.F*(!H||l(function(){var t=C();return\"[null]\"!=A([t])||\"{}\"!=A({a:t})||\"{}\"!=A(Object(t))})),\"JSON\",{stringify:function(t){if(void 0!==t&&!U(t)){for(var e,n,i=[t],r=1;arguments.length>r;)i.push(arguments[r++]);return e=i[1],\"function\"==typeof e&&(n=e),!n&&b(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!U(e))return e}),i[1]=e,A.apply(T,i)}}}),C.prototype[D]||n(6)(C.prototype,D,C.prototype.valueOf),f(C,\"Symbol\"),f(Math,\"Math\",!0),f(i.JSON,\"JSON\",!0)},function(t,e,n){n(32)(\"asyncIterator\")},function(t,e,n){n(32)(\"observable\")},function(t,e,n){n(91);for(var i=n(0),r=n(6),o=n(24),s=n(7)(\"toStringTag\"),u=[\"NodeList\",\"DOMTokenList\",\"MediaList\",\"StyleSheetList\",\"CSSRuleList\"],a=0;a<5;a++){var l=u[a],c=i[l],f=c&&c.prototype;f&&!f[s]&&r(f,s,l),o[l]=o.Array}},function(t,e,n){var i=n(38)(\"unscopables\"),r=Array.prototype;void 0==r[i]&&n(18)(r,i,{}),t.exports=function(t){r[i][t]=!0}},function(t,e,n){var i=n(19);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,n){var i=n(115),r=n(37),o=n(114);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(50),r=n(57),o=n(36),s=n(37);t.exports=function(t,e,n,u,a){i(e);var l=r(t),c=o(l),f=s(l.length),p=a?f-1:0,h=a?-1:1;if(n<2)for(;;){if(p in c){u=c[p],p+=h;break}if(p+=h,a?p<0:f<=p)throw TypeError(\"Reduce of empty array with no initial value\")}for(;a?p>=0:f>p;p+=h)p in c&&(u=e(u,c[p],p,l));return u}},function(t,e,n){var i=n(19),r=n(54),o=n(38)(\"species\");t.exports=function(t){var e;return r(t)&&(e=t.constructor,\"function\"!=typeof e||e!==Array&&!r(e.prototype)||(e=void 0),i(e)&&null===(e=e[o])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var i=n(103);t.exports=function(t,e){return new(i(t))(e)}},function(t,e,n){var i=n(19),r=n(9).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){\"use strict\";var i=n(18),r=n(55),o=n(8),s=n(17),u=n(38);t.exports=function(t,e,n){var a=u(t),l=n(s,a,\"\"[t]),c=l[0],f=l[1];o(function(){var e={};return e[a]=function(){return 7},7!=\"\"[t](e)})&&(r(String.prototype,t,c),i(RegExp.prototype,a,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}))}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){t.exports=!n(35)&&!n(8)(function(){return 7!=Object.defineProperty(n(105)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(100),r=n(108),o=n(116),s=Object.defineProperty;e.f=n(35)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var i=n(9),r=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});t.exports=function(t){return r[t]||(r[t]={})}},function(t,e,n){var i=n(5),r=n(17),o=n(8),s=n(113),u=\"[\"+s+\"]\",a=\"​…\",l=RegExp(\"^\"+u+u+\"*\"),c=RegExp(u+u+\"*$\"),f=function(t,e,n){var r={},u=o(function(){return!!s[t]()||a[t]()!=a}),l=r[t]=u?e(p):s[t];n&&(r[n]=l),i(i.P+i.F*u,\"String\",r)},p=f.trim=function(t,e){return t=String(r(t)),1&e&&(t=t.replace(l,\"\")),2&e&&(t=t.replace(c,\"\")),t};t.exports=f},function(t,e){t.exports=\"\\t\\n\\v\\f\\r   ᠎              \\u2028\\u2029\\ufeff\"},function(t,e,n){var i=n(56),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(36),r=n(17);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(19);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(2);i(i.P+i.F*!n(20)([].filter,!0),\"Array\",{filter:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(5),r=n(101)(!1),o=[].indexOf,s=!!o&&1/[1].indexOf(1,-0)<0;i(i.P+i.F*(s||!n(20)(o)),\"Array\",{indexOf:function(t){return s?o.apply(this,arguments)||0:r(this,t,arguments[1])}})},function(t,e,n){var i=n(5);i(i.S,\"Array\",{isArray:n(54)})},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(1);i(i.P+i.F*!n(20)([].map,!0),\"Array\",{map:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(5),r=n(102);i(i.P+i.F*!n(20)([].reduce,!0),\"Array\",{reduce:function(t){return r(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){n(106)(\"search\",1,function(t,e,n){return[function(n){\"use strict\";var i=t(this),r=void 0==n?void 0:n[e];return void 0!==r?r.call(n,i):new RegExp(n)[e](String(i))},n]})},function(t,e,n){\"use strict\";n(112)(\"trim\",function(t){return function(){return t(this,3)}})},function(t,e){},function(t,e){t.exports=function(t,e,n,i,r,o){var s,u=t=t||{},a=typeof t.default;\"object\"!==a&&\"function\"!==a||(s=t,u=t.default);var l=\"function\"==typeof u?u.options:u;e&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0),n&&(l.functional=!0),r&&(l._scopeId=r);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):i&&(c=i),c){var f=l.functional,p=f?l.render:l.beforeCreate;f?(l._injectStyles=c,l.render=function(t,e){return c.call(e),p(t,e)}):l.beforeCreate=p?[].concat(p,c):[c]}return{esModule:s,exports:u,options:l}}},function(t,e,n){\"use strict\";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"multiselect\",class:{\"multiselect--active\":t.isOpen,\"multiselect--disabled\":t.disabled,\"multiselect--above\":t.isAbove},attrs:{tabindex:t.searchable?-1:t.tabindex},on:{focus:function(e){t.activate()},blur:function(e){!t.searchable&&t.deactivate()},keydown:[function(e){return\"button\"in e||!t._k(e.keyCode,\"down\",40,e.key,\"ArrowDown\")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerForward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"up\",38,e.key,\"ArrowUp\")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerBackward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")||!t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")?(e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null}],keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()}}},[t._t(\"caret\",[n(\"div\",{staticClass:\"multiselect__select\",on:{mousedown:function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}}})],{toggle:t.toggle}),t._v(\" \"),t._t(\"clear\",null,{search:t.search}),t._v(\" \"),n(\"div\",{ref:\"tags\",staticClass:\"multiselect__tags\"},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.visibleValues.length>0,expression:\"visibleValues.length > 0\"}],staticClass:\"multiselect__tags-wrap\"},[t._l(t.visibleValues,function(e){return[t._t(\"tag\",[n(\"span\",{staticClass:\"multiselect__tag\"},[n(\"span\",{domProps:{textContent:t._s(t.getOptionLabel(e))}}),t._v(\" \"),n(\"i\",{staticClass:\"multiselect__tag-icon\",attrs:{\"aria-hidden\":\"true\",tabindex:\"1\"},on:{keydown:function(n){if(!(\"button\"in n)&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\"))return null;n.preventDefault(),t.removeElement(e)},mousedown:function(n){n.preventDefault(),t.removeElement(e)}}})])],{option:e,search:t.search,remove:t.removeElement})]})],2),t._v(\" \"),t.internalValue&&t.internalValue.length>t.limit?[t._t(\"limit\",[n(\"strong\",{staticClass:\"multiselect__strong\",domProps:{textContent:t._s(t.limitText(t.internalValue.length-t.limit))}})])]:t._e(),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect__loading\"}},[t._t(\"loading\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.loading,expression:\"loading\"}],staticClass:\"multiselect__spinner\"})])],2),t._v(\" \"),n(\"input\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen&&t.searchable,expression:\"isOpen && searchable\"}],ref:\"search\",staticClass:\"multiselect__input\",style:t.inputStyle,attrs:{name:t.name,id:t.id,type:\"text\",autocomplete:\"off\",placeholder:t.placeholder,disabled:t.disabled,tabindex:t.tabindex},domProps:{value:t.search},on:{input:function(e){t.updateSearch(e.target.value)},focus:function(e){e.preventDefault(),t.activate()},blur:function(e){e.preventDefault(),t.deactivate()},keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()},keydown:[function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"down\",40,e.key,\"ArrowDown\"))return null;e.preventDefault(),t.pointerForward()},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"up\",38,e.key,\"ArrowUp\"))return null;e.preventDefault(),t.pointerBackward()},function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?(e.preventDefault(),e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"delete\",[8,46],e.key,[\"Backspace\",\"Delete\"]))return null;e.stopPropagation(),t.removeLastElement()}]}}),t._v(\" \"),t.isSingleLabelVisible?n(\"span\",{staticClass:\"multiselect__single\",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"singleLabel\",[[t._v(t._s(t.currentOptionLabel))]],{option:t.singleValue})],2):t._e(),t._v(\" \"),t.isPlaceholderVisible?n(\"span\",{on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"placeholder\",[n(\"span\",{staticClass:\"multiselect__single\"},[t._v(\"\\n \"+t._s(t.placeholder)+\"\\n \")])])],2):t._e()],2),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen,expression:\"isOpen\"}],ref:\"list\",staticClass:\"multiselect__content-wrapper\",style:{maxHeight:t.optimizedHeight+\"px\"},on:{focus:t.activate,mousedown:function(t){t.preventDefault()}}},[n(\"ul\",{staticClass:\"multiselect__content\",style:t.contentStyle},[t._t(\"beforeList\"),t._v(\" \"),t.multiple&&t.max===t.internalValue.length?n(\"li\",[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"maxElements\",[t._v(\"Maximum of \"+t._s(t.max)+\" options selected. First remove a selected option to select another.\")])],2)]):t._e(),t._v(\" \"),!t.max||t.internalValue.length<t.max?t._l(t.filteredOptions,function(e,i){return n(\"li\",{key:i,staticClass:\"multiselect__element\"},[e&&(e.$isLabel||e.$isDisabled)?t._e():n(\"span\",{staticClass:\"multiselect__option\",class:t.optionHighlight(i,e),attrs:{\"data-select\":e&&e.isTag?t.tagPlaceholder:t.selectLabelText,\"data-selected\":t.selectedLabelText,\"data-deselect\":t.deselectLabelText},on:{click:function(n){n.stopPropagation(),t.select(e)},mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.pointerSet(i)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2),t._v(\" \"),e&&(e.$isLabel||e.$isDisabled)?n(\"span\",{staticClass:\"multiselect__option\",class:t.groupHighlight(i,e),attrs:{\"data-select\":t.groupSelect&&t.selectGroupLabelText,\"data-deselect\":t.groupSelect&&t.deselectGroupLabelText},on:{mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.groupSelect&&t.pointerSet(i)},mousedown:function(n){n.preventDefault(),t.selectGroup(e)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2):t._e()])}):t._e(),t._v(\" \"),n(\"li\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showNoResults&&0===t.filteredOptions.length&&t.search&&!t.loading,expression:\"showNoResults && (filteredOptions.length === 0 && search && !loading)\"}]},[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"noResult\",[t._v(\"No elements found. Consider changing the search query.\")])],2)]),t._v(\" \"),t._t(\"afterList\")],2)])])],2)},r=[],o={render:i,staticRenderFns:r};e.a=o}])});\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {\n\nvar utils = __webpack_require__(0);\nvar normalizeHeaderName = __webpack_require__(50);\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = __webpack_require__(19);\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = __webpack_require__(19);\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'App',\n\tbeforeMount: function beforeMount() {\n\t\t// importing server data into the store\n\t\tvar serverDataElmt = document.getElementById('serverData');\n\t\tif (serverDataElmt !== null) {\n\t\t\tthis.$store.commit('setServerData', JSON.parse(document.getElementById('serverData').dataset.server));\n\t\t}\n\t}\n});\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_appNavigation__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_userList__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue_localstorage__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue_localstorage___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_vue_localstorage__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vue_multiselect__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vue_multiselect___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_vue_multiselect__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__store_api__ = __webpack_require__(4);\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_2_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_3_vue_localstorage___default.a);\n__WEBPACK_IMPORTED_MODULE_2_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_3_vue_localstorage___default.a);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'Users',\n\tprops: ['selectedGroup'],\n\tcomponents: {\n\t\tappNavigation: __WEBPACK_IMPORTED_MODULE_0__components_appNavigation__[\"a\" /* default */],\n\t\tuserList: __WEBPACK_IMPORTED_MODULE_1__components_userList__[\"a\" /* default */],\n\t\tMultiselect: __WEBPACK_IMPORTED_MODULE_4_vue_multiselect___default.a\n\t},\n\tbeforeMount: function beforeMount() {\n\t\tthis.$store.commit('initGroups', {\n\t\t\tgroups: this.$store.getters.getServerData.groups,\n\t\t\torderBy: this.$store.getters.getServerData.sortGroups,\n\t\t\tuserCount: this.$store.getters.getServerData.userCount\n\t\t});\n\t\tthis.$store.dispatch('getPasswordPolicyMinLength');\n\t},\n\tdata: function data() {\n\t\treturn {\n\t\t\t// default quota is unlimited\n\t\t\tunlimitedQuota: { id: 'default', label: t('settings', 'Unlimited') },\n\t\t\t// temporary value used for multiselect change\n\t\t\tselectedQuota: false,\n\t\t\tshowConfig: {\n\t\t\t\tshowStoragePath: false,\n\t\t\t\tshowUserBackend: false,\n\t\t\t\tshowLastLogin: false,\n\t\t\t\tshowNewUserForm: false,\n\t\t\t\tshowLanguages: false\n\t\t\t}\n\t\t};\n\t},\n\n\tmethods: {\n\t\ttoggleNewUserMenu: function toggleNewUserMenu() {\n\t\t\tthis.showConfig.showNewUserForm = !this.showConfig.showNewUserForm;\n\t\t\tif (this.showConfig.showNewUserForm) {\n\t\t\t\t__WEBPACK_IMPORTED_MODULE_2_vue__[\"a\" /* default */].nextTick(function () {\n\t\t\t\t\twindow.newusername.focus();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetLocalstorage: function getLocalstorage(key) {\n\t\t\t// force initialization\n\t\t\tvar localConfig = this.$localStorage.get(key);\n\t\t\t// if localstorage is null, fallback to original values\n\t\t\tthis.showConfig[key] = localConfig !== null ? localConfig === 'true' : this.showConfig[key];\n\t\t\treturn this.showConfig[key];\n\t\t},\n\t\tsetLocalStorage: function setLocalStorage(key, status) {\n\t\t\tthis.showConfig[key] = status;\n\t\t\tthis.$localStorage.set(key, status);\n\t\t\treturn status;\n\t\t},\n\t\tremoveGroup: function removeGroup(groupid) {\n\t\t\tvar self = this;\n\t\t\t// TODO migrate to a vue js confirm dialog component \n\t\t\tOC.dialogs.confirm(t('settings', 'You are about to remove the group {group}. The users will NOT be deleted.', { group: groupid }), t('settings', 'Please confirm the group removal '), function (success) {\n\t\t\t\tif (success) {\n\t\t\t\t\tself.$store.dispatch('removeGroup', groupid);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Dispatch default quota set request\n * \n * @param {string|Object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n * @returns {string}\n */\n\t\tsetDefaultQuota: function setDefaultQuota() {\n\t\t\tvar _this = this;\n\n\t\t\tvar quota = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'none';\n\n\t\t\tthis.$store.dispatch('setAppConfig', {\n\t\t\t\tapp: 'files',\n\t\t\t\tkey: 'default_quota',\n\t\t\t\t// ensure we only send the preset id\n\t\t\t\tvalue: quota.id ? quota.id : quota\n\t\t\t}).then(function () {\n\t\t\t\tif ((typeof quota === 'undefined' ? 'undefined' : _typeof(quota)) !== 'object') {\n\t\t\t\t\tquota = { id: quota, label: quota };\n\t\t\t\t}\n\t\t\t\t_this.defaultQuota = quota;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Validate quota string to make sure it's a valid human file size\n * \n * @param {string} quota Quota in readable format '5 GB'\n * @returns {Promise|boolean}\n */\n\t\tvalidateQuota: function validateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tvar validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota === 0) {\n\t\t\t\treturn this.setDefaultQuota('none');\n\t\t\t} else if (validQuota !== null) {\n\t\t\t\t// unify format output\n\t\t\t\treturn this.setDefaultQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));\n\t\t\t}\n\t\t\t// if no valid do not change\n\t\t\treturn false;\n\t\t}\n\t},\n\tcomputed: {\n\t\tusers: function users() {\n\t\t\treturn this.$store.getters.getUsers;\n\t\t},\n\t\tloading: function loading() {\n\t\t\treturn Object.keys(this.users).length === 0;\n\t\t},\n\t\tusersOffset: function usersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset;\n\t\t},\n\t\tusersLimit: function usersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit;\n\t\t},\n\n\n\t\t// Local settings\n\t\tshowLanguages: {\n\t\t\tget: function get() {\n\t\t\t\treturn this.getLocalstorage('showLanguages');\n\t\t\t},\n\t\t\tset: function set(status) {\n\t\t\t\tthis.setLocalStorage('showLanguages', status);\n\t\t\t}\n\t\t},\n\t\tshowLastLogin: {\n\t\t\tget: function get() {\n\t\t\t\treturn this.getLocalstorage('showLastLogin');\n\t\t\t},\n\t\t\tset: function set(status) {\n\t\t\t\tthis.setLocalStorage('showLastLogin', status);\n\t\t\t}\n\t\t},\n\t\tshowUserBackend: {\n\t\t\tget: function get() {\n\t\t\t\treturn this.getLocalstorage('showUserBackend');\n\t\t\t},\n\t\t\tset: function set(status) {\n\t\t\t\tthis.setLocalStorage('showUserBackend', status);\n\t\t\t}\n\t\t},\n\t\tshowStoragePath: {\n\t\t\tget: function get() {\n\t\t\t\treturn this.getLocalstorage('showStoragePath');\n\t\t\t},\n\t\t\tset: function set(status) {\n\t\t\t\tthis.setLocalStorage('showStoragePath', status);\n\t\t\t}\n\t\t},\n\n\t\tuserCount: function userCount() {\n\t\t\treturn this.$store.getters.getUserCount;\n\t\t},\n\t\tsettings: function settings() {\n\t\t\treturn this.$store.getters.getServerData;\n\t\t},\n\n\n\t\t// default quota\n\t\tquotaOptions: function quotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tvar quotaPreset = this.settings.quotaPreset.reduce(function (acc, cur) {\n\t\t\t\treturn acc.concat({ id: cur, label: cur });\n\t\t\t}, []);\n\t\t\t// add default presets\n\t\t\tquotaPreset.unshift(this.unlimitedQuota);\n\t\t\treturn quotaPreset;\n\t\t},\n\n\t\t// mapping saved values to objects\n\t\tdefaultQuota: {\n\t\t\tget: function get() {\n\t\t\t\tif (this.selectedQuota !== false) {\n\t\t\t\t\treturn this.selectedQuota;\n\t\t\t\t}\n\t\t\t\tif (OC.Util.computerFileSize(this.settings.defaultQuota) > 0) {\n\t\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\t\treturn { id: this.settings.defaultQuota, label: this.settings.defaultQuota };\n\t\t\t\t}\n\t\t\t\treturn this.unlimitedQuota; // unlimited\n\t\t\t},\n\t\t\tset: function set(quota) {\n\t\t\t\tthis.selectedQuota = quota;\n\t\t\t}\n\n\t\t},\n\n\t\t// BUILD APP NAVIGATION MENU OBJECT\n\t\tmenu: function menu() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Data provided php side\n\t\t\tvar groups = this.$store.getters.getGroups;\n\t\t\tgroups = Array.isArray(groups) ? groups : [];\n\n\t\t\t// Map groups\n\t\t\tgroups = groups.map(function (group) {\n\t\t\t\tvar item = {};\n\t\t\t\titem.id = group.id.replace(' ', '_');\n\t\t\t\titem.classes = []; // empty classes, active will be set later\n\t\t\t\titem.router = { // router link to\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tparams: { selectedGroup: group.id }\n\t\t\t\t};\n\t\t\t\titem.text = group.name; // group name\n\t\t\t\titem.utils = { counter: group.usercount }; // users count\n\n\t\t\t\tif (item.id !== 'admin' && item.id !== 'disabled') {\n\t\t\t\t\t// add delete button on real groups\n\t\t\t\t\tvar self = _this2;\n\t\t\t\t\titem.utils.actions = [{\n\t\t\t\t\t\ticon: 'icon-delete',\n\t\t\t\t\t\ttext: t('settings', 'Remove group'),\n\t\t\t\t\t\taction: function action() {\n\t\t\t\t\t\t\tself.removeGroup(group.id);\n\t\t\t\t\t\t}\n\t\t\t\t\t}];\n\t\t\t\t};\n\t\t\t\treturn item;\n\t\t\t});\n\n\t\t\t// Adjust data\n\t\t\tvar adminGroup = groups.find(function (group) {\n\t\t\t\treturn group.id == 'admin';\n\t\t\t});\n\t\t\tvar disabledGroupIndex = groups.findIndex(function (group) {\n\t\t\t\treturn group.id == 'disabled';\n\t\t\t});\n\t\t\tvar disabledGroup = groups[disabledGroupIndex];\n\t\t\tif (adminGroup && adminGroup.text) {\n\t\t\t\tadminGroup.text = t('settings', 'Admins'); // rename admin group\n\t\t\t}\n\t\t\tif (disabledGroup && disabledGroup.text) {\n\t\t\t\tdisabledGroup.text = t('settings', 'Disabled users'); // rename disabled group\n\t\t\t\tif (disabledGroup.utils.counter === 0) {\n\t\t\t\t\tgroups.splice(disabledGroupIndex, 1); // remove disabled if empty\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add everyone group\n\t\t\tgroups.unshift({\n\t\t\t\tid: 'everyone',\n\t\t\t\tclasses: [],\n\t\t\t\trouter: { name: 'users' },\n\t\t\t\ttext: t('settings', 'Everyone'),\n\t\t\t\tutils: { counter: this.userCount }\n\t\t\t});\n\n\t\t\t// Set current group as active\n\t\t\tvar activeGroup = groups.findIndex(function (group) {\n\t\t\t\treturn group.id === _this2.selectedGroup;\n\t\t\t});\n\t\t\tif (activeGroup >= 0) {\n\t\t\t\tgroups[activeGroup].classes.push('active');\n\t\t\t} else {\n\t\t\t\tgroups[0].classes.push('active');\n\t\t\t}\n\n\t\t\t// Return\n\t\t\treturn {\n\t\t\t\tid: 'usergrouplist',\n\t\t\t\tnew: {\n\t\t\t\t\tid: 'new-user-button',\n\t\t\t\t\ttext: t('settings', 'New user'),\n\t\t\t\t\ticon: 'icon-add',\n\t\t\t\t\taction: this.toggleNewUserMenu\n\t\t\t\t},\n\t\t\t\titems: groups\n\t\t\t};\n\t\t}\n\t}\n});\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__appNavigation_navigationItem__ = __webpack_require__(33);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'appNavigation',\n\tprops: ['menu'],\n\tcomponents: {\n\t\tnavigationItem: __WEBPACK_IMPORTED_MODULE_0__appNavigation_navigationItem__[\"a\" /* default */]\n\t}\n});\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__popoverMenu__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_click_outside__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_click_outside___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vue_click_outside__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue__ = __webpack_require__(2);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'navigationItem',\n\tprops: ['item'],\n\tcomponents: {\n\t\tpopoverMenu: __WEBPACK_IMPORTED_MODULE_0__popoverMenu__[\"a\" /* default */]\n\t},\n\tdirectives: {\n\t\tClickOutside: __WEBPACK_IMPORTED_MODULE_1_vue_click_outside___default.a\n\t},\n\tdata: function data() {\n\t\treturn {\n\t\t\topenedMenu: false\n\t\t};\n\t},\n\n\tmethods: {\n\t\tshowMenu: function showMenu() {\n\t\t\tthis.openedMenu = true;\n\t\t},\n\t\thideMenu: function hideMenu() {\n\t\t\tthis.openedMenu = false;\n\t\t},\n\t\ttoggleCollapse: function toggleCollapse() {\n\t\t\t// if item.opened isn't set, Vue won't trigger view updates https://vuejs.org/v2/api/#Vue-set\n\t\t\t// ternary is here to detect the undefined state of item.opened\n\t\t\t__WEBPACK_IMPORTED_MODULE_2_vue__[\"a\" /* default */].set(this.item, 'opened', this.item.opened ? !this.item.opened : true);\n\t\t},\n\t\tcancelEdit: function cancelEdit() {\n\t\t\t// remove the editing class\n\t\t\tif (Array.isArray(this.item.classes)) this.item.classes = this.item.classes.filter(function (item) {\n\t\t\t\treturn item !== 'editing';\n\t\t\t});\n\t\t}\n\t},\n\tmounted: function mounted() {\n\t\t// prevent click outside event with popupItem.\n\t\tthis.popupItem = this.$el;\n\t}\n});\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_popoverMenu_vue__ = __webpack_require__(13);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_24e4fcfe_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_popoverMenu_vue__ = __webpack_require__(36);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_popoverMenu_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_24e4fcfe_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_popoverMenu_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__popoverMenu_popoverItem__ = __webpack_require__(34);\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'popoverMenu',\n\tprops: ['menu'],\n\tcomponents: {\n\t\tpopoverItem: __WEBPACK_IMPORTED_MODULE_0__popoverMenu_popoverItem__[\"a\" /* default */]\n\t}\n});\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tprops: ['item']\n});\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nfunction validate(binding) {\r\n if (typeof binding.value !== 'function') {\r\n console.warn('[Vue-click-outside:] provided expression', binding.expression, 'is not a function.')\r\n return false\r\n }\r\n\r\n return true\r\n}\r\n\r\nfunction isPopup(popupItem, elements) {\r\n if (!popupItem || !elements)\r\n return false\r\n\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n try {\r\n if (popupItem.contains(elements[i])) {\r\n return true\r\n }\r\n if (elements[i].contains(popupItem)) {\r\n return false\r\n }\r\n } catch(e) {\r\n return false\r\n }\r\n }\r\n\r\n return false\r\n}\r\n\r\nfunction isServer(vNode) {\r\n return typeof vNode.componentInstance !== 'undefined' && vNode.componentInstance.$isServer\r\n}\r\n\r\nexports = module.exports = {\r\n bind: function (el, binding, vNode) {\r\n if (!validate(binding)) return\r\n\r\n // Define Handler and cache it on the element\r\n function handler(e) {\r\n if (!vNode.context) return\r\n\r\n // some components may have related popup item, on which we shall prevent the click outside event handler.\r\n var elements = e.path || (e.composedPath && e.composedPath())\r\n elements && elements.length > 0 && elements.unshift(e.target)\r\n \r\n if (el.contains(e.target) || isPopup(vNode.context.popupItem, elements)) return\r\n\r\n el.__vueClickOutside__.callback(e)\r\n }\r\n\r\n // add Event Listeners\r\n el.__vueClickOutside__ = {\r\n handler: handler,\r\n callback: binding.value\r\n }\r\n !isServer(vNode) && document.addEventListener('click', handler)\r\n },\r\n\r\n update: function (el, binding) {\r\n if (validate(binding)) el.__vueClickOutside__.callback = binding.value\r\n },\r\n \r\n unbind: function (el, binding, vNode) {\r\n // Remove Event Listeners\r\n !isServer(vNode) && document.removeEventListener('click', el.__vueClickOutside__.handler)\r\n delete el.__vueClickOutside__\r\n }\r\n}\r\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__userList_userRow__ = __webpack_require__(40);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_multiselect__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_multiselect___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vue_multiselect__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_infinite_loading__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_infinite_loading___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_vue_infinite_loading__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue__ = __webpack_require__(2);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'userList',\n\tprops: ['users', 'showConfig', 'selectedGroup'],\n\tcomponents: {\n\t\tuserRow: __WEBPACK_IMPORTED_MODULE_0__userList_userRow__[\"a\" /* default */],\n\t\tMultiselect: __WEBPACK_IMPORTED_MODULE_1_vue_multiselect___default.a,\n\t\tInfiniteLoading: __WEBPACK_IMPORTED_MODULE_2_vue_infinite_loading___default.a\n\t},\n\tdata: function data() {\n\t\tvar unlimitedQuota = { id: 'none', label: t('settings', 'Unlimited') },\n\t\t defaultQuota = { id: 'default', label: t('settings', 'Default quota') };\n\t\treturn {\n\t\t\tunlimitedQuota: unlimitedQuota,\n\t\t\tdefaultQuota: defaultQuota,\n\t\t\tloading: false,\n\t\t\tscrolled: false,\n\t\t\tnewUser: {\n\t\t\t\tid: '',\n\t\t\t\tdisplayName: '',\n\t\t\t\tpassword: '',\n\t\t\t\tmailAddress: '',\n\t\t\t\tgroups: [],\n\t\t\t\tsubAdminsGroups: [],\n\t\t\t\tquota: defaultQuota,\n\t\t\t\tlanguage: { code: 'en', name: t('settings', 'Default language') }\n\t\t\t}\n\t\t};\n\t},\n\tmounted: function mounted() {\n\t\tif (!this.settings.canChangePassword) {\n\t\t\tOC.Notification.showTemporary(t('settings', 'Password change is disabled because the master key is disabled'));\n\t\t}\n\t\t/** \n * Init default language from server data. The use of this.settings\n * requires a computed variable,vwhich break the v-model binding of the form,\n * this is a much easier solution than getter and setter\n */\n\t\t__WEBPACK_IMPORTED_MODULE_3_vue__[\"a\" /* default */].set(this.newUser.language, 'code', this.settings.defaultLanguage);\n\t},\n\n\tcomputed: {\n\t\tsettings: function settings() {\n\t\t\treturn this.$store.getters.getServerData;\n\t\t},\n\t\tfilteredUsers: function filteredUsers() {\n\t\t\tif (this.selectedGroup === 'disabled') {\n\t\t\t\tvar disabledUsers = this.users.filter(function (user) {\n\t\t\t\t\treturn user.enabled !== true;\n\t\t\t\t});\n\t\t\t\tif (disabledUsers.length === 0 && this.$refs.infiniteLoading && this.$refs.infiniteLoading.isComplete) {\n\t\t\t\t\t// disabled group is empty, redirection to all users\n\t\t\t\t\tthis.$router.push({ name: 'users' });\n\t\t\t\t\tthis.$refs.infiniteLoading.$emit('$InfiniteLoading:reset');\n\t\t\t\t}\n\t\t\t\treturn disabledUsers;\n\t\t\t}\n\t\t\treturn this.users.filter(function (user) {\n\t\t\t\treturn user.enabled === true;\n\t\t\t});\n\t\t},\n\t\tgroups: function groups() {\n\t\t\t// data provided php side + remove the disabled group\n\t\t\treturn this.$store.getters.getGroups.filter(function (group) {\n\t\t\t\treturn group.id !== 'disabled';\n\t\t\t});\n\t\t},\n\t\tsubAdminsGroups: function subAdminsGroups() {\n\t\t\t// data provided php side\n\t\t\treturn this.$store.getters.getServerData.subadmingroups;\n\t\t},\n\t\tquotaOptions: function quotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tvar quotaPreset = this.settings.quotaPreset.reduce(function (acc, cur) {\n\t\t\t\treturn acc.concat({ id: cur, label: cur });\n\t\t\t}, []);\n\t\t\t// add default presets\n\t\t\tquotaPreset.unshift(this.unlimitedQuota);\n\t\t\tquotaPreset.unshift(this.defaultQuota);\n\t\t\treturn quotaPreset;\n\t\t},\n\t\tminPasswordLength: function minPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength;\n\t\t},\n\t\tusersOffset: function usersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset;\n\t\t},\n\t\tusersLimit: function usersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit;\n\t\t},\n\n\n\t\t/* LANGUAGES */\n\t\tlanguages: function languages() {\n\t\t\treturn Array({\n\t\t\t\tlabel: t('settings', 'Common languages'),\n\t\t\t\tlanguages: this.settings.languages.commonlanguages\n\t\t\t}, {\n\t\t\t\tlabel: t('settings', 'All languages'),\n\t\t\t\tlanguages: this.settings.languages.languages\n\t\t\t});\n\t\t}\n\t},\n\twatch: {\n\t\t// watch url change and group select\n\t\tselectedGroup: function selectedGroup(val, old) {\n\t\t\tthis.$store.commit('resetUsers');\n\t\t\tthis.$refs.infiniteLoading.$emit('$InfiniteLoading:reset');\n\t\t}\n\t},\n\tmethods: {\n\t\tonScroll: function onScroll(event) {\n\t\t\tthis.scrolled = event.target.scrollTop > 0;\n\t\t},\n\n\n\t\t/**\n * Validate quota string to make sure it's a valid human file size\n * \n * @param {string} quota Quota in readable format '5 GB'\n * @returns {Object}\n */\n\t\tvalidateQuota: function validateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tvar validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota !== null && validQuota > 0) {\n\t\t\t\t// unify format output\n\t\t\t\tquota = OC.Util.humanFileSize(OC.Util.computerFileSize(quota));\n\t\t\t\treturn this.newUser.quota = { id: quota, label: quota };\n\t\t\t}\n\t\t\t// Default is unlimited\n\t\t\treturn this.newUser.quota = this.quotaOptions[0];\n\t\t},\n\t\tinfiniteHandler: function infiniteHandler($state) {\n\t\t\tthis.$store.dispatch('getUsers', {\n\t\t\t\toffset: this.usersOffset,\n\t\t\t\tlimit: this.usersLimit,\n\t\t\t\tgroup: this.selectedGroup !== 'disabled' ? this.selectedGroup : '' }).then(function (response) {\n\t\t\t\tresponse ? $state.loaded() : $state.complete();\n\t\t\t});\n\t\t},\n\t\tresetForm: function resetForm() {\n\t\t\t// revert form to original state\n\t\t\tObject.assign(this.newUser, this.$options.data.call(this).newUser);\n\t\t\tthis.loading = false;\n\t\t},\n\t\tcreateUser: function createUser() {\n\t\t\tvar _this = this;\n\n\t\t\tthis.loading = true;\n\t\t\tthis.$store.dispatch('addUser', {\n\t\t\t\tuserid: this.newUser.id,\n\t\t\t\tpassword: this.newUser.password,\n\t\t\t\temail: this.newUser.mailAddress,\n\t\t\t\tgroups: this.newUser.groups.map(function (group) {\n\t\t\t\t\treturn group.id;\n\t\t\t\t}),\n\t\t\t\tsubadmin: this.newUser.subAdminsGroups.map(function (group) {\n\t\t\t\t\treturn group.id;\n\t\t\t\t}),\n\t\t\t\tquota: this.newUser.quota.id,\n\t\t\t\tlanguage: this.newUser.language.code\n\t\t\t}).then(function () {\n\t\t\t\treturn _this.resetForm();\n\t\t\t});\n\t\t}\n\t}\n});\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__popoverMenu__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_click_outside__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_click_outside___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vue_click_outside__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_multiselect__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_multiselect___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_vue_multiselect__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_v_tooltip__ = __webpack_require__(41);\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_3_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_4_v_tooltip__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'userRow',\n\tprops: ['user', 'settings', 'groups', 'subAdminsGroups', 'quotaOptions', 'showConfig', 'languages'],\n\tcomponents: {\n\t\tpopoverMenu: __WEBPACK_IMPORTED_MODULE_0__popoverMenu__[\"a\" /* default */],\n\t\tMultiselect: __WEBPACK_IMPORTED_MODULE_2_vue_multiselect___default.a\n\t},\n\tdirectives: {\n\t\tClickOutside: __WEBPACK_IMPORTED_MODULE_1_vue_click_outside___default.a\n\t},\n\tmounted: function mounted() {\n\t\t// required if popup needs to stay opened after menu click\n\t\t// since we only have disable/delete actions, let's close it directly\n\t\t// this.popupItem = this.$el;\n\t},\n\tdata: function data() {\n\t\treturn {\n\t\t\trand: parseInt(Math.random() * 1000),\n\t\t\topenedMenu: false,\n\t\t\tloading: {\n\t\t\t\tall: false,\n\t\t\t\tdisplayName: false,\n\t\t\t\tpassword: false,\n\t\t\t\tmailAddress: false,\n\t\t\t\tgroups: false,\n\t\t\t\tsubadmins: false,\n\t\t\t\tquota: false,\n\t\t\t\tdelete: false,\n\t\t\t\tdisable: false,\n\t\t\t\tlanguages: false\n\t\t\t}\n\t\t};\n\t},\n\n\tcomputed: {\n\t\t/* USER POPOVERMENU ACTIONS */\n\t\tuserActions: function userActions() {\n\t\t\treturn [{\n\t\t\t\ticon: 'icon-delete',\n\t\t\t\ttext: t('settings', 'Delete user'),\n\t\t\t\taction: this.deleteUser\n\t\t\t}, {\n\t\t\t\ticon: this.user.enabled ? 'icon-close' : 'icon-add',\n\t\t\t\ttext: this.user.enabled ? t('settings', 'Disable user') : t('settings', 'Enable user'),\n\t\t\t\taction: this.enableDisableUser\n\t\t\t}];\n\t\t},\n\n\n\t\t/* GROUPS MANAGEMENT */\n\t\tuserGroups: function userGroups() {\n\t\t\tvar _this = this;\n\n\t\t\tvar userGroups = this.groups.filter(function (group) {\n\t\t\t\treturn _this.user.groups.includes(group.id);\n\t\t\t});\n\t\t\treturn userGroups;\n\t\t},\n\t\tuserSubAdminsGroups: function userSubAdminsGroups() {\n\t\t\tvar _this2 = this;\n\n\t\t\tvar userSubAdminsGroups = this.subAdminsGroups.filter(function (group) {\n\t\t\t\treturn _this2.user.subadmin.includes(group.id);\n\t\t\t});\n\t\t\treturn userSubAdminsGroups;\n\t\t},\n\n\n\t\t/* QUOTA MANAGEMENT */\n\t\tusedQuota: function usedQuota() {\n\t\t\tvar quota = this.user.quota.quota;\n\t\t\tif (quota > 0) {\n\t\t\t\tquota = Math.min(100, Math.round(this.user.quota.used / quota * 100));\n\t\t\t} else {\n\t\t\t\tvar usedInGB = this.user.quota.used / (10 * Math.pow(2, 30));\n\t\t\t\t//asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota\n\t\t\t\tquota = 95 * (1 - 1 / (usedInGB + 1));\n\t\t\t}\n\t\t\treturn isNaN(quota) ? 0 : quota;\n\t\t},\n\n\t\t// Mapping saved values to objects\n\t\tuserQuota: function userQuota() {\n\t\t\tif (this.user.quota.quota > 0) {\n\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\tvar humanQuota = OC.Util.humanFileSize(this.user.quota.quota);\n\t\t\t\tvar userQuota = this.quotaOptions.find(function (quota) {\n\t\t\t\t\treturn quota.id === humanQuota;\n\t\t\t\t});\n\t\t\t\treturn userQuota ? userQuota : { id: humanQuota, label: humanQuota };\n\t\t\t} else if (this.user.quota.quota === 0 || this.user.quota.quota === 'default') {\n\t\t\t\t// default quota is replaced by the proper value on load\n\t\t\t\treturn this.quotaOptions[0];\n\t\t\t}\n\t\t\treturn this.quotaOptions[1]; // unlimited\n\t\t},\n\n\n\t\t/* PASSWORD POLICY? */\n\t\tminPasswordLength: function minPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength;\n\t\t},\n\n\n\t\t/* LANGUAGE */\n\t\tuserLanguage: function userLanguage() {\n\t\t\tvar _this3 = this;\n\n\t\t\tvar availableLanguages = this.languages[0].languages.concat(this.languages[1].languages);\n\t\t\tvar userLang = availableLanguages.find(function (lang) {\n\t\t\t\treturn lang.code === _this3.user.language;\n\t\t\t});\n\t\t\tif ((typeof userLang === 'undefined' ? 'undefined' : _typeof(userLang)) !== 'object' && this.user.language !== '') {\n\t\t\t\treturn {\n\t\t\t\t\tcode: this.user.language,\n\t\t\t\t\tname: this.user.language\n\t\t\t\t};\n\t\t\t} else if (this.user.language === '') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn userLang;\n\t\t}\n\t},\n\tmethods: {\n\t\t/* MENU HANDLING */\n\t\ttoggleMenu: function toggleMenu() {\n\t\t\tthis.openedMenu = !this.openedMenu;\n\t\t},\n\t\thideMenu: function hideMenu() {\n\t\t\tthis.openedMenu = false;\n\t\t},\n\n\n\t\t/**\n * Generate avatar url\n * \n * @param {string} user The user name\n * @param {int} size Size integer, default 32\n * @returns {string}\n */\n\t\tgenerateAvatar: function generateAvatar(user) {\n\t\t\tvar size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 32;\n\n\t\t\treturn OC.generateUrl('/avatar/{user}/{size}?v={version}', {\n\t\t\t\tuser: user,\n\t\t\t\tsize: size,\n\t\t\t\tversion: oc_userconfig.avatar.version\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Format the limit text in the selected options\n * \n * @param {int} count elements left\n * @returns {string}\n */\n\t\tlimitGroups: function limitGroups(count) {\n\t\t\treturn '+' + count;\n\t\t},\n\t\tdeleteUser: function deleteUser() {\n\t\t\tvar _this4 = this;\n\n\t\t\tthis.loading.delete = true;\n\t\t\tthis.loading.all = true;\n\t\t\tvar userid = this.user.id;\n\t\t\treturn this.$store.dispatch('deleteUser', { userid: userid }).then(function () {\n\t\t\t\t_this4.loading.delete = false;\n\t\t\t\t_this4.loading.all = false;\n\t\t\t});\n\t\t},\n\t\tenableDisableUser: function enableDisableUser() {\n\t\t\tvar _this5 = this;\n\n\t\t\tthis.loading.delete = true;\n\t\t\tthis.loading.all = true;\n\t\t\tvar userid = this.user.id;\n\t\t\tvar enabled = !this.user.enabled;\n\t\t\treturn this.$store.dispatch('enableDisableUser', { userid: userid, enabled: enabled }).then(function () {\n\t\t\t\t_this5.loading.delete = false;\n\t\t\t\t_this5.loading.all = false;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Set user displayName\n * \n * @param {string} displayName The display name\n * @returns {Promise}\n */\n\t\tupdateDisplayName: function updateDisplayName() {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar displayName = this.$refs.displayName.value;\n\t\t\tthis.loading.displayName = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'displayname',\n\t\t\t\tvalue: displayName\n\t\t\t}).then(function () {\n\t\t\t\t_this6.loading.displayName = false;\n\t\t\t\t_this6.$refs.displayName.value = displayName;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Set user password\n * \n * @param {string} password The email adress\n * @returns {Promise}\n */\n\t\tupdatePassword: function updatePassword() {\n\t\t\tvar _this7 = this;\n\n\t\t\tvar password = this.$refs.password.value;\n\t\t\tthis.loading.password = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'password',\n\t\t\t\tvalue: password\n\t\t\t}).then(function () {\n\t\t\t\t_this7.loading.password = false;\n\t\t\t\t_this7.$refs.password.value = ''; // empty & show placeholder \n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Set user mailAddress\n * \n * @param {string} mailAddress The email adress\n * @returns {Promise}\n */\n\t\tupdateEmail: function updateEmail() {\n\t\t\tvar _this8 = this;\n\n\t\t\tvar mailAddress = this.$refs.mailAddress.value;\n\t\t\tthis.loading.mailAddress = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'email',\n\t\t\t\tvalue: mailAddress\n\t\t\t}).then(function () {\n\t\t\t\t_this8.loading.mailAddress = false;\n\t\t\t\t_this8.$refs.mailAddress.value = mailAddress;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Create a new group\n * \n * @param {string} groups Group id\n * @returns {Promise}\n */\n\t\tcreateGroup: function createGroup(gid) {\n\t\t\tvar _this9 = this;\n\n\t\t\tthis.loading = { groups: true, subadmins: true };\n\t\t\tthis.$store.dispatch('addGroup', gid).then(function () {\n\t\t\t\t_this9.loading = { groups: false, subadmins: false };\n\t\t\t\tvar userid = _this9.user.id;\n\t\t\t\t_this9.$store.dispatch('addUserGroup', { userid: userid, gid: gid });\n\t\t\t});\n\t\t\treturn this.$store.getters.getGroups[this.groups.length];\n\t\t},\n\n\n\t\t/**\n * Add user to group\n * \n * @param {object} group Group object\n * @returns {Promise}\n */\n\t\taddUserGroup: function addUserGroup(group) {\n\t\t\tvar _this10 = this;\n\n\t\t\tthis.loading.groups = true;\n\t\t\tvar userid = this.user.id;\n\t\t\tvar gid = group.id;\n\t\t\treturn this.$store.dispatch('addUserGroup', { userid: userid, gid: gid }).then(function () {\n\t\t\t\treturn _this10.loading.groups = false;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Remove user from group\n * \n * @param {object} group Group object\n * @returns {Promise}\n */\n\t\tremoveUserGroup: function removeUserGroup(group) {\n\t\t\tvar _this11 = this;\n\n\t\t\tthis.loading.groups = true;\n\t\t\tvar userid = this.user.id;\n\t\t\tvar gid = group.id;\n\t\t\treturn this.$store.dispatch('removeUserGroup', { userid: userid, gid: gid }).then(function () {\n\t\t\t\treturn _this11.loading.groups = false;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Add user to group\n * \n * @param {object} group Group object\n * @returns {Promise}\n */\n\t\taddUserSubAdmin: function addUserSubAdmin(group) {\n\t\t\tvar _this12 = this;\n\n\t\t\tthis.loading.subadmins = true;\n\t\t\tvar userid = this.user.id;\n\t\t\tvar gid = group.id;\n\t\t\treturn this.$store.dispatch('addUserSubAdmin', { userid: userid, gid: gid }).then(function () {\n\t\t\t\treturn _this12.loading.subadmins = false;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Remove user from group\n * \n * @param {object} group Group object\n * @returns {Promise}\n */\n\t\tremoveUserSubAdmin: function removeUserSubAdmin(group) {\n\t\t\tvar _this13 = this;\n\n\t\t\tthis.loading.subadmins = true;\n\t\t\tvar userid = this.user.id;\n\t\t\tvar gid = group.id;\n\t\t\treturn this.$store.dispatch('removeUserSubAdmin', { userid: userid, gid: gid }).then(function () {\n\t\t\t\treturn _this13.loading.subadmins = false;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Dispatch quota set request\n * \n * @param {string|Object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n * @returns {string}\n */\n\t\tsetUserQuota: function setUserQuota() {\n\t\t\tvar _this14 = this;\n\n\t\t\tvar quota = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'none';\n\n\t\t\tthis.loading.quota = true;\n\t\t\t// ensure we only send the preset id\n\t\t\tquota = quota.id ? quota.id : quota;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'quota',\n\t\t\t\tvalue: quota\n\t\t\t}).then(function () {\n\t\t\t\treturn _this14.loading.quota = false;\n\t\t\t});\n\t\t\treturn quota;\n\t\t},\n\n\n\t\t/**\n * Validate quota string to make sure it's a valid human file size\n * \n * @param {string} quota Quota in readable format '5 GB'\n * @returns {Promise|boolean}\n */\n\t\tvalidateQuota: function validateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tvar validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota === 0) {\n\t\t\t\treturn this.setUserQuota('none');\n\t\t\t} else if (validQuota !== null) {\n\t\t\t\t// unify format output\n\t\t\t\treturn this.setUserQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));\n\t\t\t}\n\t\t\t// if no valid do not change\n\t\t\treturn false;\n\t\t},\n\n\n\t\t/**\n * Dispatch language set request\n * \n * @param {Object} lang language object {code:'en', name:'English'}\n * @returns {Object}\n */\n\t\tsetUserLanguage: function setUserLanguage(lang) {\n\t\t\tvar _this15 = this;\n\n\t\t\tthis.loading.languages = true;\n\t\t\t// ensure we only send the preset id\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'language',\n\t\t\t\tvalue: lang.code\n\t\t\t}).then(function () {\n\t\t\t\treturn _this15.loading.languages = false;\n\t\t\t});\n\t\t\treturn lang;\n\t\t}\n\t}\n});\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\nvar settle = __webpack_require__(51);\nvar buildURL = __webpack_require__(53);\nvar parseHeaders = __webpack_require__(54);\nvar isURLSameOrigin = __webpack_require__(55);\nvar createError = __webpack_require__(20);\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || __webpack_require__(56);\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (\"production\" !== 'test' &&\n typeof window !== 'undefined' &&\n window.XDomainRequest && !('withCredentials' in request) &&\n !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || (request.readyState !== 4 && !xDomain)) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = __webpack_require__(57);\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar enhanceError = __webpack_require__(52);\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"app\", function() { return app; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vuex_router_sync__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vuex_router_sync___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vuex_router_sync__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__App_vue__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__router__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__store__ = __webpack_require__(66);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"router\", function() { return __WEBPACK_IMPORTED_MODULE_3__router__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"store\", function() { return __WEBPACK_IMPORTED_MODULE_4__store__[\"a\"]; });\n\n\n\n\n\n\nObject(__WEBPACK_IMPORTED_MODULE_1_vuex_router_sync__[\"sync\"])(__WEBPACK_IMPORTED_MODULE_4__store__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_3__router__[\"a\" /* default */]);\n\n// bind to window\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].prototype.t = t;\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].prototype.OC = OC;\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].prototype.oc_userconfig = oc_userconfig;\n\nvar app = new __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */]({\n\trouter: __WEBPACK_IMPORTED_MODULE_3__router__[\"a\" /* default */],\n\tstore: __WEBPACK_IMPORTED_MODULE_4__store__[\"a\" /* default */],\n\trender: function render(h) {\n\t\treturn h(__WEBPACK_IMPORTED_MODULE_2__App_vue__[\"a\" /* default */]);\n\t}\n}).$mount('#content');\n\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\n__webpack_require__(25);\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3), __webpack_require__(5)))\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports) {\n\nexports.sync = function (store, router, options) {\n var moduleName = (options || {}).moduleName || 'route'\n\n store.registerModule(moduleName, {\n namespaced: true,\n state: cloneRoute(router.currentRoute),\n mutations: {\n 'ROUTE_CHANGED': function ROUTE_CHANGED (state, transition) {\n store.state[moduleName] = cloneRoute(transition.to, transition.from)\n }\n }\n })\n\n var isTimeTraveling = false\n var currentPath\n\n // sync router on store change\n var storeUnwatch = store.watch(\n function (state) { return state[moduleName]; },\n function (route) {\n var fullPath = route.fullPath;\n if (fullPath === currentPath) {\n return\n }\n if (currentPath != null) {\n isTimeTraveling = true\n router.push(route)\n }\n currentPath = fullPath\n },\n { sync: true }\n )\n\n // sync store on router navigation\n var afterEachUnHook = router.afterEach(function (to, from) {\n if (isTimeTraveling) {\n isTimeTraveling = false\n return\n }\n currentPath = to.fullPath\n store.commit(moduleName + '/ROUTE_CHANGED', { to: to, from: from })\n })\n\n return function unsync () {\n // On unsync, remove router hook\n if (afterEachUnHook != null) {\n afterEachUnHook()\n }\n\n // On unsync, remove store watch\n if (storeUnwatch != null) {\n storeUnwatch()\n }\n\n // On unsync, unregister Module with store\n store.unregisterModule(moduleName)\n }\n}\n\nfunction cloneRoute (to, from) {\n var clone = {\n name: to.name,\n path: to.path,\n hash: to.hash,\n query: to.query,\n params: to.params,\n fullPath: to.fullPath,\n meta: to.meta\n }\n if (from) {\n clone.from = cloneRoute(from)\n }\n return Object.freeze(clone)\n}\n\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_App_vue__ = __webpack_require__(8);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_f72d2b7e_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_App_vue__ = __webpack_require__(28);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_App_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_f72d2b7e_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_App_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 29 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_router__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__views_Users__ = __webpack_require__(31);\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_1_vue_router__[\"a\" /* default */]);\n\n/*\n * This is the list of routes where the vuejs app will\n * take over php to provide data\n * You need to forward the php routing (routes.php) to\n * /settings/main.php, where the vue-router will ensure\n * the proper route.\n * ⚠️ Routes needs to match the php routes.\n */\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (new __WEBPACK_IMPORTED_MODULE_1_vue_router__[\"a\" /* default */]({\n\tmode: 'history',\n\t// if index.php is in the url AND we got this far, then it's working:\n\t// let's keep using index.php in the url\n\tbase: window.location.pathname.indexOf('index.php') > 0 ? '/index.php/' : '/',\n\troutes: [{\n\t\tpath: '/:index(index.php/)?settings/users',\n\t\tcomponent: __WEBPACK_IMPORTED_MODULE_2__views_Users__[\"a\" /* default */],\n\t\tprops: true,\n\t\tname: 'users',\n\t\tchildren: [{\n\t\t\tpath: ':selectedGroup',\n\t\t\tname: 'group',\n\t\t\tcomponent: __WEBPACK_IMPORTED_MODULE_2__views_Users__[\"a\" /* default */]\n\t\t}]\n\t}]\n}));\n\n/***/ }),\n/* 30 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\n * vue-router v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (false) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nvar View = {\n name: 'router-view',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n if (parent.$vnode && parent.$vnode.data.routerView) {\n depth++;\n }\n if (parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n return h(cache[name], data, children)\n }\n\n var matched = route.matched[depth];\n // render empty node if no matched route\n if (!matched) {\n cache[name] = null;\n return h()\n }\n\n var component = cache[name] = matched.components[name];\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // resolve props\n var propsToPass = data.props = resolveProps(route, matched.props && matched.props[name]);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n\n return h(component, data, children)\n }\n};\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (false) {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\nfunction extend (to, from) {\n for (var key in from) {\n to[key] = from[key];\n }\n return to\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nvar decode = decodeURIComponent;\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n \"production\" !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n parsedQuery[key] = extraQuery[key];\n }\n return parsedQuery\n}\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0\n ? decode(parts.join('='))\n : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj ? Object.keys(obj).map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n }).filter(function (x) { return x.length > 0; }).join('&') : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery$$1 = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery$$1),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery$$1);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return (\n a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query)\n )\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params)\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key) {\n var aVal = a[key];\n var bVal = b[key];\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar Link = {\n name: 'router-link',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n exact: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(this.to, current, this.append);\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback = globalActiveClass == null\n ? 'router-link-active'\n : globalActiveClass;\n var exactActiveClassFallback = globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass = this.activeClass == null\n ? activeClassFallback\n : this.activeClass;\n var exactActiveClass = this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n var compareTarget = location.path\n ? createRoute(null, location, null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget);\n classes[activeClass] = this.exact\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1.replace) {\n router.replace(location);\n } else {\n router.push(location);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) { on[e] = handler; });\n } else {\n on[this.event] = handler;\n }\n\n var data = {\n class: classes\n };\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href };\n } else {\n // find the first <a> child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the <a> is a static node\n a.isStatic = false;\n var extend = _Vue.util.extend;\n var aData = a.data = extend({}, a.data);\n aData.on = on;\n var aAttrs = a.data.attrs = extend({}, a.data.attrs);\n aAttrs.href = href;\n } else {\n // doesn't have <a> child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('router-view', View);\n Vue.component('router-link', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/\\//g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n return filler(params || {}, { pretty: true })\n } catch (e) {\n if (false) {\n warn(false, (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n }\n}\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (false) {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(path || name)) + \" cannot be a \" +\n \"string id. Use an actual component instead.\"\n );\n }\n\n var pathToRegexpOptions = route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(\n path,\n parent,\n pathToRegexpOptions.strict\n );\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n instances: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props: route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (false) {\n if (route.name && !route.redirect && route.children.some(function (child) { return /^\\/?$/.test(child.path); })) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias)\n ? route.alias\n : [route.alias];\n\n aliases.forEach(function (alias) {\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (false) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (path, pathToRegexpOptions) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (false) {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(!keys[key.name], (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\"));\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (path, parent, strict) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next.name || next._normalized) {\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = assign({}, next);\n next._normalized = true;\n var params = assign(assign({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params, (\"path \" + (current.path)));\n } else if (false) {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction assign (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (false) {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n if (record) {\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n }\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (false) {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (false) {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (false) {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n var val = typeof m[i] === 'string' ? decodeURIComponent(m[i]) : m[i];\n if (key) {\n params[key.name] = val;\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Fix for #1585 for Firefox\n window.history.replaceState({ key: getStateKey() }, '');\n window.addEventListener('popstate', function (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n });\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (false) {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior(to, from, isPop ? position : null);\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll.then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n }).catch(function (err) {\n if (false) {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n var el = document.querySelector(shouldScroll.selector);\n if (el) {\n var offset = shouldScroll.offset && typeof shouldScroll.offset === 'object' ? shouldScroll.offset : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n window.scrollTo(position.x, position.y);\n }\n}\n\n/* */\n\nvar supportsPushState = inBrowser && (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && 'pushState' in window.history\n})();\n\n// use User Timing api (if present) for more accurate key precision\nvar Time = inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nvar _key = genKey();\n\nfunction genKey () {\n return Time.now().toFixed(3)\n}\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n _key = key;\n}\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n history.replaceState({ key: _key }, '', url);\n } else {\n _key = genKey();\n history.pushState({ key: _key }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n \"production\" !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (location, onComplete, onAbort) {\n var this$1 = this;\n\n var route = this.router.match(location, this.current);\n this.confirmTransition(route, function () {\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n\n // fire ready cbs once\n if (!this$1.ready) {\n this$1.ready = true;\n this$1.readyCbs.forEach(function (cb) { cb(route); });\n }\n }, function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1.ready) {\n this$1.ready = true;\n this$1.readyErrorCbs.forEach(function (cb) { cb(err); });\n }\n });\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1 = this;\n\n var current = this.current;\n var abort = function (err) {\n if (isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) { cb(err); });\n } else {\n warn(false, 'uncaught error during route navigation:');\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n route.matched.length === current.matched.length\n ) {\n this.ensureURL();\n return abort()\n }\n\n var ref = resolveQueue(this.current.matched, route.matched);\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n this.pending = route;\n var iterator = function (hook, next) {\n if (this$1.pending !== route) {\n return abort()\n }\n try {\n hook(route, current, function (to) {\n if (to === false || isError(to)) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' && (\n typeof to.path === 'string' ||\n typeof to.name === 'string'\n ))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort();\n if (typeof to === 'object' && to.replace) {\n this$1.replace(to);\n } else {\n this$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n var postEnterCbs = [];\n var isValid = function () { return this$1.current === route; };\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated, postEnterCbs, isValid);\n var queue = enterGuards.concat(this$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1.pending !== route) {\n return abort()\n }\n this$1.pending = null;\n onComplete(route);\n if (this$1.router.app) {\n this$1.router.app.$nextTick(function () {\n postEnterCbs.forEach(function (cb) { cb(); });\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n var prev = this.current;\n this.current = route;\n this.cb && this.cb(route);\n this.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect <base> tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated,\n cbs,\n isValid\n) {\n return extractGuards(activated, 'beforeRouteEnter', function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key, cbs, isValid)\n })\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key,\n cbs,\n isValid\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n next(cb);\n if (typeof cb === 'function') {\n cbs.push(function () {\n // #750\n // if a router-view is wrapped with an out-in transition,\n // the instance may not have been registered at this time.\n // we will need to poll for registration until current route\n // is no longer valid.\n poll(cb, match.instances, key, isValid);\n });\n }\n })\n }\n}\n\nfunction poll (\n cb, // somehow flow cannot infer this is a function\n instances,\n key,\n isValid\n) {\n if (instances[key]) {\n cb(instances[key]);\n } else if (isValid()) {\n setTimeout(function () {\n poll(cb, instances, key, isValid);\n }, 16);\n }\n}\n\n/* */\n\n\nvar HTML5History = (function (History$$1) {\n function HTML5History (router, base) {\n var this$1 = this;\n\n History$$1.call(this, router, base);\n\n var expectScroll = router.options.scrollBehavior;\n\n if (expectScroll) {\n setupScroll();\n }\n\n var initLocation = getLocation(this.base);\n window.addEventListener('popstate', function (e) {\n var current = this$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1.base);\n if (this$1.current === START && location === initLocation) {\n return\n }\n\n this$1.transitionTo(location, function (route) {\n if (expectScroll) {\n handleScroll(router, route, current, true);\n }\n });\n });\n }\n\n if ( History$$1 ) HTML5History.__proto__ = History$$1;\n HTML5History.prototype = Object.create( History$$1 && History$$1.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n if (base && path.indexOf(base) === 0) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\n\nvar HashHistory = (function (History$$1) {\n function HashHistory (router, base, fallback) {\n History$$1.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History$$1 ) HashHistory.__proto__ = History$$1;\n HashHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1 = this;\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n window.addEventListener(supportsPushState ? 'popstate' : 'hashchange', function () {\n var current = this$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(\n cleanPath(base + '/#' + location)\n );\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n return index === -1 ? '' : href.slice(index + 1)\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\n\nvar AbstractHistory = (function (History$$1) {\n function AbstractHistory (router, base) {\n History$$1.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History$$1 ) AbstractHistory.__proto__ = History$$1;\n AbstractHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n this$1.index++;\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(route, function () {\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n });\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (false) {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (\n raw,\n current,\n redirectedFrom\n) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1 = this;\n\n \"production\" !== 'production' && assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // main app already initialized.\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History) {\n history.transitionTo(history.getCurrentLocation());\n } else if (history instanceof HashHistory) {\n var setupHashListener = function () {\n history.setupListeners();\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupHashListener,\n setupHashListener\n );\n }\n\n history.listen(function (route) {\n this$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n this.history.push(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n this.history.replace(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply([], route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n }))\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n var location = normalizeLocation(\n to,\n current || this.history.current,\n append,\n this\n );\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.0.1';\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (VueRouter);\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Users_vue__ = __webpack_require__(9);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_2db113c0_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Users_vue__ = __webpack_require__(65);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Users_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_2db113c0_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Users_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_appNavigation_vue__ = __webpack_require__(10);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_85c34754_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_appNavigation_vue__ = __webpack_require__(38);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_appNavigation_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_85c34754_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_appNavigation_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_navigationItem_vue__ = __webpack_require__(11);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_429bfeff_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_navigationItem_vue__ = __webpack_require__(37);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_navigationItem_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_429bfeff_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_navigationItem_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_popoverItem_vue__ = __webpack_require__(14);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_38c13d40_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_popoverItem_vue__ = __webpack_require__(35);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_popoverItem_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_38c13d40_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_popoverItem_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[(_vm.item.href)?_c('a',{attrs:{\"href\":(_vm.item.href) ? _vm.item.href : '#'},on:{\"click\":_vm.item.action}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text)?_c('span',[_vm._v(_vm._s(_vm.item.text))]):(_vm.item.longtext)?_c('p',[_vm._v(_vm._s(_vm.item.longtext))]):_vm._e()]):(_vm.item.action)?_c('button',{on:{\"click\":_vm.item.action}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text)?_c('span',[_vm._v(_vm._s(_vm.item.text))]):(_vm.item.longtext)?_c('p',[_vm._v(_vm._s(_vm.item.longtext))]):_vm._e()]):_c('span',[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text)?_c('span',[_vm._v(_vm._s(_vm.item.text))]):(_vm.item.longtext)?_c('p',[_vm._v(_vm._s(_vm.item.longtext))]):_vm._e()])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 36 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',_vm._l((_vm.menu),function(item,key){return _c('popover-item',{key:key,attrs:{\"item\":item}})}))}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 37 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{class:[{'icon-loading-small': _vm.item.loading, 'open': _vm.item.opened, 'collapsible': _vm.item.collapsible&&_vm.item.children&&_vm.item.children.length>0 }, _vm.item.classes],attrs:{\"id\":_vm.item.id}},[(_vm.item.bullet)?_c('div',{staticClass:\"app-navigation-entry-bullet\",style:({ backgroundColor: _vm.item.bullet })}):_vm._e(),_vm._v(\" \"),(_vm.item.href)?_c('a',{class:_vm.item.icon,attrs:{\"href\":(_vm.item.href) ? _vm.item.href : '#'},on:{\"click\":_vm.toggleCollapse}},[(_vm.item.iconUrl)?_c('img',{attrs:{\"alt\":_vm.item.text,\"src\":_vm.item.iconUrl}}):_vm._e(),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\")]):(_vm.item.router)?_c('router-link',{class:_vm.item.icon,attrs:{\"to\":_vm.item.router}},[(_vm.item.iconUrl)?_c('img',{attrs:{\"alt\":_vm.item.text,\"src\":_vm.item.iconUrl}}):_vm._e(),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.item.utils)?_c('div',{staticClass:\"app-navigation-entry-utils\"},[_c('ul',[(Number.isInteger(_vm.item.utils.counter))?_c('li',{staticClass:\"app-navigation-entry-utils-counter\"},[_vm._v(_vm._s(_vm.item.utils.counter))]):_vm._e(),_vm._v(\" \"),(_vm.item.utils.actions && _vm.item.utils.actions.length === 1 && Number.isInteger(_vm.item.utils.counter))?_c('li',{staticClass:\"app-navigation-entry-utils-menu-button\"},[_c('button',{class:_vm.item.utils.actions[0].icon,attrs:{\"title\":_vm.item.utils.actions[0].text},on:{\"click\":_vm.item.utils.actions[0].action}})]):(_vm.item.utils.actions && _vm.item.utils.actions.length === 2 && !Number.isInteger(_vm.item.utils.counter))?_vm._l((_vm.item.utils.actions),function(action){return _c('li',{key:action.action,staticClass:\"app-navigation-entry-utils-menu-button\"},[_c('button',{class:action.icon,attrs:{\"title\":action.text},on:{\"click\":action.action}})])}):(_vm.item.utils.actions && _vm.item.utils.actions.length > 1 && (Number.isInteger(_vm.item.utils.counter) || _vm.item.utils.actions.length > 2))?_c('li',{staticClass:\"app-navigation-entry-utils-menu-button\"},[_c('button',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.hideMenu),expression:\"hideMenu\"}],on:{\"click\":_vm.showMenu}})]):_vm._e()],2)]):_vm._e(),_vm._v(\" \"),(_vm.item.utils && _vm.item.utils.actions && _vm.item.utils.actions.length > 1 && (Number.isInteger(_vm.item.utils.counter) || _vm.item.utils.actions.length > 2))?_c('div',{staticClass:\"app-navigation-entry-menu\",class:{ 'open': _vm.openedMenu }},[_c('popover-menu',{attrs:{\"menu\":_vm.item.utils.actions}})],1):_vm._e(),_vm._v(\" \"),(_vm.item.undo)?_c('div',{staticClass:\"app-navigation-entry-deleted\"},[_c('div',{staticClass:\"app-navigation-entry-deleted-description\"},[_vm._v(_vm._s(_vm.item.undo.text))]),_vm._v(\" \"),_c('button',{staticClass:\"app-navigation-entry-deleted-button icon-history\",attrs:{\"title\":_vm.t('settings', 'Undo')}})]):_vm._e(),_vm._v(\" \"),(_vm.item.edit)?_c('div',{staticClass:\"app-navigation-entry-edit\"},[_c('form',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.text),expression:\"item.text\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.item.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.item, \"text\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-close\",attrs:{\"type\":\"submit\",\"value\":\"\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.cancelEdit($event)}}})])]):_vm._e(),_vm._v(\" \"),(_vm.item.children)?_c('ul',_vm._l((_vm.item.children),function(item,key){return _c('navigation-item',{key:key,attrs:{\"item\":item}})})):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 38 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{'icon-loading': _vm.menu.loading},attrs:{\"id\":\"app-navigation\"}},[(_vm.menu.new)?_c('div',{staticClass:\"app-navigation-new\"},[_c('button',{class:_vm.menu.new.icon,attrs:{\"type\":\"button\",\"id\":_vm.menu.new.id},on:{\"click\":_vm.menu.new.action}},[_vm._v(_vm._s(_vm.menu.new.text))])]):_vm._e(),_vm._v(\" \"),_c('ul',{attrs:{\"id\":_vm.menu.id}},_vm._l((_vm.menu.items),function(item,key){return _c('navigation-item',{key:key,attrs:{\"item\":item}})})),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"app-settings\"}},[_c('div',{attrs:{\"id\":\"app-settings-header\"}},[_c('button',{staticClass:\"settings-button\",attrs:{\"data-apps-slide-toggle\":\"#app-settings-content\"}},[_vm._v(_vm._s(_vm.t('settings', 'Settings')))])]),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"app-settings-content\"}},[_vm._t(\"settings-content\")],2)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 39 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_userList_vue__ = __webpack_require__(16);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_991a8d00_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_userList_vue__ = __webpack_require__(44);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_userList_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_991a8d00_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_userList_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_userRow_vue__ = __webpack_require__(17);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_689d61c8_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_userRow_vue__ = __webpack_require__(42);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_userRow_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_689d61c8_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_userRow_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/* unused harmony export install */\n/* unused harmony export VTooltip */\n/* unused harmony export VClosePopover */\n/* unused harmony export VPopover */\n/* unused harmony export createTooltip */\n/* unused harmony export destroyTooltip */\n/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.12.9\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n // NOTE: 1 DOM access here\n var offsetParent = element && element.offsetParent;\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n if (element) {\n return element.ownerDocument.documentElement;\n }\n\n return document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\n/**\n * Tells if you are running Internet Explorer 10\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean} isIE10\n */\nvar isIE10 = undefined;\n\nvar isIE10$1 = function () {\n if (isIE10 === undefined) {\n isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;\n }\n return isIE10;\n};\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE10$1() && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n if (isIE10$1()) {\n try {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } catch (err) {}\n } else {\n rect = element.getBoundingClientRect();\n }\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var isIE10 = isIE10$1();\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = getScroll(html);\n var scrollLeft = getScroll(html, 'left');\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n // NOTE: 1 DOM access here\n var boundaries = { top: 0, left: 0 };\n var offsetParent = findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var commonOffsetParent = findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n data.offsets.popper.position = 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length - 1; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.left = '';\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // floor sides to avoid blurry text\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.floor(popper.top),\n bottom: Math.floor(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overriden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nfunction convertToArray(value) {\n\tif (typeof value === 'string') {\n\t\tvalue = value.split(' ');\n\t}\n\treturn value;\n}\n\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\nfunction addClasses(el, classes) {\n\tvar newClasses = convertToArray(classes);\n\tvar classList = void 0;\n\tif (el.className instanceof SVGAnimatedString) {\n\t\tclassList = Array.from(el.className);\n\t} else {\n\t\tclassList = convertToArray(el.className);\n\t}\n\tnewClasses.forEach(function (newClass) {\n\t\tif (classList.indexOf(newClass) === -1) {\n\t\t\tclassList.push(newClass);\n\t\t}\n\t});\n\tif (el instanceof SVGElement) {\n\t\tel.setAttribute('class', classList.join(' '));\n\t} else {\n\t\tel.className = classList.join(' ');\n\t}\n}\n\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\nfunction removeClasses(el, classes) {\n\tvar newClasses = convertToArray(classes);\n\tvar classList = void 0;\n\tif (el.className instanceof SVGAnimatedString) {\n\t\tclassList = Array.from(el.className);\n\t} else {\n\t\tclassList = convertToArray(el.className);\n\t}\n\tnewClasses.forEach(function (newClass) {\n\t\tvar index = classList.indexOf(newClass);\n\t\tif (index !== -1) {\n\t\t\tclassList.splice(index, 1);\n\t\t}\n\t});\n\tif (el instanceof SVGElement) {\n\t\tel.setAttribute('class', classList.join(' '));\n\t} else {\n\t\tel.className = classList.join(' ');\n\t}\n}\n\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n\tsupportsPassive = false;\n\ttry {\n\t\tvar opts = Object.defineProperty({}, 'passive', {\n\t\t\tget: function get() {\n\t\t\t\tsupportsPassive = true;\n\t\t\t}\n\t\t});\n\t\twindow.addEventListener('test', null, opts);\n\t} catch (e) {}\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar classCallCheck$1 = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass$1 = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends$1 = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/* Forked from https://github.com/FezVrasta/popper.js/blob/master/packages/tooltip/src/index.js */\n\nvar DEFAULT_OPTIONS = {\n\tcontainer: false,\n\tdelay: 0,\n\thtml: false,\n\tplacement: 'top',\n\ttitle: '',\n\ttemplate: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n\ttrigger: 'hover focus',\n\toffset: 0\n};\n\nvar openTooltips = [];\n\nvar Tooltip = function () {\n\t/**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n *\t\t\tPlacement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n *\t\t\tleft(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n *\t\t\tDelay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n *\t\t\tIf a number is supplied, delay is applied to both hide/show.\n *\t\t\tObject structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>']\n *\t\t\tBase HTML to used when creating the tooltip.\n *\t\t\tThe tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n *\t\t\t`.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n *\t\t\tThe outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n *\t\t\tHow tooltip is triggered - click, hover, focus, manual.\n *\t\t\tYou may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n *\t\t\tThe element used as boundaries for the tooltip. For more information refer to Popper.js'\n *\t\t\t[boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n *\t\t\t[offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n *\t\t\t[options docs](https://popper.js.org/popper-documentation.html)\n * @return {Object} instance - The generated tooltip instance\n */\n\tfunction Tooltip(reference, options) {\n\t\tclassCallCheck$1(this, Tooltip);\n\n\t\t_initialiseProps.call(this);\n\n\t\t// apply user options over default ones\n\t\toptions = _extends$1({}, DEFAULT_OPTIONS, options);\n\n\t\treference.jquery && (reference = reference[0]);\n\n\t\t// cache reference and options\n\t\tthis.reference = reference;\n\t\tthis.options = options;\n\n\t\t// set initial state\n\t\tthis._isOpen = false;\n\n\t\tthis._init();\n\t}\n\n\t//\n\t// Public methods\n\t//\n\n\t/**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n\t/**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n\n\t/**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n\n\t/**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n\n\tcreateClass$1(Tooltip, [{\n\t\tkey: 'setClasses',\n\t\tvalue: function setClasses(classes) {\n\t\t\tthis._classes = classes;\n\t\t}\n\t}, {\n\t\tkey: 'setContent',\n\t\tvalue: function setContent(content) {\n\t\t\tthis.options.title = content;\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._setContent(content, this.options);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'setOptions',\n\t\tvalue: function setOptions(options) {\n\t\t\tvar classesUpdated = false;\n\t\t\tvar classes = options && options.classes || directive.options.defaultClass;\n\t\t\tif (this._classes !== classes) {\n\t\t\t\tthis.setClasses(classes);\n\t\t\t\tclassesUpdated = true;\n\t\t\t}\n\n\t\t\toptions = getOptions(options);\n\n\t\t\tvar needPopperUpdate = false;\n\t\t\tvar needRestart = false;\n\n\t\t\tif (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n\t\t\t\tneedPopperUpdate = true;\n\t\t\t}\n\n\t\t\tif (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n\t\t\t\tneedRestart = true;\n\t\t\t}\n\n\t\t\tfor (var key in options) {\n\t\t\t\tthis.options[key] = options[key];\n\t\t\t}\n\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tif (needRestart) {\n\t\t\t\t\tvar isOpen = this._isOpen;\n\n\t\t\t\t\tthis.dispose();\n\t\t\t\t\tthis._init();\n\n\t\t\t\t\tif (isOpen) {\n\t\t\t\t\t\tthis.show();\n\t\t\t\t\t}\n\t\t\t\t} else if (needPopperUpdate) {\n\t\t\t\t\tthis.popperInstance.update();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\t// Private methods\n\t\t//\n\n\t}, {\n\t\tkey: '_init',\n\t\tvalue: function _init() {\n\t\t\t// get events list\n\t\t\tvar events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ').filter(function (trigger) {\n\t\t\t\treturn ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n\t\t\t}) : [];\n\t\t\tthis._isDisposed = false;\n\t\t\tthis._enableDocumentTouch = events.indexOf('manual') === -1;\n\n\t\t\t// set event listeners\n\t\t\tthis._setEventListeners(this.reference, events, this.options);\n\t\t}\n\n\t\t/**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n\t}, {\n\t\tkey: '_create',\n\t\tvalue: function _create(reference, template) {\n\t\t\t// create tooltip element\n\t\t\tvar tooltipGenerator = window.document.createElement('div');\n\t\t\ttooltipGenerator.innerHTML = template.trim();\n\t\t\tvar tooltipNode = tooltipGenerator.childNodes[0];\n\n\t\t\t// add unique ID to our tooltip (needed for accessibility reasons)\n\t\t\ttooltipNode.id = 'tooltip_' + Math.random().toString(36).substr(2, 10);\n\n\t\t\t// Initially hide the tooltip\n\t\t\t// The attribute will be switched in a next frame so\n\t\t\t// CSS transitions can play\n\t\t\ttooltipNode.setAttribute('aria-hidden', 'true');\n\n\t\t\tif (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n\t\t\t\ttooltipNode.addEventListener('mouseenter', this.hide);\n\t\t\t\ttooltipNode.addEventListener('click', this.hide);\n\t\t\t}\n\n\t\t\t// return the generated tooltip node\n\t\t\treturn tooltipNode;\n\t\t}\n\t}, {\n\t\tkey: '_setContent',\n\t\tvalue: function _setContent(content, options) {\n\t\t\tvar _this = this;\n\n\t\t\tthis.asyncContent = false;\n\t\t\tthis._applyContent(content, options).then(function () {\n\t\t\t\t_this.popperInstance.update();\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_applyContent',\n\t\tvalue: function _applyContent(title, options) {\n\t\t\tvar _this2 = this;\n\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tvar allowHtml = options.html;\n\t\t\t\tvar rootNode = _this2._tooltipNode;\n\t\t\t\tvar titleNode = rootNode.querySelector(_this2.options.innerSelector);\n\t\t\t\tif (title.nodeType === 1) {\n\t\t\t\t\t// if title is a node, append it only if allowHtml is true\n\t\t\t\t\tif (allowHtml) {\n\t\t\t\t\t\twhile (titleNode.firstChild) {\n\t\t\t\t\t\t\ttitleNode.removeChild(titleNode.firstChild);\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitleNode.appendChild(title);\n\t\t\t\t\t}\n\t\t\t\t} else if (typeof title === 'function') {\n\t\t\t\t\t// if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n\t\t\t\t\tvar result = title();\n\t\t\t\t\tif (result && typeof result.then === 'function') {\n\t\t\t\t\t\t_this2.asyncContent = true;\n\t\t\t\t\t\toptions.loadingClass && addClasses(rootNode, options.loadingClass);\n\t\t\t\t\t\tif (options.loadingContent) {\n\t\t\t\t\t\t\t_this2._applyContent(options.loadingContent, options);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresult.then(function (asyncResult) {\n\t\t\t\t\t\t\toptions.loadingClass && removeClasses(rootNode, options.loadingClass);\n\t\t\t\t\t\t\treturn _this2._applyContent(asyncResult, options);\n\t\t\t\t\t\t}).then(resolve).catch(reject);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_this2._applyContent(result, options).then(resolve).catch(reject);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\t// if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n\t\t\t\t\tallowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n\t\t\t\t}\n\t\t\t\tresolve();\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_show',\n\t\tvalue: function _show(reference, options) {\n\t\t\tif (options && typeof options.container === 'string') {\n\t\t\t\tvar container = document.querySelector(options.container);\n\t\t\t\tif (!container) return;\n\t\t\t}\n\n\t\t\tclearTimeout(this._disposeTimer);\n\n\t\t\toptions = Object.assign({}, options);\n\t\t\tdelete options.offset;\n\n\t\t\tvar updateClasses = true;\n\t\t\tif (this._tooltipNode) {\n\t\t\t\taddClasses(this._tooltipNode, this._classes);\n\t\t\t\tupdateClasses = false;\n\t\t\t}\n\n\t\t\tvar result = this._ensureShown(reference, options);\n\n\t\t\tif (updateClasses && this._tooltipNode) {\n\t\t\t\taddClasses(this._tooltipNode, this._classes);\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\t}, {\n\t\tkey: '_ensureShown',\n\t\tvalue: function _ensureShown(reference, options) {\n\t\t\tvar _this3 = this;\n\n\t\t\t// don't show if it's already visible\n\t\t\tif (this._isOpen) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tthis._isOpen = true;\n\n\t\t\topenTooltips.push(this);\n\n\t\t\t// if the tooltipNode already exists, just show it\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._tooltipNode.style.display = '';\n\t\t\t\tthis._tooltipNode.setAttribute('aria-hidden', 'false');\n\t\t\t\tthis.popperInstance.enableEventListeners();\n\t\t\t\tthis.popperInstance.update();\n\t\t\t\tif (this.asyncContent) {\n\t\t\t\t\tthis._setContent(options.title, options);\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// get title\n\t\t\tvar title = reference.getAttribute('title') || options.title;\n\n\t\t\t// don't show tooltip if no title is defined\n\t\t\tif (!title) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// create tooltip node\n\t\t\tvar tooltipNode = this._create(reference, options.template);\n\t\t\tthis._tooltipNode = tooltipNode;\n\n\t\t\tthis._setContent(title, options);\n\n\t\t\t// Add `aria-describedby` to our reference element for accessibility reasons\n\t\t\treference.setAttribute('aria-describedby', tooltipNode.id);\n\n\t\t\t// append tooltip to container\n\t\t\tvar container = this._findContainer(options.container, reference);\n\n\t\t\tthis._append(tooltipNode, container);\n\n\t\t\tvar popperOptions = _extends$1({}, options.popperOptions, {\n\t\t\t\tplacement: options.placement\n\t\t\t});\n\n\t\t\tpopperOptions.modifiers = _extends$1({}, popperOptions.modifiers, {\n\t\t\t\tarrow: {\n\t\t\t\t\telement: this.options.arrowSelector\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (options.boundariesElement) {\n\t\t\t\tpopperOptions.modifiers.preventOverflow = {\n\t\t\t\t\tboundariesElement: options.boundariesElement\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.popperInstance = new Popper(reference, tooltipNode, popperOptions);\n\n\t\t\t// Fix position\n\t\t\trequestAnimationFrame(function () {\n\t\t\t\tif (!_this3._isDisposed && _this3.popperInstance) {\n\t\t\t\t\t_this3.popperInstance.update();\n\n\t\t\t\t\t// Show the tooltip\n\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\tif (!_this3._isDisposed) {\n\t\t\t\t\t\t\t_this3._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t_this3.dispose();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_noLongerOpen',\n\t\tvalue: function _noLongerOpen() {\n\t\t\tvar index = openTooltips.indexOf(this);\n\t\t\tif (index !== -1) {\n\t\t\t\topenTooltips.splice(index, 1);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: '_hide',\n\t\tvalue: function _hide() /* reference, options */{\n\t\t\tvar _this4 = this;\n\n\t\t\t// don't hide if it's already hidden\n\t\t\tif (!this._isOpen) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\tthis._isOpen = false;\n\t\t\tthis._noLongerOpen();\n\n\t\t\t// hide tooltipNode\n\t\t\tthis._tooltipNode.style.display = 'none';\n\t\t\tthis._tooltipNode.setAttribute('aria-hidden', 'true');\n\n\t\t\tthis.popperInstance.disableEventListeners();\n\n\t\t\tclearTimeout(this._disposeTimer);\n\t\t\tvar disposeTime = directive.options.disposeTimeout;\n\t\t\tif (disposeTime !== null) {\n\t\t\t\tthis._disposeTimer = setTimeout(function () {\n\t\t\t\t\tif (_this4._tooltipNode) {\n\t\t\t\t\t\t_this4._tooltipNode.removeEventListener('mouseenter', _this4.hide);\n\t\t\t\t\t\t_this4._tooltipNode.removeEventListener('click', _this4.hide);\n\t\t\t\t\t\t// Don't remove popper instance, just the HTML element\n\t\t\t\t\t\t_this4._tooltipNode.parentNode.removeChild(_this4._tooltipNode);\n\t\t\t\t\t\t_this4._tooltipNode = null;\n\t\t\t\t\t}\n\t\t\t\t}, disposeTime);\n\t\t\t}\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_dispose',\n\t\tvalue: function _dispose() {\n\t\t\tvar _this5 = this;\n\n\t\t\tthis._isDisposed = true;\n\n\t\t\t// remove event listeners first to prevent any unexpected behaviour\n\t\t\tthis._events.forEach(function (_ref) {\n\t\t\t\tvar func = _ref.func,\n\t\t\t\t event = _ref.event;\n\n\t\t\t\t_this5.reference.removeEventListener(event, func);\n\t\t\t});\n\t\t\tthis._events = [];\n\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._hide();\n\n\t\t\t\tthis._tooltipNode.removeEventListener('mouseenter', this.hide);\n\t\t\t\tthis._tooltipNode.removeEventListener('click', this.hide);\n\n\t\t\t\t// destroy instance\n\t\t\t\tthis.popperInstance.destroy();\n\n\t\t\t\t// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\t\t\t\tif (!this.popperInstance.options.removeOnDestroy) {\n\t\t\t\t\tthis._tooltipNode.parentNode.removeChild(this._tooltipNode);\n\t\t\t\t\tthis._tooltipNode = null;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._noLongerOpen();\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_findContainer',\n\t\tvalue: function _findContainer(container, reference) {\n\t\t\t// if container is a query, get the relative element\n\t\t\tif (typeof container === 'string') {\n\t\t\t\tcontainer = window.document.querySelector(container);\n\t\t\t} else if (container === false) {\n\t\t\t\t// if container is `false`, set it to reference parent\n\t\t\t\tcontainer = reference.parentNode;\n\t\t\t}\n\t\t\treturn container;\n\t\t}\n\n\t\t/**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n\t}, {\n\t\tkey: '_append',\n\t\tvalue: function _append(tooltipNode, container) {\n\t\t\tcontainer.appendChild(tooltipNode);\n\t\t}\n\t}, {\n\t\tkey: '_setEventListeners',\n\t\tvalue: function _setEventListeners(reference, events, options) {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar directEvents = [];\n\t\t\tvar oppositeEvents = [];\n\n\t\t\tevents.forEach(function (event) {\n\t\t\t\tswitch (event) {\n\t\t\t\t\tcase 'hover':\n\t\t\t\t\t\tdirectEvents.push('mouseenter');\n\t\t\t\t\t\toppositeEvents.push('mouseleave');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'focus':\n\t\t\t\t\t\tdirectEvents.push('focus');\n\t\t\t\t\t\toppositeEvents.push('blur');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'click':\n\t\t\t\t\t\tdirectEvents.push('click');\n\t\t\t\t\t\toppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// schedule show tooltip\n\t\t\tdirectEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(evt) {\n\t\t\t\t\tif (_this6._isOpen === true) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tevt.usedByTooltip = true;\n\t\t\t\t\t_this6._scheduleShow(reference, options.delay, options, evt);\n\t\t\t\t};\n\t\t\t\t_this6._events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\n\t\t\t// schedule hide tooltip\n\t\t\toppositeEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(evt) {\n\t\t\t\t\tif (evt.usedByTooltip === true) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t_this6._scheduleHide(reference, options.delay, options, evt);\n\t\t\t\t};\n\t\t\t\t_this6._events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_onDocumentTouch',\n\t\tvalue: function _onDocumentTouch(event) {\n\t\t\tif (this._enableDocumentTouch) {\n\t\t\t\tthis._scheduleHide(this.reference, this.options.delay, this.options, event);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: '_scheduleShow',\n\t\tvalue: function _scheduleShow(reference, delay, options /*, evt */) {\n\t\t\tvar _this7 = this;\n\n\t\t\t// defaults to 0\n\t\t\tvar computedDelay = delay && delay.show || delay || 0;\n\t\t\tclearTimeout(this._scheduleTimer);\n\t\t\tthis._scheduleTimer = window.setTimeout(function () {\n\t\t\t\treturn _this7._show(reference, options);\n\t\t\t}, computedDelay);\n\t\t}\n\t}, {\n\t\tkey: '_scheduleHide',\n\t\tvalue: function _scheduleHide(reference, delay, options, evt) {\n\t\t\tvar _this8 = this;\n\n\t\t\t// defaults to 0\n\t\t\tvar computedDelay = delay && delay.hide || delay || 0;\n\t\t\tclearTimeout(this._scheduleTimer);\n\t\t\tthis._scheduleTimer = window.setTimeout(function () {\n\t\t\t\tif (_this8._isOpen === false) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!document.body.contains(_this8._tooltipNode)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// if we are hiding because of a mouseleave, we must check that the new\n\t\t\t\t// reference isn't the tooltip, because in this case we don't want to hide it\n\t\t\t\tif (evt.type === 'mouseleave') {\n\t\t\t\t\tvar isSet = _this8._setTooltipNodeEvent(evt, reference, delay, options);\n\n\t\t\t\t\t// if we set the new event, don't hide the tooltip yet\n\t\t\t\t\t// the new event will take care to hide it if necessary\n\t\t\t\t\tif (isSet) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t_this8._hide(reference, options);\n\t\t\t}, computedDelay);\n\t\t}\n\t}]);\n\treturn Tooltip;\n}();\n\n// Hide tooltips on touch devices\n\n\nvar _initialiseProps = function _initialiseProps() {\n\tvar _this9 = this;\n\n\tthis.show = function () {\n\t\t_this9._show(_this9.reference, _this9.options);\n\t};\n\n\tthis.hide = function () {\n\t\t_this9._hide();\n\t};\n\n\tthis.dispose = function () {\n\t\t_this9._dispose();\n\t};\n\n\tthis.toggle = function () {\n\t\tif (_this9._isOpen) {\n\t\t\treturn _this9.hide();\n\t\t} else {\n\t\t\treturn _this9.show();\n\t\t}\n\t};\n\n\tthis._events = [];\n\n\tthis._setTooltipNodeEvent = function (evt, reference, delay, options) {\n\t\tvar relatedreference = evt.relatedreference || evt.toElement;\n\n\t\tvar callback = function callback(evt2) {\n\t\t\tvar relatedreference2 = evt2.relatedreference || evt2.toElement;\n\n\t\t\t// Remove event listener after call\n\t\t\t_this9._tooltipNode.removeEventListener(evt.type, callback);\n\n\t\t\t// If the new reference is not the reference element\n\t\t\tif (!reference.contains(relatedreference2)) {\n\t\t\t\t// Schedule to hide tooltip\n\t\t\t\t_this9._scheduleHide(reference, options.delay, options, evt2);\n\t\t\t}\n\t\t};\n\n\t\tif (_this9._tooltipNode.contains(relatedreference)) {\n\t\t\t// listen to mouseleave on the tooltip element to be able to hide the tooltip\n\t\t\t_this9._tooltipNode.addEventListener(evt.type, callback);\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t};\n};\n\nif (typeof document !== 'undefined') {\n\tdocument.addEventListener('touchstart', function (event) {\n\t\tfor (var i = 0; i < openTooltips.length; i++) {\n\t\t\topenTooltips[i]._onDocumentTouch(event);\n\t\t}\n\t}, supportsPassive ? {\n\t\tpassive: true\n\t} : false);\n}\n\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nvar state = {\n\tenabled: true\n};\n\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\n\nvar defaultOptions = {\n\t// Default tooltip placement relative to target element\n\tdefaultPlacement: 'top',\n\t// Default CSS classes applied to the tooltip element\n\tdefaultClass: 'vue-tooltip-theme',\n\t// Default CSS classes applied to the target element of the tooltip\n\tdefaultTargetClass: 'has-tooltip',\n\t// Default HTML template of the tooltip element\n\t// It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n\t// Change if the classes conflict with other libraries (for example bootstrap)\n\tdefaultTemplate: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n\t// Selector used to get the arrow element in the tooltip template\n\tdefaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n\t// Selector used to get the inner content element in the tooltip template\n\tdefaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n\t// Delay (ms)\n\tdefaultDelay: 0,\n\t// Default events that trigger the tooltip\n\tdefaultTrigger: 'hover focus',\n\t// Default position offset (px)\n\tdefaultOffset: 0,\n\t// Default container where the tooltip will be appended\n\tdefaultContainer: 'body',\n\tdefaultBoundariesElement: undefined,\n\tdefaultPopperOptions: {},\n\t// Class added when content is loading\n\tdefaultLoadingClass: 'tooltip-loading',\n\t// Displayed when tooltip content is loading\n\tdefaultLoadingContent: '...',\n\t// Hide on mouseover tooltip\n\tautoHide: true,\n\t// Auto destroy tooltip DOM nodes (ms)\n\tdisposeTimeout: 5000,\n\t// Options for popover\n\tpopover: {\n\t\tdefaultPlacement: 'bottom',\n\t\t// Use the `popoverClass` prop for theming\n\t\tdefaultClass: 'vue-popover-theme',\n\t\t// Base class (change if conflicts with other libraries)\n\t\tdefaultBaseClass: 'tooltip popover',\n\t\t// Wrapper class (contains arrow and inner)\n\t\tdefaultWrapperClass: 'wrapper',\n\t\t// Inner content class\n\t\tdefaultInnerClass: 'tooltip-inner popover-inner',\n\t\t// Arrow class\n\t\tdefaultArrowClass: 'tooltip-arrow popover-arrow',\n\t\tdefaultDelay: 0,\n\t\tdefaultTrigger: 'click',\n\t\tdefaultOffset: 0,\n\t\tdefaultContainer: 'body',\n\t\tdefaultBoundariesElement: undefined,\n\t\tdefaultPopperOptions: {},\n\t\t// Hides if clicked outside of popover\n\t\tdefaultAutoHide: true,\n\t\t// Update popper on content resize\n\t\tdefaultHandleResize: true\n\t}\n};\n\nfunction getOptions(options) {\n\tvar result = {\n\t\tplacement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n\t\tdelay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n\t\ttemplate: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n\t\tarrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n\t\tinnerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n\t\ttrigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n\t\toffset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n\t\tcontainer: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n\t\tboundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n\t\tautoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n\t\tloadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n\t\tloadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n\t\tpopperOptions: _extends$1({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n\t};\n\n\tif (result.offset) {\n\t\tvar typeofOffset = _typeof(result.offset);\n\t\tvar offset = result.offset;\n\n\t\t// One value -> switch\n\t\tif (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n\t\t\toffset = '0, ' + offset;\n\t\t}\n\n\t\tif (!result.popperOptions.modifiers) {\n\t\t\tresult.popperOptions.modifiers = {};\n\t\t}\n\t\tresult.popperOptions.modifiers.offset = {\n\t\t\toffset: offset\n\t\t};\n\t}\n\n\treturn result;\n}\n\nfunction getPlacement(value, modifiers) {\n\tvar placement = value.placement;\n\tfor (var i = 0; i < positions.length; i++) {\n\t\tvar pos = positions[i];\n\t\tif (modifiers[pos]) {\n\t\t\tplacement = pos;\n\t\t}\n\t}\n\treturn placement;\n}\n\nfunction getContent(value) {\n\tvar type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\tif (type === 'string') {\n\t\treturn value;\n\t} else if (value && type === 'object') {\n\t\treturn value.content;\n\t} else {\n\t\treturn false;\n\t}\n}\n\nfunction createTooltip(el, value) {\n\tvar modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n\tvar content = getContent(value);\n\tvar classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\tvar opts = _extends$1({\n\t\ttitle: content,\n\t\thtml: true\n\t}, getOptions(_extends$1({}, value, {\n\t\tplacement: getPlacement(value, modifiers)\n\t})));\n\tvar tooltip = el._tooltip = new Tooltip(el, opts);\n\ttooltip.setClasses(classes);\n\ttooltip._vueEl = el;\n\n\t// Class on target\n\tvar targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n\tel._tooltipTargetClasses = targetClasses;\n\taddClasses(el, targetClasses);\n\n\treturn tooltip;\n}\n\nfunction destroyTooltip(el) {\n\tif (el._tooltip) {\n\t\tel._tooltip.dispose();\n\t\tdelete el._tooltip;\n\t\tdelete el._tooltipOldShow;\n\t}\n\n\tif (el._tooltipTargetClasses) {\n\t\tremoveClasses(el, el._tooltipTargetClasses);\n\t\tdelete el._tooltipTargetClasses;\n\t}\n}\n\nfunction bind(el, _ref) {\n\tvar value = _ref.value,\n\t oldValue = _ref.oldValue,\n\t modifiers = _ref.modifiers;\n\n\tvar content = getContent(value);\n\tif (!content || !state.enabled) {\n\t\tdestroyTooltip(el);\n\t} else {\n\t\tvar tooltip = void 0;\n\t\tif (el._tooltip) {\n\t\t\ttooltip = el._tooltip;\n\t\t\t// Content\n\t\t\ttooltip.setContent(content);\n\t\t\t// Options\n\t\t\ttooltip.setOptions(_extends$1({}, value, {\n\t\t\t\tplacement: getPlacement(value, modifiers)\n\t\t\t}));\n\t\t} else {\n\t\t\ttooltip = createTooltip(el, value, modifiers);\n\t\t}\n\n\t\t// Manual show\n\t\tif (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n\t\t\tel._tooltipOldShow = value.show;\n\t\t\tvalue.show ? tooltip.show() : tooltip.hide();\n\t\t}\n\t}\n}\n\nvar directive = {\n\toptions: defaultOptions,\n\tbind: bind,\n\tupdate: bind,\n\tunbind: function unbind(el) {\n\t\tdestroyTooltip(el);\n\t}\n};\n\nfunction addListeners(el) {\n\tel.addEventListener('click', onClick);\n\tel.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n\t\tpassive: true\n\t} : false);\n}\n\nfunction removeListeners(el) {\n\tel.removeEventListener('click', onClick);\n\tel.removeEventListener('touchstart', onTouchStart);\n\tel.removeEventListener('touchend', onTouchEnd);\n\tel.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n\tvar el = event.currentTarget;\n\tevent.closePopover = !el.$_vclosepopover_touch;\n\tevent.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n\tif (event.changedTouches.length === 1) {\n\t\tvar el = event.currentTarget;\n\t\tel.$_vclosepopover_touch = true;\n\t\tvar touch = event.changedTouches[0];\n\t\tel.$_vclosepopover_touchPoint = touch;\n\t\tel.addEventListener('touchend', onTouchEnd);\n\t\tel.addEventListener('touchcancel', onTouchCancel);\n\t}\n}\n\nfunction onTouchEnd(event) {\n\tvar el = event.currentTarget;\n\tel.$_vclosepopover_touch = false;\n\tif (event.changedTouches.length === 1) {\n\t\tvar touch = event.changedTouches[0];\n\t\tvar firstTouch = el.$_vclosepopover_touchPoint;\n\t\tevent.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n\t\tevent.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n\t}\n}\n\nfunction onTouchCancel(event) {\n\tvar el = event.currentTarget;\n\tel.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n\tbind: function bind(el, _ref) {\n\t\tvar value = _ref.value,\n\t\t modifiers = _ref.modifiers;\n\n\t\tel.$_closePopoverModifiers = modifiers;\n\t\tif (typeof value === 'undefined' || value) {\n\t\t\taddListeners(el);\n\t\t}\n\t},\n\tupdate: function update(el, _ref2) {\n\t\tvar value = _ref2.value,\n\t\t oldValue = _ref2.oldValue,\n\t\t modifiers = _ref2.modifiers;\n\n\t\tel.$_closePopoverModifiers = modifiers;\n\t\tif (value !== oldValue) {\n\t\t\tif (typeof value === 'undefined' || value) {\n\t\t\t\taddListeners(el);\n\t\t\t} else {\n\t\t\t\tremoveListeners(el);\n\t\t\t}\n\t\t}\n\t},\n\tunbind: function unbind(el) {\n\t\tremoveListeners(el);\n\t}\n};\n\nfunction getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tnotify: function notify() {\n\t\t\tthis.$emit('notify');\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.notify);\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis.notify();\n\t\t\t}\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.notify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;');\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install$1(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\t/* -- Add more components here -- */\n}\n\n/* -- Plugin definition & Auto-install -- */\n/* You shouldn't have to modify the code below */\n\n// Plugin\nvar plugin$2 = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.3\",\n\tinstall: install$1\n};\n\n// Auto-install\nvar GlobalVue$1 = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue$1 = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue$1 = global.Vue;\n}\nif (GlobalVue$1) {\n\tGlobalVue$1.use(plugin$2);\n}\n\nfunction getDefault(key) {\n\tvar value = directive.options.popover[key];\n\tif (typeof value === 'undefined') {\n\t\treturn directive.options[key];\n\t}\n\treturn value;\n}\n\nvar isIOS = false;\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n\tisIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Popover = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"v-popover\", class: _vm.cssClass }, [_c('span', { ref: \"trigger\", staticClass: \"trigger\", staticStyle: { \"display\": \"inline-block\" }, attrs: { \"aria-describedby\": _vm.popoverId } }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', { ref: \"popover\", class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass], style: {\n\t\t\t\tdisplay: _vm.isOpen ? '' : 'none'\n\t\t\t}, attrs: { \"id\": _vm.popoverId, \"aria-hidden\": _vm.isOpen ? 'false' : 'true' } }, [_c('div', { class: _vm.popoverWrapperClass }, [_c('div', { ref: \"arrow\", class: _vm.popoverArrowClass }), _vm._v(\" \"), _c('div', { ref: \"inner\", class: _vm.popoverInnerClass, staticStyle: { \"position\": \"relative\" } }, [_c('div', [_vm._t(\"popover\")], 2), _vm._v(\" \"), _vm.handleResize ? _c('ResizeObserver', { on: { \"notify\": _vm.$_handleResize } }) : _vm._e()], 1)])])]);\n\t}, staticRenderFns: [],\n\tname: 'VPopover',\n\n\tcomponents: {\n\t\tResizeObserver: ResizeObserver\n\t},\n\n\tprops: {\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tplacement: {\n\t\t\ttype: String,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultPlacement');\n\t\t\t}\n\t\t},\n\t\tdelay: {\n\t\t\ttype: [String, Number, Object],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultDelay');\n\t\t\t}\n\t\t},\n\t\toffset: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultOffset');\n\t\t\t}\n\t\t},\n\t\ttrigger: {\n\t\t\ttype: String,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultTrigger');\n\t\t\t}\n\t\t},\n\t\tcontainer: {\n\t\t\ttype: [String, Object, Element],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultContainer');\n\t\t\t}\n\t\t},\n\t\tboundariesElement: {\n\t\t\ttype: Element,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultBoundariesElement');\n\t\t\t}\n\t\t},\n\t\tpopperOptions: {\n\t\t\ttype: Object,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultPopperOptions');\n\t\t\t}\n\t\t},\n\t\tpopoverClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultClass');\n\t\t\t}\n\t\t},\n\t\tpopoverBaseClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultBaseClass;\n\t\t\t}\n\t\t},\n\t\tpopoverInnerClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultInnerClass;\n\t\t\t}\n\t\t},\n\t\tpopoverWrapperClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultWrapperClass;\n\t\t\t}\n\t\t},\n\t\tpopoverArrowClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultArrowClass;\n\t\t\t}\n\t\t},\n\t\tautoHide: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultAutoHide;\n\t\t\t}\n\t\t},\n\t\thandleResize: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultHandleResize;\n\t\t\t}\n\t\t},\n\t\topenGroup: {\n\t\t\ttype: String,\n\t\t\tdefault: null\n\t\t}\n\t},\n\n\tdata: function data() {\n\t\treturn {\n\t\t\tisOpen: false,\n\t\t\tid: Math.random().toString(36).substr(2, 10)\n\t\t};\n\t},\n\n\n\tcomputed: {\n\t\tcssClass: function cssClass() {\n\t\t\treturn {\n\t\t\t\t'open': this.isOpen\n\t\t\t};\n\t\t},\n\t\tpopoverId: function popoverId() {\n\t\t\treturn 'popover_' + this.id;\n\t\t}\n\t},\n\n\twatch: {\n\t\topen: function open(val) {\n\t\t\tif (val) {\n\t\t\t\tthis.show();\n\t\t\t} else {\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t},\n\t\tdisabled: function disabled(val, oldVal) {\n\t\t\tif (val !== oldVal) {\n\t\t\t\tif (val) {\n\t\t\t\t\tthis.hide();\n\t\t\t\t} else if (this.open) {\n\t\t\t\t\tthis.show();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcontainer: function container(val) {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tvar popoverNode = this.$refs.popover;\n\t\t\t\tvar reference = this.$refs.trigger;\n\n\t\t\t\tvar container = this.$_findContainer(this.container, reference);\n\t\t\t\tif (!container) {\n\t\t\t\t\tconsole.warn('No container for popover', this);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcontainer.appendChild(popoverNode);\n\t\t\t\tthis.popperInstance.update();\n\t\t\t}\n\t\t},\n\t\ttrigger: function trigger(val) {\n\t\t\tthis.$_removeEventListeners();\n\t\t\tthis.$_addEventListeners();\n\t\t},\n\t\toffset: function offset(val) {\n\t\t\tvar _this = this;\n\n\t\t\tthis.$_updatePopper(function () {\n\t\t\t\tif (val) {\n\t\t\t\t\tvar offset = _this.$_getOffset();\n\n\t\t\t\t\t_this.popperInstance.options.modifiers.offset = {\n\t\t\t\t\t\toffset: offset\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\t_this.popperInstance.options.modifiers.offset = undefined;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tplacement: function placement(val) {\n\t\t\tvar _this2 = this;\n\n\t\t\tthis.$_updatePopper(function () {\n\t\t\t\t_this2.popperInstance.options.placement = val;\n\t\t\t});\n\t\t},\n\n\n\t\tboundariesElement: '$_restartPopper',\n\n\t\tpopperOptions: {\n\t\t\thandler: '$_restartPopper',\n\t\t\tdeep: true\n\t\t}\n\t},\n\n\tcreated: function created() {\n\t\tthis.$_isDisposed = false;\n\t\tthis.$_mounted = false;\n\t\tthis.$_events = [];\n\t\tthis.$_preventOpen = false;\n\t},\n\tmounted: function mounted() {\n\t\tvar popoverNode = this.$refs.popover;\n\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\n\t\tthis.$_init();\n\n\t\tif (this.open) {\n\t\t\tthis.show();\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.dispose();\n\t},\n\n\n\tmethods: {\n\t\tshow: function show() {\n\t\t\tvar _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t\t\t event = _ref.event,\n\t\t\t _ref$skipDelay = _ref.skipDelay,\n\t\t\t skipDelay = _ref$skipDelay === undefined ? false : _ref$skipDelay,\n\t\t\t _ref$force = _ref.force,\n\t\t\t force = _ref$force === undefined ? false : _ref$force;\n\n\t\t\tif (force || !this.disabled) {\n\t\t\t\tthis.$_scheduleShow(event);\n\t\t\t\tthis.$emit('show');\n\t\t\t}\n\t\t\tthis.$emit('update:open', true);\n\t\t},\n\t\thide: function hide() {\n\t\t\tvar _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t\t\t event = _ref2.event,\n\t\t\t _ref2$skipDelay = _ref2.skipDelay;\n\n\t\t\tthis.$_scheduleHide(event);\n\n\t\t\tthis.$emit('hide');\n\t\t\tthis.$emit('update:open', false);\n\t\t},\n\t\tdispose: function dispose() {\n\t\t\tthis.$_isDisposed = true;\n\t\t\tthis.$_removeEventListeners();\n\t\t\tthis.hide({ skipDelay: true });\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.popperInstance.destroy();\n\n\t\t\t\t// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\t\t\t\tif (!this.popperInstance.options.removeOnDestroy) {\n\t\t\t\t\tvar popoverNode = this.$refs.popover;\n\t\t\t\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$_mounted = false;\n\n\t\t\tthis.$emit('dispose');\n\t\t},\n\t\t$_init: function $_init() {\n\t\t\tif (this.trigger.indexOf('manual') === -1) {\n\t\t\t\tthis.$_addEventListeners();\n\t\t\t}\n\t\t},\n\t\t$_show: function $_show() {\n\t\t\tvar _this3 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar popoverNode = this.$refs.popover;\n\n\t\t\tclearTimeout(this.$_disposeTimer);\n\n\t\t\t// Already open\n\t\t\tif (this.isOpen) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Popper is already initialized\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.isOpen = true;\n\t\t\t\tthis.popperInstance.enableEventListeners();\n\t\t\t\tthis.popperInstance.update();\n\t\t\t}\n\n\t\t\tif (!this.$_mounted) {\n\t\t\t\tvar container = this.$_findContainer(this.container, reference);\n\t\t\t\tif (!container) {\n\t\t\t\t\tconsole.warn('No container for popover', this);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcontainer.appendChild(popoverNode);\n\t\t\t\tthis.$_mounted = true;\n\t\t\t}\n\n\t\t\tif (!this.popperInstance) {\n\t\t\t\tvar popperOptions = _extends$1({}, this.popperOptions, {\n\t\t\t\t\tplacement: this.placement\n\t\t\t\t});\n\n\t\t\t\tpopperOptions.modifiers = _extends$1({}, popperOptions.modifiers, {\n\t\t\t\t\tarrow: {\n\t\t\t\t\t\telement: this.$refs.arrow\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (this.offset) {\n\t\t\t\t\tvar offset = this.$_getOffset();\n\n\t\t\t\t\tpopperOptions.modifiers.offset = {\n\t\t\t\t\t\toffset: offset\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (this.boundariesElement) {\n\t\t\t\t\tpopperOptions.modifiers.preventOverflow = {\n\t\t\t\t\t\tboundariesElement: this.boundariesElement\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tthis.popperInstance = new Popper(reference, popoverNode, popperOptions);\n\n\t\t\t\t// Fix position\n\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\tif (!_this3.$_isDisposed && _this3.popperInstance) {\n\t\t\t\t\t\t_this3.popperInstance.update();\n\n\t\t\t\t\t\t// Show the tooltip\n\t\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\t\tif (!_this3.$_isDisposed) {\n\t\t\t\t\t\t\t\t_this3.isOpen = true;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tvar openGroup = this.openGroup;\n\t\t\tif (openGroup) {\n\t\t\t\tvar popover = void 0;\n\t\t\t\tfor (var i = 0; i < openPopovers.length; i++) {\n\t\t\t\t\tpopover = openPopovers[i];\n\t\t\t\t\tif (popover.openGroup !== openGroup) {\n\t\t\t\t\t\tpopover.hide();\n\t\t\t\t\t\tpopover.$emit('close-group');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\topenPopovers.push(this);\n\t\t},\n\t\t$_hide: function $_hide() {\n\t\t\tvar _this4 = this;\n\n\t\t\t// Already hidden\n\t\t\tif (!this.isOpen) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar index = openPopovers.indexOf(this);\n\t\t\tif (index !== -1) {\n\t\t\t\topenPopovers.splice(index, 1);\n\t\t\t}\n\n\t\t\tthis.isOpen = false;\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.popperInstance.disableEventListeners();\n\t\t\t}\n\n\t\t\tclearTimeout(this.$_disposeTimer);\n\t\t\tvar disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\t\t\tif (disposeTime !== null) {\n\t\t\t\tthis.$_disposeTimer = setTimeout(function () {\n\t\t\t\t\tvar popoverNode = _this4.$refs.popover;\n\t\t\t\t\tif (popoverNode) {\n\t\t\t\t\t\t// Don't remove popper instance, just the HTML element\n\t\t\t\t\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\t\t\t\t\t\t_this4.$_mounted = false;\n\t\t\t\t\t}\n\t\t\t\t}, disposeTime);\n\t\t\t}\n\t\t},\n\t\t$_findContainer: function $_findContainer(container, reference) {\n\t\t\t// if container is a query, get the relative element\n\t\t\tif (typeof container === 'string') {\n\t\t\t\tcontainer = window.document.querySelector(container);\n\t\t\t} else if (container === false) {\n\t\t\t\t// if container is `false`, set it to reference parent\n\t\t\t\tcontainer = reference.parentNode;\n\t\t\t}\n\t\t\treturn container;\n\t\t},\n\t\t$_getOffset: function $_getOffset() {\n\t\t\tvar typeofOffset = _typeof(this.offset);\n\t\t\tvar offset = this.offset;\n\n\t\t\t// One value -> switch\n\t\t\tif (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n\t\t\t\toffset = '0, ' + offset;\n\t\t\t}\n\n\t\t\treturn offset;\n\t\t},\n\t\t$_addEventListeners: function $_addEventListeners() {\n\t\t\tvar _this5 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar directEvents = [];\n\t\t\tvar oppositeEvents = [];\n\n\t\t\tvar events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n\t\t\t\treturn ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n\t\t\t}) : [];\n\n\t\t\tevents.forEach(function (event) {\n\t\t\t\tswitch (event) {\n\t\t\t\t\tcase 'hover':\n\t\t\t\t\t\tdirectEvents.push('mouseenter');\n\t\t\t\t\t\toppositeEvents.push('mouseleave');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'focus':\n\t\t\t\t\t\tdirectEvents.push('focus');\n\t\t\t\t\t\toppositeEvents.push('blur');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'click':\n\t\t\t\t\t\tdirectEvents.push('click');\n\t\t\t\t\t\toppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// schedule show tooltip\n\t\t\tdirectEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(event) {\n\t\t\t\t\tif (_this5.isOpen) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tevent.usedByTooltip = true;\n\t\t\t\t\t!_this5.$_preventOpen && _this5.show({ event: event });\n\t\t\t\t};\n\t\t\t\t_this5.$_events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\n\t\t\t// schedule hide tooltip\n\t\t\toppositeEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(event) {\n\t\t\t\t\tif (event.usedByTooltip) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t_this5.hide({ event: event });\n\t\t\t\t};\n\t\t\t\t_this5.$_events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\t\t},\n\t\t$_scheduleShow: function $_scheduleShow() {\n\t\t\tvar skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tclearTimeout(this.$_scheduleTimer);\n\t\t\tif (skipDelay) {\n\t\t\t\tthis.$_show();\n\t\t\t} else {\n\t\t\t\t// defaults to 0\n\t\t\t\tvar computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n\t\t\t\tthis.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n\t\t\t}\n\t\t},\n\t\t$_scheduleHide: function $_scheduleHide() {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\t\tvar skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tclearTimeout(this.$_scheduleTimer);\n\t\t\tif (skipDelay) {\n\t\t\t\tthis.$_hide();\n\t\t\t} else {\n\t\t\t\t// defaults to 0\n\t\t\t\tvar computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n\t\t\t\tthis.$_scheduleTimer = setTimeout(function () {\n\t\t\t\t\tif (!_this6.isOpen) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// if we are hiding because of a mouseleave, we must check that the new\n\t\t\t\t\t// reference isn't the tooltip, because in this case we don't want to hide it\n\t\t\t\t\tif (event && event.type === 'mouseleave') {\n\t\t\t\t\t\tvar isSet = _this6.$_setTooltipNodeEvent(event);\n\n\t\t\t\t\t\t// if we set the new event, don't hide the tooltip yet\n\t\t\t\t\t\t// the new event will take care to hide it if necessary\n\t\t\t\t\t\tif (isSet) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t_this6.$_hide();\n\t\t\t\t}, computedDelay);\n\t\t\t}\n\t\t},\n\t\t$_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n\t\t\tvar _this7 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar popoverNode = this.$refs.popover;\n\n\t\t\tvar relatedreference = event.relatedreference || event.toElement;\n\n\t\t\tvar callback = function callback(event2) {\n\t\t\t\tvar relatedreference2 = event2.relatedreference || event2.toElement;\n\n\t\t\t\t// Remove event listener after call\n\t\t\t\tpopoverNode.removeEventListener(event.type, callback);\n\n\t\t\t\t// If the new reference is not the reference element\n\t\t\t\tif (!reference.contains(relatedreference2)) {\n\t\t\t\t\t// Schedule to hide tooltip\n\t\t\t\t\t_this7.hide({ event: event2 });\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (popoverNode.contains(relatedreference)) {\n\t\t\t\t// listen to mouseleave on the tooltip element to be able to hide the tooltip\n\t\t\t\tpopoverNode.addEventListener(event.type, callback);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\t\t$_removeEventListeners: function $_removeEventListeners() {\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tthis.$_events.forEach(function (_ref3) {\n\t\t\t\tvar func = _ref3.func,\n\t\t\t\t event = _ref3.event;\n\n\t\t\t\treference.removeEventListener(event, func);\n\t\t\t});\n\t\t\tthis.$_events = [];\n\t\t},\n\t\t$_updatePopper: function $_updatePopper(cb) {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tcb();\n\t\t\t\tthis.popperInstance.update();\n\t\t\t}\n\t\t},\n\t\t$_restartPopper: function $_restartPopper() {\n\t\t\tif (this.popperInstance) {\n\t\t\t\tvar isOpen = this.isOpen;\n\t\t\t\tthis.dispose();\n\t\t\t\tthis.$_init();\n\t\t\t\tif (isOpen) {\n\t\t\t\t\tthis.show();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t$_handleGlobalClose: function $_handleGlobalClose(event) {\n\t\t\tvar _this8 = this;\n\n\t\t\tvar touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tthis.hide({ event: event });\n\n\t\t\tif (event.closePopover) {\n\t\t\t\tthis.$emit('close-directive');\n\t\t\t} else {\n\t\t\t\tthis.$emit('auto-hide');\n\t\t\t}\n\n\t\t\tif (touch) {\n\t\t\t\tthis.$_preventOpen = true;\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t_this8.$_preventOpen = false;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t},\n\t\t$_handleResize: function $_handleResize() {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tthis.popperInstance.update();\n\t\t\t\tthis.$emit('resize');\n\t\t\t}\n\t\t}\n\t}\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n\tif (isIOS) {\n\t\tdocument.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n\t\t\tpassive: true\n\t\t} : false);\n\t} else {\n\t\twindow.addEventListener('click', handleGlobalClick);\n\t}\n}\n\nfunction handleGlobalClick(event) {\n\thandleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n\thandleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n\tvar touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\tvar popover = void 0;\n\tfor (var i = 0; i < openPopovers.length; i++) {\n\t\tpopover = openPopovers[i];\n\t\tvar contains = popover.$refs.popover.contains(event.target);\n\t\tif (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n\t\t\tpopover.$_handleGlobalClose(event, touch);\n\t\t}\n\t}\n}\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar lodash_merge = createCommonjsModule(function (module, exports) {\n/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = 'object' == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max;\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (typeof key == 'number' && value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n if (isHostObject(value)) {\n return object ? value : {};\n }\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (!isArr) {\n var props = isFull ? getAllKeys(value) : keys(value);\n }\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n });\n return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n if (!(isArray(source) || isTypedArray(source))) {\n var props = baseKeysIn(source);\n }\n arrayEach(props || source, function(srcValue, key) {\n if (props) {\n key = srcValue;\n srcValue = source[key];\n }\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(object[key], srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n });\n}\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = object[key],\n srcValue = source[key],\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n newValue = srcValue;\n if (isArray(srcValue) || isTypedArray(srcValue)) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else {\n isCommon = false;\n newValue = baseClone(srcValue, true);\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {\n isCommon = false;\n newValue = baseClone(srcValue, true);\n }\n else {\n newValue = objValue;\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var result = new buffer.constructor(buffer.length);\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return cloneMap(object, isDeep, cloneFunc);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) ||\n objectToString.call(value) != objectTag || isHostObject(value)) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return (typeof Ctor == 'function' &&\n Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = merge;\n});\n\nfunction install(Vue) {\n\tvar options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\tif (install.installed) return;\n\tinstall.installed = true;\n\n\tvar finalOptions = {};\n\tlodash_merge(finalOptions, defaultOptions, options);\n\n\tplugin.options = finalOptions;\n\tdirective.options = finalOptions;\n\n\tVue.directive('tooltip', directive);\n\tVue.directive('close-popover', vclosepopover);\n\tVue.component('v-popover', Popover);\n}\n\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = Popover;\n\nvar plugin = {\n\tinstall: install,\n\n\tget enabled() {\n\t\treturn state.enabled;\n\t},\n\n\tset enabled(value) {\n\t\tstate.enabled = value;\n\t}\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (plugin);\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))\n\n/***/ }),\n/* 42 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\",class:{'disabled': _vm.loading.delete || _vm.loading.disable}},[_c('div',{staticClass:\"avatar\",class:{'icon-loading-small': _vm.loading.delete || _vm.loading.disable}},[(!_vm.loading.delete && !_vm.loading.disable)?_c('img',{attrs:{\"alt\":\"\",\"width\":\"32\",\"height\":\"32\",\"src\":_vm.generateAvatar(_vm.user.id, 32),\"srcset\":_vm.generateAvatar(_vm.user.id, 64)+' 2x, '+_vm.generateAvatar(_vm.user.id, 128)+' 4x'}}):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(_vm.user.id))]),_vm._v(\" \"),_c('form',{staticClass:\"displayName\",class:{'icon-loading-small': _vm.loading.displayName},on:{\"submit\":function($event){$event.preventDefault();return _vm.updateDisplayName($event)}}},[_c('input',{attrs:{\"id\":'displayName'+_vm.user.id+_vm.rand,\"type\":\"text\",\"disabled\":_vm.loading.displayName||_vm.loading.all,\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"},domProps:{\"value\":_vm.user.displayname}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]),_vm._v(\" \"),(_vm.settings.canChangePassword)?_c('form',{staticClass:\"password\",class:{'icon-loading-small': _vm.loading.password},on:{\"submit\":function($event){$event.preventDefault();return _vm.updatePassword($event)}}},[_c('input',{ref:\"password\",attrs:{\"id\":'password'+_vm.user.id+_vm.rand,\"type\":\"password\",\"required\":\"\",\"disabled\":_vm.loading.password||_vm.loading.all,\"minlength\":_vm.minPasswordLength,\"value\":\"\",\"placeholder\":_vm.t('settings', 'New password'),\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]):_c('div'),_vm._v(\" \"),_c('form',{staticClass:\"mailAddress\",class:{'icon-loading-small': _vm.loading.mailAddress},on:{\"submit\":function($event){$event.preventDefault();return _vm.updateEmail($event)}}},[_c('input',{ref:\"mailAddress\",attrs:{\"id\":'mailAddress'+_vm.user.id+_vm.rand,\"type\":\"email\",\"disabled\":_vm.loading.mailAddress||_vm.loading.all,\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"},domProps:{\"value\":_vm.user.email}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"groups\",class:{'icon-loading-small': _vm.loading.groups}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userGroups,\"options\":_vm.groups,\"disabled\":_vm.loading.groups||_vm.loading.all,\"tag-placeholder\":\"create\",\"placeholder\":_vm.t('settings', 'Add user in group'),\"label\":\"name\",\"track-by\":\"id\",\"limit\":2,\"limitText\":_vm.limitGroups,\"multiple\":true,\"taggable\":true,\"closeOnSelect\":false},on:{\"tag\":_vm.createGroup,\"select\":_vm.addUserGroup,\"remove\":_vm.removeUserGroup}})],1),_vm._v(\" \"),(_vm.subAdminsGroups.length>0)?_c('div',{staticClass:\"subadmins\",class:{'icon-loading-small': _vm.loading.subadmins}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userSubAdminsGroups,\"options\":_vm.subAdminsGroups,\"disabled\":_vm.loading.subadmins||_vm.loading.all,\"placeholder\":_vm.t('settings', 'Set user as admin for'),\"label\":\"name\",\"track-by\":\"id\",\"limit\":2,\"limitText\":_vm.limitGroups,\"multiple\":true,\"closeOnSelect\":false},on:{\"select\":_vm.addUserSubAdmin,\"remove\":_vm.removeUserSubAdmin}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings','No result')))])])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"quota\",class:{'icon-loading-small': _vm.loading.quota}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userQuota,\"options\":_vm.quotaOptions,\"disabled\":_vm.loading.quota||_vm.loading.all,\"tag-placeholder\":\"create\",\"placeholder\":_vm.t('settings', 'Select user quota'),\"label\":\"label\",\"track-by\":\"id\",\"allowEmpty\":false,\"taggable\":true},on:{\"tag\":_vm.validateQuota,\"input\":_vm.setUserQuota}}),_vm._v(\" \"),_c('progress',{staticClass:\"quota-user-progress\",class:{'warn':_vm.usedQuota>80},attrs:{\"max\":\"100\"},domProps:{\"value\":_vm.usedQuota}})],1),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"languages\",class:{'icon-loading-small': _vm.loading.languages}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userLanguage,\"options\":_vm.languages,\"disabled\":_vm.loading.languages||_vm.loading.all,\"placeholder\":_vm.t('settings', 'No language set'),\"label\":\"name\",\"track-by\":\"code\",\"allowEmpty\":false,\"group-values\":\"languages\",\"group-label\":\"label\"},on:{\"input\":_vm.setUserLanguage}})],1):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('div',{staticClass:\"storageLocation\"},[_vm._v(_vm._s(_vm.user.storageLocation))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend)?_c('div',{staticClass:\"userBackend\"},[_vm._v(_vm._s(_vm.user.backend))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.user.lastLogin>0 ? _vm.OC.Util.formatDate(_vm.user.lastLogin) : ''),expression:\"user.lastLogin>0 ? OC.Util.formatDate(user.lastLogin) : ''\",modifiers:{\"auto\":true}}],staticClass:\"lastLogin\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.user.lastLogin>0 ? _vm.OC.Util.relativeModifiedDate(_vm.user.lastLogin) : _vm.t('settings','Never'))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"userActions\"},[(_vm.OC.currentUser !== _vm.user.id && _vm.user.id !== 'admin' && !_vm.loading.all)?_c('div',{staticClass:\"toggleUserActions\"},[_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.hideMenu),expression:\"hideMenu\"}],staticClass:\"icon-more\",on:{\"click\":_vm.toggleMenu}}),_vm._v(\" \"),_c('div',{staticClass:\"popovermenu\",class:{ 'open': _vm.openedMenu }},[_c('popover-menu',{attrs:{\"menu\":_vm.userActions}})],1)]):_vm._e()])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n!function(e,t){ true?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueInfiniteLoading=t():e.VueInfiniteLoading=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){function t(n){if(i[n])return i[n].exports;var a=i[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var i={};return t.m=e,t.c=i,t.d=function(e,i,n){t.o(e,i)||Object.defineProperty(e,i,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,\"a\",i),i},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"/\",t(t.s=3)}([function(e,t){function i(e,t){var i=e[1]||\"\",a=e[3];if(!a)return i;if(t&&\"function\"==typeof btoa){var r=n(a);return[i].concat(a.sources.map(function(e){return\"/*# sourceURL=\"+a.sourceRoot+e+\" */\"})).concat([r]).join(\"\\n\")}return[i].join(\"\\n\")}function n(e){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+\" */\"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=i(t,e);return t[2]?\"@media \"+t[2]+\"{\"+n+\"}\":n}).join(\"\")},t.i=function(e,i){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var n={},a=0;a<this.length;a++){var r=this[a][0];\"number\"==typeof r&&(n[r]=!0)}for(a=0;a<e.length;a++){var o=e[a];\"number\"==typeof o[0]&&n[o[0]]||(i&&!o[2]?o[2]=i:i&&(o[2]=\"(\"+o[2]+\") and (\"+i+\")\"),t.push(o))}},t}},function(e,t,i){function n(e){for(var t=0;t<e.length;t++){var i=e[t],n=f[i.id];if(n){n.refs++;for(var a=0;a<n.parts.length;a++)n.parts[a](i.parts[a]);for(;a<i.parts.length;a++)n.parts.push(r(i.parts[a]));n.parts.length>i.parts.length&&(n.parts.length=i.parts.length)}else{for(var o=[],a=0;a<i.parts.length;a++)o.push(r(i.parts[a]));f[i.id]={id:i.id,refs:1,parts:o}}}}function a(){var e=document.createElement(\"style\");return e.type=\"text/css\",c.appendChild(e),e}function r(e){var t,i,n=document.querySelector('style[data-vue-ssr-id~=\"'+e.id+'\"]');if(n){if(m)return h;n.parentNode.removeChild(n)}if(b){var r=p++;n=u||(u=a()),t=o.bind(null,n,r,!1),i=o.bind(null,n,r,!0)}else n=a(),t=s.bind(null,n),i=function(){n.parentNode.removeChild(n)};return t(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap)return;t(e=n)}else i()}}function o(e,t,i,n){var a=i?\"\":n.css;if(e.styleSheet)e.styleSheet.cssText=g(t,a);else{var r=document.createTextNode(a),o=e.childNodes;o[t]&&e.removeChild(o[t]),o.length?e.insertBefore(r,o[t]):e.appendChild(r)}}function s(e,t){var i=t.css,n=t.media,a=t.sourceMap;if(n&&e.setAttribute(\"media\",n),a&&(i+=\"\\n/*# sourceURL=\"+a.sources[0]+\" */\",i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+\" */\"),e.styleSheet)e.styleSheet.cssText=i;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(i))}}var l=\"undefined\"!=typeof document;if(\"undefined\"!=typeof DEBUG&&DEBUG&&!l)throw new Error(\"vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\");var d=i(7),f={},c=l&&(document.head||document.getElementsByTagName(\"head\")[0]),u=null,p=0,m=!1,h=function(){},b=\"undefined\"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());e.exports=function(e,t,i){m=i;var a=d(e,t);return n(a),function(t){for(var i=[],r=0;r<a.length;r++){var o=a[r],s=f[o.id];s.refs--,i.push(s)}t?(a=d(e,t),n(a)):a=[];for(var r=0;r<i.length;r++){var s=i[r];if(0===s.refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete f[s.id]}}}};var g=function(){var e=[];return function(t,i){return e[t]=i,e.filter(Boolean).join(\"\\n\")}}()},function(e,t){e.exports=function(e,t,i,n,a,r){var o,s=e=e||{},l=typeof e.default;\"object\"!==l&&\"function\"!==l||(o=e,s=e.default);var d=\"function\"==typeof s?s.options:s;t&&(d.render=t.render,d.staticRenderFns=t.staticRenderFns,d._compiled=!0),i&&(d.functional=!0),a&&(d._scopeId=a);var f;if(r?(f=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},d._ssrRegister=f):n&&(f=n),f){var c=d.functional,u=c?d.render:d.beforeCreate;c?(d._injectStyles=f,d.render=function(e,t){return f.call(t),u(e,t)}):d.beforeCreate=u?[].concat(u,f):[f]}return{esModule:o,exports:s,options:d}}},function(e,t,i){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=i(4);t.default=n.a,\"undefined\"!=typeof window&&window.Vue&&window.Vue.component(\"infinite-loading\",n.a)},function(e,t,i){\"use strict\";function n(e){i(5)}var a=i(8),r=i(14),o=i(2),s=n,l=o(a.a,r.a,!1,s,\"data-v-fb2c869e\",null);t.a=l.exports},function(e,t,i){var n=i(6);\"string\"==typeof n&&(n=[[e.i,n,\"\"]]),n.locals&&(e.exports=n.locals);i(1)(\"2249d7a7\",n,!0)},function(e,t,i){t=e.exports=i(0)(void 0),t.push([e.i,\".infinite-loading-container[data-v-fb2c869e]{clear:both;text-align:center}.infinite-loading-container[data-v-fb2c869e] [class^=loading-]{display:inline-block;margin:15px 0;width:28px;height:28px;font-size:28px;line-height:28px;border-radius:50%}.infinite-status-prompt[data-v-fb2c869e]{color:#666;font-size:14px;text-align:center;padding:10px 0}\",\"\"])},function(e,t){e.exports=function(e,t){for(var i=[],n={},a=0;a<t.length;a++){var r=t[a],o=r[0],s=r[1],l=r[2],d=r[3],f={id:e+\":\"+a,css:s,media:l,sourceMap:d};n[o]?n[o].parts.push(f):i.push(n[o]={id:o,parts:[f]})}return i}},function(e,t,i){\"use strict\";var n=i(9),a={STATE_CHANGER:[\"[Vue-infinite-loading warn]: emit `loaded` and `complete` event through component instance of `$refs` may cause error, so it will be deprecated soon, please use the `$state` argument instead (`$state` just the special `$event` variable):\",\"\\ntemplate:\",'<infinite-loading @infinite=\"infiniteHandler\"></infinite-loading>',\"\\nscript:\\n...\\ninfiniteHandler($state) {\\n ajax('https://www.example.com/api/news')\\n .then((res) => {\\n if (res.data.length) {\\n $state.loaded();\\n } else {\\n $state.complete();\\n }\\n });\\n}\\n...\",\"\",\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/57#issuecomment-324370549\"].join(\"\\n\"),INFINITE_EVENT:\"[Vue-infinite-loading warn]: `:on-infinite` property will be deprecated soon, please use `@infinite` event instead.\"},r={INFINITE_LOOP:[\"[Vue-infinite-loading error]: executed the callback function more than 10 times for a short time, it looks like searched a wrong scroll wrapper that doest not has fixed height or maximum height, please check it. If you want to force to set a element as scroll wrapper ranther than automatic searching, you can do this:\",'\\n\\x3c!-- add a special attribute for the real scroll wrapper --\\x3e\\n<div infinite-wrapper>\\n ...\\n \\x3c!-- set force-use-infinite-wrapper to true --\\x3e\\n <infinite-loading force-use-infinite-wrapper=\"true\"></infinite-loading>\\n</div>\\n ',\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/55#issuecomment-316934169\"].join(\"\\n\")};t.a={name:\"InfiniteLoading\",data:function(){return{scrollParent:null,scrollHandler:null,isLoading:!1,isComplete:!1,isFirstLoad:!0,debounceTimer:null,debounceDuration:50,infiniteLoopChecked:!1,infiniteLoopTimer:null,continuousCallTimes:0}},components:{Spinner:n.a},computed:{isNoResults:{cache:!1,get:function(){var e=this.$slots[\"no-results\"],t=e&&e[0].elm&&\"\"===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&this.isFirstLoad&&!t}},isNoMore:{cache:!1,get:function(){var e=this.$slots[\"no-more\"],t=e&&e[0].elm&&\"\"===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&!this.isFirstLoad&&!t}}},props:{distance:{type:Number,default:100},onInfinite:Function,spinner:String,direction:{type:String,default:\"bottom\"},forceUseInfiniteWrapper:null},mounted:function(){var e=this;this.scrollParent=this.getScrollParent(),this.scrollHandler=function(e){this.isLoading||(clearTimeout(this.debounceTimer),e&&e.constructor===Event?this.debounceTimer=setTimeout(this.attemptLoad,this.debounceDuration):this.attemptLoad())}.bind(this),setTimeout(this.scrollHandler,1),this.scrollParent.addEventListener(\"scroll\",this.scrollHandler),this.$on(\"$InfiniteLoading:loaded\",function(t){e.isFirstLoad=!1,e.isLoading&&e.$nextTick(e.attemptLoad.bind(null,!0)),t&&t.target===e||console.warn(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:complete\",function(t){e.isLoading=!1,e.isComplete=!0,e.$nextTick(function(){e.$forceUpdate()}),e.scrollParent.removeEventListener(\"scroll\",e.scrollHandler),t&&t.target===e||console.warn(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:reset\",function(){e.isLoading=!1,e.isComplete=!1,e.isFirstLoad=!0,e.scrollParent.addEventListener(\"scroll\",e.scrollHandler),setTimeout(e.scrollHandler,1)}),this.onInfinite&&console.warn(a.INFINITE_EVENT),this.stateChanger={loaded:function(){e.$emit(\"$InfiniteLoading:loaded\",{target:e})},complete:function(){e.$emit(\"$InfiniteLoading:complete\",{target:e})},reset:function(){e.$emit(\"$InfiniteLoading:reset\",{target:e})}},this.$watch(\"forceUseInfiniteWrapper\",function(){e.scrollParent=e.getScrollParent()})},deactivated:function(){this.isLoading=!1,this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler)},activated:function(){this.scrollParent.addEventListener(\"scroll\",this.scrollHandler)},methods:{attemptLoad:function(e){var t=this,i=this.getCurrentDistance();!this.isComplete&&i<=this.distance&&this.$el.offsetWidth+this.$el.offsetHeight>0?(this.isLoading=!0,\"function\"==typeof this.onInfinite?this.onInfinite.call(null,this.stateChanger):this.$emit(\"infinite\",this.stateChanger),!e||this.forceUseInfiniteWrapper||this.infiniteLoopChecked||(this.continuousCallTimes+=1,clearTimeout(this.infiniteLoopTimer),this.infiniteLoopTimer=setTimeout(function(){t.infiniteLoopChecked=!0},1e3),this.continuousCallTimes>10&&(console.error(r.INFINITE_LOOP),this.infiniteLoopChecked=!0))):this.isLoading=!1},getCurrentDistance:function(){var e=void 0;if(\"top\"===this.direction)e=isNaN(this.scrollParent.scrollTop)?this.scrollParent.pageYOffset:this.scrollParent.scrollTop;else{e=this.$el.getBoundingClientRect().top-(this.scrollParent===window?window.innerHeight:this.scrollParent.getBoundingClientRect().bottom)}return e},getScrollParent:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.$el,t=void 0;return\"BODY\"===e.tagName?t=window:!this.forceUseInfiniteWrapper&&[\"scroll\",\"auto\"].indexOf(getComputedStyle(e).overflowY)>-1?t=e:(e.hasAttribute(\"infinite-wrapper\")||e.hasAttribute(\"data-infinite-wrapper\"))&&(t=e),t||this.getScrollParent(e.parentNode)}},destroyed:function(){this.isComplete||this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler)}}},function(e,t,i){\"use strict\";function n(e){i(10)}var a=i(12),r=i(13),o=i(2),s=n,l=o(a.a,r.a,!1,s,\"data-v-6e1fd88f\",null);t.a=l.exports},function(e,t,i){var n=i(11);\"string\"==typeof n&&(n=[[e.i,n,\"\"]]),n.locals&&(e.exports=n.locals);i(1)(\"29881045\",n,!0)},function(e,t,i){t=e.exports=i(0)(void 0),t.push([e.i,'.loading-wave-dots[data-v-6e1fd88f]{position:relative}.loading-wave-dots[data-v-6e1fd88f] .wave-item{position:absolute;top:50%;left:50%;display:inline-block;margin-top:-4px;width:8px;height:8px;border-radius:50%;-webkit-animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite;animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite}.loading-wave-dots[data-v-6e1fd88f] .wave-item:first-child{margin-left:-36px}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(2){margin-left:-20px;-webkit-animation-delay:.14s;animation-delay:.14s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(3){margin-left:-4px;-webkit-animation-delay:.28s;animation-delay:.28s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(4){margin-left:12px;-webkit-animation-delay:.42s;animation-delay:.42s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:last-child{margin-left:28px;-webkit-animation-delay:.56s;animation-delay:.56s}@-webkit-keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}@keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}.loading-circles[data-v-6e1fd88f] .circle-item{width:5px;height:5px;-webkit-animation:loading-circles-data-v-6e1fd88f linear .75s infinite;animation:loading-circles-data-v-6e1fd88f linear .75s infinite}.loading-circles[data-v-6e1fd88f] .circle-item:first-child{margin-top:-14.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){margin-top:-11.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){margin-top:-2.5px;margin-left:9.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){margin-top:6.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){margin-top:9.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){margin-top:6.26px;margin-left:-11.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){margin-top:-2.5px;margin-left:-14.5px}.loading-circles[data-v-6e1fd88f] .circle-item:last-child{margin-top:-11.26px;margin-left:-11.26px}@-webkit-keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}@keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}.loading-bubbles[data-v-6e1fd88f] .bubble-item{background:#666;-webkit-animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite;animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite}.loading-bubbles[data-v-6e1fd88f] .bubble-item:first-child{margin-top:-12.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2){margin-top:-9.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3){margin-top:-.5px;margin-left:11.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4){margin-top:8.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5){margin-top:11.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6){margin-top:8.26px;margin-left:-9.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7){margin-top:-.5px;margin-left:-12.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child{margin-top:-9.26px;margin-left:-9.26px}@-webkit-keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}@keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}.loading-default[data-v-6e1fd88f]{position:relative;border:1px solid #999;-webkit-animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite;animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite}.loading-default[data-v-6e1fd88f]:before{content:\"\";position:absolute;display:block;top:0;left:50%;margin-top:-3px;margin-left:-3px;width:6px;height:6px;background-color:#999;border-radius:50%}.loading-spiral[data-v-6e1fd88f]{border:2px solid #777;border-right-color:transparent;-webkit-animation:loading-rotating-data-v-6e1fd88f linear .85s infinite;animation:loading-rotating-data-v-6e1fd88f linear .85s infinite}@-webkit-keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-bubbles[data-v-6e1fd88f],.loading-circles[data-v-6e1fd88f]{position:relative}.loading-bubbles[data-v-6e1fd88f] .bubble-item,.loading-circles[data-v-6e1fd88f] .circle-item{position:absolute;top:50%;left:50%;display:inline-block;border-radius:50%}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){-webkit-animation-delay:93ms;animation-delay:93ms}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){-webkit-animation-delay:.186s;animation-delay:.186s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){-webkit-animation-delay:.279s;animation-delay:.279s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){-webkit-animation-delay:.372s;animation-delay:.372s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){-webkit-animation-delay:.465s;animation-delay:.465s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){-webkit-animation-delay:.558s;animation-delay:.558s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child,.loading-circles[data-v-6e1fd88f] .circle-item:last-child{-webkit-animation-delay:.651s;animation-delay:.651s}',\"\"])},function(e,t,i){\"use strict\";var n={BUBBLES:{render:function(e){return e(\"span\",{attrs:{class:\"loading-bubbles\"}},Array.apply(Array,Array(8)).map(function(){return e(\"span\",{attrs:{class:\"bubble-item\"}})}))}},CIRCLES:{render:function(e){return e(\"span\",{attrs:{class:\"loading-circles\"}},Array.apply(Array,Array(8)).map(function(){return e(\"span\",{attrs:{class:\"circle-item\"}})}))}},DEFAULT:{render:function(e){return e(\"i\",{attrs:{class:\"loading-default\"}})}},SPIRAL:{render:function(e){return e(\"i\",{attrs:{class:\"loading-spiral\"}})}},WAVEDOTS:{render:function(e){return e(\"span\",{attrs:{class:\"loading-wave-dots\"}},Array.apply(Array,Array(5)).map(function(){return e(\"span\",{attrs:{class:\"wave-item\"}})}))}}};t.a={name:\"spinner\",computed:{spinnerView:function(){return n[(this.spinner||\"\").toUpperCase()]||n.DEFAULT}},props:{spinner:String}}},function(e,t,i){\"use strict\";var n=function(){var e=this,t=e.$createElement;return(e._self._c||t)(e.spinnerView,{tag:\"component\"})},a=[],r={render:n,staticRenderFns:a};t.a=r},function(e,t,i){\"use strict\";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(\"div\",{staticClass:\"infinite-loading-container\"},[i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isLoading,expression:\"isLoading\"}]},[e._t(\"spinner\",[i(\"spinner\",{attrs:{spinner:e.spinner}})])],2),e._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isNoResults,expression:\"isNoResults\"}],staticClass:\"infinite-status-prompt\"},[e._t(\"no-results\",[e._v(\"No results :(\")])],2),e._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isNoMore,expression:\"isNoMore\"}],staticClass:\"infinite-status-prompt\"},[e._t(\"no-more\",[e._v(\"No more data :)\")])],2)])},a=[],r={render:n,staticRenderFns:a};t.a=r}])});\n\n/***/ }),\n/* 44 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-list-grid\",attrs:{\"id\":\"app-content\"},on:{\"&scroll\":function($event){return _vm.onScroll($event)}}},[_c('div',{staticClass:\"row\",class:{'sticky': _vm.scrolled && !_vm.showConfig.showNewUserForm},attrs:{\"id\":\"grid-header\"}},[_c('div',{staticClass:\"avatar\",attrs:{\"id\":\"headerAvatar\"}}),_vm._v(\" \"),_c('div',{staticClass:\"name\",attrs:{\"id\":\"headerName\"}},[_vm._v(_vm._s(_vm.t('settings', 'Username')))]),_vm._v(\" \"),_c('div',{staticClass:\"displayName\",attrs:{\"id\":\"headerDisplayName\"}},[_vm._v(_vm._s(_vm.t('settings', 'Full name')))]),_vm._v(\" \"),_c('div',{staticClass:\"password\",attrs:{\"id\":\"headerPassword\"}},[_vm._v(_vm._s(_vm.t('settings', 'Password')))]),_vm._v(\" \"),_c('div',{staticClass:\"mailAddress\",attrs:{\"id\":\"headerAddress\"}},[_vm._v(_vm._s(_vm.t('settings', 'Email')))]),_vm._v(\" \"),_c('div',{staticClass:\"groups\",attrs:{\"id\":\"headerGroups\"}},[_vm._v(_vm._s(_vm.t('settings', 'Groups')))]),_vm._v(\" \"),(_vm.subAdminsGroups.length>0)?_c('div',{staticClass:\"subadmins\",attrs:{\"id\":\"headerSubAdmins\"}},[_vm._v(_vm._s(_vm.t('settings', 'Group admin for')))]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"quota\",attrs:{\"id\":\"headerQuota\"}},[_vm._v(_vm._s(_vm.t('settings', 'Quota')))]),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"languages\",attrs:{\"id\":\"headerLanguages\"}},[_vm._v(_vm._s(_vm.t('settings', 'Languages')))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('div',{staticClass:\"headerStorageLocation storageLocation\"},[_vm._v(_vm._s(_vm.t('settings', 'Storage location')))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend)?_c('div',{staticClass:\"headerUserBackend userBackend\"},[_vm._v(_vm._s(_vm.t('settings', 'User backend')))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('div',{staticClass:\"headerLastLogin lastLogin\"},[_vm._v(_vm._s(_vm.t('settings', 'Last login')))]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"userActions\"})]),_vm._v(\" \"),_c('form',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showConfig.showNewUserForm),expression:\"showConfig.showNewUserForm\"}],staticClass:\"row\",class:{'sticky': _vm.scrolled && _vm.showConfig.showNewUserForm},attrs:{\"id\":\"new-user\",\"disabled\":_vm.loading},on:{\"submit\":function($event){$event.preventDefault();return _vm.createUser($event)}}},[_c('div',{class:_vm.loading?'icon-loading-small':'icon-add'}),_vm._v(\" \"),_c('div',{staticClass:\"name\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.id),expression:\"newUser.id\"}],attrs:{\"id\":\"newusername\",\"type\":\"text\",\"required\":\"\",\"placeholder\":_vm.t('settings', 'User name'),\"name\":\"username\",\"autocomplete\":\"off\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\",\"pattern\":\"[a-zA-Z0-9 _\\\\.@\\\\-']+\"},domProps:{\"value\":(_vm.newUser.id)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"id\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"displayName\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.displayName),expression:\"newUser.displayName\"}],attrs:{\"id\":\"newdisplayname\",\"type\":\"text\",\"placeholder\":_vm.t('settings', 'Display name'),\"name\":\"displayname\",\"autocomplete\":\"off\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\"},domProps:{\"value\":(_vm.newUser.displayName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"displayName\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"password\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.password),expression:\"newUser.password\"}],attrs:{\"id\":\"newuserpassword\",\"type\":\"password\",\"required\":_vm.newUser.mailAddress==='',\"placeholder\":_vm.t('settings', 'Password'),\"name\":\"password\",\"autocomplete\":\"new-password\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\",\"minlength\":_vm.minPasswordLength},domProps:{\"value\":(_vm.newUser.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"password\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"mailAddress\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.mailAddress),expression:\"newUser.mailAddress\"}],attrs:{\"id\":\"newemail\",\"type\":\"email\",\"required\":_vm.newUser.password==='',\"placeholder\":_vm.t('settings', 'Mail address'),\"name\":\"email\",\"autocomplete\":\"off\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\"},domProps:{\"value\":(_vm.newUser.mailAddress)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"mailAddress\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"groups\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.groups,\"placeholder\":_vm.t('settings', 'Add user in group'),\"label\":\"name\",\"track-by\":\"id\",\"multiple\":true,\"close-on-select\":false},model:{value:(_vm.newUser.groups),callback:function ($$v) {_vm.$set(_vm.newUser, \"groups\", $$v)},expression:\"newUser.groups\"}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings','No result')))])])],1),_vm._v(\" \"),(_vm.subAdminsGroups.length>0)?_c('div',{staticClass:\"subadmins\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.subAdminsGroups,\"placeholder\":_vm.t('settings', 'Set user as admin for'),\"label\":\"name\",\"track-by\":\"id\",\"multiple\":true,\"close-on-select\":false},model:{value:(_vm.newUser.subAdminsGroups),callback:function ($$v) {_vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)},expression:\"newUser.subAdminsGroups\"}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings','No result')))])])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"quota\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.quotaOptions,\"placeholder\":_vm.t('settings', 'Select user quota'),\"label\":\"label\",\"track-by\":\"id\",\"allowEmpty\":false,\"taggable\":true},on:{\"tag\":_vm.validateQuota},model:{value:(_vm.newUser.quota),callback:function ($$v) {_vm.$set(_vm.newUser, \"quota\", $$v)},expression:\"newUser.quota\"}})],1),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"languages\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.languages,\"placeholder\":_vm.t('settings', 'Default language'),\"label\":\"name\",\"track-by\":\"code\",\"allowEmpty\":false,\"group-values\":\"languages\",\"group-label\":\"label\"},model:{value:(_vm.newUser.language),callback:function ($$v) {_vm.$set(_vm.newUser, \"language\", $$v)},expression:\"newUser.language\"}})],1):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('div',{staticClass:\"storageLocation\"}):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend)?_c('div',{staticClass:\"userBackend\"}):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('div',{staticClass:\"lastLogin\"}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"userActions\"},[_c('input',{staticClass:\"button primary icon-checkmark-white has-tooltip\",attrs:{\"type\":\"submit\",\"id\":\"newsubmit\",\"value\":\"\",\"title\":_vm.t('settings', 'Add a new user')}}),_vm._v(\" \"),_c('input',{staticClass:\"button icon-close has-tooltip\",attrs:{\"type\":\"reset\",\"id\":\"newreset\",\"value\":\"\",\"title\":_vm.t('settings', 'Cancel and reset the form')},on:{\"click\":_vm.resetForm}})])]),_vm._v(\" \"),_vm._l((_vm.filteredUsers),function(user,key){return _c('user-row',{key:key,attrs:{\"user\":user,\"settings\":_vm.settings,\"showConfig\":_vm.showConfig,\"groups\":_vm.groups,\"subAdminsGroups\":_vm.subAdminsGroups,\"quotaOptions\":_vm.quotaOptions,\"languages\":_vm.languages}})}),_vm._v(\" \"),_c('infinite-loading',{ref:\"infiniteLoading\",on:{\"infinite\":_vm.infiniteHandler}},[_c('div',{attrs:{\"slot\":\"spinner\"},slot:\"spinner\"},[_c('div',{staticClass:\"users-icon-loading icon-loading\"})]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"no-more\"},slot:\"no-more\"},[_c('div',{staticClass:\"users-list-end\"},[_vm._v(\"— \"+_vm._s(_vm.t('settings', 'no more results'))+\" —\")])]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"no-results\"},slot:\"no-results\"},[_c('div',{attrs:{\"id\":\"emptycontent\"}},[_c('div',{staticClass:\"icon-contacts-dark\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'No users in here')))])])])])],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * vue-local-storage v0.6.0\n * (c) 2017 Alexander Avakov\n * @license MIT\n */\n(function (global, factory) {\n\t true ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.VueLocalStorage = factory());\n}(this, (function () { 'use strict';\n\nvar VueLocalStorage = function VueLocalStorage () {\n this._properties = {};\n this._namespace = '';\n this._isSupported = true;\n};\n\nvar prototypeAccessors = { namespace: {} };\n\n/**\n * Namespace getter.\n *\n * @returns {string}\n */\nprototypeAccessors.namespace.get = function () {\n return this._namespace\n};\n\n/**\n * Namespace setter.\n *\n * @param {string} value\n */\nprototypeAccessors.namespace.set = function (value) {\n this._namespace = value ? (value + \".\") : '';\n};\n\n/**\n * Concatenates localStorage key with namespace prefix.\n *\n * @param {string} lsKey\n * @returns {string}\n * @private\n */\nVueLocalStorage.prototype._getLsKey = function _getLsKey (lsKey) {\n return (\"\" + (this._namespace) + lsKey)\n};\n\n/**\n * Set a value to localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @param {*} rawValue\n * @param {*} type\n * @private\n */\nVueLocalStorage.prototype._lsSet = function _lsSet (lsKey, rawValue, type) {\n var key = this._getLsKey(lsKey);\n var value = type && [Array, Object].includes(type)\n ? JSON.stringify(rawValue)\n : rawValue;\n\n window.localStorage.setItem(key, value);\n};\n\n/**\n * Get value from localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @returns {any}\n * @private\n */\nVueLocalStorage.prototype._lsGet = function _lsGet (lsKey) {\n var key = this._getLsKey(lsKey);\n\n return window.localStorage[key]\n};\n\n/**\n * Get value from localStorage\n *\n * @param {String} lsKey\n * @param {*} defaultValue\n * @param {*} defaultType\n * @returns {*}\n */\nVueLocalStorage.prototype.get = function get (lsKey, defaultValue, defaultType) {\n var this$1 = this;\n if ( defaultValue === void 0 ) defaultValue = null;\n if ( defaultType === void 0 ) defaultType = String;\n\n if (!this._isSupported) {\n return null\n }\n\n if (this._lsGet(lsKey)) {\n var type = defaultType;\n\n for (var key in this$1._properties) {\n if (key === lsKey) {\n type = this$1._properties[key].type;\n break\n }\n }\n\n return this._process(type, this._lsGet(lsKey))\n }\n\n return defaultValue !== null ? defaultValue : null\n};\n\n/**\n * Set localStorage value\n *\n * @param {String} lsKey\n * @param {*} value\n * @returns {*}\n */\nVueLocalStorage.prototype.set = function set (lsKey, value) {\n var this$1 = this;\n\n if (!this._isSupported) {\n return null\n }\n\n for (var key in this$1._properties) {\n var type = this$1._properties[key].type;\n\n if ((key === lsKey)) {\n this$1._lsSet(lsKey, value, type);\n\n return value\n }\n }\n\n this._lsSet(lsKey, value);\n\n return value\n};\n\n/**\n * Remove value from localStorage\n *\n * @param {String} lsKey\n */\nVueLocalStorage.prototype.remove = function remove (lsKey) {\n if (!this._isSupported) {\n return null\n }\n\n return window.localStorage.removeItem(lsKey)\n};\n\n/**\n * Add new property to localStorage\n *\n * @param {String} key\n * @param {function} type\n * @param {*} defaultValue\n */\nVueLocalStorage.prototype.addProperty = function addProperty (key, type, defaultValue) {\n if ( defaultValue === void 0 ) defaultValue = undefined;\n\n type = type || String;\n\n this._properties[key] = { type: type };\n\n if (!this._lsGet(key) && defaultValue !== null) {\n this._lsSet(key, defaultValue, type);\n }\n};\n\n/**\n * Process the value before return it from localStorage\n *\n * @param {String} type\n * @param {*} value\n * @returns {*}\n * @private\n */\nVueLocalStorage.prototype._process = function _process (type, value) {\n switch (type) {\n case Boolean:\n return value === 'true'\n case Number:\n return parseFloat(value)\n case Array:\n try {\n var array = JSON.parse(value);\n\n return Array.isArray(array) ? array : []\n } catch (e) {\n return []\n }\n case Object:\n try {\n return JSON.parse(value)\n } catch (e) {\n return {}\n }\n default:\n return value\n }\n};\n\nObject.defineProperties( VueLocalStorage.prototype, prototypeAccessors );\n\nvar vueLocalStorage = new VueLocalStorage();\n\nvar index = {\n /**\n * Install vue-local-storage plugin\n *\n * @param {Vue} Vue\n * @param {Object} options\n */\n install: function (Vue, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof process !== 'undefined' &&\n (\n process.server ||\n process.SERVER_BUILD ||\n (Object({\"NODE_ENV\":\"production\"}) && Object({\"NODE_ENV\":\"production\"}).VUE_ENV === 'server')\n )\n ) {\n return\n }\n\n var isSupported = true;\n\n try {\n var test = '__vue-localstorage-test__';\n\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n } catch (e) {\n isSupported = false;\n vueLocalStorage._isSupported = false;\n\n console.error('Local storage is not supported');\n }\n\n var name = options.name || 'localStorage';\n var bind = options.bind;\n\n if (options.namespace) {\n vueLocalStorage.namespace = options.namespace;\n }\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n var this$1 = this;\n\n if (!isSupported) {\n return\n }\n\n if (this.$options[name]) {\n Object.keys(this.$options[name]).forEach(function (key) {\n var config = this$1.$options[name][key];\n var ref = [config.type, config.default];\n var type = ref[0];\n var defaultValue = ref[1];\n\n vueLocalStorage.addProperty(key, type, defaultValue);\n\n var existingProp = Object.getOwnPropertyDescriptor(vueLocalStorage, key);\n\n if (!existingProp) {\n var prop = {\n get: function () { return Vue.localStorage.get(key, defaultValue); },\n set: function (val) { return Vue.localStorage.set(key, val); },\n configurable: true\n };\n\n Object.defineProperty(vueLocalStorage, key, prop);\n Vue.util.defineReactive(vueLocalStorage, key, defaultValue);\n } else if (!Vue.config.silent) {\n console.log((key + \": is already defined and will be reused\"));\n }\n\n if ((bind || config.bind) && config.bind !== false) {\n this$1.$options.computed = this$1.$options.computed || {};\n\n if (!this$1.$options.computed[key]) {\n this$1.$options.computed[key] = {\n get: function () { return Vue.localStorage[key]; },\n set: function (val) { Vue.localStorage[key] = val; }\n };\n }\n }\n });\n }\n }\n });\n\n Vue[name] = vueLocalStorage;\n Vue.prototype[(\"$\" + name)] = vueLocalStorage;\n }\n};\n\nreturn index;\n\n})));\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(47);\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\nvar bind = __webpack_require__(18);\nvar Axios = __webpack_require__(49);\nvar defaults = __webpack_require__(7);\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = __webpack_require__(22);\naxios.CancelToken = __webpack_require__(63);\naxios.isCancel = __webpack_require__(21);\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = __webpack_require__(64);\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports) {\n\n/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar defaults = __webpack_require__(7);\nvar utils = __webpack_require__(0);\nvar InterceptorManager = __webpack_require__(58);\nvar dispatchRequest = __webpack_require__(59);\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createError = __webpack_require__(20);\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\nvar transformData = __webpack_require__(60);\nvar isCancel = __webpack_require__(21);\nvar defaults = __webpack_require__(7);\nvar isAbsoluteURL = __webpack_require__(61);\nvar combineURLs = __webpack_require__(62);\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar Cancel = __webpack_require__(22);\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('app-navigation',{attrs:{\"menu\":_vm.menu}},[_c('template',{slot:\"settings-content\"},[_c('div',[_c('p',[_vm._v(_vm._s(_vm.t('settings', 'Default quota :')))]),_vm._v(\" \"),_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.defaultQuota,\"options\":_vm.quotaOptions,\"tag-placeholder\":\"create\",\"placeholder\":_vm.t('settings', 'Select default quota'),\"label\":\"label\",\"track-by\":\"id\",\"allowEmpty\":false,\"taggable\":true},on:{\"tag\":_vm.validateQuota,\"input\":_vm.setDefaultQuota}})],1),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showLanguages),expression:\"showLanguages\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showLanguages\"},domProps:{\"checked\":_vm.showLanguages,\"checked\":Array.isArray(_vm.showLanguages)?_vm._i(_vm.showLanguages,null)>-1:(_vm.showLanguages)},on:{\"change\":function($event){var $$a=_vm.showLanguages,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showLanguages=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showLanguages=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showLanguages=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showLanguages\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show Languages')))])]),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showLastLogin),expression:\"showLastLogin\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showLastLogin\"},domProps:{\"checked\":_vm.showLastLogin,\"checked\":Array.isArray(_vm.showLastLogin)?_vm._i(_vm.showLastLogin,null)>-1:(_vm.showLastLogin)},on:{\"change\":function($event){var $$a=_vm.showLastLogin,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showLastLogin=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showLastLogin=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showLastLogin=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showLastLogin\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show last login')))])]),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showUserBackend),expression:\"showUserBackend\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showUserBackend\"},domProps:{\"checked\":_vm.showUserBackend,\"checked\":Array.isArray(_vm.showUserBackend)?_vm._i(_vm.showUserBackend,null)>-1:(_vm.showUserBackend)},on:{\"change\":function($event){var $$a=_vm.showUserBackend,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showUserBackend=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showUserBackend=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showUserBackend=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showUserBackend\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show user backend')))])]),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showStoragePath),expression:\"showStoragePath\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showStoragePath\"},domProps:{\"checked\":_vm.showStoragePath,\"checked\":Array.isArray(_vm.showStoragePath)?_vm._i(_vm.showStoragePath,null)>-1:(_vm.showStoragePath)},on:{\"change\":function($event){var $$a=_vm.showStoragePath,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showStoragePath=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showStoragePath=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showStoragePath=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showStoragePath\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show storage path')))])])])],2),_vm._v(\" \"),_c('user-list',{attrs:{\"users\":_vm.users,\"showConfig\":_vm.showConfig,\"selectedGroup\":_vm.selectedGroup}})],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 66 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vuex__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__users__ = __webpack_require__(68);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__settings__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__oc__ = __webpack_require__(70);\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_1_vuex__[\"a\" /* default */]);\n\nvar debug = \"production\" !== 'production';\n\nvar mutations = {\n\tAPI_FAILURE: function API_FAILURE(state, error) {\n\t\tconsole.log(state, error);\n\t\tOC.Notification.showTemporary(t('settings', 'An error occured during the request. Unable to proceed.'));\n\t}\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (new __WEBPACK_IMPORTED_MODULE_1_vuex__[\"a\" /* default */].Store({\n\tmodules: {\n\t\tusers: __WEBPACK_IMPORTED_MODULE_2__users__[\"a\" /* default */],\n\t\tsettings: __WEBPACK_IMPORTED_MODULE_3__settings__[\"a\" /* default */],\n\t\toc: __WEBPACK_IMPORTED_MODULE_4__oc__[\"a\" /* default */]\n\t},\n\tstrict: debug,\n\n\tmutations: mutations\n}));\n\n/***/ }),\n/* 67 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export Store */\n/* unused harmony export install */\n/* unused harmony export mapState */\n/* unused harmony export mapMutations */\n/* unused harmony export mapGetters */\n/* unused harmony export mapActions */\n/* unused harmony export createNamespacedHelpers */\n/**\n * vuex v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\nvar applyMixin = function (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n};\n\nvar devtoolHook =\n typeof window !== 'undefined' &&\n window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array<Object>} cache\n * @return {*}\n */\n\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n this._children = Object.create(null);\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors$1 = { namespaced: { configurable: true } };\n\nprototypeAccessors$1.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors$1 );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if (false) {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n if (!parent.getChild(key).runtime) { return }\n\n parent.removeChild(key);\n};\n\nfunction update (path, targetModule, newModule) {\n if (false) {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if (false) {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if (false) {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"Store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n var state = options.state; if ( state === void 0 ) state = {};\n if (typeof state === 'function') {\n state = state() || {};\n }\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n if (Vue.config.devtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors = { state: { configurable: true } };\n\nprototypeAccessors.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors.state.set = function (v) {\n if (false) {\n assert(false, \"Use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if (false) {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n this._subscribers.forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n false\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if (false) {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n this._actionSubscribers.forEach(function (sub) { return sub(action, this$1.state); });\n\n return entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload)\n};\n\nStore.prototype.subscribe = function subscribe (fn) {\n return genericSubscribe(fn, this._subscribers)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn) {\n return genericSubscribe(fn, this._actionSubscribers)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if (false) {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if (false) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if (false) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors );\n\nfunction genericSubscribe (fn, subs) {\n if (subs.indexOf(fn) < 0) {\n subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n computed[key] = function () { return fn(store); };\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (false) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (false) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n var gettersProxy = {};\n\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n\n return gettersProxy\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload, cb) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload, cb);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if (false) {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if (false) {\n assert(store._committing, \"Do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.length\n ? path.reduce(function (state, key) { return state[key]; }, state)\n : state\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if (false) {\n assert(typeof type === 'string', (\"Expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if (false) {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if (false) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\nfunction normalizeMap (map) {\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if (false) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\nvar index_esm = {\n Store: Store,\n install: install,\n version: '3.0.1',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (index_esm);\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__api__ = __webpack_require__(4);\n\n\nvar orderGroups = function orderGroups(groups, orderBy) {\n\t/* const SORT_USERCOUNT = 1;\n * const SORT_GROUPNAME = 2;\n * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n */\n\tif (orderBy === 1) {\n\t\treturn groups.sort(function (a, b) {\n\t\t\treturn a.usercount < b.usercount;\n\t\t});\n\t} else {\n\t\treturn groups.sort(function (a, b) {\n\t\t\treturn a.name.localeCompare(b.name);\n\t\t});\n\t}\n};\n\nvar state = {\n\tusers: [],\n\tgroups: [],\n\torderBy: 1,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tuserCount: 0\n};\n\nvar mutations = {\n\tappendUsers: function appendUsers(state, usersObj) {\n\t\t// convert obj to array\n\t\tvar users = state.users.concat(Object.keys(usersObj).map(function (userid) {\n\t\t\treturn usersObj[userid];\n\t\t}));\n\t\tstate.usersOffset += state.usersLimit;\n\t\tstate.users = users;\n\t},\n\tsetPasswordPolicyMinLength: function setPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length !== '' ? length : 0;\n\t},\n\tinitGroups: function initGroups(state, _ref) {\n\t\tvar groups = _ref.groups,\n\t\t orderBy = _ref.orderBy,\n\t\t userCount = _ref.userCount;\n\n\t\tstate.groups = groups;\n\t\tstate.orderBy = orderBy;\n\t\tstate.userCount = userCount;\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t},\n\taddGroup: function addGroup(state, gid) {\n\t\ttry {\n\t\t\tstate.groups.push({\n\t\t\t\tid: gid,\n\t\t\t\tname: gid,\n\t\t\t\tusercount: 0 // user will be added after the creation\n\t\t\t});\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t\t} catch (e) {\n\t\t\tconsole.log('Can\\'t create group', e);\n\t\t}\n\t},\n\tremoveGroup: function removeGroup(state, gid) {\n\t\tvar groupIndex = state.groups.findIndex(function (groupSearch) {\n\t\t\treturn groupSearch.id == gid;\n\t\t});\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1);\n\t\t}\n\t},\n\taddUserGroup: function addUserGroup(state, _ref2) {\n\t\tvar userid = _ref2.userid,\n\t\t gid = _ref2.gid;\n\n\t\t// this should not be needed as it would means the user contains a group\n\t\t// the server database doesn't have.\n\t\tvar group = state.groups.find(function (groupSearch) {\n\t\t\treturn groupSearch.id == gid;\n\t\t});\n\t\tif (group) {\n\t\t\tgroup.usercount++; // increase count\n\t\t}\n\t\tvar groups = state.users.find(function (user) {\n\t\t\treturn user.id == userid;\n\t\t}).groups;\n\t\tgroups.push(gid);\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t},\n\tremoveUserGroup: function removeUserGroup(state, _ref3) {\n\t\tvar userid = _ref3.userid,\n\t\t gid = _ref3.gid;\n\n\t\t// this should not be needed as it would means the user contains a group\n\t\t// the server database doesn't have.\n\t\tvar group = state.groups.find(function (groupSearch) {\n\t\t\treturn groupSearch.id == gid;\n\t\t});\n\t\tif (group) {\n\t\t\tgroup.usercount--; // lower count\n\t\t}\n\t\tvar groups = state.users.find(function (user) {\n\t\t\treturn user.id == userid;\n\t\t}).groups;\n\t\tgroups.splice(groups.indexOf(gid), 1);\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t},\n\taddUserSubAdmin: function addUserSubAdmin(state, _ref4) {\n\t\tvar userid = _ref4.userid,\n\t\t gid = _ref4.gid;\n\n\t\tvar groups = state.users.find(function (user) {\n\t\t\treturn user.id == userid;\n\t\t}).subadmin;\n\t\tgroups.push(gid);\n\t},\n\tremoveUserSubAdmin: function removeUserSubAdmin(state, _ref5) {\n\t\tvar userid = _ref5.userid,\n\t\t gid = _ref5.gid;\n\n\t\tvar groups = state.users.find(function (user) {\n\t\t\treturn user.id == userid;\n\t\t}).subadmin;\n\t\tgroups.splice(groups.indexOf(gid), 1);\n\t},\n\tdeleteUser: function deleteUser(state, userid) {\n\t\tvar userIndex = state.users.findIndex(function (user) {\n\t\t\treturn user.id == userid;\n\t\t});\n\t\tstate.users.splice(userIndex, 1);\n\t},\n\taddUserData: function addUserData(state, response) {\n\t\tstate.users.push(response.data.ocs.data);\n\t},\n\tenableDisableUser: function enableDisableUser(state, _ref6) {\n\t\tvar userid = _ref6.userid,\n\t\t enabled = _ref6.enabled;\n\n\t\tstate.users.find(function (user) {\n\t\t\treturn user.id == userid;\n\t\t}).enabled = enabled;\n\t\t// increment or not\n\t\tstate.groups.find(function (group) {\n\t\t\treturn group.id == 'disabled';\n\t\t}).usercount += enabled ? -1 : 1;\n\t\tstate.userCount += enabled ? 1 : -1;\n\t\tconsole.log(enabled);\n\t},\n\tsetUserData: function setUserData(state, _ref7) {\n\t\tvar userid = _ref7.userid,\n\t\t key = _ref7.key,\n\t\t value = _ref7.value;\n\n\t\tif (key === 'quota') {\n\t\t\tvar humanValue = OC.Util.computerFileSize(value);\n\t\t\tstate.users.find(function (user) {\n\t\t\t\treturn user.id == userid;\n\t\t\t})[key][key] = humanValue ? humanValue : value;\n\t\t} else {\n\t\t\tstate.users.find(function (user) {\n\t\t\t\treturn user.id == userid;\n\t\t\t})[key] = value;\n\t\t}\n\t},\n\n\n\t/**\n * Reset users list\n */\n\tresetUsers: function resetUsers(state) {\n\t\tstate.users = [];\n\t\tstate.usersOffset = 0;\n\t}\n};\n\nvar getters = {\n\tgetUsers: function getUsers(state) {\n\t\treturn state.users;\n\t},\n\tgetGroups: function getGroups(state) {\n\t\treturn state.groups;\n\t},\n\tgetPasswordPolicyMinLength: function getPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength;\n\t},\n\tgetUsersOffset: function getUsersOffset(state) {\n\t\treturn state.usersOffset;\n\t},\n\tgetUsersLimit: function getUsersLimit(state) {\n\t\treturn state.usersLimit;\n\t},\n\tgetUserCount: function getUserCount(state) {\n\t\treturn state.userCount;\n\t}\n};\n\nvar actions = {\n\n\t/**\n * Get all users with full details\n * \n * @param {Object} context\n * @param {Object} options\n * @param {int} options.offset List offset to request\n * @param {int} options.limit List number to return from offset\n * @param {string} options.search Search amongst users\n * @param {string} options.group Get users from group\n * @returns {Promise}\n */\n\tgetUsers: function getUsers(context, _ref8) {\n\t\tvar offset = _ref8.offset,\n\t\t limit = _ref8.limit,\n\t\t search = _ref8.search,\n\t\t group = _ref8.group;\n\n\t\tsearch = typeof search === 'string' ? search : '';\n\t\tgroup = typeof group === 'string' ? group : '';\n\t\tif (group !== '') {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].get(OC.linkToOCS('cloud/groups/' + group + '/users/details?offset=' + offset + '&limit=' + limit + '&search=' + search, 2)).then(function (response) {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}).catch(function (error) {\n\t\t\t\treturn context.commit('API_FAILURE', error);\n\t\t\t});\n\t\t}\n\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].get(OC.linkToOCS('cloud/users/details?offset=' + offset + '&limit=' + limit + '&search=' + search, 2)).then(function (response) {\n\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', error);\n\t\t});\n\t},\n\n\n\t/**\n * Get all users with full details\n * \n * @param {Object} context\n * @param {Object} options\n * @param {int} options.offset List offset to request\n * @param {int} options.limit List number to return from offset\n * @returns {Promise}\n */\n\tgetUsersFromList: function getUsersFromList(context, _ref9) {\n\t\tvar offset = _ref9.offset,\n\t\t limit = _ref9.limit,\n\t\t search = _ref9.search;\n\n\t\tsearch = typeof search === 'string' ? search : '';\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].get(OC.linkToOCS('cloud/users/details?offset=' + offset + '&limit=' + limit + '&search=' + search, 2)).then(function (response) {\n\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', error);\n\t\t});\n\t},\n\n\n\t/**\n * Get all users with full details from a groupid\n * \n * @param {Object} context\n * @param {Object} options\n * @param {int} options.offset List offset to request\n * @param {int} options.limit List number to return from offset\n * @returns {Promise}\n */\n\tgetUsersFromGroup: function getUsersFromGroup(context, _ref10) {\n\t\tvar groupid = _ref10.groupid,\n\t\t offset = _ref10.offset,\n\t\t limit = _ref10.limit;\n\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].get(OC.linkToOCS('cloud/users/' + groupid + '/details?offset=' + offset + '&limit=' + limit, 2)).then(function (response) {\n\t\t\treturn context.commit('getUsersFromList', response.data.ocs.data.users);\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', error);\n\t\t});\n\t},\n\tgetPasswordPolicyMinLength: function getPasswordPolicyMinLength(context) {\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].get(OC.linkToOCS('apps/provisioning_api/api/v1/config/apps/password_policy/minLength', 2)).then(function (response) {\n\t\t\treturn context.commit('setPasswordPolicyMinLength', response.data.ocs.data.data);\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', error);\n\t\t});\n\t},\n\n\n\t/**\n * Add group\n * \n * @param {Object} context\n * @param {string} gid Group id\n * @returns {Promise}\n */\n\taddGroup: function addGroup(context, gid) {\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].post(OC.linkToOCS('cloud/groups', 2), { groupid: gid }).then(function (response) {\n\t\t\t\treturn context.commit('addGroup', gid);\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t});\n\t},\n\n\n\t/**\n * Remove group\n * \n * @param {Object} context\n * @param {string} gid Group id\n * @returns {Promise}\n */\n\tremoveGroup: function removeGroup(context, gid) {\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].delete(OC.linkToOCS('cloud/groups/' + gid, 2)).then(function (response) {\n\t\t\t\treturn context.commit('removeGroup', gid);\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { gid: gid, error: error });\n\t\t});\n\t},\n\n\n\t/**\n * Add user to group\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.gid Group id\n * @returns {Promise}\n */\n\taddUserGroup: function addUserGroup(context, _ref11) {\n\t\tvar userid = _ref11.userid,\n\t\t gid = _ref11.gid;\n\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].post(OC.linkToOCS('cloud/users/' + userid + '/groups', 2), { groupid: gid }).then(function (response) {\n\t\t\t\treturn context.commit('addUserGroup', { userid: userid, gid: gid });\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t});\n\t},\n\n\n\t/**\n * Remove user from group\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.gid Group id\n * @returns {Promise}\n */\n\tremoveUserGroup: function removeUserGroup(context, _ref12) {\n\t\tvar userid = _ref12.userid,\n\t\t gid = _ref12.gid;\n\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].delete(OC.linkToOCS('cloud/users/' + userid + '/groups', 2), { groupid: gid }).then(function (response) {\n\t\t\t\treturn context.commit('removeUserGroup', { userid: userid, gid: gid });\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t});\n\t},\n\n\n\t/**\n * Add user to group admin\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.gid Group id\n * @returns {Promise}\n */\n\taddUserSubAdmin: function addUserSubAdmin(context, _ref13) {\n\t\tvar userid = _ref13.userid,\n\t\t gid = _ref13.gid;\n\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].post(OC.linkToOCS('cloud/users/' + userid + '/subadmins', 2), { groupid: gid }).then(function (response) {\n\t\t\t\treturn context.commit('addUserSubAdmin', { userid: userid, gid: gid });\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t});\n\t},\n\n\n\t/**\n * Remove user from group admin\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.gid Group id\n * @returns {Promise}\n */\n\tremoveUserSubAdmin: function removeUserSubAdmin(context, _ref14) {\n\t\tvar userid = _ref14.userid,\n\t\t gid = _ref14.gid;\n\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].delete(OC.linkToOCS('cloud/users/' + userid + '/subadmins', 2), { groupid: gid }).then(function (response) {\n\t\t\t\treturn context.commit('removeUserSubAdmin', { userid: userid, gid: gid });\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t});\n\t},\n\n\n\t/**\n * Delete a user\n * \n * @param {Object} context\n * @param {string} userid User id \n * @returns {Promise}\n */\n\tdeleteUser: function deleteUser(context, _ref15) {\n\t\tvar userid = _ref15.userid;\n\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].delete(OC.linkToOCS('cloud/users/' + userid, 2)).then(function (response) {\n\t\t\t\treturn context.commit('deleteUser', userid);\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t});\n\t},\n\n\n\t/**\n * Add a user\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.password User password \n * @param {string} options.email User email\n * @param {string} options.groups User groups\n * @param {string} options.subadmin User subadmin groups\n * @param {string} options.quota User email\n * @returns {Promise}\n */\n\taddUser: function addUser(_ref16, _ref17) {\n\t\tvar context = _ref16.context,\n\t\t dispatch = _ref16.dispatch;\n\t\tvar userid = _ref17.userid,\n\t\t password = _ref17.password,\n\t\t email = _ref17.email,\n\t\t groups = _ref17.groups,\n\t\t subadmin = _ref17.subadmin,\n\t\t quota = _ref17.quota,\n\t\t language = _ref17.language;\n\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].post(OC.linkToOCS('cloud/users', 2), { userid: userid, password: password, email: email, groups: groups, subadmin: subadmin, quota: quota, language: language }).then(function (response) {\n\t\t\t\treturn dispatch('addUserData', userid);\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t});\n\t},\n\n\n\t/**\n * Get user data and commit addition\n * \n * @param {Object} context\n * @param {string} userid User id \n * @returns {Promise}\n */\n\taddUserData: function addUserData(context, userid) {\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].get(OC.linkToOCS('cloud/users/' + userid, 2)).then(function (response) {\n\t\t\t\treturn context.commit('addUserData', response);\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t});\n\t},\n\n\n\t/** Enable or disable user \n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {boolean} options.enabled User enablement status\n * @returns {Promise}\n */\n\tenableDisableUser: function enableDisableUser(context, _ref18) {\n\t\tvar userid = _ref18.userid,\n\t\t _ref18$enabled = _ref18.enabled,\n\t\t enabled = _ref18$enabled === undefined ? true : _ref18$enabled;\n\n\t\tvar userStatus = enabled ? 'enable' : 'disable';\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].put(OC.linkToOCS('cloud/users/' + userid + '/' + userStatus, 2)).then(function (response) {\n\t\t\t\treturn context.commit('enableDisableUser', { userid: userid, enabled: enabled });\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t});\n\t},\n\n\n\t/**\n * Edit user data\n * \n * @param {Object} context \n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.key User field to edit\n * @param {string} options.value Value of the change\n * @returns {Promise}\n */\n\tsetUserData: function setUserData(context, _ref19) {\n\t\tvar userid = _ref19.userid,\n\t\t key = _ref19.key,\n\t\t value = _ref19.value;\n\n\t\tvar allowedEmpty = ['email', 'displayname'];\n\t\tif (['email', 'language', 'quota', 'displayname', 'password'].indexOf(key) !== -1) {\n\t\t\t// We allow empty email or displayname\n\t\t\tif (typeof value === 'string' && (allowedEmpty.indexOf(key) === -1 && value.length > 0 || allowedEmpty.indexOf(key) !== -1)) {\n\t\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].put(OC.linkToOCS('cloud/users/' + userid, 2), { key: key, value: value }).then(function (response) {\n\t\t\t\t\t\treturn context.commit('setUserData', { userid: userid, key: key, value: value });\n\t\t\t\t\t}).catch(function (error) {\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t});\n\t\t\t\t}).catch(function (error) {\n\t\t\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn Promise.reject(new Error('Invalid request data'));\n\t}\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({ state: state, mutations: mutations, getters: getters, actions: actions });\n\n/***/ }),\n/* 69 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__api__ = __webpack_require__(4);\n\n\nvar state = {\n\tserverData: {}\n};\nvar mutations = {\n\tsetServerData: function setServerData(state, data) {\n\t\tstate.serverData = data;\n\t}\n};\nvar getters = {\n\tgetServerData: function getServerData(state) {\n\t\treturn state.serverData;\n\t}\n};\nvar actions = {};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({ state: state, mutations: mutations, getters: getters, actions: actions });\n\n/***/ }),\n/* 70 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__api__ = __webpack_require__(4);\n\n\nvar state = {};\nvar mutations = {};\nvar getters = {};\nvar actions = {\n\t\t\t\t/**\n * Set application config in database\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.app Application name\n * @param {boolean} options.key Config key\n * @param {boolean} options.value Value to set\n * @returns{Promise}\n */\n\t\t\t\tsetAppConfig: function setAppConfig(context, _ref) {\n\t\t\t\t\t\t\t\tvar app = _ref.app,\n\t\t\t\t\t\t\t\t key = _ref.key,\n\t\t\t\t\t\t\t\t value = _ref.value;\n\n\t\t\t\t\t\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].post(OC.linkToOCS('apps/provisioning_api/api/v1/config/apps/' + app + '/' + key, 2), { value: value }).catch(function (error) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}).catch(function (error) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn context.commit('API_FAILURE', { app: app, key: key, value: value, error: error });\n\t\t\t\t\t\t\t\t});;\n\t\t\t\t}\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({ state: state, mutations: mutations, getters: getters, actions: actions });\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// main.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 23);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b8546a71c6ffaf0c9d5e","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/utils.js\n// module id = 0\n// module chunks = 0","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/component-normalizer.js\n// module id = 1\n// module chunks = 0","/*!\n * Vue.js v2.5.16\n * (c) 2014-2018 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// these helpers produces better vm code in JS engines due to their\n// explicitness and function inlining\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value e.g. [object Object]\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : typeof val === 'object'\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert a input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if a attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether the object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it... e.g.\n * PhantomJS 1.x. Technically we don't need this anymore since native bind is\n * now more performant in most browsers, but removing it would be breaking for\n * code that was able to run in PhantomJS 1.x, so this must be kept for\n * backwards compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/)\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/**\n * Return same value\n */\nvar identity = function (_) { return _; };\n\n/**\n * Generate a static keys string from compiler modules.\n */\nfunction genStaticKeys (modules) {\n return modules.reduce(function (keys, m) {\n return keys.concat(m.staticKeys || [])\n }, []).join(',')\n}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured'\n];\n\n/* */\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n})\n\n/* */\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = /[^\\w.$]/;\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = (function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return '<Root>'\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm || {};\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// the current target watcher being evaluated.\n// this is globally unique because there could be only one\n// watcher being evaluated at any time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (_target) {\n if (Dep.target) { targetStack.push(Dep.target); }\n Dep.target = _target;\n}\n\nfunction popTarget () {\n Dep.target = targetStack.pop();\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n vnode.children,\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n var augment = hasProto\n ? protoAugment\n : copyAugment;\n augment(value, arrayMethods, arrayKeys);\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through each property and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment an target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src, keys) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment an target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n if (!getter && arguments.length === 2) {\n val = obj[key];\n }\n var setter = property && property.set;\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n var keys = Object.keys(from);\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (isPlainObject(toVal) && isPlainObject(fromVal)) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n return childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!/^[a-zA-Z][\\w-]*$/.test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'can only contain alphanumeric characters and the hyphen, ' +\n 'and must start with a letter.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def = dirs[key];\n if (typeof def === 'function') {\n dirs[key] = { bind: def, update: def };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n var extendsFrom = child.extends;\n if (extendsFrom) {\n parent = mergeOptions(parent, extendsFrom, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false && isObject(value) && ('@binding' in value))\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n if (!valid) {\n warn(\n \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', ')) +\n \", got \" + (toRawType(value)) + \".\",\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n logError(e, null, 'config.errorHandler');\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n/* globals MessageChannel */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using both microtasks and (macro) tasks.\n// In < 2.4 we used microtasks everywhere, but there are some scenarios where\n// microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690) or even between bubbling of the same\n// event (#6566). However, using (macro) tasks everywhere also has subtle problems\n// when state is changed right before repaint (e.g. #6813, out-in transitions).\n// Here we use microtask by default, but expose a way to force (macro) task when\n// needed (e.g. in event handlers attached by v-on).\nvar microTimerFunc;\nvar macroTimerFunc;\nvar useMacroTask = false;\n\n// Determine (macro) task defer implementation.\n// Technically setImmediate should be the ideal choice, but it's only available\n// in IE. The only polyfill that consistently queues the callback after all DOM\n// events triggered in the same loop is by using MessageChannel.\n/* istanbul ignore if */\nif (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n macroTimerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else if (typeof MessageChannel !== 'undefined' && (\n isNative(MessageChannel) ||\n // PhantomJS\n MessageChannel.toString() === '[object MessageChannelConstructor]'\n)) {\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = flushCallbacks;\n macroTimerFunc = function () {\n port.postMessage(1);\n };\n} else {\n /* istanbul ignore next */\n macroTimerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\n// Determine microtask defer implementation.\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n microTimerFunc = function () {\n p.then(flushCallbacks);\n // in problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else {\n // fallback to macro\n microTimerFunc = macroTimerFunc;\n}\n\n/**\n * Wrap a function so that if any code inside triggers state change,\n * the changes are queued using a (macro) task instead of a microtask.\n */\nfunction withMacroTask (fn) {\n return fn._withTask || (fn._withTask = function () {\n useMacroTask = true;\n var res = fn.apply(null, arguments);\n useMacroTask = false;\n return res\n })\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n if (useMacroTask) {\n macroTimerFunc();\n } else {\n microTimerFunc();\n }\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n perf.clearMeasures(name);\n };\n }\n}\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) || key.charAt(0) === '_';\n if (!has && !isAllowed) {\n warnNonPresent(target, key);\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n warnNonPresent(target, key);\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n cloned[i].apply(null, arguments$1);\n }\n } else {\n // return handler return value for single handlers\n return fns.apply(null, arguments)\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n vm\n) {\n var name, def, cur, old, event;\n for (name in on) {\n def = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n /* istanbul ignore if */\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur);\n }\n add(event.name, cur, event.once, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor,\n context\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (isDef(factory.contexts)) {\n // already pending\n factory.contexts.push(context);\n } else {\n var contexts = factory.contexts = [context];\n var sync = true;\n\n var forceRender = function () {\n for (var i = 0, l = contexts.length; i < l; i++) {\n contexts[i].$forceUpdate();\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender();\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender();\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (typeof res.then === 'function') {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isDef(res.component) && typeof res.component.then === 'function') {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n setTimeout(function () {\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender();\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n setTimeout(function () {\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn, once) {\n if (once) {\n target.$once(event, fn);\n } else {\n target.$on(event, fn);\n }\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var this$1 = this;\n\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n this$1.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var this$1 = this;\n\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n this$1.$off(event[i], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n if (fn) {\n // specific handler\n var cb;\n var i$1 = cbs.length;\n while (i$1--) {\n cb = cbs[i$1];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i$1, 1);\n break\n }\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n for (var i = 0, l = cbs.length; i < l; i++) {\n try {\n cbs[i].apply(vm, args);\n } catch (e) {\n handleError(e, vm, (\"event handler for \\\"\" + event + \"\\\"\"));\n }\n }\n }\n return vm\n };\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n var slots = {};\n if (!children) {\n return slots\n }\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res\n) {\n res = res || {};\n for (var i = 0; i < fns.length; i++) {\n if (Array.isArray(fns[i])) {\n resolveScopedSlots(fns[i], res);\n } else {\n res[fns[i].key] = fns[i].fn;\n }\n }\n return res\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n if (vm._isMounted) {\n callHook(vm, 'beforeUpdate');\n }\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(\n vm.$el, vnode, hydrating, false /* removeOnly */,\n vm.$options._parentElm,\n vm.$options._refElm\n );\n // no need for the ref nodes after initial patch\n // this prevents keeping a detached DOM tree in memory (#5851)\n vm.$options._parentElm = vm.$options._refElm = null;\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n activeInstance = prevActiveInstance;\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction mountComponent (\n vm,\n el,\n hydrating\n) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n callHook(vm, 'beforeMount');\n\n var updateComponent;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n updateComponent = function () {\n var name = vm._name;\n var id = vm._uid;\n var startTag = \"vue-perf-start:\" + id;\n var endTag = \"vue-perf-end:\" + id;\n\n mark(startTag);\n var vnode = vm._render();\n mark(endTag);\n measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure((\"vue \" + name + \" patch\"), startTag, endTag);\n };\n } else {\n updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n }\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, null, true /* isRenderWatcher */);\n hydrating = false;\n\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook(vm, 'mounted');\n }\n return vm\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren\n var hasChildren = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n parentVnode.data.scopedSlots || // has new scoped slots\n vm.$scopedSlots !== emptyObject // has old scoped slots\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n\n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (hasChildren) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n try {\n handlers[i].call(vm);\n } catch (e) {\n handleError(e, vm, (hook + \" hook\"));\n }\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\nvar uid$1 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$1; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = function () {};\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var this$1 = this;\n\n var i = this.deps.length;\n while (i--) {\n var dep = this$1.deps[i];\n if (!this$1.newDepIds.has(dep.id)) {\n dep.removeSub(this$1);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var this$1 = this;\n\n var i = this.deps.length;\n while (i--) {\n this$1.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n var this$1 = this;\n\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this$1.deps[i].removeSub(this$1);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive(props, key, value, function () {\n if (vm.$parent && !isUpdatingChildComponent) {\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : userDef;\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : userDef.get\n : noop;\n sharedPropertyDefinition.set = userDef.set\n ? userDef.set\n : noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (methods[key] == null) {\n warn(\n \"Method \\\"\" + key + \"\\\" has an undefined value in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = methods[key] == null ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function (newData) {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n cb.call(vm, watcher.value);\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject).filter(function (key) {\n /* istanbul ignore next */\n return Object.getOwnPropertyDescriptor(inject, key).enumerable\n })\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n } else if (isObject(val)) {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n if (isDef(ret)) {\n (ret)._isVList = true;\n }\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes = scopedSlotFn(props) || fallback;\n } else {\n var slotNodes = this.$slots[name];\n // warn duplicate slot usage\n if (slotNodes) {\n if (process.env.NODE_ENV !== 'production' && slotNodes._rendered) {\n warn(\n \"Duplicate presence of slot \\\"\" + name + \"\\\" found in the same render tree \" +\n \"- this will likely cause render errors.\",\n this\n );\n }\n slotNodes._rendered = true;\n }\n nodes = slotNodes || fallback;\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n if (!(key in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () { return resolveSlots(children, parent); };\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = data.scopedSlots || emptyObject;\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n\n\n\n// Register the component hook to weex native render engine.\n// The hook will be triggered by native, not javascript.\n\n\n// Updates the state of the component to weex native render engine.\n\n/* */\n\n// https://github.com/Hanks10100/weex-native-directive/tree/master/component\n\n// listening on native callback\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (\n vnode,\n hydrating,\n parentElm,\n refElm\n ) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance,\n parentElm,\n refElm\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor, context);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n // Weex specific: invoke recycle-list optimized @render function for\n // extracting cell-slot template.\n // https://github.com/Hanks10100/weex-native-directive/tree/master/component\n /* istanbul ignore if */\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent, // activeInstance in lifecycle state\n parentElm,\n refElm\n) {\n var options = {\n _isComponent: true,\n parent: parent,\n _parentVnode: vnode,\n _parentElm: parentElm || null,\n _refElm: refElm || null\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n hooks[key] = componentVNodeHooks[key];\n }\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input';(data.props || (data.props = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n if (isDef(on[event])) {\n on[event] = [data.model.callback].concat(on[event]);\n } else {\n on[event] = data.model.callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if (isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n // reset _rendered flag on slots for duplicate slot check\n if (process.env.NODE_ENV !== 'production') {\n for (var key in vm.$slots) {\n // $flow-disable-line\n vm.$slots[key]._rendered = false;\n }\n }\n\n if (_parentVnode) {\n vm.$scopedSlots = _parentVnode.data.scopedSlots || emptyObject;\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n if (vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook(vm, 'created');\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n opts._parentElm = options._parentElm;\n opts._refElm = options._refElm;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var extended = Ctor.extendOptions;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = dedupe(latest[key], extended[key], sealed[key]);\n }\n }\n return modified\n}\n\nfunction dedupe (latest, extended, sealed) {\n // compare latest and sealed to ensure lifecycle hooks won't be duplicated\n // between merges\n if (Array.isArray(latest)) {\n var res = [];\n sealed = Array.isArray(sealed) ? sealed : [sealed];\n extended = Array.isArray(extended) ? extended : [extended];\n for (var i = 0; i < latest.length; i++) {\n // push original options and not sealed options to exclude duplicated options\n if (extended.indexOf(latest[i]) >= 0 || sealed.indexOf(latest[i]) < 0) {\n res.push(latest[i]);\n }\n }\n return res\n } else {\n return latest\n }\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n var this$1 = this;\n\n for (var key in this$1.cache) {\n pruneCacheEntry(this$1.cache, key, this$1.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n}\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n}\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.5.16';\n\n/* */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n return (\n (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video')\n )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isBooleanAttr = makeMap(\n 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,translate,' +\n 'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n return val == null || val === false\n};\n\n/* */\n\nfunction genClassForVnode (vnode) {\n var data = vnode.data;\n var parentNode = vnode;\n var childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n while (isDef(parentNode = parentNode.parent)) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class)\n ? [child.class, parent.class]\n : parent.class\n }\n}\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n 'html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n true\n);\n\nvar isPreTag = function (tag) { return tag === 'pre'; };\n\nvar isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n if (isSVG(tag)) {\n return 'svg'\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math'\n }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true\n }\n if (isReservedTag(tag)) {\n return false\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag]\n }\n var el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] = (\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement\n ))\n } else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/* */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Cannot find element: ' + el\n );\n return document.createElement('div')\n }\n return selected\n } else {\n return el\n }\n}\n\n/* */\n\nfunction createElement$1 (tagName, vnode) {\n var elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode (node) {\n return node.parentNode\n}\n\nfunction nextSibling (node) {\n return node.nextSibling\n}\n\nfunction tagName (node) {\n return node.tagName\n}\n\nfunction setTextContent (node, text) {\n node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\n\nvar nodeOps = Object.freeze({\n\tcreateElement: createElement$1,\n\tcreateElementNS: createElementNS,\n\tcreateTextNode: createTextNode,\n\tcreateComment: createComment,\n\tinsertBefore: insertBefore,\n\tremoveChild: removeChild,\n\tappendChild: appendChild,\n\tparentNode: parentNode,\n\tnextSibling: nextSibling,\n\ttagName: tagName,\n\tsetTextContent: setTextContent,\n\tsetStyleScope: setStyleScope\n});\n\n/* */\n\nvar ref = {\n create: function create (_, vnode) {\n registerRef(vnode);\n },\n update: function update (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy: function destroy (vnode) {\n registerRef(vnode, true);\n }\n}\n\nfunction registerRef (vnode, isRemoval) {\n var key = vnode.data.ref;\n if (!isDef(key)) { return }\n\n var vm = vnode.context;\n var ref = vnode.componentInstance || vnode.elm;\n var refs = vm.$refs;\n if (isRemoval) {\n if (Array.isArray(refs[key])) {\n remove(refs[key], ref);\n } else if (refs[key] === ref) {\n refs[key] = undefined;\n }\n } else {\n if (vnode.data.refInFor) {\n if (!Array.isArray(refs[key])) {\n refs[key] = [ref];\n } else if (refs[key].indexOf(ref) < 0) {\n // $flow-disable-line\n refs[key].push(ref);\n }\n } else {\n refs[key] = ref;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n return (\n a.key === b.key && (\n (\n a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)\n ) || (\n isTrue(a.isAsyncPlaceholder) &&\n a.asyncFactory === b.asyncFactory &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n}\n\nfunction sameInputType (a, b) {\n if (a.tag !== 'input') { return true }\n var i;\n var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n var i, key;\n var map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key)) { map[key] = i; }\n }\n return map\n}\n\nfunction createPatchFunction (backend) {\n var i, j;\n var cbs = {};\n\n var modules = backend.modules;\n var nodeOps = backend.nodeOps;\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n\n function emptyNodeAt (elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n }\n\n function createRmCb (childElm, listeners) {\n function remove () {\n if (--remove.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove.listeners = listeners;\n return remove\n }\n\n function removeNode (el) {\n var parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n\n function isUnknownElement$$1 (vnode, inVPre) {\n return (\n !inVPre &&\n !vnode.ns &&\n !(\n config.ignoredElements.length &&\n config.ignoredElements.some(function (ignore) {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag\n })\n ) &&\n config.isUnknownElement(vnode.tag)\n )\n }\n\n var creatingElmInVPre = 0;\n\n function createElm (\n vnode,\n insertedVnodeQueue,\n parentElm,\n refElm,\n nested,\n ownerArray,\n index\n ) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return\n }\n\n var data = vnode.data;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n if (process.env.NODE_ENV !== 'production') {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n warn(\n 'Unknown custom element: <' + tag + '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.',\n vnode.context\n );\n }\n }\n\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n\n /* istanbul ignore if */\n {\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n }\n\n if (process.env.NODE_ENV !== 'production' && data && data.pre) {\n creatingElmInVPre--;\n }\n } else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n } else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n\n function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i = vnode.data;\n if (isDef(i)) {\n var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef(i = i.hook) && isDef(i = i.init)) {\n i(vnode, false /* hydrating */, parentElm, refElm);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true\n }\n }\n }\n\n function initComponent (vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n } else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n\n function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n var innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n\n function insert (parent, elm, ref$$1) {\n if (isDef(parent)) {\n if (isDef(ref$$1)) {\n if (ref$$1.parentNode === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (parentElm, vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by <transition-group>\n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(newCh);\n }\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n } else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue);\n canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue);\n canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) { // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n } else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (oldVnode, vnode, insertedVnodeQueue, removeOnly) {\n if (oldVnode === vnode) {\n return\n }\n\n var elm = vnode.elm = oldVnode.elm;\n\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n } else {\n vnode.isAsyncPlaceholder = true;\n }\n return\n }\n\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n ) {\n vnode.componentInstance = oldVnode.componentInstance;\n return\n }\n\n var i;\n var data = vnode.data;\n if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n i(oldVnode, vnode);\n }\n\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n } else if (isDef(ch)) {\n if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (process.env.NODE_ENV !== 'production') {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly, parentElm, refElm) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n return\n }\n\n var isInitialPatch = false;\n var insertedVnodeQueue = [];\n\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue, parentElm, refElm);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, removeOnly);\n } else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n 'The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n '<p>, or missing <tbody>. Bailing hydration and performing ' +\n 'full client-side render.'\n );\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n // replacing existing element\n var oldElm = oldVnode.elm;\n var parentElm$1 = nodeOps.parentNode(oldElm);\n\n // create new node\n createElm(\n vnode,\n insertedVnodeQueue,\n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm$1,\n nodeOps.nextSibling(oldElm)\n );\n\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n var ancestor = vnode.parent;\n var patchable = isPatchable(vnode);\n while (ancestor) {\n for (var i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n var insert = ancestor.data.hook.insert;\n if (insert.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n insert.fns[i$2]();\n }\n }\n } else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n\n // destroy old node\n if (isDef(parentElm$1)) {\n removeVnodes(parentElm$1, [oldVnode], 0, 0);\n } else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm\n }\n}\n\n/* */\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n}\n\nfunction updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\n\nfunction _update (oldVnode, vnode) {\n var isCreate = oldVnode === emptyNode;\n var isDestroy = vnode === emptyNode;\n var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n var dirsWithInsert = [];\n var dirsWithPostpatch = [];\n\n var key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook$1(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n } else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n callHook$1(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n\n if (dirsWithInsert.length) {\n var callInsert = function () {\n for (var i = 0; i < dirsWithInsert.length; i++) {\n callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n } else {\n callInsert();\n }\n }\n\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n for (var i = 0; i < dirsWithPostpatch.length; i++) {\n callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n dirs,\n vm\n) {\n var res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res\n }\n var i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res\n}\n\nfunction getRawDirName (dir) {\n return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n var fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n } catch (e) {\n handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n }\n }\n}\n\nvar baseModules = [\n ref,\n directives\n]\n\n/* */\n\nfunction updateAttrs (oldVnode, vnode) {\n var opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return\n }\n var key, cur, old;\n var elm = vnode.elm;\n var oldAttrs = oldVnode.data.attrs || {};\n var attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\n\nfunction setAttr (el, key, value) {\n if (el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n } else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. <option disabled>Select one</option>\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for <iframe>,\n // but Flash expects a value of \"true\" when used on <embed> tag\n value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n ? 'true'\n : key;\n el.setAttribute(key, value);\n }\n } else if (isEnumeratedAttr(key)) {\n el.setAttribute(key, isFalsyAttrValue(value) || value === 'false' ? 'false' : 'true');\n } else if (isXlink(key)) {\n if (isFalsyAttrValue(value)) {\n el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n baseSetAttr(el, key, value);\n }\n}\n\nfunction baseSetAttr (el, key, value) {\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // #7138: IE10 & 11 fires input event when setting placeholder on\n // <textarea>... block the first input event and remove the blocker\n // immediately.\n /* istanbul ignore if */\n if (\n isIE && !isIE9 &&\n el.tagName === 'TEXTAREA' &&\n key === 'placeholder' && !el.__ieph\n ) {\n var blocker = function (e) {\n e.stopImmediatePropagation();\n el.removeEventListener('input', blocker);\n };\n el.addEventListener('input', blocker);\n // $flow-disable-line\n el.__ieph = true; /* IE placeholder patched */\n }\n el.setAttribute(key, value);\n }\n}\n\nvar attrs = {\n create: updateAttrs,\n update: updateAttrs\n}\n\n/* */\n\nfunction updateClass (oldVnode, vnode) {\n var el = vnode.elm;\n var data = vnode.data;\n var oldData = oldVnode.data;\n if (\n isUndef(data.staticClass) &&\n isUndef(data.class) && (\n isUndef(oldData) || (\n isUndef(oldData.staticClass) &&\n isUndef(oldData.class)\n )\n )\n ) {\n return\n }\n\n var cls = genClassForVnode(vnode);\n\n // handle transition classes\n var transitionClass = el._transitionClasses;\n if (isDef(transitionClass)) {\n cls = concat(cls, stringifyClass(transitionClass));\n }\n\n // set the class\n if (cls !== el._prevClass) {\n el.setAttribute('class', cls);\n el._prevClass = cls;\n }\n}\n\nvar klass = {\n create: updateClass,\n update: updateClass\n}\n\n/* */\n\nvar validDivisionCharRE = /[\\w).+\\-_$\\]]/;\n\nfunction parseFilters (exp) {\n var inSingle = false;\n var inDouble = false;\n var inTemplateString = false;\n var inRegex = false;\n var curly = 0;\n var square = 0;\n var paren = 0;\n var lastFilterIndex = 0;\n var c, prev, i, expression, filters;\n\n for (i = 0; i < exp.length; i++) {\n prev = c;\n c = exp.charCodeAt(i);\n if (inSingle) {\n if (c === 0x27 && prev !== 0x5C) { inSingle = false; }\n } else if (inDouble) {\n if (c === 0x22 && prev !== 0x5C) { inDouble = false; }\n } else if (inTemplateString) {\n if (c === 0x60 && prev !== 0x5C) { inTemplateString = false; }\n } else if (inRegex) {\n if (c === 0x2f && prev !== 0x5C) { inRegex = false; }\n } else if (\n c === 0x7C && // pipe\n exp.charCodeAt(i + 1) !== 0x7C &&\n exp.charCodeAt(i - 1) !== 0x7C &&\n !curly && !square && !paren\n ) {\n if (expression === undefined) {\n // first filter, end of expression\n lastFilterIndex = i + 1;\n expression = exp.slice(0, i).trim();\n } else {\n pushFilter();\n }\n } else {\n switch (c) {\n case 0x22: inDouble = true; break // \"\n case 0x27: inSingle = true; break // '\n case 0x60: inTemplateString = true; break // `\n case 0x28: paren++; break // (\n case 0x29: paren--; break // )\n case 0x5B: square++; break // [\n case 0x5D: square--; break // ]\n case 0x7B: curly++; break // {\n case 0x7D: curly--; break // }\n }\n if (c === 0x2f) { // /\n var j = i - 1;\n var p = (void 0);\n // find first non-whitespace prev char\n for (; j >= 0; j--) {\n p = exp.charAt(j);\n if (p !== ' ') { break }\n }\n if (!p || !validDivisionCharRE.test(p)) {\n inRegex = true;\n }\n }\n }\n }\n\n if (expression === undefined) {\n expression = exp.slice(0, i).trim();\n } else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n\n function pushFilter () {\n (filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim());\n lastFilterIndex = i + 1;\n }\n\n if (filters) {\n for (i = 0; i < filters.length; i++) {\n expression = wrapFilter(expression, filters[i]);\n }\n }\n\n return expression\n}\n\nfunction wrapFilter (exp, filter) {\n var i = filter.indexOf('(');\n if (i < 0) {\n // _f: resolveFilter\n return (\"_f(\\\"\" + filter + \"\\\")(\" + exp + \")\")\n } else {\n var name = filter.slice(0, i);\n var args = filter.slice(i + 1);\n return (\"_f(\\\"\" + name + \"\\\")(\" + exp + (args !== ')' ? ',' + args : args))\n }\n}\n\n/* */\n\nfunction baseWarn (msg) {\n console.error((\"[Vue compiler]: \" + msg));\n}\n\nfunction pluckModuleFunction (\n modules,\n key\n) {\n return modules\n ? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; })\n : []\n}\n\nfunction addProp (el, name, value) {\n (el.props || (el.props = [])).push({ name: name, value: value });\n el.plain = false;\n}\n\nfunction addAttr (el, name, value) {\n (el.attrs || (el.attrs = [])).push({ name: name, value: value });\n el.plain = false;\n}\n\n// add a raw attr (use this in preTransforms)\nfunction addRawAttr (el, name, value) {\n el.attrsMap[name] = value;\n el.attrsList.push({ name: name, value: value });\n}\n\nfunction addDirective (\n el,\n name,\n rawName,\n value,\n arg,\n modifiers\n) {\n (el.directives || (el.directives = [])).push({ name: name, rawName: rawName, value: value, arg: arg, modifiers: modifiers });\n el.plain = false;\n}\n\nfunction addHandler (\n el,\n name,\n value,\n modifiers,\n important,\n warn\n) {\n modifiers = modifiers || emptyObject;\n // warn prevent and passive modifier\n /* istanbul ignore if */\n if (\n process.env.NODE_ENV !== 'production' && warn &&\n modifiers.prevent && modifiers.passive\n ) {\n warn(\n 'passive and prevent can\\'t be used together. ' +\n 'Passive handler can\\'t prevent default event.'\n );\n }\n\n // check capture modifier\n if (modifiers.capture) {\n delete modifiers.capture;\n name = '!' + name; // mark the event as captured\n }\n if (modifiers.once) {\n delete modifiers.once;\n name = '~' + name; // mark the event as once\n }\n /* istanbul ignore if */\n if (modifiers.passive) {\n delete modifiers.passive;\n name = '&' + name; // mark the event as passive\n }\n\n // normalize click.right and click.middle since they don't actually fire\n // this is technically browser-specific, but at least for now browsers are\n // the only target envs that have right/middle clicks.\n if (name === 'click') {\n if (modifiers.right) {\n name = 'contextmenu';\n delete modifiers.right;\n } else if (modifiers.middle) {\n name = 'mouseup';\n }\n }\n\n var events;\n if (modifiers.native) {\n delete modifiers.native;\n events = el.nativeEvents || (el.nativeEvents = {});\n } else {\n events = el.events || (el.events = {});\n }\n\n var newHandler = {\n value: value.trim()\n };\n if (modifiers !== emptyObject) {\n newHandler.modifiers = modifiers;\n }\n\n var handlers = events[name];\n /* istanbul ignore if */\n if (Array.isArray(handlers)) {\n important ? handlers.unshift(newHandler) : handlers.push(newHandler);\n } else if (handlers) {\n events[name] = important ? [newHandler, handlers] : [handlers, newHandler];\n } else {\n events[name] = newHandler;\n }\n\n el.plain = false;\n}\n\nfunction getBindingAttr (\n el,\n name,\n getStatic\n) {\n var dynamicValue =\n getAndRemoveAttr(el, ':' + name) ||\n getAndRemoveAttr(el, 'v-bind:' + name);\n if (dynamicValue != null) {\n return parseFilters(dynamicValue)\n } else if (getStatic !== false) {\n var staticValue = getAndRemoveAttr(el, name);\n if (staticValue != null) {\n return JSON.stringify(staticValue)\n }\n }\n}\n\n// note: this only removes the attr from the Array (attrsList) so that it\n// doesn't get processed by processAttrs.\n// By default it does NOT remove it from the map (attrsMap) because the map is\n// needed during codegen.\nfunction getAndRemoveAttr (\n el,\n name,\n removeFromMap\n) {\n var val;\n if ((val = el.attrsMap[name]) != null) {\n var list = el.attrsList;\n for (var i = 0, l = list.length; i < l; i++) {\n if (list[i].name === name) {\n list.splice(i, 1);\n break\n }\n }\n }\n if (removeFromMap) {\n delete el.attrsMap[name];\n }\n return val\n}\n\n/* */\n\n/**\n * Cross-platform code generation for component v-model\n */\nfunction genComponentModel (\n el,\n value,\n modifiers\n) {\n var ref = modifiers || {};\n var number = ref.number;\n var trim = ref.trim;\n\n var baseValueExpression = '$$v';\n var valueExpression = baseValueExpression;\n if (trim) {\n valueExpression =\n \"(typeof \" + baseValueExpression + \" === 'string'\" +\n \"? \" + baseValueExpression + \".trim()\" +\n \": \" + baseValueExpression + \")\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n var assignment = genAssignmentCode(value, valueExpression);\n\n el.model = {\n value: (\"(\" + value + \")\"),\n expression: (\"\\\"\" + value + \"\\\"\"),\n callback: (\"function (\" + baseValueExpression + \") {\" + assignment + \"}\")\n };\n}\n\n/**\n * Cross-platform codegen helper for generating v-model value assignment code.\n */\nfunction genAssignmentCode (\n value,\n assignment\n) {\n var res = parseModel(value);\n if (res.key === null) {\n return (value + \"=\" + assignment)\n } else {\n return (\"$set(\" + (res.exp) + \", \" + (res.key) + \", \" + assignment + \")\")\n }\n}\n\n/**\n * Parse a v-model expression into a base path and a final key segment.\n * Handles both dot-path and possible square brackets.\n *\n * Possible cases:\n *\n * - test\n * - test[key]\n * - test[test1[key]]\n * - test[\"a\"][key]\n * - xxx.test[a[a].test1[key]]\n * - test.xxx.a[\"asa\"][test1[key]]\n *\n */\n\nvar len;\nvar str;\nvar chr;\nvar index$1;\nvar expressionPos;\nvar expressionEndPos;\n\n\n\nfunction parseModel (val) {\n // Fix https://github.com/vuejs/vue/pull/7730\n // allow v-model=\"obj.val \" (trailing whitespace)\n val = val.trim();\n len = val.length;\n\n if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) {\n index$1 = val.lastIndexOf('.');\n if (index$1 > -1) {\n return {\n exp: val.slice(0, index$1),\n key: '\"' + val.slice(index$1 + 1) + '\"'\n }\n } else {\n return {\n exp: val,\n key: null\n }\n }\n }\n\n str = val;\n index$1 = expressionPos = expressionEndPos = 0;\n\n while (!eof()) {\n chr = next();\n /* istanbul ignore if */\n if (isStringStart(chr)) {\n parseString(chr);\n } else if (chr === 0x5B) {\n parseBracket(chr);\n }\n }\n\n return {\n exp: val.slice(0, expressionPos),\n key: val.slice(expressionPos + 1, expressionEndPos)\n }\n}\n\nfunction next () {\n return str.charCodeAt(++index$1)\n}\n\nfunction eof () {\n return index$1 >= len\n}\n\nfunction isStringStart (chr) {\n return chr === 0x22 || chr === 0x27\n}\n\nfunction parseBracket (chr) {\n var inBracket = 1;\n expressionPos = index$1;\n while (!eof()) {\n chr = next();\n if (isStringStart(chr)) {\n parseString(chr);\n continue\n }\n if (chr === 0x5B) { inBracket++; }\n if (chr === 0x5D) { inBracket--; }\n if (inBracket === 0) {\n expressionEndPos = index$1;\n break\n }\n }\n}\n\nfunction parseString (chr) {\n var stringQuote = chr;\n while (!eof()) {\n chr = next();\n if (chr === stringQuote) {\n break\n }\n }\n}\n\n/* */\n\nvar warn$1;\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\nfunction model (\n el,\n dir,\n _warn\n) {\n warn$1 = _warn;\n var value = dir.value;\n var modifiers = dir.modifiers;\n var tag = el.tag;\n var type = el.attrsMap.type;\n\n if (process.env.NODE_ENV !== 'production') {\n // inputs with type=\"file\" are read only and setting the input's\n // value will throw an error.\n if (tag === 'input' && type === 'file') {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\" type=\\\"file\\\">:\\n\" +\n \"File inputs are read only. Use a v-on:change listener instead.\"\n );\n }\n }\n\n if (el.component) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (tag === 'select') {\n genSelect(el, value, modifiers);\n } else if (tag === 'input' && type === 'checkbox') {\n genCheckboxModel(el, value, modifiers);\n } else if (tag === 'input' && type === 'radio') {\n genRadioModel(el, value, modifiers);\n } else if (tag === 'input' || tag === 'textarea') {\n genDefaultModel(el, value, modifiers);\n } else if (!config.isReservedTag(tag)) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (process.env.NODE_ENV !== 'production') {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"v-model is not supported on this element type. \" +\n 'If you are working with contenteditable, it\\'s recommended to ' +\n 'wrap a library dedicated for that purpose inside a custom component.'\n );\n }\n\n // ensure runtime directive metadata\n return true\n}\n\nfunction genCheckboxModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n var trueValueBinding = getBindingAttr(el, 'true-value') || 'true';\n var falseValueBinding = getBindingAttr(el, 'false-value') || 'false';\n addProp(el, 'checked',\n \"Array.isArray(\" + value + \")\" +\n \"?_i(\" + value + \",\" + valueBinding + \")>-1\" + (\n trueValueBinding === 'true'\n ? (\":(\" + value + \")\")\n : (\":_q(\" + value + \",\" + trueValueBinding + \")\")\n )\n );\n addHandler(el, 'change',\n \"var $$a=\" + value + \",\" +\n '$$el=$event.target,' +\n \"$$c=$$el.checked?(\" + trueValueBinding + \"):(\" + falseValueBinding + \");\" +\n 'if(Array.isArray($$a)){' +\n \"var $$v=\" + (number ? '_n(' + valueBinding + ')' : valueBinding) + \",\" +\n '$$i=_i($$a,$$v);' +\n \"if($$el.checked){$$i<0&&(\" + (genAssignmentCode(value, '$$a.concat([$$v])')) + \")}\" +\n \"else{$$i>-1&&(\" + (genAssignmentCode(value, '$$a.slice(0,$$i).concat($$a.slice($$i+1))')) + \")}\" +\n \"}else{\" + (genAssignmentCode(value, '$$c')) + \"}\",\n null, true\n );\n}\n\nfunction genRadioModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n valueBinding = number ? (\"_n(\" + valueBinding + \")\") : valueBinding;\n addProp(el, 'checked', (\"_q(\" + value + \",\" + valueBinding + \")\"));\n addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true);\n}\n\nfunction genSelect (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var selectedVal = \"Array.prototype.filter\" +\n \".call($event.target.options,function(o){return o.selected})\" +\n \".map(function(o){var val = \\\"_value\\\" in o ? o._value : o.value;\" +\n \"return \" + (number ? '_n(val)' : 'val') + \"})\";\n\n var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]';\n var code = \"var $$selectedVal = \" + selectedVal + \";\";\n code = code + \" \" + (genAssignmentCode(value, assignment));\n addHandler(el, 'change', code, null, true);\n}\n\nfunction genDefaultModel (\n el,\n value,\n modifiers\n) {\n var type = el.attrsMap.type;\n\n // warn if v-bind:value conflicts with v-model\n // except for inputs with v-bind:type\n if (process.env.NODE_ENV !== 'production') {\n var value$1 = el.attrsMap['v-bind:value'] || el.attrsMap[':value'];\n var typeBinding = el.attrsMap['v-bind:type'] || el.attrsMap[':type'];\n if (value$1 && !typeBinding) {\n var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value';\n warn$1(\n binding + \"=\\\"\" + value$1 + \"\\\" conflicts with v-model on the same element \" +\n 'because the latter already expands to a value binding internally'\n );\n }\n }\n\n var ref = modifiers || {};\n var lazy = ref.lazy;\n var number = ref.number;\n var trim = ref.trim;\n var needCompositionGuard = !lazy && type !== 'range';\n var event = lazy\n ? 'change'\n : type === 'range'\n ? RANGE_TOKEN\n : 'input';\n\n var valueExpression = '$event.target.value';\n if (trim) {\n valueExpression = \"$event.target.value.trim()\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n\n var code = genAssignmentCode(value, valueExpression);\n if (needCompositionGuard) {\n code = \"if($event.target.composing)return;\" + code;\n }\n\n addProp(el, 'value', (\"(\" + value + \")\"));\n addHandler(el, event, code, null, true);\n if (trim || number) {\n addHandler(el, 'blur', '$forceUpdate()');\n }\n}\n\n/* */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n /* istanbul ignore if */\n if (isDef(on[RANGE_TOKEN])) {\n // IE input[type=range] only supports `change` event\n var event = isIE ? 'change' : 'input';\n on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n delete on[RANGE_TOKEN];\n }\n // This was originally intended to fix #4521 but no longer necessary\n // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n /* istanbul ignore if */\n if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n delete on[CHECKBOX_RADIO_TOKEN];\n }\n}\n\nvar target$1;\n\nfunction createOnceHandler (handler, event, capture) {\n var _target = target$1; // save current target element in closure\n return function onceHandler () {\n var res = handler.apply(null, arguments);\n if (res !== null) {\n remove$2(event, onceHandler, capture, _target);\n }\n }\n}\n\nfunction add$1 (\n event,\n handler,\n once$$1,\n capture,\n passive\n) {\n handler = withMacroTask(handler);\n if (once$$1) { handler = createOnceHandler(handler, event, capture); }\n target$1.addEventListener(\n event,\n handler,\n supportsPassive\n ? { capture: capture, passive: passive }\n : capture\n );\n}\n\nfunction remove$2 (\n event,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n event,\n handler._withTask || handler,\n capture\n );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n return\n }\n var on = vnode.data.on || {};\n var oldOn = oldVnode.data.on || {};\n target$1 = vnode.elm;\n normalizeEvents(on);\n updateListeners(on, oldOn, add$1, remove$2, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n}\n\n/* */\n\nfunction updateDOMProps (oldVnode, vnode) {\n if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n return\n }\n var key, cur;\n var elm = vnode.elm;\n var oldProps = oldVnode.data.domProps || {};\n var props = vnode.data.domProps || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(props.__ob__)) {\n props = vnode.data.domProps = extend({}, props);\n }\n\n for (key in oldProps) {\n if (isUndef(props[key])) {\n elm[key] = '';\n }\n }\n for (key in props) {\n cur = props[key];\n // ignore children if the node has textContent or innerHTML,\n // as these will throw away existing DOM nodes and cause removal errors\n // on subsequent patches (#3360)\n if (key === 'textContent' || key === 'innerHTML') {\n if (vnode.children) { vnode.children.length = 0; }\n if (cur === oldProps[key]) { continue }\n // #6601 work around Chrome version <= 55 bug where single textNode\n // replaced by innerHTML/textContent retains its parentNode property\n if (elm.childNodes.length === 1) {\n elm.removeChild(elm.childNodes[0]);\n }\n }\n\n if (key === 'value') {\n // store value as _value as well since\n // non-string values will be stringified\n elm._value = cur;\n // avoid resetting cursor position when value is the same\n var strCur = isUndef(cur) ? '' : String(cur);\n if (shouldUpdateValue(elm, strCur)) {\n elm.value = strCur;\n }\n } else {\n elm[key] = cur;\n }\n }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n return (!elm.composing && (\n elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)\n ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n // return true when textbox (.number and .trim) loses focus and its value is\n // not equal to the updated value\n var notInFocus = true;\n // #6157\n // work around IE bug when accessing document.activeElement in an iframe\n try { notInFocus = document.activeElement !== elm; } catch (e) {}\n return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n var value = elm.value;\n var modifiers = elm._vModifiers; // injected by v-model runtime\n if (isDef(modifiers)) {\n if (modifiers.lazy) {\n // inputs with lazy should only be updated when not in focus\n return false\n }\n if (modifiers.number) {\n return toNumber(value) !== toNumber(newVal)\n }\n if (modifiers.trim) {\n return value.trim() !== newVal.trim()\n }\n }\n return value !== newVal\n}\n\nvar domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n}\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n var style = normalizeStyleBinding(data.style);\n // static style is pre-processed into an object during compilation\n // and is always a fresh object, so it's safe to merge into it\n return data.staticStyle\n ? extend(data.staticStyle, style)\n : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n var res = {};\n var styleData;\n\n if (checkChild) {\n var childNode = vnode;\n while (childNode.componentInstance) {\n childNode = childNode.componentInstance._vnode;\n if (\n childNode && childNode.data &&\n (styleData = normalizeStyleData(childNode.data))\n ) {\n extend(res, styleData);\n }\n }\n }\n\n if ((styleData = normalizeStyleData(vnode.data))) {\n extend(res, styleData);\n }\n\n var parentNode = vnode;\n while ((parentNode = parentNode.parent)) {\n if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n extend(res, styleData);\n }\n }\n return res\n}\n\n/* */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n /* istanbul ignore if */\n if (cssVarRE.test(name)) {\n el.style.setProperty(name, val);\n } else if (importantRE.test(val)) {\n el.style.setProperty(name, val.replace(importantRE, ''), 'important');\n } else {\n var normalizedName = normalize(name);\n if (Array.isArray(val)) {\n // Support values array created by autoprefixer, e.g.\n // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n // Set them one by one, and the browser will only set those it can recognize\n for (var i = 0, len = val.length; i < len; i++) {\n el.style[normalizedName] = val[i];\n }\n } else {\n el.style[normalizedName] = val;\n }\n }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n emptyStyle = emptyStyle || document.createElement('div').style;\n prop = camelize(prop);\n if (prop !== 'filter' && (prop in emptyStyle)) {\n return prop\n }\n var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n for (var i = 0; i < vendorNames.length; i++) {\n var name = vendorNames[i] + capName;\n if (name in emptyStyle) {\n return name\n }\n }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n var data = vnode.data;\n var oldData = oldVnode.data;\n\n if (isUndef(data.staticStyle) && isUndef(data.style) &&\n isUndef(oldData.staticStyle) && isUndef(oldData.style)\n ) {\n return\n }\n\n var cur, name;\n var el = vnode.elm;\n var oldStaticStyle = oldData.staticStyle;\n var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n var oldStyle = oldStaticStyle || oldStyleBinding;\n\n var style = normalizeStyleBinding(vnode.data.style) || {};\n\n // store normalized style under a different key for next diff\n // make sure to clone it if it's reactive, since the user likely wants\n // to mutate it.\n vnode.data.normalizedStyle = isDef(style.__ob__)\n ? extend({}, style)\n : style;\n\n var newStyle = getStyle(vnode, true);\n\n for (name in oldStyle) {\n if (isUndef(newStyle[name])) {\n setProp(el, name, '');\n }\n }\n for (name in newStyle) {\n cur = newStyle[name];\n if (cur !== oldStyle[name]) {\n // ie9 setting to null has no effect, must use empty string\n setProp(el, name, cur == null ? '' : cur);\n }\n }\n}\n\nvar style = {\n create: updateStyle,\n update: updateStyle\n}\n\n/* */\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(/\\s+/).forEach(function (c) { return el.classList.add(c); });\n } else {\n el.classList.add(cls);\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n el.setAttribute('class', (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(/\\s+/).forEach(function (c) { return el.classList.remove(c); });\n } else {\n el.classList.remove(cls);\n }\n if (!el.classList.length) {\n el.removeAttribute('class');\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n cur = cur.trim();\n if (cur) {\n el.setAttribute('class', cur);\n } else {\n el.removeAttribute('class');\n }\n }\n}\n\n/* */\n\nfunction resolveTransition (def) {\n if (!def) {\n return\n }\n /* istanbul ignore else */\n if (typeof def === 'object') {\n var res = {};\n if (def.css !== false) {\n extend(res, autoCssTransition(def.name || 'v'));\n }\n extend(res, def);\n return res\n } else if (typeof def === 'string') {\n return autoCssTransition(def)\n }\n}\n\nvar autoCssTransition = cached(function (name) {\n return {\n enterClass: (name + \"-enter\"),\n enterToClass: (name + \"-enter-to\"),\n enterActiveClass: (name + \"-enter-active\"),\n leaveClass: (name + \"-leave\"),\n leaveToClass: (name + \"-leave-to\"),\n leaveActiveClass: (name + \"-leave-active\")\n }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n /* istanbul ignore if */\n if (window.ontransitionend === undefined &&\n window.onwebkittransitionend !== undefined\n ) {\n transitionProp = 'WebkitTransition';\n transitionEndEvent = 'webkitTransitionEnd';\n }\n if (window.onanimationend === undefined &&\n window.onwebkitanimationend !== undefined\n ) {\n animationProp = 'WebkitAnimation';\n animationEndEvent = 'webkitAnimationEnd';\n }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n raf(function () {\n raf(fn);\n });\n}\n\nfunction addTransitionClass (el, cls) {\n var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n if (transitionClasses.indexOf(cls) < 0) {\n transitionClasses.push(cls);\n addClass(el, cls);\n }\n}\n\nfunction removeTransitionClass (el, cls) {\n if (el._transitionClasses) {\n remove(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n el,\n expectedType,\n cb\n) {\n var ref = getTransitionInfo(el, expectedType);\n var type = ref.type;\n var timeout = ref.timeout;\n var propCount = ref.propCount;\n if (!type) { return cb() }\n var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n var ended = 0;\n var end = function () {\n el.removeEventListener(event, onEnd);\n cb();\n };\n var onEnd = function (e) {\n if (e.target === el) {\n if (++ended >= propCount) {\n end();\n }\n }\n };\n setTimeout(function () {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n var styles = window.getComputedStyle(el);\n var transitionDelays = styles[transitionProp + 'Delay'].split(', ');\n var transitionDurations = styles[transitionProp + 'Duration'].split(', ');\n var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n var animationDelays = styles[animationProp + 'Delay'].split(', ');\n var animationDurations = styles[animationProp + 'Duration'].split(', ');\n var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n var type;\n var timeout = 0;\n var propCount = 0;\n /* istanbul ignore if */\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0\n ? transitionTimeout > animationTimeout\n ? TRANSITION\n : ANIMATION\n : null;\n propCount = type\n ? type === TRANSITION\n ? transitionDurations.length\n : animationDurations.length\n : 0;\n }\n var hasTransform =\n type === TRANSITION &&\n transformRE.test(styles[transitionProp + 'Property']);\n return {\n type: type,\n timeout: timeout,\n propCount: propCount,\n hasTransform: hasTransform\n }\n}\n\nfunction getTimeout (delays, durations) {\n /* istanbul ignore next */\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n\n return Math.max.apply(null, durations.map(function (d, i) {\n return toMs(d) + toMs(delays[i])\n }))\n}\n\nfunction toMs (s) {\n return Number(s.slice(0, -1)) * 1000\n}\n\n/* */\n\nfunction enter (vnode, toggleDisplay) {\n var el = vnode.elm;\n\n // call leave callback now\n if (isDef(el._leaveCb)) {\n el._leaveCb.cancelled = true;\n el._leaveCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data)) {\n return\n }\n\n /* istanbul ignore if */\n if (isDef(el._enterCb) || el.nodeType !== 1) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var enterClass = data.enterClass;\n var enterToClass = data.enterToClass;\n var enterActiveClass = data.enterActiveClass;\n var appearClass = data.appearClass;\n var appearToClass = data.appearToClass;\n var appearActiveClass = data.appearActiveClass;\n var beforeEnter = data.beforeEnter;\n var enter = data.enter;\n var afterEnter = data.afterEnter;\n var enterCancelled = data.enterCancelled;\n var beforeAppear = data.beforeAppear;\n var appear = data.appear;\n var afterAppear = data.afterAppear;\n var appearCancelled = data.appearCancelled;\n var duration = data.duration;\n\n // activeInstance will always be the <transition> component managing this\n // transition. One edge case to check is when the <transition> is placed\n // as the root node of a child component. In that case we need to check\n // <transition>'s parent for appear check.\n var context = activeInstance;\n var transitionNode = activeInstance.$vnode;\n while (transitionNode && transitionNode.parent) {\n transitionNode = transitionNode.parent;\n context = transitionNode.context;\n }\n\n var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n if (isAppear && !appear && appear !== '') {\n return\n }\n\n var startClass = isAppear && appearClass\n ? appearClass\n : enterClass;\n var activeClass = isAppear && appearActiveClass\n ? appearActiveClass\n : enterActiveClass;\n var toClass = isAppear && appearToClass\n ? appearToClass\n : enterToClass;\n\n var beforeEnterHook = isAppear\n ? (beforeAppear || beforeEnter)\n : beforeEnter;\n var enterHook = isAppear\n ? (typeof appear === 'function' ? appear : enter)\n : enter;\n var afterEnterHook = isAppear\n ? (afterAppear || afterEnter)\n : afterEnter;\n var enterCancelledHook = isAppear\n ? (appearCancelled || enterCancelled)\n : enterCancelled;\n\n var explicitEnterDuration = toNumber(\n isObject(duration)\n ? duration.enter\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {\n checkDuration(explicitEnterDuration, 'enter', vnode);\n }\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(enterHook);\n\n var cb = el._enterCb = once(function () {\n if (expectsCSS) {\n removeTransitionClass(el, toClass);\n removeTransitionClass(el, activeClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, startClass);\n }\n enterCancelledHook && enterCancelledHook(el);\n } else {\n afterEnterHook && afterEnterHook(el);\n }\n el._enterCb = null;\n });\n\n if (!vnode.data.show) {\n // remove pending leave element on enter by injecting an insert hook\n mergeVNodeHook(vnode, 'insert', function () {\n var parent = el.parentNode;\n var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n if (pendingNode &&\n pendingNode.tag === vnode.tag &&\n pendingNode.elm._leaveCb\n ) {\n pendingNode.elm._leaveCb();\n }\n enterHook && enterHook(el, cb);\n });\n }\n\n // start enter transition\n beforeEnterHook && beforeEnterHook(el);\n if (expectsCSS) {\n addTransitionClass(el, startClass);\n addTransitionClass(el, activeClass);\n nextFrame(function () {\n removeTransitionClass(el, startClass);\n if (!cb.cancelled) {\n addTransitionClass(el, toClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitEnterDuration)) {\n setTimeout(cb, explicitEnterDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n\n if (vnode.data.show) {\n toggleDisplay && toggleDisplay();\n enterHook && enterHook(el, cb);\n }\n\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n}\n\nfunction leave (vnode, rm) {\n var el = vnode.elm;\n\n // call enter callback now\n if (isDef(el._enterCb)) {\n el._enterCb.cancelled = true;\n el._enterCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data) || el.nodeType !== 1) {\n return rm()\n }\n\n /* istanbul ignore if */\n if (isDef(el._leaveCb)) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var leaveClass = data.leaveClass;\n var leaveToClass = data.leaveToClass;\n var leaveActiveClass = data.leaveActiveClass;\n var beforeLeave = data.beforeLeave;\n var leave = data.leave;\n var afterLeave = data.afterLeave;\n var leaveCancelled = data.leaveCancelled;\n var delayLeave = data.delayLeave;\n var duration = data.duration;\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(leave);\n\n var explicitLeaveDuration = toNumber(\n isObject(duration)\n ? duration.leave\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {\n checkDuration(explicitLeaveDuration, 'leave', vnode);\n }\n\n var cb = el._leaveCb = once(function () {\n if (el.parentNode && el.parentNode._pending) {\n el.parentNode._pending[vnode.key] = null;\n }\n if (expectsCSS) {\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, leaveClass);\n }\n leaveCancelled && leaveCancelled(el);\n } else {\n rm();\n afterLeave && afterLeave(el);\n }\n el._leaveCb = null;\n });\n\n if (delayLeave) {\n delayLeave(performLeave);\n } else {\n performLeave();\n }\n\n function performLeave () {\n // the delayed leave may have already been cancelled\n if (cb.cancelled) {\n return\n }\n // record leaving element\n if (!vnode.data.show) {\n (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n }\n beforeLeave && beforeLeave(el);\n if (expectsCSS) {\n addTransitionClass(el, leaveClass);\n addTransitionClass(el, leaveActiveClass);\n nextFrame(function () {\n removeTransitionClass(el, leaveClass);\n if (!cb.cancelled) {\n addTransitionClass(el, leaveToClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitLeaveDuration)) {\n setTimeout(cb, explicitLeaveDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n leave && leave(el, cb);\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n if (typeof val !== 'number') {\n warn(\n \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n \"got \" + (JSON.stringify(val)) + \".\",\n vnode.context\n );\n } else if (isNaN(val)) {\n warn(\n \"<transition> explicit \" + name + \" duration is NaN - \" +\n 'the duration expression might be incorrect.',\n vnode.context\n );\n }\n}\n\nfunction isValidDuration (val) {\n return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n if (isUndef(fn)) {\n return false\n }\n var invokerFns = fn.fns;\n if (isDef(invokerFns)) {\n // invoker\n return getHookArgumentsLength(\n Array.isArray(invokerFns)\n ? invokerFns[0]\n : invokerFns\n )\n } else {\n return (fn._length || fn.length) > 1\n }\n}\n\nfunction _enter (_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n}\n\nvar transition = inBrowser ? {\n create: _enter,\n activate: _enter,\n remove: function remove$$1 (vnode, rm) {\n /* istanbul ignore else */\n if (vnode.data.show !== true) {\n leave(vnode, rm);\n } else {\n rm();\n }\n }\n} : {}\n\nvar platformModules = [\n attrs,\n klass,\n events,\n domProps,\n style,\n transition\n]\n\n/* */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', function () {\n var el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nvar directive = {\n inserted: function inserted (el, binding, vnode, oldVnode) {\n if (vnode.tag === 'select') {\n // #6903\n if (oldVnode.elm && !oldVnode.elm._vOptions) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n directive.componentUpdated(el, binding, vnode);\n });\n } else {\n setSelected(el, binding, vnode.context);\n }\n el._vOptions = [].map.call(el.options, getValue);\n } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n el._vModifiers = binding.modifiers;\n if (!binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n\n componentUpdated: function componentUpdated (el, binding, vnode) {\n if (vnode.tag === 'select') {\n setSelected(el, binding, vnode.context);\n // in case the options rendered by v-for have changed,\n // it's possible that the value is out-of-sync with the rendered options.\n // detect such cases and filter out values that no longer has a matching\n // option in the DOM.\n var prevOptions = el._vOptions;\n var curOptions = el._vOptions = [].map.call(el.options, getValue);\n if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n // trigger change event if\n // no matching option found for at least one value\n var needReset = el.multiple\n ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n if (needReset) {\n trigger(el, 'change');\n }\n }\n }\n }\n};\n\nfunction setSelected (el, binding, vm) {\n actuallySetSelected(el, binding, vm);\n /* istanbul ignore if */\n if (isIE || isEdge) {\n setTimeout(function () {\n actuallySetSelected(el, binding, vm);\n }, 0);\n }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n var value = binding.value;\n var isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n vm\n );\n return\n }\n var selected, option;\n for (var i = 0, l = el.options.length; i < l; i++) {\n option = el.options[i];\n if (isMultiple) {\n selected = looseIndexOf(value, getValue(option)) > -1;\n if (option.selected !== selected) {\n option.selected = selected;\n }\n } else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) {\n el.selectedIndex = i;\n }\n return\n }\n }\n }\n if (!isMultiple) {\n el.selectedIndex = -1;\n }\n}\n\nfunction hasNoMatchingOption (value, options) {\n return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n return '_value' in option\n ? option._value\n : option.value\n}\n\nfunction onCompositionStart (e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) { return }\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n var e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode\n}\n\nvar show = {\n bind: function bind (el, ref, vnode) {\n var value = ref.value;\n\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n var originalDisplay = el.__vOriginalDisplay =\n el.style.display === 'none' ? '' : el.style.display;\n if (value && transition$$1) {\n vnode.data.show = true;\n enter(vnode, function () {\n el.style.display = originalDisplay;\n });\n } else {\n el.style.display = value ? originalDisplay : 'none';\n }\n },\n\n update: function update (el, ref, vnode) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n\n /* istanbul ignore if */\n if (!value === !oldValue) { return }\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n if (transition$$1) {\n vnode.data.show = true;\n if (value) {\n enter(vnode, function () {\n el.style.display = el.__vOriginalDisplay;\n });\n } else {\n leave(vnode, function () {\n el.style.display = 'none';\n });\n }\n } else {\n el.style.display = value ? el.__vOriginalDisplay : 'none';\n }\n },\n\n unbind: function unbind (\n el,\n binding,\n vnode,\n oldVnode,\n isDestroy\n ) {\n if (!isDestroy) {\n el.style.display = el.__vOriginalDisplay;\n }\n }\n}\n\nvar platformDirectives = {\n model: directive,\n show: show\n}\n\n/* */\n\n// Provides transition support for a single element/component.\n// supports transition mode (out-in / in-out)\n\nvar transitionProps = {\n name: String,\n appear: Boolean,\n css: Boolean,\n mode: String,\n type: String,\n enterClass: String,\n leaveClass: String,\n enterToClass: String,\n leaveToClass: String,\n enterActiveClass: String,\n leaveActiveClass: String,\n appearClass: String,\n appearActiveClass: String,\n appearToClass: String,\n duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n var compOptions = vnode && vnode.componentOptions;\n if (compOptions && compOptions.Ctor.options.abstract) {\n return getRealChild(getFirstComponentChild(compOptions.children))\n } else {\n return vnode\n }\n}\n\nfunction extractTransitionData (comp) {\n var data = {};\n var options = comp.$options;\n // props\n for (var key in options.propsData) {\n data[key] = comp[key];\n }\n // events.\n // extract listeners and pass them directly to the transition methods\n var listeners = options._parentListeners;\n for (var key$1 in listeners) {\n data[camelize(key$1)] = listeners[key$1];\n }\n return data\n}\n\nfunction placeholder (h, rawChild) {\n if (/\\d-keep-alive$/.test(rawChild.tag)) {\n return h('keep-alive', {\n props: rawChild.componentOptions.propsData\n })\n }\n}\n\nfunction hasParentTransition (vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true\n }\n }\n}\n\nfunction isSameChild (child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar Transition = {\n name: 'transition',\n props: transitionProps,\n abstract: true,\n\n render: function render (h) {\n var this$1 = this;\n\n var children = this.$slots.default;\n if (!children) {\n return\n }\n\n // filter out text nodes (possible whitespaces)\n children = children.filter(function (c) { return c.tag || isAsyncPlaceholder(c); });\n /* istanbul ignore if */\n if (!children.length) {\n return\n }\n\n // warn multiple elements\n if (process.env.NODE_ENV !== 'production' && children.length > 1) {\n warn(\n '<transition> can only be used on a single element. Use ' +\n '<transition-group> for lists.',\n this.$parent\n );\n }\n\n var mode = this.mode;\n\n // warn invalid mode\n if (process.env.NODE_ENV !== 'production' &&\n mode && mode !== 'in-out' && mode !== 'out-in'\n ) {\n warn(\n 'invalid <transition> mode: ' + mode,\n this.$parent\n );\n }\n\n var rawChild = children[0];\n\n // if this is a component root node and the component's\n // parent container node also has transition, skip.\n if (hasParentTransition(this.$vnode)) {\n return rawChild\n }\n\n // apply transition data to child\n // use getRealChild() to ignore abstract components e.g. keep-alive\n var child = getRealChild(rawChild);\n /* istanbul ignore if */\n if (!child) {\n return rawChild\n }\n\n if (this._leaving) {\n return placeholder(h, rawChild)\n }\n\n // ensure a key that is unique to the vnode type and to this transition\n // component instance. This key will be used to remove pending leaving nodes\n // during entering.\n var id = \"__transition-\" + (this._uid) + \"-\";\n child.key = child.key == null\n ? child.isComment\n ? id + 'comment'\n : id + child.tag\n : isPrimitive(child.key)\n ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n : child.key;\n\n var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n var oldRawChild = this._vnode;\n var oldChild = getRealChild(oldRawChild);\n\n // mark v-show\n // so that the transition module can hand over the control to the directive\n if (child.data.directives && child.data.directives.some(function (d) { return d.name === 'show'; })) {\n child.data.show = true;\n }\n\n if (\n oldChild &&\n oldChild.data &&\n !isSameChild(child, oldChild) &&\n !isAsyncPlaceholder(oldChild) &&\n // #6687 component root is a comment node\n !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n ) {\n // replace old child transition data with fresh one\n // important for dynamic transitions!\n var oldData = oldChild.data.transition = extend({}, data);\n // handle transition mode\n if (mode === 'out-in') {\n // return placeholder node and queue update when leave finishes\n this._leaving = true;\n mergeVNodeHook(oldData, 'afterLeave', function () {\n this$1._leaving = false;\n this$1.$forceUpdate();\n });\n return placeholder(h, rawChild)\n } else if (mode === 'in-out') {\n if (isAsyncPlaceholder(child)) {\n return oldRawChild\n }\n var delayedLeave;\n var performLeave = function () { delayedLeave(); };\n mergeVNodeHook(data, 'afterEnter', performLeave);\n mergeVNodeHook(data, 'enterCancelled', performLeave);\n mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n }\n }\n\n return rawChild\n }\n}\n\n/* */\n\n// Provides transition support for list items.\n// supports move transitions using the FLIP technique.\n\n// Because the vdom's children update algorithm is \"unstable\" - i.e.\n// it doesn't guarantee the relative positioning of removed elements,\n// we force transition-group to update its children into two passes:\n// in the first pass, we remove all nodes that need to be removed,\n// triggering their leaving transition; in the second pass, we insert/move\n// into the final desired state. This way in the second pass removed\n// nodes will remain where they should be.\n\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props: props,\n\n render: function render (h) {\n var tag = this.tag || this.$vnode.data.tag || 'span';\n var map = Object.create(null);\n var prevChildren = this.prevChildren = this.children;\n var rawChildren = this.$slots.default || [];\n var children = this.children = [];\n var transitionData = extractTransitionData(this);\n\n for (var i = 0; i < rawChildren.length; i++) {\n var c = rawChildren[i];\n if (c.tag) {\n if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n children.push(c);\n map[c.key] = c\n ;(c.data || (c.data = {})).transition = transitionData;\n } else if (process.env.NODE_ENV !== 'production') {\n var opts = c.componentOptions;\n var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n }\n }\n }\n\n if (prevChildren) {\n var kept = [];\n var removed = [];\n for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n var c$1 = prevChildren[i$1];\n c$1.data.transition = transitionData;\n c$1.data.pos = c$1.elm.getBoundingClientRect();\n if (map[c$1.key]) {\n kept.push(c$1);\n } else {\n removed.push(c$1);\n }\n }\n this.kept = h(tag, null, kept);\n this.removed = removed;\n }\n\n return h(tag, null, children)\n },\n\n beforeUpdate: function beforeUpdate () {\n // force removing pass\n this.__patch__(\n this._vnode,\n this.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this._vnode = this.kept;\n },\n\n updated: function updated () {\n var children = this.prevChildren;\n var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n return\n }\n\n // we divide the work into three loops to avoid mixing DOM reads and writes\n // in each iteration - which helps prevent layout thrashing.\n children.forEach(callPendingCbs);\n children.forEach(recordPosition);\n children.forEach(applyTranslation);\n\n // force reflow to put everything in position\n // assign to this to avoid being removed in tree-shaking\n // $flow-disable-line\n this._reflow = document.body.offsetHeight;\n\n children.forEach(function (c) {\n if (c.data.moved) {\n var el = c.elm;\n var s = el.style;\n addTransitionClass(el, moveClass);\n s.transform = s.WebkitTransform = s.transitionDuration = '';\n el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(transitionEndEvent, cb);\n el._moveCb = null;\n removeTransitionClass(el, moveClass);\n }\n });\n }\n });\n },\n\n methods: {\n hasMove: function hasMove (el, moveClass) {\n /* istanbul ignore if */\n if (!hasTransition) {\n return false\n }\n /* istanbul ignore if */\n if (this._hasMove) {\n return this._hasMove\n }\n // Detect whether an element with the move class applied has\n // CSS transitions. Since the element may be inside an entering\n // transition at this very moment, we make a clone of it and remove\n // all other transition classes applied to ensure only the move class\n // is applied.\n var clone = el.cloneNode();\n if (el._transitionClasses) {\n el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n }\n addClass(clone, moveClass);\n clone.style.display = 'none';\n this.$el.appendChild(clone);\n var info = getTransitionInfo(clone);\n this.$el.removeChild(clone);\n return (this._hasMove = info.hasTransform)\n }\n }\n}\n\nfunction callPendingCbs (c) {\n /* istanbul ignore if */\n if (c.elm._moveCb) {\n c.elm._moveCb();\n }\n /* istanbul ignore if */\n if (c.elm._enterCb) {\n c.elm._enterCb();\n }\n}\n\nfunction recordPosition (c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n var oldPos = c.data.pos;\n var newPos = c.data.newPos;\n var dx = oldPos.left - newPos.left;\n var dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c.data.moved = true;\n var s = c.elm.style;\n s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n s.transitionDuration = '0s';\n }\n}\n\nvar platformComponents = {\n Transition: Transition,\n TransitionGroup: TransitionGroup\n}\n\n/* */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && inBrowser ? query(el) : undefined;\n return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n setTimeout(function () {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n } else if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n isChrome\n ) {\n console[console.info ? 'info' : 'log'](\n 'Download the Vue Devtools extension for a better development experience:\\n' +\n 'https://github.com/vuejs/vue-devtools'\n );\n }\n }\n if (process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n config.productionTip !== false &&\n typeof console !== 'undefined'\n ) {\n console[console.info ? 'info' : 'log'](\n \"You are running Vue in development mode.\\n\" +\n \"Make sure to turn on production mode when deploying for production.\\n\" +\n \"See more tips at https://vuejs.org/guide/deployment.html\"\n );\n }\n }, 0);\n}\n\n/* */\n\nvar defaultTagRE = /\\{\\{((?:.|\\n)+?)\\}\\}/g;\nvar regexEscapeRE = /[-.*+?^${}()|[\\]\\/\\\\]/g;\n\nvar buildRegex = cached(function (delimiters) {\n var open = delimiters[0].replace(regexEscapeRE, '\\\\$&');\n var close = delimiters[1].replace(regexEscapeRE, '\\\\$&');\n return new RegExp(open + '((?:.|\\\\n)+?)' + close, 'g')\n});\n\n\n\nfunction parseText (\n text,\n delimiters\n) {\n var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;\n if (!tagRE.test(text)) {\n return\n }\n var tokens = [];\n var rawTokens = [];\n var lastIndex = tagRE.lastIndex = 0;\n var match, index, tokenValue;\n while ((match = tagRE.exec(text))) {\n index = match.index;\n // push text token\n if (index > lastIndex) {\n rawTokens.push(tokenValue = text.slice(lastIndex, index));\n tokens.push(JSON.stringify(tokenValue));\n }\n // tag token\n var exp = parseFilters(match[1].trim());\n tokens.push((\"_s(\" + exp + \")\"));\n rawTokens.push({ '@binding': exp });\n lastIndex = index + match[0].length;\n }\n if (lastIndex < text.length) {\n rawTokens.push(tokenValue = text.slice(lastIndex));\n tokens.push(JSON.stringify(tokenValue));\n }\n return {\n expression: tokens.join('+'),\n tokens: rawTokens\n }\n}\n\n/* */\n\nfunction transformNode (el, options) {\n var warn = options.warn || baseWarn;\n var staticClass = getAndRemoveAttr(el, 'class');\n if (process.env.NODE_ENV !== 'production' && staticClass) {\n var res = parseText(staticClass, options.delimiters);\n if (res) {\n warn(\n \"class=\\\"\" + staticClass + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div class=\"{{ val }}\">, use <div :class=\"val\">.'\n );\n }\n }\n if (staticClass) {\n el.staticClass = JSON.stringify(staticClass);\n }\n var classBinding = getBindingAttr(el, 'class', false /* getStatic */);\n if (classBinding) {\n el.classBinding = classBinding;\n }\n}\n\nfunction genData (el) {\n var data = '';\n if (el.staticClass) {\n data += \"staticClass:\" + (el.staticClass) + \",\";\n }\n if (el.classBinding) {\n data += \"class:\" + (el.classBinding) + \",\";\n }\n return data\n}\n\nvar klass$1 = {\n staticKeys: ['staticClass'],\n transformNode: transformNode,\n genData: genData\n}\n\n/* */\n\nfunction transformNode$1 (el, options) {\n var warn = options.warn || baseWarn;\n var staticStyle = getAndRemoveAttr(el, 'style');\n if (staticStyle) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n var res = parseText(staticStyle, options.delimiters);\n if (res) {\n warn(\n \"style=\\\"\" + staticStyle + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div style=\"{{ val }}\">, use <div :style=\"val\">.'\n );\n }\n }\n el.staticStyle = JSON.stringify(parseStyleText(staticStyle));\n }\n\n var styleBinding = getBindingAttr(el, 'style', false /* getStatic */);\n if (styleBinding) {\n el.styleBinding = styleBinding;\n }\n}\n\nfunction genData$1 (el) {\n var data = '';\n if (el.staticStyle) {\n data += \"staticStyle:\" + (el.staticStyle) + \",\";\n }\n if (el.styleBinding) {\n data += \"style:(\" + (el.styleBinding) + \"),\";\n }\n return data\n}\n\nvar style$1 = {\n staticKeys: ['staticStyle'],\n transformNode: transformNode$1,\n genData: genData$1\n}\n\n/* */\n\nvar decoder;\n\nvar he = {\n decode: function decode (html) {\n decoder = decoder || document.createElement('div');\n decoder.innerHTML = html;\n return decoder.textContent\n }\n}\n\n/* */\n\nvar isUnaryTag = makeMap(\n 'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +\n 'link,meta,param,source,track,wbr'\n);\n\n// Elements that you can, intentionally, leave open\n// (and which close themselves)\nvar canBeLeftOpenTag = makeMap(\n 'colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source'\n);\n\n// HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3\n// Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content\nvar isNonPhrasingTag = makeMap(\n 'address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' +\n 'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' +\n 'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' +\n 'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' +\n 'title,tr,track'\n);\n\n/**\n * Not type-checking this file because it's mostly vendor code.\n */\n\n/*!\n * HTML Parser By John Resig (ejohn.org)\n * Modified by Juriy \"kangax\" Zaytsev\n * Original code by Erik Arvidsson, Mozilla Public License\n * http://erik.eae.net/simplehtmlparser/simplehtmlparser.js\n */\n\n// Regular Expressions for parsing tags and attributes\nvar attribute = /^\\s*([^\\s\"'<>\\/=]+)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\n// could use https://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-QName\n// but for Vue templates we can enforce a simple charset\nvar ncname = '[a-zA-Z_][\\\\w\\\\-\\\\.]*';\nvar qnameCapture = \"((?:\" + ncname + \"\\\\:)?\" + ncname + \")\";\nvar startTagOpen = new RegExp((\"^<\" + qnameCapture));\nvar startTagClose = /^\\s*(\\/?)>/;\nvar endTag = new RegExp((\"^<\\\\/\" + qnameCapture + \"[^>]*>\"));\nvar doctype = /^<!DOCTYPE [^>]+>/i;\n// #7298: escape - to avoid being pased as HTML comment when inlined in page\nvar comment = /^<!\\--/;\nvar conditionalComment = /^<!\\[/;\n\nvar IS_REGEX_CAPTURING_BROKEN = false;\n'x'.replace(/x(.)?/g, function (m, g) {\n IS_REGEX_CAPTURING_BROKEN = g === '';\n});\n\n// Special Elements (can contain anything)\nvar isPlainTextElement = makeMap('script,style,textarea', true);\nvar reCache = {};\n\nvar decodingMap = {\n '&lt;': '<',\n '&gt;': '>',\n '&quot;': '\"',\n '&amp;': '&',\n '&#10;': '\\n',\n '&#9;': '\\t'\n};\nvar encodedAttr = /&(?:lt|gt|quot|amp);/g;\nvar encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#10|#9);/g;\n\n// #5992\nvar isIgnoreNewlineTag = makeMap('pre,textarea', true);\nvar shouldIgnoreFirstNewline = function (tag, html) { return tag && isIgnoreNewlineTag(tag) && html[0] === '\\n'; };\n\nfunction decodeAttr (value, shouldDecodeNewlines) {\n var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr;\n return value.replace(re, function (match) { return decodingMap[match]; })\n}\n\nfunction parseHTML (html, options) {\n var stack = [];\n var expectHTML = options.expectHTML;\n var isUnaryTag$$1 = options.isUnaryTag || no;\n var canBeLeftOpenTag$$1 = options.canBeLeftOpenTag || no;\n var index = 0;\n var last, lastTag;\n while (html) {\n last = html;\n // Make sure we're not in a plaintext content element like script/style\n if (!lastTag || !isPlainTextElement(lastTag)) {\n var textEnd = html.indexOf('<');\n if (textEnd === 0) {\n // Comment:\n if (comment.test(html)) {\n var commentEnd = html.indexOf('-->');\n\n if (commentEnd >= 0) {\n if (options.shouldKeepComment) {\n options.comment(html.substring(4, commentEnd));\n }\n advance(commentEnd + 3);\n continue\n }\n }\n\n // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment\n if (conditionalComment.test(html)) {\n var conditionalEnd = html.indexOf(']>');\n\n if (conditionalEnd >= 0) {\n advance(conditionalEnd + 2);\n continue\n }\n }\n\n // Doctype:\n var doctypeMatch = html.match(doctype);\n if (doctypeMatch) {\n advance(doctypeMatch[0].length);\n continue\n }\n\n // End tag:\n var endTagMatch = html.match(endTag);\n if (endTagMatch) {\n var curIndex = index;\n advance(endTagMatch[0].length);\n parseEndTag(endTagMatch[1], curIndex, index);\n continue\n }\n\n // Start tag:\n var startTagMatch = parseStartTag();\n if (startTagMatch) {\n handleStartTag(startTagMatch);\n if (shouldIgnoreFirstNewline(lastTag, html)) {\n advance(1);\n }\n continue\n }\n }\n\n var text = (void 0), rest = (void 0), next = (void 0);\n if (textEnd >= 0) {\n rest = html.slice(textEnd);\n while (\n !endTag.test(rest) &&\n !startTagOpen.test(rest) &&\n !comment.test(rest) &&\n !conditionalComment.test(rest)\n ) {\n // < in plain text, be forgiving and treat it as text\n next = rest.indexOf('<', 1);\n if (next < 0) { break }\n textEnd += next;\n rest = html.slice(textEnd);\n }\n text = html.substring(0, textEnd);\n advance(textEnd);\n }\n\n if (textEnd < 0) {\n text = html;\n html = '';\n }\n\n if (options.chars && text) {\n options.chars(text);\n }\n } else {\n var endTagLength = 0;\n var stackedTag = lastTag.toLowerCase();\n var reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\\\s\\\\S]*?)(</' + stackedTag + '[^>]*>)', 'i'));\n var rest$1 = html.replace(reStackedTag, function (all, text, endTag) {\n endTagLength = endTag.length;\n if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') {\n text = text\n .replace(/<!\\--([\\s\\S]*?)-->/g, '$1') // #7298\n .replace(/<!\\[CDATA\\[([\\s\\S]*?)]]>/g, '$1');\n }\n if (shouldIgnoreFirstNewline(stackedTag, text)) {\n text = text.slice(1);\n }\n if (options.chars) {\n options.chars(text);\n }\n return ''\n });\n index += html.length - rest$1.length;\n html = rest$1;\n parseEndTag(stackedTag, index - endTagLength, index);\n }\n\n if (html === last) {\n options.chars && options.chars(html);\n if (process.env.NODE_ENV !== 'production' && !stack.length && options.warn) {\n options.warn((\"Mal-formatted tag at end of template: \\\"\" + html + \"\\\"\"));\n }\n break\n }\n }\n\n // Clean up any remaining tags\n parseEndTag();\n\n function advance (n) {\n index += n;\n html = html.substring(n);\n }\n\n function parseStartTag () {\n var start = html.match(startTagOpen);\n if (start) {\n var match = {\n tagName: start[1],\n attrs: [],\n start: index\n };\n advance(start[0].length);\n var end, attr;\n while (!(end = html.match(startTagClose)) && (attr = html.match(attribute))) {\n advance(attr[0].length);\n match.attrs.push(attr);\n }\n if (end) {\n match.unarySlash = end[1];\n advance(end[0].length);\n match.end = index;\n return match\n }\n }\n }\n\n function handleStartTag (match) {\n var tagName = match.tagName;\n var unarySlash = match.unarySlash;\n\n if (expectHTML) {\n if (lastTag === 'p' && isNonPhrasingTag(tagName)) {\n parseEndTag(lastTag);\n }\n if (canBeLeftOpenTag$$1(tagName) && lastTag === tagName) {\n parseEndTag(tagName);\n }\n }\n\n var unary = isUnaryTag$$1(tagName) || !!unarySlash;\n\n var l = match.attrs.length;\n var attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n var args = match.attrs[i];\n // hackish work around FF bug https://bugzilla.mozilla.org/show_bug.cgi?id=369778\n if (IS_REGEX_CAPTURING_BROKEN && args[0].indexOf('\"\"') === -1) {\n if (args[3] === '') { delete args[3]; }\n if (args[4] === '') { delete args[4]; }\n if (args[5] === '') { delete args[5]; }\n }\n var value = args[3] || args[4] || args[5] || '';\n var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href'\n ? options.shouldDecodeNewlinesForHref\n : options.shouldDecodeNewlines;\n attrs[i] = {\n name: args[1],\n value: decodeAttr(value, shouldDecodeNewlines)\n };\n }\n\n if (!unary) {\n stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs });\n lastTag = tagName;\n }\n\n if (options.start) {\n options.start(tagName, attrs, unary, match.start, match.end);\n }\n }\n\n function parseEndTag (tagName, start, end) {\n var pos, lowerCasedTagName;\n if (start == null) { start = index; }\n if (end == null) { end = index; }\n\n if (tagName) {\n lowerCasedTagName = tagName.toLowerCase();\n }\n\n // Find the closest opened tag of the same type\n if (tagName) {\n for (pos = stack.length - 1; pos >= 0; pos--) {\n if (stack[pos].lowerCasedTag === lowerCasedTagName) {\n break\n }\n }\n } else {\n // If no tag name is provided, clean shop\n pos = 0;\n }\n\n if (pos >= 0) {\n // Close all the open elements, up the stack\n for (var i = stack.length - 1; i >= pos; i--) {\n if (process.env.NODE_ENV !== 'production' &&\n (i > pos || !tagName) &&\n options.warn\n ) {\n options.warn(\n (\"tag <\" + (stack[i].tag) + \"> has no matching end tag.\")\n );\n }\n if (options.end) {\n options.end(stack[i].tag, start, end);\n }\n }\n\n // Remove the open elements from the stack\n stack.length = pos;\n lastTag = pos && stack[pos - 1].tag;\n } else if (lowerCasedTagName === 'br') {\n if (options.start) {\n options.start(tagName, [], true, start, end);\n }\n } else if (lowerCasedTagName === 'p') {\n if (options.start) {\n options.start(tagName, [], false, start, end);\n }\n if (options.end) {\n options.end(tagName, start, end);\n }\n }\n }\n}\n\n/* */\n\nvar onRE = /^@|^v-on:/;\nvar dirRE = /^v-|^@|^:/;\nvar forAliasRE = /([^]*?)\\s+(?:in|of)\\s+([^]*)/;\nvar forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\nvar stripParensRE = /^\\(|\\)$/g;\n\nvar argRE = /:(.*)$/;\nvar bindRE = /^:|^v-bind:/;\nvar modifierRE = /\\.[^.]+/g;\n\nvar decodeHTMLCached = cached(he.decode);\n\n// configurable state\nvar warn$2;\nvar delimiters;\nvar transforms;\nvar preTransforms;\nvar postTransforms;\nvar platformIsPreTag;\nvar platformMustUseProp;\nvar platformGetTagNamespace;\n\n\n\nfunction createASTElement (\n tag,\n attrs,\n parent\n) {\n return {\n type: 1,\n tag: tag,\n attrsList: attrs,\n attrsMap: makeAttrsMap(attrs),\n parent: parent,\n children: []\n }\n}\n\n/**\n * Convert HTML string to AST.\n */\nfunction parse (\n template,\n options\n) {\n warn$2 = options.warn || baseWarn;\n\n platformIsPreTag = options.isPreTag || no;\n platformMustUseProp = options.mustUseProp || no;\n platformGetTagNamespace = options.getTagNamespace || no;\n\n transforms = pluckModuleFunction(options.modules, 'transformNode');\n preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');\n postTransforms = pluckModuleFunction(options.modules, 'postTransformNode');\n\n delimiters = options.delimiters;\n\n var stack = [];\n var preserveWhitespace = options.preserveWhitespace !== false;\n var root;\n var currentParent;\n var inVPre = false;\n var inPre = false;\n var warned = false;\n\n function warnOnce (msg) {\n if (!warned) {\n warned = true;\n warn$2(msg);\n }\n }\n\n function closeElement (element) {\n // check pre state\n if (element.pre) {\n inVPre = false;\n }\n if (platformIsPreTag(element.tag)) {\n inPre = false;\n }\n // apply post-transforms\n for (var i = 0; i < postTransforms.length; i++) {\n postTransforms[i](element, options);\n }\n }\n\n parseHTML(template, {\n warn: warn$2,\n expectHTML: options.expectHTML,\n isUnaryTag: options.isUnaryTag,\n canBeLeftOpenTag: options.canBeLeftOpenTag,\n shouldDecodeNewlines: options.shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref,\n shouldKeepComment: options.comments,\n start: function start (tag, attrs, unary) {\n // check namespace.\n // inherit parent ns if there is one\n var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);\n\n // handle IE svg bug\n /* istanbul ignore if */\n if (isIE && ns === 'svg') {\n attrs = guardIESVGBug(attrs);\n }\n\n var element = createASTElement(tag, attrs, currentParent);\n if (ns) {\n element.ns = ns;\n }\n\n if (isForbiddenTag(element) && !isServerRendering()) {\n element.forbidden = true;\n process.env.NODE_ENV !== 'production' && warn$2(\n 'Templates should only be responsible for mapping the state to the ' +\n 'UI. Avoid placing tags with side-effects in your templates, such as ' +\n \"<\" + tag + \">\" + ', as they will not be parsed.'\n );\n }\n\n // apply pre-transforms\n for (var i = 0; i < preTransforms.length; i++) {\n element = preTransforms[i](element, options) || element;\n }\n\n if (!inVPre) {\n processPre(element);\n if (element.pre) {\n inVPre = true;\n }\n }\n if (platformIsPreTag(element.tag)) {\n inPre = true;\n }\n if (inVPre) {\n processRawAttrs(element);\n } else if (!element.processed) {\n // structural directives\n processFor(element);\n processIf(element);\n processOnce(element);\n // element-scope stuff\n processElement(element, options);\n }\n\n function checkRootConstraints (el) {\n if (process.env.NODE_ENV !== 'production') {\n if (el.tag === 'slot' || el.tag === 'template') {\n warnOnce(\n \"Cannot use <\" + (el.tag) + \"> as component root element because it may \" +\n 'contain multiple nodes.'\n );\n }\n if (el.attrsMap.hasOwnProperty('v-for')) {\n warnOnce(\n 'Cannot use v-for on stateful component root element because ' +\n 'it renders multiple elements.'\n );\n }\n }\n }\n\n // tree management\n if (!root) {\n root = element;\n checkRootConstraints(root);\n } else if (!stack.length) {\n // allow root elements with v-if, v-else-if and v-else\n if (root.if && (element.elseif || element.else)) {\n checkRootConstraints(element);\n addIfCondition(root, {\n exp: element.elseif,\n block: element\n });\n } else if (process.env.NODE_ENV !== 'production') {\n warnOnce(\n \"Component template should contain exactly one root element. \" +\n \"If you are using v-if on multiple elements, \" +\n \"use v-else-if to chain them instead.\"\n );\n }\n }\n if (currentParent && !element.forbidden) {\n if (element.elseif || element.else) {\n processIfConditions(element, currentParent);\n } else if (element.slotScope) { // scoped slot\n currentParent.plain = false;\n var name = element.slotTarget || '\"default\"';(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;\n } else {\n currentParent.children.push(element);\n element.parent = currentParent;\n }\n }\n if (!unary) {\n currentParent = element;\n stack.push(element);\n } else {\n closeElement(element);\n }\n },\n\n end: function end () {\n // remove trailing whitespace\n var element = stack[stack.length - 1];\n var lastNode = element.children[element.children.length - 1];\n if (lastNode && lastNode.type === 3 && lastNode.text === ' ' && !inPre) {\n element.children.pop();\n }\n // pop stack\n stack.length -= 1;\n currentParent = stack[stack.length - 1];\n closeElement(element);\n },\n\n chars: function chars (text) {\n if (!currentParent) {\n if (process.env.NODE_ENV !== 'production') {\n if (text === template) {\n warnOnce(\n 'Component template requires a root element, rather than just text.'\n );\n } else if ((text = text.trim())) {\n warnOnce(\n (\"text \\\"\" + text + \"\\\" outside root element will be ignored.\")\n );\n }\n }\n return\n }\n // IE textarea placeholder bug\n /* istanbul ignore if */\n if (isIE &&\n currentParent.tag === 'textarea' &&\n currentParent.attrsMap.placeholder === text\n ) {\n return\n }\n var children = currentParent.children;\n text = inPre || text.trim()\n ? isTextTag(currentParent) ? text : decodeHTMLCached(text)\n // only preserve whitespace if its not right after a starting tag\n : preserveWhitespace && children.length ? ' ' : '';\n if (text) {\n var res;\n if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) {\n children.push({\n type: 2,\n expression: res.expression,\n tokens: res.tokens,\n text: text\n });\n } else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') {\n children.push({\n type: 3,\n text: text\n });\n }\n }\n },\n comment: function comment (text) {\n currentParent.children.push({\n type: 3,\n text: text,\n isComment: true\n });\n }\n });\n return root\n}\n\nfunction processPre (el) {\n if (getAndRemoveAttr(el, 'v-pre') != null) {\n el.pre = true;\n }\n}\n\nfunction processRawAttrs (el) {\n var l = el.attrsList.length;\n if (l) {\n var attrs = el.attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n attrs[i] = {\n name: el.attrsList[i].name,\n value: JSON.stringify(el.attrsList[i].value)\n };\n }\n } else if (!el.pre) {\n // non root node in pre blocks with no attributes\n el.plain = true;\n }\n}\n\nfunction processElement (element, options) {\n processKey(element);\n\n // determine whether this is a plain element after\n // removing structural attributes\n element.plain = !element.key && !element.attrsList.length;\n\n processRef(element);\n processSlot(element);\n processComponent(element);\n for (var i = 0; i < transforms.length; i++) {\n element = transforms[i](element, options) || element;\n }\n processAttrs(element);\n}\n\nfunction processKey (el) {\n var exp = getBindingAttr(el, 'key');\n if (exp) {\n if (process.env.NODE_ENV !== 'production' && el.tag === 'template') {\n warn$2(\"<template> cannot be keyed. Place the key on real elements instead.\");\n }\n el.key = exp;\n }\n}\n\nfunction processRef (el) {\n var ref = getBindingAttr(el, 'ref');\n if (ref) {\n el.ref = ref;\n el.refInFor = checkInFor(el);\n }\n}\n\nfunction processFor (el) {\n var exp;\n if ((exp = getAndRemoveAttr(el, 'v-for'))) {\n var res = parseFor(exp);\n if (res) {\n extend(el, res);\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n (\"Invalid v-for expression: \" + exp)\n );\n }\n }\n}\n\n\n\nfunction parseFor (exp) {\n var inMatch = exp.match(forAliasRE);\n if (!inMatch) { return }\n var res = {};\n res.for = inMatch[2].trim();\n var alias = inMatch[1].trim().replace(stripParensRE, '');\n var iteratorMatch = alias.match(forIteratorRE);\n if (iteratorMatch) {\n res.alias = alias.replace(forIteratorRE, '');\n res.iterator1 = iteratorMatch[1].trim();\n if (iteratorMatch[2]) {\n res.iterator2 = iteratorMatch[2].trim();\n }\n } else {\n res.alias = alias;\n }\n return res\n}\n\nfunction processIf (el) {\n var exp = getAndRemoveAttr(el, 'v-if');\n if (exp) {\n el.if = exp;\n addIfCondition(el, {\n exp: exp,\n block: el\n });\n } else {\n if (getAndRemoveAttr(el, 'v-else') != null) {\n el.else = true;\n }\n var elseif = getAndRemoveAttr(el, 'v-else-if');\n if (elseif) {\n el.elseif = elseif;\n }\n }\n}\n\nfunction processIfConditions (el, parent) {\n var prev = findPrevElement(parent.children);\n if (prev && prev.if) {\n addIfCondition(prev, {\n exp: el.elseif,\n block: el\n });\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n \"v-\" + (el.elseif ? ('else-if=\"' + el.elseif + '\"') : 'else') + \" \" +\n \"used on element <\" + (el.tag) + \"> without corresponding v-if.\"\n );\n }\n}\n\nfunction findPrevElement (children) {\n var i = children.length;\n while (i--) {\n if (children[i].type === 1) {\n return children[i]\n } else {\n if (process.env.NODE_ENV !== 'production' && children[i].text !== ' ') {\n warn$2(\n \"text \\\"\" + (children[i].text.trim()) + \"\\\" between v-if and v-else(-if) \" +\n \"will be ignored.\"\n );\n }\n children.pop();\n }\n }\n}\n\nfunction addIfCondition (el, condition) {\n if (!el.ifConditions) {\n el.ifConditions = [];\n }\n el.ifConditions.push(condition);\n}\n\nfunction processOnce (el) {\n var once$$1 = getAndRemoveAttr(el, 'v-once');\n if (once$$1 != null) {\n el.once = true;\n }\n}\n\nfunction processSlot (el) {\n if (el.tag === 'slot') {\n el.slotName = getBindingAttr(el, 'name');\n if (process.env.NODE_ENV !== 'production' && el.key) {\n warn$2(\n \"`key` does not work on <slot> because slots are abstract outlets \" +\n \"and can possibly expand into multiple elements. \" +\n \"Use the key on a wrapping element instead.\"\n );\n }\n } else {\n var slotScope;\n if (el.tag === 'template') {\n slotScope = getAndRemoveAttr(el, 'scope');\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && slotScope) {\n warn$2(\n \"the \\\"scope\\\" attribute for scoped slots have been deprecated and \" +\n \"replaced by \\\"slot-scope\\\" since 2.5. The new \\\"slot-scope\\\" attribute \" +\n \"can also be used on plain elements in addition to <template> to \" +\n \"denote scoped slots.\",\n true\n );\n }\n el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope');\n } else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && el.attrsMap['v-for']) {\n warn$2(\n \"Ambiguous combined usage of slot-scope and v-for on <\" + (el.tag) + \"> \" +\n \"(v-for takes higher priority). Use a wrapper <template> for the \" +\n \"scoped slot to make it clearer.\",\n true\n );\n }\n el.slotScope = slotScope;\n }\n var slotTarget = getBindingAttr(el, 'slot');\n if (slotTarget) {\n el.slotTarget = slotTarget === '\"\"' ? '\"default\"' : slotTarget;\n // preserve slot as an attribute for native shadow DOM compat\n // only for non-scoped slots.\n if (el.tag !== 'template' && !el.slotScope) {\n addAttr(el, 'slot', slotTarget);\n }\n }\n }\n}\n\nfunction processComponent (el) {\n var binding;\n if ((binding = getBindingAttr(el, 'is'))) {\n el.component = binding;\n }\n if (getAndRemoveAttr(el, 'inline-template') != null) {\n el.inlineTemplate = true;\n }\n}\n\nfunction processAttrs (el) {\n var list = el.attrsList;\n var i, l, name, rawName, value, modifiers, isProp;\n for (i = 0, l = list.length; i < l; i++) {\n name = rawName = list[i].name;\n value = list[i].value;\n if (dirRE.test(name)) {\n // mark element as dynamic\n el.hasBindings = true;\n // modifiers\n modifiers = parseModifiers(name);\n if (modifiers) {\n name = name.replace(modifierRE, '');\n }\n if (bindRE.test(name)) { // v-bind\n name = name.replace(bindRE, '');\n value = parseFilters(value);\n isProp = false;\n if (modifiers) {\n if (modifiers.prop) {\n isProp = true;\n name = camelize(name);\n if (name === 'innerHtml') { name = 'innerHTML'; }\n }\n if (modifiers.camel) {\n name = camelize(name);\n }\n if (modifiers.sync) {\n addHandler(\n el,\n (\"update:\" + (camelize(name))),\n genAssignmentCode(value, \"$event\")\n );\n }\n }\n if (isProp || (\n !el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)\n )) {\n addProp(el, name, value);\n } else {\n addAttr(el, name, value);\n }\n } else if (onRE.test(name)) { // v-on\n name = name.replace(onRE, '');\n addHandler(el, name, value, modifiers, false, warn$2);\n } else { // normal directives\n name = name.replace(dirRE, '');\n // parse arg\n var argMatch = name.match(argRE);\n var arg = argMatch && argMatch[1];\n if (arg) {\n name = name.slice(0, -(arg.length + 1));\n }\n addDirective(el, name, rawName, value, arg, modifiers);\n if (process.env.NODE_ENV !== 'production' && name === 'model') {\n checkForAliasModel(el, value);\n }\n }\n } else {\n // literal attribute\n if (process.env.NODE_ENV !== 'production') {\n var res = parseText(value, delimiters);\n if (res) {\n warn$2(\n name + \"=\\\"\" + value + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div id=\"{{ val }}\">, use <div :id=\"val\">.'\n );\n }\n }\n addAttr(el, name, JSON.stringify(value));\n // #6887 firefox doesn't update muted state if set via attribute\n // even immediately after element creation\n if (!el.component &&\n name === 'muted' &&\n platformMustUseProp(el.tag, el.attrsMap.type, name)) {\n addProp(el, name, 'true');\n }\n }\n }\n}\n\nfunction checkInFor (el) {\n var parent = el;\n while (parent) {\n if (parent.for !== undefined) {\n return true\n }\n parent = parent.parent;\n }\n return false\n}\n\nfunction parseModifiers (name) {\n var match = name.match(modifierRE);\n if (match) {\n var ret = {};\n match.forEach(function (m) { ret[m.slice(1)] = true; });\n return ret\n }\n}\n\nfunction makeAttrsMap (attrs) {\n var map = {};\n for (var i = 0, l = attrs.length; i < l; i++) {\n if (\n process.env.NODE_ENV !== 'production' &&\n map[attrs[i].name] && !isIE && !isEdge\n ) {\n warn$2('duplicate attribute: ' + attrs[i].name);\n }\n map[attrs[i].name] = attrs[i].value;\n }\n return map\n}\n\n// for script (e.g. type=\"x/template\") or style, do not decode content\nfunction isTextTag (el) {\n return el.tag === 'script' || el.tag === 'style'\n}\n\nfunction isForbiddenTag (el) {\n return (\n el.tag === 'style' ||\n (el.tag === 'script' && (\n !el.attrsMap.type ||\n el.attrsMap.type === 'text/javascript'\n ))\n )\n}\n\nvar ieNSBug = /^xmlns:NS\\d+/;\nvar ieNSPrefix = /^NS\\d+:/;\n\n/* istanbul ignore next */\nfunction guardIESVGBug (attrs) {\n var res = [];\n for (var i = 0; i < attrs.length; i++) {\n var attr = attrs[i];\n if (!ieNSBug.test(attr.name)) {\n attr.name = attr.name.replace(ieNSPrefix, '');\n res.push(attr);\n }\n }\n return res\n}\n\nfunction checkForAliasModel (el, value) {\n var _el = el;\n while (_el) {\n if (_el.for && _el.alias === value) {\n warn$2(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"You are binding v-model directly to a v-for iteration alias. \" +\n \"This will not be able to modify the v-for source array because \" +\n \"writing to the alias is like modifying a function local variable. \" +\n \"Consider using an array of objects and use v-model on an object property instead.\"\n );\n }\n _el = _el.parent;\n }\n}\n\n/* */\n\n/**\n * Expand input[v-model] with dyanmic type bindings into v-if-else chains\n * Turn this:\n * <input v-model=\"data[type]\" :type=\"type\">\n * into this:\n * <input v-if=\"type === 'checkbox'\" type=\"checkbox\" v-model=\"data[type]\">\n * <input v-else-if=\"type === 'radio'\" type=\"radio\" v-model=\"data[type]\">\n * <input v-else :type=\"type\" v-model=\"data[type]\">\n */\n\nfunction preTransformNode (el, options) {\n if (el.tag === 'input') {\n var map = el.attrsMap;\n if (!map['v-model']) {\n return\n }\n\n var typeBinding;\n if (map[':type'] || map['v-bind:type']) {\n typeBinding = getBindingAttr(el, 'type');\n }\n if (!map.type && !typeBinding && map['v-bind']) {\n typeBinding = \"(\" + (map['v-bind']) + \").type\";\n }\n\n if (typeBinding) {\n var ifCondition = getAndRemoveAttr(el, 'v-if', true);\n var ifConditionExtra = ifCondition ? (\"&&(\" + ifCondition + \")\") : \"\";\n var hasElse = getAndRemoveAttr(el, 'v-else', true) != null;\n var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true);\n // 1. checkbox\n var branch0 = cloneASTElement(el);\n // process for on the main node\n processFor(branch0);\n addRawAttr(branch0, 'type', 'checkbox');\n processElement(branch0, options);\n branch0.processed = true; // prevent it from double-processed\n branch0.if = \"(\" + typeBinding + \")==='checkbox'\" + ifConditionExtra;\n addIfCondition(branch0, {\n exp: branch0.if,\n block: branch0\n });\n // 2. add radio else-if condition\n var branch1 = cloneASTElement(el);\n getAndRemoveAttr(branch1, 'v-for', true);\n addRawAttr(branch1, 'type', 'radio');\n processElement(branch1, options);\n addIfCondition(branch0, {\n exp: \"(\" + typeBinding + \")==='radio'\" + ifConditionExtra,\n block: branch1\n });\n // 3. other\n var branch2 = cloneASTElement(el);\n getAndRemoveAttr(branch2, 'v-for', true);\n addRawAttr(branch2, ':type', typeBinding);\n processElement(branch2, options);\n addIfCondition(branch0, {\n exp: ifCondition,\n block: branch2\n });\n\n if (hasElse) {\n branch0.else = true;\n } else if (elseIfCondition) {\n branch0.elseif = elseIfCondition;\n }\n\n return branch0\n }\n }\n}\n\nfunction cloneASTElement (el) {\n return createASTElement(el.tag, el.attrsList.slice(), el.parent)\n}\n\nvar model$2 = {\n preTransformNode: preTransformNode\n}\n\nvar modules$1 = [\n klass$1,\n style$1,\n model$2\n]\n\n/* */\n\nfunction text (el, dir) {\n if (dir.value) {\n addProp(el, 'textContent', (\"_s(\" + (dir.value) + \")\"));\n }\n}\n\n/* */\n\nfunction html (el, dir) {\n if (dir.value) {\n addProp(el, 'innerHTML', (\"_s(\" + (dir.value) + \")\"));\n }\n}\n\nvar directives$1 = {\n model: model,\n text: text,\n html: html\n}\n\n/* */\n\nvar baseOptions = {\n expectHTML: true,\n modules: modules$1,\n directives: directives$1,\n isPreTag: isPreTag,\n isUnaryTag: isUnaryTag,\n mustUseProp: mustUseProp,\n canBeLeftOpenTag: canBeLeftOpenTag,\n isReservedTag: isReservedTag,\n getTagNamespace: getTagNamespace,\n staticKeys: genStaticKeys(modules$1)\n};\n\n/* */\n\nvar isStaticKey;\nvar isPlatformReservedTag;\n\nvar genStaticKeysCached = cached(genStaticKeys$1);\n\n/**\n * Goal of the optimizer: walk the generated template AST tree\n * and detect sub-trees that are purely static, i.e. parts of\n * the DOM that never needs to change.\n *\n * Once we detect these sub-trees, we can:\n *\n * 1. Hoist them into constants, so that we no longer need to\n * create fresh nodes for them on each re-render;\n * 2. Completely skip them in the patching process.\n */\nfunction optimize (root, options) {\n if (!root) { return }\n isStaticKey = genStaticKeysCached(options.staticKeys || '');\n isPlatformReservedTag = options.isReservedTag || no;\n // first pass: mark all non-static nodes.\n markStatic$1(root);\n // second pass: mark static roots.\n markStaticRoots(root, false);\n}\n\nfunction genStaticKeys$1 (keys) {\n return makeMap(\n 'type,tag,attrsList,attrsMap,plain,parent,children,attrs' +\n (keys ? ',' + keys : '')\n )\n}\n\nfunction markStatic$1 (node) {\n node.static = isStatic(node);\n if (node.type === 1) {\n // do not make component slot content static. this avoids\n // 1. components not able to mutate slot nodes\n // 2. static slot content fails for hot-reloading\n if (\n !isPlatformReservedTag(node.tag) &&\n node.tag !== 'slot' &&\n node.attrsMap['inline-template'] == null\n ) {\n return\n }\n for (var i = 0, l = node.children.length; i < l; i++) {\n var child = node.children[i];\n markStatic$1(child);\n if (!child.static) {\n node.static = false;\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n var block = node.ifConditions[i$1].block;\n markStatic$1(block);\n if (!block.static) {\n node.static = false;\n }\n }\n }\n }\n}\n\nfunction markStaticRoots (node, isInFor) {\n if (node.type === 1) {\n if (node.static || node.once) {\n node.staticInFor = isInFor;\n }\n // For a node to qualify as a static root, it should have children that\n // are not just static text. Otherwise the cost of hoisting out will\n // outweigh the benefits and it's better off to just always render it fresh.\n if (node.static && node.children.length && !(\n node.children.length === 1 &&\n node.children[0].type === 3\n )) {\n node.staticRoot = true;\n return\n } else {\n node.staticRoot = false;\n }\n if (node.children) {\n for (var i = 0, l = node.children.length; i < l; i++) {\n markStaticRoots(node.children[i], isInFor || !!node.for);\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n markStaticRoots(node.ifConditions[i$1].block, isInFor);\n }\n }\n }\n}\n\nfunction isStatic (node) {\n if (node.type === 2) { // expression\n return false\n }\n if (node.type === 3) { // text\n return true\n }\n return !!(node.pre || (\n !node.hasBindings && // no dynamic bindings\n !node.if && !node.for && // not v-if or v-for or v-else\n !isBuiltInTag(node.tag) && // not a built-in\n isPlatformReservedTag(node.tag) && // not a component\n !isDirectChildOfTemplateFor(node) &&\n Object.keys(node).every(isStaticKey)\n ))\n}\n\nfunction isDirectChildOfTemplateFor (node) {\n while (node.parent) {\n node = node.parent;\n if (node.tag !== 'template') {\n return false\n }\n if (node.for) {\n return true\n }\n }\n return false\n}\n\n/* */\n\nvar fnExpRE = /^([\\w$_]+|\\([^)]*?\\))\\s*=>|^function\\s*\\(/;\nvar simplePathRE = /^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\['[^']*?']|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/;\n\n// KeyboardEvent.keyCode aliases\nvar keyCodes = {\n esc: 27,\n tab: 9,\n enter: 13,\n space: 32,\n up: 38,\n left: 37,\n right: 39,\n down: 40,\n 'delete': [8, 46]\n};\n\n// KeyboardEvent.key aliases\nvar keyNames = {\n esc: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: ' ',\n // #7806: IE11 uses key names without `Arrow` prefix for arrow keys.\n up: ['Up', 'ArrowUp'],\n left: ['Left', 'ArrowLeft'],\n right: ['Right', 'ArrowRight'],\n down: ['Down', 'ArrowDown'],\n 'delete': ['Backspace', 'Delete']\n};\n\n// #4868: modifiers that prevent the execution of the listener\n// need to explicitly return null so that we can determine whether to remove\n// the listener for .once\nvar genGuard = function (condition) { return (\"if(\" + condition + \")return null;\"); };\n\nvar modifierCode = {\n stop: '$event.stopPropagation();',\n prevent: '$event.preventDefault();',\n self: genGuard(\"$event.target !== $event.currentTarget\"),\n ctrl: genGuard(\"!$event.ctrlKey\"),\n shift: genGuard(\"!$event.shiftKey\"),\n alt: genGuard(\"!$event.altKey\"),\n meta: genGuard(\"!$event.metaKey\"),\n left: genGuard(\"'button' in $event && $event.button !== 0\"),\n middle: genGuard(\"'button' in $event && $event.button !== 1\"),\n right: genGuard(\"'button' in $event && $event.button !== 2\")\n};\n\nfunction genHandlers (\n events,\n isNative,\n warn\n) {\n var res = isNative ? 'nativeOn:{' : 'on:{';\n for (var name in events) {\n res += \"\\\"\" + name + \"\\\":\" + (genHandler(name, events[name])) + \",\";\n }\n return res.slice(0, -1) + '}'\n}\n\nfunction genHandler (\n name,\n handler\n) {\n if (!handler) {\n return 'function(){}'\n }\n\n if (Array.isArray(handler)) {\n return (\"[\" + (handler.map(function (handler) { return genHandler(name, handler); }).join(',')) + \"]\")\n }\n\n var isMethodPath = simplePathRE.test(handler.value);\n var isFunctionExpression = fnExpRE.test(handler.value);\n\n if (!handler.modifiers) {\n if (isMethodPath || isFunctionExpression) {\n return handler.value\n }\n /* istanbul ignore if */\n return (\"function($event){\" + (handler.value) + \"}\") // inline statement\n } else {\n var code = '';\n var genModifierCode = '';\n var keys = [];\n for (var key in handler.modifiers) {\n if (modifierCode[key]) {\n genModifierCode += modifierCode[key];\n // left/right\n if (keyCodes[key]) {\n keys.push(key);\n }\n } else if (key === 'exact') {\n var modifiers = (handler.modifiers);\n genModifierCode += genGuard(\n ['ctrl', 'shift', 'alt', 'meta']\n .filter(function (keyModifier) { return !modifiers[keyModifier]; })\n .map(function (keyModifier) { return (\"$event.\" + keyModifier + \"Key\"); })\n .join('||')\n );\n } else {\n keys.push(key);\n }\n }\n if (keys.length) {\n code += genKeyFilter(keys);\n }\n // Make sure modifiers like prevent and stop get executed after key filtering\n if (genModifierCode) {\n code += genModifierCode;\n }\n var handlerCode = isMethodPath\n ? (\"return \" + (handler.value) + \"($event)\")\n : isFunctionExpression\n ? (\"return (\" + (handler.value) + \")($event)\")\n : handler.value;\n /* istanbul ignore if */\n return (\"function($event){\" + code + handlerCode + \"}\")\n }\n}\n\nfunction genKeyFilter (keys) {\n return (\"if(!('button' in $event)&&\" + (keys.map(genFilterCode).join('&&')) + \")return null;\")\n}\n\nfunction genFilterCode (key) {\n var keyVal = parseInt(key, 10);\n if (keyVal) {\n return (\"$event.keyCode!==\" + keyVal)\n }\n var keyCode = keyCodes[key];\n var keyName = keyNames[key];\n return (\n \"_k($event.keyCode,\" +\n (JSON.stringify(key)) + \",\" +\n (JSON.stringify(keyCode)) + \",\" +\n \"$event.key,\" +\n \"\" + (JSON.stringify(keyName)) +\n \")\"\n )\n}\n\n/* */\n\nfunction on (el, dir) {\n if (process.env.NODE_ENV !== 'production' && dir.modifiers) {\n warn(\"v-on without argument does not support modifiers.\");\n }\n el.wrapListeners = function (code) { return (\"_g(\" + code + \",\" + (dir.value) + \")\"); };\n}\n\n/* */\n\nfunction bind$1 (el, dir) {\n el.wrapData = function (code) {\n return (\"_b(\" + code + \",'\" + (el.tag) + \"',\" + (dir.value) + \",\" + (dir.modifiers && dir.modifiers.prop ? 'true' : 'false') + (dir.modifiers && dir.modifiers.sync ? ',true' : '') + \")\")\n };\n}\n\n/* */\n\nvar baseDirectives = {\n on: on,\n bind: bind$1,\n cloak: noop\n}\n\n/* */\n\nvar CodegenState = function CodegenState (options) {\n this.options = options;\n this.warn = options.warn || baseWarn;\n this.transforms = pluckModuleFunction(options.modules, 'transformCode');\n this.dataGenFns = pluckModuleFunction(options.modules, 'genData');\n this.directives = extend(extend({}, baseDirectives), options.directives);\n var isReservedTag = options.isReservedTag || no;\n this.maybeComponent = function (el) { return !isReservedTag(el.tag); };\n this.onceId = 0;\n this.staticRenderFns = [];\n};\n\n\n\nfunction generate (\n ast,\n options\n) {\n var state = new CodegenState(options);\n var code = ast ? genElement(ast, state) : '_c(\"div\")';\n return {\n render: (\"with(this){return \" + code + \"}\"),\n staticRenderFns: state.staticRenderFns\n }\n}\n\nfunction genElement (el, state) {\n if (el.staticRoot && !el.staticProcessed) {\n return genStatic(el, state)\n } else if (el.once && !el.onceProcessed) {\n return genOnce(el, state)\n } else if (el.for && !el.forProcessed) {\n return genFor(el, state)\n } else if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.tag === 'template' && !el.slotTarget) {\n return genChildren(el, state) || 'void 0'\n } else if (el.tag === 'slot') {\n return genSlot(el, state)\n } else {\n // component or element\n var code;\n if (el.component) {\n code = genComponent(el.component, el, state);\n } else {\n var data = el.plain ? undefined : genData$2(el, state);\n\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n code = \"_c('\" + (el.tag) + \"'\" + (data ? (\",\" + data) : '') + (children ? (\",\" + children) : '') + \")\";\n }\n // module transforms\n for (var i = 0; i < state.transforms.length; i++) {\n code = state.transforms[i](el, code);\n }\n return code\n }\n}\n\n// hoist static sub-trees out\nfunction genStatic (el, state) {\n el.staticProcessed = true;\n state.staticRenderFns.push((\"with(this){return \" + (genElement(el, state)) + \"}\"));\n return (\"_m(\" + (state.staticRenderFns.length - 1) + (el.staticInFor ? ',true' : '') + \")\")\n}\n\n// v-once\nfunction genOnce (el, state) {\n el.onceProcessed = true;\n if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.staticInFor) {\n var key = '';\n var parent = el.parent;\n while (parent) {\n if (parent.for) {\n key = parent.key;\n break\n }\n parent = parent.parent;\n }\n if (!key) {\n process.env.NODE_ENV !== 'production' && state.warn(\n \"v-once can only be used inside v-for that is keyed. \"\n );\n return genElement(el, state)\n }\n return (\"_o(\" + (genElement(el, state)) + \",\" + (state.onceId++) + \",\" + key + \")\")\n } else {\n return genStatic(el, state)\n }\n}\n\nfunction genIf (\n el,\n state,\n altGen,\n altEmpty\n) {\n el.ifProcessed = true; // avoid recursion\n return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty)\n}\n\nfunction genIfConditions (\n conditions,\n state,\n altGen,\n altEmpty\n) {\n if (!conditions.length) {\n return altEmpty || '_e()'\n }\n\n var condition = conditions.shift();\n if (condition.exp) {\n return (\"(\" + (condition.exp) + \")?\" + (genTernaryExp(condition.block)) + \":\" + (genIfConditions(conditions, state, altGen, altEmpty)))\n } else {\n return (\"\" + (genTernaryExp(condition.block)))\n }\n\n // v-if with v-once should generate code like (a)?_m(0):_m(1)\n function genTernaryExp (el) {\n return altGen\n ? altGen(el, state)\n : el.once\n ? genOnce(el, state)\n : genElement(el, state)\n }\n}\n\nfunction genFor (\n el,\n state,\n altGen,\n altHelper\n) {\n var exp = el.for;\n var alias = el.alias;\n var iterator1 = el.iterator1 ? (\",\" + (el.iterator1)) : '';\n var iterator2 = el.iterator2 ? (\",\" + (el.iterator2)) : '';\n\n if (process.env.NODE_ENV !== 'production' &&\n state.maybeComponent(el) &&\n el.tag !== 'slot' &&\n el.tag !== 'template' &&\n !el.key\n ) {\n state.warn(\n \"<\" + (el.tag) + \" v-for=\\\"\" + alias + \" in \" + exp + \"\\\">: component lists rendered with \" +\n \"v-for should have explicit keys. \" +\n \"See https://vuejs.org/guide/list.html#key for more info.\",\n true /* tip */\n );\n }\n\n el.forProcessed = true; // avoid recursion\n return (altHelper || '_l') + \"((\" + exp + \"),\" +\n \"function(\" + alias + iterator1 + iterator2 + \"){\" +\n \"return \" + ((altGen || genElement)(el, state)) +\n '})'\n}\n\nfunction genData$2 (el, state) {\n var data = '{';\n\n // directives first.\n // directives may mutate the el's other properties before they are generated.\n var dirs = genDirectives(el, state);\n if (dirs) { data += dirs + ','; }\n\n // key\n if (el.key) {\n data += \"key:\" + (el.key) + \",\";\n }\n // ref\n if (el.ref) {\n data += \"ref:\" + (el.ref) + \",\";\n }\n if (el.refInFor) {\n data += \"refInFor:true,\";\n }\n // pre\n if (el.pre) {\n data += \"pre:true,\";\n }\n // record original tag name for components using \"is\" attribute\n if (el.component) {\n data += \"tag:\\\"\" + (el.tag) + \"\\\",\";\n }\n // module data generation functions\n for (var i = 0; i < state.dataGenFns.length; i++) {\n data += state.dataGenFns[i](el);\n }\n // attributes\n if (el.attrs) {\n data += \"attrs:{\" + (genProps(el.attrs)) + \"},\";\n }\n // DOM props\n if (el.props) {\n data += \"domProps:{\" + (genProps(el.props)) + \"},\";\n }\n // event handlers\n if (el.events) {\n data += (genHandlers(el.events, false, state.warn)) + \",\";\n }\n if (el.nativeEvents) {\n data += (genHandlers(el.nativeEvents, true, state.warn)) + \",\";\n }\n // slot target\n // only for non-scoped slots\n if (el.slotTarget && !el.slotScope) {\n data += \"slot:\" + (el.slotTarget) + \",\";\n }\n // scoped slots\n if (el.scopedSlots) {\n data += (genScopedSlots(el.scopedSlots, state)) + \",\";\n }\n // component v-model\n if (el.model) {\n data += \"model:{value:\" + (el.model.value) + \",callback:\" + (el.model.callback) + \",expression:\" + (el.model.expression) + \"},\";\n }\n // inline-template\n if (el.inlineTemplate) {\n var inlineTemplate = genInlineTemplate(el, state);\n if (inlineTemplate) {\n data += inlineTemplate + \",\";\n }\n }\n data = data.replace(/,$/, '') + '}';\n // v-bind data wrap\n if (el.wrapData) {\n data = el.wrapData(data);\n }\n // v-on data wrap\n if (el.wrapListeners) {\n data = el.wrapListeners(data);\n }\n return data\n}\n\nfunction genDirectives (el, state) {\n var dirs = el.directives;\n if (!dirs) { return }\n var res = 'directives:[';\n var hasRuntime = false;\n var i, l, dir, needRuntime;\n for (i = 0, l = dirs.length; i < l; i++) {\n dir = dirs[i];\n needRuntime = true;\n var gen = state.directives[dir.name];\n if (gen) {\n // compile-time directive that manipulates AST.\n // returns true if it also needs a runtime counterpart.\n needRuntime = !!gen(el, dir, state.warn);\n }\n if (needRuntime) {\n hasRuntime = true;\n res += \"{name:\\\"\" + (dir.name) + \"\\\",rawName:\\\"\" + (dir.rawName) + \"\\\"\" + (dir.value ? (\",value:(\" + (dir.value) + \"),expression:\" + (JSON.stringify(dir.value))) : '') + (dir.arg ? (\",arg:\\\"\" + (dir.arg) + \"\\\"\") : '') + (dir.modifiers ? (\",modifiers:\" + (JSON.stringify(dir.modifiers))) : '') + \"},\";\n }\n }\n if (hasRuntime) {\n return res.slice(0, -1) + ']'\n }\n}\n\nfunction genInlineTemplate (el, state) {\n var ast = el.children[0];\n if (process.env.NODE_ENV !== 'production' && (\n el.children.length !== 1 || ast.type !== 1\n )) {\n state.warn('Inline-template components must have exactly one child element.');\n }\n if (ast.type === 1) {\n var inlineRenderFns = generate(ast, state.options);\n return (\"inlineTemplate:{render:function(){\" + (inlineRenderFns.render) + \"},staticRenderFns:[\" + (inlineRenderFns.staticRenderFns.map(function (code) { return (\"function(){\" + code + \"}\"); }).join(',')) + \"]}\")\n }\n}\n\nfunction genScopedSlots (\n slots,\n state\n) {\n return (\"scopedSlots:_u([\" + (Object.keys(slots).map(function (key) {\n return genScopedSlot(key, slots[key], state)\n }).join(',')) + \"])\")\n}\n\nfunction genScopedSlot (\n key,\n el,\n state\n) {\n if (el.for && !el.forProcessed) {\n return genForScopedSlot(key, el, state)\n }\n var fn = \"function(\" + (String(el.slotScope)) + \"){\" +\n \"return \" + (el.tag === 'template'\n ? el.if\n ? ((el.if) + \"?\" + (genChildren(el, state) || 'undefined') + \":undefined\")\n : genChildren(el, state) || 'undefined'\n : genElement(el, state)) + \"}\";\n return (\"{key:\" + key + \",fn:\" + fn + \"}\")\n}\n\nfunction genForScopedSlot (\n key,\n el,\n state\n) {\n var exp = el.for;\n var alias = el.alias;\n var iterator1 = el.iterator1 ? (\",\" + (el.iterator1)) : '';\n var iterator2 = el.iterator2 ? (\",\" + (el.iterator2)) : '';\n el.forProcessed = true; // avoid recursion\n return \"_l((\" + exp + \"),\" +\n \"function(\" + alias + iterator1 + iterator2 + \"){\" +\n \"return \" + (genScopedSlot(key, el, state)) +\n '})'\n}\n\nfunction genChildren (\n el,\n state,\n checkSkip,\n altGenElement,\n altGenNode\n) {\n var children = el.children;\n if (children.length) {\n var el$1 = children[0];\n // optimize single v-for\n if (children.length === 1 &&\n el$1.for &&\n el$1.tag !== 'template' &&\n el$1.tag !== 'slot'\n ) {\n return (altGenElement || genElement)(el$1, state)\n }\n var normalizationType = checkSkip\n ? getNormalizationType(children, state.maybeComponent)\n : 0;\n var gen = altGenNode || genNode;\n return (\"[\" + (children.map(function (c) { return gen(c, state); }).join(',')) + \"]\" + (normalizationType ? (\",\" + normalizationType) : ''))\n }\n}\n\n// determine the normalization needed for the children array.\n// 0: no normalization needed\n// 1: simple normalization needed (possible 1-level deep nested array)\n// 2: full normalization needed\nfunction getNormalizationType (\n children,\n maybeComponent\n) {\n var res = 0;\n for (var i = 0; i < children.length; i++) {\n var el = children[i];\n if (el.type !== 1) {\n continue\n }\n if (needsNormalization(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) {\n res = 2;\n break\n }\n if (maybeComponent(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) {\n res = 1;\n }\n }\n return res\n}\n\nfunction needsNormalization (el) {\n return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'\n}\n\nfunction genNode (node, state) {\n if (node.type === 1) {\n return genElement(node, state)\n } if (node.type === 3 && node.isComment) {\n return genComment(node)\n } else {\n return genText(node)\n }\n}\n\nfunction genText (text) {\n return (\"_v(\" + (text.type === 2\n ? text.expression // no need for () because already wrapped in _s()\n : transformSpecialNewlines(JSON.stringify(text.text))) + \")\")\n}\n\nfunction genComment (comment) {\n return (\"_e(\" + (JSON.stringify(comment.text)) + \")\")\n}\n\nfunction genSlot (el, state) {\n var slotName = el.slotName || '\"default\"';\n var children = genChildren(el, state);\n var res = \"_t(\" + slotName + (children ? (\",\" + children) : '');\n var attrs = el.attrs && (\"{\" + (el.attrs.map(function (a) { return ((camelize(a.name)) + \":\" + (a.value)); }).join(',')) + \"}\");\n var bind$$1 = el.attrsMap['v-bind'];\n if ((attrs || bind$$1) && !children) {\n res += \",null\";\n }\n if (attrs) {\n res += \",\" + attrs;\n }\n if (bind$$1) {\n res += (attrs ? '' : ',null') + \",\" + bind$$1;\n }\n return res + ')'\n}\n\n// componentName is el.component, take it as argument to shun flow's pessimistic refinement\nfunction genComponent (\n componentName,\n el,\n state\n) {\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n return (\"_c(\" + componentName + \",\" + (genData$2(el, state)) + (children ? (\",\" + children) : '') + \")\")\n}\n\nfunction genProps (props) {\n var res = '';\n for (var i = 0; i < props.length; i++) {\n var prop = props[i];\n /* istanbul ignore if */\n {\n res += \"\\\"\" + (prop.name) + \"\\\":\" + (transformSpecialNewlines(prop.value)) + \",\";\n }\n }\n return res.slice(0, -1)\n}\n\n// #3895, #4268\nfunction transformSpecialNewlines (text) {\n return text\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n}\n\n/* */\n\n// these keywords should not appear inside expressions, but operators like\n// typeof, instanceof and in are allowed\nvar prohibitedKeywordRE = new RegExp('\\\\b' + (\n 'do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +\n 'super,throw,while,yield,delete,export,import,return,switch,default,' +\n 'extends,finally,continue,debugger,function,arguments'\n).split(',').join('\\\\b|\\\\b') + '\\\\b');\n\n// these unary operators should not be used as property/method names\nvar unaryOperatorsRE = new RegExp('\\\\b' + (\n 'delete,typeof,void'\n).split(',').join('\\\\s*\\\\([^\\\\)]*\\\\)|\\\\b') + '\\\\s*\\\\([^\\\\)]*\\\\)');\n\n// strip strings in expressions\nvar stripStringRE = /'(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"|`(?:[^`\\\\]|\\\\.)*\\$\\{|\\}(?:[^`\\\\]|\\\\.)*`|`(?:[^`\\\\]|\\\\.)*`/g;\n\n// detect problematic expressions in a template\nfunction detectErrors (ast) {\n var errors = [];\n if (ast) {\n checkNode(ast, errors);\n }\n return errors\n}\n\nfunction checkNode (node, errors) {\n if (node.type === 1) {\n for (var name in node.attrsMap) {\n if (dirRE.test(name)) {\n var value = node.attrsMap[name];\n if (value) {\n if (name === 'v-for') {\n checkFor(node, (\"v-for=\\\"\" + value + \"\\\"\"), errors);\n } else if (onRE.test(name)) {\n checkEvent(value, (name + \"=\\\"\" + value + \"\\\"\"), errors);\n } else {\n checkExpression(value, (name + \"=\\\"\" + value + \"\\\"\"), errors);\n }\n }\n }\n }\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n checkNode(node.children[i], errors);\n }\n }\n } else if (node.type === 2) {\n checkExpression(node.expression, node.text, errors);\n }\n}\n\nfunction checkEvent (exp, text, errors) {\n var stipped = exp.replace(stripStringRE, '');\n var keywordMatch = stipped.match(unaryOperatorsRE);\n if (keywordMatch && stipped.charAt(keywordMatch.index - 1) !== '$') {\n errors.push(\n \"avoid using JavaScript unary operator as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\" in expression \" + (text.trim())\n );\n }\n checkExpression(exp, text, errors);\n}\n\nfunction checkFor (node, text, errors) {\n checkExpression(node.for || '', text, errors);\n checkIdentifier(node.alias, 'v-for alias', text, errors);\n checkIdentifier(node.iterator1, 'v-for iterator', text, errors);\n checkIdentifier(node.iterator2, 'v-for iterator', text, errors);\n}\n\nfunction checkIdentifier (\n ident,\n type,\n text,\n errors\n) {\n if (typeof ident === 'string') {\n try {\n new Function((\"var \" + ident + \"=_\"));\n } catch (e) {\n errors.push((\"invalid \" + type + \" \\\"\" + ident + \"\\\" in expression: \" + (text.trim())));\n }\n }\n}\n\nfunction checkExpression (exp, text, errors) {\n try {\n new Function((\"return \" + exp));\n } catch (e) {\n var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);\n if (keywordMatch) {\n errors.push(\n \"avoid using JavaScript keyword as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\"\\n Raw expression: \" + (text.trim())\n );\n } else {\n errors.push(\n \"invalid expression: \" + (e.message) + \" in\\n\\n\" +\n \" \" + exp + \"\\n\\n\" +\n \" Raw expression: \" + (text.trim()) + \"\\n\"\n );\n }\n }\n}\n\n/* */\n\nfunction createFunction (code, errors) {\n try {\n return new Function(code)\n } catch (err) {\n errors.push({ err: err, code: code });\n return noop\n }\n}\n\nfunction createCompileToFunctionFn (compile) {\n var cache = Object.create(null);\n\n return function compileToFunctions (\n template,\n options,\n vm\n ) {\n options = extend({}, options);\n var warn$$1 = options.warn || warn;\n delete options.warn;\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n // detect possible CSP restriction\n try {\n new Function('return 1');\n } catch (e) {\n if (e.toString().match(/unsafe-eval|CSP/)) {\n warn$$1(\n 'It seems you are using the standalone build of Vue.js in an ' +\n 'environment with Content Security Policy that prohibits unsafe-eval. ' +\n 'The template compiler cannot work in this environment. Consider ' +\n 'relaxing the policy to allow unsafe-eval or pre-compiling your ' +\n 'templates into render functions.'\n );\n }\n }\n }\n\n // check cache\n var key = options.delimiters\n ? String(options.delimiters) + template\n : template;\n if (cache[key]) {\n return cache[key]\n }\n\n // compile\n var compiled = compile(template, options);\n\n // check compilation errors/tips\n if (process.env.NODE_ENV !== 'production') {\n if (compiled.errors && compiled.errors.length) {\n warn$$1(\n \"Error compiling template:\\n\\n\" + template + \"\\n\\n\" +\n compiled.errors.map(function (e) { return (\"- \" + e); }).join('\\n') + '\\n',\n vm\n );\n }\n if (compiled.tips && compiled.tips.length) {\n compiled.tips.forEach(function (msg) { return tip(msg, vm); });\n }\n }\n\n // turn code into functions\n var res = {};\n var fnGenErrors = [];\n res.render = createFunction(compiled.render, fnGenErrors);\n res.staticRenderFns = compiled.staticRenderFns.map(function (code) {\n return createFunction(code, fnGenErrors)\n });\n\n // check function generation errors.\n // this should only happen if there is a bug in the compiler itself.\n // mostly for codegen development use\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) {\n warn$$1(\n \"Failed to generate render function:\\n\\n\" +\n fnGenErrors.map(function (ref) {\n var err = ref.err;\n var code = ref.code;\n\n return ((err.toString()) + \" in\\n\\n\" + code + \"\\n\");\n }).join('\\n'),\n vm\n );\n }\n }\n\n return (cache[key] = res)\n }\n}\n\n/* */\n\nfunction createCompilerCreator (baseCompile) {\n return function createCompiler (baseOptions) {\n function compile (\n template,\n options\n ) {\n var finalOptions = Object.create(baseOptions);\n var errors = [];\n var tips = [];\n finalOptions.warn = function (msg, tip) {\n (tip ? tips : errors).push(msg);\n };\n\n if (options) {\n // merge custom modules\n if (options.modules) {\n finalOptions.modules =\n (baseOptions.modules || []).concat(options.modules);\n }\n // merge custom directives\n if (options.directives) {\n finalOptions.directives = extend(\n Object.create(baseOptions.directives || null),\n options.directives\n );\n }\n // copy other options\n for (var key in options) {\n if (key !== 'modules' && key !== 'directives') {\n finalOptions[key] = options[key];\n }\n }\n }\n\n var compiled = baseCompile(template, finalOptions);\n if (process.env.NODE_ENV !== 'production') {\n errors.push.apply(errors, detectErrors(compiled.ast));\n }\n compiled.errors = errors;\n compiled.tips = tips;\n return compiled\n }\n\n return {\n compile: compile,\n compileToFunctions: createCompileToFunctionFn(compile)\n }\n }\n}\n\n/* */\n\n// `createCompilerCreator` allows creating compilers that use alternative\n// parser/optimizer/codegen, e.g the SSR optimizing compiler.\n// Here we just export a default compiler using the default parts.\nvar createCompiler = createCompilerCreator(function baseCompile (\n template,\n options\n) {\n var ast = parse(template.trim(), options);\n if (options.optimize !== false) {\n optimize(ast, options);\n }\n var code = generate(ast, options);\n return {\n ast: ast,\n render: code.render,\n staticRenderFns: code.staticRenderFns\n }\n});\n\n/* */\n\nvar ref$1 = createCompiler(baseOptions);\nvar compileToFunctions = ref$1.compileToFunctions;\n\n/* */\n\n// check whether current browser encodes a char inside attribute values\nvar div;\nfunction getShouldDecode (href) {\n div = div || document.createElement('div');\n div.innerHTML = href ? \"<a href=\\\"\\n\\\"/>\" : \"<div a=\\\"\\n\\\"/>\";\n return div.innerHTML.indexOf('&#10;') > 0\n}\n\n// #3663: IE encodes newlines inside attribute values while other browsers don't\nvar shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false;\n// #6828: chrome encodes content in a[href]\nvar shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false;\n\n/* */\n\nvar idToTemplate = cached(function (id) {\n var el = query(id);\n return el && el.innerHTML\n});\n\nvar mount = Vue.prototype.$mount;\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && query(el);\n\n /* istanbul ignore if */\n if (el === document.body || el === document.documentElement) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Do not mount Vue to <html> or <body> - mount to normal elements instead.\"\n );\n return this\n }\n\n var options = this.$options;\n // resolve template/el and convert to render function\n if (!options.render) {\n var template = options.template;\n if (template) {\n if (typeof template === 'string') {\n if (template.charAt(0) === '#') {\n template = idToTemplate(template);\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && !template) {\n warn(\n (\"Template element not found or is empty: \" + (options.template)),\n this\n );\n }\n }\n } else if (template.nodeType) {\n template = template.innerHTML;\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn('invalid template option:' + template, this);\n }\n return this\n }\n } else if (el) {\n template = getOuterHTML(el);\n }\n if (template) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile');\n }\n\n var ref = compileToFunctions(template, {\n shouldDecodeNewlines: shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref,\n delimiters: options.delimiters,\n comments: options.comments\n }, this);\n var render = ref.render;\n var staticRenderFns = ref.staticRenderFns;\n options.render = render;\n options.staticRenderFns = staticRenderFns;\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile end');\n measure((\"vue \" + (this._name) + \" compile\"), 'compile', 'compile end');\n }\n }\n }\n return mount.call(this, el, hydrating)\n};\n\n/**\n * Get outerHTML of elements, taking care\n * of SVG elements in IE as well.\n */\nfunction getOuterHTML (el) {\n if (el.outerHTML) {\n return el.outerHTML\n } else {\n var container = document.createElement('div');\n container.appendChild(el.cloneNode(true));\n return container.innerHTML\n }\n}\n\nVue.compile = compileToFunctions;\n\nexport default Vue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue/dist/vue.esm.js\n// module id = 2\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 3\n// module chunks = 0","import axios from 'axios';\n\nconst requestToken = document.getElementsByTagName('head')[0].getAttribute('data-requesttoken');\nconst tokenHeaders = { headers: { requesttoken: requestToken } };\n\nconst sanitize = function(url) {\n\treturn url.replace(/\\/$/, ''); // Remove last url slash\n};\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * \taction(context) {\n\t *\t\treturn api.requireAdmin().then((response) => {\n\t *\t\t\treturn api.get('url')\n\t *\t\t\t\t.then((response) => {API success})\n\t *\t\t\t\t.catch((error) => {API failure});\n\t *\t\t}).catch((error) => {requireAdmin failure});\n\t *\t}\n\t * // vue\n\t *\tthis.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t * \n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t * \n\t * e.g\n\t *\tapi.requireAdmin().then((response) => {\n\t *\t\tapi.get('url')\n\t *\t\t\t.then((response) => {API success})\n\t *\t\t\t.catch((error) => {throw error;});\n\t *\t}).catch((error) => {requireAdmin OR API failure});\n\t * \n\t * @returns {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn new Promise(function(resolve, reject) {\n\t\t\t// TODO: migrate the OC.dialog to Vue and avoid this mess\n\t\t\t// wait for password confirmation\n\t\t\tlet passwordTimeout;\n\t\t\tlet waitForpassword = function() {\n\t\t\t\tif (OC.PasswordConfirmation.requiresPasswordConfirmation()) {\n\t\t\t\t\tpasswordTimeout = setTimeout(waitForpassword, 500);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tclearTimeout(passwordTimeout);\n\t\t\t\tclearTimeout(promiseTimeout);\n\t\t\t\tresolve();\n\t\t\t};\n\n\t\t\t// automatically reject after 5s if not resolved\n\t\t\tlet promiseTimeout = setTimeout(() => {\n\t\t\t\tclearTimeout(passwordTimeout);\n\t\t\t\t// close dialog\n\t\t\t\tif (document.getElementsByClassName('oc-dialog-close').length>0) {\n\t\t\t\t\tdocument.getElementsByClassName('oc-dialog-close')[0].click();\n\t\t\t\t}\n\t\t\t\tOC.Notification.showTemporary(t('settings', 'You did not enter the password in time'));\n\t\t\t\treject('Password request cancelled');\n\t\t\t}, 7000); \n\n\t\t\t// request password\n\t\t\tOC.PasswordConfirmation.requirePasswordConfirmation();\n\t\t\twaitForpassword();\n\t\t});\n\t},\n\tget(url) {\n\t\treturn axios.get(sanitize(url), tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tpost(url, data) {\n\t\treturn axios.post(sanitize(url), data, tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data, tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data, tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { data: data, headers: tokenHeaders.headers })\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t}\n};\n\n\n// WEBPACK FOOTER //\n// ./src/store/api.js","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/process/browser.js\n// module id = 5\n// module chunks = 0","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueMultiselect=e():t.VueMultiselect=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=66)}([function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){t.exports=!n(12)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(10),r=n(43),o=n(31),s=Object.defineProperty;e.f=n(1)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e,n){var i=n(77),r=n(21);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(9),r=n(52),o=n(18),s=n(55),u=n(53),a=function(t,e,n){var l,c,f,p,h=t&a.F,d=t&a.G,v=t&a.S,y=t&a.P,g=t&a.B,b=d?i:v?i[e]||(i[e]={}):(i[e]||{}).prototype,m=d?r:r[e]||(r[e]={}),_=m.prototype||(m.prototype={});d&&(n=e);for(l in n)c=!h&&b&&void 0!==b[l],f=(c?b:n)[l],p=g&&c?u(f,i):y&&\"function\"==typeof f?u(Function.call,f):f,b&&s(b,l,f,t&a.U),m[l]!=f&&o(m,l,p),y&&_[l]!=f&&(_[l]=f)};i.core=r,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e,n){var i=n(3),r=n(15);t.exports=n(1)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var i=n(29)(\"wks\"),r=n(16),o=n(0).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){var i=n(13);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(48),r=n(22);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e,n){var i=n(109),r=n(110);t.exports=n(35)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(8);t.exports=function(t,e){return!!t&&i(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e,n){var i=n(0),r=n(11),o=n(74),s=n(6),u=function(t,e,n){var a,l,c,f=t&u.F,p=t&u.G,h=t&u.S,d=t&u.P,v=t&u.B,y=t&u.W,g=p?r:r[e]||(r[e]={}),b=g.prototype,m=p?i:h?i[e]:(i[e]||{}).prototype;p&&(n=e);for(a in n)(l=!f&&m&&void 0!==m[a])&&a in g||(c=l?m[a]:n[a],g[a]=p&&\"function\"!=typeof m[a]?n[a]:v&&l?o(c,i):y&&m[a]==c?function(t){var e=function(e,n,i){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,i)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(c):d&&\"function\"==typeof c?o(Function.call,c):c,d&&((g.virtual||(g.virtual={}))[a]=c,t&u.R&&b&&!b[a]&&s(b,a,c)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e){t.exports={}},function(t,e){t.exports=!0},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var i=n(3).f,r=n(2),o=n(7)(\"toStringTag\");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(29)(\"keys\"),r=n(16);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(0),r=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});t.exports=function(t){return r[t]||(r[t]={})}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(13);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){var i=n(0),r=n(11),o=n(25),s=n(33),u=n(3).f;t.exports=function(t){var e=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});\"_\"==t.charAt(0)||t in e||u(e,t,{value:s.f(t)})}},function(t,e,n){e.f=n(7)},function(t,e,n){var i=n(53),r=n(36),o=n(57),s=n(37),u=n(104);t.exports=function(t,e){var n=1==t,a=2==t,l=3==t,c=4==t,f=6==t,p=5==t||f,h=e||u;return function(e,u,d){for(var v,y,g=o(e),b=r(g),m=i(u,d,3),_=s(b.length),x=0,w=n?h(e,_):a?h(e,0):void 0;_>x;x++)if((p||x in b)&&(v=b[x],y=m(v,x,g),t))if(n)w[x]=y;else if(y)switch(t){case 3:return!0;case 5:return v;case 6:return x;case 2:w.push(v)}else if(c)return!1;return f?-1:l||c?c:w}}},function(t,e,n){t.exports=!n(8)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(51);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e,n){var i=n(56),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(111)(\"wks\"),r=n(58),o=n(9).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e,n){\"use strict\";function i(t){return 0!==t&&(!(!Array.isArray(t)||0!==t.length)||!t)}function r(t){return function(){return!t.apply(void 0,arguments)}}function o(t,e){return void 0===t&&(t=\"undefined\"),null===t&&(t=\"null\"),!1===t&&(t=\"false\"),-1!==t.toString().toLowerCase().indexOf(e.trim())}function s(t,e,n,i){return t.filter(function(t){return o(i(t,n),e)})}function u(t){return t.filter(function(t){return!t.$isLabel})}function a(t,e){return function(n){return n.reduce(function(n,i){return i[t]&&i[t].length?(n.push({$groupLabel:i[e],$isLabel:!0}),n.concat(i[t])):n},[])}}function l(t,e,n,i,r){return function(o){return o.map(function(o){var u;if(!o[n])return console.warn(\"Options passed to vue-multiselect do not contain groups, despite the config.\"),[];var a=s(o[n],t,e,r);return a.length?(u={},v()(u,i,o[i]),v()(u,n,a),u):[]})}}var c=n(65),f=n.n(c),p=n(59),h=(n.n(p),n(122)),d=(n.n(h),n(64)),v=n.n(d),y=n(120),g=(n.n(y),n(121)),b=(n.n(g),n(117)),m=(n.n(b),n(123)),_=(n.n(m),n(118)),x=(n.n(_),n(119)),w=(n.n(x),function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(t){return e.reduce(function(t,e){return e(t)},t)}});e.a={data:function(){return{search:\"\",isOpen:!1,prefferedOpenDirection:\"below\",optimizedHeight:this.maxHeight}},props:{internalSearch:{type:Boolean,default:!0},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},value:{type:null,default:function(){return[]}},trackBy:{type:String},label:{type:String},searchable:{type:Boolean,default:!0},clearOnSelect:{type:Boolean,default:!0},hideSelected:{type:Boolean,default:!1},placeholder:{type:String,default:\"Select option\"},allowEmpty:{type:Boolean,default:!0},resetAfter:{type:Boolean,default:!1},closeOnSelect:{type:Boolean,default:!0},customLabel:{type:Function,default:function(t,e){return i(t)?\"\":e?t[e]:t}},taggable:{type:Boolean,default:!1},tagPlaceholder:{type:String,default:\"Press enter to create a tag\"},tagPosition:{type:String,default:\"top\"},max:{type:[Number,Boolean],default:!1},id:{default:null},optionsLimit:{type:Number,default:1e3},groupValues:{type:String},groupLabel:{type:String},groupSelect:{type:Boolean,default:!1},blockKeys:{type:Array,default:function(){return[]}},preserveSearch:{type:Boolean,default:!1},preselectFirst:{type:Boolean,default:!1}},mounted:function(){this.multiple||this.clearOnSelect||console.warn(\"[Vue-Multiselect warn]: ClearOnSelect and Multiple props can’t be both set to false.\"),!this.multiple&&this.max&&console.warn(\"[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.\"),this.preselectFirst&&!this.internalValue.length&&this.options.length&&this.select(this.filteredOptions[0])},computed:{internalValue:function(){return this.value||0===this.value?Array.isArray(this.value)?this.value:[this.value]:[]},filteredOptions:function(){var t=this.search||\"\",e=t.toLowerCase().trim(),n=this.options.concat();return n=this.internalSearch?this.groupValues?this.filterAndFlat(n,e,this.label):s(n,e,this.label,this.customLabel):this.groupValues?a(this.groupValues,this.groupLabel)(n):n,n=this.hideSelected?n.filter(r(this.isSelected)):n,this.taggable&&e.length&&!this.isExistingOption(e)&&(\"bottom\"===this.tagPosition?n.push({isTag:!0,label:t}):n.unshift({isTag:!0,label:t})),n.slice(0,this.optionsLimit)},valueKeys:function(){var t=this;return this.trackBy?this.internalValue.map(function(e){return e[t.trackBy]}):this.internalValue},optionKeys:function(){var t=this;return(this.groupValues?this.flatAndStrip(this.options):this.options).map(function(e){return t.customLabel(e,t.label).toString().toLowerCase()})},currentOptionLabel:function(){return this.multiple?this.searchable?\"\":this.placeholder:this.internalValue.length?this.getOptionLabel(this.internalValue[0]):this.searchable?\"\":this.placeholder}},watch:{internalValue:function(){this.resetAfter&&this.internalValue.length&&(this.search=\"\",this.$emit(\"input\",this.multiple?[]:null))},search:function(){this.$emit(\"search-change\",this.search,this.id)}},methods:{getValue:function(){return this.multiple?this.internalValue:0===this.internalValue.length?null:this.internalValue[0]},filterAndFlat:function(t,e,n){return w(l(e,n,this.groupValues,this.groupLabel,this.customLabel),a(this.groupValues,this.groupLabel))(t)},flatAndStrip:function(t){return w(a(this.groupValues,this.groupLabel),u)(t)},updateSearch:function(t){this.search=t},isExistingOption:function(t){return!!this.options&&this.optionKeys.indexOf(t)>-1},isSelected:function(t){var e=this.trackBy?t[this.trackBy]:t;return this.valueKeys.indexOf(e)>-1},getOptionLabel:function(t){if(i(t))return\"\";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return i(e)?\"\":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)return void this.selectGroup(t);if(!(-1!==this.blockKeys.indexOf(e)||this.disabled||t.$isDisabled||t.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&(\"Tab\"!==e||this.pointerDirty)){if(t.isTag)this.$emit(\"tag\",t.label,this.id),this.search=\"\",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(t))return void(\"Tab\"!==e&&this.removeElement(t));this.$emit(\"select\",t,this.id),this.multiple?this.$emit(\"input\",this.internalValue.concat([t]),this.id):this.$emit(\"input\",t,this.id),this.clearOnSelect&&(this.search=\"\")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(t){var e=this,n=this.options.find(function(n){return n[e.groupLabel]===t.$groupLabel});if(n)if(this.wholeGroupSelected(n)){this.$emit(\"remove\",n[this.groupValues],this.id);var i=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit(\"input\",i,this.id)}else{var o=n[this.groupValues].filter(r(this.isSelected));this.$emit(\"select\",o,this.id),this.$emit(\"input\",this.internalValue.concat(o),this.id)}},wholeGroupSelected:function(t){return t[this.groupValues].every(this.isSelected)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var n=\"object\"===f()(t)?this.valueKeys.indexOf(t[this.trackBy]):this.valueKeys.indexOf(t);if(this.$emit(\"remove\",t,this.id),this.multiple){var i=this.internalValue.slice(0,n).concat(this.internalValue.slice(n+1));this.$emit(\"input\",i,this.id)}else this.$emit(\"input\",null,this.id);this.closeOnSelect&&e&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf(\"Delete\")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var t=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=\"\"),this.$nextTick(function(){return t.$refs.search.focus()})):this.$el.focus(),this.$emit(\"open\",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=\"\"),this.$emit(\"close\",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if(\"undefined\"!=typeof window){var t=this.$el.getBoundingClientRect().top,e=window.innerHeight-this.$el.getBoundingClientRect().bottom;e>this.maxHeight||e>t||\"below\"===this.openDirection||\"bottom\"===this.openDirection?(this.prefferedOpenDirection=\"below\",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.prefferedOpenDirection=\"above\",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){\"use strict\";var i=n(59);n.n(i);e.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(t,e){return{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer,\"multiselect__option--selected\":this.isSelected(e)}},groupHighlight:function(t,e){var n=this;if(!this.groupSelect)return[\"multiselect__option--disabled\"];var i=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return[this.groupSelect?\"multiselect__option--group\":\"multiselect__option--disabled\",{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer},{\"multiselect__option--group-selected\":this.wholeGroupSelected(i)}]},addPointerElement:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"Enter\",e=t.key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward:function(){this.pointer<this.filteredOptions.length-1&&(this.pointer++,this.$refs.list.scrollTop<=this.pointerPosition-(this.visibleElements-1)*this.optionHeight&&(this.$refs.list.scrollTop=this.pointerPosition-(this.visibleElements-1)*this.optionHeight),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()),this.pointerDirty=!0},pointerBackward:function(){this.pointer>0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(t){this.pointer=t,this.pointerDirty=!0}}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var i=n(13),r=n(0).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){t.exports=!n(1)&&!n(12)(function(){return 7!=Object.defineProperty(n(42)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){\"use strict\";var i=n(25),r=n(23),o=n(49),s=n(6),u=n(2),a=n(24),l=n(79),c=n(27),f=n(86),p=n(7)(\"iterator\"),h=!([].keys&&\"next\"in[].keys()),d=function(){return this};t.exports=function(t,e,n,v,y,g,b){l(n,e,v);var m,_,x,w=function(t){if(!h&&t in P)return P[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+\" Iterator\",O=\"values\"==y,L=!1,P=t.prototype,k=P[p]||P[\"@@iterator\"]||y&&P[y],E=k||w(y),j=y?O?w(\"entries\"):E:void 0,V=\"Array\"==e?P.entries||k:k;if(V&&(x=f(V.call(new t)))!==Object.prototype&&(c(x,S,!0),i||u(x,p)||s(x,p,d)),O&&k&&\"values\"!==k.name&&(L=!0,E=function(){return k.call(this)}),i&&!b||!h&&!L&&P[p]||s(P,p,E),a[e]=E,a[S]=d,y)if(m={values:O?E:w(\"values\"),keys:g?E:w(\"keys\"),entries:j},b)for(_ in m)_ in P||o(P,_,m[_]);else r(r.P+r.F*(h||L),e,m);return m}},function(t,e,n){var i=n(10),r=n(83),o=n(22),s=n(28)(\"IE_PROTO\"),u=function(){},a=function(){var t,e=n(42)(\"iframe\"),i=o.length;for(e.style.display=\"none\",n(76).appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),a=t.F;i--;)delete a.prototype[o[i]];return a()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=i(t),n=new u,u.prototype=null,n[s]=t):n=a(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(48),r=n(22).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var i=n(2),r=n(4),o=n(73)(!1),s=n(28)(\"IE_PROTO\");t.exports=function(t,e){var n,u=r(t),a=0,l=[];for(n in u)n!=s&&i(u,n)&&l.push(n);for(;e.length>a;)i(u,n=e[a++])&&(~o(l,n)||l.push(n));return l}},function(t,e,n){t.exports=n(6)},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e,n){var i=n(50);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(51);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){var i=n(9),r=n(18),o=n(107),s=n(58)(\"src\"),u=Function.toString,a=(\"\"+u).split(\"toString\");n(52).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var l=\"function\"==typeof n;l&&(o(n,\"name\")||r(n,\"name\",e)),t[e]!==n&&(l&&(o(n,s)||r(n,s,t[e]?\"\"+t[e]:a.join(String(e)))),t===i?t[e]=n:u?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[s]||u.call(this)})},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(17);t.exports=function(t){return Object(i(t))}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(5),o=!0;\"find\"in[]&&Array(1).find(function(){o=!1}),i(i.P+i.F*o,\"Array\",{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),n(99)(\"find\")},function(t,e,n){\"use strict\";function i(t){n(124)}var r=n(67),o=n(126),s=n(125),u=i,a=s(r.a,o.a,!1,u,null,null);e.a=a.exports},function(t,e,n){t.exports=n(68)},function(t,e,n){t.exports=n(69)},function(t,e,n){t.exports=n(70)},function(t,e,n){function i(t,e,n){return e in t?r(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var r=n(61);t.exports=i},function(t,e,n){function i(t){return(i=\"function\"==typeof s&&\"symbol\"==typeof o?function(t){return typeof t}:function(t){return t&&\"function\"==typeof s&&t.constructor===s&&t!==s.prototype?\"symbol\":typeof t})(t)}function r(e){return\"function\"==typeof s&&\"symbol\"===i(o)?t.exports=r=function(t){return i(t)}:t.exports=r=function(t){return t&&\"function\"==typeof s&&t.constructor===s&&t!==s.prototype?\"symbol\":i(t)},r(e)}var o=n(63),s=n(62);t.exports=r},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(60),r=n(39),o=n(40);n.d(e,\"Multiselect\",function(){return i.a}),n.d(e,\"multiselectMixin\",function(){return r.a}),n.d(e,\"pointerMixin\",function(){return o.a}),e.default=i.a},function(t,e,n){\"use strict\";var i=n(39),r=n(40);e.a={name:\"vue-multiselect\",mixins:[i.a,r.a],props:{name:{type:String,default:\"\"},selectLabel:{type:String,default:\"Press enter to select\"},selectGroupLabel:{type:String,default:\"Press enter to select group\"},selectedLabel:{type:String,default:\"Selected\"},deselectLabel:{type:String,default:\"Press enter to remove\"},deselectGroupLabel:{type:String,default:\"Press enter to deselect group\"},showLabels:{type:Boolean,default:!0},limit:{type:Number,default:99999},maxHeight:{type:Number,default:300},limitText:{type:Function,default:function(t){return\"and \".concat(t,\" more\")}},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},openDirection:{type:String,default:\"\"},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{isSingleLabelVisible:function(){return this.singleValue&&(!this.isOpen||!this.searchable)&&!this.visibleValues.length},isPlaceholderVisible:function(){return!(this.internalValue.length||this.searchable&&this.isOpen)},visibleValues:function(){return this.multiple?this.internalValue.slice(0,this.limit):[]},singleValue:function(){return this.internalValue[0]},deselectLabelText:function(){return this.showLabels?this.deselectLabel:\"\"},deselectGroupLabelText:function(){return this.showLabels?this.deselectGroupLabel:\"\"},selectLabelText:function(){return this.showLabels?this.selectLabel:\"\"},selectGroupLabelText:function(){return this.showLabels?this.selectGroupLabel:\"\"},selectedLabelText:function(){return this.showLabels?this.selectedLabel:\"\"},inputStyle:function(){if(this.multiple&&this.value&&this.value.length)return this.isOpen?{width:\"auto\"}:{width:\"0\",position:\"absolute\",padding:\"0\"}},contentStyle:function(){return this.options.length?{display:\"inline-block\"}:{display:\"block\"}},isAbove:function(){return\"above\"===this.openDirection||\"top\"===this.openDirection||\"below\"!==this.openDirection&&\"bottom\"!==this.openDirection&&\"above\"===this.prefferedOpenDirection},showSearchInput:function(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}}},function(t,e,n){n(92);var i=n(11).Object;t.exports=function(t,e,n){return i.defineProperty(t,e,n)}},function(t,e,n){n(95),n(93),n(96),n(97),t.exports=n(11).Symbol},function(t,e,n){n(94),n(98),t.exports=n(33).f(\"iterator\")},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){t.exports=function(){}},function(t,e,n){var i=n(4),r=n(89),o=n(88);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(71);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(14),r=n(47),o=n(26);t.exports=function(t){var e=i(t),n=r.f;if(n)for(var s,u=n(t),a=o.f,l=0;u.length>l;)a.call(t,s=u[l++])&&e.push(s);return e}},function(t,e,n){t.exports=n(0).document&&document.documentElement},function(t,e,n){var i=n(41);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e,n){var i=n(41);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){\"use strict\";var i=n(45),r=n(15),o=n(27),s={};n(6)(s,n(7)(\"iterator\"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+\" Iterator\")}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var i=n(14),r=n(4);t.exports=function(t,e){for(var n,o=r(t),s=i(o),u=s.length,a=0;u>a;)if(o[n=s[a++]]===e)return n}},function(t,e,n){var i=n(16)(\"meta\"),r=n(13),o=n(2),s=n(3).f,u=0,a=Object.isExtensible||function(){return!0},l=!n(12)(function(){return a(Object.preventExtensions({}))}),c=function(t){s(t,i,{value:{i:\"O\"+ ++u,w:{}}})},f=function(t,e){if(!r(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!o(t,i)){if(!a(t))return\"F\";if(!e)return\"E\";c(t)}return t[i].i},p=function(t,e){if(!o(t,i)){if(!a(t))return!0;if(!e)return!1;c(t)}return t[i].w},h=function(t){return l&&d.NEED&&a(t)&&!o(t,i)&&c(t),t},d=t.exports={KEY:i,NEED:!1,fastKey:f,getWeak:p,onFreeze:h}},function(t,e,n){var i=n(3),r=n(10),o=n(14);t.exports=n(1)?Object.defineProperties:function(t,e){r(t);for(var n,s=o(e),u=s.length,a=0;u>a;)i.f(t,n=s[a++],e[n]);return t}},function(t,e,n){var i=n(26),r=n(15),o=n(4),s=n(31),u=n(2),a=n(43),l=Object.getOwnPropertyDescriptor;e.f=n(1)?l:function(t,e){if(t=o(t),e=s(e,!0),a)try{return l(t,e)}catch(t){}if(u(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e,n){var i=n(4),r=n(46).f,o={}.toString,s=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(t){try{return r(t)}catch(t){return s.slice()}};t.exports.f=function(t){return s&&\"[object Window]\"==o.call(t)?u(t):r(i(t))}},function(t,e,n){var i=n(2),r=n(90),o=n(28)(\"IE_PROTO\"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var i=n(30),r=n(21);t.exports=function(t){return function(e,n){var o,s,u=String(r(e)),a=i(n),l=u.length;return a<0||a>=l?t?\"\":void 0:(o=u.charCodeAt(a),o<55296||o>56319||a+1===l||(s=u.charCodeAt(a+1))<56320||s>57343?t?u.charAt(a):o:t?u.slice(a,a+2):s-56320+(o-55296<<10)+65536)}}},function(t,e,n){var i=n(30),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(30),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(21);t.exports=function(t){return Object(i(t))}},function(t,e,n){\"use strict\";var i=n(72),r=n(80),o=n(24),s=n(4);t.exports=n(44)(Array,\"Array\",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):\"keys\"==e?r(0,n):\"values\"==e?r(0,t[n]):r(0,[n,t[n]])},\"values\"),o.Arguments=o.Array,i(\"keys\"),i(\"values\"),i(\"entries\")},function(t,e,n){var i=n(23);i(i.S+i.F*!n(1),\"Object\",{defineProperty:n(3).f})},function(t,e){},function(t,e,n){\"use strict\";var i=n(87)(!0);n(44)(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=i(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){\"use strict\";var i=n(0),r=n(2),o=n(1),s=n(23),u=n(49),a=n(82).KEY,l=n(12),c=n(29),f=n(27),p=n(16),h=n(7),d=n(33),v=n(32),y=n(81),g=n(75),b=n(78),m=n(10),_=n(4),x=n(31),w=n(15),S=n(45),O=n(85),L=n(84),P=n(3),k=n(14),E=L.f,j=P.f,V=O.f,C=i.Symbol,T=i.JSON,A=T&&T.stringify,$=h(\"_hidden\"),D=h(\"toPrimitive\"),F={}.propertyIsEnumerable,M=c(\"symbol-registry\"),B=c(\"symbols\"),N=c(\"op-symbols\"),R=Object.prototype,H=\"function\"==typeof C,G=i.QObject,I=!G||!G.prototype||!G.prototype.findChild,K=o&&l(function(){return 7!=S(j({},\"a\",{get:function(){return j(this,\"a\",{value:7}).a}})).a})?function(t,e,n){var i=E(R,e);i&&delete R[e],j(t,e,n),i&&t!==R&&j(R,e,i)}:j,z=function(t){var e=B[t]=S(C.prototype);return e._k=t,e},U=H&&\"symbol\"==typeof C.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof C},W=function(t,e,n){return t===R&&W(N,e,n),m(t),e=x(e,!0),m(n),r(B,e)?(n.enumerable?(r(t,$)&&t[$][e]&&(t[$][e]=!1),n=S(n,{enumerable:w(0,!1)})):(r(t,$)||j(t,$,w(1,{})),t[$][e]=!0),K(t,e,n)):j(t,e,n)},J=function(t,e){m(t);for(var n,i=g(e=_(e)),r=0,o=i.length;o>r;)W(t,n=i[r++],e[n]);return t},q=function(t,e){return void 0===e?S(t):J(S(t),e)},X=function(t){var e=F.call(this,t=x(t,!0));return!(this===R&&r(B,t)&&!r(N,t))&&(!(e||!r(this,t)||!r(B,t)||r(this,$)&&this[$][t])||e)},Y=function(t,e){if(t=_(t),e=x(e,!0),t!==R||!r(B,e)||r(N,e)){var n=E(t,e);return!n||!r(B,e)||r(t,$)&&t[$][e]||(n.enumerable=!0),n}},Q=function(t){for(var e,n=V(_(t)),i=[],o=0;n.length>o;)r(B,e=n[o++])||e==$||e==a||i.push(e);return i},Z=function(t){for(var e,n=t===R,i=V(n?N:_(t)),o=[],s=0;i.length>s;)!r(B,e=i[s++])||n&&!r(R,e)||o.push(B[e]);return o};H||(C=function(){if(this instanceof C)throw TypeError(\"Symbol is not a constructor!\");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===R&&e.call(N,n),r(this,$)&&r(this[$],t)&&(this[$][t]=!1),K(this,t,w(1,n))};return o&&I&&K(R,t,{configurable:!0,set:e}),z(t)},u(C.prototype,\"toString\",function(){return this._k}),L.f=Y,P.f=W,n(46).f=O.f=Q,n(26).f=X,n(47).f=Z,o&&!n(25)&&u(R,\"propertyIsEnumerable\",X,!0),d.f=function(t){return z(h(t))}),s(s.G+s.W+s.F*!H,{Symbol:C});for(var tt=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),et=0;tt.length>et;)h(tt[et++]);for(var tt=k(h.store),et=0;tt.length>et;)v(tt[et++]);s(s.S+s.F*!H,\"Symbol\",{for:function(t){return r(M,t+=\"\")?M[t]:M[t]=C(t)},keyFor:function(t){if(U(t))return y(M,t);throw TypeError(t+\" is not a symbol!\")},useSetter:function(){I=!0},useSimple:function(){I=!1}}),s(s.S+s.F*!H,\"Object\",{create:q,defineProperty:W,defineProperties:J,getOwnPropertyDescriptor:Y,getOwnPropertyNames:Q,getOwnPropertySymbols:Z}),T&&s(s.S+s.F*(!H||l(function(){var t=C();return\"[null]\"!=A([t])||\"{}\"!=A({a:t})||\"{}\"!=A(Object(t))})),\"JSON\",{stringify:function(t){if(void 0!==t&&!U(t)){for(var e,n,i=[t],r=1;arguments.length>r;)i.push(arguments[r++]);return e=i[1],\"function\"==typeof e&&(n=e),!n&&b(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!U(e))return e}),i[1]=e,A.apply(T,i)}}}),C.prototype[D]||n(6)(C.prototype,D,C.prototype.valueOf),f(C,\"Symbol\"),f(Math,\"Math\",!0),f(i.JSON,\"JSON\",!0)},function(t,e,n){n(32)(\"asyncIterator\")},function(t,e,n){n(32)(\"observable\")},function(t,e,n){n(91);for(var i=n(0),r=n(6),o=n(24),s=n(7)(\"toStringTag\"),u=[\"NodeList\",\"DOMTokenList\",\"MediaList\",\"StyleSheetList\",\"CSSRuleList\"],a=0;a<5;a++){var l=u[a],c=i[l],f=c&&c.prototype;f&&!f[s]&&r(f,s,l),o[l]=o.Array}},function(t,e,n){var i=n(38)(\"unscopables\"),r=Array.prototype;void 0==r[i]&&n(18)(r,i,{}),t.exports=function(t){r[i][t]=!0}},function(t,e,n){var i=n(19);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,n){var i=n(115),r=n(37),o=n(114);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(50),r=n(57),o=n(36),s=n(37);t.exports=function(t,e,n,u,a){i(e);var l=r(t),c=o(l),f=s(l.length),p=a?f-1:0,h=a?-1:1;if(n<2)for(;;){if(p in c){u=c[p],p+=h;break}if(p+=h,a?p<0:f<=p)throw TypeError(\"Reduce of empty array with no initial value\")}for(;a?p>=0:f>p;p+=h)p in c&&(u=e(u,c[p],p,l));return u}},function(t,e,n){var i=n(19),r=n(54),o=n(38)(\"species\");t.exports=function(t){var e;return r(t)&&(e=t.constructor,\"function\"!=typeof e||e!==Array&&!r(e.prototype)||(e=void 0),i(e)&&null===(e=e[o])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var i=n(103);t.exports=function(t,e){return new(i(t))(e)}},function(t,e,n){var i=n(19),r=n(9).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){\"use strict\";var i=n(18),r=n(55),o=n(8),s=n(17),u=n(38);t.exports=function(t,e,n){var a=u(t),l=n(s,a,\"\"[t]),c=l[0],f=l[1];o(function(){var e={};return e[a]=function(){return 7},7!=\"\"[t](e)})&&(r(String.prototype,t,c),i(RegExp.prototype,a,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}))}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){t.exports=!n(35)&&!n(8)(function(){return 7!=Object.defineProperty(n(105)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(100),r=n(108),o=n(116),s=Object.defineProperty;e.f=n(35)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var i=n(9),r=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});t.exports=function(t){return r[t]||(r[t]={})}},function(t,e,n){var i=n(5),r=n(17),o=n(8),s=n(113),u=\"[\"+s+\"]\",a=\"​…\",l=RegExp(\"^\"+u+u+\"*\"),c=RegExp(u+u+\"*$\"),f=function(t,e,n){var r={},u=o(function(){return!!s[t]()||a[t]()!=a}),l=r[t]=u?e(p):s[t];n&&(r[n]=l),i(i.P+i.F*u,\"String\",r)},p=f.trim=function(t,e){return t=String(r(t)),1&e&&(t=t.replace(l,\"\")),2&e&&(t=t.replace(c,\"\")),t};t.exports=f},function(t,e){t.exports=\"\\t\\n\\v\\f\\r   ᠎              \\u2028\\u2029\\ufeff\"},function(t,e,n){var i=n(56),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(36),r=n(17);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(19);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(2);i(i.P+i.F*!n(20)([].filter,!0),\"Array\",{filter:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(5),r=n(101)(!1),o=[].indexOf,s=!!o&&1/[1].indexOf(1,-0)<0;i(i.P+i.F*(s||!n(20)(o)),\"Array\",{indexOf:function(t){return s?o.apply(this,arguments)||0:r(this,t,arguments[1])}})},function(t,e,n){var i=n(5);i(i.S,\"Array\",{isArray:n(54)})},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(1);i(i.P+i.F*!n(20)([].map,!0),\"Array\",{map:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(5),r=n(102);i(i.P+i.F*!n(20)([].reduce,!0),\"Array\",{reduce:function(t){return r(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){n(106)(\"search\",1,function(t,e,n){return[function(n){\"use strict\";var i=t(this),r=void 0==n?void 0:n[e];return void 0!==r?r.call(n,i):new RegExp(n)[e](String(i))},n]})},function(t,e,n){\"use strict\";n(112)(\"trim\",function(t){return function(){return t(this,3)}})},function(t,e){},function(t,e){t.exports=function(t,e,n,i,r,o){var s,u=t=t||{},a=typeof t.default;\"object\"!==a&&\"function\"!==a||(s=t,u=t.default);var l=\"function\"==typeof u?u.options:u;e&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0),n&&(l.functional=!0),r&&(l._scopeId=r);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):i&&(c=i),c){var f=l.functional,p=f?l.render:l.beforeCreate;f?(l._injectStyles=c,l.render=function(t,e){return c.call(e),p(t,e)}):l.beforeCreate=p?[].concat(p,c):[c]}return{esModule:s,exports:u,options:l}}},function(t,e,n){\"use strict\";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"multiselect\",class:{\"multiselect--active\":t.isOpen,\"multiselect--disabled\":t.disabled,\"multiselect--above\":t.isAbove},attrs:{tabindex:t.searchable?-1:t.tabindex},on:{focus:function(e){t.activate()},blur:function(e){!t.searchable&&t.deactivate()},keydown:[function(e){return\"button\"in e||!t._k(e.keyCode,\"down\",40,e.key,\"ArrowDown\")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerForward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"up\",38,e.key,\"ArrowUp\")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerBackward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")||!t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")?(e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null}],keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()}}},[t._t(\"caret\",[n(\"div\",{staticClass:\"multiselect__select\",on:{mousedown:function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}}})],{toggle:t.toggle}),t._v(\" \"),t._t(\"clear\",null,{search:t.search}),t._v(\" \"),n(\"div\",{ref:\"tags\",staticClass:\"multiselect__tags\"},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.visibleValues.length>0,expression:\"visibleValues.length > 0\"}],staticClass:\"multiselect__tags-wrap\"},[t._l(t.visibleValues,function(e){return[t._t(\"tag\",[n(\"span\",{staticClass:\"multiselect__tag\"},[n(\"span\",{domProps:{textContent:t._s(t.getOptionLabel(e))}}),t._v(\" \"),n(\"i\",{staticClass:\"multiselect__tag-icon\",attrs:{\"aria-hidden\":\"true\",tabindex:\"1\"},on:{keydown:function(n){if(!(\"button\"in n)&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\"))return null;n.preventDefault(),t.removeElement(e)},mousedown:function(n){n.preventDefault(),t.removeElement(e)}}})])],{option:e,search:t.search,remove:t.removeElement})]})],2),t._v(\" \"),t.internalValue&&t.internalValue.length>t.limit?[t._t(\"limit\",[n(\"strong\",{staticClass:\"multiselect__strong\",domProps:{textContent:t._s(t.limitText(t.internalValue.length-t.limit))}})])]:t._e(),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect__loading\"}},[t._t(\"loading\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.loading,expression:\"loading\"}],staticClass:\"multiselect__spinner\"})])],2),t._v(\" \"),n(\"input\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen&&t.searchable,expression:\"isOpen && searchable\"}],ref:\"search\",staticClass:\"multiselect__input\",style:t.inputStyle,attrs:{name:t.name,id:t.id,type:\"text\",autocomplete:\"off\",placeholder:t.placeholder,disabled:t.disabled,tabindex:t.tabindex},domProps:{value:t.search},on:{input:function(e){t.updateSearch(e.target.value)},focus:function(e){e.preventDefault(),t.activate()},blur:function(e){e.preventDefault(),t.deactivate()},keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()},keydown:[function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"down\",40,e.key,\"ArrowDown\"))return null;e.preventDefault(),t.pointerForward()},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"up\",38,e.key,\"ArrowUp\"))return null;e.preventDefault(),t.pointerBackward()},function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?(e.preventDefault(),e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"delete\",[8,46],e.key,[\"Backspace\",\"Delete\"]))return null;e.stopPropagation(),t.removeLastElement()}]}}),t._v(\" \"),t.isSingleLabelVisible?n(\"span\",{staticClass:\"multiselect__single\",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"singleLabel\",[[t._v(t._s(t.currentOptionLabel))]],{option:t.singleValue})],2):t._e(),t._v(\" \"),t.isPlaceholderVisible?n(\"span\",{on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"placeholder\",[n(\"span\",{staticClass:\"multiselect__single\"},[t._v(\"\\n \"+t._s(t.placeholder)+\"\\n \")])])],2):t._e()],2),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen,expression:\"isOpen\"}],ref:\"list\",staticClass:\"multiselect__content-wrapper\",style:{maxHeight:t.optimizedHeight+\"px\"},on:{focus:t.activate,mousedown:function(t){t.preventDefault()}}},[n(\"ul\",{staticClass:\"multiselect__content\",style:t.contentStyle},[t._t(\"beforeList\"),t._v(\" \"),t.multiple&&t.max===t.internalValue.length?n(\"li\",[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"maxElements\",[t._v(\"Maximum of \"+t._s(t.max)+\" options selected. First remove a selected option to select another.\")])],2)]):t._e(),t._v(\" \"),!t.max||t.internalValue.length<t.max?t._l(t.filteredOptions,function(e,i){return n(\"li\",{key:i,staticClass:\"multiselect__element\"},[e&&(e.$isLabel||e.$isDisabled)?t._e():n(\"span\",{staticClass:\"multiselect__option\",class:t.optionHighlight(i,e),attrs:{\"data-select\":e&&e.isTag?t.tagPlaceholder:t.selectLabelText,\"data-selected\":t.selectedLabelText,\"data-deselect\":t.deselectLabelText},on:{click:function(n){n.stopPropagation(),t.select(e)},mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.pointerSet(i)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2),t._v(\" \"),e&&(e.$isLabel||e.$isDisabled)?n(\"span\",{staticClass:\"multiselect__option\",class:t.groupHighlight(i,e),attrs:{\"data-select\":t.groupSelect&&t.selectGroupLabelText,\"data-deselect\":t.groupSelect&&t.deselectGroupLabelText},on:{mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.groupSelect&&t.pointerSet(i)},mousedown:function(n){n.preventDefault(),t.selectGroup(e)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2):t._e()])}):t._e(),t._v(\" \"),n(\"li\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showNoResults&&0===t.filteredOptions.length&&t.search&&!t.loading,expression:\"showNoResults && (filteredOptions.length === 0 && search && !loading)\"}]},[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"noResult\",[t._v(\"No elements found. Consider changing the search query.\")])],2)]),t._v(\" \"),t._t(\"afterList\")],2)])])],2)},r=[],o={render:i,staticRenderFns:r};e.a=o}])});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-multiselect/dist/vue-multiselect.min.js\n// module id = 6\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/defaults.js\n// module id = 7\n// module chunks = 0","<template>\n\t<router-view></router-view>\n</template>\n\n<script>\nexport default {\n\tname: 'App',\n\tbeforeMount: function() {\n\t\t// importing server data into the store\n\t\tconst serverDataElmt = document.getElementById('serverData');\n\t\tif (serverDataElmt !== null) {\n\t\t\tthis.$store.commit('setServerData', JSON.parse(document.getElementById('serverData').dataset.server));\n\t\t}\n\t}\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/App.vue","<template>\n\t<div id=\"app\">\n\t\t<app-navigation :menu=\"menu\">\n\t\t\t<template slot=\"settings-content\">\n\t\t\t\t<div>\n\t\t\t\t\t<p>{{t('settings', 'Default quota :')}}</p>\n\t\t\t\t\t<multiselect :value=\"defaultQuota\" :options=\"quotaOptions\"\n\t\t\t\t\t\t\t\ttag-placeholder=\"create\" :placeholder=\"t('settings', 'Select default quota')\"\n\t\t\t\t\t\t\t\tlabel=\"label\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t\t:allowEmpty=\"false\" :taggable=\"true\"\n\t\t\t\t\t\t\t\t@tag=\"validateQuota\" @input=\"setDefaultQuota\">\n\t\t\t\t\t</multiselect>\n\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<input type=\"checkbox\" id=\"showLanguages\" class=\"checkbox\"\n\t\t\t\t\t\t :checked=\"showLanguages\" v-model=\"showLanguages\">\n\t\t\t\t\t<label for=\"showLanguages\">{{t('settings', 'Show Languages')}}</label>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<input type=\"checkbox\" id=\"showLastLogin\" class=\"checkbox\"\n\t\t\t\t\t\t :checked=\"showLastLogin\" v-model=\"showLastLogin\">\n\t\t\t\t\t<label for=\"showLastLogin\">{{t('settings', 'Show last login')}}</label>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<input type=\"checkbox\" id=\"showUserBackend\" class=\"checkbox\"\n\t\t\t\t\t\t :checked=\"showUserBackend\" v-model=\"showUserBackend\">\n\t\t\t\t\t<label for=\"showUserBackend\">{{t('settings', 'Show user backend')}}</label>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<input type=\"checkbox\" id=\"showStoragePath\" class=\"checkbox\"\n\t\t\t\t\t\t :checked=\"showStoragePath\" v-model=\"showStoragePath\">\n\t\t\t\t\t<label for=\"showStoragePath\">{{t('settings', 'Show storage path')}}</label>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t</app-navigation>\n\t\t<user-list :users=\"users\" :showConfig=\"showConfig\" :selectedGroup=\"selectedGroup\" />\n\t</div>\n</template>\n\n<script>\nimport appNavigation from '../components/appNavigation';\nimport userList from '../components/userList';\nimport Vue from 'vue';\nimport VueLocalStorage from 'vue-localstorage'\nimport Multiselect from 'vue-multiselect';\nimport api from '../store/api';\n\nVue.use(VueLocalStorage)\nVue.use(VueLocalStorage)\n\nexport default {\n\tname: 'Users',\n\tprops: ['selectedGroup'],\n\tcomponents: {\n\t\tappNavigation,\n\t\tuserList,\n\t\tMultiselect\n\t},\n\tbeforeMount() {\n\t\tthis.$store.commit('initGroups', {\n\t\t\tgroups: this.$store.getters.getServerData.groups,\n\t\t\torderBy: this.$store.getters.getServerData.sortGroups,\n\t\t\tuserCount: this.$store.getters.getServerData.userCount\n\t\t});\n\t\tthis.$store.dispatch('getPasswordPolicyMinLength');\n\t},\n\tdata() {\n\t\treturn {\n\t\t\t// default quota is unlimited\n\t\t\tunlimitedQuota: {id:'default', label:t('settings', 'Unlimited')},\n\t\t\t// temporary value used for multiselect change\n\t\t\tselectedQuota: false,\n\t\t\tshowConfig: {\n\t\t\t\tshowStoragePath: false,\n\t\t\t\tshowUserBackend: false,\n\t\t\t\tshowLastLogin: false,\n\t\t\t\tshowNewUserForm: false,\n\t\t\t\tshowLanguages: false\n\t\t\t}\n\t\t}\n\t},\n\tmethods: {\n\t\ttoggleNewUserMenu() {\n\t\t\tthis.showConfig.showNewUserForm = !this.showConfig.showNewUserForm;\n\t\t\tif (this.showConfig.showNewUserForm) {\n\t\t\t\tVue.nextTick(() => {\n\t\t\t\t\twindow.newusername.focus();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetLocalstorage(key) {\n\t\t\t// force initialization\n\t\t\tlet localConfig = this.$localStorage.get(key);\n\t\t\t// if localstorage is null, fallback to original values\n\t\t\tthis.showConfig[key] = localConfig !== null ? localConfig === 'true' : this.showConfig[key];\n\t\t\treturn this.showConfig[key];\n\t\t},\n\t\tsetLocalStorage(key, status) {\n\t\t\tthis.showConfig[key] = status;\n\t\t\tthis.$localStorage.set(key, status);\n\t\t\treturn status;\n\t\t},\n\t\tremoveGroup(groupid) {\n\t\t\tlet self = this;\n\t\t\t// TODO migrate to a vue js confirm dialog component \n\t\t\tOC.dialogs.confirm(\n\t\t\t\tt('settings', 'You are about to remove the group {group}. The users will NOT be deleted.', {group: groupid}),\n\t\t\t\tt('settings','Please confirm the group removal '),\n\t\t\t\tfunction (success) {\n\t\t\t\t\tif (success) {\n\t\t\t\t\t\tself.$store.dispatch('removeGroup', groupid);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Dispatch default quota set request\n\t\t * \n\t\t * @param {string|Object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @returns {string}\n\t\t */\n\t\tsetDefaultQuota(quota = 'none') {\n\t\t\tthis.$store.dispatch('setAppConfig', {\n\t\t\t\tapp: 'files',\n\t\t\t\tkey: 'default_quota',\n\t\t\t\t// ensure we only send the preset id\n\t\t\t\tvalue: quota.id ? quota.id : quota\n\t\t\t}).then(() => {\n\t\t\t\tif (typeof quota !== 'object') {\n\t\t\t\t\tquota = {id: quota, label: quota};\n\t\t\t\t}\n\t\t\t\tthis.defaultQuota = quota;\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t * \n\t\t * @param {string} quota Quota in readable format '5 GB'\n\t\t * @returns {Promise|boolean}\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tlet validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota === 0) {\n\t\t\t\treturn this.setDefaultQuota('none');\n\t\t\t} else if (validQuota !== null) {\n\t\t\t\t// unify format output\n\t\t\t\treturn this.setDefaultQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));\n\t\t\t}\n\t\t\t// if no valid do not change\n\t\t\treturn false;\n\t\t},\n\t},\n\tcomputed: {\n\t\tusers() {\n\t\t\treturn this.$store.getters.getUsers;\n\t\t},\n\t\tloading() {\n\t\t\treturn Object.keys(this.users).length === 0;\n\t\t},\n\t\tusersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset;\n\t\t},\n\t\tusersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit;\n\t\t},\n\n\t\t// Local settings\n\t\tshowLanguages: {\n\t\t\tget: function() {return this.getLocalstorage('showLanguages')},\n\t\t\tset: function(status) {\n\t\t\t\tthis.setLocalStorage('showLanguages', status);\n\t\t\t}\n\t\t},\n\t\tshowLastLogin: {\n\t\t\tget: function() {return this.getLocalstorage('showLastLogin')},\n\t\t\tset: function(status) {\n\t\t\t\tthis.setLocalStorage('showLastLogin', status);\n\t\t\t}\n\t\t},\n\t\tshowUserBackend: {\n\t\t\tget: function() {return this.getLocalstorage('showUserBackend')},\n\t\t\tset: function(status) {\n\t\t\t\tthis.setLocalStorage('showUserBackend', status);\n\t\t\t}\n\t\t},\n\t\tshowStoragePath: {\n\t\t\tget: function() {return this.getLocalstorage('showStoragePath')},\n\t\t\tset: function(status) {\n\t\t\t\tthis.setLocalStorage('showStoragePath', status);\n\t\t\t}\n\t\t},\n\n\t\tuserCount() {\n\t\t\treturn this.$store.getters.getUserCount;\n\t\t},\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData;\n\t\t},\n\n\t\t// default quota\n\t\tquotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tlet quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({id:cur, label:cur}), []);\n\t\t\t// add default presets\n\t\t\tquotaPreset.unshift(this.unlimitedQuota);\n\t\t\treturn quotaPreset;\n\t\t},\n\t\t// mapping saved values to objects\n\t\tdefaultQuota: {\n\t\t\tget: function() {\n\t\t\t\tif (this.selectedQuota !== false) {\n\t\t\t\t\treturn this.selectedQuota;\n\t\t\t\t}\n\t\t\t\tif (OC.Util.computerFileSize(this.settings.defaultQuota) > 0) {\n\t\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\t\treturn {id:this.settings.defaultQuota, label:this.settings.defaultQuota};\n\t\t\t\t}\n\t\t\t\treturn this.unlimitedQuota; // unlimited\n\t\t\t},\n\t\t\tset: function(quota) {\n\t\t\t\tthis.selectedQuota = quota;\n\t\t\t}\n\t\t\t\n\t\t},\n\n\t\t// BUILD APP NAVIGATION MENU OBJECT\n\t\tmenu() {\n\t\t\t// Data provided php side\n\t\t\tlet groups = this.$store.getters.getGroups;\n\t\t\tgroups = Array.isArray(groups) ? groups : [];\n\n\t\t\t// Map groups\n\t\t\tgroups = groups.map(group => {\n\t\t\t\tlet item = {};\n\t\t\t\titem.id = group.id.replace(' ', '_');\n\t\t\t\titem.classes = [];\t\t\t\t\t\t\t// empty classes, active will be set later\n\t\t\t\titem.router = {\t\t\t\t\t\t\t\t// router link to\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tparams: {selectedGroup: group.id}\n\t\t\t\t};\n\t\t\t\titem.text = group.name;\t\t\t\t\t\t// group name\n\t\t\t\titem.utils = {counter: group.usercount};\t// users count\n\n\t\t\t\tif (item.id !== 'admin' && item.id !== 'disabled') {\n\t\t\t\t\t// add delete button on real groups\n\t\t\t\t\tlet self = this;\n\t\t\t\t\titem.utils.actions = [{\n\t\t\t\t\t\ticon: 'icon-delete',\n\t\t\t\t\t\ttext: t('settings', 'Remove group'),\n\t\t\t\t\t\taction: function() {self.removeGroup(group.id)}\n\t\t\t\t\t}];\n\t\t\t\t};\n\t\t\t\treturn item;\n\t\t\t});\n\n\t\t\t// Adjust data\n\t\t\tlet adminGroup = groups.find(group => group.id == 'admin');\n\t\t\tlet disabledGroupIndex = groups.findIndex(group => group.id == 'disabled');\n\t\t\tlet disabledGroup = groups[disabledGroupIndex];\n\t\t\tif (adminGroup && adminGroup.text) {\n\t\t\t\tadminGroup.text = t('settings', 'Admins'); // rename admin group\n\t\t\t}\n\t\t\tif (disabledGroup && disabledGroup.text) {\n\t\t\t\tdisabledGroup.text = t('settings', 'Disabled users'); // rename disabled group\n\t\t\t\tif (disabledGroup.utils.counter === 0) {\n\t\t\t\t\tgroups.splice(disabledGroupIndex, 1); // remove disabled if empty\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add everyone group\n\t\t\tgroups.unshift({\n\t\t\t\tid: 'everyone',\n\t\t\t\tclasses: [],\n\t\t\t\trouter: {name:'users'},\n\t\t\t\ttext: t('settings', 'Everyone'),\n\t\t\t\tutils: {counter: this.userCount}\n\t\t\t});\n\n\t\t\t// Set current group as active\n\t\t\tlet activeGroup = groups.findIndex(group => group.id === this.selectedGroup);\n\t\t\tif (activeGroup >= 0) {\n\t\t\t\tgroups[activeGroup].classes.push('active');\n\t\t\t} else {\n\t\t\t\tgroups[0].classes.push('active');\n\t\t\t}\n\n\t\t\t// Return\n\t\t\treturn {\n\t\t\t\tid: 'usergrouplist',\n\t\t\t\tnew: {\n\t\t\t\t\tid:'new-user-button',\n\t\t\t\t\ttext: t('settings','New user'),\n\t\t\t\t\ticon: 'icon-add',\n\t\t\t\t\taction: this.toggleNewUserMenu\n\t\t\t\t},\n\t\t\t\titems: groups\n\t\t\t}\n\t\t},\n\t}\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/views/Users.vue","<template>\n\t<div id=\"app-navigation\" :class=\"{'icon-loading': menu.loading}\">\n\t\t<div class=\"app-navigation-new\" v-if=\"menu.new\">\n\t\t\t<button type=\"button\" :id=\"menu.new.id\" :class=\"menu.new.icon\" @click=\"menu.new.action\">{{menu.new.text}}</button>\n\t\t</div>\n\t\t<ul :id=\"menu.id\">\n\t\t\t<navigation-item v-for=\"(item, key) in menu.items\" :item=\"item\" :key=\"key\" />\n\t\t</ul>\n\t\t<div id=\"app-settings\">\n\t\t\t<div id=\"app-settings-header\">\n\t\t\t\t<button class=\"settings-button\"\n\t\t\t\t\t\tdata-apps-slide-toggle=\"#app-settings-content\"\n\t\t\t\t>{{t('settings', 'Settings')}}</button>\n\t\t\t</div>\n\t\t\t<div id=\"app-settings-content\">\n\t\t\t\t<slot name=\"settings-content\"></slot>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport navigationItem from './appNavigation/navigationItem';\n\nexport default {\n\tname: 'appNavigation',\n\tprops: ['menu'],\n\tcomponents: {\n\t\tnavigationItem\n\t}\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/appNavigation.vue","<template>\n\t<li :id=\"item.id\" :class=\"[{'icon-loading-small': item.loading, 'open': item.opened, 'collapsible': item.collapsible&&item.children&&item.children.length>0 }, item.classes]\">\n\n\t\t<!-- Bullet -->\n\t\t<div v-if=\"item.bullet\" class=\"app-navigation-entry-bullet\" :style=\"{ backgroundColor: item.bullet }\"></div>\n\n\t\t<!-- Main link -->\n\t\t<a v-if=\"item.href\" :href=\"(item.href) ? item.href : '#' \" @click=\"toggleCollapse\" :class=\"item.icon\" >\n\t\t\t<img v-if=\"item.iconUrl\" :alt=\"item.text\" :src=\"item.iconUrl\">\n\t\t\t{{item.text}}\n\t\t</a>\n\n\t\t<!-- Router link if specified. href OR router -->\n\t\t<router-link :to=\"item.router\" v-else-if=\"item.router\" :class=\"item.icon\" >\n\t\t\t<img v-if=\"item.iconUrl\" :alt=\"item.text\" :src=\"item.iconUrl\">\n\t\t\t{{item.text}}\n\t\t</router-link>\t\n\n\t\t<!-- Popover, counter and button(s) -->\n\t\t<div v-if=\"item.utils\" class=\"app-navigation-entry-utils\">\n\t\t\t<ul>\n\t\t\t\t<!-- counter -->\n\t\t\t\t<li v-if=\"Number.isInteger(item.utils.counter)\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-counter\">{{item.utils.counter}}</li>\n\n\t\t\t\t<!-- first action if only one action and counter -->\n\t\t\t\t<li v-if=\"item.utils.actions && item.utils.actions.length === 1 && Number.isInteger(item.utils.counter)\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-menu-button\">\n\t\t\t\t\t<button @click=\"item.utils.actions[0].action\" :class=\"item.utils.actions[0].icon\" :title=\"item.utils.actions[0].text\"></button>\n\t\t\t\t</li>\n\n\t\t\t\t<!-- second action only two actions and no counter -->\n\t\t\t\t<li v-else-if=\"item.utils.actions && item.utils.actions.length === 2 && !Number.isInteger(item.utils.counter)\"\n\t\t\t\t\tv-for=\"action in item.utils.actions\" :key=\"action.action\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-menu-button\">\n\t\t\t\t\t<button @click=\"action.action\" :class=\"action.icon\" :title=\"action.text\"></button>\n\t\t\t\t</li>\n\n\t\t\t\t<!-- menu if only at least one action and counter OR two actions and no counter-->\n\t\t\t\t<li v-else-if=\"item.utils.actions && item.utils.actions.length > 1 && (Number.isInteger(item.utils.counter) || item.utils.actions.length > 2)\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-menu-button\">\n\t\t\t\t\t<button v-click-outside=\"hideMenu\" @click=\"showMenu\" ></button>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</div>\n\n\t\t<!-- if more than 2 actions or more than 1 actions with counter -->\n\t\t<div v-if=\"item.utils && item.utils.actions && item.utils.actions.length > 1 && (Number.isInteger(item.utils.counter) || item.utils.actions.length > 2)\"\n\t\t\t class=\"app-navigation-entry-menu\" :class=\"{ 'open': openedMenu }\">\n\t\t\t <popover-menu :menu=\"item.utils.actions\"/>\n\t\t</div>\n\n\t\t<!-- undo entry -->\n\t\t<div class=\"app-navigation-entry-deleted\" v-if=\"item.undo\">\n\t\t\t<div class=\"app-navigation-entry-deleted-description\">{{item.undo.text}}</div>\n\t\t\t<button class=\"app-navigation-entry-deleted-button icon-history\" :title=\"t('settings', 'Undo')\"></button>\n\t\t</div>\n\n\t\t<!-- edit entry -->\n\t\t<div class=\"app-navigation-entry-edit\" v-if=\"item.edit\">\n\t\t\t<form>\n\t\t\t\t<input type=\"text\" v-model=\"item.text\">\n\t\t\t\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\n\t\t\t\t<input type=\"submit\" value=\"\" class=\"icon-close\" @click.stop.prevent=\"cancelEdit\">\n\t\t\t</form>\n\t\t</div>\n\n\t\t<!-- if the item has children, inject the component with proper data -->\n\t\t<ul v-if=\"item.children\">\n\t\t\t<navigation-item v-for=\"(item, key) in item.children\" :item=\"item\" :key=\"key\" />\n\t\t</ul>\n\t</li>\n</template>\n\n<script>\nimport popoverMenu from '../popoverMenu';\nimport ClickOutside from 'vue-click-outside';\nimport Vue from 'vue';\n\nexport default {\n\tname: 'navigationItem',\n\tprops: ['item'],\n\tcomponents: {\n\t\tpopoverMenu\n\t},\n\tdirectives: {\n\t\tClickOutside\n\t},\n\tdata() {\n\t\treturn {\n\t\t\topenedMenu: false\n\t\t}\n\t},\n\tmethods: {\n\t\tshowMenu() {\n\t\t\tthis.openedMenu = true;\n\t\t},\n\t\thideMenu() {\n\t\t\tthis.openedMenu = false;\n\t\t},\n\t\ttoggleCollapse() {\n\t\t\t// if item.opened isn't set, Vue won't trigger view updates https://vuejs.org/v2/api/#Vue-set\n\t\t\t// ternary is here to detect the undefined state of item.opened\n\t\t\tVue.set(this.item, 'opened', this.item.opened ? !this.item.opened : true);\n\t\t},\n\t\tcancelEdit() {\n\t\t\t// remove the editing class\n\t\t\tif (Array.isArray(this.item.classes))\n\t\t\t\tthis.item.classes = this.item.classes.filter(item => item !== 'editing');\n\t\t}\n\t},\n\tmounted() {\n\t\t// prevent click outside event with popupItem.\n\t\tthis.popupItem = this.$el;\n\t},\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/appNavigation/navigationItem.vue","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./popoverMenu.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./popoverMenu.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-24e4fcfe\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./popoverMenu.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/popoverMenu.vue\n// module id = 12\n// module chunks = 0","<template>\n\t<ul>\n\t\t<popover-item v-for=\"(item, key) in menu\" :item=\"item\" :key=\"key\" />\n\t</ul>\n</template>\n\n\n<script>\nimport popoverItem from './popoverMenu/popoverItem';\n\nexport default {\n\tname: 'popoverMenu',\n\tprops: ['menu'],\n\tcomponents: {\n\t\tpopoverItem\n\t}\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/popoverMenu.vue","<template>\n\t<li>\n\t\t<!-- If item.href is set, a link will be directly used -->\n\t\t<a @click=\"item.action\" v-if=\"item.href\" :href=\"(item.href) ? item.href : '#' \">\n\t\t\t<span :class=\"item.icon\"></span>\n\t\t\t<span v-if=\"item.text\">{{item.text}}</span>\n\t\t\t<p v-else-if=\"item.longtext\">{{item.longtext}}</p>\n\t\t</a>\n\t\t<!-- If item.action is set instead, a button will be used -->\n\t\t<button @click=\"item.action\" v-else-if=\"item.action\">\n\t\t\t<span :class=\"item.icon\"></span>\n\t\t\t<span v-if=\"item.text\">{{item.text}}</span>\n\t\t\t<p v-else-if=\"item.longtext\">{{item.longtext}}</p>\n\t\t</button>\n\t\t<!-- If item.longtext is set AND the item does not have an action -->\n\t\t<span v-else>\n\t\t\t<span :class=\"item.icon\"></span>\n\t\t\t<span v-if=\"item.text\">{{item.text}}</span>\n\t\t\t<p v-else-if=\"item.longtext\">{{item.longtext}}</p>\n\t\t</span>\n\t</li>\n</template>\n\n<script>\nexport default {\n\tprops: ['item']\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/popoverMenu/popoverItem.vue","function validate(binding) {\r\n if (typeof binding.value !== 'function') {\r\n console.warn('[Vue-click-outside:] provided expression', binding.expression, 'is not a function.')\r\n return false\r\n }\r\n\r\n return true\r\n}\r\n\r\nfunction isPopup(popupItem, elements) {\r\n if (!popupItem || !elements)\r\n return false\r\n\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n try {\r\n if (popupItem.contains(elements[i])) {\r\n return true\r\n }\r\n if (elements[i].contains(popupItem)) {\r\n return false\r\n }\r\n } catch(e) {\r\n return false\r\n }\r\n }\r\n\r\n return false\r\n}\r\n\r\nfunction isServer(vNode) {\r\n return typeof vNode.componentInstance !== 'undefined' && vNode.componentInstance.$isServer\r\n}\r\n\r\nexports = module.exports = {\r\n bind: function (el, binding, vNode) {\r\n if (!validate(binding)) return\r\n\r\n // Define Handler and cache it on the element\r\n function handler(e) {\r\n if (!vNode.context) return\r\n\r\n // some components may have related popup item, on which we shall prevent the click outside event handler.\r\n var elements = e.path || (e.composedPath && e.composedPath())\r\n elements && elements.length > 0 && elements.unshift(e.target)\r\n \r\n if (el.contains(e.target) || isPopup(vNode.context.popupItem, elements)) return\r\n\r\n el.__vueClickOutside__.callback(e)\r\n }\r\n\r\n // add Event Listeners\r\n el.__vueClickOutside__ = {\r\n handler: handler,\r\n callback: binding.value\r\n }\r\n !isServer(vNode) && document.addEventListener('click', handler)\r\n },\r\n\r\n update: function (el, binding) {\r\n if (validate(binding)) el.__vueClickOutside__.callback = binding.value\r\n },\r\n \r\n unbind: function (el, binding, vNode) {\r\n // Remove Event Listeners\r\n !isServer(vNode) && document.removeEventListener('click', el.__vueClickOutside__.handler)\r\n delete el.__vueClickOutside__\r\n }\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-click-outside/index.js\n// module id = 15\n// module chunks = 0","<template>\n\t<div id=\"app-content\" class=\"user-list-grid\" v-on:scroll.passive=\"onScroll\">\n\t\t<div class=\"row\" id=\"grid-header\" :class=\"{'sticky': scrolled && !showConfig.showNewUserForm}\">\n\t\t\t<div id=\"headerAvatar\" class=\"avatar\"></div>\n\t\t\t<div id=\"headerName\" class=\"name\">{{ t('settings', 'Username') }}</div>\n\t\t\t<div id=\"headerDisplayName\" class=\"displayName\">{{ t('settings', 'Full name') }}</div>\n\t\t\t<div id=\"headerPassword\" class=\"password\">{{ t('settings', 'Password') }}</div>\n\t\t\t<div id=\"headerAddress\" class=\"mailAddress\">{{ t('settings', 'Email') }}</div>\n\t\t\t<div id=\"headerGroups\" class=\"groups\">{{ t('settings', 'Groups') }}</div>\n\t\t\t<div id=\"headerSubAdmins\" class=\"subadmins\"\n\t\t\t\t v-if=\"subAdminsGroups.length>0\">{{ t('settings', 'Group admin for') }}</div>\n\t\t\t<div id=\"headerQuota\" class=\"quota\">{{ t('settings', 'Quota') }}</div>\n\t\t\t<div id=\"headerLanguages\" class=\"languages\"\n\t\t\t\t v-if=\"showConfig.showLanguages\">{{ t('settings', 'Languages') }}</div>\n\t\t\t<div class=\"headerStorageLocation storageLocation\"\n\t\t\t\t v-if=\"showConfig.showStoragePath\">{{ t('settings', 'Storage location') }}</div>\n\t\t\t<div class=\"headerUserBackend userBackend\"\n\t\t\t\t v-if=\"showConfig.showUserBackend\">{{ t('settings', 'User backend') }}</div>\n\t\t\t<div class=\"headerLastLogin lastLogin\" \n\t\t\t\t v-if=\"showConfig.showLastLogin\">{{ t('settings', 'Last login') }}</div>\n\t\t\t<div class=\"userActions\"></div>\n\t\t</div>\n\n\t\t<form class=\"row\" id=\"new-user\" v-show=\"showConfig.showNewUserForm\"\n\t\t\t v-on:submit.prevent=\"createUser\" :disabled=\"loading\"\n\t\t\t :class=\"{'sticky': scrolled && showConfig.showNewUserForm}\">\n\t\t\t<div :class=\"loading?'icon-loading-small':'icon-add'\"></div>\n\t\t\t<div class=\"name\">\n\t\t\t\t<input id=\"newusername\" type=\"text\" required v-model=\"newUser.id\"\n\t\t\t\t\t :placeholder=\"t('settings', 'User name')\" name=\"username\"\n\t\t\t\t\t autocomplete=\"off\" autocapitalize=\"none\" autocorrect=\"off\"\n\t\t\t\t\t pattern=\"[a-zA-Z0-9 _\\.@\\-']+\">\n\t\t\t</div>\n\t\t\t<div class=\"displayName\">\n\t\t\t\t<input id=\"newdisplayname\" type=\"text\" v-model=\"newUser.displayName\"\n\t\t\t\t\t :placeholder=\"t('settings', 'Display name')\" name=\"displayname\"\n\t\t\t\t\t autocomplete=\"off\" autocapitalize=\"none\" autocorrect=\"off\">\n\t\t\t</div>\n\t\t\t<div class=\"password\">\n\t\t\t\t<input id=\"newuserpassword\" type=\"password\" v-model=\"newUser.password\"\n\t\t\t\t\t :required=\"newUser.mailAddress===''\"\n\t\t\t\t\t :placeholder=\"t('settings', 'Password')\" name=\"password\"\n\t\t\t\t\t autocomplete=\"new-password\" autocapitalize=\"none\" autocorrect=\"off\"\n\t\t\t\t\t :minlength=\"minPasswordLength\">\n\t\t\t</div>\n\t\t\t<div class=\"mailAddress\">\n\t\t\t\t<input id=\"newemail\" type=\"email\" v-model=\"newUser.mailAddress\"\n\t\t\t\t\t :required=\"newUser.password===''\"\n\t\t\t\t\t :placeholder=\"t('settings', 'Mail address')\" name=\"email\"\n\t\t\t\t\t autocomplete=\"off\" autocapitalize=\"none\" autocorrect=\"off\">\n\t\t\t</div>\n\t\t\t<div class=\"groups\">\n\t\t\t\t<multiselect :options=\"groups\" v-model=\"newUser.groups\"\n\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Add user in group')\"\n\t\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t :multiple=\"true\" :close-on-select=\"false\">\n\t\t\t\t\t<span slot=\"noResult\">{{t('settings','No result')}}</span>\n\t\t\t\t</multiselect>\n\t\t\t</div>\n\t\t\t<div class=\"subadmins\" v-if=\"subAdminsGroups.length>0\">\n\t\t\t\t<multiselect :options=\"subAdminsGroups\" v-model=\"newUser.subAdminsGroups\"\n\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Set user as admin for')\"\n\t\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t :multiple=\"true\" :close-on-select=\"false\">\n\t\t\t\t\t<span slot=\"noResult\">{{t('settings','No result')}}</span>\n\t\t\t</multiselect>\n\t\t\t</div>\n\t\t\t<div class=\"quota\">\n\t\t\t\t<multiselect :options=\"quotaOptions\" v-model=\"newUser.quota\"\n\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Select user quota')\"\n\t\t\t\t\t\t\t label=\"label\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t :allowEmpty=\"false\" :taggable=\"true\"\n\t\t\t\t\t\t \t @tag=\"validateQuota\" >\n\t\t\t\t</multiselect>\n\t\t\t</div>\n\t\t\t<div class=\"languages\" v-if=\"showConfig.showLanguages\">\n\t\t\t\t<multiselect :options=\"languages\" v-model=\"newUser.language\"\n\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Default language')\"\n\t\t\t\t\t\t\t label=\"name\" track-by=\"code\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t :allowEmpty=\"false\" group-values=\"languages\" group-label=\"label\">\n\t\t\t\t</multiselect>\n\t\t\t</div>\n\t\t\t<div class=\"storageLocation\" v-if=\"showConfig.showStoragePath\"></div>\n\t\t\t<div class=\"userBackend\" v-if=\"showConfig.showUserBackend\"></div>\n\t\t\t<div class=\"lastLogin\" v-if=\"showConfig.showLastLogin\"></div>\n\t\t\t<div class=\"userActions\">\n\t\t\t\t<input type=\"submit\" id=\"newsubmit\" class=\"button primary icon-checkmark-white has-tooltip\"\n\t\t\t\t\t value=\"\" :title=\"t('settings', 'Add a new user')\">\n\t\t\t\t<input type=\"reset\" id=\"newreset\" class=\"button icon-close has-tooltip\" @click=\"resetForm\"\n\t\t\t\t\t value=\"\" :title=\"t('settings', 'Cancel and reset the form')\">\n\t\t\t</div>\n\t\t</form>\n\n\t\t<user-row v-for=\"(user, key) in filteredUsers\" :user=\"user\" :key=\"key\" :settings=\"settings\" :showConfig=\"showConfig\"\n\t\t\t\t :groups=\"groups\" :subAdminsGroups=\"subAdminsGroups\" :quotaOptions=\"quotaOptions\" :languages=\"languages\" />\n\t\t<infinite-loading @infinite=\"infiniteHandler\" ref=\"infiniteLoading\">\n\t\t\t<div slot=\"spinner\"><div class=\"users-icon-loading icon-loading\"></div></div>\n\t\t\t<div slot=\"no-more\"><div class=\"users-list-end\">— {{t('settings', 'no more results')}} —</div></div>\n\t\t\t<div slot=\"no-results\">\n\t\t\t\t<div id=\"emptycontent\">\n\t\t\t\t\t<div class=\"icon-contacts-dark\"></div>\n\t\t\t\t\t<h2>{{t('settings', 'No users in here')}}</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</infinite-loading>\n\t</div>\n</template>\n\n<script>\nimport userRow from './userList/userRow';\nimport Multiselect from 'vue-multiselect';\nimport InfiniteLoading from 'vue-infinite-loading';\nimport Vue from 'vue';\n\nexport default {\n\tname: 'userList',\n\tprops: ['users', 'showConfig', 'selectedGroup'],\n\tcomponents: {\n\t\tuserRow,\n\t\tMultiselect,\n\t\tInfiniteLoading\n\t},\n\tdata() {\n\t\tlet unlimitedQuota = {id:'none', label:t('settings', 'Unlimited')},\n\t\t\tdefaultQuota = {id:'default', label:t('settings', 'Default quota')};\n\t\treturn {\n\t\t\tunlimitedQuota: unlimitedQuota,\n\t\t\tdefaultQuota: defaultQuota,\n\t\t\tloading: false,\n\t\t\tscrolled: false,\n\t\t\tnewUser: {\n\t\t\t\tid:'',\n\t\t\t\tdisplayName:'',\n\t\t\t\tpassword:'',\n\t\t\t\tmailAddress:'',\n\t\t\t\tgroups: [],\n\t\t\t\tsubAdminsGroups: [],\n\t\t\t\tquota: defaultQuota,\n\t\t\t\tlanguage: {code: 'en', name: t('settings', 'Default language')}\n\t\t\t}\n\t\t};\n\t},\n\tmounted() {\n\t\tif (!this.settings.canChangePassword) {\n\t\t\tOC.Notification.showTemporary(t('settings', 'Password change is disabled because the master key is disabled'));\n\t\t}\n\t\t/** \n\t\t * Init default language from server data. The use of this.settings\n\t\t * requires a computed variable,vwhich break the v-model binding of the form,\n\t\t * this is a much easier solution than getter and setter\n\t\t */\n\t\tVue.set(this.newUser.language, 'code', this.settings.defaultLanguage);\n\t},\n\tcomputed: {\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData;\n\t\t},\n\t\tfilteredUsers() {\n\t\t\tif (this.selectedGroup === 'disabled') {\n\t\t\t\tlet disabledUsers = this.users.filter(user => user.enabled !== true);\n\t\t\t\tif (disabledUsers.length===0 && this.$refs.infiniteLoading && this.$refs.infiniteLoading.isComplete) {\n\t\t\t\t\t// disabled group is empty, redirection to all users\n\t\t\t\t\tthis.$router.push({name: 'users'});\n\t\t\t\t\tthis.$refs.infiniteLoading.$emit('$InfiniteLoading:reset');\n\t\t\t\t}\n\t\t\t\treturn disabledUsers;\n\t\t\t}\n\t\t\treturn this.users.filter(user => user.enabled === true);\n\t\t},\n\t\tgroups() {\n\t\t\t// data provided php side + remove the disabled group\n\t\t\treturn this.$store.getters.getGroups.filter(group => group.id !== 'disabled');\n\t\t},\n\t\tsubAdminsGroups() {\n\t\t\t// data provided php side\n\t\t\treturn this.$store.getters.getServerData.subadmingroups;\n\t\t},\n\t\tquotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tlet quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({id:cur, label:cur}), []);\n\t\t\t// add default presets\n\t\t\tquotaPreset.unshift(this.unlimitedQuota);\n\t\t\tquotaPreset.unshift(this.defaultQuota);\n\t\t\treturn quotaPreset;\n\t\t},\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength;\n\t\t},\n\t\tusersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset;\n\t\t},\n\t\tusersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit;\n\t\t},\n\n\t\t/* LANGUAGES */\n\t\tlanguages() {\n\t\t\treturn Array(\n\t\t\t\t{\n\t\t\t\t\tlabel: t('settings', 'Common languages'),\n\t\t\t\t\tlanguages: this.settings.languages.commonlanguages\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('settings', 'All languages'),\n\t\t\t\t\tlanguages: this.settings.languages.languages\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t},\n\twatch: {\n\t\t// watch url change and group select\n\t\tselectedGroup: function (val, old) {\n\t\t\tthis.$store.commit('resetUsers');\n\t\t\tthis.$refs.infiniteLoading.$emit('$InfiniteLoading:reset');\n\t\t}\n\t},\n\tmethods: {\n\t\tonScroll(event) {\n\t\t\tthis.scrolled = event.target.scrollTop>0;\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t * \n\t\t * @param {string} quota Quota in readable format '5 GB'\n\t\t * @returns {Object}\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tlet validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota !== null && validQuota > 0) {\n\t\t\t\t// unify format output\n\t\t\t\tquota = OC.Util.humanFileSize(OC.Util.computerFileSize(quota));\n\t\t\t\treturn this.newUser.quota = {id: quota, label: quota};\n\t\t\t}\n\t\t\t// Default is unlimited\n\t\t\treturn this.newUser.quota = this.quotaOptions[0];\n\t\t},\n\n\t\tinfiniteHandler($state) {\n\t\t\tthis.$store.dispatch('getUsers', {\n\t\t\t\toffset: this.usersOffset,\n\t\t\t\tlimit: this.usersLimit,\n\t\t\t\tgroup: this.selectedGroup !== 'disabled' ? this.selectedGroup : ''})\n\t\t\t\t.then((response) => {response?$state.loaded():$state.complete()});\n\t\t},\n\n\t\tresetForm() {\n\t\t\t// revert form to original state\n\t\t\tObject.assign(this.newUser, this.$options.data.call(this).newUser);\n\t\t\tthis.loading = false;\n\t\t},\n\t\tcreateUser() {\n\t\t\tthis.loading = true;\n\t\t\tthis.$store.dispatch('addUser', {\n\t\t\t\tuserid: this.newUser.id,\n\t\t\t\tpassword: this.newUser.password,\n\t\t\t\temail: this.newUser.mailAddress,\n\t\t\t\tgroups: this.newUser.groups.map(group => group.id),\n\t\t\t\tsubadmin: this.newUser.subAdminsGroups.map(group => group.id),\n\t\t\t\tquota: this.newUser.quota.id,\n\t\t\t\tlanguage: this.newUser.language.code,\n\t\t\t}).then(() => this.resetForm());\n\t\t}\n\t}\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/userList.vue","<template>\n\t<div class=\"row\" :class=\"{'disabled': loading.delete || loading.disable}\">\n\t\t<div class=\"avatar\" :class=\"{'icon-loading-small': loading.delete || loading.disable}\">\n\t\t\t<img alt=\"\" width=\"32\" height=\"32\" :src=\"generateAvatar(user.id, 32)\"\n\t\t\t\t :srcset=\"generateAvatar(user.id, 64)+' 2x, '+generateAvatar(user.id, 128)+' 4x'\"\n\t\t\t\t v-if=\"!loading.delete && !loading.disable\">\n\t\t</div>\n\t\t<div class=\"name\">{{user.id}}</div>\n\t\t<form class=\"displayName\" :class=\"{'icon-loading-small': loading.displayName}\" v-on:submit.prevent=\"updateDisplayName\">\n\t\t\t<input :id=\"'displayName'+user.id+rand\" type=\"text\"\n\t\t\t\t\t:disabled=\"loading.displayName||loading.all\"\n\t\t\t\t\t:value=\"user.displayname\"\n\t\t\t\t\tautocomplete=\"new-password\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" />\n\t\t\t<input type=\"submit\" class=\"icon-confirm\" value=\"\" />\n\t\t</form>\n\t\t<form class=\"password\" v-if=\"settings.canChangePassword\" :class=\"{'icon-loading-small': loading.password}\"\n\t\t\t v-on:submit.prevent=\"updatePassword\">\n\t\t\t<input :id=\"'password'+user.id+rand\" type=\"password\" required\n\t\t\t\t\t:disabled=\"loading.password||loading.all\" :minlength=\"minPasswordLength\"\n\t\t\t\t\tvalue=\"\" :placeholder=\"t('settings', 'New password')\" ref=\"password\"\n\t\t\t\t\tautocomplete=\"new-password\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" />\n\t\t\t<input type=\"submit\" class=\"icon-confirm\" value=\"\" />\n\t\t</form>\n\t\t<div v-else></div>\n\t\t<form class=\"mailAddress\" :class=\"{'icon-loading-small': loading.mailAddress}\" v-on:submit.prevent=\"updateEmail\">\n\t\t\t<input :id=\"'mailAddress'+user.id+rand\" type=\"email\"\n\t\t\t\t\t:disabled=\"loading.mailAddress||loading.all\"\n\t\t\t\t\t:value=\"user.email\" ref=\"mailAddress\"\n\t\t\t\t\tautocomplete=\"new-password\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" />\n\t\t\t<input type=\"submit\" class=\"icon-confirm\" value=\"\" />\n\t\t</form>\n\t\t<div class=\"groups\" :class=\"{'icon-loading-small': loading.groups}\">\n\t\t\t<multiselect :value=\"userGroups\" :options=\"groups\" :disabled=\"loading.groups||loading.all\"\n\t\t\t\t\t\t tag-placeholder=\"create\" :placeholder=\"t('settings', 'Add user in group')\"\n\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t :limit=\"2\" :limitText=\"limitGroups\"\n\t\t\t\t\t\t :multiple=\"true\" :taggable=\"true\" :closeOnSelect=\"false\"\n\t\t\t\t\t\t @tag=\"createGroup\" @select=\"addUserGroup\" @remove=\"removeUserGroup\">\n\t\t\t</multiselect>\n\t\t</div>\n\t\t<div class=\"subadmins\" v-if=\"subAdminsGroups.length>0\" :class=\"{'icon-loading-small': loading.subadmins}\">\n\t\t\t<multiselect :value=\"userSubAdminsGroups\" :options=\"subAdminsGroups\" :disabled=\"loading.subadmins||loading.all\"\n\t\t\t\t\t\t :placeholder=\"t('settings', 'Set user as admin for')\"\n\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t :limit=\"2\" :limitText=\"limitGroups\"\n\t\t\t\t\t\t :multiple=\"true\" :closeOnSelect=\"false\"\n\t\t\t\t\t\t @select=\"addUserSubAdmin\" @remove=\"removeUserSubAdmin\">\n\t\t\t\t<span slot=\"noResult\">{{t('settings','No result')}}</span>\n\t\t\t</multiselect>\n\t\t</div>\n\t\t<div class=\"quota\" :class=\"{'icon-loading-small': loading.quota}\">\n\t\t\t<multiselect :value=\"userQuota\" :options=\"quotaOptions\" :disabled=\"loading.quota||loading.all\"\n\t\t\t\t\t\t tag-placeholder=\"create\" :placeholder=\"t('settings', 'Select user quota')\"\n\t\t\t\t\t\t label=\"label\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t :allowEmpty=\"false\" :taggable=\"true\"\n\t\t\t\t\t\t @tag=\"validateQuota\" @input=\"setUserQuota\">\n\t\t\t</multiselect>\n\t\t\t<progress class=\"quota-user-progress\" :class=\"{'warn':usedQuota>80}\" :value=\"usedQuota\" max=\"100\"></progress>\n\t\t</div>\n\t\t<div class=\"languages\" :class=\"{'icon-loading-small': loading.languages}\"\n\t\t\t v-if=\"showConfig.showLanguages\">\n\t\t\t<multiselect :value=\"userLanguage\" :options=\"languages\" :disabled=\"loading.languages||loading.all\"\n\t\t\t\t\t\t :placeholder=\"t('settings', 'No language set')\"\n\t\t\t\t\t\t label=\"name\" track-by=\"code\" class=\"multiselect-vue\"\n\t\t\t\t\t\t :allowEmpty=\"false\" group-values=\"languages\" group-label=\"label\"\n\t\t\t\t\t\t @input=\"setUserLanguage\">\n\t\t\t</multiselect>\n\t\t</div>\n\t\t<div class=\"storageLocation\" v-if=\"showConfig.showStoragePath\">{{user.storageLocation}}</div>\n\t\t<div class=\"userBackend\" v-if=\"showConfig.showUserBackend\">{{user.backend}}</div>\n\t\t<div class=\"lastLogin\" v-if=\"showConfig.showLastLogin\" v-tooltip.auto=\"user.lastLogin>0 ? OC.Util.formatDate(user.lastLogin) : ''\">\n\t\t\t{{user.lastLogin>0 ? OC.Util.relativeModifiedDate(user.lastLogin) : t('settings','Never')}}\n\t\t</div>\n\t\t<div class=\"userActions\">\n\t\t\t<div class=\"toggleUserActions\" v-if=\"OC.currentUser !== user.id && user.id !== 'admin' && !loading.all\">\n\t\t\t\t<div class=\"icon-more\" v-click-outside=\"hideMenu\" @click=\"toggleMenu\"></div>\n\t\t\t\t<div class=\"popovermenu\" :class=\"{ 'open': openedMenu }\">\n\t\t\t\t\t<popover-menu :menu=\"userActions\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t</div>\n</template>\n\n<script>\nimport popoverMenu from '../popoverMenu';\nimport ClickOutside from 'vue-click-outside';\nimport Multiselect from 'vue-multiselect';\nimport Vue from 'vue'\nimport VTooltip from 'v-tooltip'\n\nVue.use(VTooltip)\n\nexport default {\n\tname: 'userRow',\n\tprops: ['user', 'settings', 'groups', 'subAdminsGroups', 'quotaOptions', 'showConfig', 'languages'],\n\tcomponents: {\n\t\tpopoverMenu,\n\t\tMultiselect\n\t},\n\tdirectives: {\n\t\tClickOutside\n\t},\n\tmounted() {\n\t\t// required if popup needs to stay opened after menu click\n\t\t// since we only have disable/delete actions, let's close it directly\n\t\t// this.popupItem = this.$el;\n\t},\n\tdata() {\n\t\treturn {\n\t\t\trand: parseInt(Math.random() * 1000),\n\t\t\topenedMenu: false,\n\t\t\tloading: {\n\t\t\t\tall: false,\n\t\t\t\tdisplayName: false,\n\t\t\t\tpassword: false,\n\t\t\t\tmailAddress: false,\n\t\t\t\tgroups: false,\n\t\t\t\tsubadmins: false,\n\t\t\t\tquota: false,\n\t\t\t\tdelete: false,\n\t\t\t\tdisable: false,\n\t\t\t\tlanguages: false\n\t\t\t}\n\t\t}\n\t},\n\tcomputed: {\n\t\t/* USER POPOVERMENU ACTIONS */\n\t\tuserActions() {\n\t\t\treturn [{\n\t\t\t\ticon: 'icon-delete',\n\t\t\t\ttext: t('settings','Delete user'),\n\t\t\t\taction: this.deleteUser\n\t\t\t},{\n\t\t\t\ticon: this.user.enabled ? 'icon-close' : 'icon-add',\n\t\t\t\ttext: this.user.enabled ? t('settings','Disable user') : t('settings','Enable user'),\n\t\t\t\taction: this.enableDisableUser\n\t\t\t}]\n\t\t},\n\n\t\t/* GROUPS MANAGEMENT */\n\t\tuserGroups() {\n\t\t\tlet userGroups = this.groups.filter(group => this.user.groups.includes(group.id));\n\t\t\treturn userGroups;\n\t\t},\n\t\tuserSubAdminsGroups() {\n\t\t\tlet userSubAdminsGroups = this.subAdminsGroups.filter(group => this.user.subadmin.includes(group.id));\n\t\t\treturn userSubAdminsGroups;\n\t\t},\n\n\t\t/* QUOTA MANAGEMENT */\n\t\tusedQuota() {\n\t\t\tlet quota = this.user.quota.quota;\n\t\t\tif (quota > 0) {\n\t\t\t\tquota = Math.min(100, Math.round(this.user.quota.used / quota * 100));\n\t\t\t} else {\n\t\t\t\tvar usedInGB = this.user.quota.used / (10 * Math.pow(2, 30));\n\t\t\t\t//asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota\n\t\t\t\tquota = 95 * (1 - (1 / (usedInGB + 1)));\n\t\t\t}\n\t\t\treturn isNaN(quota) ? 0 : quota;\n\t\t},\n\t\t// Mapping saved values to objects\n\t\tuserQuota() {\n\t\t\tif (this.user.quota.quota > 0) {\n\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\tlet humanQuota = OC.Util.humanFileSize(this.user.quota.quota);\n\t\t\t\tlet userQuota = this.quotaOptions.find(quota => quota.id === humanQuota);\n\t\t\t\treturn userQuota ? userQuota : {id:humanQuota, label:humanQuota};\n\t\t\t} else if (this.user.quota.quota === 0 || this.user.quota.quota === 'default') {\n\t\t\t\t// default quota is replaced by the proper value on load\n\t\t\t\treturn this.quotaOptions[0];\n\t\t\t}\n\t\t\treturn this.quotaOptions[1]; // unlimited\n\t\t},\n\n\t\t/* PASSWORD POLICY? */\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength;\n\t\t},\n\n\t\t/* LANGUAGE */\n\t\tuserLanguage() {\n\t\t\tlet availableLanguages = this.languages[0].languages.concat(this.languages[1].languages);\n\t\t\tlet userLang = availableLanguages.find(lang => lang.code === this.user.language);\n\t\t\tif (typeof userLang !== 'object' && this.user.language !== '') {\n\t\t\t\treturn {\n\t\t\t\t\tcode: this.user.language,\n\t\t\t\t\tname: this.user.language\n\t\t\t\t}\n\t\t\t} else if(this.user.language === '') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn userLang;\n\t\t}\n\t},\n\tmethods: {\n\t\t/* MENU HANDLING */\n\t\ttoggleMenu() {\n\t\t\tthis.openedMenu = !this.openedMenu;\n\t\t},\n\t\thideMenu() {\n\t\t\tthis.openedMenu = false;\n\t\t},\n\n\t\t/**\n\t\t * Generate avatar url\n\t\t * \n\t\t * @param {string} user The user name\n\t\t * @param {int} size Size integer, default 32\n\t\t * @returns {string}\n\t\t */\n\t\tgenerateAvatar(user, size=32) {\n\t\t\treturn OC.generateUrl(\n\t\t\t\t'/avatar/{user}/{size}?v={version}',\n\t\t\t\t{\n\t\t\t\t\tuser: user,\n\t\t\t\t\tsize: size,\n\t\t\t\t\tversion: oc_userconfig.avatar.version\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\n\t\t/**\n\t\t * Format the limit text in the selected options\n\t\t * \n\t\t * @param {int} count elements left\n\t\t * @returns {string}\n\t\t */\n\t\tlimitGroups(count) {\n\t\t\treturn '+'+count;\n\t\t},\n\n\t\tdeleteUser() {\n\t\t\tthis.loading.delete = true;\n\t\t\tthis.loading.all = true;\n\t\t\tlet userid = this.user.id;\n\t\t\treturn this.$store.dispatch('deleteUser', {userid})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t});\n\t\t},\n\n\t\tenableDisableUser() {\n\t\t\tthis.loading.delete = true;\n\t\t\tthis.loading.all = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet enabled = !this.user.enabled;\n\t\t\treturn this.$store.dispatch('enableDisableUser', {userid, enabled})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Set user displayName\n\t\t * \n\t\t * @param {string} displayName The display name\n\t\t * @returns {Promise}\n\t\t */\n\t\tupdateDisplayName() {\n\t\t\tlet displayName = this.$refs.displayName.value;\n\t\t\tthis.loading.displayName = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id, \n\t\t\t\tkey: 'displayname',\n\t\t\t\tvalue: displayName\n\t\t\t}).then(() => {\n\t\t\t\tthis.loading.displayName = false;\n\t\t\t\tthis.$refs.displayName.value = displayName;\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Set user password\n\t\t * \n\t\t * @param {string} password The email adress\n\t\t * @returns {Promise}\n\t\t */\n\t\tupdatePassword() {\n\t\t\tlet password = this.$refs.password.value;\n\t\t\tthis.loading.password = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'password',\n\t\t\t\tvalue: password\n\t\t\t}).then(() => {\n\t\t\t\tthis.loading.password = false;\n\t\t\t\tthis.$refs.password.value = ''; // empty & show placeholder \n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Set user mailAddress\n\t\t * \n\t\t * @param {string} mailAddress The email adress\n\t\t * @returns {Promise}\n\t\t */\n\t\tupdateEmail() {\n\t\t\tlet mailAddress = this.$refs.mailAddress.value;\n\t\t\tthis.loading.mailAddress = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'email',\n\t\t\t\tvalue: mailAddress\n\t\t\t}).then(() => {\n\t\t\t\tthis.loading.mailAddress = false;\n\t\t\t\tthis.$refs.mailAddress.value = mailAddress;\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Create a new group\n\t\t * \n\t\t * @param {string} groups Group id\n\t\t * @returns {Promise}\n\t\t */\n\t\tcreateGroup(gid) {\n\t\t\tthis.loading = {groups:true, subadmins:true}\n\t\t\tthis.$store.dispatch('addGroup', gid).then(() => {\n\t\t\t\tthis.loading = {groups:false, subadmins:false};\n\t\t\t\tlet userid = this.user.id;\n\t\t\t\tthis.$store.dispatch('addUserGroup', {userid, gid});\n\t\t\t});\n\t\t\treturn this.$store.getters.getGroups[this.groups.length];\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\taddUserGroup(group) {\n\t\t\tthis.loading.groups = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('addUserGroup', {userid, gid})\n\t\t\t\t.then(() => this.loading.groups = false);\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\tremoveUserGroup(group) {\n\t\t\tthis.loading.groups = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('removeUserGroup', {userid, gid})\n\t\t\t\t.then(() => this.loading.groups = false);\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\taddUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('addUserSubAdmin', {userid, gid})\n\t\t\t\t.then(() => this.loading.subadmins = false);\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\tremoveUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('removeUserSubAdmin', {userid, gid})\n\t\t\t\t.then(() => this.loading.subadmins = false);\n\t\t},\n\n\t\t/**\n\t\t * Dispatch quota set request\n\t\t * \n\t\t * @param {string|Object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @returns {string}\n\t\t */\n\t\tsetUserQuota(quota = 'none') {\n\t\t\tthis.loading.quota = true;\n\t\t\t// ensure we only send the preset id\n\t\t\tquota = quota.id ? quota.id : quota;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id, \n\t\t\t\tkey: 'quota',\n\t\t\t\tvalue: quota\n\t\t\t}).then(() => this.loading.quota = false);\n\t\t\treturn quota;\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t * \n\t\t * @param {string} quota Quota in readable format '5 GB'\n\t\t * @returns {Promise|boolean}\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tlet validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota === 0) {\n\t\t\t\treturn this.setUserQuota('none');\n\t\t\t} else if (validQuota !== null) {\n\t\t\t\t// unify format output\n\t\t\t\treturn this.setUserQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));\n\t\t\t}\n\t\t\t// if no valid do not change\n\t\t\treturn false;\n\t\t},\n\n\t\t/**\n\t\t * Dispatch language set request\n\t\t * \n\t\t * @param {Object} lang language object {code:'en', name:'English'}\n\t\t * @returns {Object}\n\t\t */\n\t\tsetUserLanguage(lang) {\n\t\t\tthis.loading.languages = true;\n\t\t\t// ensure we only send the preset id\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id, \n\t\t\t\tkey: 'language',\n\t\t\t\tvalue: lang.code\n\t\t\t}).then(() => this.loading.languages = false);\n\t\t\treturn lang;\n\t\t}\n\t}\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/userList/userRow.vue","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/bind.js\n// module id = 18\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (process.env.NODE_ENV !== 'test' &&\n typeof window !== 'undefined' &&\n window.XDomainRequest && !('withCredentials' in request) &&\n !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || (request.readyState !== 4 && !xDomain)) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/adapters/xhr.js\n// module id = 19\n// module chunks = 0","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/createError.js\n// module id = 20\n// module chunks = 0","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/cancel/isCancel.js\n// module id = 21\n// module chunks = 0","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/cancel/Cancel.js\n// module id = 22\n// module chunks = 0","import Vue from 'vue';\nimport { sync } from 'vuex-router-sync';\nimport App from './App.vue';\nimport router from './router';\nimport store from './store';\n\nsync(store, router);\n\n// bind to window\nVue.prototype.t = t;\nVue.prototype.OC = OC;\nVue.prototype.oc_userconfig = oc_userconfig;\n\nconst app = new Vue({\n\trouter,\n\tstore,\n\trender: h => h(App)\n}).$mount('#content');\n\nexport { app, router, store };\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/timers-browserify/main.js\n// module id = 24\n// module chunks = 0","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/setimmediate/setImmediate.js\n// module id = 25\n// module chunks = 0","exports.sync = function (store, router, options) {\n var moduleName = (options || {}).moduleName || 'route'\n\n store.registerModule(moduleName, {\n namespaced: true,\n state: cloneRoute(router.currentRoute),\n mutations: {\n 'ROUTE_CHANGED': function ROUTE_CHANGED (state, transition) {\n store.state[moduleName] = cloneRoute(transition.to, transition.from)\n }\n }\n })\n\n var isTimeTraveling = false\n var currentPath\n\n // sync router on store change\n var storeUnwatch = store.watch(\n function (state) { return state[moduleName]; },\n function (route) {\n var fullPath = route.fullPath;\n if (fullPath === currentPath) {\n return\n }\n if (currentPath != null) {\n isTimeTraveling = true\n router.push(route)\n }\n currentPath = fullPath\n },\n { sync: true }\n )\n\n // sync store on router navigation\n var afterEachUnHook = router.afterEach(function (to, from) {\n if (isTimeTraveling) {\n isTimeTraveling = false\n return\n }\n currentPath = to.fullPath\n store.commit(moduleName + '/ROUTE_CHANGED', { to: to, from: from })\n })\n\n return function unsync () {\n // On unsync, remove router hook\n if (afterEachUnHook != null) {\n afterEachUnHook()\n }\n\n // On unsync, remove store watch\n if (storeUnwatch != null) {\n storeUnwatch()\n }\n\n // On unsync, unregister Module with store\n store.unregisterModule(moduleName)\n }\n}\n\nfunction cloneRoute (to, from) {\n var clone = {\n name: to.name,\n path: to.path,\n hash: to.hash,\n query: to.query,\n params: to.params,\n fullPath: to.fullPath,\n meta: to.meta\n }\n if (from) {\n clone.from = cloneRoute(from)\n }\n return Object.freeze(clone)\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vuex-router-sync/index.js\n// module id = 26\n// module chunks = 0","var normalizeComponent = require(\"!../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport __vue_template__ from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-f72d2b7e\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = 27\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-f72d2b7e\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = 28\n// module chunks = 0","import Vue from 'vue';\nimport Router from 'vue-router';\nimport Users from './views/Users';\n\nVue.use(Router);\n\n/*\n * This is the list of routes where the vuejs app will\n * take over php to provide data\n * You need to forward the php routing (routes.php) to\n * /settings/main.php, where the vue-router will ensure\n * the proper route.\n * ⚠️ Routes needs to match the php routes.\n */\n\nexport default new Router({\n\tmode: 'history',\n\t// if index.php is in the url AND we got this far, then it's working:\n\t// let's keep using index.php in the url\n\tbase: window.location.pathname.indexOf('index.php') > 0 ? '/index.php/' : '/',\n\troutes: [\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/users',\n\t\t\tcomponent: Users,\n\t\t\tprops: true,\n\t\t\tname: 'users',\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':selectedGroup',\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tcomponent: Users\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t]\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/router.js","/**\n * vue-router v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (process.env.NODE_ENV !== 'production' && !condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nvar View = {\n name: 'router-view',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n if (parent.$vnode && parent.$vnode.data.routerView) {\n depth++;\n }\n if (parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n return h(cache[name], data, children)\n }\n\n var matched = route.matched[depth];\n // render empty node if no matched route\n if (!matched) {\n cache[name] = null;\n return h()\n }\n\n var component = cache[name] = matched.components[name];\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // resolve props\n var propsToPass = data.props = resolveProps(route, matched.props && matched.props[name]);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n\n return h(component, data, children)\n }\n};\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\nfunction extend (to, from) {\n for (var key in from) {\n to[key] = from[key];\n }\n return to\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nvar decode = decodeURIComponent;\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n parsedQuery[key] = extraQuery[key];\n }\n return parsedQuery\n}\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0\n ? decode(parts.join('='))\n : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj ? Object.keys(obj).map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n }).filter(function (x) { return x.length > 0; }).join('&') : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery$$1 = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery$$1),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery$$1);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return (\n a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query)\n )\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params)\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key) {\n var aVal = a[key];\n var bVal = b[key];\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar Link = {\n name: 'router-link',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n exact: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(this.to, current, this.append);\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback = globalActiveClass == null\n ? 'router-link-active'\n : globalActiveClass;\n var exactActiveClassFallback = globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass = this.activeClass == null\n ? activeClassFallback\n : this.activeClass;\n var exactActiveClass = this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n var compareTarget = location.path\n ? createRoute(null, location, null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget);\n classes[activeClass] = this.exact\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1.replace) {\n router.replace(location);\n } else {\n router.push(location);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) { on[e] = handler; });\n } else {\n on[this.event] = handler;\n }\n\n var data = {\n class: classes\n };\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href };\n } else {\n // find the first <a> child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the <a> is a static node\n a.isStatic = false;\n var extend = _Vue.util.extend;\n var aData = a.data = extend({}, a.data);\n aData.on = on;\n var aAttrs = a.data.attrs = extend({}, a.data.attrs);\n aAttrs.href = href;\n } else {\n // doesn't have <a> child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('router-view', View);\n Vue.component('router-link', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/\\//g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n return filler(params || {}, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n }\n}\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(path || name)) + \" cannot be a \" +\n \"string id. Use an actual component instead.\"\n );\n }\n\n var pathToRegexpOptions = route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(\n path,\n parent,\n pathToRegexpOptions.strict\n );\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n instances: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props: route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (route.name && !route.redirect && route.children.some(function (child) { return /^\\/?$/.test(child.path); })) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias)\n ? route.alias\n : [route.alias];\n\n aliases.forEach(function (alias) {\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (path, pathToRegexpOptions) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(!keys[key.name], (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\"));\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (path, parent, strict) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next.name || next._normalized) {\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = assign({}, next);\n next._normalized = true;\n var params = assign(assign({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction assign (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n if (record) {\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n }\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n var val = typeof m[i] === 'string' ? decodeURIComponent(m[i]) : m[i];\n if (key) {\n params[key.name] = val;\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Fix for #1585 for Firefox\n window.history.replaceState({ key: getStateKey() }, '');\n window.addEventListener('popstate', function (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n });\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior(to, from, isPop ? position : null);\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll.then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n }).catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n var el = document.querySelector(shouldScroll.selector);\n if (el) {\n var offset = shouldScroll.offset && typeof shouldScroll.offset === 'object' ? shouldScroll.offset : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n window.scrollTo(position.x, position.y);\n }\n}\n\n/* */\n\nvar supportsPushState = inBrowser && (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && 'pushState' in window.history\n})();\n\n// use User Timing api (if present) for more accurate key precision\nvar Time = inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nvar _key = genKey();\n\nfunction genKey () {\n return Time.now().toFixed(3)\n}\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n _key = key;\n}\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n history.replaceState({ key: _key }, '', url);\n } else {\n _key = genKey();\n history.pushState({ key: _key }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (location, onComplete, onAbort) {\n var this$1 = this;\n\n var route = this.router.match(location, this.current);\n this.confirmTransition(route, function () {\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n\n // fire ready cbs once\n if (!this$1.ready) {\n this$1.ready = true;\n this$1.readyCbs.forEach(function (cb) { cb(route); });\n }\n }, function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1.ready) {\n this$1.ready = true;\n this$1.readyErrorCbs.forEach(function (cb) { cb(err); });\n }\n });\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1 = this;\n\n var current = this.current;\n var abort = function (err) {\n if (isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) { cb(err); });\n } else {\n warn(false, 'uncaught error during route navigation:');\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n route.matched.length === current.matched.length\n ) {\n this.ensureURL();\n return abort()\n }\n\n var ref = resolveQueue(this.current.matched, route.matched);\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n this.pending = route;\n var iterator = function (hook, next) {\n if (this$1.pending !== route) {\n return abort()\n }\n try {\n hook(route, current, function (to) {\n if (to === false || isError(to)) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' && (\n typeof to.path === 'string' ||\n typeof to.name === 'string'\n ))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort();\n if (typeof to === 'object' && to.replace) {\n this$1.replace(to);\n } else {\n this$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n var postEnterCbs = [];\n var isValid = function () { return this$1.current === route; };\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated, postEnterCbs, isValid);\n var queue = enterGuards.concat(this$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1.pending !== route) {\n return abort()\n }\n this$1.pending = null;\n onComplete(route);\n if (this$1.router.app) {\n this$1.router.app.$nextTick(function () {\n postEnterCbs.forEach(function (cb) { cb(); });\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n var prev = this.current;\n this.current = route;\n this.cb && this.cb(route);\n this.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect <base> tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated,\n cbs,\n isValid\n) {\n return extractGuards(activated, 'beforeRouteEnter', function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key, cbs, isValid)\n })\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key,\n cbs,\n isValid\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n next(cb);\n if (typeof cb === 'function') {\n cbs.push(function () {\n // #750\n // if a router-view is wrapped with an out-in transition,\n // the instance may not have been registered at this time.\n // we will need to poll for registration until current route\n // is no longer valid.\n poll(cb, match.instances, key, isValid);\n });\n }\n })\n }\n}\n\nfunction poll (\n cb, // somehow flow cannot infer this is a function\n instances,\n key,\n isValid\n) {\n if (instances[key]) {\n cb(instances[key]);\n } else if (isValid()) {\n setTimeout(function () {\n poll(cb, instances, key, isValid);\n }, 16);\n }\n}\n\n/* */\n\n\nvar HTML5History = (function (History$$1) {\n function HTML5History (router, base) {\n var this$1 = this;\n\n History$$1.call(this, router, base);\n\n var expectScroll = router.options.scrollBehavior;\n\n if (expectScroll) {\n setupScroll();\n }\n\n var initLocation = getLocation(this.base);\n window.addEventListener('popstate', function (e) {\n var current = this$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1.base);\n if (this$1.current === START && location === initLocation) {\n return\n }\n\n this$1.transitionTo(location, function (route) {\n if (expectScroll) {\n handleScroll(router, route, current, true);\n }\n });\n });\n }\n\n if ( History$$1 ) HTML5History.__proto__ = History$$1;\n HTML5History.prototype = Object.create( History$$1 && History$$1.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n if (base && path.indexOf(base) === 0) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\n\nvar HashHistory = (function (History$$1) {\n function HashHistory (router, base, fallback) {\n History$$1.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History$$1 ) HashHistory.__proto__ = History$$1;\n HashHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1 = this;\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n window.addEventListener(supportsPushState ? 'popstate' : 'hashchange', function () {\n var current = this$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(\n cleanPath(base + '/#' + location)\n );\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n return index === -1 ? '' : href.slice(index + 1)\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\n\nvar AbstractHistory = (function (History$$1) {\n function AbstractHistory (router, base) {\n History$$1.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History$$1 ) AbstractHistory.__proto__ = History$$1;\n AbstractHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n this$1.index++;\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(route, function () {\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n });\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (\n raw,\n current,\n redirectedFrom\n) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1 = this;\n\n process.env.NODE_ENV !== 'production' && assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // main app already initialized.\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History) {\n history.transitionTo(history.getCurrentLocation());\n } else if (history instanceof HashHistory) {\n var setupHashListener = function () {\n history.setupListeners();\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupHashListener,\n setupHashListener\n );\n }\n\n history.listen(function (route) {\n this$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n this.history.push(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n this.history.replace(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply([], route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n }))\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n var location = normalizeLocation(\n to,\n current || this.history.current,\n append,\n this\n );\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.0.1';\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nexport default VueRouter;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-router/dist/vue-router.esm.js\n// module id = 30\n// module chunks = 0","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Users.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Users.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2db113c0\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Users.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/Users.vue\n// module id = 31\n// module chunks = 0","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./appNavigation.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./appNavigation.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-85c34754\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./appNavigation.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/appNavigation.vue\n// module id = 32\n// module chunks = 0","var normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./navigationItem.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./navigationItem.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-429bfeff\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./navigationItem.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/appNavigation/navigationItem.vue\n// module id = 33\n// module chunks = 0","var normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./popoverItem.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./popoverItem.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-38c13d40\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./popoverItem.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/popoverMenu/popoverItem.vue\n// module id = 34\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[(_vm.item.href)?_c('a',{attrs:{\"href\":(_vm.item.href) ? _vm.item.href : '#'},on:{\"click\":_vm.item.action}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text)?_c('span',[_vm._v(_vm._s(_vm.item.text))]):(_vm.item.longtext)?_c('p',[_vm._v(_vm._s(_vm.item.longtext))]):_vm._e()]):(_vm.item.action)?_c('button',{on:{\"click\":_vm.item.action}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text)?_c('span',[_vm._v(_vm._s(_vm.item.text))]):(_vm.item.longtext)?_c('p',[_vm._v(_vm._s(_vm.item.longtext))]):_vm._e()]):_c('span',[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text)?_c('span',[_vm._v(_vm._s(_vm.item.text))]):(_vm.item.longtext)?_c('p',[_vm._v(_vm._s(_vm.item.longtext))]):_vm._e()])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-38c13d40\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/popoverMenu/popoverItem.vue\n// module id = 35\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',_vm._l((_vm.menu),function(item,key){return _c('popover-item',{key:key,attrs:{\"item\":item}})}))}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-24e4fcfe\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/popoverMenu.vue\n// module id = 36\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{class:[{'icon-loading-small': _vm.item.loading, 'open': _vm.item.opened, 'collapsible': _vm.item.collapsible&&_vm.item.children&&_vm.item.children.length>0 }, _vm.item.classes],attrs:{\"id\":_vm.item.id}},[(_vm.item.bullet)?_c('div',{staticClass:\"app-navigation-entry-bullet\",style:({ backgroundColor: _vm.item.bullet })}):_vm._e(),_vm._v(\" \"),(_vm.item.href)?_c('a',{class:_vm.item.icon,attrs:{\"href\":(_vm.item.href) ? _vm.item.href : '#'},on:{\"click\":_vm.toggleCollapse}},[(_vm.item.iconUrl)?_c('img',{attrs:{\"alt\":_vm.item.text,\"src\":_vm.item.iconUrl}}):_vm._e(),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\")]):(_vm.item.router)?_c('router-link',{class:_vm.item.icon,attrs:{\"to\":_vm.item.router}},[(_vm.item.iconUrl)?_c('img',{attrs:{\"alt\":_vm.item.text,\"src\":_vm.item.iconUrl}}):_vm._e(),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.item.utils)?_c('div',{staticClass:\"app-navigation-entry-utils\"},[_c('ul',[(Number.isInteger(_vm.item.utils.counter))?_c('li',{staticClass:\"app-navigation-entry-utils-counter\"},[_vm._v(_vm._s(_vm.item.utils.counter))]):_vm._e(),_vm._v(\" \"),(_vm.item.utils.actions && _vm.item.utils.actions.length === 1 && Number.isInteger(_vm.item.utils.counter))?_c('li',{staticClass:\"app-navigation-entry-utils-menu-button\"},[_c('button',{class:_vm.item.utils.actions[0].icon,attrs:{\"title\":_vm.item.utils.actions[0].text},on:{\"click\":_vm.item.utils.actions[0].action}})]):(_vm.item.utils.actions && _vm.item.utils.actions.length === 2 && !Number.isInteger(_vm.item.utils.counter))?_vm._l((_vm.item.utils.actions),function(action){return _c('li',{key:action.action,staticClass:\"app-navigation-entry-utils-menu-button\"},[_c('button',{class:action.icon,attrs:{\"title\":action.text},on:{\"click\":action.action}})])}):(_vm.item.utils.actions && _vm.item.utils.actions.length > 1 && (Number.isInteger(_vm.item.utils.counter) || _vm.item.utils.actions.length > 2))?_c('li',{staticClass:\"app-navigation-entry-utils-menu-button\"},[_c('button',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.hideMenu),expression:\"hideMenu\"}],on:{\"click\":_vm.showMenu}})]):_vm._e()],2)]):_vm._e(),_vm._v(\" \"),(_vm.item.utils && _vm.item.utils.actions && _vm.item.utils.actions.length > 1 && (Number.isInteger(_vm.item.utils.counter) || _vm.item.utils.actions.length > 2))?_c('div',{staticClass:\"app-navigation-entry-menu\",class:{ 'open': _vm.openedMenu }},[_c('popover-menu',{attrs:{\"menu\":_vm.item.utils.actions}})],1):_vm._e(),_vm._v(\" \"),(_vm.item.undo)?_c('div',{staticClass:\"app-navigation-entry-deleted\"},[_c('div',{staticClass:\"app-navigation-entry-deleted-description\"},[_vm._v(_vm._s(_vm.item.undo.text))]),_vm._v(\" \"),_c('button',{staticClass:\"app-navigation-entry-deleted-button icon-history\",attrs:{\"title\":_vm.t('settings', 'Undo')}})]):_vm._e(),_vm._v(\" \"),(_vm.item.edit)?_c('div',{staticClass:\"app-navigation-entry-edit\"},[_c('form',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.text),expression:\"item.text\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.item.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.item, \"text\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-close\",attrs:{\"type\":\"submit\",\"value\":\"\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.cancelEdit($event)}}})])]):_vm._e(),_vm._v(\" \"),(_vm.item.children)?_c('ul',_vm._l((_vm.item.children),function(item,key){return _c('navigation-item',{key:key,attrs:{\"item\":item}})})):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-429bfeff\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/appNavigation/navigationItem.vue\n// module id = 37\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{'icon-loading': _vm.menu.loading},attrs:{\"id\":\"app-navigation\"}},[(_vm.menu.new)?_c('div',{staticClass:\"app-navigation-new\"},[_c('button',{class:_vm.menu.new.icon,attrs:{\"type\":\"button\",\"id\":_vm.menu.new.id},on:{\"click\":_vm.menu.new.action}},[_vm._v(_vm._s(_vm.menu.new.text))])]):_vm._e(),_vm._v(\" \"),_c('ul',{attrs:{\"id\":_vm.menu.id}},_vm._l((_vm.menu.items),function(item,key){return _c('navigation-item',{key:key,attrs:{\"item\":item}})})),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"app-settings\"}},[_c('div',{attrs:{\"id\":\"app-settings-header\"}},[_c('button',{staticClass:\"settings-button\",attrs:{\"data-apps-slide-toggle\":\"#app-settings-content\"}},[_vm._v(_vm._s(_vm.t('settings', 'Settings')))])]),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"app-settings-content\"}},[_vm._t(\"settings-content\")],2)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-85c34754\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/appNavigation.vue\n// module id = 38\n// module chunks = 0","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./userList.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./userList.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-991a8d00\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./userList.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/userList.vue\n// module id = 39\n// module chunks = 0","var normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./userRow.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./userRow.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-689d61c8\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./userRow.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/userList/userRow.vue\n// module id = 40\n// module chunks = 0","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.12.9\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n // NOTE: 1 DOM access here\n var offsetParent = element && element.offsetParent;\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n if (element) {\n return element.ownerDocument.documentElement;\n }\n\n return document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\n/**\n * Tells if you are running Internet Explorer 10\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean} isIE10\n */\nvar isIE10 = undefined;\n\nvar isIE10$1 = function () {\n if (isIE10 === undefined) {\n isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;\n }\n return isIE10;\n};\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE10$1() && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n if (isIE10$1()) {\n try {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } catch (err) {}\n } else {\n rect = element.getBoundingClientRect();\n }\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var isIE10 = isIE10$1();\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = getScroll(html);\n var scrollLeft = getScroll(html, 'left');\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n // NOTE: 1 DOM access here\n var boundaries = { top: 0, left: 0 };\n var offsetParent = findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var commonOffsetParent = findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n data.offsets.popper.position = 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length - 1; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.left = '';\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // floor sides to avoid blurry text\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.floor(popper.top),\n bottom: Math.floor(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overriden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nfunction convertToArray(value) {\n\tif (typeof value === 'string') {\n\t\tvalue = value.split(' ');\n\t}\n\treturn value;\n}\n\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\nfunction addClasses(el, classes) {\n\tvar newClasses = convertToArray(classes);\n\tvar classList = void 0;\n\tif (el.className instanceof SVGAnimatedString) {\n\t\tclassList = Array.from(el.className);\n\t} else {\n\t\tclassList = convertToArray(el.className);\n\t}\n\tnewClasses.forEach(function (newClass) {\n\t\tif (classList.indexOf(newClass) === -1) {\n\t\t\tclassList.push(newClass);\n\t\t}\n\t});\n\tif (el instanceof SVGElement) {\n\t\tel.setAttribute('class', classList.join(' '));\n\t} else {\n\t\tel.className = classList.join(' ');\n\t}\n}\n\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\nfunction removeClasses(el, classes) {\n\tvar newClasses = convertToArray(classes);\n\tvar classList = void 0;\n\tif (el.className instanceof SVGAnimatedString) {\n\t\tclassList = Array.from(el.className);\n\t} else {\n\t\tclassList = convertToArray(el.className);\n\t}\n\tnewClasses.forEach(function (newClass) {\n\t\tvar index = classList.indexOf(newClass);\n\t\tif (index !== -1) {\n\t\t\tclassList.splice(index, 1);\n\t\t}\n\t});\n\tif (el instanceof SVGElement) {\n\t\tel.setAttribute('class', classList.join(' '));\n\t} else {\n\t\tel.className = classList.join(' ');\n\t}\n}\n\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n\tsupportsPassive = false;\n\ttry {\n\t\tvar opts = Object.defineProperty({}, 'passive', {\n\t\t\tget: function get() {\n\t\t\t\tsupportsPassive = true;\n\t\t\t}\n\t\t});\n\t\twindow.addEventListener('test', null, opts);\n\t} catch (e) {}\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar classCallCheck$1 = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass$1 = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends$1 = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/* Forked from https://github.com/FezVrasta/popper.js/blob/master/packages/tooltip/src/index.js */\n\nvar DEFAULT_OPTIONS = {\n\tcontainer: false,\n\tdelay: 0,\n\thtml: false,\n\tplacement: 'top',\n\ttitle: '',\n\ttemplate: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n\ttrigger: 'hover focus',\n\toffset: 0\n};\n\nvar openTooltips = [];\n\nvar Tooltip = function () {\n\t/**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n *\t\t\tPlacement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n *\t\t\tleft(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n *\t\t\tDelay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n *\t\t\tIf a number is supplied, delay is applied to both hide/show.\n *\t\t\tObject structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>']\n *\t\t\tBase HTML to used when creating the tooltip.\n *\t\t\tThe tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n *\t\t\t`.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n *\t\t\tThe outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n *\t\t\tHow tooltip is triggered - click, hover, focus, manual.\n *\t\t\tYou may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n *\t\t\tThe element used as boundaries for the tooltip. For more information refer to Popper.js'\n *\t\t\t[boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n *\t\t\t[offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n *\t\t\t[options docs](https://popper.js.org/popper-documentation.html)\n * @return {Object} instance - The generated tooltip instance\n */\n\tfunction Tooltip(reference, options) {\n\t\tclassCallCheck$1(this, Tooltip);\n\n\t\t_initialiseProps.call(this);\n\n\t\t// apply user options over default ones\n\t\toptions = _extends$1({}, DEFAULT_OPTIONS, options);\n\n\t\treference.jquery && (reference = reference[0]);\n\n\t\t// cache reference and options\n\t\tthis.reference = reference;\n\t\tthis.options = options;\n\n\t\t// set initial state\n\t\tthis._isOpen = false;\n\n\t\tthis._init();\n\t}\n\n\t//\n\t// Public methods\n\t//\n\n\t/**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n\t/**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n\n\t/**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n\n\t/**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n\n\tcreateClass$1(Tooltip, [{\n\t\tkey: 'setClasses',\n\t\tvalue: function setClasses(classes) {\n\t\t\tthis._classes = classes;\n\t\t}\n\t}, {\n\t\tkey: 'setContent',\n\t\tvalue: function setContent(content) {\n\t\t\tthis.options.title = content;\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._setContent(content, this.options);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'setOptions',\n\t\tvalue: function setOptions(options) {\n\t\t\tvar classesUpdated = false;\n\t\t\tvar classes = options && options.classes || directive.options.defaultClass;\n\t\t\tif (this._classes !== classes) {\n\t\t\t\tthis.setClasses(classes);\n\t\t\t\tclassesUpdated = true;\n\t\t\t}\n\n\t\t\toptions = getOptions(options);\n\n\t\t\tvar needPopperUpdate = false;\n\t\t\tvar needRestart = false;\n\n\t\t\tif (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n\t\t\t\tneedPopperUpdate = true;\n\t\t\t}\n\n\t\t\tif (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n\t\t\t\tneedRestart = true;\n\t\t\t}\n\n\t\t\tfor (var key in options) {\n\t\t\t\tthis.options[key] = options[key];\n\t\t\t}\n\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tif (needRestart) {\n\t\t\t\t\tvar isOpen = this._isOpen;\n\n\t\t\t\t\tthis.dispose();\n\t\t\t\t\tthis._init();\n\n\t\t\t\t\tif (isOpen) {\n\t\t\t\t\t\tthis.show();\n\t\t\t\t\t}\n\t\t\t\t} else if (needPopperUpdate) {\n\t\t\t\t\tthis.popperInstance.update();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\t// Private methods\n\t\t//\n\n\t}, {\n\t\tkey: '_init',\n\t\tvalue: function _init() {\n\t\t\t// get events list\n\t\t\tvar events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ').filter(function (trigger) {\n\t\t\t\treturn ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n\t\t\t}) : [];\n\t\t\tthis._isDisposed = false;\n\t\t\tthis._enableDocumentTouch = events.indexOf('manual') === -1;\n\n\t\t\t// set event listeners\n\t\t\tthis._setEventListeners(this.reference, events, this.options);\n\t\t}\n\n\t\t/**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n\t}, {\n\t\tkey: '_create',\n\t\tvalue: function _create(reference, template) {\n\t\t\t// create tooltip element\n\t\t\tvar tooltipGenerator = window.document.createElement('div');\n\t\t\ttooltipGenerator.innerHTML = template.trim();\n\t\t\tvar tooltipNode = tooltipGenerator.childNodes[0];\n\n\t\t\t// add unique ID to our tooltip (needed for accessibility reasons)\n\t\t\ttooltipNode.id = 'tooltip_' + Math.random().toString(36).substr(2, 10);\n\n\t\t\t// Initially hide the tooltip\n\t\t\t// The attribute will be switched in a next frame so\n\t\t\t// CSS transitions can play\n\t\t\ttooltipNode.setAttribute('aria-hidden', 'true');\n\n\t\t\tif (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n\t\t\t\ttooltipNode.addEventListener('mouseenter', this.hide);\n\t\t\t\ttooltipNode.addEventListener('click', this.hide);\n\t\t\t}\n\n\t\t\t// return the generated tooltip node\n\t\t\treturn tooltipNode;\n\t\t}\n\t}, {\n\t\tkey: '_setContent',\n\t\tvalue: function _setContent(content, options) {\n\t\t\tvar _this = this;\n\n\t\t\tthis.asyncContent = false;\n\t\t\tthis._applyContent(content, options).then(function () {\n\t\t\t\t_this.popperInstance.update();\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_applyContent',\n\t\tvalue: function _applyContent(title, options) {\n\t\t\tvar _this2 = this;\n\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tvar allowHtml = options.html;\n\t\t\t\tvar rootNode = _this2._tooltipNode;\n\t\t\t\tvar titleNode = rootNode.querySelector(_this2.options.innerSelector);\n\t\t\t\tif (title.nodeType === 1) {\n\t\t\t\t\t// if title is a node, append it only if allowHtml is true\n\t\t\t\t\tif (allowHtml) {\n\t\t\t\t\t\twhile (titleNode.firstChild) {\n\t\t\t\t\t\t\ttitleNode.removeChild(titleNode.firstChild);\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitleNode.appendChild(title);\n\t\t\t\t\t}\n\t\t\t\t} else if (typeof title === 'function') {\n\t\t\t\t\t// if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n\t\t\t\t\tvar result = title();\n\t\t\t\t\tif (result && typeof result.then === 'function') {\n\t\t\t\t\t\t_this2.asyncContent = true;\n\t\t\t\t\t\toptions.loadingClass && addClasses(rootNode, options.loadingClass);\n\t\t\t\t\t\tif (options.loadingContent) {\n\t\t\t\t\t\t\t_this2._applyContent(options.loadingContent, options);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresult.then(function (asyncResult) {\n\t\t\t\t\t\t\toptions.loadingClass && removeClasses(rootNode, options.loadingClass);\n\t\t\t\t\t\t\treturn _this2._applyContent(asyncResult, options);\n\t\t\t\t\t\t}).then(resolve).catch(reject);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_this2._applyContent(result, options).then(resolve).catch(reject);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\t// if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n\t\t\t\t\tallowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n\t\t\t\t}\n\t\t\t\tresolve();\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_show',\n\t\tvalue: function _show(reference, options) {\n\t\t\tif (options && typeof options.container === 'string') {\n\t\t\t\tvar container = document.querySelector(options.container);\n\t\t\t\tif (!container) return;\n\t\t\t}\n\n\t\t\tclearTimeout(this._disposeTimer);\n\n\t\t\toptions = Object.assign({}, options);\n\t\t\tdelete options.offset;\n\n\t\t\tvar updateClasses = true;\n\t\t\tif (this._tooltipNode) {\n\t\t\t\taddClasses(this._tooltipNode, this._classes);\n\t\t\t\tupdateClasses = false;\n\t\t\t}\n\n\t\t\tvar result = this._ensureShown(reference, options);\n\n\t\t\tif (updateClasses && this._tooltipNode) {\n\t\t\t\taddClasses(this._tooltipNode, this._classes);\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\t}, {\n\t\tkey: '_ensureShown',\n\t\tvalue: function _ensureShown(reference, options) {\n\t\t\tvar _this3 = this;\n\n\t\t\t// don't show if it's already visible\n\t\t\tif (this._isOpen) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tthis._isOpen = true;\n\n\t\t\topenTooltips.push(this);\n\n\t\t\t// if the tooltipNode already exists, just show it\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._tooltipNode.style.display = '';\n\t\t\t\tthis._tooltipNode.setAttribute('aria-hidden', 'false');\n\t\t\t\tthis.popperInstance.enableEventListeners();\n\t\t\t\tthis.popperInstance.update();\n\t\t\t\tif (this.asyncContent) {\n\t\t\t\t\tthis._setContent(options.title, options);\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// get title\n\t\t\tvar title = reference.getAttribute('title') || options.title;\n\n\t\t\t// don't show tooltip if no title is defined\n\t\t\tif (!title) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// create tooltip node\n\t\t\tvar tooltipNode = this._create(reference, options.template);\n\t\t\tthis._tooltipNode = tooltipNode;\n\n\t\t\tthis._setContent(title, options);\n\n\t\t\t// Add `aria-describedby` to our reference element for accessibility reasons\n\t\t\treference.setAttribute('aria-describedby', tooltipNode.id);\n\n\t\t\t// append tooltip to container\n\t\t\tvar container = this._findContainer(options.container, reference);\n\n\t\t\tthis._append(tooltipNode, container);\n\n\t\t\tvar popperOptions = _extends$1({}, options.popperOptions, {\n\t\t\t\tplacement: options.placement\n\t\t\t});\n\n\t\t\tpopperOptions.modifiers = _extends$1({}, popperOptions.modifiers, {\n\t\t\t\tarrow: {\n\t\t\t\t\telement: this.options.arrowSelector\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (options.boundariesElement) {\n\t\t\t\tpopperOptions.modifiers.preventOverflow = {\n\t\t\t\t\tboundariesElement: options.boundariesElement\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.popperInstance = new Popper(reference, tooltipNode, popperOptions);\n\n\t\t\t// Fix position\n\t\t\trequestAnimationFrame(function () {\n\t\t\t\tif (!_this3._isDisposed && _this3.popperInstance) {\n\t\t\t\t\t_this3.popperInstance.update();\n\n\t\t\t\t\t// Show the tooltip\n\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\tif (!_this3._isDisposed) {\n\t\t\t\t\t\t\t_this3._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t_this3.dispose();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_noLongerOpen',\n\t\tvalue: function _noLongerOpen() {\n\t\t\tvar index = openTooltips.indexOf(this);\n\t\t\tif (index !== -1) {\n\t\t\t\topenTooltips.splice(index, 1);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: '_hide',\n\t\tvalue: function _hide() /* reference, options */{\n\t\t\tvar _this4 = this;\n\n\t\t\t// don't hide if it's already hidden\n\t\t\tif (!this._isOpen) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\tthis._isOpen = false;\n\t\t\tthis._noLongerOpen();\n\n\t\t\t// hide tooltipNode\n\t\t\tthis._tooltipNode.style.display = 'none';\n\t\t\tthis._tooltipNode.setAttribute('aria-hidden', 'true');\n\n\t\t\tthis.popperInstance.disableEventListeners();\n\n\t\t\tclearTimeout(this._disposeTimer);\n\t\t\tvar disposeTime = directive.options.disposeTimeout;\n\t\t\tif (disposeTime !== null) {\n\t\t\t\tthis._disposeTimer = setTimeout(function () {\n\t\t\t\t\tif (_this4._tooltipNode) {\n\t\t\t\t\t\t_this4._tooltipNode.removeEventListener('mouseenter', _this4.hide);\n\t\t\t\t\t\t_this4._tooltipNode.removeEventListener('click', _this4.hide);\n\t\t\t\t\t\t// Don't remove popper instance, just the HTML element\n\t\t\t\t\t\t_this4._tooltipNode.parentNode.removeChild(_this4._tooltipNode);\n\t\t\t\t\t\t_this4._tooltipNode = null;\n\t\t\t\t\t}\n\t\t\t\t}, disposeTime);\n\t\t\t}\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_dispose',\n\t\tvalue: function _dispose() {\n\t\t\tvar _this5 = this;\n\n\t\t\tthis._isDisposed = true;\n\n\t\t\t// remove event listeners first to prevent any unexpected behaviour\n\t\t\tthis._events.forEach(function (_ref) {\n\t\t\t\tvar func = _ref.func,\n\t\t\t\t event = _ref.event;\n\n\t\t\t\t_this5.reference.removeEventListener(event, func);\n\t\t\t});\n\t\t\tthis._events = [];\n\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._hide();\n\n\t\t\t\tthis._tooltipNode.removeEventListener('mouseenter', this.hide);\n\t\t\t\tthis._tooltipNode.removeEventListener('click', this.hide);\n\n\t\t\t\t// destroy instance\n\t\t\t\tthis.popperInstance.destroy();\n\n\t\t\t\t// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\t\t\t\tif (!this.popperInstance.options.removeOnDestroy) {\n\t\t\t\t\tthis._tooltipNode.parentNode.removeChild(this._tooltipNode);\n\t\t\t\t\tthis._tooltipNode = null;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._noLongerOpen();\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_findContainer',\n\t\tvalue: function _findContainer(container, reference) {\n\t\t\t// if container is a query, get the relative element\n\t\t\tif (typeof container === 'string') {\n\t\t\t\tcontainer = window.document.querySelector(container);\n\t\t\t} else if (container === false) {\n\t\t\t\t// if container is `false`, set it to reference parent\n\t\t\t\tcontainer = reference.parentNode;\n\t\t\t}\n\t\t\treturn container;\n\t\t}\n\n\t\t/**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n\t}, {\n\t\tkey: '_append',\n\t\tvalue: function _append(tooltipNode, container) {\n\t\t\tcontainer.appendChild(tooltipNode);\n\t\t}\n\t}, {\n\t\tkey: '_setEventListeners',\n\t\tvalue: function _setEventListeners(reference, events, options) {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar directEvents = [];\n\t\t\tvar oppositeEvents = [];\n\n\t\t\tevents.forEach(function (event) {\n\t\t\t\tswitch (event) {\n\t\t\t\t\tcase 'hover':\n\t\t\t\t\t\tdirectEvents.push('mouseenter');\n\t\t\t\t\t\toppositeEvents.push('mouseleave');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'focus':\n\t\t\t\t\t\tdirectEvents.push('focus');\n\t\t\t\t\t\toppositeEvents.push('blur');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'click':\n\t\t\t\t\t\tdirectEvents.push('click');\n\t\t\t\t\t\toppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// schedule show tooltip\n\t\t\tdirectEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(evt) {\n\t\t\t\t\tif (_this6._isOpen === true) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tevt.usedByTooltip = true;\n\t\t\t\t\t_this6._scheduleShow(reference, options.delay, options, evt);\n\t\t\t\t};\n\t\t\t\t_this6._events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\n\t\t\t// schedule hide tooltip\n\t\t\toppositeEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(evt) {\n\t\t\t\t\tif (evt.usedByTooltip === true) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t_this6._scheduleHide(reference, options.delay, options, evt);\n\t\t\t\t};\n\t\t\t\t_this6._events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_onDocumentTouch',\n\t\tvalue: function _onDocumentTouch(event) {\n\t\t\tif (this._enableDocumentTouch) {\n\t\t\t\tthis._scheduleHide(this.reference, this.options.delay, this.options, event);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: '_scheduleShow',\n\t\tvalue: function _scheduleShow(reference, delay, options /*, evt */) {\n\t\t\tvar _this7 = this;\n\n\t\t\t// defaults to 0\n\t\t\tvar computedDelay = delay && delay.show || delay || 0;\n\t\t\tclearTimeout(this._scheduleTimer);\n\t\t\tthis._scheduleTimer = window.setTimeout(function () {\n\t\t\t\treturn _this7._show(reference, options);\n\t\t\t}, computedDelay);\n\t\t}\n\t}, {\n\t\tkey: '_scheduleHide',\n\t\tvalue: function _scheduleHide(reference, delay, options, evt) {\n\t\t\tvar _this8 = this;\n\n\t\t\t// defaults to 0\n\t\t\tvar computedDelay = delay && delay.hide || delay || 0;\n\t\t\tclearTimeout(this._scheduleTimer);\n\t\t\tthis._scheduleTimer = window.setTimeout(function () {\n\t\t\t\tif (_this8._isOpen === false) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!document.body.contains(_this8._tooltipNode)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// if we are hiding because of a mouseleave, we must check that the new\n\t\t\t\t// reference isn't the tooltip, because in this case we don't want to hide it\n\t\t\t\tif (evt.type === 'mouseleave') {\n\t\t\t\t\tvar isSet = _this8._setTooltipNodeEvent(evt, reference, delay, options);\n\n\t\t\t\t\t// if we set the new event, don't hide the tooltip yet\n\t\t\t\t\t// the new event will take care to hide it if necessary\n\t\t\t\t\tif (isSet) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t_this8._hide(reference, options);\n\t\t\t}, computedDelay);\n\t\t}\n\t}]);\n\treturn Tooltip;\n}();\n\n// Hide tooltips on touch devices\n\n\nvar _initialiseProps = function _initialiseProps() {\n\tvar _this9 = this;\n\n\tthis.show = function () {\n\t\t_this9._show(_this9.reference, _this9.options);\n\t};\n\n\tthis.hide = function () {\n\t\t_this9._hide();\n\t};\n\n\tthis.dispose = function () {\n\t\t_this9._dispose();\n\t};\n\n\tthis.toggle = function () {\n\t\tif (_this9._isOpen) {\n\t\t\treturn _this9.hide();\n\t\t} else {\n\t\t\treturn _this9.show();\n\t\t}\n\t};\n\n\tthis._events = [];\n\n\tthis._setTooltipNodeEvent = function (evt, reference, delay, options) {\n\t\tvar relatedreference = evt.relatedreference || evt.toElement;\n\n\t\tvar callback = function callback(evt2) {\n\t\t\tvar relatedreference2 = evt2.relatedreference || evt2.toElement;\n\n\t\t\t// Remove event listener after call\n\t\t\t_this9._tooltipNode.removeEventListener(evt.type, callback);\n\n\t\t\t// If the new reference is not the reference element\n\t\t\tif (!reference.contains(relatedreference2)) {\n\t\t\t\t// Schedule to hide tooltip\n\t\t\t\t_this9._scheduleHide(reference, options.delay, options, evt2);\n\t\t\t}\n\t\t};\n\n\t\tif (_this9._tooltipNode.contains(relatedreference)) {\n\t\t\t// listen to mouseleave on the tooltip element to be able to hide the tooltip\n\t\t\t_this9._tooltipNode.addEventListener(evt.type, callback);\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t};\n};\n\nif (typeof document !== 'undefined') {\n\tdocument.addEventListener('touchstart', function (event) {\n\t\tfor (var i = 0; i < openTooltips.length; i++) {\n\t\t\topenTooltips[i]._onDocumentTouch(event);\n\t\t}\n\t}, supportsPassive ? {\n\t\tpassive: true\n\t} : false);\n}\n\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nvar state = {\n\tenabled: true\n};\n\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\n\nvar defaultOptions = {\n\t// Default tooltip placement relative to target element\n\tdefaultPlacement: 'top',\n\t// Default CSS classes applied to the tooltip element\n\tdefaultClass: 'vue-tooltip-theme',\n\t// Default CSS classes applied to the target element of the tooltip\n\tdefaultTargetClass: 'has-tooltip',\n\t// Default HTML template of the tooltip element\n\t// It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n\t// Change if the classes conflict with other libraries (for example bootstrap)\n\tdefaultTemplate: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n\t// Selector used to get the arrow element in the tooltip template\n\tdefaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n\t// Selector used to get the inner content element in the tooltip template\n\tdefaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n\t// Delay (ms)\n\tdefaultDelay: 0,\n\t// Default events that trigger the tooltip\n\tdefaultTrigger: 'hover focus',\n\t// Default position offset (px)\n\tdefaultOffset: 0,\n\t// Default container where the tooltip will be appended\n\tdefaultContainer: 'body',\n\tdefaultBoundariesElement: undefined,\n\tdefaultPopperOptions: {},\n\t// Class added when content is loading\n\tdefaultLoadingClass: 'tooltip-loading',\n\t// Displayed when tooltip content is loading\n\tdefaultLoadingContent: '...',\n\t// Hide on mouseover tooltip\n\tautoHide: true,\n\t// Auto destroy tooltip DOM nodes (ms)\n\tdisposeTimeout: 5000,\n\t// Options for popover\n\tpopover: {\n\t\tdefaultPlacement: 'bottom',\n\t\t// Use the `popoverClass` prop for theming\n\t\tdefaultClass: 'vue-popover-theme',\n\t\t// Base class (change if conflicts with other libraries)\n\t\tdefaultBaseClass: 'tooltip popover',\n\t\t// Wrapper class (contains arrow and inner)\n\t\tdefaultWrapperClass: 'wrapper',\n\t\t// Inner content class\n\t\tdefaultInnerClass: 'tooltip-inner popover-inner',\n\t\t// Arrow class\n\t\tdefaultArrowClass: 'tooltip-arrow popover-arrow',\n\t\tdefaultDelay: 0,\n\t\tdefaultTrigger: 'click',\n\t\tdefaultOffset: 0,\n\t\tdefaultContainer: 'body',\n\t\tdefaultBoundariesElement: undefined,\n\t\tdefaultPopperOptions: {},\n\t\t// Hides if clicked outside of popover\n\t\tdefaultAutoHide: true,\n\t\t// Update popper on content resize\n\t\tdefaultHandleResize: true\n\t}\n};\n\nfunction getOptions(options) {\n\tvar result = {\n\t\tplacement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n\t\tdelay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n\t\ttemplate: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n\t\tarrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n\t\tinnerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n\t\ttrigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n\t\toffset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n\t\tcontainer: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n\t\tboundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n\t\tautoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n\t\tloadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n\t\tloadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n\t\tpopperOptions: _extends$1({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n\t};\n\n\tif (result.offset) {\n\t\tvar typeofOffset = _typeof(result.offset);\n\t\tvar offset = result.offset;\n\n\t\t// One value -> switch\n\t\tif (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n\t\t\toffset = '0, ' + offset;\n\t\t}\n\n\t\tif (!result.popperOptions.modifiers) {\n\t\t\tresult.popperOptions.modifiers = {};\n\t\t}\n\t\tresult.popperOptions.modifiers.offset = {\n\t\t\toffset: offset\n\t\t};\n\t}\n\n\treturn result;\n}\n\nfunction getPlacement(value, modifiers) {\n\tvar placement = value.placement;\n\tfor (var i = 0; i < positions.length; i++) {\n\t\tvar pos = positions[i];\n\t\tif (modifiers[pos]) {\n\t\t\tplacement = pos;\n\t\t}\n\t}\n\treturn placement;\n}\n\nfunction getContent(value) {\n\tvar type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\tif (type === 'string') {\n\t\treturn value;\n\t} else if (value && type === 'object') {\n\t\treturn value.content;\n\t} else {\n\t\treturn false;\n\t}\n}\n\nfunction createTooltip(el, value) {\n\tvar modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n\tvar content = getContent(value);\n\tvar classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\tvar opts = _extends$1({\n\t\ttitle: content,\n\t\thtml: true\n\t}, getOptions(_extends$1({}, value, {\n\t\tplacement: getPlacement(value, modifiers)\n\t})));\n\tvar tooltip = el._tooltip = new Tooltip(el, opts);\n\ttooltip.setClasses(classes);\n\ttooltip._vueEl = el;\n\n\t// Class on target\n\tvar targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n\tel._tooltipTargetClasses = targetClasses;\n\taddClasses(el, targetClasses);\n\n\treturn tooltip;\n}\n\nfunction destroyTooltip(el) {\n\tif (el._tooltip) {\n\t\tel._tooltip.dispose();\n\t\tdelete el._tooltip;\n\t\tdelete el._tooltipOldShow;\n\t}\n\n\tif (el._tooltipTargetClasses) {\n\t\tremoveClasses(el, el._tooltipTargetClasses);\n\t\tdelete el._tooltipTargetClasses;\n\t}\n}\n\nfunction bind(el, _ref) {\n\tvar value = _ref.value,\n\t oldValue = _ref.oldValue,\n\t modifiers = _ref.modifiers;\n\n\tvar content = getContent(value);\n\tif (!content || !state.enabled) {\n\t\tdestroyTooltip(el);\n\t} else {\n\t\tvar tooltip = void 0;\n\t\tif (el._tooltip) {\n\t\t\ttooltip = el._tooltip;\n\t\t\t// Content\n\t\t\ttooltip.setContent(content);\n\t\t\t// Options\n\t\t\ttooltip.setOptions(_extends$1({}, value, {\n\t\t\t\tplacement: getPlacement(value, modifiers)\n\t\t\t}));\n\t\t} else {\n\t\t\ttooltip = createTooltip(el, value, modifiers);\n\t\t}\n\n\t\t// Manual show\n\t\tif (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n\t\t\tel._tooltipOldShow = value.show;\n\t\t\tvalue.show ? tooltip.show() : tooltip.hide();\n\t\t}\n\t}\n}\n\nvar directive = {\n\toptions: defaultOptions,\n\tbind: bind,\n\tupdate: bind,\n\tunbind: function unbind(el) {\n\t\tdestroyTooltip(el);\n\t}\n};\n\nfunction addListeners(el) {\n\tel.addEventListener('click', onClick);\n\tel.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n\t\tpassive: true\n\t} : false);\n}\n\nfunction removeListeners(el) {\n\tel.removeEventListener('click', onClick);\n\tel.removeEventListener('touchstart', onTouchStart);\n\tel.removeEventListener('touchend', onTouchEnd);\n\tel.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n\tvar el = event.currentTarget;\n\tevent.closePopover = !el.$_vclosepopover_touch;\n\tevent.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n\tif (event.changedTouches.length === 1) {\n\t\tvar el = event.currentTarget;\n\t\tel.$_vclosepopover_touch = true;\n\t\tvar touch = event.changedTouches[0];\n\t\tel.$_vclosepopover_touchPoint = touch;\n\t\tel.addEventListener('touchend', onTouchEnd);\n\t\tel.addEventListener('touchcancel', onTouchCancel);\n\t}\n}\n\nfunction onTouchEnd(event) {\n\tvar el = event.currentTarget;\n\tel.$_vclosepopover_touch = false;\n\tif (event.changedTouches.length === 1) {\n\t\tvar touch = event.changedTouches[0];\n\t\tvar firstTouch = el.$_vclosepopover_touchPoint;\n\t\tevent.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n\t\tevent.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n\t}\n}\n\nfunction onTouchCancel(event) {\n\tvar el = event.currentTarget;\n\tel.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n\tbind: function bind(el, _ref) {\n\t\tvar value = _ref.value,\n\t\t modifiers = _ref.modifiers;\n\n\t\tel.$_closePopoverModifiers = modifiers;\n\t\tif (typeof value === 'undefined' || value) {\n\t\t\taddListeners(el);\n\t\t}\n\t},\n\tupdate: function update(el, _ref2) {\n\t\tvar value = _ref2.value,\n\t\t oldValue = _ref2.oldValue,\n\t\t modifiers = _ref2.modifiers;\n\n\t\tel.$_closePopoverModifiers = modifiers;\n\t\tif (value !== oldValue) {\n\t\t\tif (typeof value === 'undefined' || value) {\n\t\t\t\taddListeners(el);\n\t\t\t} else {\n\t\t\t\tremoveListeners(el);\n\t\t\t}\n\t\t}\n\t},\n\tunbind: function unbind(el) {\n\t\tremoveListeners(el);\n\t}\n};\n\nfunction getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tnotify: function notify() {\n\t\t\tthis.$emit('notify');\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.notify);\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis.notify();\n\t\t\t}\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.notify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;');\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install$1(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\t/* -- Add more components here -- */\n}\n\n/* -- Plugin definition & Auto-install -- */\n/* You shouldn't have to modify the code below */\n\n// Plugin\nvar plugin$2 = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.3\",\n\tinstall: install$1\n};\n\n// Auto-install\nvar GlobalVue$1 = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue$1 = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue$1 = global.Vue;\n}\nif (GlobalVue$1) {\n\tGlobalVue$1.use(plugin$2);\n}\n\nfunction getDefault(key) {\n\tvar value = directive.options.popover[key];\n\tif (typeof value === 'undefined') {\n\t\treturn directive.options[key];\n\t}\n\treturn value;\n}\n\nvar isIOS = false;\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n\tisIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Popover = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"v-popover\", class: _vm.cssClass }, [_c('span', { ref: \"trigger\", staticClass: \"trigger\", staticStyle: { \"display\": \"inline-block\" }, attrs: { \"aria-describedby\": _vm.popoverId } }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', { ref: \"popover\", class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass], style: {\n\t\t\t\tdisplay: _vm.isOpen ? '' : 'none'\n\t\t\t}, attrs: { \"id\": _vm.popoverId, \"aria-hidden\": _vm.isOpen ? 'false' : 'true' } }, [_c('div', { class: _vm.popoverWrapperClass }, [_c('div', { ref: \"arrow\", class: _vm.popoverArrowClass }), _vm._v(\" \"), _c('div', { ref: \"inner\", class: _vm.popoverInnerClass, staticStyle: { \"position\": \"relative\" } }, [_c('div', [_vm._t(\"popover\")], 2), _vm._v(\" \"), _vm.handleResize ? _c('ResizeObserver', { on: { \"notify\": _vm.$_handleResize } }) : _vm._e()], 1)])])]);\n\t}, staticRenderFns: [],\n\tname: 'VPopover',\n\n\tcomponents: {\n\t\tResizeObserver: ResizeObserver\n\t},\n\n\tprops: {\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tplacement: {\n\t\t\ttype: String,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultPlacement');\n\t\t\t}\n\t\t},\n\t\tdelay: {\n\t\t\ttype: [String, Number, Object],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultDelay');\n\t\t\t}\n\t\t},\n\t\toffset: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultOffset');\n\t\t\t}\n\t\t},\n\t\ttrigger: {\n\t\t\ttype: String,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultTrigger');\n\t\t\t}\n\t\t},\n\t\tcontainer: {\n\t\t\ttype: [String, Object, Element],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultContainer');\n\t\t\t}\n\t\t},\n\t\tboundariesElement: {\n\t\t\ttype: Element,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultBoundariesElement');\n\t\t\t}\n\t\t},\n\t\tpopperOptions: {\n\t\t\ttype: Object,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultPopperOptions');\n\t\t\t}\n\t\t},\n\t\tpopoverClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultClass');\n\t\t\t}\n\t\t},\n\t\tpopoverBaseClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultBaseClass;\n\t\t\t}\n\t\t},\n\t\tpopoverInnerClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultInnerClass;\n\t\t\t}\n\t\t},\n\t\tpopoverWrapperClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultWrapperClass;\n\t\t\t}\n\t\t},\n\t\tpopoverArrowClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultArrowClass;\n\t\t\t}\n\t\t},\n\t\tautoHide: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultAutoHide;\n\t\t\t}\n\t\t},\n\t\thandleResize: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultHandleResize;\n\t\t\t}\n\t\t},\n\t\topenGroup: {\n\t\t\ttype: String,\n\t\t\tdefault: null\n\t\t}\n\t},\n\n\tdata: function data() {\n\t\treturn {\n\t\t\tisOpen: false,\n\t\t\tid: Math.random().toString(36).substr(2, 10)\n\t\t};\n\t},\n\n\n\tcomputed: {\n\t\tcssClass: function cssClass() {\n\t\t\treturn {\n\t\t\t\t'open': this.isOpen\n\t\t\t};\n\t\t},\n\t\tpopoverId: function popoverId() {\n\t\t\treturn 'popover_' + this.id;\n\t\t}\n\t},\n\n\twatch: {\n\t\topen: function open(val) {\n\t\t\tif (val) {\n\t\t\t\tthis.show();\n\t\t\t} else {\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t},\n\t\tdisabled: function disabled(val, oldVal) {\n\t\t\tif (val !== oldVal) {\n\t\t\t\tif (val) {\n\t\t\t\t\tthis.hide();\n\t\t\t\t} else if (this.open) {\n\t\t\t\t\tthis.show();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcontainer: function container(val) {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tvar popoverNode = this.$refs.popover;\n\t\t\t\tvar reference = this.$refs.trigger;\n\n\t\t\t\tvar container = this.$_findContainer(this.container, reference);\n\t\t\t\tif (!container) {\n\t\t\t\t\tconsole.warn('No container for popover', this);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcontainer.appendChild(popoverNode);\n\t\t\t\tthis.popperInstance.update();\n\t\t\t}\n\t\t},\n\t\ttrigger: function trigger(val) {\n\t\t\tthis.$_removeEventListeners();\n\t\t\tthis.$_addEventListeners();\n\t\t},\n\t\toffset: function offset(val) {\n\t\t\tvar _this = this;\n\n\t\t\tthis.$_updatePopper(function () {\n\t\t\t\tif (val) {\n\t\t\t\t\tvar offset = _this.$_getOffset();\n\n\t\t\t\t\t_this.popperInstance.options.modifiers.offset = {\n\t\t\t\t\t\toffset: offset\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\t_this.popperInstance.options.modifiers.offset = undefined;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tplacement: function placement(val) {\n\t\t\tvar _this2 = this;\n\n\t\t\tthis.$_updatePopper(function () {\n\t\t\t\t_this2.popperInstance.options.placement = val;\n\t\t\t});\n\t\t},\n\n\n\t\tboundariesElement: '$_restartPopper',\n\n\t\tpopperOptions: {\n\t\t\thandler: '$_restartPopper',\n\t\t\tdeep: true\n\t\t}\n\t},\n\n\tcreated: function created() {\n\t\tthis.$_isDisposed = false;\n\t\tthis.$_mounted = false;\n\t\tthis.$_events = [];\n\t\tthis.$_preventOpen = false;\n\t},\n\tmounted: function mounted() {\n\t\tvar popoverNode = this.$refs.popover;\n\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\n\t\tthis.$_init();\n\n\t\tif (this.open) {\n\t\t\tthis.show();\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.dispose();\n\t},\n\n\n\tmethods: {\n\t\tshow: function show() {\n\t\t\tvar _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t\t\t event = _ref.event,\n\t\t\t _ref$skipDelay = _ref.skipDelay,\n\t\t\t skipDelay = _ref$skipDelay === undefined ? false : _ref$skipDelay,\n\t\t\t _ref$force = _ref.force,\n\t\t\t force = _ref$force === undefined ? false : _ref$force;\n\n\t\t\tif (force || !this.disabled) {\n\t\t\t\tthis.$_scheduleShow(event);\n\t\t\t\tthis.$emit('show');\n\t\t\t}\n\t\t\tthis.$emit('update:open', true);\n\t\t},\n\t\thide: function hide() {\n\t\t\tvar _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t\t\t event = _ref2.event,\n\t\t\t _ref2$skipDelay = _ref2.skipDelay;\n\n\t\t\tthis.$_scheduleHide(event);\n\n\t\t\tthis.$emit('hide');\n\t\t\tthis.$emit('update:open', false);\n\t\t},\n\t\tdispose: function dispose() {\n\t\t\tthis.$_isDisposed = true;\n\t\t\tthis.$_removeEventListeners();\n\t\t\tthis.hide({ skipDelay: true });\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.popperInstance.destroy();\n\n\t\t\t\t// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\t\t\t\tif (!this.popperInstance.options.removeOnDestroy) {\n\t\t\t\t\tvar popoverNode = this.$refs.popover;\n\t\t\t\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$_mounted = false;\n\n\t\t\tthis.$emit('dispose');\n\t\t},\n\t\t$_init: function $_init() {\n\t\t\tif (this.trigger.indexOf('manual') === -1) {\n\t\t\t\tthis.$_addEventListeners();\n\t\t\t}\n\t\t},\n\t\t$_show: function $_show() {\n\t\t\tvar _this3 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar popoverNode = this.$refs.popover;\n\n\t\t\tclearTimeout(this.$_disposeTimer);\n\n\t\t\t// Already open\n\t\t\tif (this.isOpen) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Popper is already initialized\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.isOpen = true;\n\t\t\t\tthis.popperInstance.enableEventListeners();\n\t\t\t\tthis.popperInstance.update();\n\t\t\t}\n\n\t\t\tif (!this.$_mounted) {\n\t\t\t\tvar container = this.$_findContainer(this.container, reference);\n\t\t\t\tif (!container) {\n\t\t\t\t\tconsole.warn('No container for popover', this);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcontainer.appendChild(popoverNode);\n\t\t\t\tthis.$_mounted = true;\n\t\t\t}\n\n\t\t\tif (!this.popperInstance) {\n\t\t\t\tvar popperOptions = _extends$1({}, this.popperOptions, {\n\t\t\t\t\tplacement: this.placement\n\t\t\t\t});\n\n\t\t\t\tpopperOptions.modifiers = _extends$1({}, popperOptions.modifiers, {\n\t\t\t\t\tarrow: {\n\t\t\t\t\t\telement: this.$refs.arrow\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (this.offset) {\n\t\t\t\t\tvar offset = this.$_getOffset();\n\n\t\t\t\t\tpopperOptions.modifiers.offset = {\n\t\t\t\t\t\toffset: offset\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (this.boundariesElement) {\n\t\t\t\t\tpopperOptions.modifiers.preventOverflow = {\n\t\t\t\t\t\tboundariesElement: this.boundariesElement\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tthis.popperInstance = new Popper(reference, popoverNode, popperOptions);\n\n\t\t\t\t// Fix position\n\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\tif (!_this3.$_isDisposed && _this3.popperInstance) {\n\t\t\t\t\t\t_this3.popperInstance.update();\n\n\t\t\t\t\t\t// Show the tooltip\n\t\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\t\tif (!_this3.$_isDisposed) {\n\t\t\t\t\t\t\t\t_this3.isOpen = true;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tvar openGroup = this.openGroup;\n\t\t\tif (openGroup) {\n\t\t\t\tvar popover = void 0;\n\t\t\t\tfor (var i = 0; i < openPopovers.length; i++) {\n\t\t\t\t\tpopover = openPopovers[i];\n\t\t\t\t\tif (popover.openGroup !== openGroup) {\n\t\t\t\t\t\tpopover.hide();\n\t\t\t\t\t\tpopover.$emit('close-group');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\topenPopovers.push(this);\n\t\t},\n\t\t$_hide: function $_hide() {\n\t\t\tvar _this4 = this;\n\n\t\t\t// Already hidden\n\t\t\tif (!this.isOpen) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar index = openPopovers.indexOf(this);\n\t\t\tif (index !== -1) {\n\t\t\t\topenPopovers.splice(index, 1);\n\t\t\t}\n\n\t\t\tthis.isOpen = false;\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.popperInstance.disableEventListeners();\n\t\t\t}\n\n\t\t\tclearTimeout(this.$_disposeTimer);\n\t\t\tvar disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\t\t\tif (disposeTime !== null) {\n\t\t\t\tthis.$_disposeTimer = setTimeout(function () {\n\t\t\t\t\tvar popoverNode = _this4.$refs.popover;\n\t\t\t\t\tif (popoverNode) {\n\t\t\t\t\t\t// Don't remove popper instance, just the HTML element\n\t\t\t\t\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\t\t\t\t\t\t_this4.$_mounted = false;\n\t\t\t\t\t}\n\t\t\t\t}, disposeTime);\n\t\t\t}\n\t\t},\n\t\t$_findContainer: function $_findContainer(container, reference) {\n\t\t\t// if container is a query, get the relative element\n\t\t\tif (typeof container === 'string') {\n\t\t\t\tcontainer = window.document.querySelector(container);\n\t\t\t} else if (container === false) {\n\t\t\t\t// if container is `false`, set it to reference parent\n\t\t\t\tcontainer = reference.parentNode;\n\t\t\t}\n\t\t\treturn container;\n\t\t},\n\t\t$_getOffset: function $_getOffset() {\n\t\t\tvar typeofOffset = _typeof(this.offset);\n\t\t\tvar offset = this.offset;\n\n\t\t\t// One value -> switch\n\t\t\tif (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n\t\t\t\toffset = '0, ' + offset;\n\t\t\t}\n\n\t\t\treturn offset;\n\t\t},\n\t\t$_addEventListeners: function $_addEventListeners() {\n\t\t\tvar _this5 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar directEvents = [];\n\t\t\tvar oppositeEvents = [];\n\n\t\t\tvar events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n\t\t\t\treturn ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n\t\t\t}) : [];\n\n\t\t\tevents.forEach(function (event) {\n\t\t\t\tswitch (event) {\n\t\t\t\t\tcase 'hover':\n\t\t\t\t\t\tdirectEvents.push('mouseenter');\n\t\t\t\t\t\toppositeEvents.push('mouseleave');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'focus':\n\t\t\t\t\t\tdirectEvents.push('focus');\n\t\t\t\t\t\toppositeEvents.push('blur');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'click':\n\t\t\t\t\t\tdirectEvents.push('click');\n\t\t\t\t\t\toppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// schedule show tooltip\n\t\t\tdirectEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(event) {\n\t\t\t\t\tif (_this5.isOpen) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tevent.usedByTooltip = true;\n\t\t\t\t\t!_this5.$_preventOpen && _this5.show({ event: event });\n\t\t\t\t};\n\t\t\t\t_this5.$_events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\n\t\t\t// schedule hide tooltip\n\t\t\toppositeEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(event) {\n\t\t\t\t\tif (event.usedByTooltip) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t_this5.hide({ event: event });\n\t\t\t\t};\n\t\t\t\t_this5.$_events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\t\t},\n\t\t$_scheduleShow: function $_scheduleShow() {\n\t\t\tvar skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tclearTimeout(this.$_scheduleTimer);\n\t\t\tif (skipDelay) {\n\t\t\t\tthis.$_show();\n\t\t\t} else {\n\t\t\t\t// defaults to 0\n\t\t\t\tvar computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n\t\t\t\tthis.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n\t\t\t}\n\t\t},\n\t\t$_scheduleHide: function $_scheduleHide() {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\t\tvar skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tclearTimeout(this.$_scheduleTimer);\n\t\t\tif (skipDelay) {\n\t\t\t\tthis.$_hide();\n\t\t\t} else {\n\t\t\t\t// defaults to 0\n\t\t\t\tvar computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n\t\t\t\tthis.$_scheduleTimer = setTimeout(function () {\n\t\t\t\t\tif (!_this6.isOpen) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// if we are hiding because of a mouseleave, we must check that the new\n\t\t\t\t\t// reference isn't the tooltip, because in this case we don't want to hide it\n\t\t\t\t\tif (event && event.type === 'mouseleave') {\n\t\t\t\t\t\tvar isSet = _this6.$_setTooltipNodeEvent(event);\n\n\t\t\t\t\t\t// if we set the new event, don't hide the tooltip yet\n\t\t\t\t\t\t// the new event will take care to hide it if necessary\n\t\t\t\t\t\tif (isSet) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t_this6.$_hide();\n\t\t\t\t}, computedDelay);\n\t\t\t}\n\t\t},\n\t\t$_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n\t\t\tvar _this7 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar popoverNode = this.$refs.popover;\n\n\t\t\tvar relatedreference = event.relatedreference || event.toElement;\n\n\t\t\tvar callback = function callback(event2) {\n\t\t\t\tvar relatedreference2 = event2.relatedreference || event2.toElement;\n\n\t\t\t\t// Remove event listener after call\n\t\t\t\tpopoverNode.removeEventListener(event.type, callback);\n\n\t\t\t\t// If the new reference is not the reference element\n\t\t\t\tif (!reference.contains(relatedreference2)) {\n\t\t\t\t\t// Schedule to hide tooltip\n\t\t\t\t\t_this7.hide({ event: event2 });\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (popoverNode.contains(relatedreference)) {\n\t\t\t\t// listen to mouseleave on the tooltip element to be able to hide the tooltip\n\t\t\t\tpopoverNode.addEventListener(event.type, callback);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\t\t$_removeEventListeners: function $_removeEventListeners() {\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tthis.$_events.forEach(function (_ref3) {\n\t\t\t\tvar func = _ref3.func,\n\t\t\t\t event = _ref3.event;\n\n\t\t\t\treference.removeEventListener(event, func);\n\t\t\t});\n\t\t\tthis.$_events = [];\n\t\t},\n\t\t$_updatePopper: function $_updatePopper(cb) {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tcb();\n\t\t\t\tthis.popperInstance.update();\n\t\t\t}\n\t\t},\n\t\t$_restartPopper: function $_restartPopper() {\n\t\t\tif (this.popperInstance) {\n\t\t\t\tvar isOpen = this.isOpen;\n\t\t\t\tthis.dispose();\n\t\t\t\tthis.$_init();\n\t\t\t\tif (isOpen) {\n\t\t\t\t\tthis.show();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t$_handleGlobalClose: function $_handleGlobalClose(event) {\n\t\t\tvar _this8 = this;\n\n\t\t\tvar touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tthis.hide({ event: event });\n\n\t\t\tif (event.closePopover) {\n\t\t\t\tthis.$emit('close-directive');\n\t\t\t} else {\n\t\t\t\tthis.$emit('auto-hide');\n\t\t\t}\n\n\t\t\tif (touch) {\n\t\t\t\tthis.$_preventOpen = true;\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t_this8.$_preventOpen = false;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t},\n\t\t$_handleResize: function $_handleResize() {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tthis.popperInstance.update();\n\t\t\t\tthis.$emit('resize');\n\t\t\t}\n\t\t}\n\t}\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n\tif (isIOS) {\n\t\tdocument.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n\t\t\tpassive: true\n\t\t} : false);\n\t} else {\n\t\twindow.addEventListener('click', handleGlobalClick);\n\t}\n}\n\nfunction handleGlobalClick(event) {\n\thandleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n\thandleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n\tvar touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\tvar popover = void 0;\n\tfor (var i = 0; i < openPopovers.length; i++) {\n\t\tpopover = openPopovers[i];\n\t\tvar contains = popover.$refs.popover.contains(event.target);\n\t\tif (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n\t\t\tpopover.$_handleGlobalClose(event, touch);\n\t\t}\n\t}\n}\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar lodash_merge = createCommonjsModule(function (module, exports) {\n/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = 'object' == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max;\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (typeof key == 'number' && value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n if (isHostObject(value)) {\n return object ? value : {};\n }\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (!isArr) {\n var props = isFull ? getAllKeys(value) : keys(value);\n }\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n });\n return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n if (!(isArray(source) || isTypedArray(source))) {\n var props = baseKeysIn(source);\n }\n arrayEach(props || source, function(srcValue, key) {\n if (props) {\n key = srcValue;\n srcValue = source[key];\n }\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(object[key], srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n });\n}\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = object[key],\n srcValue = source[key],\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n newValue = srcValue;\n if (isArray(srcValue) || isTypedArray(srcValue)) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else {\n isCommon = false;\n newValue = baseClone(srcValue, true);\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {\n isCommon = false;\n newValue = baseClone(srcValue, true);\n }\n else {\n newValue = objValue;\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var result = new buffer.constructor(buffer.length);\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return cloneMap(object, isDeep, cloneFunc);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) ||\n objectToString.call(value) != objectTag || isHostObject(value)) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return (typeof Ctor == 'function' &&\n Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = merge;\n});\n\nfunction install(Vue) {\n\tvar options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\tif (install.installed) return;\n\tinstall.installed = true;\n\n\tvar finalOptions = {};\n\tlodash_merge(finalOptions, defaultOptions, options);\n\n\tplugin.options = finalOptions;\n\tdirective.options = finalOptions;\n\n\tVue.directive('tooltip', directive);\n\tVue.directive('close-popover', vclosepopover);\n\tVue.component('v-popover', Popover);\n}\n\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = Popover;\n\nvar plugin = {\n\tinstall: install,\n\n\tget enabled() {\n\t\treturn state.enabled;\n\t},\n\n\tset enabled(value) {\n\t\tstate.enabled = value;\n\t}\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, VTooltip, VClosePopover, VPopover, createTooltip, destroyTooltip };\nexport default plugin;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/v-tooltip/dist/v-tooltip.esm.js\n// module id = 41\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\",class:{'disabled': _vm.loading.delete || _vm.loading.disable}},[_c('div',{staticClass:\"avatar\",class:{'icon-loading-small': _vm.loading.delete || _vm.loading.disable}},[(!_vm.loading.delete && !_vm.loading.disable)?_c('img',{attrs:{\"alt\":\"\",\"width\":\"32\",\"height\":\"32\",\"src\":_vm.generateAvatar(_vm.user.id, 32),\"srcset\":_vm.generateAvatar(_vm.user.id, 64)+' 2x, '+_vm.generateAvatar(_vm.user.id, 128)+' 4x'}}):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(_vm.user.id))]),_vm._v(\" \"),_c('form',{staticClass:\"displayName\",class:{'icon-loading-small': _vm.loading.displayName},on:{\"submit\":function($event){$event.preventDefault();return _vm.updateDisplayName($event)}}},[_c('input',{attrs:{\"id\":'displayName'+_vm.user.id+_vm.rand,\"type\":\"text\",\"disabled\":_vm.loading.displayName||_vm.loading.all,\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"},domProps:{\"value\":_vm.user.displayname}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]),_vm._v(\" \"),(_vm.settings.canChangePassword)?_c('form',{staticClass:\"password\",class:{'icon-loading-small': _vm.loading.password},on:{\"submit\":function($event){$event.preventDefault();return _vm.updatePassword($event)}}},[_c('input',{ref:\"password\",attrs:{\"id\":'password'+_vm.user.id+_vm.rand,\"type\":\"password\",\"required\":\"\",\"disabled\":_vm.loading.password||_vm.loading.all,\"minlength\":_vm.minPasswordLength,\"value\":\"\",\"placeholder\":_vm.t('settings', 'New password'),\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]):_c('div'),_vm._v(\" \"),_c('form',{staticClass:\"mailAddress\",class:{'icon-loading-small': _vm.loading.mailAddress},on:{\"submit\":function($event){$event.preventDefault();return _vm.updateEmail($event)}}},[_c('input',{ref:\"mailAddress\",attrs:{\"id\":'mailAddress'+_vm.user.id+_vm.rand,\"type\":\"email\",\"disabled\":_vm.loading.mailAddress||_vm.loading.all,\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"},domProps:{\"value\":_vm.user.email}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"groups\",class:{'icon-loading-small': _vm.loading.groups}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userGroups,\"options\":_vm.groups,\"disabled\":_vm.loading.groups||_vm.loading.all,\"tag-placeholder\":\"create\",\"placeholder\":_vm.t('settings', 'Add user in group'),\"label\":\"name\",\"track-by\":\"id\",\"limit\":2,\"limitText\":_vm.limitGroups,\"multiple\":true,\"taggable\":true,\"closeOnSelect\":false},on:{\"tag\":_vm.createGroup,\"select\":_vm.addUserGroup,\"remove\":_vm.removeUserGroup}})],1),_vm._v(\" \"),(_vm.subAdminsGroups.length>0)?_c('div',{staticClass:\"subadmins\",class:{'icon-loading-small': _vm.loading.subadmins}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userSubAdminsGroups,\"options\":_vm.subAdminsGroups,\"disabled\":_vm.loading.subadmins||_vm.loading.all,\"placeholder\":_vm.t('settings', 'Set user as admin for'),\"label\":\"name\",\"track-by\":\"id\",\"limit\":2,\"limitText\":_vm.limitGroups,\"multiple\":true,\"closeOnSelect\":false},on:{\"select\":_vm.addUserSubAdmin,\"remove\":_vm.removeUserSubAdmin}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings','No result')))])])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"quota\",class:{'icon-loading-small': _vm.loading.quota}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userQuota,\"options\":_vm.quotaOptions,\"disabled\":_vm.loading.quota||_vm.loading.all,\"tag-placeholder\":\"create\",\"placeholder\":_vm.t('settings', 'Select user quota'),\"label\":\"label\",\"track-by\":\"id\",\"allowEmpty\":false,\"taggable\":true},on:{\"tag\":_vm.validateQuota,\"input\":_vm.setUserQuota}}),_vm._v(\" \"),_c('progress',{staticClass:\"quota-user-progress\",class:{'warn':_vm.usedQuota>80},attrs:{\"max\":\"100\"},domProps:{\"value\":_vm.usedQuota}})],1),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"languages\",class:{'icon-loading-small': _vm.loading.languages}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userLanguage,\"options\":_vm.languages,\"disabled\":_vm.loading.languages||_vm.loading.all,\"placeholder\":_vm.t('settings', 'No language set'),\"label\":\"name\",\"track-by\":\"code\",\"allowEmpty\":false,\"group-values\":\"languages\",\"group-label\":\"label\"},on:{\"input\":_vm.setUserLanguage}})],1):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('div',{staticClass:\"storageLocation\"},[_vm._v(_vm._s(_vm.user.storageLocation))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend)?_c('div',{staticClass:\"userBackend\"},[_vm._v(_vm._s(_vm.user.backend))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.user.lastLogin>0 ? _vm.OC.Util.formatDate(_vm.user.lastLogin) : ''),expression:\"user.lastLogin>0 ? OC.Util.formatDate(user.lastLogin) : ''\",modifiers:{\"auto\":true}}],staticClass:\"lastLogin\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.user.lastLogin>0 ? _vm.OC.Util.relativeModifiedDate(_vm.user.lastLogin) : _vm.t('settings','Never'))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"userActions\"},[(_vm.OC.currentUser !== _vm.user.id && _vm.user.id !== 'admin' && !_vm.loading.all)?_c('div',{staticClass:\"toggleUserActions\"},[_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.hideMenu),expression:\"hideMenu\"}],staticClass:\"icon-more\",on:{\"click\":_vm.toggleMenu}}),_vm._v(\" \"),_c('div',{staticClass:\"popovermenu\",class:{ 'open': _vm.openedMenu }},[_c('popover-menu',{attrs:{\"menu\":_vm.userActions}})],1)]):_vm._e()])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-689d61c8\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/userList/userRow.vue\n// module id = 42\n// module chunks = 0","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueInfiniteLoading=t():e.VueInfiniteLoading=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){function t(n){if(i[n])return i[n].exports;var a=i[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var i={};return t.m=e,t.c=i,t.d=function(e,i,n){t.o(e,i)||Object.defineProperty(e,i,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,\"a\",i),i},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"/\",t(t.s=3)}([function(e,t){function i(e,t){var i=e[1]||\"\",a=e[3];if(!a)return i;if(t&&\"function\"==typeof btoa){var r=n(a);return[i].concat(a.sources.map(function(e){return\"/*# sourceURL=\"+a.sourceRoot+e+\" */\"})).concat([r]).join(\"\\n\")}return[i].join(\"\\n\")}function n(e){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+\" */\"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=i(t,e);return t[2]?\"@media \"+t[2]+\"{\"+n+\"}\":n}).join(\"\")},t.i=function(e,i){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var n={},a=0;a<this.length;a++){var r=this[a][0];\"number\"==typeof r&&(n[r]=!0)}for(a=0;a<e.length;a++){var o=e[a];\"number\"==typeof o[0]&&n[o[0]]||(i&&!o[2]?o[2]=i:i&&(o[2]=\"(\"+o[2]+\") and (\"+i+\")\"),t.push(o))}},t}},function(e,t,i){function n(e){for(var t=0;t<e.length;t++){var i=e[t],n=f[i.id];if(n){n.refs++;for(var a=0;a<n.parts.length;a++)n.parts[a](i.parts[a]);for(;a<i.parts.length;a++)n.parts.push(r(i.parts[a]));n.parts.length>i.parts.length&&(n.parts.length=i.parts.length)}else{for(var o=[],a=0;a<i.parts.length;a++)o.push(r(i.parts[a]));f[i.id]={id:i.id,refs:1,parts:o}}}}function a(){var e=document.createElement(\"style\");return e.type=\"text/css\",c.appendChild(e),e}function r(e){var t,i,n=document.querySelector('style[data-vue-ssr-id~=\"'+e.id+'\"]');if(n){if(m)return h;n.parentNode.removeChild(n)}if(b){var r=p++;n=u||(u=a()),t=o.bind(null,n,r,!1),i=o.bind(null,n,r,!0)}else n=a(),t=s.bind(null,n),i=function(){n.parentNode.removeChild(n)};return t(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap)return;t(e=n)}else i()}}function o(e,t,i,n){var a=i?\"\":n.css;if(e.styleSheet)e.styleSheet.cssText=g(t,a);else{var r=document.createTextNode(a),o=e.childNodes;o[t]&&e.removeChild(o[t]),o.length?e.insertBefore(r,o[t]):e.appendChild(r)}}function s(e,t){var i=t.css,n=t.media,a=t.sourceMap;if(n&&e.setAttribute(\"media\",n),a&&(i+=\"\\n/*# sourceURL=\"+a.sources[0]+\" */\",i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+\" */\"),e.styleSheet)e.styleSheet.cssText=i;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(i))}}var l=\"undefined\"!=typeof document;if(\"undefined\"!=typeof DEBUG&&DEBUG&&!l)throw new Error(\"vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\");var d=i(7),f={},c=l&&(document.head||document.getElementsByTagName(\"head\")[0]),u=null,p=0,m=!1,h=function(){},b=\"undefined\"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());e.exports=function(e,t,i){m=i;var a=d(e,t);return n(a),function(t){for(var i=[],r=0;r<a.length;r++){var o=a[r],s=f[o.id];s.refs--,i.push(s)}t?(a=d(e,t),n(a)):a=[];for(var r=0;r<i.length;r++){var s=i[r];if(0===s.refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete f[s.id]}}}};var g=function(){var e=[];return function(t,i){return e[t]=i,e.filter(Boolean).join(\"\\n\")}}()},function(e,t){e.exports=function(e,t,i,n,a,r){var o,s=e=e||{},l=typeof e.default;\"object\"!==l&&\"function\"!==l||(o=e,s=e.default);var d=\"function\"==typeof s?s.options:s;t&&(d.render=t.render,d.staticRenderFns=t.staticRenderFns,d._compiled=!0),i&&(d.functional=!0),a&&(d._scopeId=a);var f;if(r?(f=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},d._ssrRegister=f):n&&(f=n),f){var c=d.functional,u=c?d.render:d.beforeCreate;c?(d._injectStyles=f,d.render=function(e,t){return f.call(t),u(e,t)}):d.beforeCreate=u?[].concat(u,f):[f]}return{esModule:o,exports:s,options:d}}},function(e,t,i){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=i(4);t.default=n.a,\"undefined\"!=typeof window&&window.Vue&&window.Vue.component(\"infinite-loading\",n.a)},function(e,t,i){\"use strict\";function n(e){i(5)}var a=i(8),r=i(14),o=i(2),s=n,l=o(a.a,r.a,!1,s,\"data-v-fb2c869e\",null);t.a=l.exports},function(e,t,i){var n=i(6);\"string\"==typeof n&&(n=[[e.i,n,\"\"]]),n.locals&&(e.exports=n.locals);i(1)(\"2249d7a7\",n,!0)},function(e,t,i){t=e.exports=i(0)(void 0),t.push([e.i,\".infinite-loading-container[data-v-fb2c869e]{clear:both;text-align:center}.infinite-loading-container[data-v-fb2c869e] [class^=loading-]{display:inline-block;margin:15px 0;width:28px;height:28px;font-size:28px;line-height:28px;border-radius:50%}.infinite-status-prompt[data-v-fb2c869e]{color:#666;font-size:14px;text-align:center;padding:10px 0}\",\"\"])},function(e,t){e.exports=function(e,t){for(var i=[],n={},a=0;a<t.length;a++){var r=t[a],o=r[0],s=r[1],l=r[2],d=r[3],f={id:e+\":\"+a,css:s,media:l,sourceMap:d};n[o]?n[o].parts.push(f):i.push(n[o]={id:o,parts:[f]})}return i}},function(e,t,i){\"use strict\";var n=i(9),a={STATE_CHANGER:[\"[Vue-infinite-loading warn]: emit `loaded` and `complete` event through component instance of `$refs` may cause error, so it will be deprecated soon, please use the `$state` argument instead (`$state` just the special `$event` variable):\",\"\\ntemplate:\",'<infinite-loading @infinite=\"infiniteHandler\"></infinite-loading>',\"\\nscript:\\n...\\ninfiniteHandler($state) {\\n ajax('https://www.example.com/api/news')\\n .then((res) => {\\n if (res.data.length) {\\n $state.loaded();\\n } else {\\n $state.complete();\\n }\\n });\\n}\\n...\",\"\",\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/57#issuecomment-324370549\"].join(\"\\n\"),INFINITE_EVENT:\"[Vue-infinite-loading warn]: `:on-infinite` property will be deprecated soon, please use `@infinite` event instead.\"},r={INFINITE_LOOP:[\"[Vue-infinite-loading error]: executed the callback function more than 10 times for a short time, it looks like searched a wrong scroll wrapper that doest not has fixed height or maximum height, please check it. If you want to force to set a element as scroll wrapper ranther than automatic searching, you can do this:\",'\\n\\x3c!-- add a special attribute for the real scroll wrapper --\\x3e\\n<div infinite-wrapper>\\n ...\\n \\x3c!-- set force-use-infinite-wrapper to true --\\x3e\\n <infinite-loading force-use-infinite-wrapper=\"true\"></infinite-loading>\\n</div>\\n ',\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/55#issuecomment-316934169\"].join(\"\\n\")};t.a={name:\"InfiniteLoading\",data:function(){return{scrollParent:null,scrollHandler:null,isLoading:!1,isComplete:!1,isFirstLoad:!0,debounceTimer:null,debounceDuration:50,infiniteLoopChecked:!1,infiniteLoopTimer:null,continuousCallTimes:0}},components:{Spinner:n.a},computed:{isNoResults:{cache:!1,get:function(){var e=this.$slots[\"no-results\"],t=e&&e[0].elm&&\"\"===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&this.isFirstLoad&&!t}},isNoMore:{cache:!1,get:function(){var e=this.$slots[\"no-more\"],t=e&&e[0].elm&&\"\"===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&!this.isFirstLoad&&!t}}},props:{distance:{type:Number,default:100},onInfinite:Function,spinner:String,direction:{type:String,default:\"bottom\"},forceUseInfiniteWrapper:null},mounted:function(){var e=this;this.scrollParent=this.getScrollParent(),this.scrollHandler=function(e){this.isLoading||(clearTimeout(this.debounceTimer),e&&e.constructor===Event?this.debounceTimer=setTimeout(this.attemptLoad,this.debounceDuration):this.attemptLoad())}.bind(this),setTimeout(this.scrollHandler,1),this.scrollParent.addEventListener(\"scroll\",this.scrollHandler),this.$on(\"$InfiniteLoading:loaded\",function(t){e.isFirstLoad=!1,e.isLoading&&e.$nextTick(e.attemptLoad.bind(null,!0)),t&&t.target===e||console.warn(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:complete\",function(t){e.isLoading=!1,e.isComplete=!0,e.$nextTick(function(){e.$forceUpdate()}),e.scrollParent.removeEventListener(\"scroll\",e.scrollHandler),t&&t.target===e||console.warn(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:reset\",function(){e.isLoading=!1,e.isComplete=!1,e.isFirstLoad=!0,e.scrollParent.addEventListener(\"scroll\",e.scrollHandler),setTimeout(e.scrollHandler,1)}),this.onInfinite&&console.warn(a.INFINITE_EVENT),this.stateChanger={loaded:function(){e.$emit(\"$InfiniteLoading:loaded\",{target:e})},complete:function(){e.$emit(\"$InfiniteLoading:complete\",{target:e})},reset:function(){e.$emit(\"$InfiniteLoading:reset\",{target:e})}},this.$watch(\"forceUseInfiniteWrapper\",function(){e.scrollParent=e.getScrollParent()})},deactivated:function(){this.isLoading=!1,this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler)},activated:function(){this.scrollParent.addEventListener(\"scroll\",this.scrollHandler)},methods:{attemptLoad:function(e){var t=this,i=this.getCurrentDistance();!this.isComplete&&i<=this.distance&&this.$el.offsetWidth+this.$el.offsetHeight>0?(this.isLoading=!0,\"function\"==typeof this.onInfinite?this.onInfinite.call(null,this.stateChanger):this.$emit(\"infinite\",this.stateChanger),!e||this.forceUseInfiniteWrapper||this.infiniteLoopChecked||(this.continuousCallTimes+=1,clearTimeout(this.infiniteLoopTimer),this.infiniteLoopTimer=setTimeout(function(){t.infiniteLoopChecked=!0},1e3),this.continuousCallTimes>10&&(console.error(r.INFINITE_LOOP),this.infiniteLoopChecked=!0))):this.isLoading=!1},getCurrentDistance:function(){var e=void 0;if(\"top\"===this.direction)e=isNaN(this.scrollParent.scrollTop)?this.scrollParent.pageYOffset:this.scrollParent.scrollTop;else{e=this.$el.getBoundingClientRect().top-(this.scrollParent===window?window.innerHeight:this.scrollParent.getBoundingClientRect().bottom)}return e},getScrollParent:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.$el,t=void 0;return\"BODY\"===e.tagName?t=window:!this.forceUseInfiniteWrapper&&[\"scroll\",\"auto\"].indexOf(getComputedStyle(e).overflowY)>-1?t=e:(e.hasAttribute(\"infinite-wrapper\")||e.hasAttribute(\"data-infinite-wrapper\"))&&(t=e),t||this.getScrollParent(e.parentNode)}},destroyed:function(){this.isComplete||this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler)}}},function(e,t,i){\"use strict\";function n(e){i(10)}var a=i(12),r=i(13),o=i(2),s=n,l=o(a.a,r.a,!1,s,\"data-v-6e1fd88f\",null);t.a=l.exports},function(e,t,i){var n=i(11);\"string\"==typeof n&&(n=[[e.i,n,\"\"]]),n.locals&&(e.exports=n.locals);i(1)(\"29881045\",n,!0)},function(e,t,i){t=e.exports=i(0)(void 0),t.push([e.i,'.loading-wave-dots[data-v-6e1fd88f]{position:relative}.loading-wave-dots[data-v-6e1fd88f] .wave-item{position:absolute;top:50%;left:50%;display:inline-block;margin-top:-4px;width:8px;height:8px;border-radius:50%;-webkit-animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite;animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite}.loading-wave-dots[data-v-6e1fd88f] .wave-item:first-child{margin-left:-36px}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(2){margin-left:-20px;-webkit-animation-delay:.14s;animation-delay:.14s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(3){margin-left:-4px;-webkit-animation-delay:.28s;animation-delay:.28s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(4){margin-left:12px;-webkit-animation-delay:.42s;animation-delay:.42s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:last-child{margin-left:28px;-webkit-animation-delay:.56s;animation-delay:.56s}@-webkit-keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}@keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}.loading-circles[data-v-6e1fd88f] .circle-item{width:5px;height:5px;-webkit-animation:loading-circles-data-v-6e1fd88f linear .75s infinite;animation:loading-circles-data-v-6e1fd88f linear .75s infinite}.loading-circles[data-v-6e1fd88f] .circle-item:first-child{margin-top:-14.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){margin-top:-11.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){margin-top:-2.5px;margin-left:9.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){margin-top:6.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){margin-top:9.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){margin-top:6.26px;margin-left:-11.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){margin-top:-2.5px;margin-left:-14.5px}.loading-circles[data-v-6e1fd88f] .circle-item:last-child{margin-top:-11.26px;margin-left:-11.26px}@-webkit-keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}@keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}.loading-bubbles[data-v-6e1fd88f] .bubble-item{background:#666;-webkit-animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite;animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite}.loading-bubbles[data-v-6e1fd88f] .bubble-item:first-child{margin-top:-12.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2){margin-top:-9.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3){margin-top:-.5px;margin-left:11.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4){margin-top:8.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5){margin-top:11.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6){margin-top:8.26px;margin-left:-9.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7){margin-top:-.5px;margin-left:-12.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child{margin-top:-9.26px;margin-left:-9.26px}@-webkit-keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}@keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}.loading-default[data-v-6e1fd88f]{position:relative;border:1px solid #999;-webkit-animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite;animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite}.loading-default[data-v-6e1fd88f]:before{content:\"\";position:absolute;display:block;top:0;left:50%;margin-top:-3px;margin-left:-3px;width:6px;height:6px;background-color:#999;border-radius:50%}.loading-spiral[data-v-6e1fd88f]{border:2px solid #777;border-right-color:transparent;-webkit-animation:loading-rotating-data-v-6e1fd88f linear .85s infinite;animation:loading-rotating-data-v-6e1fd88f linear .85s infinite}@-webkit-keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-bubbles[data-v-6e1fd88f],.loading-circles[data-v-6e1fd88f]{position:relative}.loading-bubbles[data-v-6e1fd88f] .bubble-item,.loading-circles[data-v-6e1fd88f] .circle-item{position:absolute;top:50%;left:50%;display:inline-block;border-radius:50%}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){-webkit-animation-delay:93ms;animation-delay:93ms}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){-webkit-animation-delay:.186s;animation-delay:.186s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){-webkit-animation-delay:.279s;animation-delay:.279s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){-webkit-animation-delay:.372s;animation-delay:.372s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){-webkit-animation-delay:.465s;animation-delay:.465s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){-webkit-animation-delay:.558s;animation-delay:.558s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child,.loading-circles[data-v-6e1fd88f] .circle-item:last-child{-webkit-animation-delay:.651s;animation-delay:.651s}',\"\"])},function(e,t,i){\"use strict\";var n={BUBBLES:{render:function(e){return e(\"span\",{attrs:{class:\"loading-bubbles\"}},Array.apply(Array,Array(8)).map(function(){return e(\"span\",{attrs:{class:\"bubble-item\"}})}))}},CIRCLES:{render:function(e){return e(\"span\",{attrs:{class:\"loading-circles\"}},Array.apply(Array,Array(8)).map(function(){return e(\"span\",{attrs:{class:\"circle-item\"}})}))}},DEFAULT:{render:function(e){return e(\"i\",{attrs:{class:\"loading-default\"}})}},SPIRAL:{render:function(e){return e(\"i\",{attrs:{class:\"loading-spiral\"}})}},WAVEDOTS:{render:function(e){return e(\"span\",{attrs:{class:\"loading-wave-dots\"}},Array.apply(Array,Array(5)).map(function(){return e(\"span\",{attrs:{class:\"wave-item\"}})}))}}};t.a={name:\"spinner\",computed:{spinnerView:function(){return n[(this.spinner||\"\").toUpperCase()]||n.DEFAULT}},props:{spinner:String}}},function(e,t,i){\"use strict\";var n=function(){var e=this,t=e.$createElement;return(e._self._c||t)(e.spinnerView,{tag:\"component\"})},a=[],r={render:n,staticRenderFns:a};t.a=r},function(e,t,i){\"use strict\";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(\"div\",{staticClass:\"infinite-loading-container\"},[i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isLoading,expression:\"isLoading\"}]},[e._t(\"spinner\",[i(\"spinner\",{attrs:{spinner:e.spinner}})])],2),e._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isNoResults,expression:\"isNoResults\"}],staticClass:\"infinite-status-prompt\"},[e._t(\"no-results\",[e._v(\"No results :(\")])],2),e._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isNoMore,expression:\"isNoMore\"}],staticClass:\"infinite-status-prompt\"},[e._t(\"no-more\",[e._v(\"No more data :)\")])],2)])},a=[],r={render:n,staticRenderFns:a};t.a=r}])});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-infinite-loading/dist/vue-infinite-loading.js\n// module id = 43\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-list-grid\",attrs:{\"id\":\"app-content\"},on:{\"&scroll\":function($event){return _vm.onScroll($event)}}},[_c('div',{staticClass:\"row\",class:{'sticky': _vm.scrolled && !_vm.showConfig.showNewUserForm},attrs:{\"id\":\"grid-header\"}},[_c('div',{staticClass:\"avatar\",attrs:{\"id\":\"headerAvatar\"}}),_vm._v(\" \"),_c('div',{staticClass:\"name\",attrs:{\"id\":\"headerName\"}},[_vm._v(_vm._s(_vm.t('settings', 'Username')))]),_vm._v(\" \"),_c('div',{staticClass:\"displayName\",attrs:{\"id\":\"headerDisplayName\"}},[_vm._v(_vm._s(_vm.t('settings', 'Full name')))]),_vm._v(\" \"),_c('div',{staticClass:\"password\",attrs:{\"id\":\"headerPassword\"}},[_vm._v(_vm._s(_vm.t('settings', 'Password')))]),_vm._v(\" \"),_c('div',{staticClass:\"mailAddress\",attrs:{\"id\":\"headerAddress\"}},[_vm._v(_vm._s(_vm.t('settings', 'Email')))]),_vm._v(\" \"),_c('div',{staticClass:\"groups\",attrs:{\"id\":\"headerGroups\"}},[_vm._v(_vm._s(_vm.t('settings', 'Groups')))]),_vm._v(\" \"),(_vm.subAdminsGroups.length>0)?_c('div',{staticClass:\"subadmins\",attrs:{\"id\":\"headerSubAdmins\"}},[_vm._v(_vm._s(_vm.t('settings', 'Group admin for')))]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"quota\",attrs:{\"id\":\"headerQuota\"}},[_vm._v(_vm._s(_vm.t('settings', 'Quota')))]),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"languages\",attrs:{\"id\":\"headerLanguages\"}},[_vm._v(_vm._s(_vm.t('settings', 'Languages')))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('div',{staticClass:\"headerStorageLocation storageLocation\"},[_vm._v(_vm._s(_vm.t('settings', 'Storage location')))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend)?_c('div',{staticClass:\"headerUserBackend userBackend\"},[_vm._v(_vm._s(_vm.t('settings', 'User backend')))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('div',{staticClass:\"headerLastLogin lastLogin\"},[_vm._v(_vm._s(_vm.t('settings', 'Last login')))]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"userActions\"})]),_vm._v(\" \"),_c('form',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showConfig.showNewUserForm),expression:\"showConfig.showNewUserForm\"}],staticClass:\"row\",class:{'sticky': _vm.scrolled && _vm.showConfig.showNewUserForm},attrs:{\"id\":\"new-user\",\"disabled\":_vm.loading},on:{\"submit\":function($event){$event.preventDefault();return _vm.createUser($event)}}},[_c('div',{class:_vm.loading?'icon-loading-small':'icon-add'}),_vm._v(\" \"),_c('div',{staticClass:\"name\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.id),expression:\"newUser.id\"}],attrs:{\"id\":\"newusername\",\"type\":\"text\",\"required\":\"\",\"placeholder\":_vm.t('settings', 'User name'),\"name\":\"username\",\"autocomplete\":\"off\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\",\"pattern\":\"[a-zA-Z0-9 _\\\\.@\\\\-']+\"},domProps:{\"value\":(_vm.newUser.id)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"id\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"displayName\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.displayName),expression:\"newUser.displayName\"}],attrs:{\"id\":\"newdisplayname\",\"type\":\"text\",\"placeholder\":_vm.t('settings', 'Display name'),\"name\":\"displayname\",\"autocomplete\":\"off\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\"},domProps:{\"value\":(_vm.newUser.displayName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"displayName\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"password\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.password),expression:\"newUser.password\"}],attrs:{\"id\":\"newuserpassword\",\"type\":\"password\",\"required\":_vm.newUser.mailAddress==='',\"placeholder\":_vm.t('settings', 'Password'),\"name\":\"password\",\"autocomplete\":\"new-password\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\",\"minlength\":_vm.minPasswordLength},domProps:{\"value\":(_vm.newUser.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"password\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"mailAddress\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.mailAddress),expression:\"newUser.mailAddress\"}],attrs:{\"id\":\"newemail\",\"type\":\"email\",\"required\":_vm.newUser.password==='',\"placeholder\":_vm.t('settings', 'Mail address'),\"name\":\"email\",\"autocomplete\":\"off\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\"},domProps:{\"value\":(_vm.newUser.mailAddress)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"mailAddress\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"groups\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.groups,\"placeholder\":_vm.t('settings', 'Add user in group'),\"label\":\"name\",\"track-by\":\"id\",\"multiple\":true,\"close-on-select\":false},model:{value:(_vm.newUser.groups),callback:function ($$v) {_vm.$set(_vm.newUser, \"groups\", $$v)},expression:\"newUser.groups\"}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings','No result')))])])],1),_vm._v(\" \"),(_vm.subAdminsGroups.length>0)?_c('div',{staticClass:\"subadmins\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.subAdminsGroups,\"placeholder\":_vm.t('settings', 'Set user as admin for'),\"label\":\"name\",\"track-by\":\"id\",\"multiple\":true,\"close-on-select\":false},model:{value:(_vm.newUser.subAdminsGroups),callback:function ($$v) {_vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)},expression:\"newUser.subAdminsGroups\"}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings','No result')))])])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"quota\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.quotaOptions,\"placeholder\":_vm.t('settings', 'Select user quota'),\"label\":\"label\",\"track-by\":\"id\",\"allowEmpty\":false,\"taggable\":true},on:{\"tag\":_vm.validateQuota},model:{value:(_vm.newUser.quota),callback:function ($$v) {_vm.$set(_vm.newUser, \"quota\", $$v)},expression:\"newUser.quota\"}})],1),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"languages\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.languages,\"placeholder\":_vm.t('settings', 'Default language'),\"label\":\"name\",\"track-by\":\"code\",\"allowEmpty\":false,\"group-values\":\"languages\",\"group-label\":\"label\"},model:{value:(_vm.newUser.language),callback:function ($$v) {_vm.$set(_vm.newUser, \"language\", $$v)},expression:\"newUser.language\"}})],1):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('div',{staticClass:\"storageLocation\"}):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend)?_c('div',{staticClass:\"userBackend\"}):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('div',{staticClass:\"lastLogin\"}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"userActions\"},[_c('input',{staticClass:\"button primary icon-checkmark-white has-tooltip\",attrs:{\"type\":\"submit\",\"id\":\"newsubmit\",\"value\":\"\",\"title\":_vm.t('settings', 'Add a new user')}}),_vm._v(\" \"),_c('input',{staticClass:\"button icon-close has-tooltip\",attrs:{\"type\":\"reset\",\"id\":\"newreset\",\"value\":\"\",\"title\":_vm.t('settings', 'Cancel and reset the form')},on:{\"click\":_vm.resetForm}})])]),_vm._v(\" \"),_vm._l((_vm.filteredUsers),function(user,key){return _c('user-row',{key:key,attrs:{\"user\":user,\"settings\":_vm.settings,\"showConfig\":_vm.showConfig,\"groups\":_vm.groups,\"subAdminsGroups\":_vm.subAdminsGroups,\"quotaOptions\":_vm.quotaOptions,\"languages\":_vm.languages}})}),_vm._v(\" \"),_c('infinite-loading',{ref:\"infiniteLoading\",on:{\"infinite\":_vm.infiniteHandler}},[_c('div',{attrs:{\"slot\":\"spinner\"},slot:\"spinner\"},[_c('div',{staticClass:\"users-icon-loading icon-loading\"})]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"no-more\"},slot:\"no-more\"},[_c('div',{staticClass:\"users-list-end\"},[_vm._v(\"— \"+_vm._s(_vm.t('settings', 'no more results'))+\" —\")])]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"no-results\"},slot:\"no-results\"},[_c('div',{attrs:{\"id\":\"emptycontent\"}},[_c('div',{staticClass:\"icon-contacts-dark\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'No users in here')))])])])])],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-991a8d00\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/userList.vue\n// module id = 44\n// module chunks = 0","/**\n * vue-local-storage v0.6.0\n * (c) 2017 Alexander Avakov\n * @license MIT\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.VueLocalStorage = factory());\n}(this, (function () { 'use strict';\n\nvar VueLocalStorage = function VueLocalStorage () {\n this._properties = {};\n this._namespace = '';\n this._isSupported = true;\n};\n\nvar prototypeAccessors = { namespace: {} };\n\n/**\n * Namespace getter.\n *\n * @returns {string}\n */\nprototypeAccessors.namespace.get = function () {\n return this._namespace\n};\n\n/**\n * Namespace setter.\n *\n * @param {string} value\n */\nprototypeAccessors.namespace.set = function (value) {\n this._namespace = value ? (value + \".\") : '';\n};\n\n/**\n * Concatenates localStorage key with namespace prefix.\n *\n * @param {string} lsKey\n * @returns {string}\n * @private\n */\nVueLocalStorage.prototype._getLsKey = function _getLsKey (lsKey) {\n return (\"\" + (this._namespace) + lsKey)\n};\n\n/**\n * Set a value to localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @param {*} rawValue\n * @param {*} type\n * @private\n */\nVueLocalStorage.prototype._lsSet = function _lsSet (lsKey, rawValue, type) {\n var key = this._getLsKey(lsKey);\n var value = type && [Array, Object].includes(type)\n ? JSON.stringify(rawValue)\n : rawValue;\n\n window.localStorage.setItem(key, value);\n};\n\n/**\n * Get value from localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @returns {any}\n * @private\n */\nVueLocalStorage.prototype._lsGet = function _lsGet (lsKey) {\n var key = this._getLsKey(lsKey);\n\n return window.localStorage[key]\n};\n\n/**\n * Get value from localStorage\n *\n * @param {String} lsKey\n * @param {*} defaultValue\n * @param {*} defaultType\n * @returns {*}\n */\nVueLocalStorage.prototype.get = function get (lsKey, defaultValue, defaultType) {\n var this$1 = this;\n if ( defaultValue === void 0 ) defaultValue = null;\n if ( defaultType === void 0 ) defaultType = String;\n\n if (!this._isSupported) {\n return null\n }\n\n if (this._lsGet(lsKey)) {\n var type = defaultType;\n\n for (var key in this$1._properties) {\n if (key === lsKey) {\n type = this$1._properties[key].type;\n break\n }\n }\n\n return this._process(type, this._lsGet(lsKey))\n }\n\n return defaultValue !== null ? defaultValue : null\n};\n\n/**\n * Set localStorage value\n *\n * @param {String} lsKey\n * @param {*} value\n * @returns {*}\n */\nVueLocalStorage.prototype.set = function set (lsKey, value) {\n var this$1 = this;\n\n if (!this._isSupported) {\n return null\n }\n\n for (var key in this$1._properties) {\n var type = this$1._properties[key].type;\n\n if ((key === lsKey)) {\n this$1._lsSet(lsKey, value, type);\n\n return value\n }\n }\n\n this._lsSet(lsKey, value);\n\n return value\n};\n\n/**\n * Remove value from localStorage\n *\n * @param {String} lsKey\n */\nVueLocalStorage.prototype.remove = function remove (lsKey) {\n if (!this._isSupported) {\n return null\n }\n\n return window.localStorage.removeItem(lsKey)\n};\n\n/**\n * Add new property to localStorage\n *\n * @param {String} key\n * @param {function} type\n * @param {*} defaultValue\n */\nVueLocalStorage.prototype.addProperty = function addProperty (key, type, defaultValue) {\n if ( defaultValue === void 0 ) defaultValue = undefined;\n\n type = type || String;\n\n this._properties[key] = { type: type };\n\n if (!this._lsGet(key) && defaultValue !== null) {\n this._lsSet(key, defaultValue, type);\n }\n};\n\n/**\n * Process the value before return it from localStorage\n *\n * @param {String} type\n * @param {*} value\n * @returns {*}\n * @private\n */\nVueLocalStorage.prototype._process = function _process (type, value) {\n switch (type) {\n case Boolean:\n return value === 'true'\n case Number:\n return parseFloat(value)\n case Array:\n try {\n var array = JSON.parse(value);\n\n return Array.isArray(array) ? array : []\n } catch (e) {\n return []\n }\n case Object:\n try {\n return JSON.parse(value)\n } catch (e) {\n return {}\n }\n default:\n return value\n }\n};\n\nObject.defineProperties( VueLocalStorage.prototype, prototypeAccessors );\n\nvar vueLocalStorage = new VueLocalStorage();\n\nvar index = {\n /**\n * Install vue-local-storage plugin\n *\n * @param {Vue} Vue\n * @param {Object} options\n */\n install: function (Vue, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof process !== 'undefined' &&\n (\n process.server ||\n process.SERVER_BUILD ||\n (process.env && process.env.VUE_ENV === 'server')\n )\n ) {\n return\n }\n\n var isSupported = true;\n\n try {\n var test = '__vue-localstorage-test__';\n\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n } catch (e) {\n isSupported = false;\n vueLocalStorage._isSupported = false;\n\n console.error('Local storage is not supported');\n }\n\n var name = options.name || 'localStorage';\n var bind = options.bind;\n\n if (options.namespace) {\n vueLocalStorage.namespace = options.namespace;\n }\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n var this$1 = this;\n\n if (!isSupported) {\n return\n }\n\n if (this.$options[name]) {\n Object.keys(this.$options[name]).forEach(function (key) {\n var config = this$1.$options[name][key];\n var ref = [config.type, config.default];\n var type = ref[0];\n var defaultValue = ref[1];\n\n vueLocalStorage.addProperty(key, type, defaultValue);\n\n var existingProp = Object.getOwnPropertyDescriptor(vueLocalStorage, key);\n\n if (!existingProp) {\n var prop = {\n get: function () { return Vue.localStorage.get(key, defaultValue); },\n set: function (val) { return Vue.localStorage.set(key, val); },\n configurable: true\n };\n\n Object.defineProperty(vueLocalStorage, key, prop);\n Vue.util.defineReactive(vueLocalStorage, key, defaultValue);\n } else if (!Vue.config.silent) {\n console.log((key + \": is already defined and will be reused\"));\n }\n\n if ((bind || config.bind) && config.bind !== false) {\n this$1.$options.computed = this$1.$options.computed || {};\n\n if (!this$1.$options.computed[key]) {\n this$1.$options.computed[key] = {\n get: function () { return Vue.localStorage[key]; },\n set: function (val) { Vue.localStorage[key] = val; }\n };\n }\n }\n });\n }\n }\n });\n\n Vue[name] = vueLocalStorage;\n Vue.prototype[(\"$\" + name)] = vueLocalStorage;\n }\n};\n\nreturn index;\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-localstorage/dist/vue-local-storage.js\n// module id = 45\n// module chunks = 0","module.exports = require('./lib/axios');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/index.js\n// module id = 46\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/axios.js\n// module id = 47\n// module chunks = 0","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/is-buffer/index.js\n// module id = 48\n// module chunks = 0","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/Axios.js\n// module id = 49\n// module chunks = 0","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/normalizeHeaderName.js\n// module id = 50\n// module chunks = 0","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/settle.js\n// module id = 51\n// module chunks = 0","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/enhanceError.js\n// module id = 52\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/buildURL.js\n// module id = 53\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/parseHeaders.js\n// module id = 54\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/isURLSameOrigin.js\n// module id = 55\n// module chunks = 0","'use strict';\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/btoa.js\n// module id = 56\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/cookies.js\n// module id = 57\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/InterceptorManager.js\n// module id = 58\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/dispatchRequest.js\n// module id = 59\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/transformData.js\n// module id = 60\n// module chunks = 0","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/isAbsoluteURL.js\n// module id = 61\n// module chunks = 0","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/combineURLs.js\n// module id = 62\n// module chunks = 0","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/cancel/CancelToken.js\n// module id = 63\n// module chunks = 0","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/spread.js\n// module id = 64\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('app-navigation',{attrs:{\"menu\":_vm.menu}},[_c('template',{slot:\"settings-content\"},[_c('div',[_c('p',[_vm._v(_vm._s(_vm.t('settings', 'Default quota :')))]),_vm._v(\" \"),_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.defaultQuota,\"options\":_vm.quotaOptions,\"tag-placeholder\":\"create\",\"placeholder\":_vm.t('settings', 'Select default quota'),\"label\":\"label\",\"track-by\":\"id\",\"allowEmpty\":false,\"taggable\":true},on:{\"tag\":_vm.validateQuota,\"input\":_vm.setDefaultQuota}})],1),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showLanguages),expression:\"showLanguages\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showLanguages\"},domProps:{\"checked\":_vm.showLanguages,\"checked\":Array.isArray(_vm.showLanguages)?_vm._i(_vm.showLanguages,null)>-1:(_vm.showLanguages)},on:{\"change\":function($event){var $$a=_vm.showLanguages,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showLanguages=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showLanguages=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showLanguages=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showLanguages\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show Languages')))])]),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showLastLogin),expression:\"showLastLogin\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showLastLogin\"},domProps:{\"checked\":_vm.showLastLogin,\"checked\":Array.isArray(_vm.showLastLogin)?_vm._i(_vm.showLastLogin,null)>-1:(_vm.showLastLogin)},on:{\"change\":function($event){var $$a=_vm.showLastLogin,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showLastLogin=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showLastLogin=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showLastLogin=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showLastLogin\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show last login')))])]),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showUserBackend),expression:\"showUserBackend\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showUserBackend\"},domProps:{\"checked\":_vm.showUserBackend,\"checked\":Array.isArray(_vm.showUserBackend)?_vm._i(_vm.showUserBackend,null)>-1:(_vm.showUserBackend)},on:{\"change\":function($event){var $$a=_vm.showUserBackend,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showUserBackend=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showUserBackend=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showUserBackend=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showUserBackend\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show user backend')))])]),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showStoragePath),expression:\"showStoragePath\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showStoragePath\"},domProps:{\"checked\":_vm.showStoragePath,\"checked\":Array.isArray(_vm.showStoragePath)?_vm._i(_vm.showStoragePath,null)>-1:(_vm.showStoragePath)},on:{\"change\":function($event){var $$a=_vm.showStoragePath,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showStoragePath=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showStoragePath=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showStoragePath=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showStoragePath\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show storage path')))])])])],2),_vm._v(\" \"),_c('user-list',{attrs:{\"users\":_vm.users,\"showConfig\":_vm.showConfig,\"selectedGroup\":_vm.selectedGroup}})],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2db113c0\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/Users.vue\n// module id = 65\n// module chunks = 0","import Vue from 'vue';\nimport Vuex from 'vuex';\nimport users from './users';\nimport settings from './settings';\nimport oc from './oc';\n\nVue.use(Vuex)\n\nconst debug = process.env.NODE_ENV !== 'production';\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\tconsole.log(state, error);\n\t\tOC.Notification.showTemporary(t('settings','An error occured during the request. Unable to proceed.'));\n\t}\n};\n\nexport default new Vuex.Store({\n\tmodules: {\n\t\tusers,\n\t\tsettings,\n\t\toc\n\t},\n\tstrict: debug,\n\n\tmutations\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/index.js","/**\n * vuex v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\nvar applyMixin = function (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n};\n\nvar devtoolHook =\n typeof window !== 'undefined' &&\n window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array<Object>} cache\n * @return {*}\n */\n\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n this._children = Object.create(null);\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors$1 = { namespaced: { configurable: true } };\n\nprototypeAccessors$1.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors$1 );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n if (!parent.getChild(key).runtime) { return }\n\n parent.removeChild(key);\n};\n\nfunction update (path, targetModule, newModule) {\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"Store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n var state = options.state; if ( state === void 0 ) state = {};\n if (typeof state === 'function') {\n state = state() || {};\n }\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n if (Vue.config.devtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors = { state: { configurable: true } };\n\nprototypeAccessors.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors.state.set = function (v) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, \"Use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n this._subscribers.forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n process.env.NODE_ENV !== 'production' &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n this._actionSubscribers.forEach(function (sub) { return sub(action, this$1.state); });\n\n return entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload)\n};\n\nStore.prototype.subscribe = function subscribe (fn) {\n return genericSubscribe(fn, this._subscribers)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn) {\n return genericSubscribe(fn, this._actionSubscribers)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors );\n\nfunction genericSubscribe (fn, subs) {\n if (subs.indexOf(fn) < 0) {\n subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n computed[key] = function () { return fn(store); };\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n var gettersProxy = {};\n\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n\n return gettersProxy\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload, cb) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload, cb);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if (process.env.NODE_ENV !== 'production') {\n assert(store._committing, \"Do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.length\n ? path.reduce(function (state, key) { return state[key]; }, state)\n : state\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof type === 'string', (\"Expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if (process.env.NODE_ENV !== 'production' && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\nfunction normalizeMap (map) {\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if (process.env.NODE_ENV !== 'production' && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\nvar index_esm = {\n Store: Store,\n install: install,\n version: '3.0.1',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers\n};\n\nexport { Store, install, mapState, mapMutations, mapGetters, mapActions, createNamespacedHelpers };\nexport default index_esm;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vuex/dist/vuex.esm.js\n// module id = 67\n// module chunks = 0","import api from './api';\n\nconst orderGroups = function(groups, orderBy) {\n\t/* const SORT_USERCOUNT = 1;\n\t * const SORT_GROUPNAME = 2;\n\t * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n\t */\n\tif (orderBy === 1) {\n\t\treturn groups.sort((a, b) => a.usercount < b.usercount);\n\t} else {\n\t\treturn groups.sort((a, b) => a.name.localeCompare(b.name));\n\t}\n};\n\nconst state = {\n\tusers: [],\n\tgroups: [],\n\torderBy: 1,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tuserCount: 0\n};\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\t// convert obj to array\n\t\tlet users = state.users.concat(Object.keys(usersObj).map(userid => usersObj[userid]));\n\t\tstate.usersOffset += state.usersLimit;\n\t\tstate.users = users;\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length!=='' ? length : 0;\n\t},\n\tinitGroups(state, {groups, orderBy, userCount}) {\n\t\tstate.groups = groups;\n\t\tstate.orderBy = orderBy;\n\t\tstate.userCount = userCount;\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t},\n\taddGroup(state, gid) {\n\t\ttry {\n\t\t\tstate.groups.push({\n\t\t\t\tid: gid,\n\t\t\t\tname: gid,\n\t\t\t\tusercount: 0 // user will be added after the creation\n\t\t\t});\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t\t} catch (e) {\n\t\t\tconsole.log('Can\\'t create group', e);\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tlet groupIndex = state.groups.findIndex(groupSearch => groupSearch.id == gid);\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1);\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\t// this should not be needed as it would means the user contains a group\n\t\t// the server database doesn't have.\n\t\tlet group = state.groups.find(groupSearch => groupSearch.id == gid);\n\t\tif (group) {\n\t\t\tgroup.usercount++; // increase count\n\t\t}\n\t\tlet groups = state.users.find(user => user.id == userid).groups;\n\t\tgroups.push(gid);\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\t// this should not be needed as it would means the user contains a group\n\t\t// the server database doesn't have.\n\t\tlet group = state.groups.find(groupSearch => groupSearch.id == gid);\n\t\tif (group) {\n\t\t\tgroup.usercount--; // lower count\n\t\t}\n\t\tlet groups = state.users.find(user => user.id == userid).groups;\n\t\tgroups.splice(groups.indexOf(gid),1);\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tlet groups = state.users.find(user => user.id == userid).subadmin;\n\t\tgroups.push(gid);\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tlet groups = state.users.find(user => user.id == userid).subadmin;\n\t\tgroups.splice(groups.indexOf(gid),1);\n\t},\n\tdeleteUser(state, userid) {\n\t\tlet userIndex = state.users.findIndex(user => user.id == userid);\n\t\tstate.users.splice(userIndex, 1);\n\t},\n\taddUserData(state, response) {\n\t\tstate.users.push(response.data.ocs.data);\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tstate.users.find(user => user.id == userid).enabled = enabled;\n\t\t// increment or not\n\t\tstate.groups.find(group => group.id == 'disabled').usercount += enabled ? -1 : 1;\n\t\tstate.userCount += enabled ? 1 : -1;\n\t\tconsole.log(enabled);\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tlet humanValue = OC.Util.computerFileSize(value);\n\t\t\tstate.users.find(user => user.id == userid)[key][key] = humanValue?humanValue:value;\n\t\t} else {\n\t\t\tstate.users.find(user => user.id == userid)[key] = value;\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t */\n\tresetUsers(state) {\n\t\tstate.users = [];\n\t\tstate.usersOffset = 0;\n\t}\n};\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users;\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups;\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength;\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset;\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit;\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount;\n\t}\n};\n\nconst actions = {\n\n\t/**\n\t * Get all users with full details\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {int} options.offset List offset to request\n\t * @param {int} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @returns {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tsearch = typeof search === 'string' ? search : '';\n\t\tgroup = typeof group === 'string' ? group : '';\n\t\tif (group !== '') {\n\t\t\treturn api.get(OC.linkToOCS(`cloud/groups/${group}/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t\t}\n\n\t\treturn api.get(OC.linkToOCS(`cloud/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\n\t/**\n\t * Get all users with full details\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {int} options.offset List offset to request\n\t * @param {int} options.limit List number to return from offset\n\t * @returns {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : '';\n\t\treturn api.get(OC.linkToOCS(`cloud/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {int} options.offset List offset to request\n\t * @param {int} options.limit List number to return from offset\n\t * @returns {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(OC.linkToOCS(`cloud/users/${groupid}/details?offset=${offset}&limit=${limit}`, 2))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\t\n\n\tgetPasswordPolicyMinLength(context) {\n\t\treturn api.get(OC.linkToOCS('apps/provisioning_api/api/v1/config/apps/password_policy/minLength', 2))\n\t\t\t.then((response) => context.commit('setPasswordPolicyMinLength', response.data.ocs.data.data))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\n\t/**\n\t * Add group\n\t * \n\t * @param {Object} context\n\t * @param {string} gid Group id\n\t * @returns {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/groups`, 2), {groupid: gid})\n\t\t\t\t.then((response) => context.commit('addGroup', gid))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Remove group\n\t * \n\t * @param {Object} context\n\t * @param {string} gid Group id\n\t * @returns {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/groups/${gid}`, 2))\n\t\t\t\t.then((response) => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }));\n\t},\n\n\t/**\n\t * Add user to group\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/users/${userid}/groups`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Remove user from group\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/users/${userid}/groups`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Add user to group admin\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/users/${userid}/subadmins`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/users/${userid}/subadmins`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Delete a user\n\t * \n\t * @param {Object} context\n\t * @param {string} userid User id \n\t * @returns {Promise}\n\t */\n\tdeleteUser(context, { userid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/users/${userid}`, 2))\n\t\t\t\t.then((response) => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Add a user\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password \n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @returns {Promise}\n\t */\n\taddUser({context, dispatch}, { userid, password, email, groups, subadmin, quota, language }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/users`, 2), { userid, password, email, groups, subadmin, quota, language })\n\t\t\t\t.then((response) => dispatch('addUserData', userid))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t * \n\t * @param {Object} context\n\t * @param {string} userid User id \n\t * @returns {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.get(OC.linkToOCS(`cloud/users/${userid}`, 2))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/** Enable or disable user \n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @returns {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tlet userStatus = enabled ? 'enable' : 'disable';\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(OC.linkToOCS(`cloud/users/${userid}/${userStatus}`, 2))\n\t\t\t\t.then((response) => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Edit user data\n\t * \n\t * @param {Object} context \n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @returns {Promise}\n\t */\n\tsetUserData(context, { userid, key, value }) {\n\t\tlet allowedEmpty = ['email', 'displayname'];\n\t\tif (['email', 'language', 'quota', 'displayname', 'password'].indexOf(key) !== -1) {\n\t\t\t// We allow empty email or displayname\n\t\t\tif (typeof value === 'string' &&\n\t\t\t\t(\n\t\t\t\t\t(allowedEmpty.indexOf(key) === -1 && value.length > 0) ||\n\t\t\t\t\tallowedEmpty.indexOf(key) !== -1\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn api.requireAdmin().then((response) => {\n\t\t\t\t\treturn api.put(OC.linkToOCS(`cloud/users/${userid}`, 2), { key: key, value: value })\n\t\t\t\t\t\t.then((response) => context.commit('setUserData', { userid, key, value }))\n\t\t\t\t\t\t.catch((error) => {throw error;});\n\t\t\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t\t\t}\n\t\t}\n\t\treturn Promise.reject(new Error('Invalid request data'));\n\t}\n};\n\nexport default { state, mutations, getters, actions };\n\n\n// WEBPACK FOOTER //\n// ./src/store/users.js","import api from './api';\n\nconst state = {\n\tserverData: {}\n};\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data;\n\t}\n};\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData;\n\t}\n};\nconst actions = {};\n\nexport default {state, mutations, getters, actions};\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/settings.js","import api from './api';\n\nconst state = {};\nconst mutations = {};\nconst getters = {};\nconst actions = {\n\t/**\n * Set application config in database\n * \n\t * @param {Object} context\n * @param {Object} options\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @returns{Promise}\n\t */\n\tsetAppConfig(context, {app, key, value}) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`apps/provisioning_api/api/v1/config/apps/${app}/${key}`, 2), {value: value})\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }));;\n }\n};\n\nexport default {state, mutations, getters, actions};\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/oc.js"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"sources":["webpack:///main.js","webpack:///webpack/bootstrap 49737a5f867d115e87d9","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/vue-loader/lib/component-normalizer.js","webpack:///./node_modules/vue/dist/vue.esm.js","webpack:///(webpack)/buildin/global.js","webpack:///./src/store/api.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/vue-multiselect/dist/vue-multiselect.min.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///src/App.vue","webpack:///src/views/Users.vue","webpack:///src/components/appNavigation.vue","webpack:///src/components/appNavigation/navigationItem.vue","webpack:///./src/components/popoverMenu.vue","webpack:///src/components/popoverMenu.vue","webpack:///src/components/popoverMenu/popoverItem.vue","webpack:///./node_modules/vue-click-outside/index.js","webpack:///src/components/userList.vue","webpack:///src/components/userList/userRow.vue","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./src/main.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/vuex-router-sync/index.js","webpack:///./src/App.vue","webpack:///./src/App.vue?e64a","webpack:///./src/router.js","webpack:///./node_modules/vue-router/dist/vue-router.esm.js","webpack:///./src/views/Users.vue","webpack:///./src/components/appNavigation.vue","webpack:///./src/components/appNavigation/navigationItem.vue","webpack:///./src/components/popoverMenu/popoverItem.vue","webpack:///./src/components/popoverMenu/popoverItem.vue?c1f4","webpack:///./src/components/popoverMenu.vue?a46a","webpack:///./src/components/appNavigation/navigationItem.vue?1725","webpack:///./src/components/appNavigation.vue?d750","webpack:///./src/components/userList.vue","webpack:///./src/components/userList/userRow.vue","webpack:///./node_modules/v-tooltip/dist/v-tooltip.esm.js","webpack:///./src/components/userList/userRow.vue?64ff","webpack:///./node_modules/vue-infinite-loading/dist/vue-infinite-loading.js","webpack:///./src/components/userList.vue?adec","webpack:///./node_modules/vue-localstorage/dist/vue-local-storage.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/is-buffer/index.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/axios/lib/helpers/btoa.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./src/views/Users.vue?9f98","webpack:///./src/store/index.js","webpack:///./node_modules/vuex/dist/vuex.esm.js","webpack:///./src/store/users.js","webpack:///./src/store/settings.js","webpack:///./src/store/oc.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","isArray","val","toString","isArrayBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isUndefined","isObject","isDate","isFile","isBlob","isFunction","isStream","pipe","isURLSearchParams","URLSearchParams","trim","str","replace","isStandardBrowserEnv","navigator","product","window","document","forEach","obj","fn","length","key","merge","assignValue","result","arguments","extend","a","b","thisArg","bind","isBuffer","rawScriptExports","compiledTemplate","functionalTemplate","injectStyles","scopeId","moduleIdentifier","esModule","scriptExports","type","default","options","render","staticRenderFns","_compiled","functional","_scopeId","hook","context","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","existing","beforeCreate","_injectStyles","h","concat","__webpack_exports__","global","setImmediate","isUndef","v","undefined","isDef","isTrue","isFalse","isPrimitive","value","isPlainObject","_toString","isRegExp","isValidArrayIndex","parseFloat","String","Math","floor","isFinite","JSON","stringify","toNumber","isNaN","makeMap","expectsLowerCase","map","create","list","split","toLowerCase","remove","arr","item","index","indexOf","splice","hasOwn","cached","cache","polyfillBind","ctx","boundFn","apply","_length","nativeBind","toArray","start","ret","Array","to","_from","toObject","res","noop","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","e","keysA","keys","keysB","looseIndexOf","once","called","isReserved","charCodeAt","def","writable","parsePath","path","bailRE","test","segments","isNative","Ctor","pushTarget","_target","Dep","target","targetStack","push","popTarget","pop","createTextVNode","VNode","cloneVNode","vnode","cloned","tag","data","children","text","elm","componentOptions","asyncFactory","ns","isStatic","isComment","fnContext","fnOptions","fnScopeId","isCloned","toggleObserving","shouldObserve","protoAugment","src","__proto__","copyAugment","observe","asRootData","ob","__ob__","Observer","isServerRendering","isExtensible","_isVue","vmCount","defineReactive","customSetter","shallow","dep","getOwnPropertyDescriptor","setter","set","childOb","depend","dependArray","newVal","notify","max","del","mergeData","from","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","mergeAssets","normalizeProps","props","camelize","normalizeInject","inject","normalized","normalizeDirectives","dirs","directives","update","mergeOptions","child","mergeField","strat","strats","defaultStrat","extendsFrom","extends","mixins","resolveAsset","id","warnMissing","assets","camelizedId","PascalCaseId","capitalize","validateProp","propOptions","propsData","prop","absent","booleanIndex","getTypeIndex","Boolean","hyphenate","stringIndex","getPropDefaultValue","prevShouldObserve","$options","_props","getType","match","isSameType","expectedTypes","len","handleError","err","info","cur","$parent","hooks","errorCaptured","capture","globalHandleError","config","errorHandler","logError","inBrowser","inWeex","console","error","flushCallbacks","pending","copies","callbacks","slice","withMacroTask","_withTask","useMacroTask","nextTick","cb","_resolve","macroTimerFunc","microTimerFunc","Promise","resolve","traverse","_traverse","seenObjects","clear","seen","isA","isFrozen","depId","has","createFnInvoker","fns","invoker","arguments$1","updateListeners","on","oldOn","remove$$1","old","event","normalizeEvent","passive","params","mergeVNodeHook","hookKey","wrappedHook","oldHook","merged","extractPropsFromVNodeData","attrs","altKey","checkProp","hash","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","node","nestedIndex","lastIndex","last","shift","_isVList","ensureCtor","comp","base","hasSymbol","Symbol","toStringTag","createAsyncPlaceholder","factory","createEmptyVNode","asyncMeta","resolveAsyncComponent","baseCtor","errorComp","resolved","loading","loadingComp","contexts","sync","forceRender","$forceUpdate","reject","reason","then","component","delay","setTimeout","timeout","isAsyncPlaceholder","getFirstComponentChild","initEvents","_events","_hasHookEvent","listeners","_parentListeners","updateComponentListeners","$once","$on","remove$1","$off","oldListeners","resolveSlots","slots","slot","name$1","isWhitespace","resolveScopedSlots","initLifecycle","abstract","$children","$root","$refs","_watcher","_inactive","_directInactive","_isMounted","_isDestroyed","_isBeingDestroyed","mountComponent","el","hydrating","$el","callHook","updateComponent","_update","_render","Watcher","updateChildComponent","parentVnode","renderChildren","hasChildren","_renderChildren","scopedSlots","$scopedSlots","emptyObject","_parentVnode","_vnode","$attrs","$listeners","propKeys","_propKeys","$slots","isInInactiveTree","activateChildComponent","direct","deactivateChildComponent","handlers","j","$emit","resetSchedulerState","queue","activatedChildren","waiting","flushing","flushSchedulerQueue","watcher","sort","run","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","devtools","emit","queueActivatedComponent","queueWatcher","proxy","sourceKey","sharedPropertyDefinition","initState","_watchers","opts","initProps","methods","initMethods","initData","_data","computed","initComputed","watch","nativeWatch","initWatch","propsOptions","getData","watchers","_computedWatchers","isSSR","userDef","computedWatcherOptions","defineComputed","shouldCache","createComputedGetter","dirty","evaluate","handler","createWatcher","expOrFn","$watch","initProvide","provide","_provided","initInjections","resolveInject","Reflect","ownKeys","filter","provideKey","source","provideDefault","renderList","renderSlot","fallback","bindObject","nodes","scopedSlotFn","slotNodes","_rendered","$createElement","resolveFilter","identity","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","keyCodes","bindObjectProps","asProp","isSync","isReservedAttribute","mustUseProp","domProps","$event","renderStatic","isInFor","_staticTrees","tree","_renderProxy","markStatic","markOnce","isOnce","markStaticNode","bindObjectListeners","ours","installRenderHelpers","_o","_n","_s","_l","_t","_q","_i","_m","_f","_k","_b","_v","_e","_u","_g","FunctionalRenderContext","contextVm","_original","isCompiled","needNormalization","injections","_c","createElement","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","clone","createComponent","_base","cid","resolveConstructorOptions","model","transformModel","nativeOn","installComponentHooks","createComponentInstanceForVnode","parentElm","refElm","_isComponent","_parentElm","_refElm","inlineTemplate","hooksToMerge","componentVNodeHooks","callback","normalizationType","alwaysNormalize","ALWAYS_NORMALIZE","_createElement","is","SIMPLE_NORMALIZE","getTagNamespace","isReservedTag","parsePlatformTagName","applyNS","registerDeepBindings","force","style","class","initRender","parentData","initInternalComponent","constructor","vnodeComponentOptions","_componentTag","super","superOptions","modifiedOptions","resolveModifiedOptions","extendOptions","components","modified","latest","extended","sealed","sealedOptions","dedupe","Vue","_init","initUse","use","plugin","installedPlugins","_installedPlugins","args","unshift","install","initMixin$1","mixin","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","ASSET_TYPES","Comp","initAssetRegisters","definition","getComponentName","matches","pattern","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","current","cached$$1","componentInstance","$destroy","genClassForVnode","parentNode","childNode","mergeClassData","renderClass","staticClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","isSVG","isUnknownElement","unknownElementCache","HTMLUnknownElement","HTMLElement","query","selected","querySelector","createElement$1","tagName","multiple","setAttribute","createElementNS","namespace","namespaceMap","createTextNode","createComment","insertBefore","newNode","referenceNode","removeChild","appendChild","nextSibling","setTextContent","textContent","setStyleScope","registerRef","isRemoval","ref","refs","refInFor","sameVnode","sameInputType","typeA","typeB","isTextInputType","createKeyToOldIdx","beginIdx","endIdx","updateDirectives","oldVnode","oldDir","dir","isCreate","emptyNode","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldValue","callHook$1","componentUpdated","inserted","callInsert","modifiers","emptyModifiers","getRawDirName","rawName","join","updateAttrs","inheritAttrs","oldAttrs","setAttr","isIE","isEdge","isXlink","removeAttributeNS","xlinkNS","getXlinkProp","isEnumeratedAttr","removeAttribute","baseSetAttr","isBooleanAttr","isFalsyAttrValue","setAttributeNS","isIE9","__ieph","blocker","stopImmediatePropagation","removeEventListener","addEventListener","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","parseFilters","exp","pushFilter","filters","lastFilterIndex","prev","expression","inSingle","inDouble","inTemplateString","inRegex","curly","square","paren","charAt","validDivisionCharRE","wrapFilter","baseWarn","msg","pluckModuleFunction","_","addProp","plain","addAttr","addRawAttr","attrsMap","attrsList","addDirective","arg","addHandler","important","warn","right","middle","events","native","nativeEvents","newHandler","getBindingAttr","getStatic","dynamicValue","getAndRemoveAttr","staticValue","removeFromMap","genComponentModel","number","valueExpression","assignment","genAssignmentCode","parseModel","lastIndexOf","index$1","expressionPos","expressionEndPos","eof","chr","next","isStringStart","parseString","parseBracket","inBracket","stringQuote","_warn","warn$1","genSelect","genCheckboxModel","genRadioModel","genDefaultModel","valueBinding","trueValueBinding","falseValueBinding","selectedVal","code","lazy","needCompositionGuard","RANGE_TOKEN","normalizeEvents","CHECKBOX_RADIO_TOKEN","change","createOnceHandler","target$1","onceHandler","remove$2","add$1","once$$1","supportsPassive","updateDOMListeners","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","activeElement","_vModifiers","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","parseStyleText","getStyle","checkChild","styleData","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","setProp","addClass","classList","getAttribute","removeClass","tar","resolveTransition","css","autoCssTransition","nextFrame","raf","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","TRANSITION","transitionEndEvent","animationEndEvent","ended","end","onEnd","styles","getComputedStyle","transitionDelays","transitionProp","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationProp","animationDurations","animationTimeout","ANIMATION","hasTransform","transformRE","delays","durations","toMs","Number","enter","toggleDisplay","_leaveCb","cancelled","transition","_enterCb","nodeType","enterClass","enterToClass","enterActiveClass","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","duration","activeInstance","transitionNode","isAppear","isRootInsert","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","rm","performLeave","beforeLeave","leaveClass","leaveActiveClass","leaveToClass","explicitLeaveDuration","afterLeave","leaveCancelled","delayLeave","invokerFns","_enter","setSelected","binding","actuallySetSelected","isMultiple","option","getValue","selectedIndex","hasNoMatchingOption","onCompositionStart","onCompositionEnd","trigger","createEvent","initEvent","dispatchEvent","locateNode","getRealChild","compOptions","extractTransitionData","key$1","placeholder","rawChild","hasParentTransition","isSameChild","oldChild","callPendingCbs","_moveCb","recordPosition","newPos","getBoundingClientRect","applyTranslation","oldPos","pos","dx","left","dy","top","moved","transform","WebkitTransform","transitionDuration","parseText","delimiters","tagRE","buildRegex","defaultTagRE","tokenValue","tokens","rawTokens","exec","@binding","transformNode","classBinding","genData","transformNode$1","styleBinding","genData$1","decodeAttr","shouldDecodeNewlines","re","encodedAttrWithNewLines","encodedAttr","decodingMap","parseHTML","html","advance","substring","parseEndTag","lowerCasedTagName","stack","lowerCasedTag","lastTag","expectHTML","isUnaryTag$$1","isUnaryTag","no","canBeLeftOpenTag$$1","canBeLeftOpenTag","isPlainTextElement","endTagLength","stackedTag","reStackedTag","reCache","RegExp","rest$1","all","endTag","shouldIgnoreFirstNewline","chars","textEnd","comment","commentEnd","shouldKeepComment","conditionalComment","conditionalEnd","doctypeMatch","doctype","endTagMatch","curIndex","startTagMatch","startTagOpen","attr","startTagClose","attribute","unarySlash","isNonPhrasingTag","unary","IS_REGEX_CAPTURING_BROKEN","shouldDecodeNewlinesForHref","rest","createASTElement","makeAttrsMap","parse","template","closeElement","element","pre","inVPre","platformIsPreTag","inPre","postTransforms","warn$2","isPreTag","platformMustUseProp","platformGetTagNamespace","transforms","preTransforms","root","currentParent","preserveWhitespace","comments","guardIESVGBug","isForbiddenTag","forbidden","processPre","processRawAttrs","processed","processFor","processIf","processOnce","processElement","if","elseif","else","addIfCondition","block","processIfConditions","slotScope","slotTarget","lastNode","isTextTag","decodeHTMLCached","processKey","processRef","processSlot","processComponent","processAttrs","checkInFor","parseFor","inMatch","forAliasRE","for","alias","stripParensRE","iteratorMatch","forIteratorRE","iterator1","iterator2","findPrevElement","condition","ifConditions","slotName","isProp","dirRE","hasBindings","parseModifiers","modifierRE","bindRE","camel","onRE","argMatch","argRE","ieNSBug","ieNSPrefix","preTransformNode","typeBinding","ifCondition","ifConditionExtra","hasElse","elseIfCondition","branch0","cloneASTElement","branch1","branch2","optimize","isStaticKey","genStaticKeysCached","staticKeys","isPlatformReservedTag","markStatic$1","markStaticRoots","genStaticKeys$1","static","i$1","l$1","staticInFor","staticRoot","isBuiltInTag","isDirectChildOfTemplateFor","genHandlers","genHandler","isMethodPath","simplePathRE","isFunctionExpression","fnExpRE","genModifierCode","modifierCode","genGuard","keyModifier","genKeyFilter","genFilterCode","keyVal","parseInt","keyCode","keyName","keyNames","wrapListeners","bind$1","wrapData","generate","ast","state","CodegenState","genElement","staticProcessed","genStatic","onceProcessed","genOnce","forProcessed","genFor","ifProcessed","genIf","genSlot","genComponent","genData$2","genChildren","onceId","altGen","altEmpty","genIfConditions","conditions","genTernaryExp","altHelper","genDirectives","dataGenFns","genProps","genScopedSlots","genInlineTemplate","needRuntime","hasRuntime","gen","inlineRenderFns","genScopedSlot","genForScopedSlot","checkSkip","altGenElement","altGenNode","el$1","getNormalizationType","maybeComponent","genNode","needsNormalization","some","genComment","genText","transformSpecialNewlines","bind$$1","componentName","createFunction","errors","Function","createCompileToFunctionFn","compile","compiled","fnGenErrors","getShouldDecode","href","div","innerHTML","getOuterHTML","outerHTML","container","cloneNode","freeze","camelizeRE","toUpperCase","hyphenateRE","SSR_ATTR","LIFECYCLE_HOOKS","optionMergeStrategies","silent","productionTip","performance","warnHandler","ignoredElements","isReservedAttr","_lifecycleHooks","hasProto","WXEnvironment","platform","weexPlatform","UA","userAgent","isIOS","_isServer","_Set","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","Set","uid","subs","addSub","sub","removeSub","addDep","raw","prototypeAccessors","defineProperties","arrayProto","arrayMethods","method","original","observeArray","arrayKeys","getOwnPropertyNames","walk","items","MessageChannel","channel","port","port2","port1","onmessage","postMessage","uid$1","isRenderWatcher","deep","user","active","deps","newDeps","depIds","newDepIds","cleanupDeps","this$1","tmp","teardown","init","keepAlive","mountedNode","prepatch","$mount","insert","destroy","uid$3","_uid","_self","dataDef","propsDef","$set","$delete","immediate","hookRE","cbs","prevEl","prevVnode","prevActiveInstance","__patch__","__vue__","$nextTick","patternTypes","KeepAlive","include","exclude","created","destroyed","mounted","ref$1","builtInComponents","configDef","util","delete","version","emptyStyle","acceptValue","svg","math","isHTMLTag","nodeOps","baseModules","klass","cssText","listDelimiter","propertyDelimiter","cssVarRE","importantRE","setProperty","normalizedName","normalize","vendorNames","capName","hasTransition","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","requestAnimationFrame","activate","platformModules","patch","backend","emptyNodeAt","createRmCb","childElm","removeNode","createElm","insertedVnodeQueue","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","hydrate","postpatch","invokeInsertHook","initial","hasChildNodes","childrenMatch","firstChild","fullInvoke","isRenderedModule","isInitialPatch","isRealElement","hasAttribute","oldElm","parentElm$1","patchable","i$2","vmodel","directive","_vOptions","prevOptions","curOptions","transition$$1","originalDisplay","__vOriginalDisplay","display","unbind","platformDirectives","transitionProps","mode","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","prevChildren","rawChildren","transitionData","kept","removed","c$1","beforeUpdate","updated","hasMove","_reflow","body","offsetHeight","propertyName","_hasMove","platformComponents","decoder","regexEscapeRE","open","close","klass$1","style$1","he","decode","ncname","qnameCapture","g","&lt;","&gt;","&quot;","&amp;","&#10;","&#9;","isIgnoreNewlineTag","model$2","modules$1","directives$1","baseOptions","reduce","esc","tab","space","up","down","stop","prevent","self","ctrl","alt","meta","baseDirectives","cloak","createCompiler","baseCompile","finalOptions","tips","tip","compileToFunctions","idToTemplate","mount","documentElement","eval","__WEBPACK_IMPORTED_MODULE_0_axios__","__WEBPACK_IMPORTED_MODULE_0_axios___default","requestToken","getElementsByTagName","tokenHeaders","headers","requesttoken","sanitize","url","requireAdmin","passwordTimeout","promiseTimeout","clearTimeout","getElementsByClassName","click","OC","Notification","showTemporary","t","PasswordConfirmation","requirePasswordConfirmation","waitForpassword","requiresPasswordConfirmation","response","catch","post","put","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","runClearTimeout","marker","cachedClearTimeout","cleanUpNextTick","draining","currentQueue","queueIndex","drainQueue","Item","array","process","title","browser","argv","versions","addListener","off","removeListener","removeAllListeners","prependListener","prependOnceListener","cwd","chdir","umask","r","__g","f","TypeError","u","F","G","S","y","P","B","U","core","W","R","store","__e","random","virtual","propertyIsEnumerable","ceil","valueOf","x","w","min","$isLabel","$groupLabel","search","isOpen","prefferedOpenDirection","optimizedHeight","maxHeight","internalSearch","required","trackBy","label","searchable","clearOnSelect","hideSelected","allowEmpty","resetAfter","closeOnSelect","customLabel","taggable","tagPlaceholder","tagPosition","optionsLimit","groupValues","groupLabel","groupSelect","blockKeys","preserveSearch","preselectFirst","internalValue","select","filteredOptions","filterAndFlat","isSelected","isExistingOption","isTag","valueKeys","optionKeys","flatAndStrip","currentOptionLabel","getOptionLabel","updateSearch","selectGroup","disabled","$isDisabled","pointerDirty","deactivate","removeElement","find","wholeGroupSelected","removeLastElement","adjustPosition","pointer","focus","blur","toggle","innerHeight","bottom","openDirection","showPointer","optionHeight","pointerPosition","visibleElements","pointerAdjust","optionHighlight","multiselect__option--highlight","multiselect__option--selected","groupHighlight","multiselect__option--group-selected","addPointerElement","pointerReset","pointerForward","scrollTop","pointerBackward","pointerSet","O","L","k","E","V","entries","values","contentWindow","write","getOwnPropertySymbols","inspectSource","selectLabel","selectGroupLabel","selectedLabel","deselectLabel","deselectGroupLabel","showLabels","limit","limitText","showNoResults","tabindex","isSingleLabelVisible","singleValue","visibleValues","isPlaceholderVisible","deselectLabelText","deselectGroupLabelText","selectLabelText","selectGroupLabelText","selectedLabelText","inputStyle","width","position","padding","contentStyle","isAbove","showSearchInput","hasSingleSelectedSlot","visibleSingleValue","done","preventExtensions","NEED","KEY","fastKey","getWeak","onFreeze","getPrototypeOf","Arguments","C","T","A","$","D","M","N","H","QObject","I","findChild","K","z","iterator","J","q","X","Y","Q","Z","tt","et","keyFor","useSetter","useSimple","multiselect--active","multiselect--disabled","multiselect--above","keydown","currentTarget","preventDefault","stopPropagation","keyup","mousedown","aria-hidden","autocomplete","input","data-select","data-selected","data-deselect","mouseenter","setContentTypeIfUnset","utils","normalizeHeaderName","DEFAULT_CONTENT_TYPE","Content-Type","defaults","adapter","XMLHttpRequest","transformRequest","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","Accept","beforeMount","getElementById","$store","commit","dataset","server","__WEBPACK_IMPORTED_MODULE_0__components_appNavigation__","__WEBPACK_IMPORTED_MODULE_1__components_userList__","__WEBPACK_IMPORTED_MODULE_2_vue__","__WEBPACK_IMPORTED_MODULE_3_vue_localstorage__","__WEBPACK_IMPORTED_MODULE_3_vue_localstorage___default","__WEBPACK_IMPORTED_MODULE_4_vue_multiselect__","__WEBPACK_IMPORTED_MODULE_4_vue_multiselect___default","_typeof","appNavigation","userList","Multiselect","groups","getters","getServerData","orderBy","sortGroups","userCount","dispatch","unlimitedQuota","selectedQuota","showConfig","showStoragePath","showUserBackend","showLastLogin","showNewUserForm","showLanguages","toggleNewUserMenu","newusername","getLocalstorage","localConfig","$localStorage","setLocalStorage","removeGroup","groupid","dialogs","confirm","group","success","setDefaultQuota","_this","quota","app","defaultQuota","validateQuota","validQuota","Util","computerFileSize","humanFileSize","users","getUsers","usersOffset","getUsersOffset","usersLimit","getUsersLimit","getUserCount","settings","quotaOptions","quotaPreset","acc","menu","_this2","getGroups","classes","router","selectedGroup","counter","usercount","actions","icon","action","adminGroup","disabledGroupIndex","findIndex","disabledGroup","activeGroup","new","__WEBPACK_IMPORTED_MODULE_0__appNavigation_navigationItem__","navigationItem","__WEBPACK_IMPORTED_MODULE_0__popoverMenu__","__WEBPACK_IMPORTED_MODULE_1_vue_click_outside__","__WEBPACK_IMPORTED_MODULE_1_vue_click_outside___default","popoverMenu","ClickOutside","openedMenu","showMenu","hideMenu","toggleCollapse","opened","cancelEdit","popupItem","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_popoverMenu_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_24e4fcfe_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_popoverMenu_vue__","normalizeComponent","Component","__WEBPACK_IMPORTED_MODULE_0__popoverMenu_popoverItem__","popoverItem","validate","isPopup","elements","contains","isServer","vNode","$isServer","composedPath","__vueClickOutside__","__WEBPACK_IMPORTED_MODULE_0__userList_userRow__","__WEBPACK_IMPORTED_MODULE_1_vue_multiselect__","__WEBPACK_IMPORTED_MODULE_1_vue_multiselect___default","__WEBPACK_IMPORTED_MODULE_2_vue_infinite_loading__","__WEBPACK_IMPORTED_MODULE_2_vue_infinite_loading___default","__WEBPACK_IMPORTED_MODULE_3_vue__","userRow","InfiniteLoading","scrolled","newUser","displayName","password","mailAddress","subAdminsGroups","language","canChangePassword","defaultLanguage","setNewUserDefaultGroup","$route","filteredUsers","disabledUsers","enabled","infiniteLoading","isComplete","$router","subadmingroups","minPasswordLength","getPasswordPolicyMinLength","languages","commonlanguages","onScroll","infiniteHandler","$state","offset","loaded","complete","resetForm","assign","createUser","userid","email","subadmin","currentGroup","__WEBPACK_IMPORTED_MODULE_2_vue_multiselect__","__WEBPACK_IMPORTED_MODULE_2_vue_multiselect___default","__WEBPACK_IMPORTED_MODULE_4_v_tooltip__","rand","subadmins","disable","userActions","deleteUser","enableDisableUser","userGroups","includes","userSubAdminsGroups","usedQuota","round","used","pow","userQuota","humanQuota","userLanguage","_this3","availableLanguages","userLang","lang","toggleMenu","generateAvatar","size","generateUrl","oc_userconfig","avatar","limitGroups","count","_this4","_this5","updateDisplayName","_this6","updatePassword","_this7","updateEmail","_this8","createGroup","gid","_this9","addUserGroup","_this10","removeUserGroup","_this11","addUserSubAdmin","_this12","removeUserSubAdmin","_this13","setUserQuota","_this14","setUserLanguage","_this15","settle","buildURL","parseHeaders","isURLSameOrigin","createError","btoa","requestData","requestHeaders","request","loadEvent","xDomain","XDomainRequest","onprogress","ontimeout","auth","username","Authorization","paramsSerializer","readyState","responseURL","responseHeaders","getAllResponseHeaders","responseData","responseType","responseText","statusText","onerror","cookies","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancelToken","promise","cancel","abort","send","enhanceError","message","__CANCEL__","Cancel","__WEBPACK_IMPORTED_MODULE_0_vue__","__WEBPACK_IMPORTED_MODULE_1_vuex_router_sync__","__WEBPACK_IMPORTED_MODULE_2__App_vue__","__WEBPACK_IMPORTED_MODULE_3__router__","__WEBPACK_IMPORTED_MODULE_4__store__","Timeout","clearFn","_id","_clearFn","scope","setInterval","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","clearImmediate","task","tasksByHandle","nextHandle","registerImmediate","handle","runIfPresent","currentlyRunningATask","doc","attachTo","importScripts","postMessageIsAsynchronous","oldOnMessage","messagePrefix","onGlobalMessage","attachEvent","script","onreadystatechange","cloneRoute","fullPath","moduleName","registerModule","namespaced","currentRoute","mutations","ROUTE_CHANGED","currentPath","isTimeTraveling","storeUnwatch","route","afterEachUnHook","afterEach","unregisterModule","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_App_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_f72d2b7e_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_App_vue__","_vm","_h","esExports","__WEBPACK_IMPORTED_MODULE_1_vue_router__","__WEBPACK_IMPORTED_MODULE_2__views_Users__","routes","isError","resolveProps","resolveQuery","extraQuery","_parseQuery","parsedQuery","parseQuery","param","parts","stringifyQuery","encode","val2","createRoute","record","location","redirectedFrom","stringifyQuery$$1","getFullPath","matched","formatMatch","_stringifyQuery","isSameRoute","START","trailingSlashRE","isObjectEqual","aKeys","bKeys","aVal","bVal","isIncludedRoute","queryIncludes","guardEvent","metaKey","ctrlKey","shiftKey","defaultPrevented","button","findAnchor","installed","_Vue","registerInstance","callVal","registerRouteInstance","_routerRoot","_router","history","_route","View","Link","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","resolvePath","relative","append","firstChar","segment","hashIndex","queryIndex","cleanPath","defaultDelimiter","delimiter","PATH_REGEXP","escaped","prefix","modifier","asterisk","partial","repeat","optional","escapeGroup","escapeString","substr","tokensToFunction","encodeURIComponentPretty","encodeURI","encodeAsterisk","pretty","encodeURIComponent","token","isarray","attachKeys","flags","sensitive","regexpToRegexp","arrayToRegexp","pathToRegexp","stringToRegexp","tokensToRegExp","strict","endsWithDelimiter","fillParams","routeMsg","regexpCompileCache","pathToRegexp_1","createRouteMap","oldPathList","oldPathMap","oldNameMap","pathList","pathMap","nameMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","instances","redirect","childMatchAs","aliasRoute","normalizeLocation","_normalized","rawPath","parsedPath","basePath","createMatcher","addRoutes","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","aliasedPath","aliasedMatch","aliasedRecord","decodeURIComponent","setupScroll","replaceState","getStateKey","saveScrollPosition","setStateKey","handleScroll","isPop","behavior","scrollBehavior","getScrollPosition","shouldScroll","scrollToPosition","positionStore","pageXOffset","pageYOffset","getElementPosition","docEl","docRect","elRect","isValidPosition","normalizePosition","normalizeOffset","selector","scrollTo","genKey","Time","now","toFixed","_key","pushState","runQueue","step","resolveAsyncComponents","hasAsync","flatMapComponents","resolvedDef","isESModule","flatten","normalizeBase","baseEl","resolveQueue","activated","deactivated","extractGuards","records","reverse","guards","instance","guard","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","isValid","bindEnterGuard","poll","getLocation","pathname","checkFallback","ensureSlash","getHash","replaceHash","getUrl","pushHash","supportsPushState","registerHook","createHref","routerView","_routerViewCache","depth","inactive","routerViewDepth","propsToPass","encodeReserveRE","encodeReserveReplacer","commaRE","toTypes","eventTypes","exact","exactActiveClass","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","parse_1","compile_1","tokensToFunction_1","tokensToRegExp_1","ua","Date","History","ready","readyCbs","readyErrorCbs","errorCbs","listen","onReady","errorCb","onError","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","beforeHooks","postEnterCbs","resolveHooks","afterHooks","HTML5History","History$$1","expectScroll","initLocation","go","fromRoute","getCurrentLocation","HashHistory","setupListeners","supportsScroll","AbstractHistory","targetIndex","VueRouter","apps","matcher","setupHashListener","beforeEach","beforeResolve","back","forward","getMatchedComponents","normalizedTo","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Users_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_2db113c0_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Users_vue__","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_appNavigation_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_85c34754_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_appNavigation_vue__","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_navigationItem_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_429bfeff_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_navigationItem_vue__","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_popoverItem_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_38c13d40_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_popoverItem_vue__","longtext","icon-loading-small","collapsible","backgroundColor","bullet","iconUrl","isInteger","undo","icon-loading","data-apps-slide-toggle","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_userList_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_9ccce41c_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_userList_vue__","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_userRow_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_5fc6ce7e_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_userRow_vue__","microtaskDebounce","taskDebounce","scheduled","timeoutDuration","functionToCheck","getStyleComputedProperty","getParentNode","nodeName","host","getScrollParent","ownerDocument","_getStyleComputedProp","overflow","overflowX","overflowY","getOffsetParent","offsetParent","isOffsetContainer","firstElementChild","getRoot","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","element1root","getScroll","side","upperSide","scrollingElement","includeScroll","rect","subtract","scrollLeft","getBordersSize","axis","sideA","sideB","getSize","computedStyle","isIE10$1","getWindowSizes","height","getClientRect","offsets","_extends","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","isIE10","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","relativeOffset","innerWidth","isFixed","getBoundaries","popper","reference","boundariesElement","boundaries","boundariesNode","_getWindowSizes","getArea","_ref","computeAutoPlacement","placement","refRect","rects","sortedAreas","area","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","getOuterSizes","marginBottom","marginRight","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","check","runModifiers","ends","isDestroyed","arrowStyles","attributes","flipped","flip","originalPlacement","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","toCheck","disableEventListeners","removeOnDestroy","getWindow","defaultView","attachToScrollParents","scrollParents","isBody","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","removeEventListeners","cancelAnimationFrame","isNumeric","setStyles","unit","setAttributes","applyStyle","arrowElement","applyStyleOnLoad","modifierOptions","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","prefixedProperty","willChange","invertTop","invertLeft","x-placement","arrow","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","_data$offsets$arrow","_data$offsets","isVertical","sideCapitalized","altSide","opSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","getOppositeVariation","clockwise","validPlacements","placementOpposite","flipOrder","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","keepTogether","toValue","parseOffset","basePlacement","useHeight","fragments","frag","divider","splitRegex","ops","op","mergeWithPrevious","index2","preventOverflow","priority","primary","escapeWithReference","secondary","shiftvariation","shiftOffsets","hide","bound","inner","subtractLength","convertToArray","addClasses","newClasses","className","SVGAnimatedString","newClass","SVGElement","removeClasses","getOptions","defaultPlacement","defaultDelay","defaultTemplate","arrowSelector","defaultArrowSelector","innerSelector","defaultInnerSelector","defaultTrigger","defaultOffset","defaultContainer","defaultBoundariesElement","autoHide","loadingClass","defaultLoadingClass","loadingContent","defaultLoadingContent","popperOptions","_extends$1","defaultPopperOptions","typeofOffset","getPlacement","positions","getContent","content","createTooltip","defaultClass","tooltip","_tooltip","Tooltip","setClasses","_vueEl","targetClasses","defaultTargetClass","_tooltipTargetClasses","destroyTooltip","dispose","_tooltipOldShow","setContent","setOptions","addListeners","onClick","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","closePopover","$_vclosepopover_touch","closeAllPopover","$_closePopoverModifiers","changedTouches","touch","$_vclosepopover_touchPoint","firstTouch","abs","screenY","screenX","getInternetExplorerVersion","msie","rv","edge","initCompat","install$1","ResizeObserver","getDefault","popover","handleGlobalClick","handleGlobalClose","handleGlobalTouchend","openPopovers","$_handleGlobalClose","lodash_merge","defaultOptions","vclosepopover","Popover","isBrowser","longerTimeoutBrowsers","supportsMicroTasks","debounce","appVersion","classCallCheck","Constructor","createClass","descriptor","protoProps","staticProps","placements","onLoad","Defaults","Popper","jquery","Utils","PopperUtils","classCallCheck$1","createClass$1","DEFAULT_OPTIONS","openTooltips","_initialiseProps","_isOpen","_classes","_tooltipNode","_setContent","classesUpdated","needPopperUpdate","needRestart","popperInstance","_isDisposed","_enableDocumentTouch","_setEventListeners","tooltipGenerator","tooltipNode","asyncContent","_applyContent","allowHtml","rootNode","titleNode","asyncResult","innerText","_disposeTimer","updateClasses","_ensureShown","_create","_findContainer","_append","_noLongerOpen","disposeTime","disposeTimeout","func","_hide","directEvents","oppositeEvents","evt","usedByTooltip","_scheduleShow","_scheduleHide","computedDelay","_scheduleTimer","_show","_setTooltipNodeEvent","_dispose","relatedreference","toElement","evt2","relatedreference2","_onDocumentTouch","defaultBaseClass","defaultWrapperClass","defaultInnerClass","defaultArrowClass","defaultAutoHide","defaultHandleResize","addResizeHandlers","_resizeObject","contentDocument","_w","removeResizeHandlers","onload","beforeDestroy","plugin$2","GlobalVue$1","MSStream","cssClass","aria-describedby","popoverId","popoverBaseClass","popoverClass","popoverWrapperClass","popoverArrowClass","popoverInnerClass","handleResize","$_handleResize","Element","openGroup","oldVal","popoverNode","$_findContainer","$_removeEventListeners","$_addEventListeners","$_updatePopper","$_getOffset","$_isDisposed","$_mounted","$_events","$_preventOpen","$_init","_ref$force","skipDelay","$_scheduleShow","$_scheduleHide","$_show","$_disposeTimer","$_hide","$_scheduleTimer","$_setTooltipNodeEvent","event2","_ref3","$_restartPopper","commonjsGlobal","addMapEntry","pair","addSetEntry","arrayEach","iteratee","arrayPush","arrayReduce","accumulator","initAccum","baseTimes","isHostObject","mapToArray","overArg","setToArray","Hash","entry","hashClear","__data__","nativeCreate","hashDelete","hashGet","HASH_UNDEFINED","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","Map","string","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","pairs","LARGE_ARRAY_SIZE","arrayLikeKeys","inherited","isArguments","skipIndexes","isIndex","assignMergeValue","eq","objValue","baseAssign","copyObject","baseClone","isDeep","isFull","customizer","isArr","initCloneArray","copyArray","getTag","isFunc","funcTag","genTag","cloneBuffer","objectTag","argsTag","initCloneObject","copySymbols","cloneableTags","initCloneByTag","stacked","getAllKeys","subValue","baseCreate","proto","objectCreate","baseGetAllKeys","keysFunc","symbolsFunc","baseGetTag","objectToString","baseIsNative","isMasked","reIsNative","reIsHostCtor","toSource","baseIsTypedArray","isObjectLike","isLength","typedArrayTags","baseKeys","isPrototype","nativeKeys","baseKeysIn","nativeKeysIn","isProto","baseMerge","srcIndex","isTypedArray","srcValue","baseMergeDeep","newValue","mergeFunc","isCommon","isArrayLikeObject","toPlainObject","baseRest","nativeMax","otherArgs","copy","cloneArrayBuffer","arrayBuffer","byteLength","Uint8Array","cloneDataView","dataView","byteOffset","cloneMap","cloneFunc","cloneRegExp","regexp","reFlags","cloneSet","cloneSymbol","symbol","symbolValueOf","cloneTypedArray","typedArray","getSymbols","isKeyable","getNative","getPrototype","arrayBufferTag","boolTag","dateTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","mapTag","numberTag","stringTag","regexpTag","setTag","symbolTag","MAX_SAFE_INTEGER","reIsUint","isIterateeCall","isArrayLike","maskSrcKey","objectProto","funcToString","other","objectCtorString","keysIn","stubArray","stubFalse","weakMapTag","reRegExpChar","freeGlobal","freeSelf","freeExports","freeModule","moduleExports","freeProcess","nodeUtil","nodeIsTypedArray","funcProto","coreJsData","IE_PROTO","Buffer","nativeGetSymbols","nativeIsBuffer","DataView","WeakMap","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","ctorString","assigner","sources","GlobalVue","srcset","submit","autocorrect","autocapitalize","spellcheck","displayname","minlength","tag-placeholder","track-by","group-values","group-label","storageLocation","lastLogin","formatDate","auto","relativeModifiedDate","currentUser","sourceRoot","unescape","media","sourceMap","styleSheet","DEBUG","head","locals","STATE_CHANGER","INFINITE_EVENT","INFINITE_LOOP","scrollHandler","isLoading","isFirstLoad","debounceTimer","debounceDuration","infiniteLoopChecked","infiniteLoopTimer","continuousCallTimes","Spinner","isNoResults","isNoMore","distance","onInfinite","spinner","direction","forceUseInfiniteWrapper","Event","attemptLoad","stateChanger","reset","getCurrentDistance","BUBBLES","CIRCLES","DEFAULT","SPIRAL","WAVEDOTS","spinnerView","&scroll","sticky","close-on-select","$$v","infinite","VueLocalStorage","_properties","_namespace","_isSupported","_getLsKey","lsKey","_lsSet","rawValue","localStorage","setItem","_lsGet","defaultValue","defaultType","_process","removeItem","addProperty","vueLocalStorage","SERVER_BUILD","NODE_ENV","isSupported","log","createInstance","defaultConfig","Axios","axios","instanceConfig","CancelToken","isCancel","promises","spread","isSlowBuffer","readFloatLE","_isBuffer","interceptors","InterceptorManager","dispatchRequest","chain","interceptor","fulfilled","rejected","serializedParams","toISOString","ignoreDuplicateOf","parsed","line","resolveURL","urlParsingNode","protocol","hostname","originURL","requestURL","charCode","output","idx","expires","domain","secure","cookie","toGMTString","eject","throwIfCancellationRequested","throwIfRequested","transformData","isAbsoluteURL","combineURLs","baseURL","relativeURL","executor","resolvePromise","checked","$$a","$$el","$$c","$$i","__WEBPACK_IMPORTED_MODULE_1_vuex__","__WEBPACK_IMPORTED_MODULE_2__users__","__WEBPACK_IMPORTED_MODULE_3__settings__","__WEBPACK_IMPORTED_MODULE_4__oc__","API_FAILURE","Store","oc","devtoolPlugin","devtoolHook","_devtoolHook","targetState","subscribe","mutation","forEachValue","isPromise","targetModule","newModule","getChild","genericSubscribe","resetStore","hot","_actions","_mutations","_wrappedGetters","_modulesNamespaceMap","installModule","_modules","resetStoreVM","oldVm","wrappedGetters","$$state","enableStrictMode","_withCommit","rootState","isRoot","getNamespace","parentState","getNestedState","local","makeLocalContext","forEachMutation","registerMutation","forEachAction","registerAction","forEachGetter","registerGetter","forEachChild","noNamespace","_type","_payload","_options","unifyObjectStyle","payload","makeLocalGetters","gettersProxy","splitPos","localType","rootGetters","rawGetter","applyMixin","normalizeMap","normalizeNamespace","getModuleByNamespace","helper","vuexInit","Module","rawModule","runtime","_children","_rawModule","rawState","prototypeAccessors$1","addChild","ModuleCollection","rawRootModule","register","rawChildModule","unregister","plugins","_committing","_actionSubscribers","_subscribers","_watcherVM","subscribeAction","preserveState","hotUpdate","newOptions","committing","mapState","states","vuex","mapMutations","mapGetters","mapActions","createNamespacedHelpers","index_esm","__WEBPACK_IMPORTED_MODULE_0__api__","orderGroups","localeCompare","appendUsers","usersObj","setPasswordPolicyMinLength","initGroups","addGroup","groupIndex","groupSearch","_ref4","_ref5","userIndex","addUserData","ocs","_ref6","setUserData","_ref7","humanValue","resetUsers","_ref8","linkToOCS","getUsersFromList","_ref9","getUsersFromGroup","_ref10","_ref11","_ref12","_ref13","_ref14","_ref15","addUser","_ref16","_ref17","_ref18","_ref18$enabled","userStatus","_ref19","allowedEmpty","serverData","setServerData","setAppConfig"],"mappings":"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","file":"main.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 23);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar bind = __webpack_require__(18);\nvar isBuffer = __webpack_require__(48);\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global, setImmediate) {/*!\n * Vue.js v2.5.16\n * (c) 2014-2018 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// these helpers produces better vm code in JS engines due to their\n// explicitness and function inlining\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value e.g. [object Object]\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : typeof val === 'object'\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert a input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if a attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether the object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it... e.g.\n * PhantomJS 1.x. Technically we don't need this anymore since native bind is\n * now more performant in most browsers, but removing it would be breaking for\n * code that was able to run in PhantomJS 1.x, so this must be kept for\n * backwards compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/)\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/**\n * Return same value\n */\nvar identity = function (_) { return _; };\n\n/**\n * Generate a static keys string from compiler modules.\n */\nfunction genStaticKeys (modules) {\n return modules.reduce(function (keys, m) {\n return keys.concat(m.staticKeys || [])\n }, []).join(',')\n}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured'\n];\n\n/* */\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: \"production\" !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: \"production\" !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n})\n\n/* */\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = /[^\\w.$]/;\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = (function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (false) {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return '<Root>'\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm || {};\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// the current target watcher being evaluated.\n// this is globally unique because there could be only one\n// watcher being evaluated at any time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (_target) {\n if (Dep.target) { targetStack.push(Dep.target); }\n Dep.target = _target;\n}\n\nfunction popTarget () {\n Dep.target = targetStack.pop();\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n vnode.children,\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n var augment = hasProto\n ? protoAugment\n : copyAugment;\n augment(value, arrayMethods, arrayKeys);\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through each property and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment an target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src, keys) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment an target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n if (!getter && arguments.length === 2) {\n val = obj[key];\n }\n var setter = property && property.set;\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (false) {\n customSetter();\n }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (false\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n \"production\" !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (false\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n \"production\" !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (false) {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n var keys = Object.keys(from);\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (isPlainObject(toVal) && isPlainObject(fromVal)) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n \"production\" !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n return childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n \"production\" !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (false) {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && \"production\" !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!/^[a-zA-Z][\\w-]*$/.test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'can only contain alphanumeric characters and the hyphen, ' +\n 'and must start with a letter.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (false) {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (false) {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (false) {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def = dirs[key];\n if (typeof def === 'function') {\n dirs[key] = { bind: def, update: def };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (false) {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n var extendsFrom = child.extends;\n if (extendsFrom) {\n parent = mergeOptions(parent, extendsFrom, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (false) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n false\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (false) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n if (!valid) {\n warn(\n \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', ')) +\n \", got \" + (toRawType(value)) + \".\",\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n logError(e, null, 'config.errorHandler');\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (false) {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n/* globals MessageChannel */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using both microtasks and (macro) tasks.\n// In < 2.4 we used microtasks everywhere, but there are some scenarios where\n// microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690) or even between bubbling of the same\n// event (#6566). However, using (macro) tasks everywhere also has subtle problems\n// when state is changed right before repaint (e.g. #6813, out-in transitions).\n// Here we use microtask by default, but expose a way to force (macro) task when\n// needed (e.g. in event handlers attached by v-on).\nvar microTimerFunc;\nvar macroTimerFunc;\nvar useMacroTask = false;\n\n// Determine (macro) task defer implementation.\n// Technically setImmediate should be the ideal choice, but it's only available\n// in IE. The only polyfill that consistently queues the callback after all DOM\n// events triggered in the same loop is by using MessageChannel.\n/* istanbul ignore if */\nif (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n macroTimerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else if (typeof MessageChannel !== 'undefined' && (\n isNative(MessageChannel) ||\n // PhantomJS\n MessageChannel.toString() === '[object MessageChannelConstructor]'\n)) {\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = flushCallbacks;\n macroTimerFunc = function () {\n port.postMessage(1);\n };\n} else {\n /* istanbul ignore next */\n macroTimerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\n// Determine microtask defer implementation.\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n microTimerFunc = function () {\n p.then(flushCallbacks);\n // in problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else {\n // fallback to macro\n microTimerFunc = macroTimerFunc;\n}\n\n/**\n * Wrap a function so that if any code inside triggers state change,\n * the changes are queued using a (macro) task instead of a microtask.\n */\nfunction withMacroTask (fn) {\n return fn._withTask || (fn._withTask = function () {\n useMacroTask = true;\n var res = fn.apply(null, arguments);\n useMacroTask = false;\n return res\n })\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n if (useMacroTask) {\n macroTimerFunc();\n } else {\n microTimerFunc();\n }\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\nvar mark;\nvar measure;\n\nif (false) {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n perf.clearMeasures(name);\n };\n }\n}\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (false) {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) || key.charAt(0) === '_';\n if (!has && !isAllowed) {\n warnNonPresent(target, key);\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n warnNonPresent(target, key);\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n cloned[i].apply(null, arguments$1);\n }\n } else {\n // return handler return value for single handlers\n return fns.apply(null, arguments)\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n vm\n) {\n var name, def, cur, old, event;\n for (name in on) {\n def = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n /* istanbul ignore if */\n if (isUndef(cur)) {\n \"production\" !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur);\n }\n add(event.name, cur, event.once, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (false) {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor,\n context\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (isDef(factory.contexts)) {\n // already pending\n factory.contexts.push(context);\n } else {\n var contexts = factory.contexts = [context];\n var sync = true;\n\n var forceRender = function () {\n for (var i = 0, l = contexts.length; i < l; i++) {\n contexts[i].$forceUpdate();\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender();\n }\n });\n\n var reject = once(function (reason) {\n \"production\" !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender();\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (typeof res.then === 'function') {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isDef(res.component) && typeof res.component.then === 'function') {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n setTimeout(function () {\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender();\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n setTimeout(function () {\n if (isUndef(factory.resolved)) {\n reject(\n false\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn, once) {\n if (once) {\n target.$once(event, fn);\n } else {\n target.$on(event, fn);\n }\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var this$1 = this;\n\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n this$1.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var this$1 = this;\n\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n this$1.$off(event[i], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n if (fn) {\n // specific handler\n var cb;\n var i$1 = cbs.length;\n while (i$1--) {\n cb = cbs[i$1];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i$1, 1);\n break\n }\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (false) {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n for (var i = 0, l = cbs.length; i < l; i++) {\n try {\n cbs[i].apply(vm, args);\n } catch (e) {\n handleError(e, vm, (\"event handler for \\\"\" + event + \"\\\"\"));\n }\n }\n }\n return vm\n };\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n var slots = {};\n if (!children) {\n return slots\n }\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res\n) {\n res = res || {};\n for (var i = 0; i < fns.length; i++) {\n if (Array.isArray(fns[i])) {\n resolveScopedSlots(fns[i], res);\n } else {\n res[fns[i].key] = fns[i].fn;\n }\n }\n return res\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n if (vm._isMounted) {\n callHook(vm, 'beforeUpdate');\n }\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(\n vm.$el, vnode, hydrating, false /* removeOnly */,\n vm.$options._parentElm,\n vm.$options._refElm\n );\n // no need for the ref nodes after initial patch\n // this prevents keeping a detached DOM tree in memory (#5851)\n vm.$options._parentElm = vm.$options._refElm = null;\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n activeInstance = prevActiveInstance;\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction mountComponent (\n vm,\n el,\n hydrating\n) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n if (false) {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n callHook(vm, 'beforeMount');\n\n var updateComponent;\n /* istanbul ignore if */\n if (false) {\n updateComponent = function () {\n var name = vm._name;\n var id = vm._uid;\n var startTag = \"vue-perf-start:\" + id;\n var endTag = \"vue-perf-end:\" + id;\n\n mark(startTag);\n var vnode = vm._render();\n mark(endTag);\n measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure((\"vue \" + name + \" patch\"), startTag, endTag);\n };\n } else {\n updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n }\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, null, true /* isRenderWatcher */);\n hydrating = false;\n\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook(vm, 'mounted');\n }\n return vm\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (false) {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren\n var hasChildren = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n parentVnode.data.scopedSlots || // has new scoped slots\n vm.$scopedSlots !== emptyObject // has old scoped slots\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n\n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (hasChildren) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (false) {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n try {\n handlers[i].call(vm);\n } catch (e) {\n handleError(e, vm, (hook + \" hook\"));\n }\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (false) {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (false) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\nvar uid$1 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$1; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = false\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = function () {};\n \"production\" !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var this$1 = this;\n\n var i = this.deps.length;\n while (i--) {\n var dep = this$1.deps[i];\n if (!this$1.newDepIds.has(dep.id)) {\n dep.removeSub(this$1);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var this$1 = this;\n\n var i = this.deps.length;\n while (i--) {\n this$1.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n var this$1 = this;\n\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this$1.deps[i].removeSub(this$1);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (false) {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive(props, key, value, function () {\n if (vm.$parent && !isUpdatingChildComponent) {\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n \"production\" !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (false) {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n \"production\" !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (false) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (false) {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : userDef;\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : userDef.get\n : noop;\n sharedPropertyDefinition.set = userDef.set\n ? userDef.set\n : noop;\n }\n if (false) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (false) {\n if (methods[key] == null) {\n warn(\n \"Method \\\"\" + key + \"\\\" has an undefined value in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = methods[key] == null ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (false) {\n dataDef.set = function (newData) {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n cb.call(vm, watcher.value);\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (false) {\n defineReactive(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject).filter(function (key) {\n /* istanbul ignore next */\n return Object.getOwnPropertyDescriptor(inject, key).enumerable\n })\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (false) {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n } else if (isObject(val)) {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n if (isDef(ret)) {\n (ret)._isVList = true;\n }\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (false) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes = scopedSlotFn(props) || fallback;\n } else {\n var slotNodes = this.$slots[name];\n // warn duplicate slot usage\n if (slotNodes) {\n if (false) {\n warn(\n \"Duplicate presence of slot \\\"\" + name + \"\\\" found in the same render tree \" +\n \"- this will likely cause render errors.\",\n this\n );\n }\n slotNodes._rendered = true;\n }\n nodes = slotNodes || fallback;\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n \"production\" !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n if (!(key in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n \"production\" !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () { return resolveSlots(children, parent); };\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = data.scopedSlots || emptyObject;\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n\n\n\n// Register the component hook to weex native render engine.\n// The hook will be triggered by native, not javascript.\n\n\n// Updates the state of the component to weex native render engine.\n\n/* */\n\n// https://github.com/Hanks10100/weex-native-directive/tree/master/component\n\n// listening on native callback\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (\n vnode,\n hydrating,\n parentElm,\n refElm\n ) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance,\n parentElm,\n refElm\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (false) {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor, context);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n // Weex specific: invoke recycle-list optimized @render function for\n // extracting cell-slot template.\n // https://github.com/Hanks10100/weex-native-directive/tree/master/component\n /* istanbul ignore if */\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent, // activeInstance in lifecycle state\n parentElm,\n refElm\n) {\n var options = {\n _isComponent: true,\n parent: parent,\n _parentVnode: vnode,\n _parentElm: parentElm || null,\n _refElm: refElm || null\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n hooks[key] = componentVNodeHooks[key];\n }\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input';(data.props || (data.props = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n if (isDef(on[event])) {\n on[event] = [data.model.callback].concat(on[event]);\n } else {\n on[event] = data.model.callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n \"production\" !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (false\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if (isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (false) {\n defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n // reset _rendered flag on slots for duplicate slot check\n if (false) {\n for (var key in vm.$slots) {\n // $flow-disable-line\n vm.$slots[key]._rendered = false;\n }\n }\n\n if (_parentVnode) {\n vm.$scopedSlots = _parentVnode.data.scopedSlots || emptyObject;\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (false) {\n if (vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (false) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (false) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (false) {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook(vm, 'created');\n\n /* istanbul ignore if */\n if (false) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n opts._parentElm = options._parentElm;\n opts._refElm = options._refElm;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var extended = Ctor.extendOptions;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = dedupe(latest[key], extended[key], sealed[key]);\n }\n }\n return modified\n}\n\nfunction dedupe (latest, extended, sealed) {\n // compare latest and sealed to ensure lifecycle hooks won't be duplicated\n // between merges\n if (Array.isArray(latest)) {\n var res = [];\n sealed = Array.isArray(sealed) ? sealed : [sealed];\n extended = Array.isArray(extended) ? extended : [extended];\n for (var i = 0; i < latest.length; i++) {\n // push original options and not sealed options to exclude duplicated options\n if (extended.indexOf(latest[i]) >= 0 || sealed.indexOf(latest[i]) < 0) {\n res.push(latest[i]);\n }\n }\n return res\n } else {\n return latest\n }\n}\n\nfunction Vue (options) {\n if (false\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (false) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (false) {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n var this$1 = this;\n\n for (var key in this$1.cache) {\n pruneCacheEntry(this$1.cache, key, this$1.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n}\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n}\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (false) {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.5.16';\n\n/* */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n return (\n (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video')\n )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isBooleanAttr = makeMap(\n 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,translate,' +\n 'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n return val == null || val === false\n};\n\n/* */\n\nfunction genClassForVnode (vnode) {\n var data = vnode.data;\n var parentNode = vnode;\n var childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n while (isDef(parentNode = parentNode.parent)) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class)\n ? [child.class, parent.class]\n : parent.class\n }\n}\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n 'html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n true\n);\n\nvar isPreTag = function (tag) { return tag === 'pre'; };\n\nvar isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n if (isSVG(tag)) {\n return 'svg'\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math'\n }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true\n }\n if (isReservedTag(tag)) {\n return false\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag]\n }\n var el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] = (\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement\n ))\n } else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/* */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n \"production\" !== 'production' && warn(\n 'Cannot find element: ' + el\n );\n return document.createElement('div')\n }\n return selected\n } else {\n return el\n }\n}\n\n/* */\n\nfunction createElement$1 (tagName, vnode) {\n var elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode (node) {\n return node.parentNode\n}\n\nfunction nextSibling (node) {\n return node.nextSibling\n}\n\nfunction tagName (node) {\n return node.tagName\n}\n\nfunction setTextContent (node, text) {\n node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\n\nvar nodeOps = Object.freeze({\n\tcreateElement: createElement$1,\n\tcreateElementNS: createElementNS,\n\tcreateTextNode: createTextNode,\n\tcreateComment: createComment,\n\tinsertBefore: insertBefore,\n\tremoveChild: removeChild,\n\tappendChild: appendChild,\n\tparentNode: parentNode,\n\tnextSibling: nextSibling,\n\ttagName: tagName,\n\tsetTextContent: setTextContent,\n\tsetStyleScope: setStyleScope\n});\n\n/* */\n\nvar ref = {\n create: function create (_, vnode) {\n registerRef(vnode);\n },\n update: function update (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy: function destroy (vnode) {\n registerRef(vnode, true);\n }\n}\n\nfunction registerRef (vnode, isRemoval) {\n var key = vnode.data.ref;\n if (!isDef(key)) { return }\n\n var vm = vnode.context;\n var ref = vnode.componentInstance || vnode.elm;\n var refs = vm.$refs;\n if (isRemoval) {\n if (Array.isArray(refs[key])) {\n remove(refs[key], ref);\n } else if (refs[key] === ref) {\n refs[key] = undefined;\n }\n } else {\n if (vnode.data.refInFor) {\n if (!Array.isArray(refs[key])) {\n refs[key] = [ref];\n } else if (refs[key].indexOf(ref) < 0) {\n // $flow-disable-line\n refs[key].push(ref);\n }\n } else {\n refs[key] = ref;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n return (\n a.key === b.key && (\n (\n a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)\n ) || (\n isTrue(a.isAsyncPlaceholder) &&\n a.asyncFactory === b.asyncFactory &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n}\n\nfunction sameInputType (a, b) {\n if (a.tag !== 'input') { return true }\n var i;\n var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n var i, key;\n var map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key)) { map[key] = i; }\n }\n return map\n}\n\nfunction createPatchFunction (backend) {\n var i, j;\n var cbs = {};\n\n var modules = backend.modules;\n var nodeOps = backend.nodeOps;\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n\n function emptyNodeAt (elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n }\n\n function createRmCb (childElm, listeners) {\n function remove () {\n if (--remove.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove.listeners = listeners;\n return remove\n }\n\n function removeNode (el) {\n var parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n\n function isUnknownElement$$1 (vnode, inVPre) {\n return (\n !inVPre &&\n !vnode.ns &&\n !(\n config.ignoredElements.length &&\n config.ignoredElements.some(function (ignore) {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag\n })\n ) &&\n config.isUnknownElement(vnode.tag)\n )\n }\n\n var creatingElmInVPre = 0;\n\n function createElm (\n vnode,\n insertedVnodeQueue,\n parentElm,\n refElm,\n nested,\n ownerArray,\n index\n ) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return\n }\n\n var data = vnode.data;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n if (false) {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n warn(\n 'Unknown custom element: <' + tag + '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.',\n vnode.context\n );\n }\n }\n\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n\n /* istanbul ignore if */\n {\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n }\n\n if (false) {\n creatingElmInVPre--;\n }\n } else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n } else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n\n function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i = vnode.data;\n if (isDef(i)) {\n var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef(i = i.hook) && isDef(i = i.init)) {\n i(vnode, false /* hydrating */, parentElm, refElm);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true\n }\n }\n }\n\n function initComponent (vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n } else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n\n function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n var innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n\n function insert (parent, elm, ref$$1) {\n if (isDef(parent)) {\n if (isDef(ref$$1)) {\n if (ref$$1.parentNode === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n if (false) {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (parentElm, vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by <transition-group>\n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n\n if (false) {\n checkDuplicateKeys(newCh);\n }\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n } else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue);\n canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue);\n canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) { // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n } else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (oldVnode, vnode, insertedVnodeQueue, removeOnly) {\n if (oldVnode === vnode) {\n return\n }\n\n var elm = vnode.elm = oldVnode.elm;\n\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n } else {\n vnode.isAsyncPlaceholder = true;\n }\n return\n }\n\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n ) {\n vnode.componentInstance = oldVnode.componentInstance;\n return\n }\n\n var i;\n var data = vnode.data;\n if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n i(oldVnode, vnode);\n }\n\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n } else if (isDef(ch)) {\n if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (false) {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (false\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (false\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly, parentElm, refElm) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n return\n }\n\n var isInitialPatch = false;\n var insertedVnodeQueue = [];\n\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue, parentElm, refElm);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, removeOnly);\n } else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode\n } else if (false) {\n warn(\n 'The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n '<p>, or missing <tbody>. Bailing hydration and performing ' +\n 'full client-side render.'\n );\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n // replacing existing element\n var oldElm = oldVnode.elm;\n var parentElm$1 = nodeOps.parentNode(oldElm);\n\n // create new node\n createElm(\n vnode,\n insertedVnodeQueue,\n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm$1,\n nodeOps.nextSibling(oldElm)\n );\n\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n var ancestor = vnode.parent;\n var patchable = isPatchable(vnode);\n while (ancestor) {\n for (var i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n var insert = ancestor.data.hook.insert;\n if (insert.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n insert.fns[i$2]();\n }\n }\n } else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n\n // destroy old node\n if (isDef(parentElm$1)) {\n removeVnodes(parentElm$1, [oldVnode], 0, 0);\n } else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm\n }\n}\n\n/* */\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n}\n\nfunction updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\n\nfunction _update (oldVnode, vnode) {\n var isCreate = oldVnode === emptyNode;\n var isDestroy = vnode === emptyNode;\n var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n var dirsWithInsert = [];\n var dirsWithPostpatch = [];\n\n var key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook$1(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n } else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n callHook$1(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n\n if (dirsWithInsert.length) {\n var callInsert = function () {\n for (var i = 0; i < dirsWithInsert.length; i++) {\n callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n } else {\n callInsert();\n }\n }\n\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n for (var i = 0; i < dirsWithPostpatch.length; i++) {\n callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n dirs,\n vm\n) {\n var res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res\n }\n var i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res\n}\n\nfunction getRawDirName (dir) {\n return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n var fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n } catch (e) {\n handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n }\n }\n}\n\nvar baseModules = [\n ref,\n directives\n]\n\n/* */\n\nfunction updateAttrs (oldVnode, vnode) {\n var opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return\n }\n var key, cur, old;\n var elm = vnode.elm;\n var oldAttrs = oldVnode.data.attrs || {};\n var attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\n\nfunction setAttr (el, key, value) {\n if (el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n } else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. <option disabled>Select one</option>\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for <iframe>,\n // but Flash expects a value of \"true\" when used on <embed> tag\n value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n ? 'true'\n : key;\n el.setAttribute(key, value);\n }\n } else if (isEnumeratedAttr(key)) {\n el.setAttribute(key, isFalsyAttrValue(value) || value === 'false' ? 'false' : 'true');\n } else if (isXlink(key)) {\n if (isFalsyAttrValue(value)) {\n el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n baseSetAttr(el, key, value);\n }\n}\n\nfunction baseSetAttr (el, key, value) {\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // #7138: IE10 & 11 fires input event when setting placeholder on\n // <textarea>... block the first input event and remove the blocker\n // immediately.\n /* istanbul ignore if */\n if (\n isIE && !isIE9 &&\n el.tagName === 'TEXTAREA' &&\n key === 'placeholder' && !el.__ieph\n ) {\n var blocker = function (e) {\n e.stopImmediatePropagation();\n el.removeEventListener('input', blocker);\n };\n el.addEventListener('input', blocker);\n // $flow-disable-line\n el.__ieph = true; /* IE placeholder patched */\n }\n el.setAttribute(key, value);\n }\n}\n\nvar attrs = {\n create: updateAttrs,\n update: updateAttrs\n}\n\n/* */\n\nfunction updateClass (oldVnode, vnode) {\n var el = vnode.elm;\n var data = vnode.data;\n var oldData = oldVnode.data;\n if (\n isUndef(data.staticClass) &&\n isUndef(data.class) && (\n isUndef(oldData) || (\n isUndef(oldData.staticClass) &&\n isUndef(oldData.class)\n )\n )\n ) {\n return\n }\n\n var cls = genClassForVnode(vnode);\n\n // handle transition classes\n var transitionClass = el._transitionClasses;\n if (isDef(transitionClass)) {\n cls = concat(cls, stringifyClass(transitionClass));\n }\n\n // set the class\n if (cls !== el._prevClass) {\n el.setAttribute('class', cls);\n el._prevClass = cls;\n }\n}\n\nvar klass = {\n create: updateClass,\n update: updateClass\n}\n\n/* */\n\nvar validDivisionCharRE = /[\\w).+\\-_$\\]]/;\n\nfunction parseFilters (exp) {\n var inSingle = false;\n var inDouble = false;\n var inTemplateString = false;\n var inRegex = false;\n var curly = 0;\n var square = 0;\n var paren = 0;\n var lastFilterIndex = 0;\n var c, prev, i, expression, filters;\n\n for (i = 0; i < exp.length; i++) {\n prev = c;\n c = exp.charCodeAt(i);\n if (inSingle) {\n if (c === 0x27 && prev !== 0x5C) { inSingle = false; }\n } else if (inDouble) {\n if (c === 0x22 && prev !== 0x5C) { inDouble = false; }\n } else if (inTemplateString) {\n if (c === 0x60 && prev !== 0x5C) { inTemplateString = false; }\n } else if (inRegex) {\n if (c === 0x2f && prev !== 0x5C) { inRegex = false; }\n } else if (\n c === 0x7C && // pipe\n exp.charCodeAt(i + 1) !== 0x7C &&\n exp.charCodeAt(i - 1) !== 0x7C &&\n !curly && !square && !paren\n ) {\n if (expression === undefined) {\n // first filter, end of expression\n lastFilterIndex = i + 1;\n expression = exp.slice(0, i).trim();\n } else {\n pushFilter();\n }\n } else {\n switch (c) {\n case 0x22: inDouble = true; break // \"\n case 0x27: inSingle = true; break // '\n case 0x60: inTemplateString = true; break // `\n case 0x28: paren++; break // (\n case 0x29: paren--; break // )\n case 0x5B: square++; break // [\n case 0x5D: square--; break // ]\n case 0x7B: curly++; break // {\n case 0x7D: curly--; break // }\n }\n if (c === 0x2f) { // /\n var j = i - 1;\n var p = (void 0);\n // find first non-whitespace prev char\n for (; j >= 0; j--) {\n p = exp.charAt(j);\n if (p !== ' ') { break }\n }\n if (!p || !validDivisionCharRE.test(p)) {\n inRegex = true;\n }\n }\n }\n }\n\n if (expression === undefined) {\n expression = exp.slice(0, i).trim();\n } else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n\n function pushFilter () {\n (filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim());\n lastFilterIndex = i + 1;\n }\n\n if (filters) {\n for (i = 0; i < filters.length; i++) {\n expression = wrapFilter(expression, filters[i]);\n }\n }\n\n return expression\n}\n\nfunction wrapFilter (exp, filter) {\n var i = filter.indexOf('(');\n if (i < 0) {\n // _f: resolveFilter\n return (\"_f(\\\"\" + filter + \"\\\")(\" + exp + \")\")\n } else {\n var name = filter.slice(0, i);\n var args = filter.slice(i + 1);\n return (\"_f(\\\"\" + name + \"\\\")(\" + exp + (args !== ')' ? ',' + args : args))\n }\n}\n\n/* */\n\nfunction baseWarn (msg) {\n console.error((\"[Vue compiler]: \" + msg));\n}\n\nfunction pluckModuleFunction (\n modules,\n key\n) {\n return modules\n ? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; })\n : []\n}\n\nfunction addProp (el, name, value) {\n (el.props || (el.props = [])).push({ name: name, value: value });\n el.plain = false;\n}\n\nfunction addAttr (el, name, value) {\n (el.attrs || (el.attrs = [])).push({ name: name, value: value });\n el.plain = false;\n}\n\n// add a raw attr (use this in preTransforms)\nfunction addRawAttr (el, name, value) {\n el.attrsMap[name] = value;\n el.attrsList.push({ name: name, value: value });\n}\n\nfunction addDirective (\n el,\n name,\n rawName,\n value,\n arg,\n modifiers\n) {\n (el.directives || (el.directives = [])).push({ name: name, rawName: rawName, value: value, arg: arg, modifiers: modifiers });\n el.plain = false;\n}\n\nfunction addHandler (\n el,\n name,\n value,\n modifiers,\n important,\n warn\n) {\n modifiers = modifiers || emptyObject;\n // warn prevent and passive modifier\n /* istanbul ignore if */\n if (\n false\n ) {\n warn(\n 'passive and prevent can\\'t be used together. ' +\n 'Passive handler can\\'t prevent default event.'\n );\n }\n\n // check capture modifier\n if (modifiers.capture) {\n delete modifiers.capture;\n name = '!' + name; // mark the event as captured\n }\n if (modifiers.once) {\n delete modifiers.once;\n name = '~' + name; // mark the event as once\n }\n /* istanbul ignore if */\n if (modifiers.passive) {\n delete modifiers.passive;\n name = '&' + name; // mark the event as passive\n }\n\n // normalize click.right and click.middle since they don't actually fire\n // this is technically browser-specific, but at least for now browsers are\n // the only target envs that have right/middle clicks.\n if (name === 'click') {\n if (modifiers.right) {\n name = 'contextmenu';\n delete modifiers.right;\n } else if (modifiers.middle) {\n name = 'mouseup';\n }\n }\n\n var events;\n if (modifiers.native) {\n delete modifiers.native;\n events = el.nativeEvents || (el.nativeEvents = {});\n } else {\n events = el.events || (el.events = {});\n }\n\n var newHandler = {\n value: value.trim()\n };\n if (modifiers !== emptyObject) {\n newHandler.modifiers = modifiers;\n }\n\n var handlers = events[name];\n /* istanbul ignore if */\n if (Array.isArray(handlers)) {\n important ? handlers.unshift(newHandler) : handlers.push(newHandler);\n } else if (handlers) {\n events[name] = important ? [newHandler, handlers] : [handlers, newHandler];\n } else {\n events[name] = newHandler;\n }\n\n el.plain = false;\n}\n\nfunction getBindingAttr (\n el,\n name,\n getStatic\n) {\n var dynamicValue =\n getAndRemoveAttr(el, ':' + name) ||\n getAndRemoveAttr(el, 'v-bind:' + name);\n if (dynamicValue != null) {\n return parseFilters(dynamicValue)\n } else if (getStatic !== false) {\n var staticValue = getAndRemoveAttr(el, name);\n if (staticValue != null) {\n return JSON.stringify(staticValue)\n }\n }\n}\n\n// note: this only removes the attr from the Array (attrsList) so that it\n// doesn't get processed by processAttrs.\n// By default it does NOT remove it from the map (attrsMap) because the map is\n// needed during codegen.\nfunction getAndRemoveAttr (\n el,\n name,\n removeFromMap\n) {\n var val;\n if ((val = el.attrsMap[name]) != null) {\n var list = el.attrsList;\n for (var i = 0, l = list.length; i < l; i++) {\n if (list[i].name === name) {\n list.splice(i, 1);\n break\n }\n }\n }\n if (removeFromMap) {\n delete el.attrsMap[name];\n }\n return val\n}\n\n/* */\n\n/**\n * Cross-platform code generation for component v-model\n */\nfunction genComponentModel (\n el,\n value,\n modifiers\n) {\n var ref = modifiers || {};\n var number = ref.number;\n var trim = ref.trim;\n\n var baseValueExpression = '$$v';\n var valueExpression = baseValueExpression;\n if (trim) {\n valueExpression =\n \"(typeof \" + baseValueExpression + \" === 'string'\" +\n \"? \" + baseValueExpression + \".trim()\" +\n \": \" + baseValueExpression + \")\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n var assignment = genAssignmentCode(value, valueExpression);\n\n el.model = {\n value: (\"(\" + value + \")\"),\n expression: (\"\\\"\" + value + \"\\\"\"),\n callback: (\"function (\" + baseValueExpression + \") {\" + assignment + \"}\")\n };\n}\n\n/**\n * Cross-platform codegen helper for generating v-model value assignment code.\n */\nfunction genAssignmentCode (\n value,\n assignment\n) {\n var res = parseModel(value);\n if (res.key === null) {\n return (value + \"=\" + assignment)\n } else {\n return (\"$set(\" + (res.exp) + \", \" + (res.key) + \", \" + assignment + \")\")\n }\n}\n\n/**\n * Parse a v-model expression into a base path and a final key segment.\n * Handles both dot-path and possible square brackets.\n *\n * Possible cases:\n *\n * - test\n * - test[key]\n * - test[test1[key]]\n * - test[\"a\"][key]\n * - xxx.test[a[a].test1[key]]\n * - test.xxx.a[\"asa\"][test1[key]]\n *\n */\n\nvar len;\nvar str;\nvar chr;\nvar index$1;\nvar expressionPos;\nvar expressionEndPos;\n\n\n\nfunction parseModel (val) {\n // Fix https://github.com/vuejs/vue/pull/7730\n // allow v-model=\"obj.val \" (trailing whitespace)\n val = val.trim();\n len = val.length;\n\n if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) {\n index$1 = val.lastIndexOf('.');\n if (index$1 > -1) {\n return {\n exp: val.slice(0, index$1),\n key: '\"' + val.slice(index$1 + 1) + '\"'\n }\n } else {\n return {\n exp: val,\n key: null\n }\n }\n }\n\n str = val;\n index$1 = expressionPos = expressionEndPos = 0;\n\n while (!eof()) {\n chr = next();\n /* istanbul ignore if */\n if (isStringStart(chr)) {\n parseString(chr);\n } else if (chr === 0x5B) {\n parseBracket(chr);\n }\n }\n\n return {\n exp: val.slice(0, expressionPos),\n key: val.slice(expressionPos + 1, expressionEndPos)\n }\n}\n\nfunction next () {\n return str.charCodeAt(++index$1)\n}\n\nfunction eof () {\n return index$1 >= len\n}\n\nfunction isStringStart (chr) {\n return chr === 0x22 || chr === 0x27\n}\n\nfunction parseBracket (chr) {\n var inBracket = 1;\n expressionPos = index$1;\n while (!eof()) {\n chr = next();\n if (isStringStart(chr)) {\n parseString(chr);\n continue\n }\n if (chr === 0x5B) { inBracket++; }\n if (chr === 0x5D) { inBracket--; }\n if (inBracket === 0) {\n expressionEndPos = index$1;\n break\n }\n }\n}\n\nfunction parseString (chr) {\n var stringQuote = chr;\n while (!eof()) {\n chr = next();\n if (chr === stringQuote) {\n break\n }\n }\n}\n\n/* */\n\nvar warn$1;\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\nfunction model (\n el,\n dir,\n _warn\n) {\n warn$1 = _warn;\n var value = dir.value;\n var modifiers = dir.modifiers;\n var tag = el.tag;\n var type = el.attrsMap.type;\n\n if (false) {\n // inputs with type=\"file\" are read only and setting the input's\n // value will throw an error.\n if (tag === 'input' && type === 'file') {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\" type=\\\"file\\\">:\\n\" +\n \"File inputs are read only. Use a v-on:change listener instead.\"\n );\n }\n }\n\n if (el.component) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (tag === 'select') {\n genSelect(el, value, modifiers);\n } else if (tag === 'input' && type === 'checkbox') {\n genCheckboxModel(el, value, modifiers);\n } else if (tag === 'input' && type === 'radio') {\n genRadioModel(el, value, modifiers);\n } else if (tag === 'input' || tag === 'textarea') {\n genDefaultModel(el, value, modifiers);\n } else if (!config.isReservedTag(tag)) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (false) {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"v-model is not supported on this element type. \" +\n 'If you are working with contenteditable, it\\'s recommended to ' +\n 'wrap a library dedicated for that purpose inside a custom component.'\n );\n }\n\n // ensure runtime directive metadata\n return true\n}\n\nfunction genCheckboxModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n var trueValueBinding = getBindingAttr(el, 'true-value') || 'true';\n var falseValueBinding = getBindingAttr(el, 'false-value') || 'false';\n addProp(el, 'checked',\n \"Array.isArray(\" + value + \")\" +\n \"?_i(\" + value + \",\" + valueBinding + \")>-1\" + (\n trueValueBinding === 'true'\n ? (\":(\" + value + \")\")\n : (\":_q(\" + value + \",\" + trueValueBinding + \")\")\n )\n );\n addHandler(el, 'change',\n \"var $$a=\" + value + \",\" +\n '$$el=$event.target,' +\n \"$$c=$$el.checked?(\" + trueValueBinding + \"):(\" + falseValueBinding + \");\" +\n 'if(Array.isArray($$a)){' +\n \"var $$v=\" + (number ? '_n(' + valueBinding + ')' : valueBinding) + \",\" +\n '$$i=_i($$a,$$v);' +\n \"if($$el.checked){$$i<0&&(\" + (genAssignmentCode(value, '$$a.concat([$$v])')) + \")}\" +\n \"else{$$i>-1&&(\" + (genAssignmentCode(value, '$$a.slice(0,$$i).concat($$a.slice($$i+1))')) + \")}\" +\n \"}else{\" + (genAssignmentCode(value, '$$c')) + \"}\",\n null, true\n );\n}\n\nfunction genRadioModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n valueBinding = number ? (\"_n(\" + valueBinding + \")\") : valueBinding;\n addProp(el, 'checked', (\"_q(\" + value + \",\" + valueBinding + \")\"));\n addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true);\n}\n\nfunction genSelect (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var selectedVal = \"Array.prototype.filter\" +\n \".call($event.target.options,function(o){return o.selected})\" +\n \".map(function(o){var val = \\\"_value\\\" in o ? o._value : o.value;\" +\n \"return \" + (number ? '_n(val)' : 'val') + \"})\";\n\n var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]';\n var code = \"var $$selectedVal = \" + selectedVal + \";\";\n code = code + \" \" + (genAssignmentCode(value, assignment));\n addHandler(el, 'change', code, null, true);\n}\n\nfunction genDefaultModel (\n el,\n value,\n modifiers\n) {\n var type = el.attrsMap.type;\n\n // warn if v-bind:value conflicts with v-model\n // except for inputs with v-bind:type\n if (false) {\n var value$1 = el.attrsMap['v-bind:value'] || el.attrsMap[':value'];\n var typeBinding = el.attrsMap['v-bind:type'] || el.attrsMap[':type'];\n if (value$1 && !typeBinding) {\n var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value';\n warn$1(\n binding + \"=\\\"\" + value$1 + \"\\\" conflicts with v-model on the same element \" +\n 'because the latter already expands to a value binding internally'\n );\n }\n }\n\n var ref = modifiers || {};\n var lazy = ref.lazy;\n var number = ref.number;\n var trim = ref.trim;\n var needCompositionGuard = !lazy && type !== 'range';\n var event = lazy\n ? 'change'\n : type === 'range'\n ? RANGE_TOKEN\n : 'input';\n\n var valueExpression = '$event.target.value';\n if (trim) {\n valueExpression = \"$event.target.value.trim()\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n\n var code = genAssignmentCode(value, valueExpression);\n if (needCompositionGuard) {\n code = \"if($event.target.composing)return;\" + code;\n }\n\n addProp(el, 'value', (\"(\" + value + \")\"));\n addHandler(el, event, code, null, true);\n if (trim || number) {\n addHandler(el, 'blur', '$forceUpdate()');\n }\n}\n\n/* */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n /* istanbul ignore if */\n if (isDef(on[RANGE_TOKEN])) {\n // IE input[type=range] only supports `change` event\n var event = isIE ? 'change' : 'input';\n on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n delete on[RANGE_TOKEN];\n }\n // This was originally intended to fix #4521 but no longer necessary\n // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n /* istanbul ignore if */\n if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n delete on[CHECKBOX_RADIO_TOKEN];\n }\n}\n\nvar target$1;\n\nfunction createOnceHandler (handler, event, capture) {\n var _target = target$1; // save current target element in closure\n return function onceHandler () {\n var res = handler.apply(null, arguments);\n if (res !== null) {\n remove$2(event, onceHandler, capture, _target);\n }\n }\n}\n\nfunction add$1 (\n event,\n handler,\n once$$1,\n capture,\n passive\n) {\n handler = withMacroTask(handler);\n if (once$$1) { handler = createOnceHandler(handler, event, capture); }\n target$1.addEventListener(\n event,\n handler,\n supportsPassive\n ? { capture: capture, passive: passive }\n : capture\n );\n}\n\nfunction remove$2 (\n event,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n event,\n handler._withTask || handler,\n capture\n );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n return\n }\n var on = vnode.data.on || {};\n var oldOn = oldVnode.data.on || {};\n target$1 = vnode.elm;\n normalizeEvents(on);\n updateListeners(on, oldOn, add$1, remove$2, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n}\n\n/* */\n\nfunction updateDOMProps (oldVnode, vnode) {\n if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n return\n }\n var key, cur;\n var elm = vnode.elm;\n var oldProps = oldVnode.data.domProps || {};\n var props = vnode.data.domProps || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(props.__ob__)) {\n props = vnode.data.domProps = extend({}, props);\n }\n\n for (key in oldProps) {\n if (isUndef(props[key])) {\n elm[key] = '';\n }\n }\n for (key in props) {\n cur = props[key];\n // ignore children if the node has textContent or innerHTML,\n // as these will throw away existing DOM nodes and cause removal errors\n // on subsequent patches (#3360)\n if (key === 'textContent' || key === 'innerHTML') {\n if (vnode.children) { vnode.children.length = 0; }\n if (cur === oldProps[key]) { continue }\n // #6601 work around Chrome version <= 55 bug where single textNode\n // replaced by innerHTML/textContent retains its parentNode property\n if (elm.childNodes.length === 1) {\n elm.removeChild(elm.childNodes[0]);\n }\n }\n\n if (key === 'value') {\n // store value as _value as well since\n // non-string values will be stringified\n elm._value = cur;\n // avoid resetting cursor position when value is the same\n var strCur = isUndef(cur) ? '' : String(cur);\n if (shouldUpdateValue(elm, strCur)) {\n elm.value = strCur;\n }\n } else {\n elm[key] = cur;\n }\n }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n return (!elm.composing && (\n elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)\n ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n // return true when textbox (.number and .trim) loses focus and its value is\n // not equal to the updated value\n var notInFocus = true;\n // #6157\n // work around IE bug when accessing document.activeElement in an iframe\n try { notInFocus = document.activeElement !== elm; } catch (e) {}\n return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n var value = elm.value;\n var modifiers = elm._vModifiers; // injected by v-model runtime\n if (isDef(modifiers)) {\n if (modifiers.lazy) {\n // inputs with lazy should only be updated when not in focus\n return false\n }\n if (modifiers.number) {\n return toNumber(value) !== toNumber(newVal)\n }\n if (modifiers.trim) {\n return value.trim() !== newVal.trim()\n }\n }\n return value !== newVal\n}\n\nvar domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n}\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n var style = normalizeStyleBinding(data.style);\n // static style is pre-processed into an object during compilation\n // and is always a fresh object, so it's safe to merge into it\n return data.staticStyle\n ? extend(data.staticStyle, style)\n : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n var res = {};\n var styleData;\n\n if (checkChild) {\n var childNode = vnode;\n while (childNode.componentInstance) {\n childNode = childNode.componentInstance._vnode;\n if (\n childNode && childNode.data &&\n (styleData = normalizeStyleData(childNode.data))\n ) {\n extend(res, styleData);\n }\n }\n }\n\n if ((styleData = normalizeStyleData(vnode.data))) {\n extend(res, styleData);\n }\n\n var parentNode = vnode;\n while ((parentNode = parentNode.parent)) {\n if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n extend(res, styleData);\n }\n }\n return res\n}\n\n/* */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n /* istanbul ignore if */\n if (cssVarRE.test(name)) {\n el.style.setProperty(name, val);\n } else if (importantRE.test(val)) {\n el.style.setProperty(name, val.replace(importantRE, ''), 'important');\n } else {\n var normalizedName = normalize(name);\n if (Array.isArray(val)) {\n // Support values array created by autoprefixer, e.g.\n // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n // Set them one by one, and the browser will only set those it can recognize\n for (var i = 0, len = val.length; i < len; i++) {\n el.style[normalizedName] = val[i];\n }\n } else {\n el.style[normalizedName] = val;\n }\n }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n emptyStyle = emptyStyle || document.createElement('div').style;\n prop = camelize(prop);\n if (prop !== 'filter' && (prop in emptyStyle)) {\n return prop\n }\n var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n for (var i = 0; i < vendorNames.length; i++) {\n var name = vendorNames[i] + capName;\n if (name in emptyStyle) {\n return name\n }\n }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n var data = vnode.data;\n var oldData = oldVnode.data;\n\n if (isUndef(data.staticStyle) && isUndef(data.style) &&\n isUndef(oldData.staticStyle) && isUndef(oldData.style)\n ) {\n return\n }\n\n var cur, name;\n var el = vnode.elm;\n var oldStaticStyle = oldData.staticStyle;\n var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n var oldStyle = oldStaticStyle || oldStyleBinding;\n\n var style = normalizeStyleBinding(vnode.data.style) || {};\n\n // store normalized style under a different key for next diff\n // make sure to clone it if it's reactive, since the user likely wants\n // to mutate it.\n vnode.data.normalizedStyle = isDef(style.__ob__)\n ? extend({}, style)\n : style;\n\n var newStyle = getStyle(vnode, true);\n\n for (name in oldStyle) {\n if (isUndef(newStyle[name])) {\n setProp(el, name, '');\n }\n }\n for (name in newStyle) {\n cur = newStyle[name];\n if (cur !== oldStyle[name]) {\n // ie9 setting to null has no effect, must use empty string\n setProp(el, name, cur == null ? '' : cur);\n }\n }\n}\n\nvar style = {\n create: updateStyle,\n update: updateStyle\n}\n\n/* */\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(/\\s+/).forEach(function (c) { return el.classList.add(c); });\n } else {\n el.classList.add(cls);\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n el.setAttribute('class', (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(/\\s+/).forEach(function (c) { return el.classList.remove(c); });\n } else {\n el.classList.remove(cls);\n }\n if (!el.classList.length) {\n el.removeAttribute('class');\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n cur = cur.trim();\n if (cur) {\n el.setAttribute('class', cur);\n } else {\n el.removeAttribute('class');\n }\n }\n}\n\n/* */\n\nfunction resolveTransition (def) {\n if (!def) {\n return\n }\n /* istanbul ignore else */\n if (typeof def === 'object') {\n var res = {};\n if (def.css !== false) {\n extend(res, autoCssTransition(def.name || 'v'));\n }\n extend(res, def);\n return res\n } else if (typeof def === 'string') {\n return autoCssTransition(def)\n }\n}\n\nvar autoCssTransition = cached(function (name) {\n return {\n enterClass: (name + \"-enter\"),\n enterToClass: (name + \"-enter-to\"),\n enterActiveClass: (name + \"-enter-active\"),\n leaveClass: (name + \"-leave\"),\n leaveToClass: (name + \"-leave-to\"),\n leaveActiveClass: (name + \"-leave-active\")\n }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n /* istanbul ignore if */\n if (window.ontransitionend === undefined &&\n window.onwebkittransitionend !== undefined\n ) {\n transitionProp = 'WebkitTransition';\n transitionEndEvent = 'webkitTransitionEnd';\n }\n if (window.onanimationend === undefined &&\n window.onwebkitanimationend !== undefined\n ) {\n animationProp = 'WebkitAnimation';\n animationEndEvent = 'webkitAnimationEnd';\n }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n raf(function () {\n raf(fn);\n });\n}\n\nfunction addTransitionClass (el, cls) {\n var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n if (transitionClasses.indexOf(cls) < 0) {\n transitionClasses.push(cls);\n addClass(el, cls);\n }\n}\n\nfunction removeTransitionClass (el, cls) {\n if (el._transitionClasses) {\n remove(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n el,\n expectedType,\n cb\n) {\n var ref = getTransitionInfo(el, expectedType);\n var type = ref.type;\n var timeout = ref.timeout;\n var propCount = ref.propCount;\n if (!type) { return cb() }\n var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n var ended = 0;\n var end = function () {\n el.removeEventListener(event, onEnd);\n cb();\n };\n var onEnd = function (e) {\n if (e.target === el) {\n if (++ended >= propCount) {\n end();\n }\n }\n };\n setTimeout(function () {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n var styles = window.getComputedStyle(el);\n var transitionDelays = styles[transitionProp + 'Delay'].split(', ');\n var transitionDurations = styles[transitionProp + 'Duration'].split(', ');\n var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n var animationDelays = styles[animationProp + 'Delay'].split(', ');\n var animationDurations = styles[animationProp + 'Duration'].split(', ');\n var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n var type;\n var timeout = 0;\n var propCount = 0;\n /* istanbul ignore if */\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0\n ? transitionTimeout > animationTimeout\n ? TRANSITION\n : ANIMATION\n : null;\n propCount = type\n ? type === TRANSITION\n ? transitionDurations.length\n : animationDurations.length\n : 0;\n }\n var hasTransform =\n type === TRANSITION &&\n transformRE.test(styles[transitionProp + 'Property']);\n return {\n type: type,\n timeout: timeout,\n propCount: propCount,\n hasTransform: hasTransform\n }\n}\n\nfunction getTimeout (delays, durations) {\n /* istanbul ignore next */\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n\n return Math.max.apply(null, durations.map(function (d, i) {\n return toMs(d) + toMs(delays[i])\n }))\n}\n\nfunction toMs (s) {\n return Number(s.slice(0, -1)) * 1000\n}\n\n/* */\n\nfunction enter (vnode, toggleDisplay) {\n var el = vnode.elm;\n\n // call leave callback now\n if (isDef(el._leaveCb)) {\n el._leaveCb.cancelled = true;\n el._leaveCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data)) {\n return\n }\n\n /* istanbul ignore if */\n if (isDef(el._enterCb) || el.nodeType !== 1) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var enterClass = data.enterClass;\n var enterToClass = data.enterToClass;\n var enterActiveClass = data.enterActiveClass;\n var appearClass = data.appearClass;\n var appearToClass = data.appearToClass;\n var appearActiveClass = data.appearActiveClass;\n var beforeEnter = data.beforeEnter;\n var enter = data.enter;\n var afterEnter = data.afterEnter;\n var enterCancelled = data.enterCancelled;\n var beforeAppear = data.beforeAppear;\n var appear = data.appear;\n var afterAppear = data.afterAppear;\n var appearCancelled = data.appearCancelled;\n var duration = data.duration;\n\n // activeInstance will always be the <transition> component managing this\n // transition. One edge case to check is when the <transition> is placed\n // as the root node of a child component. In that case we need to check\n // <transition>'s parent for appear check.\n var context = activeInstance;\n var transitionNode = activeInstance.$vnode;\n while (transitionNode && transitionNode.parent) {\n transitionNode = transitionNode.parent;\n context = transitionNode.context;\n }\n\n var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n if (isAppear && !appear && appear !== '') {\n return\n }\n\n var startClass = isAppear && appearClass\n ? appearClass\n : enterClass;\n var activeClass = isAppear && appearActiveClass\n ? appearActiveClass\n : enterActiveClass;\n var toClass = isAppear && appearToClass\n ? appearToClass\n : enterToClass;\n\n var beforeEnterHook = isAppear\n ? (beforeAppear || beforeEnter)\n : beforeEnter;\n var enterHook = isAppear\n ? (typeof appear === 'function' ? appear : enter)\n : enter;\n var afterEnterHook = isAppear\n ? (afterAppear || afterEnter)\n : afterEnter;\n var enterCancelledHook = isAppear\n ? (appearCancelled || enterCancelled)\n : enterCancelled;\n\n var explicitEnterDuration = toNumber(\n isObject(duration)\n ? duration.enter\n : duration\n );\n\n if (false) {\n checkDuration(explicitEnterDuration, 'enter', vnode);\n }\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(enterHook);\n\n var cb = el._enterCb = once(function () {\n if (expectsCSS) {\n removeTransitionClass(el, toClass);\n removeTransitionClass(el, activeClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, startClass);\n }\n enterCancelledHook && enterCancelledHook(el);\n } else {\n afterEnterHook && afterEnterHook(el);\n }\n el._enterCb = null;\n });\n\n if (!vnode.data.show) {\n // remove pending leave element on enter by injecting an insert hook\n mergeVNodeHook(vnode, 'insert', function () {\n var parent = el.parentNode;\n var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n if (pendingNode &&\n pendingNode.tag === vnode.tag &&\n pendingNode.elm._leaveCb\n ) {\n pendingNode.elm._leaveCb();\n }\n enterHook && enterHook(el, cb);\n });\n }\n\n // start enter transition\n beforeEnterHook && beforeEnterHook(el);\n if (expectsCSS) {\n addTransitionClass(el, startClass);\n addTransitionClass(el, activeClass);\n nextFrame(function () {\n removeTransitionClass(el, startClass);\n if (!cb.cancelled) {\n addTransitionClass(el, toClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitEnterDuration)) {\n setTimeout(cb, explicitEnterDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n\n if (vnode.data.show) {\n toggleDisplay && toggleDisplay();\n enterHook && enterHook(el, cb);\n }\n\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n}\n\nfunction leave (vnode, rm) {\n var el = vnode.elm;\n\n // call enter callback now\n if (isDef(el._enterCb)) {\n el._enterCb.cancelled = true;\n el._enterCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data) || el.nodeType !== 1) {\n return rm()\n }\n\n /* istanbul ignore if */\n if (isDef(el._leaveCb)) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var leaveClass = data.leaveClass;\n var leaveToClass = data.leaveToClass;\n var leaveActiveClass = data.leaveActiveClass;\n var beforeLeave = data.beforeLeave;\n var leave = data.leave;\n var afterLeave = data.afterLeave;\n var leaveCancelled = data.leaveCancelled;\n var delayLeave = data.delayLeave;\n var duration = data.duration;\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(leave);\n\n var explicitLeaveDuration = toNumber(\n isObject(duration)\n ? duration.leave\n : duration\n );\n\n if (false) {\n checkDuration(explicitLeaveDuration, 'leave', vnode);\n }\n\n var cb = el._leaveCb = once(function () {\n if (el.parentNode && el.parentNode._pending) {\n el.parentNode._pending[vnode.key] = null;\n }\n if (expectsCSS) {\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, leaveClass);\n }\n leaveCancelled && leaveCancelled(el);\n } else {\n rm();\n afterLeave && afterLeave(el);\n }\n el._leaveCb = null;\n });\n\n if (delayLeave) {\n delayLeave(performLeave);\n } else {\n performLeave();\n }\n\n function performLeave () {\n // the delayed leave may have already been cancelled\n if (cb.cancelled) {\n return\n }\n // record leaving element\n if (!vnode.data.show) {\n (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n }\n beforeLeave && beforeLeave(el);\n if (expectsCSS) {\n addTransitionClass(el, leaveClass);\n addTransitionClass(el, leaveActiveClass);\n nextFrame(function () {\n removeTransitionClass(el, leaveClass);\n if (!cb.cancelled) {\n addTransitionClass(el, leaveToClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitLeaveDuration)) {\n setTimeout(cb, explicitLeaveDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n leave && leave(el, cb);\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n if (typeof val !== 'number') {\n warn(\n \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n \"got \" + (JSON.stringify(val)) + \".\",\n vnode.context\n );\n } else if (isNaN(val)) {\n warn(\n \"<transition> explicit \" + name + \" duration is NaN - \" +\n 'the duration expression might be incorrect.',\n vnode.context\n );\n }\n}\n\nfunction isValidDuration (val) {\n return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n if (isUndef(fn)) {\n return false\n }\n var invokerFns = fn.fns;\n if (isDef(invokerFns)) {\n // invoker\n return getHookArgumentsLength(\n Array.isArray(invokerFns)\n ? invokerFns[0]\n : invokerFns\n )\n } else {\n return (fn._length || fn.length) > 1\n }\n}\n\nfunction _enter (_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n}\n\nvar transition = inBrowser ? {\n create: _enter,\n activate: _enter,\n remove: function remove$$1 (vnode, rm) {\n /* istanbul ignore else */\n if (vnode.data.show !== true) {\n leave(vnode, rm);\n } else {\n rm();\n }\n }\n} : {}\n\nvar platformModules = [\n attrs,\n klass,\n events,\n domProps,\n style,\n transition\n]\n\n/* */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', function () {\n var el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nvar directive = {\n inserted: function inserted (el, binding, vnode, oldVnode) {\n if (vnode.tag === 'select') {\n // #6903\n if (oldVnode.elm && !oldVnode.elm._vOptions) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n directive.componentUpdated(el, binding, vnode);\n });\n } else {\n setSelected(el, binding, vnode.context);\n }\n el._vOptions = [].map.call(el.options, getValue);\n } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n el._vModifiers = binding.modifiers;\n if (!binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n\n componentUpdated: function componentUpdated (el, binding, vnode) {\n if (vnode.tag === 'select') {\n setSelected(el, binding, vnode.context);\n // in case the options rendered by v-for have changed,\n // it's possible that the value is out-of-sync with the rendered options.\n // detect such cases and filter out values that no longer has a matching\n // option in the DOM.\n var prevOptions = el._vOptions;\n var curOptions = el._vOptions = [].map.call(el.options, getValue);\n if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n // trigger change event if\n // no matching option found for at least one value\n var needReset = el.multiple\n ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n if (needReset) {\n trigger(el, 'change');\n }\n }\n }\n }\n};\n\nfunction setSelected (el, binding, vm) {\n actuallySetSelected(el, binding, vm);\n /* istanbul ignore if */\n if (isIE || isEdge) {\n setTimeout(function () {\n actuallySetSelected(el, binding, vm);\n }, 0);\n }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n var value = binding.value;\n var isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n \"production\" !== 'production' && warn(\n \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n vm\n );\n return\n }\n var selected, option;\n for (var i = 0, l = el.options.length; i < l; i++) {\n option = el.options[i];\n if (isMultiple) {\n selected = looseIndexOf(value, getValue(option)) > -1;\n if (option.selected !== selected) {\n option.selected = selected;\n }\n } else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) {\n el.selectedIndex = i;\n }\n return\n }\n }\n }\n if (!isMultiple) {\n el.selectedIndex = -1;\n }\n}\n\nfunction hasNoMatchingOption (value, options) {\n return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n return '_value' in option\n ? option._value\n : option.value\n}\n\nfunction onCompositionStart (e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) { return }\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n var e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode\n}\n\nvar show = {\n bind: function bind (el, ref, vnode) {\n var value = ref.value;\n\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n var originalDisplay = el.__vOriginalDisplay =\n el.style.display === 'none' ? '' : el.style.display;\n if (value && transition$$1) {\n vnode.data.show = true;\n enter(vnode, function () {\n el.style.display = originalDisplay;\n });\n } else {\n el.style.display = value ? originalDisplay : 'none';\n }\n },\n\n update: function update (el, ref, vnode) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n\n /* istanbul ignore if */\n if (!value === !oldValue) { return }\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n if (transition$$1) {\n vnode.data.show = true;\n if (value) {\n enter(vnode, function () {\n el.style.display = el.__vOriginalDisplay;\n });\n } else {\n leave(vnode, function () {\n el.style.display = 'none';\n });\n }\n } else {\n el.style.display = value ? el.__vOriginalDisplay : 'none';\n }\n },\n\n unbind: function unbind (\n el,\n binding,\n vnode,\n oldVnode,\n isDestroy\n ) {\n if (!isDestroy) {\n el.style.display = el.__vOriginalDisplay;\n }\n }\n}\n\nvar platformDirectives = {\n model: directive,\n show: show\n}\n\n/* */\n\n// Provides transition support for a single element/component.\n// supports transition mode (out-in / in-out)\n\nvar transitionProps = {\n name: String,\n appear: Boolean,\n css: Boolean,\n mode: String,\n type: String,\n enterClass: String,\n leaveClass: String,\n enterToClass: String,\n leaveToClass: String,\n enterActiveClass: String,\n leaveActiveClass: String,\n appearClass: String,\n appearActiveClass: String,\n appearToClass: String,\n duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n var compOptions = vnode && vnode.componentOptions;\n if (compOptions && compOptions.Ctor.options.abstract) {\n return getRealChild(getFirstComponentChild(compOptions.children))\n } else {\n return vnode\n }\n}\n\nfunction extractTransitionData (comp) {\n var data = {};\n var options = comp.$options;\n // props\n for (var key in options.propsData) {\n data[key] = comp[key];\n }\n // events.\n // extract listeners and pass them directly to the transition methods\n var listeners = options._parentListeners;\n for (var key$1 in listeners) {\n data[camelize(key$1)] = listeners[key$1];\n }\n return data\n}\n\nfunction placeholder (h, rawChild) {\n if (/\\d-keep-alive$/.test(rawChild.tag)) {\n return h('keep-alive', {\n props: rawChild.componentOptions.propsData\n })\n }\n}\n\nfunction hasParentTransition (vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true\n }\n }\n}\n\nfunction isSameChild (child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar Transition = {\n name: 'transition',\n props: transitionProps,\n abstract: true,\n\n render: function render (h) {\n var this$1 = this;\n\n var children = this.$slots.default;\n if (!children) {\n return\n }\n\n // filter out text nodes (possible whitespaces)\n children = children.filter(function (c) { return c.tag || isAsyncPlaceholder(c); });\n /* istanbul ignore if */\n if (!children.length) {\n return\n }\n\n // warn multiple elements\n if (false) {\n warn(\n '<transition> can only be used on a single element. Use ' +\n '<transition-group> for lists.',\n this.$parent\n );\n }\n\n var mode = this.mode;\n\n // warn invalid mode\n if (false\n ) {\n warn(\n 'invalid <transition> mode: ' + mode,\n this.$parent\n );\n }\n\n var rawChild = children[0];\n\n // if this is a component root node and the component's\n // parent container node also has transition, skip.\n if (hasParentTransition(this.$vnode)) {\n return rawChild\n }\n\n // apply transition data to child\n // use getRealChild() to ignore abstract components e.g. keep-alive\n var child = getRealChild(rawChild);\n /* istanbul ignore if */\n if (!child) {\n return rawChild\n }\n\n if (this._leaving) {\n return placeholder(h, rawChild)\n }\n\n // ensure a key that is unique to the vnode type and to this transition\n // component instance. This key will be used to remove pending leaving nodes\n // during entering.\n var id = \"__transition-\" + (this._uid) + \"-\";\n child.key = child.key == null\n ? child.isComment\n ? id + 'comment'\n : id + child.tag\n : isPrimitive(child.key)\n ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n : child.key;\n\n var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n var oldRawChild = this._vnode;\n var oldChild = getRealChild(oldRawChild);\n\n // mark v-show\n // so that the transition module can hand over the control to the directive\n if (child.data.directives && child.data.directives.some(function (d) { return d.name === 'show'; })) {\n child.data.show = true;\n }\n\n if (\n oldChild &&\n oldChild.data &&\n !isSameChild(child, oldChild) &&\n !isAsyncPlaceholder(oldChild) &&\n // #6687 component root is a comment node\n !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n ) {\n // replace old child transition data with fresh one\n // important for dynamic transitions!\n var oldData = oldChild.data.transition = extend({}, data);\n // handle transition mode\n if (mode === 'out-in') {\n // return placeholder node and queue update when leave finishes\n this._leaving = true;\n mergeVNodeHook(oldData, 'afterLeave', function () {\n this$1._leaving = false;\n this$1.$forceUpdate();\n });\n return placeholder(h, rawChild)\n } else if (mode === 'in-out') {\n if (isAsyncPlaceholder(child)) {\n return oldRawChild\n }\n var delayedLeave;\n var performLeave = function () { delayedLeave(); };\n mergeVNodeHook(data, 'afterEnter', performLeave);\n mergeVNodeHook(data, 'enterCancelled', performLeave);\n mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n }\n }\n\n return rawChild\n }\n}\n\n/* */\n\n// Provides transition support for list items.\n// supports move transitions using the FLIP technique.\n\n// Because the vdom's children update algorithm is \"unstable\" - i.e.\n// it doesn't guarantee the relative positioning of removed elements,\n// we force transition-group to update its children into two passes:\n// in the first pass, we remove all nodes that need to be removed,\n// triggering their leaving transition; in the second pass, we insert/move\n// into the final desired state. This way in the second pass removed\n// nodes will remain where they should be.\n\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props: props,\n\n render: function render (h) {\n var tag = this.tag || this.$vnode.data.tag || 'span';\n var map = Object.create(null);\n var prevChildren = this.prevChildren = this.children;\n var rawChildren = this.$slots.default || [];\n var children = this.children = [];\n var transitionData = extractTransitionData(this);\n\n for (var i = 0; i < rawChildren.length; i++) {\n var c = rawChildren[i];\n if (c.tag) {\n if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n children.push(c);\n map[c.key] = c\n ;(c.data || (c.data = {})).transition = transitionData;\n } else if (false) {\n var opts = c.componentOptions;\n var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n }\n }\n }\n\n if (prevChildren) {\n var kept = [];\n var removed = [];\n for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n var c$1 = prevChildren[i$1];\n c$1.data.transition = transitionData;\n c$1.data.pos = c$1.elm.getBoundingClientRect();\n if (map[c$1.key]) {\n kept.push(c$1);\n } else {\n removed.push(c$1);\n }\n }\n this.kept = h(tag, null, kept);\n this.removed = removed;\n }\n\n return h(tag, null, children)\n },\n\n beforeUpdate: function beforeUpdate () {\n // force removing pass\n this.__patch__(\n this._vnode,\n this.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this._vnode = this.kept;\n },\n\n updated: function updated () {\n var children = this.prevChildren;\n var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n return\n }\n\n // we divide the work into three loops to avoid mixing DOM reads and writes\n // in each iteration - which helps prevent layout thrashing.\n children.forEach(callPendingCbs);\n children.forEach(recordPosition);\n children.forEach(applyTranslation);\n\n // force reflow to put everything in position\n // assign to this to avoid being removed in tree-shaking\n // $flow-disable-line\n this._reflow = document.body.offsetHeight;\n\n children.forEach(function (c) {\n if (c.data.moved) {\n var el = c.elm;\n var s = el.style;\n addTransitionClass(el, moveClass);\n s.transform = s.WebkitTransform = s.transitionDuration = '';\n el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(transitionEndEvent, cb);\n el._moveCb = null;\n removeTransitionClass(el, moveClass);\n }\n });\n }\n });\n },\n\n methods: {\n hasMove: function hasMove (el, moveClass) {\n /* istanbul ignore if */\n if (!hasTransition) {\n return false\n }\n /* istanbul ignore if */\n if (this._hasMove) {\n return this._hasMove\n }\n // Detect whether an element with the move class applied has\n // CSS transitions. Since the element may be inside an entering\n // transition at this very moment, we make a clone of it and remove\n // all other transition classes applied to ensure only the move class\n // is applied.\n var clone = el.cloneNode();\n if (el._transitionClasses) {\n el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n }\n addClass(clone, moveClass);\n clone.style.display = 'none';\n this.$el.appendChild(clone);\n var info = getTransitionInfo(clone);\n this.$el.removeChild(clone);\n return (this._hasMove = info.hasTransform)\n }\n }\n}\n\nfunction callPendingCbs (c) {\n /* istanbul ignore if */\n if (c.elm._moveCb) {\n c.elm._moveCb();\n }\n /* istanbul ignore if */\n if (c.elm._enterCb) {\n c.elm._enterCb();\n }\n}\n\nfunction recordPosition (c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n var oldPos = c.data.pos;\n var newPos = c.data.newPos;\n var dx = oldPos.left - newPos.left;\n var dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c.data.moved = true;\n var s = c.elm.style;\n s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n s.transitionDuration = '0s';\n }\n}\n\nvar platformComponents = {\n Transition: Transition,\n TransitionGroup: TransitionGroup\n}\n\n/* */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && inBrowser ? query(el) : undefined;\n return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n setTimeout(function () {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n } else if (\n false\n ) {\n console[console.info ? 'info' : 'log'](\n 'Download the Vue Devtools extension for a better development experience:\\n' +\n 'https://github.com/vuejs/vue-devtools'\n );\n }\n }\n if (false\n ) {\n console[console.info ? 'info' : 'log'](\n \"You are running Vue in development mode.\\n\" +\n \"Make sure to turn on production mode when deploying for production.\\n\" +\n \"See more tips at https://vuejs.org/guide/deployment.html\"\n );\n }\n }, 0);\n}\n\n/* */\n\nvar defaultTagRE = /\\{\\{((?:.|\\n)+?)\\}\\}/g;\nvar regexEscapeRE = /[-.*+?^${}()|[\\]\\/\\\\]/g;\n\nvar buildRegex = cached(function (delimiters) {\n var open = delimiters[0].replace(regexEscapeRE, '\\\\$&');\n var close = delimiters[1].replace(regexEscapeRE, '\\\\$&');\n return new RegExp(open + '((?:.|\\\\n)+?)' + close, 'g')\n});\n\n\n\nfunction parseText (\n text,\n delimiters\n) {\n var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;\n if (!tagRE.test(text)) {\n return\n }\n var tokens = [];\n var rawTokens = [];\n var lastIndex = tagRE.lastIndex = 0;\n var match, index, tokenValue;\n while ((match = tagRE.exec(text))) {\n index = match.index;\n // push text token\n if (index > lastIndex) {\n rawTokens.push(tokenValue = text.slice(lastIndex, index));\n tokens.push(JSON.stringify(tokenValue));\n }\n // tag token\n var exp = parseFilters(match[1].trim());\n tokens.push((\"_s(\" + exp + \")\"));\n rawTokens.push({ '@binding': exp });\n lastIndex = index + match[0].length;\n }\n if (lastIndex < text.length) {\n rawTokens.push(tokenValue = text.slice(lastIndex));\n tokens.push(JSON.stringify(tokenValue));\n }\n return {\n expression: tokens.join('+'),\n tokens: rawTokens\n }\n}\n\n/* */\n\nfunction transformNode (el, options) {\n var warn = options.warn || baseWarn;\n var staticClass = getAndRemoveAttr(el, 'class');\n if (false) {\n var res = parseText(staticClass, options.delimiters);\n if (res) {\n warn(\n \"class=\\\"\" + staticClass + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div class=\"{{ val }}\">, use <div :class=\"val\">.'\n );\n }\n }\n if (staticClass) {\n el.staticClass = JSON.stringify(staticClass);\n }\n var classBinding = getBindingAttr(el, 'class', false /* getStatic */);\n if (classBinding) {\n el.classBinding = classBinding;\n }\n}\n\nfunction genData (el) {\n var data = '';\n if (el.staticClass) {\n data += \"staticClass:\" + (el.staticClass) + \",\";\n }\n if (el.classBinding) {\n data += \"class:\" + (el.classBinding) + \",\";\n }\n return data\n}\n\nvar klass$1 = {\n staticKeys: ['staticClass'],\n transformNode: transformNode,\n genData: genData\n}\n\n/* */\n\nfunction transformNode$1 (el, options) {\n var warn = options.warn || baseWarn;\n var staticStyle = getAndRemoveAttr(el, 'style');\n if (staticStyle) {\n /* istanbul ignore if */\n if (false) {\n var res = parseText(staticStyle, options.delimiters);\n if (res) {\n warn(\n \"style=\\\"\" + staticStyle + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div style=\"{{ val }}\">, use <div :style=\"val\">.'\n );\n }\n }\n el.staticStyle = JSON.stringify(parseStyleText(staticStyle));\n }\n\n var styleBinding = getBindingAttr(el, 'style', false /* getStatic */);\n if (styleBinding) {\n el.styleBinding = styleBinding;\n }\n}\n\nfunction genData$1 (el) {\n var data = '';\n if (el.staticStyle) {\n data += \"staticStyle:\" + (el.staticStyle) + \",\";\n }\n if (el.styleBinding) {\n data += \"style:(\" + (el.styleBinding) + \"),\";\n }\n return data\n}\n\nvar style$1 = {\n staticKeys: ['staticStyle'],\n transformNode: transformNode$1,\n genData: genData$1\n}\n\n/* */\n\nvar decoder;\n\nvar he = {\n decode: function decode (html) {\n decoder = decoder || document.createElement('div');\n decoder.innerHTML = html;\n return decoder.textContent\n }\n}\n\n/* */\n\nvar isUnaryTag = makeMap(\n 'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +\n 'link,meta,param,source,track,wbr'\n);\n\n// Elements that you can, intentionally, leave open\n// (and which close themselves)\nvar canBeLeftOpenTag = makeMap(\n 'colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source'\n);\n\n// HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3\n// Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content\nvar isNonPhrasingTag = makeMap(\n 'address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' +\n 'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' +\n 'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' +\n 'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' +\n 'title,tr,track'\n);\n\n/**\n * Not type-checking this file because it's mostly vendor code.\n */\n\n/*!\n * HTML Parser By John Resig (ejohn.org)\n * Modified by Juriy \"kangax\" Zaytsev\n * Original code by Erik Arvidsson, Mozilla Public License\n * http://erik.eae.net/simplehtmlparser/simplehtmlparser.js\n */\n\n// Regular Expressions for parsing tags and attributes\nvar attribute = /^\\s*([^\\s\"'<>\\/=]+)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\n// could use https://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-QName\n// but for Vue templates we can enforce a simple charset\nvar ncname = '[a-zA-Z_][\\\\w\\\\-\\\\.]*';\nvar qnameCapture = \"((?:\" + ncname + \"\\\\:)?\" + ncname + \")\";\nvar startTagOpen = new RegExp((\"^<\" + qnameCapture));\nvar startTagClose = /^\\s*(\\/?)>/;\nvar endTag = new RegExp((\"^<\\\\/\" + qnameCapture + \"[^>]*>\"));\nvar doctype = /^<!DOCTYPE [^>]+>/i;\n// #7298: escape - to avoid being pased as HTML comment when inlined in page\nvar comment = /^<!\\--/;\nvar conditionalComment = /^<!\\[/;\n\nvar IS_REGEX_CAPTURING_BROKEN = false;\n'x'.replace(/x(.)?/g, function (m, g) {\n IS_REGEX_CAPTURING_BROKEN = g === '';\n});\n\n// Special Elements (can contain anything)\nvar isPlainTextElement = makeMap('script,style,textarea', true);\nvar reCache = {};\n\nvar decodingMap = {\n '&lt;': '<',\n '&gt;': '>',\n '&quot;': '\"',\n '&amp;': '&',\n '&#10;': '\\n',\n '&#9;': '\\t'\n};\nvar encodedAttr = /&(?:lt|gt|quot|amp);/g;\nvar encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#10|#9);/g;\n\n// #5992\nvar isIgnoreNewlineTag = makeMap('pre,textarea', true);\nvar shouldIgnoreFirstNewline = function (tag, html) { return tag && isIgnoreNewlineTag(tag) && html[0] === '\\n'; };\n\nfunction decodeAttr (value, shouldDecodeNewlines) {\n var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr;\n return value.replace(re, function (match) { return decodingMap[match]; })\n}\n\nfunction parseHTML (html, options) {\n var stack = [];\n var expectHTML = options.expectHTML;\n var isUnaryTag$$1 = options.isUnaryTag || no;\n var canBeLeftOpenTag$$1 = options.canBeLeftOpenTag || no;\n var index = 0;\n var last, lastTag;\n while (html) {\n last = html;\n // Make sure we're not in a plaintext content element like script/style\n if (!lastTag || !isPlainTextElement(lastTag)) {\n var textEnd = html.indexOf('<');\n if (textEnd === 0) {\n // Comment:\n if (comment.test(html)) {\n var commentEnd = html.indexOf('-->');\n\n if (commentEnd >= 0) {\n if (options.shouldKeepComment) {\n options.comment(html.substring(4, commentEnd));\n }\n advance(commentEnd + 3);\n continue\n }\n }\n\n // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment\n if (conditionalComment.test(html)) {\n var conditionalEnd = html.indexOf(']>');\n\n if (conditionalEnd >= 0) {\n advance(conditionalEnd + 2);\n continue\n }\n }\n\n // Doctype:\n var doctypeMatch = html.match(doctype);\n if (doctypeMatch) {\n advance(doctypeMatch[0].length);\n continue\n }\n\n // End tag:\n var endTagMatch = html.match(endTag);\n if (endTagMatch) {\n var curIndex = index;\n advance(endTagMatch[0].length);\n parseEndTag(endTagMatch[1], curIndex, index);\n continue\n }\n\n // Start tag:\n var startTagMatch = parseStartTag();\n if (startTagMatch) {\n handleStartTag(startTagMatch);\n if (shouldIgnoreFirstNewline(lastTag, html)) {\n advance(1);\n }\n continue\n }\n }\n\n var text = (void 0), rest = (void 0), next = (void 0);\n if (textEnd >= 0) {\n rest = html.slice(textEnd);\n while (\n !endTag.test(rest) &&\n !startTagOpen.test(rest) &&\n !comment.test(rest) &&\n !conditionalComment.test(rest)\n ) {\n // < in plain text, be forgiving and treat it as text\n next = rest.indexOf('<', 1);\n if (next < 0) { break }\n textEnd += next;\n rest = html.slice(textEnd);\n }\n text = html.substring(0, textEnd);\n advance(textEnd);\n }\n\n if (textEnd < 0) {\n text = html;\n html = '';\n }\n\n if (options.chars && text) {\n options.chars(text);\n }\n } else {\n var endTagLength = 0;\n var stackedTag = lastTag.toLowerCase();\n var reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\\\s\\\\S]*?)(</' + stackedTag + '[^>]*>)', 'i'));\n var rest$1 = html.replace(reStackedTag, function (all, text, endTag) {\n endTagLength = endTag.length;\n if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') {\n text = text\n .replace(/<!\\--([\\s\\S]*?)-->/g, '$1') // #7298\n .replace(/<!\\[CDATA\\[([\\s\\S]*?)]]>/g, '$1');\n }\n if (shouldIgnoreFirstNewline(stackedTag, text)) {\n text = text.slice(1);\n }\n if (options.chars) {\n options.chars(text);\n }\n return ''\n });\n index += html.length - rest$1.length;\n html = rest$1;\n parseEndTag(stackedTag, index - endTagLength, index);\n }\n\n if (html === last) {\n options.chars && options.chars(html);\n if (false) {\n options.warn((\"Mal-formatted tag at end of template: \\\"\" + html + \"\\\"\"));\n }\n break\n }\n }\n\n // Clean up any remaining tags\n parseEndTag();\n\n function advance (n) {\n index += n;\n html = html.substring(n);\n }\n\n function parseStartTag () {\n var start = html.match(startTagOpen);\n if (start) {\n var match = {\n tagName: start[1],\n attrs: [],\n start: index\n };\n advance(start[0].length);\n var end, attr;\n while (!(end = html.match(startTagClose)) && (attr = html.match(attribute))) {\n advance(attr[0].length);\n match.attrs.push(attr);\n }\n if (end) {\n match.unarySlash = end[1];\n advance(end[0].length);\n match.end = index;\n return match\n }\n }\n }\n\n function handleStartTag (match) {\n var tagName = match.tagName;\n var unarySlash = match.unarySlash;\n\n if (expectHTML) {\n if (lastTag === 'p' && isNonPhrasingTag(tagName)) {\n parseEndTag(lastTag);\n }\n if (canBeLeftOpenTag$$1(tagName) && lastTag === tagName) {\n parseEndTag(tagName);\n }\n }\n\n var unary = isUnaryTag$$1(tagName) || !!unarySlash;\n\n var l = match.attrs.length;\n var attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n var args = match.attrs[i];\n // hackish work around FF bug https://bugzilla.mozilla.org/show_bug.cgi?id=369778\n if (IS_REGEX_CAPTURING_BROKEN && args[0].indexOf('\"\"') === -1) {\n if (args[3] === '') { delete args[3]; }\n if (args[4] === '') { delete args[4]; }\n if (args[5] === '') { delete args[5]; }\n }\n var value = args[3] || args[4] || args[5] || '';\n var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href'\n ? options.shouldDecodeNewlinesForHref\n : options.shouldDecodeNewlines;\n attrs[i] = {\n name: args[1],\n value: decodeAttr(value, shouldDecodeNewlines)\n };\n }\n\n if (!unary) {\n stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs });\n lastTag = tagName;\n }\n\n if (options.start) {\n options.start(tagName, attrs, unary, match.start, match.end);\n }\n }\n\n function parseEndTag (tagName, start, end) {\n var pos, lowerCasedTagName;\n if (start == null) { start = index; }\n if (end == null) { end = index; }\n\n if (tagName) {\n lowerCasedTagName = tagName.toLowerCase();\n }\n\n // Find the closest opened tag of the same type\n if (tagName) {\n for (pos = stack.length - 1; pos >= 0; pos--) {\n if (stack[pos].lowerCasedTag === lowerCasedTagName) {\n break\n }\n }\n } else {\n // If no tag name is provided, clean shop\n pos = 0;\n }\n\n if (pos >= 0) {\n // Close all the open elements, up the stack\n for (var i = stack.length - 1; i >= pos; i--) {\n if (false\n ) {\n options.warn(\n (\"tag <\" + (stack[i].tag) + \"> has no matching end tag.\")\n );\n }\n if (options.end) {\n options.end(stack[i].tag, start, end);\n }\n }\n\n // Remove the open elements from the stack\n stack.length = pos;\n lastTag = pos && stack[pos - 1].tag;\n } else if (lowerCasedTagName === 'br') {\n if (options.start) {\n options.start(tagName, [], true, start, end);\n }\n } else if (lowerCasedTagName === 'p') {\n if (options.start) {\n options.start(tagName, [], false, start, end);\n }\n if (options.end) {\n options.end(tagName, start, end);\n }\n }\n }\n}\n\n/* */\n\nvar onRE = /^@|^v-on:/;\nvar dirRE = /^v-|^@|^:/;\nvar forAliasRE = /([^]*?)\\s+(?:in|of)\\s+([^]*)/;\nvar forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\nvar stripParensRE = /^\\(|\\)$/g;\n\nvar argRE = /:(.*)$/;\nvar bindRE = /^:|^v-bind:/;\nvar modifierRE = /\\.[^.]+/g;\n\nvar decodeHTMLCached = cached(he.decode);\n\n// configurable state\nvar warn$2;\nvar delimiters;\nvar transforms;\nvar preTransforms;\nvar postTransforms;\nvar platformIsPreTag;\nvar platformMustUseProp;\nvar platformGetTagNamespace;\n\n\n\nfunction createASTElement (\n tag,\n attrs,\n parent\n) {\n return {\n type: 1,\n tag: tag,\n attrsList: attrs,\n attrsMap: makeAttrsMap(attrs),\n parent: parent,\n children: []\n }\n}\n\n/**\n * Convert HTML string to AST.\n */\nfunction parse (\n template,\n options\n) {\n warn$2 = options.warn || baseWarn;\n\n platformIsPreTag = options.isPreTag || no;\n platformMustUseProp = options.mustUseProp || no;\n platformGetTagNamespace = options.getTagNamespace || no;\n\n transforms = pluckModuleFunction(options.modules, 'transformNode');\n preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');\n postTransforms = pluckModuleFunction(options.modules, 'postTransformNode');\n\n delimiters = options.delimiters;\n\n var stack = [];\n var preserveWhitespace = options.preserveWhitespace !== false;\n var root;\n var currentParent;\n var inVPre = false;\n var inPre = false;\n var warned = false;\n\n function warnOnce (msg) {\n if (!warned) {\n warned = true;\n warn$2(msg);\n }\n }\n\n function closeElement (element) {\n // check pre state\n if (element.pre) {\n inVPre = false;\n }\n if (platformIsPreTag(element.tag)) {\n inPre = false;\n }\n // apply post-transforms\n for (var i = 0; i < postTransforms.length; i++) {\n postTransforms[i](element, options);\n }\n }\n\n parseHTML(template, {\n warn: warn$2,\n expectHTML: options.expectHTML,\n isUnaryTag: options.isUnaryTag,\n canBeLeftOpenTag: options.canBeLeftOpenTag,\n shouldDecodeNewlines: options.shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref,\n shouldKeepComment: options.comments,\n start: function start (tag, attrs, unary) {\n // check namespace.\n // inherit parent ns if there is one\n var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);\n\n // handle IE svg bug\n /* istanbul ignore if */\n if (isIE && ns === 'svg') {\n attrs = guardIESVGBug(attrs);\n }\n\n var element = createASTElement(tag, attrs, currentParent);\n if (ns) {\n element.ns = ns;\n }\n\n if (isForbiddenTag(element) && !isServerRendering()) {\n element.forbidden = true;\n \"production\" !== 'production' && warn$2(\n 'Templates should only be responsible for mapping the state to the ' +\n 'UI. Avoid placing tags with side-effects in your templates, such as ' +\n \"<\" + tag + \">\" + ', as they will not be parsed.'\n );\n }\n\n // apply pre-transforms\n for (var i = 0; i < preTransforms.length; i++) {\n element = preTransforms[i](element, options) || element;\n }\n\n if (!inVPre) {\n processPre(element);\n if (element.pre) {\n inVPre = true;\n }\n }\n if (platformIsPreTag(element.tag)) {\n inPre = true;\n }\n if (inVPre) {\n processRawAttrs(element);\n } else if (!element.processed) {\n // structural directives\n processFor(element);\n processIf(element);\n processOnce(element);\n // element-scope stuff\n processElement(element, options);\n }\n\n function checkRootConstraints (el) {\n if (false) {\n if (el.tag === 'slot' || el.tag === 'template') {\n warnOnce(\n \"Cannot use <\" + (el.tag) + \"> as component root element because it may \" +\n 'contain multiple nodes.'\n );\n }\n if (el.attrsMap.hasOwnProperty('v-for')) {\n warnOnce(\n 'Cannot use v-for on stateful component root element because ' +\n 'it renders multiple elements.'\n );\n }\n }\n }\n\n // tree management\n if (!root) {\n root = element;\n checkRootConstraints(root);\n } else if (!stack.length) {\n // allow root elements with v-if, v-else-if and v-else\n if (root.if && (element.elseif || element.else)) {\n checkRootConstraints(element);\n addIfCondition(root, {\n exp: element.elseif,\n block: element\n });\n } else if (false) {\n warnOnce(\n \"Component template should contain exactly one root element. \" +\n \"If you are using v-if on multiple elements, \" +\n \"use v-else-if to chain them instead.\"\n );\n }\n }\n if (currentParent && !element.forbidden) {\n if (element.elseif || element.else) {\n processIfConditions(element, currentParent);\n } else if (element.slotScope) { // scoped slot\n currentParent.plain = false;\n var name = element.slotTarget || '\"default\"';(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;\n } else {\n currentParent.children.push(element);\n element.parent = currentParent;\n }\n }\n if (!unary) {\n currentParent = element;\n stack.push(element);\n } else {\n closeElement(element);\n }\n },\n\n end: function end () {\n // remove trailing whitespace\n var element = stack[stack.length - 1];\n var lastNode = element.children[element.children.length - 1];\n if (lastNode && lastNode.type === 3 && lastNode.text === ' ' && !inPre) {\n element.children.pop();\n }\n // pop stack\n stack.length -= 1;\n currentParent = stack[stack.length - 1];\n closeElement(element);\n },\n\n chars: function chars (text) {\n if (!currentParent) {\n if (false) {\n if (text === template) {\n warnOnce(\n 'Component template requires a root element, rather than just text.'\n );\n } else if ((text = text.trim())) {\n warnOnce(\n (\"text \\\"\" + text + \"\\\" outside root element will be ignored.\")\n );\n }\n }\n return\n }\n // IE textarea placeholder bug\n /* istanbul ignore if */\n if (isIE &&\n currentParent.tag === 'textarea' &&\n currentParent.attrsMap.placeholder === text\n ) {\n return\n }\n var children = currentParent.children;\n text = inPre || text.trim()\n ? isTextTag(currentParent) ? text : decodeHTMLCached(text)\n // only preserve whitespace if its not right after a starting tag\n : preserveWhitespace && children.length ? ' ' : '';\n if (text) {\n var res;\n if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) {\n children.push({\n type: 2,\n expression: res.expression,\n tokens: res.tokens,\n text: text\n });\n } else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') {\n children.push({\n type: 3,\n text: text\n });\n }\n }\n },\n comment: function comment (text) {\n currentParent.children.push({\n type: 3,\n text: text,\n isComment: true\n });\n }\n });\n return root\n}\n\nfunction processPre (el) {\n if (getAndRemoveAttr(el, 'v-pre') != null) {\n el.pre = true;\n }\n}\n\nfunction processRawAttrs (el) {\n var l = el.attrsList.length;\n if (l) {\n var attrs = el.attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n attrs[i] = {\n name: el.attrsList[i].name,\n value: JSON.stringify(el.attrsList[i].value)\n };\n }\n } else if (!el.pre) {\n // non root node in pre blocks with no attributes\n el.plain = true;\n }\n}\n\nfunction processElement (element, options) {\n processKey(element);\n\n // determine whether this is a plain element after\n // removing structural attributes\n element.plain = !element.key && !element.attrsList.length;\n\n processRef(element);\n processSlot(element);\n processComponent(element);\n for (var i = 0; i < transforms.length; i++) {\n element = transforms[i](element, options) || element;\n }\n processAttrs(element);\n}\n\nfunction processKey (el) {\n var exp = getBindingAttr(el, 'key');\n if (exp) {\n if (false) {\n warn$2(\"<template> cannot be keyed. Place the key on real elements instead.\");\n }\n el.key = exp;\n }\n}\n\nfunction processRef (el) {\n var ref = getBindingAttr(el, 'ref');\n if (ref) {\n el.ref = ref;\n el.refInFor = checkInFor(el);\n }\n}\n\nfunction processFor (el) {\n var exp;\n if ((exp = getAndRemoveAttr(el, 'v-for'))) {\n var res = parseFor(exp);\n if (res) {\n extend(el, res);\n } else if (false) {\n warn$2(\n (\"Invalid v-for expression: \" + exp)\n );\n }\n }\n}\n\n\n\nfunction parseFor (exp) {\n var inMatch = exp.match(forAliasRE);\n if (!inMatch) { return }\n var res = {};\n res.for = inMatch[2].trim();\n var alias = inMatch[1].trim().replace(stripParensRE, '');\n var iteratorMatch = alias.match(forIteratorRE);\n if (iteratorMatch) {\n res.alias = alias.replace(forIteratorRE, '');\n res.iterator1 = iteratorMatch[1].trim();\n if (iteratorMatch[2]) {\n res.iterator2 = iteratorMatch[2].trim();\n }\n } else {\n res.alias = alias;\n }\n return res\n}\n\nfunction processIf (el) {\n var exp = getAndRemoveAttr(el, 'v-if');\n if (exp) {\n el.if = exp;\n addIfCondition(el, {\n exp: exp,\n block: el\n });\n } else {\n if (getAndRemoveAttr(el, 'v-else') != null) {\n el.else = true;\n }\n var elseif = getAndRemoveAttr(el, 'v-else-if');\n if (elseif) {\n el.elseif = elseif;\n }\n }\n}\n\nfunction processIfConditions (el, parent) {\n var prev = findPrevElement(parent.children);\n if (prev && prev.if) {\n addIfCondition(prev, {\n exp: el.elseif,\n block: el\n });\n } else if (false) {\n warn$2(\n \"v-\" + (el.elseif ? ('else-if=\"' + el.elseif + '\"') : 'else') + \" \" +\n \"used on element <\" + (el.tag) + \"> without corresponding v-if.\"\n );\n }\n}\n\nfunction findPrevElement (children) {\n var i = children.length;\n while (i--) {\n if (children[i].type === 1) {\n return children[i]\n } else {\n if (false) {\n warn$2(\n \"text \\\"\" + (children[i].text.trim()) + \"\\\" between v-if and v-else(-if) \" +\n \"will be ignored.\"\n );\n }\n children.pop();\n }\n }\n}\n\nfunction addIfCondition (el, condition) {\n if (!el.ifConditions) {\n el.ifConditions = [];\n }\n el.ifConditions.push(condition);\n}\n\nfunction processOnce (el) {\n var once$$1 = getAndRemoveAttr(el, 'v-once');\n if (once$$1 != null) {\n el.once = true;\n }\n}\n\nfunction processSlot (el) {\n if (el.tag === 'slot') {\n el.slotName = getBindingAttr(el, 'name');\n if (false) {\n warn$2(\n \"`key` does not work on <slot> because slots are abstract outlets \" +\n \"and can possibly expand into multiple elements. \" +\n \"Use the key on a wrapping element instead.\"\n );\n }\n } else {\n var slotScope;\n if (el.tag === 'template') {\n slotScope = getAndRemoveAttr(el, 'scope');\n /* istanbul ignore if */\n if (false) {\n warn$2(\n \"the \\\"scope\\\" attribute for scoped slots have been deprecated and \" +\n \"replaced by \\\"slot-scope\\\" since 2.5. The new \\\"slot-scope\\\" attribute \" +\n \"can also be used on plain elements in addition to <template> to \" +\n \"denote scoped slots.\",\n true\n );\n }\n el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope');\n } else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) {\n /* istanbul ignore if */\n if (false) {\n warn$2(\n \"Ambiguous combined usage of slot-scope and v-for on <\" + (el.tag) + \"> \" +\n \"(v-for takes higher priority). Use a wrapper <template> for the \" +\n \"scoped slot to make it clearer.\",\n true\n );\n }\n el.slotScope = slotScope;\n }\n var slotTarget = getBindingAttr(el, 'slot');\n if (slotTarget) {\n el.slotTarget = slotTarget === '\"\"' ? '\"default\"' : slotTarget;\n // preserve slot as an attribute for native shadow DOM compat\n // only for non-scoped slots.\n if (el.tag !== 'template' && !el.slotScope) {\n addAttr(el, 'slot', slotTarget);\n }\n }\n }\n}\n\nfunction processComponent (el) {\n var binding;\n if ((binding = getBindingAttr(el, 'is'))) {\n el.component = binding;\n }\n if (getAndRemoveAttr(el, 'inline-template') != null) {\n el.inlineTemplate = true;\n }\n}\n\nfunction processAttrs (el) {\n var list = el.attrsList;\n var i, l, name, rawName, value, modifiers, isProp;\n for (i = 0, l = list.length; i < l; i++) {\n name = rawName = list[i].name;\n value = list[i].value;\n if (dirRE.test(name)) {\n // mark element as dynamic\n el.hasBindings = true;\n // modifiers\n modifiers = parseModifiers(name);\n if (modifiers) {\n name = name.replace(modifierRE, '');\n }\n if (bindRE.test(name)) { // v-bind\n name = name.replace(bindRE, '');\n value = parseFilters(value);\n isProp = false;\n if (modifiers) {\n if (modifiers.prop) {\n isProp = true;\n name = camelize(name);\n if (name === 'innerHtml') { name = 'innerHTML'; }\n }\n if (modifiers.camel) {\n name = camelize(name);\n }\n if (modifiers.sync) {\n addHandler(\n el,\n (\"update:\" + (camelize(name))),\n genAssignmentCode(value, \"$event\")\n );\n }\n }\n if (isProp || (\n !el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)\n )) {\n addProp(el, name, value);\n } else {\n addAttr(el, name, value);\n }\n } else if (onRE.test(name)) { // v-on\n name = name.replace(onRE, '');\n addHandler(el, name, value, modifiers, false, warn$2);\n } else { // normal directives\n name = name.replace(dirRE, '');\n // parse arg\n var argMatch = name.match(argRE);\n var arg = argMatch && argMatch[1];\n if (arg) {\n name = name.slice(0, -(arg.length + 1));\n }\n addDirective(el, name, rawName, value, arg, modifiers);\n if (false) {\n checkForAliasModel(el, value);\n }\n }\n } else {\n // literal attribute\n if (false) {\n var res = parseText(value, delimiters);\n if (res) {\n warn$2(\n name + \"=\\\"\" + value + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div id=\"{{ val }}\">, use <div :id=\"val\">.'\n );\n }\n }\n addAttr(el, name, JSON.stringify(value));\n // #6887 firefox doesn't update muted state if set via attribute\n // even immediately after element creation\n if (!el.component &&\n name === 'muted' &&\n platformMustUseProp(el.tag, el.attrsMap.type, name)) {\n addProp(el, name, 'true');\n }\n }\n }\n}\n\nfunction checkInFor (el) {\n var parent = el;\n while (parent) {\n if (parent.for !== undefined) {\n return true\n }\n parent = parent.parent;\n }\n return false\n}\n\nfunction parseModifiers (name) {\n var match = name.match(modifierRE);\n if (match) {\n var ret = {};\n match.forEach(function (m) { ret[m.slice(1)] = true; });\n return ret\n }\n}\n\nfunction makeAttrsMap (attrs) {\n var map = {};\n for (var i = 0, l = attrs.length; i < l; i++) {\n if (\n false\n ) {\n warn$2('duplicate attribute: ' + attrs[i].name);\n }\n map[attrs[i].name] = attrs[i].value;\n }\n return map\n}\n\n// for script (e.g. type=\"x/template\") or style, do not decode content\nfunction isTextTag (el) {\n return el.tag === 'script' || el.tag === 'style'\n}\n\nfunction isForbiddenTag (el) {\n return (\n el.tag === 'style' ||\n (el.tag === 'script' && (\n !el.attrsMap.type ||\n el.attrsMap.type === 'text/javascript'\n ))\n )\n}\n\nvar ieNSBug = /^xmlns:NS\\d+/;\nvar ieNSPrefix = /^NS\\d+:/;\n\n/* istanbul ignore next */\nfunction guardIESVGBug (attrs) {\n var res = [];\n for (var i = 0; i < attrs.length; i++) {\n var attr = attrs[i];\n if (!ieNSBug.test(attr.name)) {\n attr.name = attr.name.replace(ieNSPrefix, '');\n res.push(attr);\n }\n }\n return res\n}\n\nfunction checkForAliasModel (el, value) {\n var _el = el;\n while (_el) {\n if (_el.for && _el.alias === value) {\n warn$2(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"You are binding v-model directly to a v-for iteration alias. \" +\n \"This will not be able to modify the v-for source array because \" +\n \"writing to the alias is like modifying a function local variable. \" +\n \"Consider using an array of objects and use v-model on an object property instead.\"\n );\n }\n _el = _el.parent;\n }\n}\n\n/* */\n\n/**\n * Expand input[v-model] with dyanmic type bindings into v-if-else chains\n * Turn this:\n * <input v-model=\"data[type]\" :type=\"type\">\n * into this:\n * <input v-if=\"type === 'checkbox'\" type=\"checkbox\" v-model=\"data[type]\">\n * <input v-else-if=\"type === 'radio'\" type=\"radio\" v-model=\"data[type]\">\n * <input v-else :type=\"type\" v-model=\"data[type]\">\n */\n\nfunction preTransformNode (el, options) {\n if (el.tag === 'input') {\n var map = el.attrsMap;\n if (!map['v-model']) {\n return\n }\n\n var typeBinding;\n if (map[':type'] || map['v-bind:type']) {\n typeBinding = getBindingAttr(el, 'type');\n }\n if (!map.type && !typeBinding && map['v-bind']) {\n typeBinding = \"(\" + (map['v-bind']) + \").type\";\n }\n\n if (typeBinding) {\n var ifCondition = getAndRemoveAttr(el, 'v-if', true);\n var ifConditionExtra = ifCondition ? (\"&&(\" + ifCondition + \")\") : \"\";\n var hasElse = getAndRemoveAttr(el, 'v-else', true) != null;\n var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true);\n // 1. checkbox\n var branch0 = cloneASTElement(el);\n // process for on the main node\n processFor(branch0);\n addRawAttr(branch0, 'type', 'checkbox');\n processElement(branch0, options);\n branch0.processed = true; // prevent it from double-processed\n branch0.if = \"(\" + typeBinding + \")==='checkbox'\" + ifConditionExtra;\n addIfCondition(branch0, {\n exp: branch0.if,\n block: branch0\n });\n // 2. add radio else-if condition\n var branch1 = cloneASTElement(el);\n getAndRemoveAttr(branch1, 'v-for', true);\n addRawAttr(branch1, 'type', 'radio');\n processElement(branch1, options);\n addIfCondition(branch0, {\n exp: \"(\" + typeBinding + \")==='radio'\" + ifConditionExtra,\n block: branch1\n });\n // 3. other\n var branch2 = cloneASTElement(el);\n getAndRemoveAttr(branch2, 'v-for', true);\n addRawAttr(branch2, ':type', typeBinding);\n processElement(branch2, options);\n addIfCondition(branch0, {\n exp: ifCondition,\n block: branch2\n });\n\n if (hasElse) {\n branch0.else = true;\n } else if (elseIfCondition) {\n branch0.elseif = elseIfCondition;\n }\n\n return branch0\n }\n }\n}\n\nfunction cloneASTElement (el) {\n return createASTElement(el.tag, el.attrsList.slice(), el.parent)\n}\n\nvar model$2 = {\n preTransformNode: preTransformNode\n}\n\nvar modules$1 = [\n klass$1,\n style$1,\n model$2\n]\n\n/* */\n\nfunction text (el, dir) {\n if (dir.value) {\n addProp(el, 'textContent', (\"_s(\" + (dir.value) + \")\"));\n }\n}\n\n/* */\n\nfunction html (el, dir) {\n if (dir.value) {\n addProp(el, 'innerHTML', (\"_s(\" + (dir.value) + \")\"));\n }\n}\n\nvar directives$1 = {\n model: model,\n text: text,\n html: html\n}\n\n/* */\n\nvar baseOptions = {\n expectHTML: true,\n modules: modules$1,\n directives: directives$1,\n isPreTag: isPreTag,\n isUnaryTag: isUnaryTag,\n mustUseProp: mustUseProp,\n canBeLeftOpenTag: canBeLeftOpenTag,\n isReservedTag: isReservedTag,\n getTagNamespace: getTagNamespace,\n staticKeys: genStaticKeys(modules$1)\n};\n\n/* */\n\nvar isStaticKey;\nvar isPlatformReservedTag;\n\nvar genStaticKeysCached = cached(genStaticKeys$1);\n\n/**\n * Goal of the optimizer: walk the generated template AST tree\n * and detect sub-trees that are purely static, i.e. parts of\n * the DOM that never needs to change.\n *\n * Once we detect these sub-trees, we can:\n *\n * 1. Hoist them into constants, so that we no longer need to\n * create fresh nodes for them on each re-render;\n * 2. Completely skip them in the patching process.\n */\nfunction optimize (root, options) {\n if (!root) { return }\n isStaticKey = genStaticKeysCached(options.staticKeys || '');\n isPlatformReservedTag = options.isReservedTag || no;\n // first pass: mark all non-static nodes.\n markStatic$1(root);\n // second pass: mark static roots.\n markStaticRoots(root, false);\n}\n\nfunction genStaticKeys$1 (keys) {\n return makeMap(\n 'type,tag,attrsList,attrsMap,plain,parent,children,attrs' +\n (keys ? ',' + keys : '')\n )\n}\n\nfunction markStatic$1 (node) {\n node.static = isStatic(node);\n if (node.type === 1) {\n // do not make component slot content static. this avoids\n // 1. components not able to mutate slot nodes\n // 2. static slot content fails for hot-reloading\n if (\n !isPlatformReservedTag(node.tag) &&\n node.tag !== 'slot' &&\n node.attrsMap['inline-template'] == null\n ) {\n return\n }\n for (var i = 0, l = node.children.length; i < l; i++) {\n var child = node.children[i];\n markStatic$1(child);\n if (!child.static) {\n node.static = false;\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n var block = node.ifConditions[i$1].block;\n markStatic$1(block);\n if (!block.static) {\n node.static = false;\n }\n }\n }\n }\n}\n\nfunction markStaticRoots (node, isInFor) {\n if (node.type === 1) {\n if (node.static || node.once) {\n node.staticInFor = isInFor;\n }\n // For a node to qualify as a static root, it should have children that\n // are not just static text. Otherwise the cost of hoisting out will\n // outweigh the benefits and it's better off to just always render it fresh.\n if (node.static && node.children.length && !(\n node.children.length === 1 &&\n node.children[0].type === 3\n )) {\n node.staticRoot = true;\n return\n } else {\n node.staticRoot = false;\n }\n if (node.children) {\n for (var i = 0, l = node.children.length; i < l; i++) {\n markStaticRoots(node.children[i], isInFor || !!node.for);\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n markStaticRoots(node.ifConditions[i$1].block, isInFor);\n }\n }\n }\n}\n\nfunction isStatic (node) {\n if (node.type === 2) { // expression\n return false\n }\n if (node.type === 3) { // text\n return true\n }\n return !!(node.pre || (\n !node.hasBindings && // no dynamic bindings\n !node.if && !node.for && // not v-if or v-for or v-else\n !isBuiltInTag(node.tag) && // not a built-in\n isPlatformReservedTag(node.tag) && // not a component\n !isDirectChildOfTemplateFor(node) &&\n Object.keys(node).every(isStaticKey)\n ))\n}\n\nfunction isDirectChildOfTemplateFor (node) {\n while (node.parent) {\n node = node.parent;\n if (node.tag !== 'template') {\n return false\n }\n if (node.for) {\n return true\n }\n }\n return false\n}\n\n/* */\n\nvar fnExpRE = /^([\\w$_]+|\\([^)]*?\\))\\s*=>|^function\\s*\\(/;\nvar simplePathRE = /^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\['[^']*?']|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/;\n\n// KeyboardEvent.keyCode aliases\nvar keyCodes = {\n esc: 27,\n tab: 9,\n enter: 13,\n space: 32,\n up: 38,\n left: 37,\n right: 39,\n down: 40,\n 'delete': [8, 46]\n};\n\n// KeyboardEvent.key aliases\nvar keyNames = {\n esc: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: ' ',\n // #7806: IE11 uses key names without `Arrow` prefix for arrow keys.\n up: ['Up', 'ArrowUp'],\n left: ['Left', 'ArrowLeft'],\n right: ['Right', 'ArrowRight'],\n down: ['Down', 'ArrowDown'],\n 'delete': ['Backspace', 'Delete']\n};\n\n// #4868: modifiers that prevent the execution of the listener\n// need to explicitly return null so that we can determine whether to remove\n// the listener for .once\nvar genGuard = function (condition) { return (\"if(\" + condition + \")return null;\"); };\n\nvar modifierCode = {\n stop: '$event.stopPropagation();',\n prevent: '$event.preventDefault();',\n self: genGuard(\"$event.target !== $event.currentTarget\"),\n ctrl: genGuard(\"!$event.ctrlKey\"),\n shift: genGuard(\"!$event.shiftKey\"),\n alt: genGuard(\"!$event.altKey\"),\n meta: genGuard(\"!$event.metaKey\"),\n left: genGuard(\"'button' in $event && $event.button !== 0\"),\n middle: genGuard(\"'button' in $event && $event.button !== 1\"),\n right: genGuard(\"'button' in $event && $event.button !== 2\")\n};\n\nfunction genHandlers (\n events,\n isNative,\n warn\n) {\n var res = isNative ? 'nativeOn:{' : 'on:{';\n for (var name in events) {\n res += \"\\\"\" + name + \"\\\":\" + (genHandler(name, events[name])) + \",\";\n }\n return res.slice(0, -1) + '}'\n}\n\nfunction genHandler (\n name,\n handler\n) {\n if (!handler) {\n return 'function(){}'\n }\n\n if (Array.isArray(handler)) {\n return (\"[\" + (handler.map(function (handler) { return genHandler(name, handler); }).join(',')) + \"]\")\n }\n\n var isMethodPath = simplePathRE.test(handler.value);\n var isFunctionExpression = fnExpRE.test(handler.value);\n\n if (!handler.modifiers) {\n if (isMethodPath || isFunctionExpression) {\n return handler.value\n }\n /* istanbul ignore if */\n return (\"function($event){\" + (handler.value) + \"}\") // inline statement\n } else {\n var code = '';\n var genModifierCode = '';\n var keys = [];\n for (var key in handler.modifiers) {\n if (modifierCode[key]) {\n genModifierCode += modifierCode[key];\n // left/right\n if (keyCodes[key]) {\n keys.push(key);\n }\n } else if (key === 'exact') {\n var modifiers = (handler.modifiers);\n genModifierCode += genGuard(\n ['ctrl', 'shift', 'alt', 'meta']\n .filter(function (keyModifier) { return !modifiers[keyModifier]; })\n .map(function (keyModifier) { return (\"$event.\" + keyModifier + \"Key\"); })\n .join('||')\n );\n } else {\n keys.push(key);\n }\n }\n if (keys.length) {\n code += genKeyFilter(keys);\n }\n // Make sure modifiers like prevent and stop get executed after key filtering\n if (genModifierCode) {\n code += genModifierCode;\n }\n var handlerCode = isMethodPath\n ? (\"return \" + (handler.value) + \"($event)\")\n : isFunctionExpression\n ? (\"return (\" + (handler.value) + \")($event)\")\n : handler.value;\n /* istanbul ignore if */\n return (\"function($event){\" + code + handlerCode + \"}\")\n }\n}\n\nfunction genKeyFilter (keys) {\n return (\"if(!('button' in $event)&&\" + (keys.map(genFilterCode).join('&&')) + \")return null;\")\n}\n\nfunction genFilterCode (key) {\n var keyVal = parseInt(key, 10);\n if (keyVal) {\n return (\"$event.keyCode!==\" + keyVal)\n }\n var keyCode = keyCodes[key];\n var keyName = keyNames[key];\n return (\n \"_k($event.keyCode,\" +\n (JSON.stringify(key)) + \",\" +\n (JSON.stringify(keyCode)) + \",\" +\n \"$event.key,\" +\n \"\" + (JSON.stringify(keyName)) +\n \")\"\n )\n}\n\n/* */\n\nfunction on (el, dir) {\n if (false) {\n warn(\"v-on without argument does not support modifiers.\");\n }\n el.wrapListeners = function (code) { return (\"_g(\" + code + \",\" + (dir.value) + \")\"); };\n}\n\n/* */\n\nfunction bind$1 (el, dir) {\n el.wrapData = function (code) {\n return (\"_b(\" + code + \",'\" + (el.tag) + \"',\" + (dir.value) + \",\" + (dir.modifiers && dir.modifiers.prop ? 'true' : 'false') + (dir.modifiers && dir.modifiers.sync ? ',true' : '') + \")\")\n };\n}\n\n/* */\n\nvar baseDirectives = {\n on: on,\n bind: bind$1,\n cloak: noop\n}\n\n/* */\n\nvar CodegenState = function CodegenState (options) {\n this.options = options;\n this.warn = options.warn || baseWarn;\n this.transforms = pluckModuleFunction(options.modules, 'transformCode');\n this.dataGenFns = pluckModuleFunction(options.modules, 'genData');\n this.directives = extend(extend({}, baseDirectives), options.directives);\n var isReservedTag = options.isReservedTag || no;\n this.maybeComponent = function (el) { return !isReservedTag(el.tag); };\n this.onceId = 0;\n this.staticRenderFns = [];\n};\n\n\n\nfunction generate (\n ast,\n options\n) {\n var state = new CodegenState(options);\n var code = ast ? genElement(ast, state) : '_c(\"div\")';\n return {\n render: (\"with(this){return \" + code + \"}\"),\n staticRenderFns: state.staticRenderFns\n }\n}\n\nfunction genElement (el, state) {\n if (el.staticRoot && !el.staticProcessed) {\n return genStatic(el, state)\n } else if (el.once && !el.onceProcessed) {\n return genOnce(el, state)\n } else if (el.for && !el.forProcessed) {\n return genFor(el, state)\n } else if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.tag === 'template' && !el.slotTarget) {\n return genChildren(el, state) || 'void 0'\n } else if (el.tag === 'slot') {\n return genSlot(el, state)\n } else {\n // component or element\n var code;\n if (el.component) {\n code = genComponent(el.component, el, state);\n } else {\n var data = el.plain ? undefined : genData$2(el, state);\n\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n code = \"_c('\" + (el.tag) + \"'\" + (data ? (\",\" + data) : '') + (children ? (\",\" + children) : '') + \")\";\n }\n // module transforms\n for (var i = 0; i < state.transforms.length; i++) {\n code = state.transforms[i](el, code);\n }\n return code\n }\n}\n\n// hoist static sub-trees out\nfunction genStatic (el, state) {\n el.staticProcessed = true;\n state.staticRenderFns.push((\"with(this){return \" + (genElement(el, state)) + \"}\"));\n return (\"_m(\" + (state.staticRenderFns.length - 1) + (el.staticInFor ? ',true' : '') + \")\")\n}\n\n// v-once\nfunction genOnce (el, state) {\n el.onceProcessed = true;\n if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.staticInFor) {\n var key = '';\n var parent = el.parent;\n while (parent) {\n if (parent.for) {\n key = parent.key;\n break\n }\n parent = parent.parent;\n }\n if (!key) {\n \"production\" !== 'production' && state.warn(\n \"v-once can only be used inside v-for that is keyed. \"\n );\n return genElement(el, state)\n }\n return (\"_o(\" + (genElement(el, state)) + \",\" + (state.onceId++) + \",\" + key + \")\")\n } else {\n return genStatic(el, state)\n }\n}\n\nfunction genIf (\n el,\n state,\n altGen,\n altEmpty\n) {\n el.ifProcessed = true; // avoid recursion\n return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty)\n}\n\nfunction genIfConditions (\n conditions,\n state,\n altGen,\n altEmpty\n) {\n if (!conditions.length) {\n return altEmpty || '_e()'\n }\n\n var condition = conditions.shift();\n if (condition.exp) {\n return (\"(\" + (condition.exp) + \")?\" + (genTernaryExp(condition.block)) + \":\" + (genIfConditions(conditions, state, altGen, altEmpty)))\n } else {\n return (\"\" + (genTernaryExp(condition.block)))\n }\n\n // v-if with v-once should generate code like (a)?_m(0):_m(1)\n function genTernaryExp (el) {\n return altGen\n ? altGen(el, state)\n : el.once\n ? genOnce(el, state)\n : genElement(el, state)\n }\n}\n\nfunction genFor (\n el,\n state,\n altGen,\n altHelper\n) {\n var exp = el.for;\n var alias = el.alias;\n var iterator1 = el.iterator1 ? (\",\" + (el.iterator1)) : '';\n var iterator2 = el.iterator2 ? (\",\" + (el.iterator2)) : '';\n\n if (false\n ) {\n state.warn(\n \"<\" + (el.tag) + \" v-for=\\\"\" + alias + \" in \" + exp + \"\\\">: component lists rendered with \" +\n \"v-for should have explicit keys. \" +\n \"See https://vuejs.org/guide/list.html#key for more info.\",\n true /* tip */\n );\n }\n\n el.forProcessed = true; // avoid recursion\n return (altHelper || '_l') + \"((\" + exp + \"),\" +\n \"function(\" + alias + iterator1 + iterator2 + \"){\" +\n \"return \" + ((altGen || genElement)(el, state)) +\n '})'\n}\n\nfunction genData$2 (el, state) {\n var data = '{';\n\n // directives first.\n // directives may mutate the el's other properties before they are generated.\n var dirs = genDirectives(el, state);\n if (dirs) { data += dirs + ','; }\n\n // key\n if (el.key) {\n data += \"key:\" + (el.key) + \",\";\n }\n // ref\n if (el.ref) {\n data += \"ref:\" + (el.ref) + \",\";\n }\n if (el.refInFor) {\n data += \"refInFor:true,\";\n }\n // pre\n if (el.pre) {\n data += \"pre:true,\";\n }\n // record original tag name for components using \"is\" attribute\n if (el.component) {\n data += \"tag:\\\"\" + (el.tag) + \"\\\",\";\n }\n // module data generation functions\n for (var i = 0; i < state.dataGenFns.length; i++) {\n data += state.dataGenFns[i](el);\n }\n // attributes\n if (el.attrs) {\n data += \"attrs:{\" + (genProps(el.attrs)) + \"},\";\n }\n // DOM props\n if (el.props) {\n data += \"domProps:{\" + (genProps(el.props)) + \"},\";\n }\n // event handlers\n if (el.events) {\n data += (genHandlers(el.events, false, state.warn)) + \",\";\n }\n if (el.nativeEvents) {\n data += (genHandlers(el.nativeEvents, true, state.warn)) + \",\";\n }\n // slot target\n // only for non-scoped slots\n if (el.slotTarget && !el.slotScope) {\n data += \"slot:\" + (el.slotTarget) + \",\";\n }\n // scoped slots\n if (el.scopedSlots) {\n data += (genScopedSlots(el.scopedSlots, state)) + \",\";\n }\n // component v-model\n if (el.model) {\n data += \"model:{value:\" + (el.model.value) + \",callback:\" + (el.model.callback) + \",expression:\" + (el.model.expression) + \"},\";\n }\n // inline-template\n if (el.inlineTemplate) {\n var inlineTemplate = genInlineTemplate(el, state);\n if (inlineTemplate) {\n data += inlineTemplate + \",\";\n }\n }\n data = data.replace(/,$/, '') + '}';\n // v-bind data wrap\n if (el.wrapData) {\n data = el.wrapData(data);\n }\n // v-on data wrap\n if (el.wrapListeners) {\n data = el.wrapListeners(data);\n }\n return data\n}\n\nfunction genDirectives (el, state) {\n var dirs = el.directives;\n if (!dirs) { return }\n var res = 'directives:[';\n var hasRuntime = false;\n var i, l, dir, needRuntime;\n for (i = 0, l = dirs.length; i < l; i++) {\n dir = dirs[i];\n needRuntime = true;\n var gen = state.directives[dir.name];\n if (gen) {\n // compile-time directive that manipulates AST.\n // returns true if it also needs a runtime counterpart.\n needRuntime = !!gen(el, dir, state.warn);\n }\n if (needRuntime) {\n hasRuntime = true;\n res += \"{name:\\\"\" + (dir.name) + \"\\\",rawName:\\\"\" + (dir.rawName) + \"\\\"\" + (dir.value ? (\",value:(\" + (dir.value) + \"),expression:\" + (JSON.stringify(dir.value))) : '') + (dir.arg ? (\",arg:\\\"\" + (dir.arg) + \"\\\"\") : '') + (dir.modifiers ? (\",modifiers:\" + (JSON.stringify(dir.modifiers))) : '') + \"},\";\n }\n }\n if (hasRuntime) {\n return res.slice(0, -1) + ']'\n }\n}\n\nfunction genInlineTemplate (el, state) {\n var ast = el.children[0];\n if (false) {\n state.warn('Inline-template components must have exactly one child element.');\n }\n if (ast.type === 1) {\n var inlineRenderFns = generate(ast, state.options);\n return (\"inlineTemplate:{render:function(){\" + (inlineRenderFns.render) + \"},staticRenderFns:[\" + (inlineRenderFns.staticRenderFns.map(function (code) { return (\"function(){\" + code + \"}\"); }).join(',')) + \"]}\")\n }\n}\n\nfunction genScopedSlots (\n slots,\n state\n) {\n return (\"scopedSlots:_u([\" + (Object.keys(slots).map(function (key) {\n return genScopedSlot(key, slots[key], state)\n }).join(',')) + \"])\")\n}\n\nfunction genScopedSlot (\n key,\n el,\n state\n) {\n if (el.for && !el.forProcessed) {\n return genForScopedSlot(key, el, state)\n }\n var fn = \"function(\" + (String(el.slotScope)) + \"){\" +\n \"return \" + (el.tag === 'template'\n ? el.if\n ? ((el.if) + \"?\" + (genChildren(el, state) || 'undefined') + \":undefined\")\n : genChildren(el, state) || 'undefined'\n : genElement(el, state)) + \"}\";\n return (\"{key:\" + key + \",fn:\" + fn + \"}\")\n}\n\nfunction genForScopedSlot (\n key,\n el,\n state\n) {\n var exp = el.for;\n var alias = el.alias;\n var iterator1 = el.iterator1 ? (\",\" + (el.iterator1)) : '';\n var iterator2 = el.iterator2 ? (\",\" + (el.iterator2)) : '';\n el.forProcessed = true; // avoid recursion\n return \"_l((\" + exp + \"),\" +\n \"function(\" + alias + iterator1 + iterator2 + \"){\" +\n \"return \" + (genScopedSlot(key, el, state)) +\n '})'\n}\n\nfunction genChildren (\n el,\n state,\n checkSkip,\n altGenElement,\n altGenNode\n) {\n var children = el.children;\n if (children.length) {\n var el$1 = children[0];\n // optimize single v-for\n if (children.length === 1 &&\n el$1.for &&\n el$1.tag !== 'template' &&\n el$1.tag !== 'slot'\n ) {\n return (altGenElement || genElement)(el$1, state)\n }\n var normalizationType = checkSkip\n ? getNormalizationType(children, state.maybeComponent)\n : 0;\n var gen = altGenNode || genNode;\n return (\"[\" + (children.map(function (c) { return gen(c, state); }).join(',')) + \"]\" + (normalizationType ? (\",\" + normalizationType) : ''))\n }\n}\n\n// determine the normalization needed for the children array.\n// 0: no normalization needed\n// 1: simple normalization needed (possible 1-level deep nested array)\n// 2: full normalization needed\nfunction getNormalizationType (\n children,\n maybeComponent\n) {\n var res = 0;\n for (var i = 0; i < children.length; i++) {\n var el = children[i];\n if (el.type !== 1) {\n continue\n }\n if (needsNormalization(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) {\n res = 2;\n break\n }\n if (maybeComponent(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) {\n res = 1;\n }\n }\n return res\n}\n\nfunction needsNormalization (el) {\n return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'\n}\n\nfunction genNode (node, state) {\n if (node.type === 1) {\n return genElement(node, state)\n } if (node.type === 3 && node.isComment) {\n return genComment(node)\n } else {\n return genText(node)\n }\n}\n\nfunction genText (text) {\n return (\"_v(\" + (text.type === 2\n ? text.expression // no need for () because already wrapped in _s()\n : transformSpecialNewlines(JSON.stringify(text.text))) + \")\")\n}\n\nfunction genComment (comment) {\n return (\"_e(\" + (JSON.stringify(comment.text)) + \")\")\n}\n\nfunction genSlot (el, state) {\n var slotName = el.slotName || '\"default\"';\n var children = genChildren(el, state);\n var res = \"_t(\" + slotName + (children ? (\",\" + children) : '');\n var attrs = el.attrs && (\"{\" + (el.attrs.map(function (a) { return ((camelize(a.name)) + \":\" + (a.value)); }).join(',')) + \"}\");\n var bind$$1 = el.attrsMap['v-bind'];\n if ((attrs || bind$$1) && !children) {\n res += \",null\";\n }\n if (attrs) {\n res += \",\" + attrs;\n }\n if (bind$$1) {\n res += (attrs ? '' : ',null') + \",\" + bind$$1;\n }\n return res + ')'\n}\n\n// componentName is el.component, take it as argument to shun flow's pessimistic refinement\nfunction genComponent (\n componentName,\n el,\n state\n) {\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n return (\"_c(\" + componentName + \",\" + (genData$2(el, state)) + (children ? (\",\" + children) : '') + \")\")\n}\n\nfunction genProps (props) {\n var res = '';\n for (var i = 0; i < props.length; i++) {\n var prop = props[i];\n /* istanbul ignore if */\n {\n res += \"\\\"\" + (prop.name) + \"\\\":\" + (transformSpecialNewlines(prop.value)) + \",\";\n }\n }\n return res.slice(0, -1)\n}\n\n// #3895, #4268\nfunction transformSpecialNewlines (text) {\n return text\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n}\n\n/* */\n\n// these keywords should not appear inside expressions, but operators like\n// typeof, instanceof and in are allowed\nvar prohibitedKeywordRE = new RegExp('\\\\b' + (\n 'do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +\n 'super,throw,while,yield,delete,export,import,return,switch,default,' +\n 'extends,finally,continue,debugger,function,arguments'\n).split(',').join('\\\\b|\\\\b') + '\\\\b');\n\n// these unary operators should not be used as property/method names\nvar unaryOperatorsRE = new RegExp('\\\\b' + (\n 'delete,typeof,void'\n).split(',').join('\\\\s*\\\\([^\\\\)]*\\\\)|\\\\b') + '\\\\s*\\\\([^\\\\)]*\\\\)');\n\n// strip strings in expressions\nvar stripStringRE = /'(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"|`(?:[^`\\\\]|\\\\.)*\\$\\{|\\}(?:[^`\\\\]|\\\\.)*`|`(?:[^`\\\\]|\\\\.)*`/g;\n\n// detect problematic expressions in a template\nfunction detectErrors (ast) {\n var errors = [];\n if (ast) {\n checkNode(ast, errors);\n }\n return errors\n}\n\nfunction checkNode (node, errors) {\n if (node.type === 1) {\n for (var name in node.attrsMap) {\n if (dirRE.test(name)) {\n var value = node.attrsMap[name];\n if (value) {\n if (name === 'v-for') {\n checkFor(node, (\"v-for=\\\"\" + value + \"\\\"\"), errors);\n } else if (onRE.test(name)) {\n checkEvent(value, (name + \"=\\\"\" + value + \"\\\"\"), errors);\n } else {\n checkExpression(value, (name + \"=\\\"\" + value + \"\\\"\"), errors);\n }\n }\n }\n }\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n checkNode(node.children[i], errors);\n }\n }\n } else if (node.type === 2) {\n checkExpression(node.expression, node.text, errors);\n }\n}\n\nfunction checkEvent (exp, text, errors) {\n var stipped = exp.replace(stripStringRE, '');\n var keywordMatch = stipped.match(unaryOperatorsRE);\n if (keywordMatch && stipped.charAt(keywordMatch.index - 1) !== '$') {\n errors.push(\n \"avoid using JavaScript unary operator as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\" in expression \" + (text.trim())\n );\n }\n checkExpression(exp, text, errors);\n}\n\nfunction checkFor (node, text, errors) {\n checkExpression(node.for || '', text, errors);\n checkIdentifier(node.alias, 'v-for alias', text, errors);\n checkIdentifier(node.iterator1, 'v-for iterator', text, errors);\n checkIdentifier(node.iterator2, 'v-for iterator', text, errors);\n}\n\nfunction checkIdentifier (\n ident,\n type,\n text,\n errors\n) {\n if (typeof ident === 'string') {\n try {\n new Function((\"var \" + ident + \"=_\"));\n } catch (e) {\n errors.push((\"invalid \" + type + \" \\\"\" + ident + \"\\\" in expression: \" + (text.trim())));\n }\n }\n}\n\nfunction checkExpression (exp, text, errors) {\n try {\n new Function((\"return \" + exp));\n } catch (e) {\n var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);\n if (keywordMatch) {\n errors.push(\n \"avoid using JavaScript keyword as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\"\\n Raw expression: \" + (text.trim())\n );\n } else {\n errors.push(\n \"invalid expression: \" + (e.message) + \" in\\n\\n\" +\n \" \" + exp + \"\\n\\n\" +\n \" Raw expression: \" + (text.trim()) + \"\\n\"\n );\n }\n }\n}\n\n/* */\n\nfunction createFunction (code, errors) {\n try {\n return new Function(code)\n } catch (err) {\n errors.push({ err: err, code: code });\n return noop\n }\n}\n\nfunction createCompileToFunctionFn (compile) {\n var cache = Object.create(null);\n\n return function compileToFunctions (\n template,\n options,\n vm\n ) {\n options = extend({}, options);\n var warn$$1 = options.warn || warn;\n delete options.warn;\n\n /* istanbul ignore if */\n if (false) {\n // detect possible CSP restriction\n try {\n new Function('return 1');\n } catch (e) {\n if (e.toString().match(/unsafe-eval|CSP/)) {\n warn$$1(\n 'It seems you are using the standalone build of Vue.js in an ' +\n 'environment with Content Security Policy that prohibits unsafe-eval. ' +\n 'The template compiler cannot work in this environment. Consider ' +\n 'relaxing the policy to allow unsafe-eval or pre-compiling your ' +\n 'templates into render functions.'\n );\n }\n }\n }\n\n // check cache\n var key = options.delimiters\n ? String(options.delimiters) + template\n : template;\n if (cache[key]) {\n return cache[key]\n }\n\n // compile\n var compiled = compile(template, options);\n\n // check compilation errors/tips\n if (false) {\n if (compiled.errors && compiled.errors.length) {\n warn$$1(\n \"Error compiling template:\\n\\n\" + template + \"\\n\\n\" +\n compiled.errors.map(function (e) { return (\"- \" + e); }).join('\\n') + '\\n',\n vm\n );\n }\n if (compiled.tips && compiled.tips.length) {\n compiled.tips.forEach(function (msg) { return tip(msg, vm); });\n }\n }\n\n // turn code into functions\n var res = {};\n var fnGenErrors = [];\n res.render = createFunction(compiled.render, fnGenErrors);\n res.staticRenderFns = compiled.staticRenderFns.map(function (code) {\n return createFunction(code, fnGenErrors)\n });\n\n // check function generation errors.\n // this should only happen if there is a bug in the compiler itself.\n // mostly for codegen development use\n /* istanbul ignore if */\n if (false) {\n if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) {\n warn$$1(\n \"Failed to generate render function:\\n\\n\" +\n fnGenErrors.map(function (ref) {\n var err = ref.err;\n var code = ref.code;\n\n return ((err.toString()) + \" in\\n\\n\" + code + \"\\n\");\n }).join('\\n'),\n vm\n );\n }\n }\n\n return (cache[key] = res)\n }\n}\n\n/* */\n\nfunction createCompilerCreator (baseCompile) {\n return function createCompiler (baseOptions) {\n function compile (\n template,\n options\n ) {\n var finalOptions = Object.create(baseOptions);\n var errors = [];\n var tips = [];\n finalOptions.warn = function (msg, tip) {\n (tip ? tips : errors).push(msg);\n };\n\n if (options) {\n // merge custom modules\n if (options.modules) {\n finalOptions.modules =\n (baseOptions.modules || []).concat(options.modules);\n }\n // merge custom directives\n if (options.directives) {\n finalOptions.directives = extend(\n Object.create(baseOptions.directives || null),\n options.directives\n );\n }\n // copy other options\n for (var key in options) {\n if (key !== 'modules' && key !== 'directives') {\n finalOptions[key] = options[key];\n }\n }\n }\n\n var compiled = baseCompile(template, finalOptions);\n if (false) {\n errors.push.apply(errors, detectErrors(compiled.ast));\n }\n compiled.errors = errors;\n compiled.tips = tips;\n return compiled\n }\n\n return {\n compile: compile,\n compileToFunctions: createCompileToFunctionFn(compile)\n }\n }\n}\n\n/* */\n\n// `createCompilerCreator` allows creating compilers that use alternative\n// parser/optimizer/codegen, e.g the SSR optimizing compiler.\n// Here we just export a default compiler using the default parts.\nvar createCompiler = createCompilerCreator(function baseCompile (\n template,\n options\n) {\n var ast = parse(template.trim(), options);\n if (options.optimize !== false) {\n optimize(ast, options);\n }\n var code = generate(ast, options);\n return {\n ast: ast,\n render: code.render,\n staticRenderFns: code.staticRenderFns\n }\n});\n\n/* */\n\nvar ref$1 = createCompiler(baseOptions);\nvar compileToFunctions = ref$1.compileToFunctions;\n\n/* */\n\n// check whether current browser encodes a char inside attribute values\nvar div;\nfunction getShouldDecode (href) {\n div = div || document.createElement('div');\n div.innerHTML = href ? \"<a href=\\\"\\n\\\"/>\" : \"<div a=\\\"\\n\\\"/>\";\n return div.innerHTML.indexOf('&#10;') > 0\n}\n\n// #3663: IE encodes newlines inside attribute values while other browsers don't\nvar shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false;\n// #6828: chrome encodes content in a[href]\nvar shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false;\n\n/* */\n\nvar idToTemplate = cached(function (id) {\n var el = query(id);\n return el && el.innerHTML\n});\n\nvar mount = Vue.prototype.$mount;\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && query(el);\n\n /* istanbul ignore if */\n if (el === document.body || el === document.documentElement) {\n \"production\" !== 'production' && warn(\n \"Do not mount Vue to <html> or <body> - mount to normal elements instead.\"\n );\n return this\n }\n\n var options = this.$options;\n // resolve template/el and convert to render function\n if (!options.render) {\n var template = options.template;\n if (template) {\n if (typeof template === 'string') {\n if (template.charAt(0) === '#') {\n template = idToTemplate(template);\n /* istanbul ignore if */\n if (false) {\n warn(\n (\"Template element not found or is empty: \" + (options.template)),\n this\n );\n }\n }\n } else if (template.nodeType) {\n template = template.innerHTML;\n } else {\n if (false) {\n warn('invalid template option:' + template, this);\n }\n return this\n }\n } else if (el) {\n template = getOuterHTML(el);\n }\n if (template) {\n /* istanbul ignore if */\n if (false) {\n mark('compile');\n }\n\n var ref = compileToFunctions(template, {\n shouldDecodeNewlines: shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref,\n delimiters: options.delimiters,\n comments: options.comments\n }, this);\n var render = ref.render;\n var staticRenderFns = ref.staticRenderFns;\n options.render = render;\n options.staticRenderFns = staticRenderFns;\n\n /* istanbul ignore if */\n if (false) {\n mark('compile end');\n measure((\"vue \" + (this._name) + \" compile\"), 'compile', 'compile end');\n }\n }\n }\n return mount.call(this, el, hydrating)\n};\n\n/**\n * Get outerHTML of elements, taking care\n * of SVG elements in IE as well.\n */\nfunction getOuterHTML (el) {\n if (el.outerHTML) {\n return el.outerHTML\n } else {\n var container = document.createElement('div');\n container.appendChild(el.cloneNode(true));\n return container.innerHTML\n }\n}\n\nVue.compile = compileToFunctions;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Vue);\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3), __webpack_require__(24).setImmediate))\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_axios__ = __webpack_require__(46);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_axios__);\n\n\nvar requestToken = document.getElementsByTagName('head')[0].getAttribute('data-requesttoken');\nvar tokenHeaders = { headers: { requesttoken: requestToken } };\n\nvar sanitize = function sanitize(url) {\n\treturn url.replace(/\\/$/, ''); // Remove last url slash\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\n\t/**\n * This Promise is used to chain a request that require an admin password confirmation\n * Since chaining Promise have a very precise behavior concerning catch and then,\n * you'll need to be careful when using it.\n * e.g\n * // store\n * \taction(context) {\n *\t\treturn api.requireAdmin().then((response) => {\n *\t\t\treturn api.get('url')\n *\t\t\t\t.then((response) => {API success})\n *\t\t\t\t.catch((error) => {API failure});\n *\t\t}).catch((error) => {requireAdmin failure});\n *\t}\n * // vue\n *\tthis.$store.dispatch('action').then(() => {always executed})\n *\n * Since Promise.then().catch().then() will always execute the last then\n * this.$store.dispatch('action').then will always be executed\n * \n * If you want requireAdmin failure to also catch the API request failure\n * you will need to throw a new error in the api.get.catch()\n * \n * e.g\n *\tapi.requireAdmin().then((response) => {\n *\t\tapi.get('url')\n *\t\t\t.then((response) => {API success})\n *\t\t\t.catch((error) => {throw error;});\n *\t}).catch((error) => {requireAdmin OR API failure});\n * \n * @returns {Promise}\n */\n\trequireAdmin: function requireAdmin() {\n\t\treturn new Promise(function (resolve, reject) {\n\t\t\t// TODO: migrate the OC.dialog to Vue and avoid this mess\n\t\t\t// wait for password confirmation\n\t\t\tvar passwordTimeout = void 0;\n\t\t\tvar waitForpassword = function waitForpassword() {\n\t\t\t\tif (OC.PasswordConfirmation.requiresPasswordConfirmation()) {\n\t\t\t\t\tpasswordTimeout = setTimeout(waitForpassword, 500);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tclearTimeout(passwordTimeout);\n\t\t\t\tclearTimeout(promiseTimeout);\n\t\t\t\tresolve();\n\t\t\t};\n\n\t\t\t// automatically reject after 5s if not resolved\n\t\t\tvar promiseTimeout = setTimeout(function () {\n\t\t\t\tclearTimeout(passwordTimeout);\n\t\t\t\t// close dialog\n\t\t\t\tif (document.getElementsByClassName('oc-dialog-close').length > 0) {\n\t\t\t\t\tdocument.getElementsByClassName('oc-dialog-close')[0].click();\n\t\t\t\t}\n\t\t\t\tOC.Notification.showTemporary(t('settings', 'You did not enter the password in time'));\n\t\t\t\treject('Password request cancelled');\n\t\t\t}, 7000);\n\n\t\t\t// request password\n\t\t\tOC.PasswordConfirmation.requirePasswordConfirmation();\n\t\t\twaitForpassword();\n\t\t});\n\t},\n\tget: function get(url) {\n\t\treturn __WEBPACK_IMPORTED_MODULE_0_axios___default.a.get(sanitize(url), tokenHeaders).then(function (response) {\n\t\t\treturn Promise.resolve(response);\n\t\t}).catch(function (error) {\n\t\t\treturn Promise.reject(error);\n\t\t});\n\t},\n\tpost: function post(url, data) {\n\t\treturn __WEBPACK_IMPORTED_MODULE_0_axios___default.a.post(sanitize(url), data, tokenHeaders).then(function (response) {\n\t\t\treturn Promise.resolve(response);\n\t\t}).catch(function (error) {\n\t\t\treturn Promise.reject(error);\n\t\t});\n\t},\n\tpatch: function patch(url, data) {\n\t\treturn __WEBPACK_IMPORTED_MODULE_0_axios___default.a.patch(sanitize(url), data, tokenHeaders).then(function (response) {\n\t\t\treturn Promise.resolve(response);\n\t\t}).catch(function (error) {\n\t\t\treturn Promise.reject(error);\n\t\t});\n\t},\n\tput: function put(url, data) {\n\t\treturn __WEBPACK_IMPORTED_MODULE_0_axios___default.a.put(sanitize(url), data, tokenHeaders).then(function (response) {\n\t\t\treturn Promise.resolve(response);\n\t\t}).catch(function (error) {\n\t\t\treturn Promise.reject(error);\n\t\t});\n\t},\n\tdelete: function _delete(url, data) {\n\t\treturn __WEBPACK_IMPORTED_MODULE_0_axios___default.a.delete(sanitize(url), { data: data, headers: tokenHeaders.headers }).then(function (response) {\n\t\t\treturn Promise.resolve(response);\n\t\t}).catch(function (error) {\n\t\t\treturn Promise.reject(error);\n\t\t});\n\t}\n});\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n!function(t,e){ true?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueMultiselect=e():t.VueMultiselect=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=66)}([function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){t.exports=!n(12)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(10),r=n(43),o=n(31),s=Object.defineProperty;e.f=n(1)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e,n){var i=n(77),r=n(21);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(9),r=n(52),o=n(18),s=n(55),u=n(53),a=function(t,e,n){var l,c,f,p,h=t&a.F,d=t&a.G,v=t&a.S,y=t&a.P,g=t&a.B,b=d?i:v?i[e]||(i[e]={}):(i[e]||{}).prototype,m=d?r:r[e]||(r[e]={}),_=m.prototype||(m.prototype={});d&&(n=e);for(l in n)c=!h&&b&&void 0!==b[l],f=(c?b:n)[l],p=g&&c?u(f,i):y&&\"function\"==typeof f?u(Function.call,f):f,b&&s(b,l,f,t&a.U),m[l]!=f&&o(m,l,p),y&&_[l]!=f&&(_[l]=f)};i.core=r,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e,n){var i=n(3),r=n(15);t.exports=n(1)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var i=n(29)(\"wks\"),r=n(16),o=n(0).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){var i=n(13);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(48),r=n(22);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e,n){var i=n(109),r=n(110);t.exports=n(35)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(8);t.exports=function(t,e){return!!t&&i(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e,n){var i=n(0),r=n(11),o=n(74),s=n(6),u=function(t,e,n){var a,l,c,f=t&u.F,p=t&u.G,h=t&u.S,d=t&u.P,v=t&u.B,y=t&u.W,g=p?r:r[e]||(r[e]={}),b=g.prototype,m=p?i:h?i[e]:(i[e]||{}).prototype;p&&(n=e);for(a in n)(l=!f&&m&&void 0!==m[a])&&a in g||(c=l?m[a]:n[a],g[a]=p&&\"function\"!=typeof m[a]?n[a]:v&&l?o(c,i):y&&m[a]==c?function(t){var e=function(e,n,i){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,i)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(c):d&&\"function\"==typeof c?o(Function.call,c):c,d&&((g.virtual||(g.virtual={}))[a]=c,t&u.R&&b&&!b[a]&&s(b,a,c)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e){t.exports={}},function(t,e){t.exports=!0},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var i=n(3).f,r=n(2),o=n(7)(\"toStringTag\");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(29)(\"keys\"),r=n(16);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(0),r=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});t.exports=function(t){return r[t]||(r[t]={})}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(13);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){var i=n(0),r=n(11),o=n(25),s=n(33),u=n(3).f;t.exports=function(t){var e=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});\"_\"==t.charAt(0)||t in e||u(e,t,{value:s.f(t)})}},function(t,e,n){e.f=n(7)},function(t,e,n){var i=n(53),r=n(36),o=n(57),s=n(37),u=n(104);t.exports=function(t,e){var n=1==t,a=2==t,l=3==t,c=4==t,f=6==t,p=5==t||f,h=e||u;return function(e,u,d){for(var v,y,g=o(e),b=r(g),m=i(u,d,3),_=s(b.length),x=0,w=n?h(e,_):a?h(e,0):void 0;_>x;x++)if((p||x in b)&&(v=b[x],y=m(v,x,g),t))if(n)w[x]=y;else if(y)switch(t){case 3:return!0;case 5:return v;case 6:return x;case 2:w.push(v)}else if(c)return!1;return f?-1:l||c?c:w}}},function(t,e,n){t.exports=!n(8)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(51);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e,n){var i=n(56),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(111)(\"wks\"),r=n(58),o=n(9).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e,n){\"use strict\";function i(t){return 0!==t&&(!(!Array.isArray(t)||0!==t.length)||!t)}function r(t){return function(){return!t.apply(void 0,arguments)}}function o(t,e){return void 0===t&&(t=\"undefined\"),null===t&&(t=\"null\"),!1===t&&(t=\"false\"),-1!==t.toString().toLowerCase().indexOf(e.trim())}function s(t,e,n,i){return t.filter(function(t){return o(i(t,n),e)})}function u(t){return t.filter(function(t){return!t.$isLabel})}function a(t,e){return function(n){return n.reduce(function(n,i){return i[t]&&i[t].length?(n.push({$groupLabel:i[e],$isLabel:!0}),n.concat(i[t])):n},[])}}function l(t,e,n,i,r){return function(o){return o.map(function(o){var u;if(!o[n])return console.warn(\"Options passed to vue-multiselect do not contain groups, despite the config.\"),[];var a=s(o[n],t,e,r);return a.length?(u={},v()(u,i,o[i]),v()(u,n,a),u):[]})}}var c=n(65),f=n.n(c),p=n(59),h=(n.n(p),n(122)),d=(n.n(h),n(64)),v=n.n(d),y=n(120),g=(n.n(y),n(121)),b=(n.n(g),n(117)),m=(n.n(b),n(123)),_=(n.n(m),n(118)),x=(n.n(_),n(119)),w=(n.n(x),function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(t){return e.reduce(function(t,e){return e(t)},t)}});e.a={data:function(){return{search:\"\",isOpen:!1,prefferedOpenDirection:\"below\",optimizedHeight:this.maxHeight}},props:{internalSearch:{type:Boolean,default:!0},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},value:{type:null,default:function(){return[]}},trackBy:{type:String},label:{type:String},searchable:{type:Boolean,default:!0},clearOnSelect:{type:Boolean,default:!0},hideSelected:{type:Boolean,default:!1},placeholder:{type:String,default:\"Select option\"},allowEmpty:{type:Boolean,default:!0},resetAfter:{type:Boolean,default:!1},closeOnSelect:{type:Boolean,default:!0},customLabel:{type:Function,default:function(t,e){return i(t)?\"\":e?t[e]:t}},taggable:{type:Boolean,default:!1},tagPlaceholder:{type:String,default:\"Press enter to create a tag\"},tagPosition:{type:String,default:\"top\"},max:{type:[Number,Boolean],default:!1},id:{default:null},optionsLimit:{type:Number,default:1e3},groupValues:{type:String},groupLabel:{type:String},groupSelect:{type:Boolean,default:!1},blockKeys:{type:Array,default:function(){return[]}},preserveSearch:{type:Boolean,default:!1},preselectFirst:{type:Boolean,default:!1}},mounted:function(){this.multiple||this.clearOnSelect||console.warn(\"[Vue-Multiselect warn]: ClearOnSelect and Multiple props can’t be both set to false.\"),!this.multiple&&this.max&&console.warn(\"[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.\"),this.preselectFirst&&!this.internalValue.length&&this.options.length&&this.select(this.filteredOptions[0])},computed:{internalValue:function(){return this.value||0===this.value?Array.isArray(this.value)?this.value:[this.value]:[]},filteredOptions:function(){var t=this.search||\"\",e=t.toLowerCase().trim(),n=this.options.concat();return n=this.internalSearch?this.groupValues?this.filterAndFlat(n,e,this.label):s(n,e,this.label,this.customLabel):this.groupValues?a(this.groupValues,this.groupLabel)(n):n,n=this.hideSelected?n.filter(r(this.isSelected)):n,this.taggable&&e.length&&!this.isExistingOption(e)&&(\"bottom\"===this.tagPosition?n.push({isTag:!0,label:t}):n.unshift({isTag:!0,label:t})),n.slice(0,this.optionsLimit)},valueKeys:function(){var t=this;return this.trackBy?this.internalValue.map(function(e){return e[t.trackBy]}):this.internalValue},optionKeys:function(){var t=this;return(this.groupValues?this.flatAndStrip(this.options):this.options).map(function(e){return t.customLabel(e,t.label).toString().toLowerCase()})},currentOptionLabel:function(){return this.multiple?this.searchable?\"\":this.placeholder:this.internalValue.length?this.getOptionLabel(this.internalValue[0]):this.searchable?\"\":this.placeholder}},watch:{internalValue:function(){this.resetAfter&&this.internalValue.length&&(this.search=\"\",this.$emit(\"input\",this.multiple?[]:null))},search:function(){this.$emit(\"search-change\",this.search,this.id)}},methods:{getValue:function(){return this.multiple?this.internalValue:0===this.internalValue.length?null:this.internalValue[0]},filterAndFlat:function(t,e,n){return w(l(e,n,this.groupValues,this.groupLabel,this.customLabel),a(this.groupValues,this.groupLabel))(t)},flatAndStrip:function(t){return w(a(this.groupValues,this.groupLabel),u)(t)},updateSearch:function(t){this.search=t},isExistingOption:function(t){return!!this.options&&this.optionKeys.indexOf(t)>-1},isSelected:function(t){var e=this.trackBy?t[this.trackBy]:t;return this.valueKeys.indexOf(e)>-1},getOptionLabel:function(t){if(i(t))return\"\";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return i(e)?\"\":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)return void this.selectGroup(t);if(!(-1!==this.blockKeys.indexOf(e)||this.disabled||t.$isDisabled||t.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&(\"Tab\"!==e||this.pointerDirty)){if(t.isTag)this.$emit(\"tag\",t.label,this.id),this.search=\"\",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(t))return void(\"Tab\"!==e&&this.removeElement(t));this.$emit(\"select\",t,this.id),this.multiple?this.$emit(\"input\",this.internalValue.concat([t]),this.id):this.$emit(\"input\",t,this.id),this.clearOnSelect&&(this.search=\"\")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(t){var e=this,n=this.options.find(function(n){return n[e.groupLabel]===t.$groupLabel});if(n)if(this.wholeGroupSelected(n)){this.$emit(\"remove\",n[this.groupValues],this.id);var i=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit(\"input\",i,this.id)}else{var o=n[this.groupValues].filter(r(this.isSelected));this.$emit(\"select\",o,this.id),this.$emit(\"input\",this.internalValue.concat(o),this.id)}},wholeGroupSelected:function(t){return t[this.groupValues].every(this.isSelected)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var n=\"object\"===f()(t)?this.valueKeys.indexOf(t[this.trackBy]):this.valueKeys.indexOf(t);if(this.$emit(\"remove\",t,this.id),this.multiple){var i=this.internalValue.slice(0,n).concat(this.internalValue.slice(n+1));this.$emit(\"input\",i,this.id)}else this.$emit(\"input\",null,this.id);this.closeOnSelect&&e&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf(\"Delete\")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var t=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=\"\"),this.$nextTick(function(){return t.$refs.search.focus()})):this.$el.focus(),this.$emit(\"open\",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=\"\"),this.$emit(\"close\",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if(\"undefined\"!=typeof window){var t=this.$el.getBoundingClientRect().top,e=window.innerHeight-this.$el.getBoundingClientRect().bottom;e>this.maxHeight||e>t||\"below\"===this.openDirection||\"bottom\"===this.openDirection?(this.prefferedOpenDirection=\"below\",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.prefferedOpenDirection=\"above\",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){\"use strict\";var i=n(59);n.n(i);e.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(t,e){return{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer,\"multiselect__option--selected\":this.isSelected(e)}},groupHighlight:function(t,e){var n=this;if(!this.groupSelect)return[\"multiselect__option--disabled\"];var i=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return[this.groupSelect?\"multiselect__option--group\":\"multiselect__option--disabled\",{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer},{\"multiselect__option--group-selected\":this.wholeGroupSelected(i)}]},addPointerElement:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"Enter\",e=t.key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward:function(){this.pointer<this.filteredOptions.length-1&&(this.pointer++,this.$refs.list.scrollTop<=this.pointerPosition-(this.visibleElements-1)*this.optionHeight&&(this.$refs.list.scrollTop=this.pointerPosition-(this.visibleElements-1)*this.optionHeight),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()),this.pointerDirty=!0},pointerBackward:function(){this.pointer>0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(t){this.pointer=t,this.pointerDirty=!0}}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var i=n(13),r=n(0).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){t.exports=!n(1)&&!n(12)(function(){return 7!=Object.defineProperty(n(42)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){\"use strict\";var i=n(25),r=n(23),o=n(49),s=n(6),u=n(2),a=n(24),l=n(79),c=n(27),f=n(86),p=n(7)(\"iterator\"),h=!([].keys&&\"next\"in[].keys()),d=function(){return this};t.exports=function(t,e,n,v,y,g,b){l(n,e,v);var m,_,x,w=function(t){if(!h&&t in P)return P[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+\" Iterator\",O=\"values\"==y,L=!1,P=t.prototype,k=P[p]||P[\"@@iterator\"]||y&&P[y],E=k||w(y),j=y?O?w(\"entries\"):E:void 0,V=\"Array\"==e?P.entries||k:k;if(V&&(x=f(V.call(new t)))!==Object.prototype&&(c(x,S,!0),i||u(x,p)||s(x,p,d)),O&&k&&\"values\"!==k.name&&(L=!0,E=function(){return k.call(this)}),i&&!b||!h&&!L&&P[p]||s(P,p,E),a[e]=E,a[S]=d,y)if(m={values:O?E:w(\"values\"),keys:g?E:w(\"keys\"),entries:j},b)for(_ in m)_ in P||o(P,_,m[_]);else r(r.P+r.F*(h||L),e,m);return m}},function(t,e,n){var i=n(10),r=n(83),o=n(22),s=n(28)(\"IE_PROTO\"),u=function(){},a=function(){var t,e=n(42)(\"iframe\"),i=o.length;for(e.style.display=\"none\",n(76).appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),a=t.F;i--;)delete a.prototype[o[i]];return a()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=i(t),n=new u,u.prototype=null,n[s]=t):n=a(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(48),r=n(22).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var i=n(2),r=n(4),o=n(73)(!1),s=n(28)(\"IE_PROTO\");t.exports=function(t,e){var n,u=r(t),a=0,l=[];for(n in u)n!=s&&i(u,n)&&l.push(n);for(;e.length>a;)i(u,n=e[a++])&&(~o(l,n)||l.push(n));return l}},function(t,e,n){t.exports=n(6)},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e,n){var i=n(50);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(51);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){var i=n(9),r=n(18),o=n(107),s=n(58)(\"src\"),u=Function.toString,a=(\"\"+u).split(\"toString\");n(52).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var l=\"function\"==typeof n;l&&(o(n,\"name\")||r(n,\"name\",e)),t[e]!==n&&(l&&(o(n,s)||r(n,s,t[e]?\"\"+t[e]:a.join(String(e)))),t===i?t[e]=n:u?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[s]||u.call(this)})},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(17);t.exports=function(t){return Object(i(t))}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(5),o=!0;\"find\"in[]&&Array(1).find(function(){o=!1}),i(i.P+i.F*o,\"Array\",{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),n(99)(\"find\")},function(t,e,n){\"use strict\";function i(t){n(124)}var r=n(67),o=n(126),s=n(125),u=i,a=s(r.a,o.a,!1,u,null,null);e.a=a.exports},function(t,e,n){t.exports=n(68)},function(t,e,n){t.exports=n(69)},function(t,e,n){t.exports=n(70)},function(t,e,n){function i(t,e,n){return e in t?r(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var r=n(61);t.exports=i},function(t,e,n){function i(t){return(i=\"function\"==typeof s&&\"symbol\"==typeof o?function(t){return typeof t}:function(t){return t&&\"function\"==typeof s&&t.constructor===s&&t!==s.prototype?\"symbol\":typeof t})(t)}function r(e){return\"function\"==typeof s&&\"symbol\"===i(o)?t.exports=r=function(t){return i(t)}:t.exports=r=function(t){return t&&\"function\"==typeof s&&t.constructor===s&&t!==s.prototype?\"symbol\":i(t)},r(e)}var o=n(63),s=n(62);t.exports=r},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(60),r=n(39),o=n(40);n.d(e,\"Multiselect\",function(){return i.a}),n.d(e,\"multiselectMixin\",function(){return r.a}),n.d(e,\"pointerMixin\",function(){return o.a}),e.default=i.a},function(t,e,n){\"use strict\";var i=n(39),r=n(40);e.a={name:\"vue-multiselect\",mixins:[i.a,r.a],props:{name:{type:String,default:\"\"},selectLabel:{type:String,default:\"Press enter to select\"},selectGroupLabel:{type:String,default:\"Press enter to select group\"},selectedLabel:{type:String,default:\"Selected\"},deselectLabel:{type:String,default:\"Press enter to remove\"},deselectGroupLabel:{type:String,default:\"Press enter to deselect group\"},showLabels:{type:Boolean,default:!0},limit:{type:Number,default:99999},maxHeight:{type:Number,default:300},limitText:{type:Function,default:function(t){return\"and \".concat(t,\" more\")}},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},openDirection:{type:String,default:\"\"},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{isSingleLabelVisible:function(){return this.singleValue&&(!this.isOpen||!this.searchable)&&!this.visibleValues.length},isPlaceholderVisible:function(){return!(this.internalValue.length||this.searchable&&this.isOpen)},visibleValues:function(){return this.multiple?this.internalValue.slice(0,this.limit):[]},singleValue:function(){return this.internalValue[0]},deselectLabelText:function(){return this.showLabels?this.deselectLabel:\"\"},deselectGroupLabelText:function(){return this.showLabels?this.deselectGroupLabel:\"\"},selectLabelText:function(){return this.showLabels?this.selectLabel:\"\"},selectGroupLabelText:function(){return this.showLabels?this.selectGroupLabel:\"\"},selectedLabelText:function(){return this.showLabels?this.selectedLabel:\"\"},inputStyle:function(){if(this.multiple&&this.value&&this.value.length)return this.isOpen?{width:\"auto\"}:{width:\"0\",position:\"absolute\",padding:\"0\"}},contentStyle:function(){return this.options.length?{display:\"inline-block\"}:{display:\"block\"}},isAbove:function(){return\"above\"===this.openDirection||\"top\"===this.openDirection||\"below\"!==this.openDirection&&\"bottom\"!==this.openDirection&&\"above\"===this.prefferedOpenDirection},showSearchInput:function(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}}},function(t,e,n){n(92);var i=n(11).Object;t.exports=function(t,e,n){return i.defineProperty(t,e,n)}},function(t,e,n){n(95),n(93),n(96),n(97),t.exports=n(11).Symbol},function(t,e,n){n(94),n(98),t.exports=n(33).f(\"iterator\")},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){t.exports=function(){}},function(t,e,n){var i=n(4),r=n(89),o=n(88);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(71);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(14),r=n(47),o=n(26);t.exports=function(t){var e=i(t),n=r.f;if(n)for(var s,u=n(t),a=o.f,l=0;u.length>l;)a.call(t,s=u[l++])&&e.push(s);return e}},function(t,e,n){t.exports=n(0).document&&document.documentElement},function(t,e,n){var i=n(41);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e,n){var i=n(41);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){\"use strict\";var i=n(45),r=n(15),o=n(27),s={};n(6)(s,n(7)(\"iterator\"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+\" Iterator\")}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var i=n(14),r=n(4);t.exports=function(t,e){for(var n,o=r(t),s=i(o),u=s.length,a=0;u>a;)if(o[n=s[a++]]===e)return n}},function(t,e,n){var i=n(16)(\"meta\"),r=n(13),o=n(2),s=n(3).f,u=0,a=Object.isExtensible||function(){return!0},l=!n(12)(function(){return a(Object.preventExtensions({}))}),c=function(t){s(t,i,{value:{i:\"O\"+ ++u,w:{}}})},f=function(t,e){if(!r(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!o(t,i)){if(!a(t))return\"F\";if(!e)return\"E\";c(t)}return t[i].i},p=function(t,e){if(!o(t,i)){if(!a(t))return!0;if(!e)return!1;c(t)}return t[i].w},h=function(t){return l&&d.NEED&&a(t)&&!o(t,i)&&c(t),t},d=t.exports={KEY:i,NEED:!1,fastKey:f,getWeak:p,onFreeze:h}},function(t,e,n){var i=n(3),r=n(10),o=n(14);t.exports=n(1)?Object.defineProperties:function(t,e){r(t);for(var n,s=o(e),u=s.length,a=0;u>a;)i.f(t,n=s[a++],e[n]);return t}},function(t,e,n){var i=n(26),r=n(15),o=n(4),s=n(31),u=n(2),a=n(43),l=Object.getOwnPropertyDescriptor;e.f=n(1)?l:function(t,e){if(t=o(t),e=s(e,!0),a)try{return l(t,e)}catch(t){}if(u(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e,n){var i=n(4),r=n(46).f,o={}.toString,s=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(t){try{return r(t)}catch(t){return s.slice()}};t.exports.f=function(t){return s&&\"[object Window]\"==o.call(t)?u(t):r(i(t))}},function(t,e,n){var i=n(2),r=n(90),o=n(28)(\"IE_PROTO\"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var i=n(30),r=n(21);t.exports=function(t){return function(e,n){var o,s,u=String(r(e)),a=i(n),l=u.length;return a<0||a>=l?t?\"\":void 0:(o=u.charCodeAt(a),o<55296||o>56319||a+1===l||(s=u.charCodeAt(a+1))<56320||s>57343?t?u.charAt(a):o:t?u.slice(a,a+2):s-56320+(o-55296<<10)+65536)}}},function(t,e,n){var i=n(30),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(30),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(21);t.exports=function(t){return Object(i(t))}},function(t,e,n){\"use strict\";var i=n(72),r=n(80),o=n(24),s=n(4);t.exports=n(44)(Array,\"Array\",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):\"keys\"==e?r(0,n):\"values\"==e?r(0,t[n]):r(0,[n,t[n]])},\"values\"),o.Arguments=o.Array,i(\"keys\"),i(\"values\"),i(\"entries\")},function(t,e,n){var i=n(23);i(i.S+i.F*!n(1),\"Object\",{defineProperty:n(3).f})},function(t,e){},function(t,e,n){\"use strict\";var i=n(87)(!0);n(44)(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=i(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){\"use strict\";var i=n(0),r=n(2),o=n(1),s=n(23),u=n(49),a=n(82).KEY,l=n(12),c=n(29),f=n(27),p=n(16),h=n(7),d=n(33),v=n(32),y=n(81),g=n(75),b=n(78),m=n(10),_=n(4),x=n(31),w=n(15),S=n(45),O=n(85),L=n(84),P=n(3),k=n(14),E=L.f,j=P.f,V=O.f,C=i.Symbol,T=i.JSON,A=T&&T.stringify,$=h(\"_hidden\"),D=h(\"toPrimitive\"),F={}.propertyIsEnumerable,M=c(\"symbol-registry\"),B=c(\"symbols\"),N=c(\"op-symbols\"),R=Object.prototype,H=\"function\"==typeof C,G=i.QObject,I=!G||!G.prototype||!G.prototype.findChild,K=o&&l(function(){return 7!=S(j({},\"a\",{get:function(){return j(this,\"a\",{value:7}).a}})).a})?function(t,e,n){var i=E(R,e);i&&delete R[e],j(t,e,n),i&&t!==R&&j(R,e,i)}:j,z=function(t){var e=B[t]=S(C.prototype);return e._k=t,e},U=H&&\"symbol\"==typeof C.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof C},W=function(t,e,n){return t===R&&W(N,e,n),m(t),e=x(e,!0),m(n),r(B,e)?(n.enumerable?(r(t,$)&&t[$][e]&&(t[$][e]=!1),n=S(n,{enumerable:w(0,!1)})):(r(t,$)||j(t,$,w(1,{})),t[$][e]=!0),K(t,e,n)):j(t,e,n)},J=function(t,e){m(t);for(var n,i=g(e=_(e)),r=0,o=i.length;o>r;)W(t,n=i[r++],e[n]);return t},q=function(t,e){return void 0===e?S(t):J(S(t),e)},X=function(t){var e=F.call(this,t=x(t,!0));return!(this===R&&r(B,t)&&!r(N,t))&&(!(e||!r(this,t)||!r(B,t)||r(this,$)&&this[$][t])||e)},Y=function(t,e){if(t=_(t),e=x(e,!0),t!==R||!r(B,e)||r(N,e)){var n=E(t,e);return!n||!r(B,e)||r(t,$)&&t[$][e]||(n.enumerable=!0),n}},Q=function(t){for(var e,n=V(_(t)),i=[],o=0;n.length>o;)r(B,e=n[o++])||e==$||e==a||i.push(e);return i},Z=function(t){for(var e,n=t===R,i=V(n?N:_(t)),o=[],s=0;i.length>s;)!r(B,e=i[s++])||n&&!r(R,e)||o.push(B[e]);return o};H||(C=function(){if(this instanceof C)throw TypeError(\"Symbol is not a constructor!\");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===R&&e.call(N,n),r(this,$)&&r(this[$],t)&&(this[$][t]=!1),K(this,t,w(1,n))};return o&&I&&K(R,t,{configurable:!0,set:e}),z(t)},u(C.prototype,\"toString\",function(){return this._k}),L.f=Y,P.f=W,n(46).f=O.f=Q,n(26).f=X,n(47).f=Z,o&&!n(25)&&u(R,\"propertyIsEnumerable\",X,!0),d.f=function(t){return z(h(t))}),s(s.G+s.W+s.F*!H,{Symbol:C});for(var tt=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),et=0;tt.length>et;)h(tt[et++]);for(var tt=k(h.store),et=0;tt.length>et;)v(tt[et++]);s(s.S+s.F*!H,\"Symbol\",{for:function(t){return r(M,t+=\"\")?M[t]:M[t]=C(t)},keyFor:function(t){if(U(t))return y(M,t);throw TypeError(t+\" is not a symbol!\")},useSetter:function(){I=!0},useSimple:function(){I=!1}}),s(s.S+s.F*!H,\"Object\",{create:q,defineProperty:W,defineProperties:J,getOwnPropertyDescriptor:Y,getOwnPropertyNames:Q,getOwnPropertySymbols:Z}),T&&s(s.S+s.F*(!H||l(function(){var t=C();return\"[null]\"!=A([t])||\"{}\"!=A({a:t})||\"{}\"!=A(Object(t))})),\"JSON\",{stringify:function(t){if(void 0!==t&&!U(t)){for(var e,n,i=[t],r=1;arguments.length>r;)i.push(arguments[r++]);return e=i[1],\"function\"==typeof e&&(n=e),!n&&b(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!U(e))return e}),i[1]=e,A.apply(T,i)}}}),C.prototype[D]||n(6)(C.prototype,D,C.prototype.valueOf),f(C,\"Symbol\"),f(Math,\"Math\",!0),f(i.JSON,\"JSON\",!0)},function(t,e,n){n(32)(\"asyncIterator\")},function(t,e,n){n(32)(\"observable\")},function(t,e,n){n(91);for(var i=n(0),r=n(6),o=n(24),s=n(7)(\"toStringTag\"),u=[\"NodeList\",\"DOMTokenList\",\"MediaList\",\"StyleSheetList\",\"CSSRuleList\"],a=0;a<5;a++){var l=u[a],c=i[l],f=c&&c.prototype;f&&!f[s]&&r(f,s,l),o[l]=o.Array}},function(t,e,n){var i=n(38)(\"unscopables\"),r=Array.prototype;void 0==r[i]&&n(18)(r,i,{}),t.exports=function(t){r[i][t]=!0}},function(t,e,n){var i=n(19);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,n){var i=n(115),r=n(37),o=n(114);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(50),r=n(57),o=n(36),s=n(37);t.exports=function(t,e,n,u,a){i(e);var l=r(t),c=o(l),f=s(l.length),p=a?f-1:0,h=a?-1:1;if(n<2)for(;;){if(p in c){u=c[p],p+=h;break}if(p+=h,a?p<0:f<=p)throw TypeError(\"Reduce of empty array with no initial value\")}for(;a?p>=0:f>p;p+=h)p in c&&(u=e(u,c[p],p,l));return u}},function(t,e,n){var i=n(19),r=n(54),o=n(38)(\"species\");t.exports=function(t){var e;return r(t)&&(e=t.constructor,\"function\"!=typeof e||e!==Array&&!r(e.prototype)||(e=void 0),i(e)&&null===(e=e[o])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var i=n(103);t.exports=function(t,e){return new(i(t))(e)}},function(t,e,n){var i=n(19),r=n(9).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){\"use strict\";var i=n(18),r=n(55),o=n(8),s=n(17),u=n(38);t.exports=function(t,e,n){var a=u(t),l=n(s,a,\"\"[t]),c=l[0],f=l[1];o(function(){var e={};return e[a]=function(){return 7},7!=\"\"[t](e)})&&(r(String.prototype,t,c),i(RegExp.prototype,a,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}))}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){t.exports=!n(35)&&!n(8)(function(){return 7!=Object.defineProperty(n(105)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(100),r=n(108),o=n(116),s=Object.defineProperty;e.f=n(35)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var i=n(9),r=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});t.exports=function(t){return r[t]||(r[t]={})}},function(t,e,n){var i=n(5),r=n(17),o=n(8),s=n(113),u=\"[\"+s+\"]\",a=\"​…\",l=RegExp(\"^\"+u+u+\"*\"),c=RegExp(u+u+\"*$\"),f=function(t,e,n){var r={},u=o(function(){return!!s[t]()||a[t]()!=a}),l=r[t]=u?e(p):s[t];n&&(r[n]=l),i(i.P+i.F*u,\"String\",r)},p=f.trim=function(t,e){return t=String(r(t)),1&e&&(t=t.replace(l,\"\")),2&e&&(t=t.replace(c,\"\")),t};t.exports=f},function(t,e){t.exports=\"\\t\\n\\v\\f\\r   ᠎              \\u2028\\u2029\\ufeff\"},function(t,e,n){var i=n(56),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(36),r=n(17);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(19);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(2);i(i.P+i.F*!n(20)([].filter,!0),\"Array\",{filter:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(5),r=n(101)(!1),o=[].indexOf,s=!!o&&1/[1].indexOf(1,-0)<0;i(i.P+i.F*(s||!n(20)(o)),\"Array\",{indexOf:function(t){return s?o.apply(this,arguments)||0:r(this,t,arguments[1])}})},function(t,e,n){var i=n(5);i(i.S,\"Array\",{isArray:n(54)})},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(1);i(i.P+i.F*!n(20)([].map,!0),\"Array\",{map:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(5),r=n(102);i(i.P+i.F*!n(20)([].reduce,!0),\"Array\",{reduce:function(t){return r(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){n(106)(\"search\",1,function(t,e,n){return[function(n){\"use strict\";var i=t(this),r=void 0==n?void 0:n[e];return void 0!==r?r.call(n,i):new RegExp(n)[e](String(i))},n]})},function(t,e,n){\"use strict\";n(112)(\"trim\",function(t){return function(){return t(this,3)}})},function(t,e){},function(t,e){t.exports=function(t,e,n,i,r,o){var s,u=t=t||{},a=typeof t.default;\"object\"!==a&&\"function\"!==a||(s=t,u=t.default);var l=\"function\"==typeof u?u.options:u;e&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0),n&&(l.functional=!0),r&&(l._scopeId=r);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):i&&(c=i),c){var f=l.functional,p=f?l.render:l.beforeCreate;f?(l._injectStyles=c,l.render=function(t,e){return c.call(e),p(t,e)}):l.beforeCreate=p?[].concat(p,c):[c]}return{esModule:s,exports:u,options:l}}},function(t,e,n){\"use strict\";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"multiselect\",class:{\"multiselect--active\":t.isOpen,\"multiselect--disabled\":t.disabled,\"multiselect--above\":t.isAbove},attrs:{tabindex:t.searchable?-1:t.tabindex},on:{focus:function(e){t.activate()},blur:function(e){!t.searchable&&t.deactivate()},keydown:[function(e){return\"button\"in e||!t._k(e.keyCode,\"down\",40,e.key,\"ArrowDown\")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerForward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"up\",38,e.key,\"ArrowUp\")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerBackward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")||!t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")?(e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null}],keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()}}},[t._t(\"caret\",[n(\"div\",{staticClass:\"multiselect__select\",on:{mousedown:function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}}})],{toggle:t.toggle}),t._v(\" \"),t._t(\"clear\",null,{search:t.search}),t._v(\" \"),n(\"div\",{ref:\"tags\",staticClass:\"multiselect__tags\"},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.visibleValues.length>0,expression:\"visibleValues.length > 0\"}],staticClass:\"multiselect__tags-wrap\"},[t._l(t.visibleValues,function(e){return[t._t(\"tag\",[n(\"span\",{staticClass:\"multiselect__tag\"},[n(\"span\",{domProps:{textContent:t._s(t.getOptionLabel(e))}}),t._v(\" \"),n(\"i\",{staticClass:\"multiselect__tag-icon\",attrs:{\"aria-hidden\":\"true\",tabindex:\"1\"},on:{keydown:function(n){if(!(\"button\"in n)&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\"))return null;n.preventDefault(),t.removeElement(e)},mousedown:function(n){n.preventDefault(),t.removeElement(e)}}})])],{option:e,search:t.search,remove:t.removeElement})]})],2),t._v(\" \"),t.internalValue&&t.internalValue.length>t.limit?[t._t(\"limit\",[n(\"strong\",{staticClass:\"multiselect__strong\",domProps:{textContent:t._s(t.limitText(t.internalValue.length-t.limit))}})])]:t._e(),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect__loading\"}},[t._t(\"loading\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.loading,expression:\"loading\"}],staticClass:\"multiselect__spinner\"})])],2),t._v(\" \"),n(\"input\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen&&t.searchable,expression:\"isOpen && searchable\"}],ref:\"search\",staticClass:\"multiselect__input\",style:t.inputStyle,attrs:{name:t.name,id:t.id,type:\"text\",autocomplete:\"off\",placeholder:t.placeholder,disabled:t.disabled,tabindex:t.tabindex},domProps:{value:t.search},on:{input:function(e){t.updateSearch(e.target.value)},focus:function(e){e.preventDefault(),t.activate()},blur:function(e){e.preventDefault(),t.deactivate()},keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()},keydown:[function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"down\",40,e.key,\"ArrowDown\"))return null;e.preventDefault(),t.pointerForward()},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"up\",38,e.key,\"ArrowUp\"))return null;e.preventDefault(),t.pointerBackward()},function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?(e.preventDefault(),e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"delete\",[8,46],e.key,[\"Backspace\",\"Delete\"]))return null;e.stopPropagation(),t.removeLastElement()}]}}),t._v(\" \"),t.isSingleLabelVisible?n(\"span\",{staticClass:\"multiselect__single\",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"singleLabel\",[[t._v(t._s(t.currentOptionLabel))]],{option:t.singleValue})],2):t._e(),t._v(\" \"),t.isPlaceholderVisible?n(\"span\",{on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"placeholder\",[n(\"span\",{staticClass:\"multiselect__single\"},[t._v(\"\\n \"+t._s(t.placeholder)+\"\\n \")])])],2):t._e()],2),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen,expression:\"isOpen\"}],ref:\"list\",staticClass:\"multiselect__content-wrapper\",style:{maxHeight:t.optimizedHeight+\"px\"},on:{focus:t.activate,mousedown:function(t){t.preventDefault()}}},[n(\"ul\",{staticClass:\"multiselect__content\",style:t.contentStyle},[t._t(\"beforeList\"),t._v(\" \"),t.multiple&&t.max===t.internalValue.length?n(\"li\",[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"maxElements\",[t._v(\"Maximum of \"+t._s(t.max)+\" options selected. First remove a selected option to select another.\")])],2)]):t._e(),t._v(\" \"),!t.max||t.internalValue.length<t.max?t._l(t.filteredOptions,function(e,i){return n(\"li\",{key:i,staticClass:\"multiselect__element\"},[e&&(e.$isLabel||e.$isDisabled)?t._e():n(\"span\",{staticClass:\"multiselect__option\",class:t.optionHighlight(i,e),attrs:{\"data-select\":e&&e.isTag?t.tagPlaceholder:t.selectLabelText,\"data-selected\":t.selectedLabelText,\"data-deselect\":t.deselectLabelText},on:{click:function(n){n.stopPropagation(),t.select(e)},mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.pointerSet(i)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2),t._v(\" \"),e&&(e.$isLabel||e.$isDisabled)?n(\"span\",{staticClass:\"multiselect__option\",class:t.groupHighlight(i,e),attrs:{\"data-select\":t.groupSelect&&t.selectGroupLabelText,\"data-deselect\":t.groupSelect&&t.deselectGroupLabelText},on:{mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.groupSelect&&t.pointerSet(i)},mousedown:function(n){n.preventDefault(),t.selectGroup(e)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2):t._e()])}):t._e(),t._v(\" \"),n(\"li\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showNoResults&&0===t.filteredOptions.length&&t.search&&!t.loading,expression:\"showNoResults && (filteredOptions.length === 0 && search && !loading)\"}]},[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"noResult\",[t._v(\"No elements found. Consider changing the search query.\")])],2)]),t._v(\" \"),t._t(\"afterList\")],2)])])],2)},r=[],o={render:i,staticRenderFns:r};e.a=o}])});\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {\n\nvar utils = __webpack_require__(0);\nvar normalizeHeaderName = __webpack_require__(50);\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = __webpack_require__(19);\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = __webpack_require__(19);\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'App',\n\tbeforeMount: function beforeMount() {\n\t\t// importing server data into the store\n\t\tvar serverDataElmt = document.getElementById('serverData');\n\t\tif (serverDataElmt !== null) {\n\t\t\tthis.$store.commit('setServerData', JSON.parse(document.getElementById('serverData').dataset.server));\n\t\t}\n\t}\n});\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_appNavigation__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_userList__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue_localstorage__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue_localstorage___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_vue_localstorage__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vue_multiselect__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vue_multiselect___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_vue_multiselect__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__store_api__ = __webpack_require__(4);\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_2_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_3_vue_localstorage___default.a);\n__WEBPACK_IMPORTED_MODULE_2_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_3_vue_localstorage___default.a);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'Users',\n\tprops: ['selectedGroup'],\n\tcomponents: {\n\t\tappNavigation: __WEBPACK_IMPORTED_MODULE_0__components_appNavigation__[\"a\" /* default */],\n\t\tuserList: __WEBPACK_IMPORTED_MODULE_1__components_userList__[\"a\" /* default */],\n\t\tMultiselect: __WEBPACK_IMPORTED_MODULE_4_vue_multiselect___default.a\n\t},\n\tbeforeMount: function beforeMount() {\n\t\tthis.$store.commit('initGroups', {\n\t\t\tgroups: this.$store.getters.getServerData.groups,\n\t\t\torderBy: this.$store.getters.getServerData.sortGroups,\n\t\t\tuserCount: this.$store.getters.getServerData.userCount\n\t\t});\n\t\tthis.$store.dispatch('getPasswordPolicyMinLength');\n\t},\n\tdata: function data() {\n\t\treturn {\n\t\t\t// default quota is unlimited\n\t\t\tunlimitedQuota: { id: 'default', label: t('settings', 'Unlimited') },\n\t\t\t// temporary value used for multiselect change\n\t\t\tselectedQuota: false,\n\t\t\tshowConfig: {\n\t\t\t\tshowStoragePath: false,\n\t\t\t\tshowUserBackend: false,\n\t\t\t\tshowLastLogin: false,\n\t\t\t\tshowNewUserForm: false,\n\t\t\t\tshowLanguages: false\n\t\t\t}\n\t\t};\n\t},\n\n\tmethods: {\n\t\ttoggleNewUserMenu: function toggleNewUserMenu() {\n\t\t\tthis.showConfig.showNewUserForm = !this.showConfig.showNewUserForm;\n\t\t\tif (this.showConfig.showNewUserForm) {\n\t\t\t\t__WEBPACK_IMPORTED_MODULE_2_vue__[\"a\" /* default */].nextTick(function () {\n\t\t\t\t\twindow.newusername.focus();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetLocalstorage: function getLocalstorage(key) {\n\t\t\t// force initialization\n\t\t\tvar localConfig = this.$localStorage.get(key);\n\t\t\t// if localstorage is null, fallback to original values\n\t\t\tthis.showConfig[key] = localConfig !== null ? localConfig === 'true' : this.showConfig[key];\n\t\t\treturn this.showConfig[key];\n\t\t},\n\t\tsetLocalStorage: function setLocalStorage(key, status) {\n\t\t\tthis.showConfig[key] = status;\n\t\t\tthis.$localStorage.set(key, status);\n\t\t\treturn status;\n\t\t},\n\t\tremoveGroup: function removeGroup(groupid) {\n\t\t\tvar self = this;\n\t\t\t// TODO migrate to a vue js confirm dialog component \n\t\t\tOC.dialogs.confirm(t('settings', 'You are about to remove the group {group}. The users will NOT be deleted.', { group: groupid }), t('settings', 'Please confirm the group removal '), function (success) {\n\t\t\t\tif (success) {\n\t\t\t\t\tself.$store.dispatch('removeGroup', groupid);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Dispatch default quota set request\n * \n * @param {string|Object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n * @returns {string}\n */\n\t\tsetDefaultQuota: function setDefaultQuota() {\n\t\t\tvar _this = this;\n\n\t\t\tvar quota = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'none';\n\n\t\t\tthis.$store.dispatch('setAppConfig', {\n\t\t\t\tapp: 'files',\n\t\t\t\tkey: 'default_quota',\n\t\t\t\t// ensure we only send the preset id\n\t\t\t\tvalue: quota.id ? quota.id : quota\n\t\t\t}).then(function () {\n\t\t\t\tif ((typeof quota === 'undefined' ? 'undefined' : _typeof(quota)) !== 'object') {\n\t\t\t\t\tquota = { id: quota, label: quota };\n\t\t\t\t}\n\t\t\t\t_this.defaultQuota = quota;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Validate quota string to make sure it's a valid human file size\n * \n * @param {string} quota Quota in readable format '5 GB'\n * @returns {Promise|boolean}\n */\n\t\tvalidateQuota: function validateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tvar validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota === 0) {\n\t\t\t\treturn this.setDefaultQuota('none');\n\t\t\t} else if (validQuota !== null) {\n\t\t\t\t// unify format output\n\t\t\t\treturn this.setDefaultQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));\n\t\t\t}\n\t\t\t// if no valid do not change\n\t\t\treturn false;\n\t\t}\n\t},\n\tcomputed: {\n\t\tusers: function users() {\n\t\t\treturn this.$store.getters.getUsers;\n\t\t},\n\t\tloading: function loading() {\n\t\t\treturn Object.keys(this.users).length === 0;\n\t\t},\n\t\tusersOffset: function usersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset;\n\t\t},\n\t\tusersLimit: function usersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit;\n\t\t},\n\n\n\t\t// Local settings\n\t\tshowLanguages: {\n\t\t\tget: function get() {\n\t\t\t\treturn this.getLocalstorage('showLanguages');\n\t\t\t},\n\t\t\tset: function set(status) {\n\t\t\t\tthis.setLocalStorage('showLanguages', status);\n\t\t\t}\n\t\t},\n\t\tshowLastLogin: {\n\t\t\tget: function get() {\n\t\t\t\treturn this.getLocalstorage('showLastLogin');\n\t\t\t},\n\t\t\tset: function set(status) {\n\t\t\t\tthis.setLocalStorage('showLastLogin', status);\n\t\t\t}\n\t\t},\n\t\tshowUserBackend: {\n\t\t\tget: function get() {\n\t\t\t\treturn this.getLocalstorage('showUserBackend');\n\t\t\t},\n\t\t\tset: function set(status) {\n\t\t\t\tthis.setLocalStorage('showUserBackend', status);\n\t\t\t}\n\t\t},\n\t\tshowStoragePath: {\n\t\t\tget: function get() {\n\t\t\t\treturn this.getLocalstorage('showStoragePath');\n\t\t\t},\n\t\t\tset: function set(status) {\n\t\t\t\tthis.setLocalStorage('showStoragePath', status);\n\t\t\t}\n\t\t},\n\n\t\tuserCount: function userCount() {\n\t\t\treturn this.$store.getters.getUserCount;\n\t\t},\n\t\tsettings: function settings() {\n\t\t\treturn this.$store.getters.getServerData;\n\t\t},\n\n\n\t\t// default quota\n\t\tquotaOptions: function quotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tvar quotaPreset = this.settings.quotaPreset.reduce(function (acc, cur) {\n\t\t\t\treturn acc.concat({ id: cur, label: cur });\n\t\t\t}, []);\n\t\t\t// add default presets\n\t\t\tquotaPreset.unshift(this.unlimitedQuota);\n\t\t\treturn quotaPreset;\n\t\t},\n\n\t\t// mapping saved values to objects\n\t\tdefaultQuota: {\n\t\t\tget: function get() {\n\t\t\t\tif (this.selectedQuota !== false) {\n\t\t\t\t\treturn this.selectedQuota;\n\t\t\t\t}\n\t\t\t\tif (OC.Util.computerFileSize(this.settings.defaultQuota) > 0) {\n\t\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\t\treturn { id: this.settings.defaultQuota, label: this.settings.defaultQuota };\n\t\t\t\t}\n\t\t\t\treturn this.unlimitedQuota; // unlimited\n\t\t\t},\n\t\t\tset: function set(quota) {\n\t\t\t\tthis.selectedQuota = quota;\n\t\t\t}\n\n\t\t},\n\n\t\t// BUILD APP NAVIGATION MENU OBJECT\n\t\tmenu: function menu() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Data provided php side\n\t\t\tvar groups = this.$store.getters.getGroups;\n\t\t\tgroups = Array.isArray(groups) ? groups : [];\n\n\t\t\t// Map groups\n\t\t\tgroups = groups.map(function (group) {\n\t\t\t\tvar item = {};\n\t\t\t\titem.id = group.id.replace(' ', '_');\n\t\t\t\titem.classes = []; // empty classes, active will be set later\n\t\t\t\titem.router = { // router link to\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tparams: { selectedGroup: group.id }\n\t\t\t\t};\n\t\t\t\titem.text = group.name; // group name\n\t\t\t\titem.utils = { counter: group.usercount }; // users count\n\n\t\t\t\tif (item.id !== 'admin' && item.id !== 'disabled') {\n\t\t\t\t\t// add delete button on real groups\n\t\t\t\t\tvar self = _this2;\n\t\t\t\t\titem.utils.actions = [{\n\t\t\t\t\t\ticon: 'icon-delete',\n\t\t\t\t\t\ttext: t('settings', 'Remove group'),\n\t\t\t\t\t\taction: function action() {\n\t\t\t\t\t\t\tself.removeGroup(group.id);\n\t\t\t\t\t\t}\n\t\t\t\t\t}];\n\t\t\t\t};\n\t\t\t\treturn item;\n\t\t\t});\n\n\t\t\t// Adjust data\n\t\t\tvar adminGroup = groups.find(function (group) {\n\t\t\t\treturn group.id == 'admin';\n\t\t\t});\n\t\t\tvar disabledGroupIndex = groups.findIndex(function (group) {\n\t\t\t\treturn group.id == 'disabled';\n\t\t\t});\n\t\t\tvar disabledGroup = groups[disabledGroupIndex];\n\t\t\tif (adminGroup && adminGroup.text) {\n\t\t\t\tadminGroup.text = t('settings', 'Admins'); // rename admin group\n\t\t\t}\n\t\t\tif (disabledGroup && disabledGroup.text) {\n\t\t\t\tdisabledGroup.text = t('settings', 'Disabled users'); // rename disabled group\n\t\t\t\tif (disabledGroup.utils.counter === 0) {\n\t\t\t\t\tgroups.splice(disabledGroupIndex, 1); // remove disabled if empty\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add everyone group\n\t\t\tgroups.unshift({\n\t\t\t\tid: 'everyone',\n\t\t\t\tclasses: [],\n\t\t\t\trouter: { name: 'users' },\n\t\t\t\ttext: t('settings', 'Everyone'),\n\t\t\t\tutils: { counter: this.userCount }\n\t\t\t});\n\n\t\t\t// Set current group as active\n\t\t\tvar activeGroup = groups.findIndex(function (group) {\n\t\t\t\treturn group.id === _this2.selectedGroup;\n\t\t\t});\n\t\t\tif (activeGroup >= 0) {\n\t\t\t\tgroups[activeGroup].classes.push('active');\n\t\t\t} else {\n\t\t\t\tgroups[0].classes.push('active');\n\t\t\t}\n\n\t\t\t// Return\n\t\t\treturn {\n\t\t\t\tid: 'usergrouplist',\n\t\t\t\tnew: {\n\t\t\t\t\tid: 'new-user-button',\n\t\t\t\t\ttext: t('settings', 'New user'),\n\t\t\t\t\ticon: 'icon-add',\n\t\t\t\t\taction: this.toggleNewUserMenu\n\t\t\t\t},\n\t\t\t\titems: groups\n\t\t\t};\n\t\t}\n\t}\n});\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__appNavigation_navigationItem__ = __webpack_require__(33);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'appNavigation',\n\tprops: ['menu'],\n\tcomponents: {\n\t\tnavigationItem: __WEBPACK_IMPORTED_MODULE_0__appNavigation_navigationItem__[\"a\" /* default */]\n\t}\n});\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__popoverMenu__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_click_outside__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_click_outside___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vue_click_outside__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue__ = __webpack_require__(2);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'navigationItem',\n\tprops: ['item'],\n\tcomponents: {\n\t\tpopoverMenu: __WEBPACK_IMPORTED_MODULE_0__popoverMenu__[\"a\" /* default */]\n\t},\n\tdirectives: {\n\t\tClickOutside: __WEBPACK_IMPORTED_MODULE_1_vue_click_outside___default.a\n\t},\n\tdata: function data() {\n\t\treturn {\n\t\t\topenedMenu: false\n\t\t};\n\t},\n\n\tmethods: {\n\t\tshowMenu: function showMenu() {\n\t\t\tthis.openedMenu = true;\n\t\t},\n\t\thideMenu: function hideMenu() {\n\t\t\tthis.openedMenu = false;\n\t\t},\n\t\ttoggleCollapse: function toggleCollapse() {\n\t\t\t// if item.opened isn't set, Vue won't trigger view updates https://vuejs.org/v2/api/#Vue-set\n\t\t\t// ternary is here to detect the undefined state of item.opened\n\t\t\t__WEBPACK_IMPORTED_MODULE_2_vue__[\"a\" /* default */].set(this.item, 'opened', this.item.opened ? !this.item.opened : true);\n\t\t},\n\t\tcancelEdit: function cancelEdit() {\n\t\t\t// remove the editing class\n\t\t\tif (Array.isArray(this.item.classes)) this.item.classes = this.item.classes.filter(function (item) {\n\t\t\t\treturn item !== 'editing';\n\t\t\t});\n\t\t}\n\t},\n\tmounted: function mounted() {\n\t\t// prevent click outside event with popupItem.\n\t\tthis.popupItem = this.$el;\n\t}\n});\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_popoverMenu_vue__ = __webpack_require__(13);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_24e4fcfe_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_popoverMenu_vue__ = __webpack_require__(36);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_popoverMenu_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_24e4fcfe_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_popoverMenu_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__popoverMenu_popoverItem__ = __webpack_require__(34);\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'popoverMenu',\n\tprops: ['menu'],\n\tcomponents: {\n\t\tpopoverItem: __WEBPACK_IMPORTED_MODULE_0__popoverMenu_popoverItem__[\"a\" /* default */]\n\t}\n});\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tprops: ['item']\n});\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nfunction validate(binding) {\r\n if (typeof binding.value !== 'function') {\r\n console.warn('[Vue-click-outside:] provided expression', binding.expression, 'is not a function.')\r\n return false\r\n }\r\n\r\n return true\r\n}\r\n\r\nfunction isPopup(popupItem, elements) {\r\n if (!popupItem || !elements)\r\n return false\r\n\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n try {\r\n if (popupItem.contains(elements[i])) {\r\n return true\r\n }\r\n if (elements[i].contains(popupItem)) {\r\n return false\r\n }\r\n } catch(e) {\r\n return false\r\n }\r\n }\r\n\r\n return false\r\n}\r\n\r\nfunction isServer(vNode) {\r\n return typeof vNode.componentInstance !== 'undefined' && vNode.componentInstance.$isServer\r\n}\r\n\r\nexports = module.exports = {\r\n bind: function (el, binding, vNode) {\r\n if (!validate(binding)) return\r\n\r\n // Define Handler and cache it on the element\r\n function handler(e) {\r\n if (!vNode.context) return\r\n\r\n // some components may have related popup item, on which we shall prevent the click outside event handler.\r\n var elements = e.path || (e.composedPath && e.composedPath())\r\n elements && elements.length > 0 && elements.unshift(e.target)\r\n \r\n if (el.contains(e.target) || isPopup(vNode.context.popupItem, elements)) return\r\n\r\n el.__vueClickOutside__.callback(e)\r\n }\r\n\r\n // add Event Listeners\r\n el.__vueClickOutside__ = {\r\n handler: handler,\r\n callback: binding.value\r\n }\r\n !isServer(vNode) && document.addEventListener('click', handler)\r\n },\r\n\r\n update: function (el, binding) {\r\n if (validate(binding)) el.__vueClickOutside__.callback = binding.value\r\n },\r\n \r\n unbind: function (el, binding, vNode) {\r\n // Remove Event Listeners\r\n !isServer(vNode) && document.removeEventListener('click', el.__vueClickOutside__.handler)\r\n delete el.__vueClickOutside__\r\n }\r\n}\r\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__userList_userRow__ = __webpack_require__(40);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_multiselect__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_multiselect___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vue_multiselect__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_infinite_loading__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_infinite_loading___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_vue_infinite_loading__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue__ = __webpack_require__(2);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'userList',\n\tprops: ['users', 'showConfig', 'selectedGroup'],\n\tcomponents: {\n\t\tuserRow: __WEBPACK_IMPORTED_MODULE_0__userList_userRow__[\"a\" /* default */],\n\t\tMultiselect: __WEBPACK_IMPORTED_MODULE_1_vue_multiselect___default.a,\n\t\tInfiniteLoading: __WEBPACK_IMPORTED_MODULE_2_vue_infinite_loading___default.a\n\t},\n\tdata: function data() {\n\t\tvar unlimitedQuota = { id: 'none', label: t('settings', 'Unlimited') },\n\t\t defaultQuota = { id: 'default', label: t('settings', 'Default quota') };\n\t\treturn {\n\t\t\tunlimitedQuota: unlimitedQuota,\n\t\t\tdefaultQuota: defaultQuota,\n\t\t\tloading: false,\n\t\t\tscrolled: false,\n\t\t\tnewUser: {\n\t\t\t\tid: '',\n\t\t\t\tdisplayName: '',\n\t\t\t\tpassword: '',\n\t\t\t\tmailAddress: '',\n\t\t\t\tgroups: [],\n\t\t\t\tsubAdminsGroups: [],\n\t\t\t\tquota: defaultQuota,\n\t\t\t\tlanguage: { code: 'en', name: t('settings', 'Default language') }\n\t\t\t}\n\t\t};\n\t},\n\tmounted: function mounted() {\n\t\tif (!this.settings.canChangePassword) {\n\t\t\tOC.Notification.showTemporary(t('settings', 'Password change is disabled because the master key is disabled'));\n\t\t}\n\n\t\t/** \n * Init default language from server data. The use of this.settings\n * requires a computed variable, which break the v-model binding of the form,\n * this is a much easier solution than getter and setter on a computed var\n */\n\t\t__WEBPACK_IMPORTED_MODULE_3_vue__[\"a\" /* default */].set(this.newUser.language, 'code', this.settings.defaultLanguage);\n\n\t\t/**\n * In case the user directly loaded the user list within a group\n * the watch won't be triggered. We need to initialize it.\n */\n\t\tthis.setNewUserDefaultGroup(this.$route.params.selectedGroup);\n\t},\n\n\tcomputed: {\n\t\tsettings: function settings() {\n\t\t\treturn this.$store.getters.getServerData;\n\t\t},\n\t\tfilteredUsers: function filteredUsers() {\n\t\t\tif (this.selectedGroup === 'disabled') {\n\t\t\t\tvar disabledUsers = this.users.filter(function (user) {\n\t\t\t\t\treturn user.enabled !== true;\n\t\t\t\t});\n\t\t\t\tif (disabledUsers.length === 0 && this.$refs.infiniteLoading && this.$refs.infiniteLoading.isComplete) {\n\t\t\t\t\t// disabled group is empty, redirection to all users\n\t\t\t\t\tthis.$router.push({ name: 'users' });\n\t\t\t\t\tthis.$refs.infiniteLoading.$emit('$InfiniteLoading:reset');\n\t\t\t\t}\n\t\t\t\treturn disabledUsers;\n\t\t\t}\n\t\t\treturn this.users.filter(function (user) {\n\t\t\t\treturn user.enabled === true;\n\t\t\t});\n\t\t},\n\t\tgroups: function groups() {\n\t\t\t// data provided php side + remove the disabled group\n\t\t\treturn this.$store.getters.getGroups.filter(function (group) {\n\t\t\t\treturn group.id !== 'disabled';\n\t\t\t});\n\t\t},\n\t\tsubAdminsGroups: function subAdminsGroups() {\n\t\t\t// data provided php side\n\t\t\treturn this.$store.getters.getServerData.subadmingroups;\n\t\t},\n\t\tquotaOptions: function quotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tvar quotaPreset = this.settings.quotaPreset.reduce(function (acc, cur) {\n\t\t\t\treturn acc.concat({ id: cur, label: cur });\n\t\t\t}, []);\n\t\t\t// add default presets\n\t\t\tquotaPreset.unshift(this.unlimitedQuota);\n\t\t\tquotaPreset.unshift(this.defaultQuota);\n\t\t\treturn quotaPreset;\n\t\t},\n\t\tminPasswordLength: function minPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength;\n\t\t},\n\t\tusersOffset: function usersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset;\n\t\t},\n\t\tusersLimit: function usersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit;\n\t\t},\n\n\n\t\t/* LANGUAGES */\n\t\tlanguages: function languages() {\n\t\t\treturn Array({\n\t\t\t\tlabel: t('settings', 'Common languages'),\n\t\t\t\tlanguages: this.settings.languages.commonlanguages\n\t\t\t}, {\n\t\t\t\tlabel: t('settings', 'All languages'),\n\t\t\t\tlanguages: this.settings.languages.languages\n\t\t\t});\n\t\t}\n\t},\n\twatch: {\n\t\t// watch url change and group select\n\t\tselectedGroup: function selectedGroup(val, old) {\n\t\t\tthis.$store.commit('resetUsers');\n\t\t\tthis.$refs.infiniteLoading.$emit('$InfiniteLoading:reset');\n\t\t\tthis.setNewUserDefaultGroup(val);\n\t\t}\n\t},\n\tmethods: {\n\t\tonScroll: function onScroll(event) {\n\t\t\tthis.scrolled = event.target.scrollTop > 0;\n\t\t},\n\n\n\t\t/**\n * Validate quota string to make sure it's a valid human file size\n * \n * @param {string} quota Quota in readable format '5 GB'\n * @returns {Object}\n */\n\t\tvalidateQuota: function validateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tvar validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota !== null && validQuota > 0) {\n\t\t\t\t// unify format output\n\t\t\t\tquota = OC.Util.humanFileSize(OC.Util.computerFileSize(quota));\n\t\t\t\treturn this.newUser.quota = { id: quota, label: quota };\n\t\t\t}\n\t\t\t// Default is unlimited\n\t\t\treturn this.newUser.quota = this.quotaOptions[0];\n\t\t},\n\t\tinfiniteHandler: function infiniteHandler($state) {\n\t\t\tthis.$store.dispatch('getUsers', {\n\t\t\t\toffset: this.usersOffset,\n\t\t\t\tlimit: this.usersLimit,\n\t\t\t\tgroup: this.selectedGroup !== 'disabled' ? this.selectedGroup : ''\n\t\t\t}).then(function (response) {\n\t\t\t\tresponse ? $state.loaded() : $state.complete();\n\t\t\t});\n\t\t},\n\t\tresetForm: function resetForm() {\n\t\t\t// revert form to original state\n\t\t\tObject.assign(this.newUser, this.$options.data.call(this).newUser);\n\t\t\tthis.loading = false;\n\t\t},\n\t\tcreateUser: function createUser() {\n\t\t\tvar _this = this;\n\n\t\t\tthis.loading = true;\n\t\t\tthis.$store.dispatch('addUser', {\n\t\t\t\tuserid: this.newUser.id,\n\t\t\t\tpassword: this.newUser.password,\n\t\t\t\temail: this.newUser.mailAddress,\n\t\t\t\tgroups: this.newUser.groups.map(function (group) {\n\t\t\t\t\treturn group.id;\n\t\t\t\t}),\n\t\t\t\tsubadmin: this.newUser.subAdminsGroups.map(function (group) {\n\t\t\t\t\treturn group.id;\n\t\t\t\t}),\n\t\t\t\tquota: this.newUser.quota.id,\n\t\t\t\tlanguage: this.newUser.language.code\n\t\t\t}).then(function () {\n\t\t\t\treturn _this.resetForm();\n\t\t\t});\n\t\t},\n\t\tsetNewUserDefaultGroup: function setNewUserDefaultGroup(value) {\n\t\t\tif (value && value.length > 0) {\n\t\t\t\t// setting new user default group to the current selected one\n\t\t\t\tvar currentGroup = this.groups.find(function (group) {\n\t\t\t\t\treturn group.id === value;\n\t\t\t\t});\n\t\t\t\tif (currentGroup) {\n\t\t\t\t\tthis.newUser.groups = [currentGroup];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// fallback, empty selected group\n\t\t\tthis.newUser.groups = [];\n\t\t}\n\t}\n});\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__popoverMenu__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_click_outside__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_click_outside___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vue_click_outside__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_multiselect__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_multiselect___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_vue_multiselect__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_v_tooltip__ = __webpack_require__(41);\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_3_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_4_v_tooltip__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'userRow',\n\tprops: ['user', 'settings', 'groups', 'subAdminsGroups', 'quotaOptions', 'showConfig', 'languages'],\n\tcomponents: {\n\t\tpopoverMenu: __WEBPACK_IMPORTED_MODULE_0__popoverMenu__[\"a\" /* default */],\n\t\tMultiselect: __WEBPACK_IMPORTED_MODULE_2_vue_multiselect___default.a\n\t},\n\tdirectives: {\n\t\tClickOutside: __WEBPACK_IMPORTED_MODULE_1_vue_click_outside___default.a\n\t},\n\tmounted: function mounted() {\n\t\t// required if popup needs to stay opened after menu click\n\t\t// since we only have disable/delete actions, let's close it directly\n\t\t// this.popupItem = this.$el;\n\t},\n\tdata: function data() {\n\t\treturn {\n\t\t\trand: parseInt(Math.random() * 1000),\n\t\t\topenedMenu: false,\n\t\t\tloading: {\n\t\t\t\tall: false,\n\t\t\t\tdisplayName: false,\n\t\t\t\tpassword: false,\n\t\t\t\tmailAddress: false,\n\t\t\t\tgroups: false,\n\t\t\t\tsubadmins: false,\n\t\t\t\tquota: false,\n\t\t\t\tdelete: false,\n\t\t\t\tdisable: false,\n\t\t\t\tlanguages: false\n\t\t\t}\n\t\t};\n\t},\n\n\tcomputed: {\n\t\t/* USER POPOVERMENU ACTIONS */\n\t\tuserActions: function userActions() {\n\t\t\treturn [{\n\t\t\t\ticon: 'icon-delete',\n\t\t\t\ttext: t('settings', 'Delete user'),\n\t\t\t\taction: this.deleteUser\n\t\t\t}, {\n\t\t\t\ticon: this.user.enabled ? 'icon-close' : 'icon-add',\n\t\t\t\ttext: this.user.enabled ? t('settings', 'Disable user') : t('settings', 'Enable user'),\n\t\t\t\taction: this.enableDisableUser\n\t\t\t}];\n\t\t},\n\n\n\t\t/* GROUPS MANAGEMENT */\n\t\tuserGroups: function userGroups() {\n\t\t\tvar _this = this;\n\n\t\t\tvar userGroups = this.groups.filter(function (group) {\n\t\t\t\treturn _this.user.groups.includes(group.id);\n\t\t\t});\n\t\t\treturn userGroups;\n\t\t},\n\t\tuserSubAdminsGroups: function userSubAdminsGroups() {\n\t\t\tvar _this2 = this;\n\n\t\t\tvar userSubAdminsGroups = this.subAdminsGroups.filter(function (group) {\n\t\t\t\treturn _this2.user.subadmin.includes(group.id);\n\t\t\t});\n\t\t\treturn userSubAdminsGroups;\n\t\t},\n\n\n\t\t/* QUOTA MANAGEMENT */\n\t\tusedQuota: function usedQuota() {\n\t\t\tvar quota = this.user.quota.quota;\n\t\t\tif (quota > 0) {\n\t\t\t\tquota = Math.min(100, Math.round(this.user.quota.used / quota * 100));\n\t\t\t} else {\n\t\t\t\tvar usedInGB = this.user.quota.used / (10 * Math.pow(2, 30));\n\t\t\t\t//asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota\n\t\t\t\tquota = 95 * (1 - 1 / (usedInGB + 1));\n\t\t\t}\n\t\t\treturn isNaN(quota) ? 0 : quota;\n\t\t},\n\n\t\t// Mapping saved values to objects\n\t\tuserQuota: function userQuota() {\n\t\t\tif (this.user.quota.quota > 0) {\n\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\tvar humanQuota = OC.Util.humanFileSize(this.user.quota.quota);\n\t\t\t\tvar userQuota = this.quotaOptions.find(function (quota) {\n\t\t\t\t\treturn quota.id === humanQuota;\n\t\t\t\t});\n\t\t\t\treturn userQuota ? userQuota : { id: humanQuota, label: humanQuota };\n\t\t\t} else if (this.user.quota.quota === 0 || this.user.quota.quota === 'default') {\n\t\t\t\t// default quota is replaced by the proper value on load\n\t\t\t\treturn this.quotaOptions[0];\n\t\t\t}\n\t\t\treturn this.quotaOptions[1]; // unlimited\n\t\t},\n\n\n\t\t/* PASSWORD POLICY? */\n\t\tminPasswordLength: function minPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength;\n\t\t},\n\n\n\t\t/* LANGUAGE */\n\t\tuserLanguage: function userLanguage() {\n\t\t\tvar _this3 = this;\n\n\t\t\tvar availableLanguages = this.languages[0].languages.concat(this.languages[1].languages);\n\t\t\tvar userLang = availableLanguages.find(function (lang) {\n\t\t\t\treturn lang.code === _this3.user.language;\n\t\t\t});\n\t\t\tif ((typeof userLang === 'undefined' ? 'undefined' : _typeof(userLang)) !== 'object' && this.user.language !== '') {\n\t\t\t\treturn {\n\t\t\t\t\tcode: this.user.language,\n\t\t\t\t\tname: this.user.language\n\t\t\t\t};\n\t\t\t} else if (this.user.language === '') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn userLang;\n\t\t}\n\t},\n\tmethods: {\n\t\t/* MENU HANDLING */\n\t\ttoggleMenu: function toggleMenu() {\n\t\t\tthis.openedMenu = !this.openedMenu;\n\t\t},\n\t\thideMenu: function hideMenu() {\n\t\t\tthis.openedMenu = false;\n\t\t},\n\n\n\t\t/**\n * Generate avatar url\n * \n * @param {string} user The user name\n * @param {int} size Size integer, default 32\n * @returns {string}\n */\n\t\tgenerateAvatar: function generateAvatar(user) {\n\t\t\tvar size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 32;\n\n\t\t\treturn OC.generateUrl('/avatar/{user}/{size}?v={version}', {\n\t\t\t\tuser: user,\n\t\t\t\tsize: size,\n\t\t\t\tversion: oc_userconfig.avatar.version\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Format the limit text in the selected options\n * \n * @param {int} count elements left\n * @returns {string}\n */\n\t\tlimitGroups: function limitGroups(count) {\n\t\t\treturn '+' + count;\n\t\t},\n\t\tdeleteUser: function deleteUser() {\n\t\t\tvar _this4 = this;\n\n\t\t\tthis.loading.delete = true;\n\t\t\tthis.loading.all = true;\n\t\t\tvar userid = this.user.id;\n\t\t\treturn this.$store.dispatch('deleteUser', { userid: userid }).then(function () {\n\t\t\t\t_this4.loading.delete = false;\n\t\t\t\t_this4.loading.all = false;\n\t\t\t});\n\t\t},\n\t\tenableDisableUser: function enableDisableUser() {\n\t\t\tvar _this5 = this;\n\n\t\t\tthis.loading.delete = true;\n\t\t\tthis.loading.all = true;\n\t\t\tvar userid = this.user.id;\n\t\t\tvar enabled = !this.user.enabled;\n\t\t\treturn this.$store.dispatch('enableDisableUser', { userid: userid, enabled: enabled }).then(function () {\n\t\t\t\t_this5.loading.delete = false;\n\t\t\t\t_this5.loading.all = false;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Set user displayName\n * \n * @param {string} displayName The display name\n * @returns {Promise}\n */\n\t\tupdateDisplayName: function updateDisplayName() {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar displayName = this.$refs.displayName.value;\n\t\t\tthis.loading.displayName = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'displayname',\n\t\t\t\tvalue: displayName\n\t\t\t}).then(function () {\n\t\t\t\t_this6.loading.displayName = false;\n\t\t\t\t_this6.$refs.displayName.value = displayName;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Set user password\n * \n * @param {string} password The email adress\n * @returns {Promise}\n */\n\t\tupdatePassword: function updatePassword() {\n\t\t\tvar _this7 = this;\n\n\t\t\tvar password = this.$refs.password.value;\n\t\t\tthis.loading.password = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'password',\n\t\t\t\tvalue: password\n\t\t\t}).then(function () {\n\t\t\t\t_this7.loading.password = false;\n\t\t\t\t_this7.$refs.password.value = ''; // empty & show placeholder \n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Set user mailAddress\n * \n * @param {string} mailAddress The email adress\n * @returns {Promise}\n */\n\t\tupdateEmail: function updateEmail() {\n\t\t\tvar _this8 = this;\n\n\t\t\tvar mailAddress = this.$refs.mailAddress.value;\n\t\t\tthis.loading.mailAddress = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'email',\n\t\t\t\tvalue: mailAddress\n\t\t\t}).then(function () {\n\t\t\t\t_this8.loading.mailAddress = false;\n\t\t\t\t_this8.$refs.mailAddress.value = mailAddress;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Create a new group\n * \n * @param {string} groups Group id\n * @returns {Promise}\n */\n\t\tcreateGroup: function createGroup(gid) {\n\t\t\tvar _this9 = this;\n\n\t\t\tthis.loading = { groups: true, subadmins: true };\n\t\t\tthis.$store.dispatch('addGroup', gid).then(function () {\n\t\t\t\t_this9.loading = { groups: false, subadmins: false };\n\t\t\t\tvar userid = _this9.user.id;\n\t\t\t\t_this9.$store.dispatch('addUserGroup', { userid: userid, gid: gid });\n\t\t\t});\n\t\t\treturn this.$store.getters.getGroups[this.groups.length];\n\t\t},\n\n\n\t\t/**\n * Add user to group\n * \n * @param {object} group Group object\n * @returns {Promise}\n */\n\t\taddUserGroup: function addUserGroup(group) {\n\t\t\tvar _this10 = this;\n\n\t\t\tthis.loading.groups = true;\n\t\t\tvar userid = this.user.id;\n\t\t\tvar gid = group.id;\n\t\t\treturn this.$store.dispatch('addUserGroup', { userid: userid, gid: gid }).then(function () {\n\t\t\t\treturn _this10.loading.groups = false;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Remove user from group\n * \n * @param {object} group Group object\n * @returns {Promise}\n */\n\t\tremoveUserGroup: function removeUserGroup(group) {\n\t\t\tvar _this11 = this;\n\n\t\t\tthis.loading.groups = true;\n\t\t\tvar userid = this.user.id;\n\t\t\tvar gid = group.id;\n\t\t\treturn this.$store.dispatch('removeUserGroup', { userid: userid, gid: gid }).then(function () {\n\t\t\t\t_this11.loading.groups = false;\n\t\t\t\t// remove user from current list if current list is the removed group\n\t\t\t\tif (_this11.$route.params.selectedGroup === gid) {\n\t\t\t\t\t_this11.$store.commit('deleteUser', userid);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Add user to group\n * \n * @param {object} group Group object\n * @returns {Promise}\n */\n\t\taddUserSubAdmin: function addUserSubAdmin(group) {\n\t\t\tvar _this12 = this;\n\n\t\t\tthis.loading.subadmins = true;\n\t\t\tvar userid = this.user.id;\n\t\t\tvar gid = group.id;\n\t\t\treturn this.$store.dispatch('addUserSubAdmin', { userid: userid, gid: gid }).then(function () {\n\t\t\t\treturn _this12.loading.subadmins = false;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Remove user from group\n * \n * @param {object} group Group object\n * @returns {Promise}\n */\n\t\tremoveUserSubAdmin: function removeUserSubAdmin(group) {\n\t\t\tvar _this13 = this;\n\n\t\t\tthis.loading.subadmins = true;\n\t\t\tvar userid = this.user.id;\n\t\t\tvar gid = group.id;\n\t\t\treturn this.$store.dispatch('removeUserSubAdmin', { userid: userid, gid: gid }).then(function () {\n\t\t\t\treturn _this13.loading.subadmins = false;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Dispatch quota set request\n * \n * @param {string|Object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n * @returns {string}\n */\n\t\tsetUserQuota: function setUserQuota() {\n\t\t\tvar _this14 = this;\n\n\t\t\tvar quota = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'none';\n\n\t\t\tthis.loading.quota = true;\n\t\t\t// ensure we only send the preset id\n\t\t\tquota = quota.id ? quota.id : quota;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'quota',\n\t\t\t\tvalue: quota\n\t\t\t}).then(function () {\n\t\t\t\treturn _this14.loading.quota = false;\n\t\t\t});\n\t\t\treturn quota;\n\t\t},\n\n\n\t\t/**\n * Validate quota string to make sure it's a valid human file size\n * \n * @param {string} quota Quota in readable format '5 GB'\n * @returns {Promise|boolean}\n */\n\t\tvalidateQuota: function validateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tvar validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota === 0) {\n\t\t\t\treturn this.setUserQuota('none');\n\t\t\t} else if (validQuota !== null) {\n\t\t\t\t// unify format output\n\t\t\t\treturn this.setUserQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));\n\t\t\t}\n\t\t\t// if no valid do not change\n\t\t\treturn false;\n\t\t},\n\n\n\t\t/**\n * Dispatch language set request\n * \n * @param {Object} lang language object {code:'en', name:'English'}\n * @returns {Object}\n */\n\t\tsetUserLanguage: function setUserLanguage(lang) {\n\t\t\tvar _this15 = this;\n\n\t\t\tthis.loading.languages = true;\n\t\t\t// ensure we only send the preset id\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'language',\n\t\t\t\tvalue: lang.code\n\t\t\t}).then(function () {\n\t\t\t\treturn _this15.loading.languages = false;\n\t\t\t});\n\t\t\treturn lang;\n\t\t}\n\t}\n});\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\nvar settle = __webpack_require__(51);\nvar buildURL = __webpack_require__(53);\nvar parseHeaders = __webpack_require__(54);\nvar isURLSameOrigin = __webpack_require__(55);\nvar createError = __webpack_require__(20);\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || __webpack_require__(56);\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (\"production\" !== 'test' &&\n typeof window !== 'undefined' &&\n window.XDomainRequest && !('withCredentials' in request) &&\n !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || (request.readyState !== 4 && !xDomain)) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = __webpack_require__(57);\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar enhanceError = __webpack_require__(52);\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"app\", function() { return app; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vuex_router_sync__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vuex_router_sync___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vuex_router_sync__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__App_vue__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__router__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__store__ = __webpack_require__(66);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"router\", function() { return __WEBPACK_IMPORTED_MODULE_3__router__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"store\", function() { return __WEBPACK_IMPORTED_MODULE_4__store__[\"a\"]; });\n\n\n\n\n\n\nObject(__WEBPACK_IMPORTED_MODULE_1_vuex_router_sync__[\"sync\"])(__WEBPACK_IMPORTED_MODULE_4__store__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_3__router__[\"a\" /* default */]);\n\n// bind to window\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].prototype.t = t;\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].prototype.OC = OC;\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].prototype.oc_userconfig = oc_userconfig;\n\nvar app = new __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */]({\n\trouter: __WEBPACK_IMPORTED_MODULE_3__router__[\"a\" /* default */],\n\tstore: __WEBPACK_IMPORTED_MODULE_4__store__[\"a\" /* default */],\n\trender: function render(h) {\n\t\treturn h(__WEBPACK_IMPORTED_MODULE_2__App_vue__[\"a\" /* default */]);\n\t}\n}).$mount('#content');\n\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\n__webpack_require__(25);\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3), __webpack_require__(5)))\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports) {\n\nexports.sync = function (store, router, options) {\n var moduleName = (options || {}).moduleName || 'route'\n\n store.registerModule(moduleName, {\n namespaced: true,\n state: cloneRoute(router.currentRoute),\n mutations: {\n 'ROUTE_CHANGED': function ROUTE_CHANGED (state, transition) {\n store.state[moduleName] = cloneRoute(transition.to, transition.from)\n }\n }\n })\n\n var isTimeTraveling = false\n var currentPath\n\n // sync router on store change\n var storeUnwatch = store.watch(\n function (state) { return state[moduleName]; },\n function (route) {\n var fullPath = route.fullPath;\n if (fullPath === currentPath) {\n return\n }\n if (currentPath != null) {\n isTimeTraveling = true\n router.push(route)\n }\n currentPath = fullPath\n },\n { sync: true }\n )\n\n // sync store on router navigation\n var afterEachUnHook = router.afterEach(function (to, from) {\n if (isTimeTraveling) {\n isTimeTraveling = false\n return\n }\n currentPath = to.fullPath\n store.commit(moduleName + '/ROUTE_CHANGED', { to: to, from: from })\n })\n\n return function unsync () {\n // On unsync, remove router hook\n if (afterEachUnHook != null) {\n afterEachUnHook()\n }\n\n // On unsync, remove store watch\n if (storeUnwatch != null) {\n storeUnwatch()\n }\n\n // On unsync, unregister Module with store\n store.unregisterModule(moduleName)\n }\n}\n\nfunction cloneRoute (to, from) {\n var clone = {\n name: to.name,\n path: to.path,\n hash: to.hash,\n query: to.query,\n params: to.params,\n fullPath: to.fullPath,\n meta: to.meta\n }\n if (from) {\n clone.from = cloneRoute(from)\n }\n return Object.freeze(clone)\n}\n\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_App_vue__ = __webpack_require__(8);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_f72d2b7e_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_App_vue__ = __webpack_require__(28);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_App_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_f72d2b7e_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_App_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 29 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_router__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__views_Users__ = __webpack_require__(31);\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_1_vue_router__[\"a\" /* default */]);\n\n/*\n * This is the list of routes where the vuejs app will\n * take over php to provide data\n * You need to forward the php routing (routes.php) to\n * /settings/main.php, where the vue-router will ensure\n * the proper route.\n * ⚠️ Routes needs to match the php routes.\n */\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (new __WEBPACK_IMPORTED_MODULE_1_vue_router__[\"a\" /* default */]({\n\tmode: 'history',\n\t// if index.php is in the url AND we got this far, then it's working:\n\t// let's keep using index.php in the url\n\tbase: OC.generateUrl(''),\n\troutes: [{\n\t\tpath: '/:index(index.php/)?settings/users',\n\t\tcomponent: __WEBPACK_IMPORTED_MODULE_2__views_Users__[\"a\" /* default */],\n\t\tprops: true,\n\t\tname: 'users',\n\t\tchildren: [{\n\t\t\tpath: ':selectedGroup',\n\t\t\tname: 'group',\n\t\t\tcomponent: __WEBPACK_IMPORTED_MODULE_2__views_Users__[\"a\" /* default */]\n\t\t}]\n\t}]\n}));\n\n/***/ }),\n/* 30 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\n * vue-router v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (false) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nvar View = {\n name: 'router-view',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n if (parent.$vnode && parent.$vnode.data.routerView) {\n depth++;\n }\n if (parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n return h(cache[name], data, children)\n }\n\n var matched = route.matched[depth];\n // render empty node if no matched route\n if (!matched) {\n cache[name] = null;\n return h()\n }\n\n var component = cache[name] = matched.components[name];\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // resolve props\n var propsToPass = data.props = resolveProps(route, matched.props && matched.props[name]);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n\n return h(component, data, children)\n }\n};\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (false) {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\nfunction extend (to, from) {\n for (var key in from) {\n to[key] = from[key];\n }\n return to\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nvar decode = decodeURIComponent;\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n \"production\" !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n parsedQuery[key] = extraQuery[key];\n }\n return parsedQuery\n}\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0\n ? decode(parts.join('='))\n : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj ? Object.keys(obj).map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n }).filter(function (x) { return x.length > 0; }).join('&') : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery$$1 = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery$$1),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery$$1);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return (\n a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query)\n )\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params)\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key) {\n var aVal = a[key];\n var bVal = b[key];\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar Link = {\n name: 'router-link',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n exact: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(this.to, current, this.append);\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback = globalActiveClass == null\n ? 'router-link-active'\n : globalActiveClass;\n var exactActiveClassFallback = globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass = this.activeClass == null\n ? activeClassFallback\n : this.activeClass;\n var exactActiveClass = this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n var compareTarget = location.path\n ? createRoute(null, location, null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget);\n classes[activeClass] = this.exact\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1.replace) {\n router.replace(location);\n } else {\n router.push(location);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) { on[e] = handler; });\n } else {\n on[this.event] = handler;\n }\n\n var data = {\n class: classes\n };\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href };\n } else {\n // find the first <a> child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the <a> is a static node\n a.isStatic = false;\n var extend = _Vue.util.extend;\n var aData = a.data = extend({}, a.data);\n aData.on = on;\n var aAttrs = a.data.attrs = extend({}, a.data.attrs);\n aAttrs.href = href;\n } else {\n // doesn't have <a> child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('router-view', View);\n Vue.component('router-link', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/\\//g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n return filler(params || {}, { pretty: true })\n } catch (e) {\n if (false) {\n warn(false, (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n }\n}\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (false) {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(path || name)) + \" cannot be a \" +\n \"string id. Use an actual component instead.\"\n );\n }\n\n var pathToRegexpOptions = route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(\n path,\n parent,\n pathToRegexpOptions.strict\n );\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n instances: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props: route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (false) {\n if (route.name && !route.redirect && route.children.some(function (child) { return /^\\/?$/.test(child.path); })) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias)\n ? route.alias\n : [route.alias];\n\n aliases.forEach(function (alias) {\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (false) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (path, pathToRegexpOptions) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (false) {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(!keys[key.name], (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\"));\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (path, parent, strict) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next.name || next._normalized) {\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = assign({}, next);\n next._normalized = true;\n var params = assign(assign({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params, (\"path \" + (current.path)));\n } else if (false) {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction assign (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (false) {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n if (record) {\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n }\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (false) {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (false) {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (false) {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n var val = typeof m[i] === 'string' ? decodeURIComponent(m[i]) : m[i];\n if (key) {\n params[key.name] = val;\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Fix for #1585 for Firefox\n window.history.replaceState({ key: getStateKey() }, '');\n window.addEventListener('popstate', function (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n });\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (false) {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior(to, from, isPop ? position : null);\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll.then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n }).catch(function (err) {\n if (false) {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n var el = document.querySelector(shouldScroll.selector);\n if (el) {\n var offset = shouldScroll.offset && typeof shouldScroll.offset === 'object' ? shouldScroll.offset : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n window.scrollTo(position.x, position.y);\n }\n}\n\n/* */\n\nvar supportsPushState = inBrowser && (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && 'pushState' in window.history\n})();\n\n// use User Timing api (if present) for more accurate key precision\nvar Time = inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nvar _key = genKey();\n\nfunction genKey () {\n return Time.now().toFixed(3)\n}\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n _key = key;\n}\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n history.replaceState({ key: _key }, '', url);\n } else {\n _key = genKey();\n history.pushState({ key: _key }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n \"production\" !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (location, onComplete, onAbort) {\n var this$1 = this;\n\n var route = this.router.match(location, this.current);\n this.confirmTransition(route, function () {\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n\n // fire ready cbs once\n if (!this$1.ready) {\n this$1.ready = true;\n this$1.readyCbs.forEach(function (cb) { cb(route); });\n }\n }, function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1.ready) {\n this$1.ready = true;\n this$1.readyErrorCbs.forEach(function (cb) { cb(err); });\n }\n });\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1 = this;\n\n var current = this.current;\n var abort = function (err) {\n if (isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) { cb(err); });\n } else {\n warn(false, 'uncaught error during route navigation:');\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n route.matched.length === current.matched.length\n ) {\n this.ensureURL();\n return abort()\n }\n\n var ref = resolveQueue(this.current.matched, route.matched);\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n this.pending = route;\n var iterator = function (hook, next) {\n if (this$1.pending !== route) {\n return abort()\n }\n try {\n hook(route, current, function (to) {\n if (to === false || isError(to)) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' && (\n typeof to.path === 'string' ||\n typeof to.name === 'string'\n ))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort();\n if (typeof to === 'object' && to.replace) {\n this$1.replace(to);\n } else {\n this$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n var postEnterCbs = [];\n var isValid = function () { return this$1.current === route; };\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated, postEnterCbs, isValid);\n var queue = enterGuards.concat(this$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1.pending !== route) {\n return abort()\n }\n this$1.pending = null;\n onComplete(route);\n if (this$1.router.app) {\n this$1.router.app.$nextTick(function () {\n postEnterCbs.forEach(function (cb) { cb(); });\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n var prev = this.current;\n this.current = route;\n this.cb && this.cb(route);\n this.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect <base> tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated,\n cbs,\n isValid\n) {\n return extractGuards(activated, 'beforeRouteEnter', function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key, cbs, isValid)\n })\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key,\n cbs,\n isValid\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n next(cb);\n if (typeof cb === 'function') {\n cbs.push(function () {\n // #750\n // if a router-view is wrapped with an out-in transition,\n // the instance may not have been registered at this time.\n // we will need to poll for registration until current route\n // is no longer valid.\n poll(cb, match.instances, key, isValid);\n });\n }\n })\n }\n}\n\nfunction poll (\n cb, // somehow flow cannot infer this is a function\n instances,\n key,\n isValid\n) {\n if (instances[key]) {\n cb(instances[key]);\n } else if (isValid()) {\n setTimeout(function () {\n poll(cb, instances, key, isValid);\n }, 16);\n }\n}\n\n/* */\n\n\nvar HTML5History = (function (History$$1) {\n function HTML5History (router, base) {\n var this$1 = this;\n\n History$$1.call(this, router, base);\n\n var expectScroll = router.options.scrollBehavior;\n\n if (expectScroll) {\n setupScroll();\n }\n\n var initLocation = getLocation(this.base);\n window.addEventListener('popstate', function (e) {\n var current = this$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1.base);\n if (this$1.current === START && location === initLocation) {\n return\n }\n\n this$1.transitionTo(location, function (route) {\n if (expectScroll) {\n handleScroll(router, route, current, true);\n }\n });\n });\n }\n\n if ( History$$1 ) HTML5History.__proto__ = History$$1;\n HTML5History.prototype = Object.create( History$$1 && History$$1.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n if (base && path.indexOf(base) === 0) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\n\nvar HashHistory = (function (History$$1) {\n function HashHistory (router, base, fallback) {\n History$$1.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History$$1 ) HashHistory.__proto__ = History$$1;\n HashHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1 = this;\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n window.addEventListener(supportsPushState ? 'popstate' : 'hashchange', function () {\n var current = this$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(\n cleanPath(base + '/#' + location)\n );\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n return index === -1 ? '' : href.slice(index + 1)\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\n\nvar AbstractHistory = (function (History$$1) {\n function AbstractHistory (router, base) {\n History$$1.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History$$1 ) AbstractHistory.__proto__ = History$$1;\n AbstractHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n this$1.index++;\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(route, function () {\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n });\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (false) {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (\n raw,\n current,\n redirectedFrom\n) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1 = this;\n\n \"production\" !== 'production' && assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // main app already initialized.\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History) {\n history.transitionTo(history.getCurrentLocation());\n } else if (history instanceof HashHistory) {\n var setupHashListener = function () {\n history.setupListeners();\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupHashListener,\n setupHashListener\n );\n }\n\n history.listen(function (route) {\n this$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n this.history.push(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n this.history.replace(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply([], route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n }))\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n var location = normalizeLocation(\n to,\n current || this.history.current,\n append,\n this\n );\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.0.1';\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (VueRouter);\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Users_vue__ = __webpack_require__(9);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_2db113c0_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Users_vue__ = __webpack_require__(65);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Users_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_2db113c0_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Users_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_appNavigation_vue__ = __webpack_require__(10);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_85c34754_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_appNavigation_vue__ = __webpack_require__(38);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_appNavigation_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_85c34754_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_appNavigation_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_navigationItem_vue__ = __webpack_require__(11);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_429bfeff_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_navigationItem_vue__ = __webpack_require__(37);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_navigationItem_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_429bfeff_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_navigationItem_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_popoverItem_vue__ = __webpack_require__(14);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_38c13d40_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_popoverItem_vue__ = __webpack_require__(35);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_popoverItem_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_38c13d40_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_popoverItem_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[(_vm.item.href)?_c('a',{attrs:{\"href\":(_vm.item.href) ? _vm.item.href : '#'},on:{\"click\":_vm.item.action}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text)?_c('span',[_vm._v(_vm._s(_vm.item.text))]):(_vm.item.longtext)?_c('p',[_vm._v(_vm._s(_vm.item.longtext))]):_vm._e()]):(_vm.item.action)?_c('button',{on:{\"click\":_vm.item.action}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text)?_c('span',[_vm._v(_vm._s(_vm.item.text))]):(_vm.item.longtext)?_c('p',[_vm._v(_vm._s(_vm.item.longtext))]):_vm._e()]):_c('span',[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text)?_c('span',[_vm._v(_vm._s(_vm.item.text))]):(_vm.item.longtext)?_c('p',[_vm._v(_vm._s(_vm.item.longtext))]):_vm._e()])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 36 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',_vm._l((_vm.menu),function(item,key){return _c('popover-item',{key:key,attrs:{\"item\":item}})}))}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 37 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{class:[{'icon-loading-small': _vm.item.loading, 'open': _vm.item.opened, 'collapsible': _vm.item.collapsible&&_vm.item.children&&_vm.item.children.length>0 }, _vm.item.classes],attrs:{\"id\":_vm.item.id}},[(_vm.item.bullet)?_c('div',{staticClass:\"app-navigation-entry-bullet\",style:({ backgroundColor: _vm.item.bullet })}):_vm._e(),_vm._v(\" \"),(_vm.item.href)?_c('a',{class:_vm.item.icon,attrs:{\"href\":(_vm.item.href) ? _vm.item.href : '#'},on:{\"click\":_vm.toggleCollapse}},[(_vm.item.iconUrl)?_c('img',{attrs:{\"alt\":_vm.item.text,\"src\":_vm.item.iconUrl}}):_vm._e(),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\")]):(_vm.item.router)?_c('router-link',{class:_vm.item.icon,attrs:{\"to\":_vm.item.router}},[(_vm.item.iconUrl)?_c('img',{attrs:{\"alt\":_vm.item.text,\"src\":_vm.item.iconUrl}}):_vm._e(),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.item.utils)?_c('div',{staticClass:\"app-navigation-entry-utils\"},[_c('ul',[(Number.isInteger(_vm.item.utils.counter))?_c('li',{staticClass:\"app-navigation-entry-utils-counter\"},[_vm._v(_vm._s(_vm.item.utils.counter))]):_vm._e(),_vm._v(\" \"),(_vm.item.utils.actions && _vm.item.utils.actions.length === 1 && Number.isInteger(_vm.item.utils.counter))?_c('li',{staticClass:\"app-navigation-entry-utils-menu-button\"},[_c('button',{class:_vm.item.utils.actions[0].icon,attrs:{\"title\":_vm.item.utils.actions[0].text},on:{\"click\":_vm.item.utils.actions[0].action}})]):(_vm.item.utils.actions && _vm.item.utils.actions.length === 2 && !Number.isInteger(_vm.item.utils.counter))?_vm._l((_vm.item.utils.actions),function(action){return _c('li',{key:action.action,staticClass:\"app-navigation-entry-utils-menu-button\"},[_c('button',{class:action.icon,attrs:{\"title\":action.text},on:{\"click\":action.action}})])}):(_vm.item.utils.actions && _vm.item.utils.actions.length > 1 && (Number.isInteger(_vm.item.utils.counter) || _vm.item.utils.actions.length > 2))?_c('li',{staticClass:\"app-navigation-entry-utils-menu-button\"},[_c('button',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.hideMenu),expression:\"hideMenu\"}],on:{\"click\":_vm.showMenu}})]):_vm._e()],2)]):_vm._e(),_vm._v(\" \"),(_vm.item.utils && _vm.item.utils.actions && _vm.item.utils.actions.length > 1 && (Number.isInteger(_vm.item.utils.counter) || _vm.item.utils.actions.length > 2))?_c('div',{staticClass:\"app-navigation-entry-menu\",class:{ 'open': _vm.openedMenu }},[_c('popover-menu',{attrs:{\"menu\":_vm.item.utils.actions}})],1):_vm._e(),_vm._v(\" \"),(_vm.item.undo)?_c('div',{staticClass:\"app-navigation-entry-deleted\"},[_c('div',{staticClass:\"app-navigation-entry-deleted-description\"},[_vm._v(_vm._s(_vm.item.undo.text))]),_vm._v(\" \"),_c('button',{staticClass:\"app-navigation-entry-deleted-button icon-history\",attrs:{\"title\":_vm.t('settings', 'Undo')}})]):_vm._e(),_vm._v(\" \"),(_vm.item.edit)?_c('div',{staticClass:\"app-navigation-entry-edit\"},[_c('form',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.text),expression:\"item.text\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.item.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.item, \"text\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-close\",attrs:{\"type\":\"submit\",\"value\":\"\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.cancelEdit($event)}}})])]):_vm._e(),_vm._v(\" \"),(_vm.item.children)?_c('ul',_vm._l((_vm.item.children),function(item,key){return _c('navigation-item',{key:key,attrs:{\"item\":item}})})):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 38 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{'icon-loading': _vm.menu.loading},attrs:{\"id\":\"app-navigation\"}},[(_vm.menu.new)?_c('div',{staticClass:\"app-navigation-new\"},[_c('button',{class:_vm.menu.new.icon,attrs:{\"type\":\"button\",\"id\":_vm.menu.new.id},on:{\"click\":_vm.menu.new.action}},[_vm._v(_vm._s(_vm.menu.new.text))])]):_vm._e(),_vm._v(\" \"),_c('ul',{attrs:{\"id\":_vm.menu.id}},_vm._l((_vm.menu.items),function(item,key){return _c('navigation-item',{key:key,attrs:{\"item\":item}})})),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"app-settings\"}},[_c('div',{attrs:{\"id\":\"app-settings-header\"}},[_c('button',{staticClass:\"settings-button\",attrs:{\"data-apps-slide-toggle\":\"#app-settings-content\"}},[_vm._v(_vm._s(_vm.t('settings', 'Settings')))])]),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"app-settings-content\"}},[_vm._t(\"settings-content\")],2)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 39 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_userList_vue__ = __webpack_require__(16);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_9ccce41c_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_userList_vue__ = __webpack_require__(44);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_userList_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_9ccce41c_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_userList_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_userRow_vue__ = __webpack_require__(17);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_5fc6ce7e_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_userRow_vue__ = __webpack_require__(42);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_userRow_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_5fc6ce7e_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_userRow_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/* unused harmony export install */\n/* unused harmony export VTooltip */\n/* unused harmony export VClosePopover */\n/* unused harmony export VPopover */\n/* unused harmony export createTooltip */\n/* unused harmony export destroyTooltip */\n/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.12.9\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n // NOTE: 1 DOM access here\n var offsetParent = element && element.offsetParent;\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n if (element) {\n return element.ownerDocument.documentElement;\n }\n\n return document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\n/**\n * Tells if you are running Internet Explorer 10\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean} isIE10\n */\nvar isIE10 = undefined;\n\nvar isIE10$1 = function () {\n if (isIE10 === undefined) {\n isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;\n }\n return isIE10;\n};\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE10$1() && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n if (isIE10$1()) {\n try {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } catch (err) {}\n } else {\n rect = element.getBoundingClientRect();\n }\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var isIE10 = isIE10$1();\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = getScroll(html);\n var scrollLeft = getScroll(html, 'left');\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n // NOTE: 1 DOM access here\n var boundaries = { top: 0, left: 0 };\n var offsetParent = findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var commonOffsetParent = findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n data.offsets.popper.position = 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length - 1; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.left = '';\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // floor sides to avoid blurry text\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.floor(popper.top),\n bottom: Math.floor(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overriden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nfunction convertToArray(value) {\n\tif (typeof value === 'string') {\n\t\tvalue = value.split(' ');\n\t}\n\treturn value;\n}\n\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\nfunction addClasses(el, classes) {\n\tvar newClasses = convertToArray(classes);\n\tvar classList = void 0;\n\tif (el.className instanceof SVGAnimatedString) {\n\t\tclassList = Array.from(el.className);\n\t} else {\n\t\tclassList = convertToArray(el.className);\n\t}\n\tnewClasses.forEach(function (newClass) {\n\t\tif (classList.indexOf(newClass) === -1) {\n\t\t\tclassList.push(newClass);\n\t\t}\n\t});\n\tif (el instanceof SVGElement) {\n\t\tel.setAttribute('class', classList.join(' '));\n\t} else {\n\t\tel.className = classList.join(' ');\n\t}\n}\n\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\nfunction removeClasses(el, classes) {\n\tvar newClasses = convertToArray(classes);\n\tvar classList = void 0;\n\tif (el.className instanceof SVGAnimatedString) {\n\t\tclassList = Array.from(el.className);\n\t} else {\n\t\tclassList = convertToArray(el.className);\n\t}\n\tnewClasses.forEach(function (newClass) {\n\t\tvar index = classList.indexOf(newClass);\n\t\tif (index !== -1) {\n\t\t\tclassList.splice(index, 1);\n\t\t}\n\t});\n\tif (el instanceof SVGElement) {\n\t\tel.setAttribute('class', classList.join(' '));\n\t} else {\n\t\tel.className = classList.join(' ');\n\t}\n}\n\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n\tsupportsPassive = false;\n\ttry {\n\t\tvar opts = Object.defineProperty({}, 'passive', {\n\t\t\tget: function get() {\n\t\t\t\tsupportsPassive = true;\n\t\t\t}\n\t\t});\n\t\twindow.addEventListener('test', null, opts);\n\t} catch (e) {}\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar classCallCheck$1 = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass$1 = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends$1 = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/* Forked from https://github.com/FezVrasta/popper.js/blob/master/packages/tooltip/src/index.js */\n\nvar DEFAULT_OPTIONS = {\n\tcontainer: false,\n\tdelay: 0,\n\thtml: false,\n\tplacement: 'top',\n\ttitle: '',\n\ttemplate: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n\ttrigger: 'hover focus',\n\toffset: 0\n};\n\nvar openTooltips = [];\n\nvar Tooltip = function () {\n\t/**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n *\t\t\tPlacement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n *\t\t\tleft(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n *\t\t\tDelay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n *\t\t\tIf a number is supplied, delay is applied to both hide/show.\n *\t\t\tObject structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>']\n *\t\t\tBase HTML to used when creating the tooltip.\n *\t\t\tThe tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n *\t\t\t`.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n *\t\t\tThe outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n *\t\t\tHow tooltip is triggered - click, hover, focus, manual.\n *\t\t\tYou may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n *\t\t\tThe element used as boundaries for the tooltip. For more information refer to Popper.js'\n *\t\t\t[boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n *\t\t\t[offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n *\t\t\t[options docs](https://popper.js.org/popper-documentation.html)\n * @return {Object} instance - The generated tooltip instance\n */\n\tfunction Tooltip(reference, options) {\n\t\tclassCallCheck$1(this, Tooltip);\n\n\t\t_initialiseProps.call(this);\n\n\t\t// apply user options over default ones\n\t\toptions = _extends$1({}, DEFAULT_OPTIONS, options);\n\n\t\treference.jquery && (reference = reference[0]);\n\n\t\t// cache reference and options\n\t\tthis.reference = reference;\n\t\tthis.options = options;\n\n\t\t// set initial state\n\t\tthis._isOpen = false;\n\n\t\tthis._init();\n\t}\n\n\t//\n\t// Public methods\n\t//\n\n\t/**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n\t/**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n\n\t/**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n\n\t/**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n\n\tcreateClass$1(Tooltip, [{\n\t\tkey: 'setClasses',\n\t\tvalue: function setClasses(classes) {\n\t\t\tthis._classes = classes;\n\t\t}\n\t}, {\n\t\tkey: 'setContent',\n\t\tvalue: function setContent(content) {\n\t\t\tthis.options.title = content;\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._setContent(content, this.options);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'setOptions',\n\t\tvalue: function setOptions(options) {\n\t\t\tvar classesUpdated = false;\n\t\t\tvar classes = options && options.classes || directive.options.defaultClass;\n\t\t\tif (this._classes !== classes) {\n\t\t\t\tthis.setClasses(classes);\n\t\t\t\tclassesUpdated = true;\n\t\t\t}\n\n\t\t\toptions = getOptions(options);\n\n\t\t\tvar needPopperUpdate = false;\n\t\t\tvar needRestart = false;\n\n\t\t\tif (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n\t\t\t\tneedPopperUpdate = true;\n\t\t\t}\n\n\t\t\tif (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n\t\t\t\tneedRestart = true;\n\t\t\t}\n\n\t\t\tfor (var key in options) {\n\t\t\t\tthis.options[key] = options[key];\n\t\t\t}\n\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tif (needRestart) {\n\t\t\t\t\tvar isOpen = this._isOpen;\n\n\t\t\t\t\tthis.dispose();\n\t\t\t\t\tthis._init();\n\n\t\t\t\t\tif (isOpen) {\n\t\t\t\t\t\tthis.show();\n\t\t\t\t\t}\n\t\t\t\t} else if (needPopperUpdate) {\n\t\t\t\t\tthis.popperInstance.update();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\t// Private methods\n\t\t//\n\n\t}, {\n\t\tkey: '_init',\n\t\tvalue: function _init() {\n\t\t\t// get events list\n\t\t\tvar events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ').filter(function (trigger) {\n\t\t\t\treturn ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n\t\t\t}) : [];\n\t\t\tthis._isDisposed = false;\n\t\t\tthis._enableDocumentTouch = events.indexOf('manual') === -1;\n\n\t\t\t// set event listeners\n\t\t\tthis._setEventListeners(this.reference, events, this.options);\n\t\t}\n\n\t\t/**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n\t}, {\n\t\tkey: '_create',\n\t\tvalue: function _create(reference, template) {\n\t\t\t// create tooltip element\n\t\t\tvar tooltipGenerator = window.document.createElement('div');\n\t\t\ttooltipGenerator.innerHTML = template.trim();\n\t\t\tvar tooltipNode = tooltipGenerator.childNodes[0];\n\n\t\t\t// add unique ID to our tooltip (needed for accessibility reasons)\n\t\t\ttooltipNode.id = 'tooltip_' + Math.random().toString(36).substr(2, 10);\n\n\t\t\t// Initially hide the tooltip\n\t\t\t// The attribute will be switched in a next frame so\n\t\t\t// CSS transitions can play\n\t\t\ttooltipNode.setAttribute('aria-hidden', 'true');\n\n\t\t\tif (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n\t\t\t\ttooltipNode.addEventListener('mouseenter', this.hide);\n\t\t\t\ttooltipNode.addEventListener('click', this.hide);\n\t\t\t}\n\n\t\t\t// return the generated tooltip node\n\t\t\treturn tooltipNode;\n\t\t}\n\t}, {\n\t\tkey: '_setContent',\n\t\tvalue: function _setContent(content, options) {\n\t\t\tvar _this = this;\n\n\t\t\tthis.asyncContent = false;\n\t\t\tthis._applyContent(content, options).then(function () {\n\t\t\t\t_this.popperInstance.update();\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_applyContent',\n\t\tvalue: function _applyContent(title, options) {\n\t\t\tvar _this2 = this;\n\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tvar allowHtml = options.html;\n\t\t\t\tvar rootNode = _this2._tooltipNode;\n\t\t\t\tvar titleNode = rootNode.querySelector(_this2.options.innerSelector);\n\t\t\t\tif (title.nodeType === 1) {\n\t\t\t\t\t// if title is a node, append it only if allowHtml is true\n\t\t\t\t\tif (allowHtml) {\n\t\t\t\t\t\twhile (titleNode.firstChild) {\n\t\t\t\t\t\t\ttitleNode.removeChild(titleNode.firstChild);\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitleNode.appendChild(title);\n\t\t\t\t\t}\n\t\t\t\t} else if (typeof title === 'function') {\n\t\t\t\t\t// if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n\t\t\t\t\tvar result = title();\n\t\t\t\t\tif (result && typeof result.then === 'function') {\n\t\t\t\t\t\t_this2.asyncContent = true;\n\t\t\t\t\t\toptions.loadingClass && addClasses(rootNode, options.loadingClass);\n\t\t\t\t\t\tif (options.loadingContent) {\n\t\t\t\t\t\t\t_this2._applyContent(options.loadingContent, options);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresult.then(function (asyncResult) {\n\t\t\t\t\t\t\toptions.loadingClass && removeClasses(rootNode, options.loadingClass);\n\t\t\t\t\t\t\treturn _this2._applyContent(asyncResult, options);\n\t\t\t\t\t\t}).then(resolve).catch(reject);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_this2._applyContent(result, options).then(resolve).catch(reject);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\t// if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n\t\t\t\t\tallowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n\t\t\t\t}\n\t\t\t\tresolve();\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_show',\n\t\tvalue: function _show(reference, options) {\n\t\t\tif (options && typeof options.container === 'string') {\n\t\t\t\tvar container = document.querySelector(options.container);\n\t\t\t\tif (!container) return;\n\t\t\t}\n\n\t\t\tclearTimeout(this._disposeTimer);\n\n\t\t\toptions = Object.assign({}, options);\n\t\t\tdelete options.offset;\n\n\t\t\tvar updateClasses = true;\n\t\t\tif (this._tooltipNode) {\n\t\t\t\taddClasses(this._tooltipNode, this._classes);\n\t\t\t\tupdateClasses = false;\n\t\t\t}\n\n\t\t\tvar result = this._ensureShown(reference, options);\n\n\t\t\tif (updateClasses && this._tooltipNode) {\n\t\t\t\taddClasses(this._tooltipNode, this._classes);\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\t}, {\n\t\tkey: '_ensureShown',\n\t\tvalue: function _ensureShown(reference, options) {\n\t\t\tvar _this3 = this;\n\n\t\t\t// don't show if it's already visible\n\t\t\tif (this._isOpen) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tthis._isOpen = true;\n\n\t\t\topenTooltips.push(this);\n\n\t\t\t// if the tooltipNode already exists, just show it\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._tooltipNode.style.display = '';\n\t\t\t\tthis._tooltipNode.setAttribute('aria-hidden', 'false');\n\t\t\t\tthis.popperInstance.enableEventListeners();\n\t\t\t\tthis.popperInstance.update();\n\t\t\t\tif (this.asyncContent) {\n\t\t\t\t\tthis._setContent(options.title, options);\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// get title\n\t\t\tvar title = reference.getAttribute('title') || options.title;\n\n\t\t\t// don't show tooltip if no title is defined\n\t\t\tif (!title) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// create tooltip node\n\t\t\tvar tooltipNode = this._create(reference, options.template);\n\t\t\tthis._tooltipNode = tooltipNode;\n\n\t\t\tthis._setContent(title, options);\n\n\t\t\t// Add `aria-describedby` to our reference element for accessibility reasons\n\t\t\treference.setAttribute('aria-describedby', tooltipNode.id);\n\n\t\t\t// append tooltip to container\n\t\t\tvar container = this._findContainer(options.container, reference);\n\n\t\t\tthis._append(tooltipNode, container);\n\n\t\t\tvar popperOptions = _extends$1({}, options.popperOptions, {\n\t\t\t\tplacement: options.placement\n\t\t\t});\n\n\t\t\tpopperOptions.modifiers = _extends$1({}, popperOptions.modifiers, {\n\t\t\t\tarrow: {\n\t\t\t\t\telement: this.options.arrowSelector\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (options.boundariesElement) {\n\t\t\t\tpopperOptions.modifiers.preventOverflow = {\n\t\t\t\t\tboundariesElement: options.boundariesElement\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.popperInstance = new Popper(reference, tooltipNode, popperOptions);\n\n\t\t\t// Fix position\n\t\t\trequestAnimationFrame(function () {\n\t\t\t\tif (!_this3._isDisposed && _this3.popperInstance) {\n\t\t\t\t\t_this3.popperInstance.update();\n\n\t\t\t\t\t// Show the tooltip\n\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\tif (!_this3._isDisposed) {\n\t\t\t\t\t\t\t_this3._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t_this3.dispose();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_noLongerOpen',\n\t\tvalue: function _noLongerOpen() {\n\t\t\tvar index = openTooltips.indexOf(this);\n\t\t\tif (index !== -1) {\n\t\t\t\topenTooltips.splice(index, 1);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: '_hide',\n\t\tvalue: function _hide() /* reference, options */{\n\t\t\tvar _this4 = this;\n\n\t\t\t// don't hide if it's already hidden\n\t\t\tif (!this._isOpen) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\tthis._isOpen = false;\n\t\t\tthis._noLongerOpen();\n\n\t\t\t// hide tooltipNode\n\t\t\tthis._tooltipNode.style.display = 'none';\n\t\t\tthis._tooltipNode.setAttribute('aria-hidden', 'true');\n\n\t\t\tthis.popperInstance.disableEventListeners();\n\n\t\t\tclearTimeout(this._disposeTimer);\n\t\t\tvar disposeTime = directive.options.disposeTimeout;\n\t\t\tif (disposeTime !== null) {\n\t\t\t\tthis._disposeTimer = setTimeout(function () {\n\t\t\t\t\tif (_this4._tooltipNode) {\n\t\t\t\t\t\t_this4._tooltipNode.removeEventListener('mouseenter', _this4.hide);\n\t\t\t\t\t\t_this4._tooltipNode.removeEventListener('click', _this4.hide);\n\t\t\t\t\t\t// Don't remove popper instance, just the HTML element\n\t\t\t\t\t\t_this4._tooltipNode.parentNode.removeChild(_this4._tooltipNode);\n\t\t\t\t\t\t_this4._tooltipNode = null;\n\t\t\t\t\t}\n\t\t\t\t}, disposeTime);\n\t\t\t}\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_dispose',\n\t\tvalue: function _dispose() {\n\t\t\tvar _this5 = this;\n\n\t\t\tthis._isDisposed = true;\n\n\t\t\t// remove event listeners first to prevent any unexpected behaviour\n\t\t\tthis._events.forEach(function (_ref) {\n\t\t\t\tvar func = _ref.func,\n\t\t\t\t event = _ref.event;\n\n\t\t\t\t_this5.reference.removeEventListener(event, func);\n\t\t\t});\n\t\t\tthis._events = [];\n\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._hide();\n\n\t\t\t\tthis._tooltipNode.removeEventListener('mouseenter', this.hide);\n\t\t\t\tthis._tooltipNode.removeEventListener('click', this.hide);\n\n\t\t\t\t// destroy instance\n\t\t\t\tthis.popperInstance.destroy();\n\n\t\t\t\t// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\t\t\t\tif (!this.popperInstance.options.removeOnDestroy) {\n\t\t\t\t\tthis._tooltipNode.parentNode.removeChild(this._tooltipNode);\n\t\t\t\t\tthis._tooltipNode = null;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._noLongerOpen();\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_findContainer',\n\t\tvalue: function _findContainer(container, reference) {\n\t\t\t// if container is a query, get the relative element\n\t\t\tif (typeof container === 'string') {\n\t\t\t\tcontainer = window.document.querySelector(container);\n\t\t\t} else if (container === false) {\n\t\t\t\t// if container is `false`, set it to reference parent\n\t\t\t\tcontainer = reference.parentNode;\n\t\t\t}\n\t\t\treturn container;\n\t\t}\n\n\t\t/**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n\t}, {\n\t\tkey: '_append',\n\t\tvalue: function _append(tooltipNode, container) {\n\t\t\tcontainer.appendChild(tooltipNode);\n\t\t}\n\t}, {\n\t\tkey: '_setEventListeners',\n\t\tvalue: function _setEventListeners(reference, events, options) {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar directEvents = [];\n\t\t\tvar oppositeEvents = [];\n\n\t\t\tevents.forEach(function (event) {\n\t\t\t\tswitch (event) {\n\t\t\t\t\tcase 'hover':\n\t\t\t\t\t\tdirectEvents.push('mouseenter');\n\t\t\t\t\t\toppositeEvents.push('mouseleave');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'focus':\n\t\t\t\t\t\tdirectEvents.push('focus');\n\t\t\t\t\t\toppositeEvents.push('blur');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'click':\n\t\t\t\t\t\tdirectEvents.push('click');\n\t\t\t\t\t\toppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// schedule show tooltip\n\t\t\tdirectEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(evt) {\n\t\t\t\t\tif (_this6._isOpen === true) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tevt.usedByTooltip = true;\n\t\t\t\t\t_this6._scheduleShow(reference, options.delay, options, evt);\n\t\t\t\t};\n\t\t\t\t_this6._events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\n\t\t\t// schedule hide tooltip\n\t\t\toppositeEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(evt) {\n\t\t\t\t\tif (evt.usedByTooltip === true) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t_this6._scheduleHide(reference, options.delay, options, evt);\n\t\t\t\t};\n\t\t\t\t_this6._events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_onDocumentTouch',\n\t\tvalue: function _onDocumentTouch(event) {\n\t\t\tif (this._enableDocumentTouch) {\n\t\t\t\tthis._scheduleHide(this.reference, this.options.delay, this.options, event);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: '_scheduleShow',\n\t\tvalue: function _scheduleShow(reference, delay, options /*, evt */) {\n\t\t\tvar _this7 = this;\n\n\t\t\t// defaults to 0\n\t\t\tvar computedDelay = delay && delay.show || delay || 0;\n\t\t\tclearTimeout(this._scheduleTimer);\n\t\t\tthis._scheduleTimer = window.setTimeout(function () {\n\t\t\t\treturn _this7._show(reference, options);\n\t\t\t}, computedDelay);\n\t\t}\n\t}, {\n\t\tkey: '_scheduleHide',\n\t\tvalue: function _scheduleHide(reference, delay, options, evt) {\n\t\t\tvar _this8 = this;\n\n\t\t\t// defaults to 0\n\t\t\tvar computedDelay = delay && delay.hide || delay || 0;\n\t\t\tclearTimeout(this._scheduleTimer);\n\t\t\tthis._scheduleTimer = window.setTimeout(function () {\n\t\t\t\tif (_this8._isOpen === false) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!document.body.contains(_this8._tooltipNode)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// if we are hiding because of a mouseleave, we must check that the new\n\t\t\t\t// reference isn't the tooltip, because in this case we don't want to hide it\n\t\t\t\tif (evt.type === 'mouseleave') {\n\t\t\t\t\tvar isSet = _this8._setTooltipNodeEvent(evt, reference, delay, options);\n\n\t\t\t\t\t// if we set the new event, don't hide the tooltip yet\n\t\t\t\t\t// the new event will take care to hide it if necessary\n\t\t\t\t\tif (isSet) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t_this8._hide(reference, options);\n\t\t\t}, computedDelay);\n\t\t}\n\t}]);\n\treturn Tooltip;\n}();\n\n// Hide tooltips on touch devices\n\n\nvar _initialiseProps = function _initialiseProps() {\n\tvar _this9 = this;\n\n\tthis.show = function () {\n\t\t_this9._show(_this9.reference, _this9.options);\n\t};\n\n\tthis.hide = function () {\n\t\t_this9._hide();\n\t};\n\n\tthis.dispose = function () {\n\t\t_this9._dispose();\n\t};\n\n\tthis.toggle = function () {\n\t\tif (_this9._isOpen) {\n\t\t\treturn _this9.hide();\n\t\t} else {\n\t\t\treturn _this9.show();\n\t\t}\n\t};\n\n\tthis._events = [];\n\n\tthis._setTooltipNodeEvent = function (evt, reference, delay, options) {\n\t\tvar relatedreference = evt.relatedreference || evt.toElement;\n\n\t\tvar callback = function callback(evt2) {\n\t\t\tvar relatedreference2 = evt2.relatedreference || evt2.toElement;\n\n\t\t\t// Remove event listener after call\n\t\t\t_this9._tooltipNode.removeEventListener(evt.type, callback);\n\n\t\t\t// If the new reference is not the reference element\n\t\t\tif (!reference.contains(relatedreference2)) {\n\t\t\t\t// Schedule to hide tooltip\n\t\t\t\t_this9._scheduleHide(reference, options.delay, options, evt2);\n\t\t\t}\n\t\t};\n\n\t\tif (_this9._tooltipNode.contains(relatedreference)) {\n\t\t\t// listen to mouseleave on the tooltip element to be able to hide the tooltip\n\t\t\t_this9._tooltipNode.addEventListener(evt.type, callback);\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t};\n};\n\nif (typeof document !== 'undefined') {\n\tdocument.addEventListener('touchstart', function (event) {\n\t\tfor (var i = 0; i < openTooltips.length; i++) {\n\t\t\topenTooltips[i]._onDocumentTouch(event);\n\t\t}\n\t}, supportsPassive ? {\n\t\tpassive: true\n\t} : false);\n}\n\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nvar state = {\n\tenabled: true\n};\n\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\n\nvar defaultOptions = {\n\t// Default tooltip placement relative to target element\n\tdefaultPlacement: 'top',\n\t// Default CSS classes applied to the tooltip element\n\tdefaultClass: 'vue-tooltip-theme',\n\t// Default CSS classes applied to the target element of the tooltip\n\tdefaultTargetClass: 'has-tooltip',\n\t// Default HTML template of the tooltip element\n\t// It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n\t// Change if the classes conflict with other libraries (for example bootstrap)\n\tdefaultTemplate: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n\t// Selector used to get the arrow element in the tooltip template\n\tdefaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n\t// Selector used to get the inner content element in the tooltip template\n\tdefaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n\t// Delay (ms)\n\tdefaultDelay: 0,\n\t// Default events that trigger the tooltip\n\tdefaultTrigger: 'hover focus',\n\t// Default position offset (px)\n\tdefaultOffset: 0,\n\t// Default container where the tooltip will be appended\n\tdefaultContainer: 'body',\n\tdefaultBoundariesElement: undefined,\n\tdefaultPopperOptions: {},\n\t// Class added when content is loading\n\tdefaultLoadingClass: 'tooltip-loading',\n\t// Displayed when tooltip content is loading\n\tdefaultLoadingContent: '...',\n\t// Hide on mouseover tooltip\n\tautoHide: true,\n\t// Auto destroy tooltip DOM nodes (ms)\n\tdisposeTimeout: 5000,\n\t// Options for popover\n\tpopover: {\n\t\tdefaultPlacement: 'bottom',\n\t\t// Use the `popoverClass` prop for theming\n\t\tdefaultClass: 'vue-popover-theme',\n\t\t// Base class (change if conflicts with other libraries)\n\t\tdefaultBaseClass: 'tooltip popover',\n\t\t// Wrapper class (contains arrow and inner)\n\t\tdefaultWrapperClass: 'wrapper',\n\t\t// Inner content class\n\t\tdefaultInnerClass: 'tooltip-inner popover-inner',\n\t\t// Arrow class\n\t\tdefaultArrowClass: 'tooltip-arrow popover-arrow',\n\t\tdefaultDelay: 0,\n\t\tdefaultTrigger: 'click',\n\t\tdefaultOffset: 0,\n\t\tdefaultContainer: 'body',\n\t\tdefaultBoundariesElement: undefined,\n\t\tdefaultPopperOptions: {},\n\t\t// Hides if clicked outside of popover\n\t\tdefaultAutoHide: true,\n\t\t// Update popper on content resize\n\t\tdefaultHandleResize: true\n\t}\n};\n\nfunction getOptions(options) {\n\tvar result = {\n\t\tplacement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n\t\tdelay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n\t\ttemplate: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n\t\tarrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n\t\tinnerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n\t\ttrigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n\t\toffset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n\t\tcontainer: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n\t\tboundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n\t\tautoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n\t\tloadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n\t\tloadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n\t\tpopperOptions: _extends$1({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n\t};\n\n\tif (result.offset) {\n\t\tvar typeofOffset = _typeof(result.offset);\n\t\tvar offset = result.offset;\n\n\t\t// One value -> switch\n\t\tif (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n\t\t\toffset = '0, ' + offset;\n\t\t}\n\n\t\tif (!result.popperOptions.modifiers) {\n\t\t\tresult.popperOptions.modifiers = {};\n\t\t}\n\t\tresult.popperOptions.modifiers.offset = {\n\t\t\toffset: offset\n\t\t};\n\t}\n\n\treturn result;\n}\n\nfunction getPlacement(value, modifiers) {\n\tvar placement = value.placement;\n\tfor (var i = 0; i < positions.length; i++) {\n\t\tvar pos = positions[i];\n\t\tif (modifiers[pos]) {\n\t\t\tplacement = pos;\n\t\t}\n\t}\n\treturn placement;\n}\n\nfunction getContent(value) {\n\tvar type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\tif (type === 'string') {\n\t\treturn value;\n\t} else if (value && type === 'object') {\n\t\treturn value.content;\n\t} else {\n\t\treturn false;\n\t}\n}\n\nfunction createTooltip(el, value) {\n\tvar modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n\tvar content = getContent(value);\n\tvar classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\tvar opts = _extends$1({\n\t\ttitle: content,\n\t\thtml: true\n\t}, getOptions(_extends$1({}, value, {\n\t\tplacement: getPlacement(value, modifiers)\n\t})));\n\tvar tooltip = el._tooltip = new Tooltip(el, opts);\n\ttooltip.setClasses(classes);\n\ttooltip._vueEl = el;\n\n\t// Class on target\n\tvar targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n\tel._tooltipTargetClasses = targetClasses;\n\taddClasses(el, targetClasses);\n\n\treturn tooltip;\n}\n\nfunction destroyTooltip(el) {\n\tif (el._tooltip) {\n\t\tel._tooltip.dispose();\n\t\tdelete el._tooltip;\n\t\tdelete el._tooltipOldShow;\n\t}\n\n\tif (el._tooltipTargetClasses) {\n\t\tremoveClasses(el, el._tooltipTargetClasses);\n\t\tdelete el._tooltipTargetClasses;\n\t}\n}\n\nfunction bind(el, _ref) {\n\tvar value = _ref.value,\n\t oldValue = _ref.oldValue,\n\t modifiers = _ref.modifiers;\n\n\tvar content = getContent(value);\n\tif (!content || !state.enabled) {\n\t\tdestroyTooltip(el);\n\t} else {\n\t\tvar tooltip = void 0;\n\t\tif (el._tooltip) {\n\t\t\ttooltip = el._tooltip;\n\t\t\t// Content\n\t\t\ttooltip.setContent(content);\n\t\t\t// Options\n\t\t\ttooltip.setOptions(_extends$1({}, value, {\n\t\t\t\tplacement: getPlacement(value, modifiers)\n\t\t\t}));\n\t\t} else {\n\t\t\ttooltip = createTooltip(el, value, modifiers);\n\t\t}\n\n\t\t// Manual show\n\t\tif (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n\t\t\tel._tooltipOldShow = value.show;\n\t\t\tvalue.show ? tooltip.show() : tooltip.hide();\n\t\t}\n\t}\n}\n\nvar directive = {\n\toptions: defaultOptions,\n\tbind: bind,\n\tupdate: bind,\n\tunbind: function unbind(el) {\n\t\tdestroyTooltip(el);\n\t}\n};\n\nfunction addListeners(el) {\n\tel.addEventListener('click', onClick);\n\tel.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n\t\tpassive: true\n\t} : false);\n}\n\nfunction removeListeners(el) {\n\tel.removeEventListener('click', onClick);\n\tel.removeEventListener('touchstart', onTouchStart);\n\tel.removeEventListener('touchend', onTouchEnd);\n\tel.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n\tvar el = event.currentTarget;\n\tevent.closePopover = !el.$_vclosepopover_touch;\n\tevent.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n\tif (event.changedTouches.length === 1) {\n\t\tvar el = event.currentTarget;\n\t\tel.$_vclosepopover_touch = true;\n\t\tvar touch = event.changedTouches[0];\n\t\tel.$_vclosepopover_touchPoint = touch;\n\t\tel.addEventListener('touchend', onTouchEnd);\n\t\tel.addEventListener('touchcancel', onTouchCancel);\n\t}\n}\n\nfunction onTouchEnd(event) {\n\tvar el = event.currentTarget;\n\tel.$_vclosepopover_touch = false;\n\tif (event.changedTouches.length === 1) {\n\t\tvar touch = event.changedTouches[0];\n\t\tvar firstTouch = el.$_vclosepopover_touchPoint;\n\t\tevent.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n\t\tevent.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n\t}\n}\n\nfunction onTouchCancel(event) {\n\tvar el = event.currentTarget;\n\tel.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n\tbind: function bind(el, _ref) {\n\t\tvar value = _ref.value,\n\t\t modifiers = _ref.modifiers;\n\n\t\tel.$_closePopoverModifiers = modifiers;\n\t\tif (typeof value === 'undefined' || value) {\n\t\t\taddListeners(el);\n\t\t}\n\t},\n\tupdate: function update(el, _ref2) {\n\t\tvar value = _ref2.value,\n\t\t oldValue = _ref2.oldValue,\n\t\t modifiers = _ref2.modifiers;\n\n\t\tel.$_closePopoverModifiers = modifiers;\n\t\tif (value !== oldValue) {\n\t\t\tif (typeof value === 'undefined' || value) {\n\t\t\t\taddListeners(el);\n\t\t\t} else {\n\t\t\t\tremoveListeners(el);\n\t\t\t}\n\t\t}\n\t},\n\tunbind: function unbind(el) {\n\t\tremoveListeners(el);\n\t}\n};\n\nfunction getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tnotify: function notify() {\n\t\t\tthis.$emit('notify');\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.notify);\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis.notify();\n\t\t\t}\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.notify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;');\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install$1(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\t/* -- Add more components here -- */\n}\n\n/* -- Plugin definition & Auto-install -- */\n/* You shouldn't have to modify the code below */\n\n// Plugin\nvar plugin$2 = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.3\",\n\tinstall: install$1\n};\n\n// Auto-install\nvar GlobalVue$1 = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue$1 = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue$1 = global.Vue;\n}\nif (GlobalVue$1) {\n\tGlobalVue$1.use(plugin$2);\n}\n\nfunction getDefault(key) {\n\tvar value = directive.options.popover[key];\n\tif (typeof value === 'undefined') {\n\t\treturn directive.options[key];\n\t}\n\treturn value;\n}\n\nvar isIOS = false;\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n\tisIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Popover = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"v-popover\", class: _vm.cssClass }, [_c('span', { ref: \"trigger\", staticClass: \"trigger\", staticStyle: { \"display\": \"inline-block\" }, attrs: { \"aria-describedby\": _vm.popoverId } }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', { ref: \"popover\", class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass], style: {\n\t\t\t\tdisplay: _vm.isOpen ? '' : 'none'\n\t\t\t}, attrs: { \"id\": _vm.popoverId, \"aria-hidden\": _vm.isOpen ? 'false' : 'true' } }, [_c('div', { class: _vm.popoverWrapperClass }, [_c('div', { ref: \"arrow\", class: _vm.popoverArrowClass }), _vm._v(\" \"), _c('div', { ref: \"inner\", class: _vm.popoverInnerClass, staticStyle: { \"position\": \"relative\" } }, [_c('div', [_vm._t(\"popover\")], 2), _vm._v(\" \"), _vm.handleResize ? _c('ResizeObserver', { on: { \"notify\": _vm.$_handleResize } }) : _vm._e()], 1)])])]);\n\t}, staticRenderFns: [],\n\tname: 'VPopover',\n\n\tcomponents: {\n\t\tResizeObserver: ResizeObserver\n\t},\n\n\tprops: {\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tplacement: {\n\t\t\ttype: String,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultPlacement');\n\t\t\t}\n\t\t},\n\t\tdelay: {\n\t\t\ttype: [String, Number, Object],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultDelay');\n\t\t\t}\n\t\t},\n\t\toffset: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultOffset');\n\t\t\t}\n\t\t},\n\t\ttrigger: {\n\t\t\ttype: String,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultTrigger');\n\t\t\t}\n\t\t},\n\t\tcontainer: {\n\t\t\ttype: [String, Object, Element],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultContainer');\n\t\t\t}\n\t\t},\n\t\tboundariesElement: {\n\t\t\ttype: Element,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultBoundariesElement');\n\t\t\t}\n\t\t},\n\t\tpopperOptions: {\n\t\t\ttype: Object,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultPopperOptions');\n\t\t\t}\n\t\t},\n\t\tpopoverClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultClass');\n\t\t\t}\n\t\t},\n\t\tpopoverBaseClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultBaseClass;\n\t\t\t}\n\t\t},\n\t\tpopoverInnerClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultInnerClass;\n\t\t\t}\n\t\t},\n\t\tpopoverWrapperClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultWrapperClass;\n\t\t\t}\n\t\t},\n\t\tpopoverArrowClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultArrowClass;\n\t\t\t}\n\t\t},\n\t\tautoHide: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultAutoHide;\n\t\t\t}\n\t\t},\n\t\thandleResize: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultHandleResize;\n\t\t\t}\n\t\t},\n\t\topenGroup: {\n\t\t\ttype: String,\n\t\t\tdefault: null\n\t\t}\n\t},\n\n\tdata: function data() {\n\t\treturn {\n\t\t\tisOpen: false,\n\t\t\tid: Math.random().toString(36).substr(2, 10)\n\t\t};\n\t},\n\n\n\tcomputed: {\n\t\tcssClass: function cssClass() {\n\t\t\treturn {\n\t\t\t\t'open': this.isOpen\n\t\t\t};\n\t\t},\n\t\tpopoverId: function popoverId() {\n\t\t\treturn 'popover_' + this.id;\n\t\t}\n\t},\n\n\twatch: {\n\t\topen: function open(val) {\n\t\t\tif (val) {\n\t\t\t\tthis.show();\n\t\t\t} else {\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t},\n\t\tdisabled: function disabled(val, oldVal) {\n\t\t\tif (val !== oldVal) {\n\t\t\t\tif (val) {\n\t\t\t\t\tthis.hide();\n\t\t\t\t} else if (this.open) {\n\t\t\t\t\tthis.show();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcontainer: function container(val) {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tvar popoverNode = this.$refs.popover;\n\t\t\t\tvar reference = this.$refs.trigger;\n\n\t\t\t\tvar container = this.$_findContainer(this.container, reference);\n\t\t\t\tif (!container) {\n\t\t\t\t\tconsole.warn('No container for popover', this);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcontainer.appendChild(popoverNode);\n\t\t\t\tthis.popperInstance.update();\n\t\t\t}\n\t\t},\n\t\ttrigger: function trigger(val) {\n\t\t\tthis.$_removeEventListeners();\n\t\t\tthis.$_addEventListeners();\n\t\t},\n\t\toffset: function offset(val) {\n\t\t\tvar _this = this;\n\n\t\t\tthis.$_updatePopper(function () {\n\t\t\t\tif (val) {\n\t\t\t\t\tvar offset = _this.$_getOffset();\n\n\t\t\t\t\t_this.popperInstance.options.modifiers.offset = {\n\t\t\t\t\t\toffset: offset\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\t_this.popperInstance.options.modifiers.offset = undefined;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tplacement: function placement(val) {\n\t\t\tvar _this2 = this;\n\n\t\t\tthis.$_updatePopper(function () {\n\t\t\t\t_this2.popperInstance.options.placement = val;\n\t\t\t});\n\t\t},\n\n\n\t\tboundariesElement: '$_restartPopper',\n\n\t\tpopperOptions: {\n\t\t\thandler: '$_restartPopper',\n\t\t\tdeep: true\n\t\t}\n\t},\n\n\tcreated: function created() {\n\t\tthis.$_isDisposed = false;\n\t\tthis.$_mounted = false;\n\t\tthis.$_events = [];\n\t\tthis.$_preventOpen = false;\n\t},\n\tmounted: function mounted() {\n\t\tvar popoverNode = this.$refs.popover;\n\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\n\t\tthis.$_init();\n\n\t\tif (this.open) {\n\t\t\tthis.show();\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.dispose();\n\t},\n\n\n\tmethods: {\n\t\tshow: function show() {\n\t\t\tvar _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t\t\t event = _ref.event,\n\t\t\t _ref$skipDelay = _ref.skipDelay,\n\t\t\t skipDelay = _ref$skipDelay === undefined ? false : _ref$skipDelay,\n\t\t\t _ref$force = _ref.force,\n\t\t\t force = _ref$force === undefined ? false : _ref$force;\n\n\t\t\tif (force || !this.disabled) {\n\t\t\t\tthis.$_scheduleShow(event);\n\t\t\t\tthis.$emit('show');\n\t\t\t}\n\t\t\tthis.$emit('update:open', true);\n\t\t},\n\t\thide: function hide() {\n\t\t\tvar _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t\t\t event = _ref2.event,\n\t\t\t _ref2$skipDelay = _ref2.skipDelay;\n\n\t\t\tthis.$_scheduleHide(event);\n\n\t\t\tthis.$emit('hide');\n\t\t\tthis.$emit('update:open', false);\n\t\t},\n\t\tdispose: function dispose() {\n\t\t\tthis.$_isDisposed = true;\n\t\t\tthis.$_removeEventListeners();\n\t\t\tthis.hide({ skipDelay: true });\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.popperInstance.destroy();\n\n\t\t\t\t// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\t\t\t\tif (!this.popperInstance.options.removeOnDestroy) {\n\t\t\t\t\tvar popoverNode = this.$refs.popover;\n\t\t\t\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$_mounted = false;\n\n\t\t\tthis.$emit('dispose');\n\t\t},\n\t\t$_init: function $_init() {\n\t\t\tif (this.trigger.indexOf('manual') === -1) {\n\t\t\t\tthis.$_addEventListeners();\n\t\t\t}\n\t\t},\n\t\t$_show: function $_show() {\n\t\t\tvar _this3 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar popoverNode = this.$refs.popover;\n\n\t\t\tclearTimeout(this.$_disposeTimer);\n\n\t\t\t// Already open\n\t\t\tif (this.isOpen) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Popper is already initialized\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.isOpen = true;\n\t\t\t\tthis.popperInstance.enableEventListeners();\n\t\t\t\tthis.popperInstance.update();\n\t\t\t}\n\n\t\t\tif (!this.$_mounted) {\n\t\t\t\tvar container = this.$_findContainer(this.container, reference);\n\t\t\t\tif (!container) {\n\t\t\t\t\tconsole.warn('No container for popover', this);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcontainer.appendChild(popoverNode);\n\t\t\t\tthis.$_mounted = true;\n\t\t\t}\n\n\t\t\tif (!this.popperInstance) {\n\t\t\t\tvar popperOptions = _extends$1({}, this.popperOptions, {\n\t\t\t\t\tplacement: this.placement\n\t\t\t\t});\n\n\t\t\t\tpopperOptions.modifiers = _extends$1({}, popperOptions.modifiers, {\n\t\t\t\t\tarrow: {\n\t\t\t\t\t\telement: this.$refs.arrow\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (this.offset) {\n\t\t\t\t\tvar offset = this.$_getOffset();\n\n\t\t\t\t\tpopperOptions.modifiers.offset = {\n\t\t\t\t\t\toffset: offset\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (this.boundariesElement) {\n\t\t\t\t\tpopperOptions.modifiers.preventOverflow = {\n\t\t\t\t\t\tboundariesElement: this.boundariesElement\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tthis.popperInstance = new Popper(reference, popoverNode, popperOptions);\n\n\t\t\t\t// Fix position\n\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\tif (!_this3.$_isDisposed && _this3.popperInstance) {\n\t\t\t\t\t\t_this3.popperInstance.update();\n\n\t\t\t\t\t\t// Show the tooltip\n\t\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\t\tif (!_this3.$_isDisposed) {\n\t\t\t\t\t\t\t\t_this3.isOpen = true;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tvar openGroup = this.openGroup;\n\t\t\tif (openGroup) {\n\t\t\t\tvar popover = void 0;\n\t\t\t\tfor (var i = 0; i < openPopovers.length; i++) {\n\t\t\t\t\tpopover = openPopovers[i];\n\t\t\t\t\tif (popover.openGroup !== openGroup) {\n\t\t\t\t\t\tpopover.hide();\n\t\t\t\t\t\tpopover.$emit('close-group');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\topenPopovers.push(this);\n\t\t},\n\t\t$_hide: function $_hide() {\n\t\t\tvar _this4 = this;\n\n\t\t\t// Already hidden\n\t\t\tif (!this.isOpen) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar index = openPopovers.indexOf(this);\n\t\t\tif (index !== -1) {\n\t\t\t\topenPopovers.splice(index, 1);\n\t\t\t}\n\n\t\t\tthis.isOpen = false;\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.popperInstance.disableEventListeners();\n\t\t\t}\n\n\t\t\tclearTimeout(this.$_disposeTimer);\n\t\t\tvar disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\t\t\tif (disposeTime !== null) {\n\t\t\t\tthis.$_disposeTimer = setTimeout(function () {\n\t\t\t\t\tvar popoverNode = _this4.$refs.popover;\n\t\t\t\t\tif (popoverNode) {\n\t\t\t\t\t\t// Don't remove popper instance, just the HTML element\n\t\t\t\t\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\t\t\t\t\t\t_this4.$_mounted = false;\n\t\t\t\t\t}\n\t\t\t\t}, disposeTime);\n\t\t\t}\n\t\t},\n\t\t$_findContainer: function $_findContainer(container, reference) {\n\t\t\t// if container is a query, get the relative element\n\t\t\tif (typeof container === 'string') {\n\t\t\t\tcontainer = window.document.querySelector(container);\n\t\t\t} else if (container === false) {\n\t\t\t\t// if container is `false`, set it to reference parent\n\t\t\t\tcontainer = reference.parentNode;\n\t\t\t}\n\t\t\treturn container;\n\t\t},\n\t\t$_getOffset: function $_getOffset() {\n\t\t\tvar typeofOffset = _typeof(this.offset);\n\t\t\tvar offset = this.offset;\n\n\t\t\t// One value -> switch\n\t\t\tif (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n\t\t\t\toffset = '0, ' + offset;\n\t\t\t}\n\n\t\t\treturn offset;\n\t\t},\n\t\t$_addEventListeners: function $_addEventListeners() {\n\t\t\tvar _this5 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar directEvents = [];\n\t\t\tvar oppositeEvents = [];\n\n\t\t\tvar events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n\t\t\t\treturn ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n\t\t\t}) : [];\n\n\t\t\tevents.forEach(function (event) {\n\t\t\t\tswitch (event) {\n\t\t\t\t\tcase 'hover':\n\t\t\t\t\t\tdirectEvents.push('mouseenter');\n\t\t\t\t\t\toppositeEvents.push('mouseleave');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'focus':\n\t\t\t\t\t\tdirectEvents.push('focus');\n\t\t\t\t\t\toppositeEvents.push('blur');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'click':\n\t\t\t\t\t\tdirectEvents.push('click');\n\t\t\t\t\t\toppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// schedule show tooltip\n\t\t\tdirectEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(event) {\n\t\t\t\t\tif (_this5.isOpen) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tevent.usedByTooltip = true;\n\t\t\t\t\t!_this5.$_preventOpen && _this5.show({ event: event });\n\t\t\t\t};\n\t\t\t\t_this5.$_events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\n\t\t\t// schedule hide tooltip\n\t\t\toppositeEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(event) {\n\t\t\t\t\tif (event.usedByTooltip) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t_this5.hide({ event: event });\n\t\t\t\t};\n\t\t\t\t_this5.$_events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\t\t},\n\t\t$_scheduleShow: function $_scheduleShow() {\n\t\t\tvar skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tclearTimeout(this.$_scheduleTimer);\n\t\t\tif (skipDelay) {\n\t\t\t\tthis.$_show();\n\t\t\t} else {\n\t\t\t\t// defaults to 0\n\t\t\t\tvar computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n\t\t\t\tthis.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n\t\t\t}\n\t\t},\n\t\t$_scheduleHide: function $_scheduleHide() {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\t\tvar skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tclearTimeout(this.$_scheduleTimer);\n\t\t\tif (skipDelay) {\n\t\t\t\tthis.$_hide();\n\t\t\t} else {\n\t\t\t\t// defaults to 0\n\t\t\t\tvar computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n\t\t\t\tthis.$_scheduleTimer = setTimeout(function () {\n\t\t\t\t\tif (!_this6.isOpen) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// if we are hiding because of a mouseleave, we must check that the new\n\t\t\t\t\t// reference isn't the tooltip, because in this case we don't want to hide it\n\t\t\t\t\tif (event && event.type === 'mouseleave') {\n\t\t\t\t\t\tvar isSet = _this6.$_setTooltipNodeEvent(event);\n\n\t\t\t\t\t\t// if we set the new event, don't hide the tooltip yet\n\t\t\t\t\t\t// the new event will take care to hide it if necessary\n\t\t\t\t\t\tif (isSet) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t_this6.$_hide();\n\t\t\t\t}, computedDelay);\n\t\t\t}\n\t\t},\n\t\t$_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n\t\t\tvar _this7 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar popoverNode = this.$refs.popover;\n\n\t\t\tvar relatedreference = event.relatedreference || event.toElement;\n\n\t\t\tvar callback = function callback(event2) {\n\t\t\t\tvar relatedreference2 = event2.relatedreference || event2.toElement;\n\n\t\t\t\t// Remove event listener after call\n\t\t\t\tpopoverNode.removeEventListener(event.type, callback);\n\n\t\t\t\t// If the new reference is not the reference element\n\t\t\t\tif (!reference.contains(relatedreference2)) {\n\t\t\t\t\t// Schedule to hide tooltip\n\t\t\t\t\t_this7.hide({ event: event2 });\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (popoverNode.contains(relatedreference)) {\n\t\t\t\t// listen to mouseleave on the tooltip element to be able to hide the tooltip\n\t\t\t\tpopoverNode.addEventListener(event.type, callback);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\t\t$_removeEventListeners: function $_removeEventListeners() {\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tthis.$_events.forEach(function (_ref3) {\n\t\t\t\tvar func = _ref3.func,\n\t\t\t\t event = _ref3.event;\n\n\t\t\t\treference.removeEventListener(event, func);\n\t\t\t});\n\t\t\tthis.$_events = [];\n\t\t},\n\t\t$_updatePopper: function $_updatePopper(cb) {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tcb();\n\t\t\t\tthis.popperInstance.update();\n\t\t\t}\n\t\t},\n\t\t$_restartPopper: function $_restartPopper() {\n\t\t\tif (this.popperInstance) {\n\t\t\t\tvar isOpen = this.isOpen;\n\t\t\t\tthis.dispose();\n\t\t\t\tthis.$_init();\n\t\t\t\tif (isOpen) {\n\t\t\t\t\tthis.show();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t$_handleGlobalClose: function $_handleGlobalClose(event) {\n\t\t\tvar _this8 = this;\n\n\t\t\tvar touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tthis.hide({ event: event });\n\n\t\t\tif (event.closePopover) {\n\t\t\t\tthis.$emit('close-directive');\n\t\t\t} else {\n\t\t\t\tthis.$emit('auto-hide');\n\t\t\t}\n\n\t\t\tif (touch) {\n\t\t\t\tthis.$_preventOpen = true;\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t_this8.$_preventOpen = false;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t},\n\t\t$_handleResize: function $_handleResize() {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tthis.popperInstance.update();\n\t\t\t\tthis.$emit('resize');\n\t\t\t}\n\t\t}\n\t}\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n\tif (isIOS) {\n\t\tdocument.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n\t\t\tpassive: true\n\t\t} : false);\n\t} else {\n\t\twindow.addEventListener('click', handleGlobalClick);\n\t}\n}\n\nfunction handleGlobalClick(event) {\n\thandleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n\thandleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n\tvar touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\tvar popover = void 0;\n\tfor (var i = 0; i < openPopovers.length; i++) {\n\t\tpopover = openPopovers[i];\n\t\tvar contains = popover.$refs.popover.contains(event.target);\n\t\tif (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n\t\t\tpopover.$_handleGlobalClose(event, touch);\n\t\t}\n\t}\n}\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar lodash_merge = createCommonjsModule(function (module, exports) {\n/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = 'object' == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max;\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (typeof key == 'number' && value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n if (isHostObject(value)) {\n return object ? value : {};\n }\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (!isArr) {\n var props = isFull ? getAllKeys(value) : keys(value);\n }\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n });\n return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n if (!(isArray(source) || isTypedArray(source))) {\n var props = baseKeysIn(source);\n }\n arrayEach(props || source, function(srcValue, key) {\n if (props) {\n key = srcValue;\n srcValue = source[key];\n }\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(object[key], srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n });\n}\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = object[key],\n srcValue = source[key],\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n newValue = srcValue;\n if (isArray(srcValue) || isTypedArray(srcValue)) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else {\n isCommon = false;\n newValue = baseClone(srcValue, true);\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {\n isCommon = false;\n newValue = baseClone(srcValue, true);\n }\n else {\n newValue = objValue;\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var result = new buffer.constructor(buffer.length);\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return cloneMap(object, isDeep, cloneFunc);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) ||\n objectToString.call(value) != objectTag || isHostObject(value)) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return (typeof Ctor == 'function' &&\n Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = merge;\n});\n\nfunction install(Vue) {\n\tvar options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\tif (install.installed) return;\n\tinstall.installed = true;\n\n\tvar finalOptions = {};\n\tlodash_merge(finalOptions, defaultOptions, options);\n\n\tplugin.options = finalOptions;\n\tdirective.options = finalOptions;\n\n\tVue.directive('tooltip', directive);\n\tVue.directive('close-popover', vclosepopover);\n\tVue.component('v-popover', Popover);\n}\n\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = Popover;\n\nvar plugin = {\n\tinstall: install,\n\n\tget enabled() {\n\t\treturn state.enabled;\n\t},\n\n\tset enabled(value) {\n\t\tstate.enabled = value;\n\t}\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (plugin);\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))\n\n/***/ }),\n/* 42 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\",class:{'disabled': _vm.loading.delete || _vm.loading.disable}},[_c('div',{staticClass:\"avatar\",class:{'icon-loading-small': _vm.loading.delete || _vm.loading.disable}},[(!_vm.loading.delete && !_vm.loading.disable)?_c('img',{attrs:{\"alt\":\"\",\"width\":\"32\",\"height\":\"32\",\"src\":_vm.generateAvatar(_vm.user.id, 32),\"srcset\":_vm.generateAvatar(_vm.user.id, 64)+' 2x, '+_vm.generateAvatar(_vm.user.id, 128)+' 4x'}}):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(_vm.user.id))]),_vm._v(\" \"),_c('form',{staticClass:\"displayName\",class:{'icon-loading-small': _vm.loading.displayName},on:{\"submit\":function($event){$event.preventDefault();return _vm.updateDisplayName($event)}}},[_c('input',{ref:\"displayName\",attrs:{\"id\":'displayName'+_vm.user.id+_vm.rand,\"type\":\"text\",\"disabled\":_vm.loading.displayName||_vm.loading.all,\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"},domProps:{\"value\":_vm.user.displayname}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]),_vm._v(\" \"),(_vm.settings.canChangePassword)?_c('form',{staticClass:\"password\",class:{'icon-loading-small': _vm.loading.password},on:{\"submit\":function($event){$event.preventDefault();return _vm.updatePassword($event)}}},[_c('input',{ref:\"password\",attrs:{\"id\":'password'+_vm.user.id+_vm.rand,\"type\":\"password\",\"required\":\"\",\"disabled\":_vm.loading.password||_vm.loading.all,\"minlength\":_vm.minPasswordLength,\"value\":\"\",\"placeholder\":_vm.t('settings', 'New password'),\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]):_c('div'),_vm._v(\" \"),_c('form',{staticClass:\"mailAddress\",class:{'icon-loading-small': _vm.loading.mailAddress},on:{\"submit\":function($event){$event.preventDefault();return _vm.updateEmail($event)}}},[_c('input',{ref:\"mailAddress\",attrs:{\"id\":'mailAddress'+_vm.user.id+_vm.rand,\"type\":\"email\",\"disabled\":_vm.loading.mailAddress||_vm.loading.all,\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"},domProps:{\"value\":_vm.user.email}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"groups\",class:{'icon-loading-small': _vm.loading.groups}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userGroups,\"options\":_vm.groups,\"disabled\":_vm.loading.groups||_vm.loading.all,\"tag-placeholder\":\"create\",\"placeholder\":_vm.t('settings', 'Add user in group'),\"label\":\"name\",\"track-by\":\"id\",\"limit\":2,\"limitText\":_vm.limitGroups,\"multiple\":true,\"taggable\":true,\"closeOnSelect\":false},on:{\"tag\":_vm.createGroup,\"select\":_vm.addUserGroup,\"remove\":_vm.removeUserGroup}})],1),_vm._v(\" \"),(_vm.subAdminsGroups.length>0)?_c('div',{staticClass:\"subadmins\",class:{'icon-loading-small': _vm.loading.subadmins}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userSubAdminsGroups,\"options\":_vm.subAdminsGroups,\"disabled\":_vm.loading.subadmins||_vm.loading.all,\"placeholder\":_vm.t('settings', 'Set user as admin for'),\"label\":\"name\",\"track-by\":\"id\",\"limit\":2,\"limitText\":_vm.limitGroups,\"multiple\":true,\"closeOnSelect\":false},on:{\"select\":_vm.addUserSubAdmin,\"remove\":_vm.removeUserSubAdmin}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings','No result')))])])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"quota\",class:{'icon-loading-small': _vm.loading.quota}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userQuota,\"options\":_vm.quotaOptions,\"disabled\":_vm.loading.quota||_vm.loading.all,\"tag-placeholder\":\"create\",\"placeholder\":_vm.t('settings', 'Select user quota'),\"label\":\"label\",\"track-by\":\"id\",\"allowEmpty\":false,\"taggable\":true},on:{\"tag\":_vm.validateQuota,\"input\":_vm.setUserQuota}}),_vm._v(\" \"),_c('progress',{staticClass:\"quota-user-progress\",class:{'warn':_vm.usedQuota>80},attrs:{\"max\":\"100\"},domProps:{\"value\":_vm.usedQuota}})],1),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"languages\",class:{'icon-loading-small': _vm.loading.languages}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userLanguage,\"options\":_vm.languages,\"disabled\":_vm.loading.languages||_vm.loading.all,\"placeholder\":_vm.t('settings', 'No language set'),\"label\":\"name\",\"track-by\":\"code\",\"allowEmpty\":false,\"group-values\":\"languages\",\"group-label\":\"label\"},on:{\"input\":_vm.setUserLanguage}})],1):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('div',{staticClass:\"storageLocation\"},[_vm._v(_vm._s(_vm.user.storageLocation))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend)?_c('div',{staticClass:\"userBackend\"},[_vm._v(_vm._s(_vm.user.backend))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.user.lastLogin>0 ? _vm.OC.Util.formatDate(_vm.user.lastLogin) : ''),expression:\"user.lastLogin>0 ? OC.Util.formatDate(user.lastLogin) : ''\",modifiers:{\"auto\":true}}],staticClass:\"lastLogin\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.user.lastLogin>0 ? _vm.OC.Util.relativeModifiedDate(_vm.user.lastLogin) : _vm.t('settings','Never'))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"userActions\"},[(_vm.OC.currentUser !== _vm.user.id && _vm.user.id !== 'admin' && !_vm.loading.all)?_c('div',{staticClass:\"toggleUserActions\"},[_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.hideMenu),expression:\"hideMenu\"}],staticClass:\"icon-more\",on:{\"click\":_vm.toggleMenu}}),_vm._v(\" \"),_c('div',{staticClass:\"popovermenu\",class:{ 'open': _vm.openedMenu }},[_c('popover-menu',{attrs:{\"menu\":_vm.userActions}})],1)]):_vm._e()])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n!function(e,t){ true?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueInfiniteLoading=t():e.VueInfiniteLoading=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){function t(n){if(i[n])return i[n].exports;var a=i[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var i={};return t.m=e,t.c=i,t.d=function(e,i,n){t.o(e,i)||Object.defineProperty(e,i,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,\"a\",i),i},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"/\",t(t.s=3)}([function(e,t){function i(e,t){var i=e[1]||\"\",a=e[3];if(!a)return i;if(t&&\"function\"==typeof btoa){var r=n(a);return[i].concat(a.sources.map(function(e){return\"/*# sourceURL=\"+a.sourceRoot+e+\" */\"})).concat([r]).join(\"\\n\")}return[i].join(\"\\n\")}function n(e){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+\" */\"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=i(t,e);return t[2]?\"@media \"+t[2]+\"{\"+n+\"}\":n}).join(\"\")},t.i=function(e,i){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var n={},a=0;a<this.length;a++){var r=this[a][0];\"number\"==typeof r&&(n[r]=!0)}for(a=0;a<e.length;a++){var o=e[a];\"number\"==typeof o[0]&&n[o[0]]||(i&&!o[2]?o[2]=i:i&&(o[2]=\"(\"+o[2]+\") and (\"+i+\")\"),t.push(o))}},t}},function(e,t,i){function n(e){for(var t=0;t<e.length;t++){var i=e[t],n=f[i.id];if(n){n.refs++;for(var a=0;a<n.parts.length;a++)n.parts[a](i.parts[a]);for(;a<i.parts.length;a++)n.parts.push(r(i.parts[a]));n.parts.length>i.parts.length&&(n.parts.length=i.parts.length)}else{for(var o=[],a=0;a<i.parts.length;a++)o.push(r(i.parts[a]));f[i.id]={id:i.id,refs:1,parts:o}}}}function a(){var e=document.createElement(\"style\");return e.type=\"text/css\",c.appendChild(e),e}function r(e){var t,i,n=document.querySelector('style[data-vue-ssr-id~=\"'+e.id+'\"]');if(n){if(m)return h;n.parentNode.removeChild(n)}if(b){var r=p++;n=u||(u=a()),t=o.bind(null,n,r,!1),i=o.bind(null,n,r,!0)}else n=a(),t=s.bind(null,n),i=function(){n.parentNode.removeChild(n)};return t(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap)return;t(e=n)}else i()}}function o(e,t,i,n){var a=i?\"\":n.css;if(e.styleSheet)e.styleSheet.cssText=g(t,a);else{var r=document.createTextNode(a),o=e.childNodes;o[t]&&e.removeChild(o[t]),o.length?e.insertBefore(r,o[t]):e.appendChild(r)}}function s(e,t){var i=t.css,n=t.media,a=t.sourceMap;if(n&&e.setAttribute(\"media\",n),a&&(i+=\"\\n/*# sourceURL=\"+a.sources[0]+\" */\",i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+\" */\"),e.styleSheet)e.styleSheet.cssText=i;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(i))}}var l=\"undefined\"!=typeof document;if(\"undefined\"!=typeof DEBUG&&DEBUG&&!l)throw new Error(\"vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\");var d=i(7),f={},c=l&&(document.head||document.getElementsByTagName(\"head\")[0]),u=null,p=0,m=!1,h=function(){},b=\"undefined\"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());e.exports=function(e,t,i){m=i;var a=d(e,t);return n(a),function(t){for(var i=[],r=0;r<a.length;r++){var o=a[r],s=f[o.id];s.refs--,i.push(s)}t?(a=d(e,t),n(a)):a=[];for(var r=0;r<i.length;r++){var s=i[r];if(0===s.refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete f[s.id]}}}};var g=function(){var e=[];return function(t,i){return e[t]=i,e.filter(Boolean).join(\"\\n\")}}()},function(e,t){e.exports=function(e,t,i,n,a,r){var o,s=e=e||{},l=typeof e.default;\"object\"!==l&&\"function\"!==l||(o=e,s=e.default);var d=\"function\"==typeof s?s.options:s;t&&(d.render=t.render,d.staticRenderFns=t.staticRenderFns,d._compiled=!0),i&&(d.functional=!0),a&&(d._scopeId=a);var f;if(r?(f=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},d._ssrRegister=f):n&&(f=n),f){var c=d.functional,u=c?d.render:d.beforeCreate;c?(d._injectStyles=f,d.render=function(e,t){return f.call(t),u(e,t)}):d.beforeCreate=u?[].concat(u,f):[f]}return{esModule:o,exports:s,options:d}}},function(e,t,i){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=i(4);t.default=n.a,\"undefined\"!=typeof window&&window.Vue&&window.Vue.component(\"infinite-loading\",n.a)},function(e,t,i){\"use strict\";function n(e){i(5)}var a=i(8),r=i(14),o=i(2),s=n,l=o(a.a,r.a,!1,s,\"data-v-fb2c869e\",null);t.a=l.exports},function(e,t,i){var n=i(6);\"string\"==typeof n&&(n=[[e.i,n,\"\"]]),n.locals&&(e.exports=n.locals);i(1)(\"2249d7a7\",n,!0)},function(e,t,i){t=e.exports=i(0)(void 0),t.push([e.i,\".infinite-loading-container[data-v-fb2c869e]{clear:both;text-align:center}.infinite-loading-container[data-v-fb2c869e] [class^=loading-]{display:inline-block;margin:15px 0;width:28px;height:28px;font-size:28px;line-height:28px;border-radius:50%}.infinite-status-prompt[data-v-fb2c869e]{color:#666;font-size:14px;text-align:center;padding:10px 0}\",\"\"])},function(e,t){e.exports=function(e,t){for(var i=[],n={},a=0;a<t.length;a++){var r=t[a],o=r[0],s=r[1],l=r[2],d=r[3],f={id:e+\":\"+a,css:s,media:l,sourceMap:d};n[o]?n[o].parts.push(f):i.push(n[o]={id:o,parts:[f]})}return i}},function(e,t,i){\"use strict\";var n=i(9),a={STATE_CHANGER:[\"[Vue-infinite-loading warn]: emit `loaded` and `complete` event through component instance of `$refs` may cause error, so it will be deprecated soon, please use the `$state` argument instead (`$state` just the special `$event` variable):\",\"\\ntemplate:\",'<infinite-loading @infinite=\"infiniteHandler\"></infinite-loading>',\"\\nscript:\\n...\\ninfiniteHandler($state) {\\n ajax('https://www.example.com/api/news')\\n .then((res) => {\\n if (res.data.length) {\\n $state.loaded();\\n } else {\\n $state.complete();\\n }\\n });\\n}\\n...\",\"\",\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/57#issuecomment-324370549\"].join(\"\\n\"),INFINITE_EVENT:\"[Vue-infinite-loading warn]: `:on-infinite` property will be deprecated soon, please use `@infinite` event instead.\"},r={INFINITE_LOOP:[\"[Vue-infinite-loading error]: executed the callback function more than 10 times for a short time, it looks like searched a wrong scroll wrapper that doest not has fixed height or maximum height, please check it. If you want to force to set a element as scroll wrapper ranther than automatic searching, you can do this:\",'\\n\\x3c!-- add a special attribute for the real scroll wrapper --\\x3e\\n<div infinite-wrapper>\\n ...\\n \\x3c!-- set force-use-infinite-wrapper to true --\\x3e\\n <infinite-loading force-use-infinite-wrapper=\"true\"></infinite-loading>\\n</div>\\n ',\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/55#issuecomment-316934169\"].join(\"\\n\")};t.a={name:\"InfiniteLoading\",data:function(){return{scrollParent:null,scrollHandler:null,isLoading:!1,isComplete:!1,isFirstLoad:!0,debounceTimer:null,debounceDuration:50,infiniteLoopChecked:!1,infiniteLoopTimer:null,continuousCallTimes:0}},components:{Spinner:n.a},computed:{isNoResults:{cache:!1,get:function(){var e=this.$slots[\"no-results\"],t=e&&e[0].elm&&\"\"===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&this.isFirstLoad&&!t}},isNoMore:{cache:!1,get:function(){var e=this.$slots[\"no-more\"],t=e&&e[0].elm&&\"\"===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&!this.isFirstLoad&&!t}}},props:{distance:{type:Number,default:100},onInfinite:Function,spinner:String,direction:{type:String,default:\"bottom\"},forceUseInfiniteWrapper:null},mounted:function(){var e=this;this.scrollParent=this.getScrollParent(),this.scrollHandler=function(e){this.isLoading||(clearTimeout(this.debounceTimer),e&&e.constructor===Event?this.debounceTimer=setTimeout(this.attemptLoad,this.debounceDuration):this.attemptLoad())}.bind(this),setTimeout(this.scrollHandler,1),this.scrollParent.addEventListener(\"scroll\",this.scrollHandler),this.$on(\"$InfiniteLoading:loaded\",function(t){e.isFirstLoad=!1,e.isLoading&&e.$nextTick(e.attemptLoad.bind(null,!0)),t&&t.target===e||console.warn(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:complete\",function(t){e.isLoading=!1,e.isComplete=!0,e.$nextTick(function(){e.$forceUpdate()}),e.scrollParent.removeEventListener(\"scroll\",e.scrollHandler),t&&t.target===e||console.warn(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:reset\",function(){e.isLoading=!1,e.isComplete=!1,e.isFirstLoad=!0,e.scrollParent.addEventListener(\"scroll\",e.scrollHandler),setTimeout(e.scrollHandler,1)}),this.onInfinite&&console.warn(a.INFINITE_EVENT),this.stateChanger={loaded:function(){e.$emit(\"$InfiniteLoading:loaded\",{target:e})},complete:function(){e.$emit(\"$InfiniteLoading:complete\",{target:e})},reset:function(){e.$emit(\"$InfiniteLoading:reset\",{target:e})}},this.$watch(\"forceUseInfiniteWrapper\",function(){e.scrollParent=e.getScrollParent()})},deactivated:function(){this.isLoading=!1,this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler)},activated:function(){this.scrollParent.addEventListener(\"scroll\",this.scrollHandler)},methods:{attemptLoad:function(e){var t=this,i=this.getCurrentDistance();!this.isComplete&&i<=this.distance&&this.$el.offsetWidth+this.$el.offsetHeight>0?(this.isLoading=!0,\"function\"==typeof this.onInfinite?this.onInfinite.call(null,this.stateChanger):this.$emit(\"infinite\",this.stateChanger),!e||this.forceUseInfiniteWrapper||this.infiniteLoopChecked||(this.continuousCallTimes+=1,clearTimeout(this.infiniteLoopTimer),this.infiniteLoopTimer=setTimeout(function(){t.infiniteLoopChecked=!0},1e3),this.continuousCallTimes>10&&(console.error(r.INFINITE_LOOP),this.infiniteLoopChecked=!0))):this.isLoading=!1},getCurrentDistance:function(){var e=void 0;if(\"top\"===this.direction)e=isNaN(this.scrollParent.scrollTop)?this.scrollParent.pageYOffset:this.scrollParent.scrollTop;else{e=this.$el.getBoundingClientRect().top-(this.scrollParent===window?window.innerHeight:this.scrollParent.getBoundingClientRect().bottom)}return e},getScrollParent:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.$el,t=void 0;return\"BODY\"===e.tagName?t=window:!this.forceUseInfiniteWrapper&&[\"scroll\",\"auto\"].indexOf(getComputedStyle(e).overflowY)>-1?t=e:(e.hasAttribute(\"infinite-wrapper\")||e.hasAttribute(\"data-infinite-wrapper\"))&&(t=e),t||this.getScrollParent(e.parentNode)}},destroyed:function(){this.isComplete||this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler)}}},function(e,t,i){\"use strict\";function n(e){i(10)}var a=i(12),r=i(13),o=i(2),s=n,l=o(a.a,r.a,!1,s,\"data-v-6e1fd88f\",null);t.a=l.exports},function(e,t,i){var n=i(11);\"string\"==typeof n&&(n=[[e.i,n,\"\"]]),n.locals&&(e.exports=n.locals);i(1)(\"29881045\",n,!0)},function(e,t,i){t=e.exports=i(0)(void 0),t.push([e.i,'.loading-wave-dots[data-v-6e1fd88f]{position:relative}.loading-wave-dots[data-v-6e1fd88f] .wave-item{position:absolute;top:50%;left:50%;display:inline-block;margin-top:-4px;width:8px;height:8px;border-radius:50%;-webkit-animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite;animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite}.loading-wave-dots[data-v-6e1fd88f] .wave-item:first-child{margin-left:-36px}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(2){margin-left:-20px;-webkit-animation-delay:.14s;animation-delay:.14s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(3){margin-left:-4px;-webkit-animation-delay:.28s;animation-delay:.28s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(4){margin-left:12px;-webkit-animation-delay:.42s;animation-delay:.42s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:last-child{margin-left:28px;-webkit-animation-delay:.56s;animation-delay:.56s}@-webkit-keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}@keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}.loading-circles[data-v-6e1fd88f] .circle-item{width:5px;height:5px;-webkit-animation:loading-circles-data-v-6e1fd88f linear .75s infinite;animation:loading-circles-data-v-6e1fd88f linear .75s infinite}.loading-circles[data-v-6e1fd88f] .circle-item:first-child{margin-top:-14.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){margin-top:-11.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){margin-top:-2.5px;margin-left:9.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){margin-top:6.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){margin-top:9.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){margin-top:6.26px;margin-left:-11.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){margin-top:-2.5px;margin-left:-14.5px}.loading-circles[data-v-6e1fd88f] .circle-item:last-child{margin-top:-11.26px;margin-left:-11.26px}@-webkit-keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}@keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}.loading-bubbles[data-v-6e1fd88f] .bubble-item{background:#666;-webkit-animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite;animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite}.loading-bubbles[data-v-6e1fd88f] .bubble-item:first-child{margin-top:-12.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2){margin-top:-9.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3){margin-top:-.5px;margin-left:11.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4){margin-top:8.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5){margin-top:11.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6){margin-top:8.26px;margin-left:-9.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7){margin-top:-.5px;margin-left:-12.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child{margin-top:-9.26px;margin-left:-9.26px}@-webkit-keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}@keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}.loading-default[data-v-6e1fd88f]{position:relative;border:1px solid #999;-webkit-animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite;animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite}.loading-default[data-v-6e1fd88f]:before{content:\"\";position:absolute;display:block;top:0;left:50%;margin-top:-3px;margin-left:-3px;width:6px;height:6px;background-color:#999;border-radius:50%}.loading-spiral[data-v-6e1fd88f]{border:2px solid #777;border-right-color:transparent;-webkit-animation:loading-rotating-data-v-6e1fd88f linear .85s infinite;animation:loading-rotating-data-v-6e1fd88f linear .85s infinite}@-webkit-keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-bubbles[data-v-6e1fd88f],.loading-circles[data-v-6e1fd88f]{position:relative}.loading-bubbles[data-v-6e1fd88f] .bubble-item,.loading-circles[data-v-6e1fd88f] .circle-item{position:absolute;top:50%;left:50%;display:inline-block;border-radius:50%}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){-webkit-animation-delay:93ms;animation-delay:93ms}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){-webkit-animation-delay:.186s;animation-delay:.186s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){-webkit-animation-delay:.279s;animation-delay:.279s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){-webkit-animation-delay:.372s;animation-delay:.372s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){-webkit-animation-delay:.465s;animation-delay:.465s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){-webkit-animation-delay:.558s;animation-delay:.558s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child,.loading-circles[data-v-6e1fd88f] .circle-item:last-child{-webkit-animation-delay:.651s;animation-delay:.651s}',\"\"])},function(e,t,i){\"use strict\";var n={BUBBLES:{render:function(e){return e(\"span\",{attrs:{class:\"loading-bubbles\"}},Array.apply(Array,Array(8)).map(function(){return e(\"span\",{attrs:{class:\"bubble-item\"}})}))}},CIRCLES:{render:function(e){return e(\"span\",{attrs:{class:\"loading-circles\"}},Array.apply(Array,Array(8)).map(function(){return e(\"span\",{attrs:{class:\"circle-item\"}})}))}},DEFAULT:{render:function(e){return e(\"i\",{attrs:{class:\"loading-default\"}})}},SPIRAL:{render:function(e){return e(\"i\",{attrs:{class:\"loading-spiral\"}})}},WAVEDOTS:{render:function(e){return e(\"span\",{attrs:{class:\"loading-wave-dots\"}},Array.apply(Array,Array(5)).map(function(){return e(\"span\",{attrs:{class:\"wave-item\"}})}))}}};t.a={name:\"spinner\",computed:{spinnerView:function(){return n[(this.spinner||\"\").toUpperCase()]||n.DEFAULT}},props:{spinner:String}}},function(e,t,i){\"use strict\";var n=function(){var e=this,t=e.$createElement;return(e._self._c||t)(e.spinnerView,{tag:\"component\"})},a=[],r={render:n,staticRenderFns:a};t.a=r},function(e,t,i){\"use strict\";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(\"div\",{staticClass:\"infinite-loading-container\"},[i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isLoading,expression:\"isLoading\"}]},[e._t(\"spinner\",[i(\"spinner\",{attrs:{spinner:e.spinner}})])],2),e._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isNoResults,expression:\"isNoResults\"}],staticClass:\"infinite-status-prompt\"},[e._t(\"no-results\",[e._v(\"No results :(\")])],2),e._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isNoMore,expression:\"isNoMore\"}],staticClass:\"infinite-status-prompt\"},[e._t(\"no-more\",[e._v(\"No more data :)\")])],2)])},a=[],r={render:n,staticRenderFns:a};t.a=r}])});\n\n/***/ }),\n/* 44 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-list-grid\",attrs:{\"id\":\"app-content\"},on:{\"&scroll\":function($event){return _vm.onScroll($event)}}},[_c('div',{staticClass:\"row\",class:{'sticky': _vm.scrolled && !_vm.showConfig.showNewUserForm},attrs:{\"id\":\"grid-header\"}},[_c('div',{staticClass:\"avatar\",attrs:{\"id\":\"headerAvatar\"}}),_vm._v(\" \"),_c('div',{staticClass:\"name\",attrs:{\"id\":\"headerName\"}},[_vm._v(_vm._s(_vm.t('settings', 'Username')))]),_vm._v(\" \"),_c('div',{staticClass:\"displayName\",attrs:{\"id\":\"headerDisplayName\"}},[_vm._v(_vm._s(_vm.t('settings', 'Full name')))]),_vm._v(\" \"),_c('div',{staticClass:\"password\",attrs:{\"id\":\"headerPassword\"}},[_vm._v(_vm._s(_vm.t('settings', 'Password')))]),_vm._v(\" \"),_c('div',{staticClass:\"mailAddress\",attrs:{\"id\":\"headerAddress\"}},[_vm._v(_vm._s(_vm.t('settings', 'Email')))]),_vm._v(\" \"),_c('div',{staticClass:\"groups\",attrs:{\"id\":\"headerGroups\"}},[_vm._v(_vm._s(_vm.t('settings', 'Groups')))]),_vm._v(\" \"),(_vm.subAdminsGroups.length>0)?_c('div',{staticClass:\"subadmins\",attrs:{\"id\":\"headerSubAdmins\"}},[_vm._v(_vm._s(_vm.t('settings', 'Group admin for')))]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"quota\",attrs:{\"id\":\"headerQuota\"}},[_vm._v(_vm._s(_vm.t('settings', 'Quota')))]),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"languages\",attrs:{\"id\":\"headerLanguages\"}},[_vm._v(_vm._s(_vm.t('settings', 'Languages')))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('div',{staticClass:\"headerStorageLocation storageLocation\"},[_vm._v(_vm._s(_vm.t('settings', 'Storage location')))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend)?_c('div',{staticClass:\"headerUserBackend userBackend\"},[_vm._v(_vm._s(_vm.t('settings', 'User backend')))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('div',{staticClass:\"headerLastLogin lastLogin\"},[_vm._v(_vm._s(_vm.t('settings', 'Last login')))]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"userActions\"})]),_vm._v(\" \"),_c('form',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showConfig.showNewUserForm),expression:\"showConfig.showNewUserForm\"}],staticClass:\"row\",class:{'sticky': _vm.scrolled && _vm.showConfig.showNewUserForm},attrs:{\"id\":\"new-user\",\"disabled\":_vm.loading},on:{\"submit\":function($event){$event.preventDefault();return _vm.createUser($event)}}},[_c('div',{class:_vm.loading?'icon-loading-small':'icon-add'}),_vm._v(\" \"),_c('div',{staticClass:\"name\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.id),expression:\"newUser.id\"}],attrs:{\"id\":\"newusername\",\"type\":\"text\",\"required\":\"\",\"placeholder\":_vm.t('settings', 'User name'),\"name\":\"username\",\"autocomplete\":\"off\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\",\"pattern\":\"[a-zA-Z0-9 _\\\\.@\\\\-']+\"},domProps:{\"value\":(_vm.newUser.id)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"id\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"displayName\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.displayName),expression:\"newUser.displayName\"}],attrs:{\"id\":\"newdisplayname\",\"type\":\"text\",\"placeholder\":_vm.t('settings', 'Display name'),\"name\":\"displayname\",\"autocomplete\":\"off\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\"},domProps:{\"value\":(_vm.newUser.displayName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"displayName\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"password\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.password),expression:\"newUser.password\"}],attrs:{\"id\":\"newuserpassword\",\"type\":\"password\",\"required\":_vm.newUser.mailAddress==='',\"placeholder\":_vm.t('settings', 'Password'),\"name\":\"password\",\"autocomplete\":\"new-password\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\",\"minlength\":_vm.minPasswordLength},domProps:{\"value\":(_vm.newUser.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"password\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"mailAddress\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.mailAddress),expression:\"newUser.mailAddress\"}],attrs:{\"id\":\"newemail\",\"type\":\"email\",\"required\":_vm.newUser.password==='',\"placeholder\":_vm.t('settings', 'Mail address'),\"name\":\"email\",\"autocomplete\":\"off\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\"},domProps:{\"value\":(_vm.newUser.mailAddress)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"mailAddress\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"groups\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.groups,\"placeholder\":_vm.t('settings', 'Add user in group'),\"label\":\"name\",\"track-by\":\"id\",\"multiple\":true,\"close-on-select\":false},model:{value:(_vm.newUser.groups),callback:function ($$v) {_vm.$set(_vm.newUser, \"groups\", $$v)},expression:\"newUser.groups\"}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings','No result')))])])],1),_vm._v(\" \"),(_vm.subAdminsGroups.length>0)?_c('div',{staticClass:\"subadmins\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.subAdminsGroups,\"placeholder\":_vm.t('settings', 'Set user as admin for'),\"label\":\"name\",\"track-by\":\"id\",\"multiple\":true,\"close-on-select\":false},model:{value:(_vm.newUser.subAdminsGroups),callback:function ($$v) {_vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)},expression:\"newUser.subAdminsGroups\"}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings','No result')))])])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"quota\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.quotaOptions,\"placeholder\":_vm.t('settings', 'Select user quota'),\"label\":\"label\",\"track-by\":\"id\",\"allowEmpty\":false,\"taggable\":true},on:{\"tag\":_vm.validateQuota},model:{value:(_vm.newUser.quota),callback:function ($$v) {_vm.$set(_vm.newUser, \"quota\", $$v)},expression:\"newUser.quota\"}})],1),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"languages\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.languages,\"placeholder\":_vm.t('settings', 'Default language'),\"label\":\"name\",\"track-by\":\"code\",\"allowEmpty\":false,\"group-values\":\"languages\",\"group-label\":\"label\"},model:{value:(_vm.newUser.language),callback:function ($$v) {_vm.$set(_vm.newUser, \"language\", $$v)},expression:\"newUser.language\"}})],1):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('div',{staticClass:\"storageLocation\"}):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend)?_c('div',{staticClass:\"userBackend\"}):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('div',{staticClass:\"lastLogin\"}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"userActions\"},[_c('input',{staticClass:\"button primary icon-checkmark-white has-tooltip\",attrs:{\"type\":\"submit\",\"id\":\"newsubmit\",\"value\":\"\",\"title\":_vm.t('settings', 'Add a new user')}}),_vm._v(\" \"),_c('input',{staticClass:\"button icon-close has-tooltip\",attrs:{\"type\":\"reset\",\"id\":\"newreset\",\"value\":\"\",\"title\":_vm.t('settings', 'Cancel and reset the form')},on:{\"click\":_vm.resetForm}})])]),_vm._v(\" \"),_vm._l((_vm.filteredUsers),function(user,key){return _c('user-row',{key:key,attrs:{\"user\":user,\"settings\":_vm.settings,\"showConfig\":_vm.showConfig,\"groups\":_vm.groups,\"subAdminsGroups\":_vm.subAdminsGroups,\"quotaOptions\":_vm.quotaOptions,\"languages\":_vm.languages}})}),_vm._v(\" \"),_c('infinite-loading',{ref:\"infiniteLoading\",on:{\"infinite\":_vm.infiniteHandler}},[_c('div',{attrs:{\"slot\":\"spinner\"},slot:\"spinner\"},[_c('div',{staticClass:\"users-icon-loading icon-loading\"})]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"no-more\"},slot:\"no-more\"},[_c('div',{staticClass:\"users-list-end\"},[_vm._v(\"— \"+_vm._s(_vm.t('settings', 'no more results'))+\" —\")])]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"no-results\"},slot:\"no-results\"},[_c('div',{attrs:{\"id\":\"emptycontent\"}},[_c('div',{staticClass:\"icon-contacts-dark\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'No users in here')))])])])])],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * vue-local-storage v0.6.0\n * (c) 2017 Alexander Avakov\n * @license MIT\n */\n(function (global, factory) {\n\t true ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.VueLocalStorage = factory());\n}(this, (function () { 'use strict';\n\nvar VueLocalStorage = function VueLocalStorage () {\n this._properties = {};\n this._namespace = '';\n this._isSupported = true;\n};\n\nvar prototypeAccessors = { namespace: {} };\n\n/**\n * Namespace getter.\n *\n * @returns {string}\n */\nprototypeAccessors.namespace.get = function () {\n return this._namespace\n};\n\n/**\n * Namespace setter.\n *\n * @param {string} value\n */\nprototypeAccessors.namespace.set = function (value) {\n this._namespace = value ? (value + \".\") : '';\n};\n\n/**\n * Concatenates localStorage key with namespace prefix.\n *\n * @param {string} lsKey\n * @returns {string}\n * @private\n */\nVueLocalStorage.prototype._getLsKey = function _getLsKey (lsKey) {\n return (\"\" + (this._namespace) + lsKey)\n};\n\n/**\n * Set a value to localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @param {*} rawValue\n * @param {*} type\n * @private\n */\nVueLocalStorage.prototype._lsSet = function _lsSet (lsKey, rawValue, type) {\n var key = this._getLsKey(lsKey);\n var value = type && [Array, Object].includes(type)\n ? JSON.stringify(rawValue)\n : rawValue;\n\n window.localStorage.setItem(key, value);\n};\n\n/**\n * Get value from localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @returns {any}\n * @private\n */\nVueLocalStorage.prototype._lsGet = function _lsGet (lsKey) {\n var key = this._getLsKey(lsKey);\n\n return window.localStorage[key]\n};\n\n/**\n * Get value from localStorage\n *\n * @param {String} lsKey\n * @param {*} defaultValue\n * @param {*} defaultType\n * @returns {*}\n */\nVueLocalStorage.prototype.get = function get (lsKey, defaultValue, defaultType) {\n var this$1 = this;\n if ( defaultValue === void 0 ) defaultValue = null;\n if ( defaultType === void 0 ) defaultType = String;\n\n if (!this._isSupported) {\n return null\n }\n\n if (this._lsGet(lsKey)) {\n var type = defaultType;\n\n for (var key in this$1._properties) {\n if (key === lsKey) {\n type = this$1._properties[key].type;\n break\n }\n }\n\n return this._process(type, this._lsGet(lsKey))\n }\n\n return defaultValue !== null ? defaultValue : null\n};\n\n/**\n * Set localStorage value\n *\n * @param {String} lsKey\n * @param {*} value\n * @returns {*}\n */\nVueLocalStorage.prototype.set = function set (lsKey, value) {\n var this$1 = this;\n\n if (!this._isSupported) {\n return null\n }\n\n for (var key in this$1._properties) {\n var type = this$1._properties[key].type;\n\n if ((key === lsKey)) {\n this$1._lsSet(lsKey, value, type);\n\n return value\n }\n }\n\n this._lsSet(lsKey, value);\n\n return value\n};\n\n/**\n * Remove value from localStorage\n *\n * @param {String} lsKey\n */\nVueLocalStorage.prototype.remove = function remove (lsKey) {\n if (!this._isSupported) {\n return null\n }\n\n return window.localStorage.removeItem(lsKey)\n};\n\n/**\n * Add new property to localStorage\n *\n * @param {String} key\n * @param {function} type\n * @param {*} defaultValue\n */\nVueLocalStorage.prototype.addProperty = function addProperty (key, type, defaultValue) {\n if ( defaultValue === void 0 ) defaultValue = undefined;\n\n type = type || String;\n\n this._properties[key] = { type: type };\n\n if (!this._lsGet(key) && defaultValue !== null) {\n this._lsSet(key, defaultValue, type);\n }\n};\n\n/**\n * Process the value before return it from localStorage\n *\n * @param {String} type\n * @param {*} value\n * @returns {*}\n * @private\n */\nVueLocalStorage.prototype._process = function _process (type, value) {\n switch (type) {\n case Boolean:\n return value === 'true'\n case Number:\n return parseFloat(value)\n case Array:\n try {\n var array = JSON.parse(value);\n\n return Array.isArray(array) ? array : []\n } catch (e) {\n return []\n }\n case Object:\n try {\n return JSON.parse(value)\n } catch (e) {\n return {}\n }\n default:\n return value\n }\n};\n\nObject.defineProperties( VueLocalStorage.prototype, prototypeAccessors );\n\nvar vueLocalStorage = new VueLocalStorage();\n\nvar index = {\n /**\n * Install vue-local-storage plugin\n *\n * @param {Vue} Vue\n * @param {Object} options\n */\n install: function (Vue, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof process !== 'undefined' &&\n (\n process.server ||\n process.SERVER_BUILD ||\n (Object({\"NODE_ENV\":\"production\"}) && Object({\"NODE_ENV\":\"production\"}).VUE_ENV === 'server')\n )\n ) {\n return\n }\n\n var isSupported = true;\n\n try {\n var test = '__vue-localstorage-test__';\n\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n } catch (e) {\n isSupported = false;\n vueLocalStorage._isSupported = false;\n\n console.error('Local storage is not supported');\n }\n\n var name = options.name || 'localStorage';\n var bind = options.bind;\n\n if (options.namespace) {\n vueLocalStorage.namespace = options.namespace;\n }\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n var this$1 = this;\n\n if (!isSupported) {\n return\n }\n\n if (this.$options[name]) {\n Object.keys(this.$options[name]).forEach(function (key) {\n var config = this$1.$options[name][key];\n var ref = [config.type, config.default];\n var type = ref[0];\n var defaultValue = ref[1];\n\n vueLocalStorage.addProperty(key, type, defaultValue);\n\n var existingProp = Object.getOwnPropertyDescriptor(vueLocalStorage, key);\n\n if (!existingProp) {\n var prop = {\n get: function () { return Vue.localStorage.get(key, defaultValue); },\n set: function (val) { return Vue.localStorage.set(key, val); },\n configurable: true\n };\n\n Object.defineProperty(vueLocalStorage, key, prop);\n Vue.util.defineReactive(vueLocalStorage, key, defaultValue);\n } else if (!Vue.config.silent) {\n console.log((key + \": is already defined and will be reused\"));\n }\n\n if ((bind || config.bind) && config.bind !== false) {\n this$1.$options.computed = this$1.$options.computed || {};\n\n if (!this$1.$options.computed[key]) {\n this$1.$options.computed[key] = {\n get: function () { return Vue.localStorage[key]; },\n set: function (val) { Vue.localStorage[key] = val; }\n };\n }\n }\n });\n }\n }\n });\n\n Vue[name] = vueLocalStorage;\n Vue.prototype[(\"$\" + name)] = vueLocalStorage;\n }\n};\n\nreturn index;\n\n})));\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(47);\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\nvar bind = __webpack_require__(18);\nvar Axios = __webpack_require__(49);\nvar defaults = __webpack_require__(7);\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = __webpack_require__(22);\naxios.CancelToken = __webpack_require__(63);\naxios.isCancel = __webpack_require__(21);\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = __webpack_require__(64);\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports) {\n\n/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar defaults = __webpack_require__(7);\nvar utils = __webpack_require__(0);\nvar InterceptorManager = __webpack_require__(58);\nvar dispatchRequest = __webpack_require__(59);\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createError = __webpack_require__(20);\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\nvar transformData = __webpack_require__(60);\nvar isCancel = __webpack_require__(21);\nvar defaults = __webpack_require__(7);\nvar isAbsoluteURL = __webpack_require__(61);\nvar combineURLs = __webpack_require__(62);\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar Cancel = __webpack_require__(22);\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('app-navigation',{attrs:{\"menu\":_vm.menu}},[_c('template',{slot:\"settings-content\"},[_c('div',[_c('p',[_vm._v(_vm._s(_vm.t('settings', 'Default quota :')))]),_vm._v(\" \"),_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.defaultQuota,\"options\":_vm.quotaOptions,\"tag-placeholder\":\"create\",\"placeholder\":_vm.t('settings', 'Select default quota'),\"label\":\"label\",\"track-by\":\"id\",\"allowEmpty\":false,\"taggable\":true},on:{\"tag\":_vm.validateQuota,\"input\":_vm.setDefaultQuota}})],1),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showLanguages),expression:\"showLanguages\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showLanguages\"},domProps:{\"checked\":_vm.showLanguages,\"checked\":Array.isArray(_vm.showLanguages)?_vm._i(_vm.showLanguages,null)>-1:(_vm.showLanguages)},on:{\"change\":function($event){var $$a=_vm.showLanguages,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showLanguages=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showLanguages=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showLanguages=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showLanguages\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show Languages')))])]),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showLastLogin),expression:\"showLastLogin\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showLastLogin\"},domProps:{\"checked\":_vm.showLastLogin,\"checked\":Array.isArray(_vm.showLastLogin)?_vm._i(_vm.showLastLogin,null)>-1:(_vm.showLastLogin)},on:{\"change\":function($event){var $$a=_vm.showLastLogin,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showLastLogin=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showLastLogin=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showLastLogin=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showLastLogin\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show last login')))])]),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showUserBackend),expression:\"showUserBackend\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showUserBackend\"},domProps:{\"checked\":_vm.showUserBackend,\"checked\":Array.isArray(_vm.showUserBackend)?_vm._i(_vm.showUserBackend,null)>-1:(_vm.showUserBackend)},on:{\"change\":function($event){var $$a=_vm.showUserBackend,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showUserBackend=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showUserBackend=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showUserBackend=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showUserBackend\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show user backend')))])]),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showStoragePath),expression:\"showStoragePath\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showStoragePath\"},domProps:{\"checked\":_vm.showStoragePath,\"checked\":Array.isArray(_vm.showStoragePath)?_vm._i(_vm.showStoragePath,null)>-1:(_vm.showStoragePath)},on:{\"change\":function($event){var $$a=_vm.showStoragePath,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showStoragePath=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showStoragePath=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showStoragePath=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showStoragePath\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show storage path')))])])])],2),_vm._v(\" \"),_c('user-list',{attrs:{\"users\":_vm.users,\"showConfig\":_vm.showConfig,\"selectedGroup\":_vm.selectedGroup}})],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 66 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vuex__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__users__ = __webpack_require__(68);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__settings__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__oc__ = __webpack_require__(70);\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_1_vuex__[\"a\" /* default */]);\n\nvar debug = \"production\" !== 'production';\n\nvar mutations = {\n\tAPI_FAILURE: function API_FAILURE(state, error) {\n\t\tconsole.log(state, error);\n\t\tOC.Notification.showTemporary(t('settings', 'An error occured during the request. Unable to proceed.'));\n\t}\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (new __WEBPACK_IMPORTED_MODULE_1_vuex__[\"a\" /* default */].Store({\n\tmodules: {\n\t\tusers: __WEBPACK_IMPORTED_MODULE_2__users__[\"a\" /* default */],\n\t\tsettings: __WEBPACK_IMPORTED_MODULE_3__settings__[\"a\" /* default */],\n\t\toc: __WEBPACK_IMPORTED_MODULE_4__oc__[\"a\" /* default */]\n\t},\n\tstrict: debug,\n\n\tmutations: mutations\n}));\n\n/***/ }),\n/* 67 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export Store */\n/* unused harmony export install */\n/* unused harmony export mapState */\n/* unused harmony export mapMutations */\n/* unused harmony export mapGetters */\n/* unused harmony export mapActions */\n/* unused harmony export createNamespacedHelpers */\n/**\n * vuex v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\nvar applyMixin = function (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n};\n\nvar devtoolHook =\n typeof window !== 'undefined' &&\n window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array<Object>} cache\n * @return {*}\n */\n\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n this._children = Object.create(null);\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors$1 = { namespaced: { configurable: true } };\n\nprototypeAccessors$1.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors$1 );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if (false) {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n if (!parent.getChild(key).runtime) { return }\n\n parent.removeChild(key);\n};\n\nfunction update (path, targetModule, newModule) {\n if (false) {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if (false) {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if (false) {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"Store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n var state = options.state; if ( state === void 0 ) state = {};\n if (typeof state === 'function') {\n state = state() || {};\n }\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n if (Vue.config.devtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors = { state: { configurable: true } };\n\nprototypeAccessors.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors.state.set = function (v) {\n if (false) {\n assert(false, \"Use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if (false) {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n this._subscribers.forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n false\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if (false) {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n this._actionSubscribers.forEach(function (sub) { return sub(action, this$1.state); });\n\n return entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload)\n};\n\nStore.prototype.subscribe = function subscribe (fn) {\n return genericSubscribe(fn, this._subscribers)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn) {\n return genericSubscribe(fn, this._actionSubscribers)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if (false) {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if (false) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if (false) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors );\n\nfunction genericSubscribe (fn, subs) {\n if (subs.indexOf(fn) < 0) {\n subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n computed[key] = function () { return fn(store); };\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (false) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (false) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n var gettersProxy = {};\n\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n\n return gettersProxy\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload, cb) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload, cb);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if (false) {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if (false) {\n assert(store._committing, \"Do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.length\n ? path.reduce(function (state, key) { return state[key]; }, state)\n : state\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if (false) {\n assert(typeof type === 'string', (\"Expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if (false) {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if (false) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\nfunction normalizeMap (map) {\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if (false) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\nvar index_esm = {\n Store: Store,\n install: install,\n version: '3.0.1',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (index_esm);\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__api__ = __webpack_require__(4);\n\n\nvar orderGroups = function orderGroups(groups, orderBy) {\n\t/* const SORT_USERCOUNT = 1;\n * const SORT_GROUPNAME = 2;\n * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n */\n\tif (orderBy === 1) {\n\t\treturn groups.sort(function (a, b) {\n\t\t\treturn a.usercount < b.usercount;\n\t\t});\n\t} else {\n\t\treturn groups.sort(function (a, b) {\n\t\t\treturn a.name.localeCompare(b.name);\n\t\t});\n\t}\n};\n\nvar state = {\n\tusers: [],\n\tgroups: [],\n\torderBy: 1,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tuserCount: 0\n};\n\nvar mutations = {\n\tappendUsers: function appendUsers(state, usersObj) {\n\t\t// convert obj to array\n\t\tvar users = state.users.concat(Object.keys(usersObj).map(function (userid) {\n\t\t\treturn usersObj[userid];\n\t\t}));\n\t\tstate.usersOffset += state.usersLimit;\n\t\tstate.users = users;\n\t},\n\tsetPasswordPolicyMinLength: function setPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length !== '' ? length : 0;\n\t},\n\tinitGroups: function initGroups(state, _ref) {\n\t\tvar groups = _ref.groups,\n\t\t orderBy = _ref.orderBy,\n\t\t userCount = _ref.userCount;\n\n\t\tstate.groups = groups;\n\t\tstate.orderBy = orderBy;\n\t\tstate.userCount = userCount;\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t},\n\taddGroup: function addGroup(state, gid) {\n\t\ttry {\n\t\t\tstate.groups.push({\n\t\t\t\tid: gid,\n\t\t\t\tname: gid,\n\t\t\t\tusercount: 0 // user will be added after the creation\n\t\t\t});\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t\t} catch (e) {\n\t\t\tconsole.log('Can\\'t create group', e);\n\t\t}\n\t},\n\tremoveGroup: function removeGroup(state, gid) {\n\t\tvar groupIndex = state.groups.findIndex(function (groupSearch) {\n\t\t\treturn groupSearch.id == gid;\n\t\t});\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1);\n\t\t}\n\t},\n\taddUserGroup: function addUserGroup(state, _ref2) {\n\t\tvar userid = _ref2.userid,\n\t\t gid = _ref2.gid;\n\n\t\tvar group = state.groups.find(function (groupSearch) {\n\t\t\treturn groupSearch.id == gid;\n\t\t});\n\t\tif (group) {\n\t\t\tgroup.usercount++; // increase count\n\t\t}\n\t\tvar groups = state.users.find(function (user) {\n\t\t\treturn user.id == userid;\n\t\t}).groups;\n\t\tgroups.push(gid);\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t},\n\tremoveUserGroup: function removeUserGroup(state, _ref3) {\n\t\tvar userid = _ref3.userid,\n\t\t gid = _ref3.gid;\n\n\t\tvar group = state.groups.find(function (groupSearch) {\n\t\t\treturn groupSearch.id == gid;\n\t\t});\n\t\tif (group) {\n\t\t\tgroup.usercount--; // lower count\n\t\t}\n\t\tvar groups = state.users.find(function (user) {\n\t\t\treturn user.id == userid;\n\t\t}).groups;\n\t\tgroups.splice(groups.indexOf(gid), 1);\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t},\n\taddUserSubAdmin: function addUserSubAdmin(state, _ref4) {\n\t\tvar userid = _ref4.userid,\n\t\t gid = _ref4.gid;\n\n\t\tvar groups = state.users.find(function (user) {\n\t\t\treturn user.id == userid;\n\t\t}).subadmin;\n\t\tgroups.push(gid);\n\t},\n\tremoveUserSubAdmin: function removeUserSubAdmin(state, _ref5) {\n\t\tvar userid = _ref5.userid,\n\t\t gid = _ref5.gid;\n\n\t\tvar groups = state.users.find(function (user) {\n\t\t\treturn user.id == userid;\n\t\t}).subadmin;\n\t\tgroups.splice(groups.indexOf(gid), 1);\n\t},\n\tdeleteUser: function deleteUser(state, userid) {\n\t\tvar userIndex = state.users.findIndex(function (user) {\n\t\t\treturn user.id == userid;\n\t\t});\n\t\tstate.users.splice(userIndex, 1);\n\t},\n\taddUserData: function addUserData(state, response) {\n\t\tstate.users.push(response.data.ocs.data);\n\t},\n\tenableDisableUser: function enableDisableUser(state, _ref6) {\n\t\tvar userid = _ref6.userid,\n\t\t enabled = _ref6.enabled;\n\n\t\tstate.users.find(function (user) {\n\t\t\treturn user.id == userid;\n\t\t}).enabled = enabled;\n\t\t// increment or not\n\t\tstate.groups.find(function (group) {\n\t\t\treturn group.id == 'disabled';\n\t\t}).usercount += enabled ? -1 : 1;\n\t\tstate.userCount += enabled ? 1 : -1;\n\t\tconsole.log(enabled);\n\t},\n\tsetUserData: function setUserData(state, _ref7) {\n\t\tvar userid = _ref7.userid,\n\t\t key = _ref7.key,\n\t\t value = _ref7.value;\n\n\t\tif (key === 'quota') {\n\t\t\tvar humanValue = OC.Util.computerFileSize(value);\n\t\t\tstate.users.find(function (user) {\n\t\t\t\treturn user.id == userid;\n\t\t\t})[key][key] = humanValue ? humanValue : value;\n\t\t} else {\n\t\t\tstate.users.find(function (user) {\n\t\t\t\treturn user.id == userid;\n\t\t\t})[key] = value;\n\t\t}\n\t},\n\n\n\t/**\n * Reset users list\n */\n\tresetUsers: function resetUsers(state) {\n\t\tstate.users = [];\n\t\tstate.usersOffset = 0;\n\t}\n};\n\nvar getters = {\n\tgetUsers: function getUsers(state) {\n\t\treturn state.users;\n\t},\n\tgetGroups: function getGroups(state) {\n\t\treturn state.groups;\n\t},\n\tgetPasswordPolicyMinLength: function getPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength;\n\t},\n\tgetUsersOffset: function getUsersOffset(state) {\n\t\treturn state.usersOffset;\n\t},\n\tgetUsersLimit: function getUsersLimit(state) {\n\t\treturn state.usersLimit;\n\t},\n\tgetUserCount: function getUserCount(state) {\n\t\treturn state.userCount;\n\t}\n};\n\nvar actions = {\n\n\t/**\n * Get all users with full details\n * \n * @param {Object} context\n * @param {Object} options\n * @param {int} options.offset List offset to request\n * @param {int} options.limit List number to return from offset\n * @param {string} options.search Search amongst users\n * @param {string} options.group Get users from group\n * @returns {Promise}\n */\n\tgetUsers: function getUsers(context, _ref8) {\n\t\tvar offset = _ref8.offset,\n\t\t limit = _ref8.limit,\n\t\t search = _ref8.search,\n\t\t group = _ref8.group;\n\n\t\tsearch = typeof search === 'string' ? search : '';\n\t\tgroup = typeof group === 'string' ? group : '';\n\t\tif (group !== '') {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].get(OC.linkToOCS('cloud/groups/' + group + '/users/details?offset=' + offset + '&limit=' + limit + '&search=' + search, 2)).then(function (response) {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}).catch(function (error) {\n\t\t\t\treturn context.commit('API_FAILURE', error);\n\t\t\t});\n\t\t}\n\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].get(OC.linkToOCS('cloud/users/details?offset=' + offset + '&limit=' + limit + '&search=' + search, 2)).then(function (response) {\n\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', error);\n\t\t});\n\t},\n\n\n\t/**\n * Get all users with full details\n * \n * @param {Object} context\n * @param {Object} options\n * @param {int} options.offset List offset to request\n * @param {int} options.limit List number to return from offset\n * @returns {Promise}\n */\n\tgetUsersFromList: function getUsersFromList(context, _ref9) {\n\t\tvar offset = _ref9.offset,\n\t\t limit = _ref9.limit,\n\t\t search = _ref9.search;\n\n\t\tsearch = typeof search === 'string' ? search : '';\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].get(OC.linkToOCS('cloud/users/details?offset=' + offset + '&limit=' + limit + '&search=' + search, 2)).then(function (response) {\n\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', error);\n\t\t});\n\t},\n\n\n\t/**\n * Get all users with full details from a groupid\n * \n * @param {Object} context\n * @param {Object} options\n * @param {int} options.offset List offset to request\n * @param {int} options.limit List number to return from offset\n * @returns {Promise}\n */\n\tgetUsersFromGroup: function getUsersFromGroup(context, _ref10) {\n\t\tvar groupid = _ref10.groupid,\n\t\t offset = _ref10.offset,\n\t\t limit = _ref10.limit;\n\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].get(OC.linkToOCS('cloud/users/' + groupid + '/details?offset=' + offset + '&limit=' + limit, 2)).then(function (response) {\n\t\t\treturn context.commit('getUsersFromList', response.data.ocs.data.users);\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', error);\n\t\t});\n\t},\n\tgetPasswordPolicyMinLength: function getPasswordPolicyMinLength(context) {\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].get(OC.linkToOCS('apps/provisioning_api/api/v1/config/apps/password_policy/minLength', 2)).then(function (response) {\n\t\t\treturn context.commit('setPasswordPolicyMinLength', response.data.ocs.data.data);\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', error);\n\t\t});\n\t},\n\n\n\t/**\n * Add group\n * \n * @param {Object} context\n * @param {string} gid Group id\n * @returns {Promise}\n */\n\taddGroup: function addGroup(context, gid) {\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].post(OC.linkToOCS('cloud/groups', 2), { groupid: gid }).then(function (response) {\n\t\t\t\treturn context.commit('addGroup', gid);\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t});\n\t},\n\n\n\t/**\n * Remove group\n * \n * @param {Object} context\n * @param {string} gid Group id\n * @returns {Promise}\n */\n\tremoveGroup: function removeGroup(context, gid) {\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].delete(OC.linkToOCS('cloud/groups/' + gid, 2)).then(function (response) {\n\t\t\t\treturn context.commit('removeGroup', gid);\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { gid: gid, error: error });\n\t\t});\n\t},\n\n\n\t/**\n * Add user to group\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.gid Group id\n * @returns {Promise}\n */\n\taddUserGroup: function addUserGroup(context, _ref11) {\n\t\tvar userid = _ref11.userid,\n\t\t gid = _ref11.gid;\n\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].post(OC.linkToOCS('cloud/users/' + userid + '/groups', 2), { groupid: gid }).then(function (response) {\n\t\t\t\treturn context.commit('addUserGroup', { userid: userid, gid: gid });\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t});\n\t},\n\n\n\t/**\n * Remove user from group\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.gid Group id\n * @returns {Promise}\n */\n\tremoveUserGroup: function removeUserGroup(context, _ref12) {\n\t\tvar userid = _ref12.userid,\n\t\t gid = _ref12.gid;\n\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].delete(OC.linkToOCS('cloud/users/' + userid + '/groups', 2), { groupid: gid }).then(function (response) {\n\t\t\t\treturn context.commit('removeUserGroup', { userid: userid, gid: gid });\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t});\n\t},\n\n\n\t/**\n * Add user to group admin\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.gid Group id\n * @returns {Promise}\n */\n\taddUserSubAdmin: function addUserSubAdmin(context, _ref13) {\n\t\tvar userid = _ref13.userid,\n\t\t gid = _ref13.gid;\n\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].post(OC.linkToOCS('cloud/users/' + userid + '/subadmins', 2), { groupid: gid }).then(function (response) {\n\t\t\t\treturn context.commit('addUserSubAdmin', { userid: userid, gid: gid });\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t});\n\t},\n\n\n\t/**\n * Remove user from group admin\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.gid Group id\n * @returns {Promise}\n */\n\tremoveUserSubAdmin: function removeUserSubAdmin(context, _ref14) {\n\t\tvar userid = _ref14.userid,\n\t\t gid = _ref14.gid;\n\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].delete(OC.linkToOCS('cloud/users/' + userid + '/subadmins', 2), { groupid: gid }).then(function (response) {\n\t\t\t\treturn context.commit('removeUserSubAdmin', { userid: userid, gid: gid });\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t});\n\t},\n\n\n\t/**\n * Delete a user\n * \n * @param {Object} context\n * @param {string} userid User id \n * @returns {Promise}\n */\n\tdeleteUser: function deleteUser(context, _ref15) {\n\t\tvar userid = _ref15.userid;\n\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].delete(OC.linkToOCS('cloud/users/' + userid, 2)).then(function (response) {\n\t\t\t\treturn context.commit('deleteUser', userid);\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t});\n\t},\n\n\n\t/**\n * Add a user\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.password User password \n * @param {string} options.email User email\n * @param {string} options.groups User groups\n * @param {string} options.subadmin User subadmin groups\n * @param {string} options.quota User email\n * @returns {Promise}\n */\n\taddUser: function addUser(_ref16, _ref17) {\n\t\tvar context = _ref16.context,\n\t\t dispatch = _ref16.dispatch;\n\t\tvar userid = _ref17.userid,\n\t\t password = _ref17.password,\n\t\t email = _ref17.email,\n\t\t groups = _ref17.groups,\n\t\t subadmin = _ref17.subadmin,\n\t\t quota = _ref17.quota,\n\t\t language = _ref17.language;\n\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].post(OC.linkToOCS('cloud/users', 2), { userid: userid, password: password, email: email, groups: groups, subadmin: subadmin, quota: quota, language: language }).then(function (response) {\n\t\t\t\treturn dispatch('addUserData', userid);\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t});\n\t},\n\n\n\t/**\n * Get user data and commit addition\n * \n * @param {Object} context\n * @param {string} userid User id \n * @returns {Promise}\n */\n\taddUserData: function addUserData(context, userid) {\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].get(OC.linkToOCS('cloud/users/' + userid, 2)).then(function (response) {\n\t\t\t\treturn context.commit('addUserData', response);\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t});\n\t},\n\n\n\t/** Enable or disable user \n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {boolean} options.enabled User enablement status\n * @returns {Promise}\n */\n\tenableDisableUser: function enableDisableUser(context, _ref18) {\n\t\tvar userid = _ref18.userid,\n\t\t _ref18$enabled = _ref18.enabled,\n\t\t enabled = _ref18$enabled === undefined ? true : _ref18$enabled;\n\n\t\tvar userStatus = enabled ? 'enable' : 'disable';\n\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].put(OC.linkToOCS('cloud/users/' + userid + '/' + userStatus, 2)).then(function (response) {\n\t\t\t\treturn context.commit('enableDisableUser', { userid: userid, enabled: enabled });\n\t\t\t}).catch(function (error) {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}).catch(function (error) {\n\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t});\n\t},\n\n\n\t/**\n * Edit user data\n * \n * @param {Object} context \n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.key User field to edit\n * @param {string} options.value Value of the change\n * @returns {Promise}\n */\n\tsetUserData: function setUserData(context, _ref19) {\n\t\tvar userid = _ref19.userid,\n\t\t key = _ref19.key,\n\t\t value = _ref19.value;\n\n\t\tvar allowedEmpty = ['email', 'displayname'];\n\t\tif (['email', 'language', 'quota', 'displayname', 'password'].indexOf(key) !== -1) {\n\t\t\t// We allow empty email or displayname\n\t\t\tif (typeof value === 'string' && (allowedEmpty.indexOf(key) === -1 && value.length > 0 || allowedEmpty.indexOf(key) !== -1)) {\n\t\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].put(OC.linkToOCS('cloud/users/' + userid, 2), { key: key, value: value }).then(function (response) {\n\t\t\t\t\t\treturn context.commit('setUserData', { userid: userid, key: key, value: value });\n\t\t\t\t\t}).catch(function (error) {\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t});\n\t\t\t\t}).catch(function (error) {\n\t\t\t\t\treturn context.commit('API_FAILURE', { userid: userid, error: error });\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn Promise.reject(new Error('Invalid request data'));\n\t}\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({ state: state, mutations: mutations, getters: getters, actions: actions });\n\n/***/ }),\n/* 69 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__api__ = __webpack_require__(4);\n\n\nvar state = {\n\tserverData: {}\n};\nvar mutations = {\n\tsetServerData: function setServerData(state, data) {\n\t\tstate.serverData = data;\n\t}\n};\nvar getters = {\n\tgetServerData: function getServerData(state) {\n\t\treturn state.serverData;\n\t}\n};\nvar actions = {};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({ state: state, mutations: mutations, getters: getters, actions: actions });\n\n/***/ }),\n/* 70 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__api__ = __webpack_require__(4);\n\n\nvar state = {};\nvar mutations = {};\nvar getters = {};\nvar actions = {\n\t\t\t\t/**\n * Set application config in database\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.app Application name\n * @param {boolean} options.key Config key\n * @param {boolean} options.value Value to set\n * @returns{Promise}\n */\n\t\t\t\tsetAppConfig: function setAppConfig(context, _ref) {\n\t\t\t\t\t\t\t\tvar app = _ref.app,\n\t\t\t\t\t\t\t\t key = _ref.key,\n\t\t\t\t\t\t\t\t value = _ref.value;\n\n\t\t\t\t\t\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].post(OC.linkToOCS('apps/provisioning_api/api/v1/config/apps/' + app + '/' + key, 2), { value: value }).catch(function (error) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}).catch(function (error) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn context.commit('API_FAILURE', { app: app, key: key, value: value, error: error });\n\t\t\t\t\t\t\t\t});;\n\t\t\t\t}\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({ state: state, mutations: mutations, getters: getters, actions: actions });\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// main.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 23);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 49737a5f867d115e87d9","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/utils.js\n// module id = 0\n// module chunks = 0","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/component-normalizer.js\n// module id = 1\n// module chunks = 0","/*!\n * Vue.js v2.5.16\n * (c) 2014-2018 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// these helpers produces better vm code in JS engines due to their\n// explicitness and function inlining\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value e.g. [object Object]\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : typeof val === 'object'\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert a input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if a attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether the object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it... e.g.\n * PhantomJS 1.x. Technically we don't need this anymore since native bind is\n * now more performant in most browsers, but removing it would be breaking for\n * code that was able to run in PhantomJS 1.x, so this must be kept for\n * backwards compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/)\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/**\n * Return same value\n */\nvar identity = function (_) { return _; };\n\n/**\n * Generate a static keys string from compiler modules.\n */\nfunction genStaticKeys (modules) {\n return modules.reduce(function (keys, m) {\n return keys.concat(m.staticKeys || [])\n }, []).join(',')\n}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured'\n];\n\n/* */\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n})\n\n/* */\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = /[^\\w.$]/;\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = (function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return '<Root>'\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm || {};\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// the current target watcher being evaluated.\n// this is globally unique because there could be only one\n// watcher being evaluated at any time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (_target) {\n if (Dep.target) { targetStack.push(Dep.target); }\n Dep.target = _target;\n}\n\nfunction popTarget () {\n Dep.target = targetStack.pop();\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n vnode.children,\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n var augment = hasProto\n ? protoAugment\n : copyAugment;\n augment(value, arrayMethods, arrayKeys);\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through each property and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment an target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src, keys) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment an target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n if (!getter && arguments.length === 2) {\n val = obj[key];\n }\n var setter = property && property.set;\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n var keys = Object.keys(from);\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (isPlainObject(toVal) && isPlainObject(fromVal)) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n return childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!/^[a-zA-Z][\\w-]*$/.test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'can only contain alphanumeric characters and the hyphen, ' +\n 'and must start with a letter.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def = dirs[key];\n if (typeof def === 'function') {\n dirs[key] = { bind: def, update: def };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n var extendsFrom = child.extends;\n if (extendsFrom) {\n parent = mergeOptions(parent, extendsFrom, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false && isObject(value) && ('@binding' in value))\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n if (!valid) {\n warn(\n \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', ')) +\n \", got \" + (toRawType(value)) + \".\",\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n logError(e, null, 'config.errorHandler');\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n/* globals MessageChannel */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using both microtasks and (macro) tasks.\n// In < 2.4 we used microtasks everywhere, but there are some scenarios where\n// microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690) or even between bubbling of the same\n// event (#6566). However, using (macro) tasks everywhere also has subtle problems\n// when state is changed right before repaint (e.g. #6813, out-in transitions).\n// Here we use microtask by default, but expose a way to force (macro) task when\n// needed (e.g. in event handlers attached by v-on).\nvar microTimerFunc;\nvar macroTimerFunc;\nvar useMacroTask = false;\n\n// Determine (macro) task defer implementation.\n// Technically setImmediate should be the ideal choice, but it's only available\n// in IE. The only polyfill that consistently queues the callback after all DOM\n// events triggered in the same loop is by using MessageChannel.\n/* istanbul ignore if */\nif (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n macroTimerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else if (typeof MessageChannel !== 'undefined' && (\n isNative(MessageChannel) ||\n // PhantomJS\n MessageChannel.toString() === '[object MessageChannelConstructor]'\n)) {\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = flushCallbacks;\n macroTimerFunc = function () {\n port.postMessage(1);\n };\n} else {\n /* istanbul ignore next */\n macroTimerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\n// Determine microtask defer implementation.\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n microTimerFunc = function () {\n p.then(flushCallbacks);\n // in problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else {\n // fallback to macro\n microTimerFunc = macroTimerFunc;\n}\n\n/**\n * Wrap a function so that if any code inside triggers state change,\n * the changes are queued using a (macro) task instead of a microtask.\n */\nfunction withMacroTask (fn) {\n return fn._withTask || (fn._withTask = function () {\n useMacroTask = true;\n var res = fn.apply(null, arguments);\n useMacroTask = false;\n return res\n })\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n if (useMacroTask) {\n macroTimerFunc();\n } else {\n microTimerFunc();\n }\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n perf.clearMeasures(name);\n };\n }\n}\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) || key.charAt(0) === '_';\n if (!has && !isAllowed) {\n warnNonPresent(target, key);\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n warnNonPresent(target, key);\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n cloned[i].apply(null, arguments$1);\n }\n } else {\n // return handler return value for single handlers\n return fns.apply(null, arguments)\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n vm\n) {\n var name, def, cur, old, event;\n for (name in on) {\n def = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n /* istanbul ignore if */\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur);\n }\n add(event.name, cur, event.once, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor,\n context\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (isDef(factory.contexts)) {\n // already pending\n factory.contexts.push(context);\n } else {\n var contexts = factory.contexts = [context];\n var sync = true;\n\n var forceRender = function () {\n for (var i = 0, l = contexts.length; i < l; i++) {\n contexts[i].$forceUpdate();\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender();\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender();\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (typeof res.then === 'function') {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isDef(res.component) && typeof res.component.then === 'function') {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n setTimeout(function () {\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender();\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n setTimeout(function () {\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn, once) {\n if (once) {\n target.$once(event, fn);\n } else {\n target.$on(event, fn);\n }\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var this$1 = this;\n\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n this$1.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var this$1 = this;\n\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n this$1.$off(event[i], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n if (fn) {\n // specific handler\n var cb;\n var i$1 = cbs.length;\n while (i$1--) {\n cb = cbs[i$1];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i$1, 1);\n break\n }\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n for (var i = 0, l = cbs.length; i < l; i++) {\n try {\n cbs[i].apply(vm, args);\n } catch (e) {\n handleError(e, vm, (\"event handler for \\\"\" + event + \"\\\"\"));\n }\n }\n }\n return vm\n };\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n var slots = {};\n if (!children) {\n return slots\n }\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res\n) {\n res = res || {};\n for (var i = 0; i < fns.length; i++) {\n if (Array.isArray(fns[i])) {\n resolveScopedSlots(fns[i], res);\n } else {\n res[fns[i].key] = fns[i].fn;\n }\n }\n return res\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n if (vm._isMounted) {\n callHook(vm, 'beforeUpdate');\n }\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(\n vm.$el, vnode, hydrating, false /* removeOnly */,\n vm.$options._parentElm,\n vm.$options._refElm\n );\n // no need for the ref nodes after initial patch\n // this prevents keeping a detached DOM tree in memory (#5851)\n vm.$options._parentElm = vm.$options._refElm = null;\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n activeInstance = prevActiveInstance;\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction mountComponent (\n vm,\n el,\n hydrating\n) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n callHook(vm, 'beforeMount');\n\n var updateComponent;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n updateComponent = function () {\n var name = vm._name;\n var id = vm._uid;\n var startTag = \"vue-perf-start:\" + id;\n var endTag = \"vue-perf-end:\" + id;\n\n mark(startTag);\n var vnode = vm._render();\n mark(endTag);\n measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure((\"vue \" + name + \" patch\"), startTag, endTag);\n };\n } else {\n updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n }\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, null, true /* isRenderWatcher */);\n hydrating = false;\n\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook(vm, 'mounted');\n }\n return vm\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren\n var hasChildren = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n parentVnode.data.scopedSlots || // has new scoped slots\n vm.$scopedSlots !== emptyObject // has old scoped slots\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n\n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (hasChildren) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n try {\n handlers[i].call(vm);\n } catch (e) {\n handleError(e, vm, (hook + \" hook\"));\n }\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\nvar uid$1 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$1; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = function () {};\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var this$1 = this;\n\n var i = this.deps.length;\n while (i--) {\n var dep = this$1.deps[i];\n if (!this$1.newDepIds.has(dep.id)) {\n dep.removeSub(this$1);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var this$1 = this;\n\n var i = this.deps.length;\n while (i--) {\n this$1.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n var this$1 = this;\n\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this$1.deps[i].removeSub(this$1);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive(props, key, value, function () {\n if (vm.$parent && !isUpdatingChildComponent) {\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : userDef;\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : userDef.get\n : noop;\n sharedPropertyDefinition.set = userDef.set\n ? userDef.set\n : noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (methods[key] == null) {\n warn(\n \"Method \\\"\" + key + \"\\\" has an undefined value in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = methods[key] == null ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function (newData) {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n cb.call(vm, watcher.value);\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject).filter(function (key) {\n /* istanbul ignore next */\n return Object.getOwnPropertyDescriptor(inject, key).enumerable\n })\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n } else if (isObject(val)) {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n if (isDef(ret)) {\n (ret)._isVList = true;\n }\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes = scopedSlotFn(props) || fallback;\n } else {\n var slotNodes = this.$slots[name];\n // warn duplicate slot usage\n if (slotNodes) {\n if (process.env.NODE_ENV !== 'production' && slotNodes._rendered) {\n warn(\n \"Duplicate presence of slot \\\"\" + name + \"\\\" found in the same render tree \" +\n \"- this will likely cause render errors.\",\n this\n );\n }\n slotNodes._rendered = true;\n }\n nodes = slotNodes || fallback;\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n if (!(key in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () { return resolveSlots(children, parent); };\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = data.scopedSlots || emptyObject;\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n\n\n\n// Register the component hook to weex native render engine.\n// The hook will be triggered by native, not javascript.\n\n\n// Updates the state of the component to weex native render engine.\n\n/* */\n\n// https://github.com/Hanks10100/weex-native-directive/tree/master/component\n\n// listening on native callback\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (\n vnode,\n hydrating,\n parentElm,\n refElm\n ) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance,\n parentElm,\n refElm\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor, context);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n // Weex specific: invoke recycle-list optimized @render function for\n // extracting cell-slot template.\n // https://github.com/Hanks10100/weex-native-directive/tree/master/component\n /* istanbul ignore if */\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent, // activeInstance in lifecycle state\n parentElm,\n refElm\n) {\n var options = {\n _isComponent: true,\n parent: parent,\n _parentVnode: vnode,\n _parentElm: parentElm || null,\n _refElm: refElm || null\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n hooks[key] = componentVNodeHooks[key];\n }\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input';(data.props || (data.props = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n if (isDef(on[event])) {\n on[event] = [data.model.callback].concat(on[event]);\n } else {\n on[event] = data.model.callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if (isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n // reset _rendered flag on slots for duplicate slot check\n if (process.env.NODE_ENV !== 'production') {\n for (var key in vm.$slots) {\n // $flow-disable-line\n vm.$slots[key]._rendered = false;\n }\n }\n\n if (_parentVnode) {\n vm.$scopedSlots = _parentVnode.data.scopedSlots || emptyObject;\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n if (vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook(vm, 'created');\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n opts._parentElm = options._parentElm;\n opts._refElm = options._refElm;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var extended = Ctor.extendOptions;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = dedupe(latest[key], extended[key], sealed[key]);\n }\n }\n return modified\n}\n\nfunction dedupe (latest, extended, sealed) {\n // compare latest and sealed to ensure lifecycle hooks won't be duplicated\n // between merges\n if (Array.isArray(latest)) {\n var res = [];\n sealed = Array.isArray(sealed) ? sealed : [sealed];\n extended = Array.isArray(extended) ? extended : [extended];\n for (var i = 0; i < latest.length; i++) {\n // push original options and not sealed options to exclude duplicated options\n if (extended.indexOf(latest[i]) >= 0 || sealed.indexOf(latest[i]) < 0) {\n res.push(latest[i]);\n }\n }\n return res\n } else {\n return latest\n }\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n var this$1 = this;\n\n for (var key in this$1.cache) {\n pruneCacheEntry(this$1.cache, key, this$1.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n}\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n}\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.5.16';\n\n/* */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n return (\n (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video')\n )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isBooleanAttr = makeMap(\n 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,translate,' +\n 'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n return val == null || val === false\n};\n\n/* */\n\nfunction genClassForVnode (vnode) {\n var data = vnode.data;\n var parentNode = vnode;\n var childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n while (isDef(parentNode = parentNode.parent)) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class)\n ? [child.class, parent.class]\n : parent.class\n }\n}\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n 'html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n true\n);\n\nvar isPreTag = function (tag) { return tag === 'pre'; };\n\nvar isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n if (isSVG(tag)) {\n return 'svg'\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math'\n }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true\n }\n if (isReservedTag(tag)) {\n return false\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag]\n }\n var el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] = (\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement\n ))\n } else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/* */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Cannot find element: ' + el\n );\n return document.createElement('div')\n }\n return selected\n } else {\n return el\n }\n}\n\n/* */\n\nfunction createElement$1 (tagName, vnode) {\n var elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode (node) {\n return node.parentNode\n}\n\nfunction nextSibling (node) {\n return node.nextSibling\n}\n\nfunction tagName (node) {\n return node.tagName\n}\n\nfunction setTextContent (node, text) {\n node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\n\nvar nodeOps = Object.freeze({\n\tcreateElement: createElement$1,\n\tcreateElementNS: createElementNS,\n\tcreateTextNode: createTextNode,\n\tcreateComment: createComment,\n\tinsertBefore: insertBefore,\n\tremoveChild: removeChild,\n\tappendChild: appendChild,\n\tparentNode: parentNode,\n\tnextSibling: nextSibling,\n\ttagName: tagName,\n\tsetTextContent: setTextContent,\n\tsetStyleScope: setStyleScope\n});\n\n/* */\n\nvar ref = {\n create: function create (_, vnode) {\n registerRef(vnode);\n },\n update: function update (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy: function destroy (vnode) {\n registerRef(vnode, true);\n }\n}\n\nfunction registerRef (vnode, isRemoval) {\n var key = vnode.data.ref;\n if (!isDef(key)) { return }\n\n var vm = vnode.context;\n var ref = vnode.componentInstance || vnode.elm;\n var refs = vm.$refs;\n if (isRemoval) {\n if (Array.isArray(refs[key])) {\n remove(refs[key], ref);\n } else if (refs[key] === ref) {\n refs[key] = undefined;\n }\n } else {\n if (vnode.data.refInFor) {\n if (!Array.isArray(refs[key])) {\n refs[key] = [ref];\n } else if (refs[key].indexOf(ref) < 0) {\n // $flow-disable-line\n refs[key].push(ref);\n }\n } else {\n refs[key] = ref;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n return (\n a.key === b.key && (\n (\n a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)\n ) || (\n isTrue(a.isAsyncPlaceholder) &&\n a.asyncFactory === b.asyncFactory &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n}\n\nfunction sameInputType (a, b) {\n if (a.tag !== 'input') { return true }\n var i;\n var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n var i, key;\n var map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key)) { map[key] = i; }\n }\n return map\n}\n\nfunction createPatchFunction (backend) {\n var i, j;\n var cbs = {};\n\n var modules = backend.modules;\n var nodeOps = backend.nodeOps;\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n\n function emptyNodeAt (elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n }\n\n function createRmCb (childElm, listeners) {\n function remove () {\n if (--remove.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove.listeners = listeners;\n return remove\n }\n\n function removeNode (el) {\n var parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n\n function isUnknownElement$$1 (vnode, inVPre) {\n return (\n !inVPre &&\n !vnode.ns &&\n !(\n config.ignoredElements.length &&\n config.ignoredElements.some(function (ignore) {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag\n })\n ) &&\n config.isUnknownElement(vnode.tag)\n )\n }\n\n var creatingElmInVPre = 0;\n\n function createElm (\n vnode,\n insertedVnodeQueue,\n parentElm,\n refElm,\n nested,\n ownerArray,\n index\n ) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return\n }\n\n var data = vnode.data;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n if (process.env.NODE_ENV !== 'production') {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n warn(\n 'Unknown custom element: <' + tag + '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.',\n vnode.context\n );\n }\n }\n\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n\n /* istanbul ignore if */\n {\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n }\n\n if (process.env.NODE_ENV !== 'production' && data && data.pre) {\n creatingElmInVPre--;\n }\n } else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n } else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n\n function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i = vnode.data;\n if (isDef(i)) {\n var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef(i = i.hook) && isDef(i = i.init)) {\n i(vnode, false /* hydrating */, parentElm, refElm);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true\n }\n }\n }\n\n function initComponent (vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n } else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n\n function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n var innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n\n function insert (parent, elm, ref$$1) {\n if (isDef(parent)) {\n if (isDef(ref$$1)) {\n if (ref$$1.parentNode === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (parentElm, vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by <transition-group>\n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(newCh);\n }\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n } else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue);\n canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue);\n canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) { // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n } else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (oldVnode, vnode, insertedVnodeQueue, removeOnly) {\n if (oldVnode === vnode) {\n return\n }\n\n var elm = vnode.elm = oldVnode.elm;\n\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n } else {\n vnode.isAsyncPlaceholder = true;\n }\n return\n }\n\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n ) {\n vnode.componentInstance = oldVnode.componentInstance;\n return\n }\n\n var i;\n var data = vnode.data;\n if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n i(oldVnode, vnode);\n }\n\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n } else if (isDef(ch)) {\n if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (process.env.NODE_ENV !== 'production') {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly, parentElm, refElm) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n return\n }\n\n var isInitialPatch = false;\n var insertedVnodeQueue = [];\n\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue, parentElm, refElm);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, removeOnly);\n } else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n 'The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n '<p>, or missing <tbody>. Bailing hydration and performing ' +\n 'full client-side render.'\n );\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n // replacing existing element\n var oldElm = oldVnode.elm;\n var parentElm$1 = nodeOps.parentNode(oldElm);\n\n // create new node\n createElm(\n vnode,\n insertedVnodeQueue,\n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm$1,\n nodeOps.nextSibling(oldElm)\n );\n\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n var ancestor = vnode.parent;\n var patchable = isPatchable(vnode);\n while (ancestor) {\n for (var i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n var insert = ancestor.data.hook.insert;\n if (insert.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n insert.fns[i$2]();\n }\n }\n } else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n\n // destroy old node\n if (isDef(parentElm$1)) {\n removeVnodes(parentElm$1, [oldVnode], 0, 0);\n } else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm\n }\n}\n\n/* */\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n}\n\nfunction updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\n\nfunction _update (oldVnode, vnode) {\n var isCreate = oldVnode === emptyNode;\n var isDestroy = vnode === emptyNode;\n var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n var dirsWithInsert = [];\n var dirsWithPostpatch = [];\n\n var key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook$1(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n } else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n callHook$1(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n\n if (dirsWithInsert.length) {\n var callInsert = function () {\n for (var i = 0; i < dirsWithInsert.length; i++) {\n callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n } else {\n callInsert();\n }\n }\n\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n for (var i = 0; i < dirsWithPostpatch.length; i++) {\n callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n dirs,\n vm\n) {\n var res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res\n }\n var i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res\n}\n\nfunction getRawDirName (dir) {\n return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n var fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n } catch (e) {\n handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n }\n }\n}\n\nvar baseModules = [\n ref,\n directives\n]\n\n/* */\n\nfunction updateAttrs (oldVnode, vnode) {\n var opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return\n }\n var key, cur, old;\n var elm = vnode.elm;\n var oldAttrs = oldVnode.data.attrs || {};\n var attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\n\nfunction setAttr (el, key, value) {\n if (el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n } else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. <option disabled>Select one</option>\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for <iframe>,\n // but Flash expects a value of \"true\" when used on <embed> tag\n value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n ? 'true'\n : key;\n el.setAttribute(key, value);\n }\n } else if (isEnumeratedAttr(key)) {\n el.setAttribute(key, isFalsyAttrValue(value) || value === 'false' ? 'false' : 'true');\n } else if (isXlink(key)) {\n if (isFalsyAttrValue(value)) {\n el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n baseSetAttr(el, key, value);\n }\n}\n\nfunction baseSetAttr (el, key, value) {\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // #7138: IE10 & 11 fires input event when setting placeholder on\n // <textarea>... block the first input event and remove the blocker\n // immediately.\n /* istanbul ignore if */\n if (\n isIE && !isIE9 &&\n el.tagName === 'TEXTAREA' &&\n key === 'placeholder' && !el.__ieph\n ) {\n var blocker = function (e) {\n e.stopImmediatePropagation();\n el.removeEventListener('input', blocker);\n };\n el.addEventListener('input', blocker);\n // $flow-disable-line\n el.__ieph = true; /* IE placeholder patched */\n }\n el.setAttribute(key, value);\n }\n}\n\nvar attrs = {\n create: updateAttrs,\n update: updateAttrs\n}\n\n/* */\n\nfunction updateClass (oldVnode, vnode) {\n var el = vnode.elm;\n var data = vnode.data;\n var oldData = oldVnode.data;\n if (\n isUndef(data.staticClass) &&\n isUndef(data.class) && (\n isUndef(oldData) || (\n isUndef(oldData.staticClass) &&\n isUndef(oldData.class)\n )\n )\n ) {\n return\n }\n\n var cls = genClassForVnode(vnode);\n\n // handle transition classes\n var transitionClass = el._transitionClasses;\n if (isDef(transitionClass)) {\n cls = concat(cls, stringifyClass(transitionClass));\n }\n\n // set the class\n if (cls !== el._prevClass) {\n el.setAttribute('class', cls);\n el._prevClass = cls;\n }\n}\n\nvar klass = {\n create: updateClass,\n update: updateClass\n}\n\n/* */\n\nvar validDivisionCharRE = /[\\w).+\\-_$\\]]/;\n\nfunction parseFilters (exp) {\n var inSingle = false;\n var inDouble = false;\n var inTemplateString = false;\n var inRegex = false;\n var curly = 0;\n var square = 0;\n var paren = 0;\n var lastFilterIndex = 0;\n var c, prev, i, expression, filters;\n\n for (i = 0; i < exp.length; i++) {\n prev = c;\n c = exp.charCodeAt(i);\n if (inSingle) {\n if (c === 0x27 && prev !== 0x5C) { inSingle = false; }\n } else if (inDouble) {\n if (c === 0x22 && prev !== 0x5C) { inDouble = false; }\n } else if (inTemplateString) {\n if (c === 0x60 && prev !== 0x5C) { inTemplateString = false; }\n } else if (inRegex) {\n if (c === 0x2f && prev !== 0x5C) { inRegex = false; }\n } else if (\n c === 0x7C && // pipe\n exp.charCodeAt(i + 1) !== 0x7C &&\n exp.charCodeAt(i - 1) !== 0x7C &&\n !curly && !square && !paren\n ) {\n if (expression === undefined) {\n // first filter, end of expression\n lastFilterIndex = i + 1;\n expression = exp.slice(0, i).trim();\n } else {\n pushFilter();\n }\n } else {\n switch (c) {\n case 0x22: inDouble = true; break // \"\n case 0x27: inSingle = true; break // '\n case 0x60: inTemplateString = true; break // `\n case 0x28: paren++; break // (\n case 0x29: paren--; break // )\n case 0x5B: square++; break // [\n case 0x5D: square--; break // ]\n case 0x7B: curly++; break // {\n case 0x7D: curly--; break // }\n }\n if (c === 0x2f) { // /\n var j = i - 1;\n var p = (void 0);\n // find first non-whitespace prev char\n for (; j >= 0; j--) {\n p = exp.charAt(j);\n if (p !== ' ') { break }\n }\n if (!p || !validDivisionCharRE.test(p)) {\n inRegex = true;\n }\n }\n }\n }\n\n if (expression === undefined) {\n expression = exp.slice(0, i).trim();\n } else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n\n function pushFilter () {\n (filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim());\n lastFilterIndex = i + 1;\n }\n\n if (filters) {\n for (i = 0; i < filters.length; i++) {\n expression = wrapFilter(expression, filters[i]);\n }\n }\n\n return expression\n}\n\nfunction wrapFilter (exp, filter) {\n var i = filter.indexOf('(');\n if (i < 0) {\n // _f: resolveFilter\n return (\"_f(\\\"\" + filter + \"\\\")(\" + exp + \")\")\n } else {\n var name = filter.slice(0, i);\n var args = filter.slice(i + 1);\n return (\"_f(\\\"\" + name + \"\\\")(\" + exp + (args !== ')' ? ',' + args : args))\n }\n}\n\n/* */\n\nfunction baseWarn (msg) {\n console.error((\"[Vue compiler]: \" + msg));\n}\n\nfunction pluckModuleFunction (\n modules,\n key\n) {\n return modules\n ? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; })\n : []\n}\n\nfunction addProp (el, name, value) {\n (el.props || (el.props = [])).push({ name: name, value: value });\n el.plain = false;\n}\n\nfunction addAttr (el, name, value) {\n (el.attrs || (el.attrs = [])).push({ name: name, value: value });\n el.plain = false;\n}\n\n// add a raw attr (use this in preTransforms)\nfunction addRawAttr (el, name, value) {\n el.attrsMap[name] = value;\n el.attrsList.push({ name: name, value: value });\n}\n\nfunction addDirective (\n el,\n name,\n rawName,\n value,\n arg,\n modifiers\n) {\n (el.directives || (el.directives = [])).push({ name: name, rawName: rawName, value: value, arg: arg, modifiers: modifiers });\n el.plain = false;\n}\n\nfunction addHandler (\n el,\n name,\n value,\n modifiers,\n important,\n warn\n) {\n modifiers = modifiers || emptyObject;\n // warn prevent and passive modifier\n /* istanbul ignore if */\n if (\n process.env.NODE_ENV !== 'production' && warn &&\n modifiers.prevent && modifiers.passive\n ) {\n warn(\n 'passive and prevent can\\'t be used together. ' +\n 'Passive handler can\\'t prevent default event.'\n );\n }\n\n // check capture modifier\n if (modifiers.capture) {\n delete modifiers.capture;\n name = '!' + name; // mark the event as captured\n }\n if (modifiers.once) {\n delete modifiers.once;\n name = '~' + name; // mark the event as once\n }\n /* istanbul ignore if */\n if (modifiers.passive) {\n delete modifiers.passive;\n name = '&' + name; // mark the event as passive\n }\n\n // normalize click.right and click.middle since they don't actually fire\n // this is technically browser-specific, but at least for now browsers are\n // the only target envs that have right/middle clicks.\n if (name === 'click') {\n if (modifiers.right) {\n name = 'contextmenu';\n delete modifiers.right;\n } else if (modifiers.middle) {\n name = 'mouseup';\n }\n }\n\n var events;\n if (modifiers.native) {\n delete modifiers.native;\n events = el.nativeEvents || (el.nativeEvents = {});\n } else {\n events = el.events || (el.events = {});\n }\n\n var newHandler = {\n value: value.trim()\n };\n if (modifiers !== emptyObject) {\n newHandler.modifiers = modifiers;\n }\n\n var handlers = events[name];\n /* istanbul ignore if */\n if (Array.isArray(handlers)) {\n important ? handlers.unshift(newHandler) : handlers.push(newHandler);\n } else if (handlers) {\n events[name] = important ? [newHandler, handlers] : [handlers, newHandler];\n } else {\n events[name] = newHandler;\n }\n\n el.plain = false;\n}\n\nfunction getBindingAttr (\n el,\n name,\n getStatic\n) {\n var dynamicValue =\n getAndRemoveAttr(el, ':' + name) ||\n getAndRemoveAttr(el, 'v-bind:' + name);\n if (dynamicValue != null) {\n return parseFilters(dynamicValue)\n } else if (getStatic !== false) {\n var staticValue = getAndRemoveAttr(el, name);\n if (staticValue != null) {\n return JSON.stringify(staticValue)\n }\n }\n}\n\n// note: this only removes the attr from the Array (attrsList) so that it\n// doesn't get processed by processAttrs.\n// By default it does NOT remove it from the map (attrsMap) because the map is\n// needed during codegen.\nfunction getAndRemoveAttr (\n el,\n name,\n removeFromMap\n) {\n var val;\n if ((val = el.attrsMap[name]) != null) {\n var list = el.attrsList;\n for (var i = 0, l = list.length; i < l; i++) {\n if (list[i].name === name) {\n list.splice(i, 1);\n break\n }\n }\n }\n if (removeFromMap) {\n delete el.attrsMap[name];\n }\n return val\n}\n\n/* */\n\n/**\n * Cross-platform code generation for component v-model\n */\nfunction genComponentModel (\n el,\n value,\n modifiers\n) {\n var ref = modifiers || {};\n var number = ref.number;\n var trim = ref.trim;\n\n var baseValueExpression = '$$v';\n var valueExpression = baseValueExpression;\n if (trim) {\n valueExpression =\n \"(typeof \" + baseValueExpression + \" === 'string'\" +\n \"? \" + baseValueExpression + \".trim()\" +\n \": \" + baseValueExpression + \")\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n var assignment = genAssignmentCode(value, valueExpression);\n\n el.model = {\n value: (\"(\" + value + \")\"),\n expression: (\"\\\"\" + value + \"\\\"\"),\n callback: (\"function (\" + baseValueExpression + \") {\" + assignment + \"}\")\n };\n}\n\n/**\n * Cross-platform codegen helper for generating v-model value assignment code.\n */\nfunction genAssignmentCode (\n value,\n assignment\n) {\n var res = parseModel(value);\n if (res.key === null) {\n return (value + \"=\" + assignment)\n } else {\n return (\"$set(\" + (res.exp) + \", \" + (res.key) + \", \" + assignment + \")\")\n }\n}\n\n/**\n * Parse a v-model expression into a base path and a final key segment.\n * Handles both dot-path and possible square brackets.\n *\n * Possible cases:\n *\n * - test\n * - test[key]\n * - test[test1[key]]\n * - test[\"a\"][key]\n * - xxx.test[a[a].test1[key]]\n * - test.xxx.a[\"asa\"][test1[key]]\n *\n */\n\nvar len;\nvar str;\nvar chr;\nvar index$1;\nvar expressionPos;\nvar expressionEndPos;\n\n\n\nfunction parseModel (val) {\n // Fix https://github.com/vuejs/vue/pull/7730\n // allow v-model=\"obj.val \" (trailing whitespace)\n val = val.trim();\n len = val.length;\n\n if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) {\n index$1 = val.lastIndexOf('.');\n if (index$1 > -1) {\n return {\n exp: val.slice(0, index$1),\n key: '\"' + val.slice(index$1 + 1) + '\"'\n }\n } else {\n return {\n exp: val,\n key: null\n }\n }\n }\n\n str = val;\n index$1 = expressionPos = expressionEndPos = 0;\n\n while (!eof()) {\n chr = next();\n /* istanbul ignore if */\n if (isStringStart(chr)) {\n parseString(chr);\n } else if (chr === 0x5B) {\n parseBracket(chr);\n }\n }\n\n return {\n exp: val.slice(0, expressionPos),\n key: val.slice(expressionPos + 1, expressionEndPos)\n }\n}\n\nfunction next () {\n return str.charCodeAt(++index$1)\n}\n\nfunction eof () {\n return index$1 >= len\n}\n\nfunction isStringStart (chr) {\n return chr === 0x22 || chr === 0x27\n}\n\nfunction parseBracket (chr) {\n var inBracket = 1;\n expressionPos = index$1;\n while (!eof()) {\n chr = next();\n if (isStringStart(chr)) {\n parseString(chr);\n continue\n }\n if (chr === 0x5B) { inBracket++; }\n if (chr === 0x5D) { inBracket--; }\n if (inBracket === 0) {\n expressionEndPos = index$1;\n break\n }\n }\n}\n\nfunction parseString (chr) {\n var stringQuote = chr;\n while (!eof()) {\n chr = next();\n if (chr === stringQuote) {\n break\n }\n }\n}\n\n/* */\n\nvar warn$1;\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\nfunction model (\n el,\n dir,\n _warn\n) {\n warn$1 = _warn;\n var value = dir.value;\n var modifiers = dir.modifiers;\n var tag = el.tag;\n var type = el.attrsMap.type;\n\n if (process.env.NODE_ENV !== 'production') {\n // inputs with type=\"file\" are read only and setting the input's\n // value will throw an error.\n if (tag === 'input' && type === 'file') {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\" type=\\\"file\\\">:\\n\" +\n \"File inputs are read only. Use a v-on:change listener instead.\"\n );\n }\n }\n\n if (el.component) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (tag === 'select') {\n genSelect(el, value, modifiers);\n } else if (tag === 'input' && type === 'checkbox') {\n genCheckboxModel(el, value, modifiers);\n } else if (tag === 'input' && type === 'radio') {\n genRadioModel(el, value, modifiers);\n } else if (tag === 'input' || tag === 'textarea') {\n genDefaultModel(el, value, modifiers);\n } else if (!config.isReservedTag(tag)) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (process.env.NODE_ENV !== 'production') {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"v-model is not supported on this element type. \" +\n 'If you are working with contenteditable, it\\'s recommended to ' +\n 'wrap a library dedicated for that purpose inside a custom component.'\n );\n }\n\n // ensure runtime directive metadata\n return true\n}\n\nfunction genCheckboxModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n var trueValueBinding = getBindingAttr(el, 'true-value') || 'true';\n var falseValueBinding = getBindingAttr(el, 'false-value') || 'false';\n addProp(el, 'checked',\n \"Array.isArray(\" + value + \")\" +\n \"?_i(\" + value + \",\" + valueBinding + \")>-1\" + (\n trueValueBinding === 'true'\n ? (\":(\" + value + \")\")\n : (\":_q(\" + value + \",\" + trueValueBinding + \")\")\n )\n );\n addHandler(el, 'change',\n \"var $$a=\" + value + \",\" +\n '$$el=$event.target,' +\n \"$$c=$$el.checked?(\" + trueValueBinding + \"):(\" + falseValueBinding + \");\" +\n 'if(Array.isArray($$a)){' +\n \"var $$v=\" + (number ? '_n(' + valueBinding + ')' : valueBinding) + \",\" +\n '$$i=_i($$a,$$v);' +\n \"if($$el.checked){$$i<0&&(\" + (genAssignmentCode(value, '$$a.concat([$$v])')) + \")}\" +\n \"else{$$i>-1&&(\" + (genAssignmentCode(value, '$$a.slice(0,$$i).concat($$a.slice($$i+1))')) + \")}\" +\n \"}else{\" + (genAssignmentCode(value, '$$c')) + \"}\",\n null, true\n );\n}\n\nfunction genRadioModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n valueBinding = number ? (\"_n(\" + valueBinding + \")\") : valueBinding;\n addProp(el, 'checked', (\"_q(\" + value + \",\" + valueBinding + \")\"));\n addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true);\n}\n\nfunction genSelect (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var selectedVal = \"Array.prototype.filter\" +\n \".call($event.target.options,function(o){return o.selected})\" +\n \".map(function(o){var val = \\\"_value\\\" in o ? o._value : o.value;\" +\n \"return \" + (number ? '_n(val)' : 'val') + \"})\";\n\n var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]';\n var code = \"var $$selectedVal = \" + selectedVal + \";\";\n code = code + \" \" + (genAssignmentCode(value, assignment));\n addHandler(el, 'change', code, null, true);\n}\n\nfunction genDefaultModel (\n el,\n value,\n modifiers\n) {\n var type = el.attrsMap.type;\n\n // warn if v-bind:value conflicts with v-model\n // except for inputs with v-bind:type\n if (process.env.NODE_ENV !== 'production') {\n var value$1 = el.attrsMap['v-bind:value'] || el.attrsMap[':value'];\n var typeBinding = el.attrsMap['v-bind:type'] || el.attrsMap[':type'];\n if (value$1 && !typeBinding) {\n var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value';\n warn$1(\n binding + \"=\\\"\" + value$1 + \"\\\" conflicts with v-model on the same element \" +\n 'because the latter already expands to a value binding internally'\n );\n }\n }\n\n var ref = modifiers || {};\n var lazy = ref.lazy;\n var number = ref.number;\n var trim = ref.trim;\n var needCompositionGuard = !lazy && type !== 'range';\n var event = lazy\n ? 'change'\n : type === 'range'\n ? RANGE_TOKEN\n : 'input';\n\n var valueExpression = '$event.target.value';\n if (trim) {\n valueExpression = \"$event.target.value.trim()\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n\n var code = genAssignmentCode(value, valueExpression);\n if (needCompositionGuard) {\n code = \"if($event.target.composing)return;\" + code;\n }\n\n addProp(el, 'value', (\"(\" + value + \")\"));\n addHandler(el, event, code, null, true);\n if (trim || number) {\n addHandler(el, 'blur', '$forceUpdate()');\n }\n}\n\n/* */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n /* istanbul ignore if */\n if (isDef(on[RANGE_TOKEN])) {\n // IE input[type=range] only supports `change` event\n var event = isIE ? 'change' : 'input';\n on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n delete on[RANGE_TOKEN];\n }\n // This was originally intended to fix #4521 but no longer necessary\n // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n /* istanbul ignore if */\n if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n delete on[CHECKBOX_RADIO_TOKEN];\n }\n}\n\nvar target$1;\n\nfunction createOnceHandler (handler, event, capture) {\n var _target = target$1; // save current target element in closure\n return function onceHandler () {\n var res = handler.apply(null, arguments);\n if (res !== null) {\n remove$2(event, onceHandler, capture, _target);\n }\n }\n}\n\nfunction add$1 (\n event,\n handler,\n once$$1,\n capture,\n passive\n) {\n handler = withMacroTask(handler);\n if (once$$1) { handler = createOnceHandler(handler, event, capture); }\n target$1.addEventListener(\n event,\n handler,\n supportsPassive\n ? { capture: capture, passive: passive }\n : capture\n );\n}\n\nfunction remove$2 (\n event,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n event,\n handler._withTask || handler,\n capture\n );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n return\n }\n var on = vnode.data.on || {};\n var oldOn = oldVnode.data.on || {};\n target$1 = vnode.elm;\n normalizeEvents(on);\n updateListeners(on, oldOn, add$1, remove$2, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n}\n\n/* */\n\nfunction updateDOMProps (oldVnode, vnode) {\n if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n return\n }\n var key, cur;\n var elm = vnode.elm;\n var oldProps = oldVnode.data.domProps || {};\n var props = vnode.data.domProps || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(props.__ob__)) {\n props = vnode.data.domProps = extend({}, props);\n }\n\n for (key in oldProps) {\n if (isUndef(props[key])) {\n elm[key] = '';\n }\n }\n for (key in props) {\n cur = props[key];\n // ignore children if the node has textContent or innerHTML,\n // as these will throw away existing DOM nodes and cause removal errors\n // on subsequent patches (#3360)\n if (key === 'textContent' || key === 'innerHTML') {\n if (vnode.children) { vnode.children.length = 0; }\n if (cur === oldProps[key]) { continue }\n // #6601 work around Chrome version <= 55 bug where single textNode\n // replaced by innerHTML/textContent retains its parentNode property\n if (elm.childNodes.length === 1) {\n elm.removeChild(elm.childNodes[0]);\n }\n }\n\n if (key === 'value') {\n // store value as _value as well since\n // non-string values will be stringified\n elm._value = cur;\n // avoid resetting cursor position when value is the same\n var strCur = isUndef(cur) ? '' : String(cur);\n if (shouldUpdateValue(elm, strCur)) {\n elm.value = strCur;\n }\n } else {\n elm[key] = cur;\n }\n }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n return (!elm.composing && (\n elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)\n ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n // return true when textbox (.number and .trim) loses focus and its value is\n // not equal to the updated value\n var notInFocus = true;\n // #6157\n // work around IE bug when accessing document.activeElement in an iframe\n try { notInFocus = document.activeElement !== elm; } catch (e) {}\n return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n var value = elm.value;\n var modifiers = elm._vModifiers; // injected by v-model runtime\n if (isDef(modifiers)) {\n if (modifiers.lazy) {\n // inputs with lazy should only be updated when not in focus\n return false\n }\n if (modifiers.number) {\n return toNumber(value) !== toNumber(newVal)\n }\n if (modifiers.trim) {\n return value.trim() !== newVal.trim()\n }\n }\n return value !== newVal\n}\n\nvar domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n}\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n var style = normalizeStyleBinding(data.style);\n // static style is pre-processed into an object during compilation\n // and is always a fresh object, so it's safe to merge into it\n return data.staticStyle\n ? extend(data.staticStyle, style)\n : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n var res = {};\n var styleData;\n\n if (checkChild) {\n var childNode = vnode;\n while (childNode.componentInstance) {\n childNode = childNode.componentInstance._vnode;\n if (\n childNode && childNode.data &&\n (styleData = normalizeStyleData(childNode.data))\n ) {\n extend(res, styleData);\n }\n }\n }\n\n if ((styleData = normalizeStyleData(vnode.data))) {\n extend(res, styleData);\n }\n\n var parentNode = vnode;\n while ((parentNode = parentNode.parent)) {\n if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n extend(res, styleData);\n }\n }\n return res\n}\n\n/* */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n /* istanbul ignore if */\n if (cssVarRE.test(name)) {\n el.style.setProperty(name, val);\n } else if (importantRE.test(val)) {\n el.style.setProperty(name, val.replace(importantRE, ''), 'important');\n } else {\n var normalizedName = normalize(name);\n if (Array.isArray(val)) {\n // Support values array created by autoprefixer, e.g.\n // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n // Set them one by one, and the browser will only set those it can recognize\n for (var i = 0, len = val.length; i < len; i++) {\n el.style[normalizedName] = val[i];\n }\n } else {\n el.style[normalizedName] = val;\n }\n }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n emptyStyle = emptyStyle || document.createElement('div').style;\n prop = camelize(prop);\n if (prop !== 'filter' && (prop in emptyStyle)) {\n return prop\n }\n var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n for (var i = 0; i < vendorNames.length; i++) {\n var name = vendorNames[i] + capName;\n if (name in emptyStyle) {\n return name\n }\n }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n var data = vnode.data;\n var oldData = oldVnode.data;\n\n if (isUndef(data.staticStyle) && isUndef(data.style) &&\n isUndef(oldData.staticStyle) && isUndef(oldData.style)\n ) {\n return\n }\n\n var cur, name;\n var el = vnode.elm;\n var oldStaticStyle = oldData.staticStyle;\n var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n var oldStyle = oldStaticStyle || oldStyleBinding;\n\n var style = normalizeStyleBinding(vnode.data.style) || {};\n\n // store normalized style under a different key for next diff\n // make sure to clone it if it's reactive, since the user likely wants\n // to mutate it.\n vnode.data.normalizedStyle = isDef(style.__ob__)\n ? extend({}, style)\n : style;\n\n var newStyle = getStyle(vnode, true);\n\n for (name in oldStyle) {\n if (isUndef(newStyle[name])) {\n setProp(el, name, '');\n }\n }\n for (name in newStyle) {\n cur = newStyle[name];\n if (cur !== oldStyle[name]) {\n // ie9 setting to null has no effect, must use empty string\n setProp(el, name, cur == null ? '' : cur);\n }\n }\n}\n\nvar style = {\n create: updateStyle,\n update: updateStyle\n}\n\n/* */\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(/\\s+/).forEach(function (c) { return el.classList.add(c); });\n } else {\n el.classList.add(cls);\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n el.setAttribute('class', (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(/\\s+/).forEach(function (c) { return el.classList.remove(c); });\n } else {\n el.classList.remove(cls);\n }\n if (!el.classList.length) {\n el.removeAttribute('class');\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n cur = cur.trim();\n if (cur) {\n el.setAttribute('class', cur);\n } else {\n el.removeAttribute('class');\n }\n }\n}\n\n/* */\n\nfunction resolveTransition (def) {\n if (!def) {\n return\n }\n /* istanbul ignore else */\n if (typeof def === 'object') {\n var res = {};\n if (def.css !== false) {\n extend(res, autoCssTransition(def.name || 'v'));\n }\n extend(res, def);\n return res\n } else if (typeof def === 'string') {\n return autoCssTransition(def)\n }\n}\n\nvar autoCssTransition = cached(function (name) {\n return {\n enterClass: (name + \"-enter\"),\n enterToClass: (name + \"-enter-to\"),\n enterActiveClass: (name + \"-enter-active\"),\n leaveClass: (name + \"-leave\"),\n leaveToClass: (name + \"-leave-to\"),\n leaveActiveClass: (name + \"-leave-active\")\n }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n /* istanbul ignore if */\n if (window.ontransitionend === undefined &&\n window.onwebkittransitionend !== undefined\n ) {\n transitionProp = 'WebkitTransition';\n transitionEndEvent = 'webkitTransitionEnd';\n }\n if (window.onanimationend === undefined &&\n window.onwebkitanimationend !== undefined\n ) {\n animationProp = 'WebkitAnimation';\n animationEndEvent = 'webkitAnimationEnd';\n }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n raf(function () {\n raf(fn);\n });\n}\n\nfunction addTransitionClass (el, cls) {\n var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n if (transitionClasses.indexOf(cls) < 0) {\n transitionClasses.push(cls);\n addClass(el, cls);\n }\n}\n\nfunction removeTransitionClass (el, cls) {\n if (el._transitionClasses) {\n remove(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n el,\n expectedType,\n cb\n) {\n var ref = getTransitionInfo(el, expectedType);\n var type = ref.type;\n var timeout = ref.timeout;\n var propCount = ref.propCount;\n if (!type) { return cb() }\n var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n var ended = 0;\n var end = function () {\n el.removeEventListener(event, onEnd);\n cb();\n };\n var onEnd = function (e) {\n if (e.target === el) {\n if (++ended >= propCount) {\n end();\n }\n }\n };\n setTimeout(function () {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n var styles = window.getComputedStyle(el);\n var transitionDelays = styles[transitionProp + 'Delay'].split(', ');\n var transitionDurations = styles[transitionProp + 'Duration'].split(', ');\n var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n var animationDelays = styles[animationProp + 'Delay'].split(', ');\n var animationDurations = styles[animationProp + 'Duration'].split(', ');\n var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n var type;\n var timeout = 0;\n var propCount = 0;\n /* istanbul ignore if */\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0\n ? transitionTimeout > animationTimeout\n ? TRANSITION\n : ANIMATION\n : null;\n propCount = type\n ? type === TRANSITION\n ? transitionDurations.length\n : animationDurations.length\n : 0;\n }\n var hasTransform =\n type === TRANSITION &&\n transformRE.test(styles[transitionProp + 'Property']);\n return {\n type: type,\n timeout: timeout,\n propCount: propCount,\n hasTransform: hasTransform\n }\n}\n\nfunction getTimeout (delays, durations) {\n /* istanbul ignore next */\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n\n return Math.max.apply(null, durations.map(function (d, i) {\n return toMs(d) + toMs(delays[i])\n }))\n}\n\nfunction toMs (s) {\n return Number(s.slice(0, -1)) * 1000\n}\n\n/* */\n\nfunction enter (vnode, toggleDisplay) {\n var el = vnode.elm;\n\n // call leave callback now\n if (isDef(el._leaveCb)) {\n el._leaveCb.cancelled = true;\n el._leaveCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data)) {\n return\n }\n\n /* istanbul ignore if */\n if (isDef(el._enterCb) || el.nodeType !== 1) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var enterClass = data.enterClass;\n var enterToClass = data.enterToClass;\n var enterActiveClass = data.enterActiveClass;\n var appearClass = data.appearClass;\n var appearToClass = data.appearToClass;\n var appearActiveClass = data.appearActiveClass;\n var beforeEnter = data.beforeEnter;\n var enter = data.enter;\n var afterEnter = data.afterEnter;\n var enterCancelled = data.enterCancelled;\n var beforeAppear = data.beforeAppear;\n var appear = data.appear;\n var afterAppear = data.afterAppear;\n var appearCancelled = data.appearCancelled;\n var duration = data.duration;\n\n // activeInstance will always be the <transition> component managing this\n // transition. One edge case to check is when the <transition> is placed\n // as the root node of a child component. In that case we need to check\n // <transition>'s parent for appear check.\n var context = activeInstance;\n var transitionNode = activeInstance.$vnode;\n while (transitionNode && transitionNode.parent) {\n transitionNode = transitionNode.parent;\n context = transitionNode.context;\n }\n\n var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n if (isAppear && !appear && appear !== '') {\n return\n }\n\n var startClass = isAppear && appearClass\n ? appearClass\n : enterClass;\n var activeClass = isAppear && appearActiveClass\n ? appearActiveClass\n : enterActiveClass;\n var toClass = isAppear && appearToClass\n ? appearToClass\n : enterToClass;\n\n var beforeEnterHook = isAppear\n ? (beforeAppear || beforeEnter)\n : beforeEnter;\n var enterHook = isAppear\n ? (typeof appear === 'function' ? appear : enter)\n : enter;\n var afterEnterHook = isAppear\n ? (afterAppear || afterEnter)\n : afterEnter;\n var enterCancelledHook = isAppear\n ? (appearCancelled || enterCancelled)\n : enterCancelled;\n\n var explicitEnterDuration = toNumber(\n isObject(duration)\n ? duration.enter\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {\n checkDuration(explicitEnterDuration, 'enter', vnode);\n }\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(enterHook);\n\n var cb = el._enterCb = once(function () {\n if (expectsCSS) {\n removeTransitionClass(el, toClass);\n removeTransitionClass(el, activeClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, startClass);\n }\n enterCancelledHook && enterCancelledHook(el);\n } else {\n afterEnterHook && afterEnterHook(el);\n }\n el._enterCb = null;\n });\n\n if (!vnode.data.show) {\n // remove pending leave element on enter by injecting an insert hook\n mergeVNodeHook(vnode, 'insert', function () {\n var parent = el.parentNode;\n var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n if (pendingNode &&\n pendingNode.tag === vnode.tag &&\n pendingNode.elm._leaveCb\n ) {\n pendingNode.elm._leaveCb();\n }\n enterHook && enterHook(el, cb);\n });\n }\n\n // start enter transition\n beforeEnterHook && beforeEnterHook(el);\n if (expectsCSS) {\n addTransitionClass(el, startClass);\n addTransitionClass(el, activeClass);\n nextFrame(function () {\n removeTransitionClass(el, startClass);\n if (!cb.cancelled) {\n addTransitionClass(el, toClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitEnterDuration)) {\n setTimeout(cb, explicitEnterDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n\n if (vnode.data.show) {\n toggleDisplay && toggleDisplay();\n enterHook && enterHook(el, cb);\n }\n\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n}\n\nfunction leave (vnode, rm) {\n var el = vnode.elm;\n\n // call enter callback now\n if (isDef(el._enterCb)) {\n el._enterCb.cancelled = true;\n el._enterCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data) || el.nodeType !== 1) {\n return rm()\n }\n\n /* istanbul ignore if */\n if (isDef(el._leaveCb)) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var leaveClass = data.leaveClass;\n var leaveToClass = data.leaveToClass;\n var leaveActiveClass = data.leaveActiveClass;\n var beforeLeave = data.beforeLeave;\n var leave = data.leave;\n var afterLeave = data.afterLeave;\n var leaveCancelled = data.leaveCancelled;\n var delayLeave = data.delayLeave;\n var duration = data.duration;\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(leave);\n\n var explicitLeaveDuration = toNumber(\n isObject(duration)\n ? duration.leave\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {\n checkDuration(explicitLeaveDuration, 'leave', vnode);\n }\n\n var cb = el._leaveCb = once(function () {\n if (el.parentNode && el.parentNode._pending) {\n el.parentNode._pending[vnode.key] = null;\n }\n if (expectsCSS) {\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, leaveClass);\n }\n leaveCancelled && leaveCancelled(el);\n } else {\n rm();\n afterLeave && afterLeave(el);\n }\n el._leaveCb = null;\n });\n\n if (delayLeave) {\n delayLeave(performLeave);\n } else {\n performLeave();\n }\n\n function performLeave () {\n // the delayed leave may have already been cancelled\n if (cb.cancelled) {\n return\n }\n // record leaving element\n if (!vnode.data.show) {\n (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n }\n beforeLeave && beforeLeave(el);\n if (expectsCSS) {\n addTransitionClass(el, leaveClass);\n addTransitionClass(el, leaveActiveClass);\n nextFrame(function () {\n removeTransitionClass(el, leaveClass);\n if (!cb.cancelled) {\n addTransitionClass(el, leaveToClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitLeaveDuration)) {\n setTimeout(cb, explicitLeaveDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n leave && leave(el, cb);\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n if (typeof val !== 'number') {\n warn(\n \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n \"got \" + (JSON.stringify(val)) + \".\",\n vnode.context\n );\n } else if (isNaN(val)) {\n warn(\n \"<transition> explicit \" + name + \" duration is NaN - \" +\n 'the duration expression might be incorrect.',\n vnode.context\n );\n }\n}\n\nfunction isValidDuration (val) {\n return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n if (isUndef(fn)) {\n return false\n }\n var invokerFns = fn.fns;\n if (isDef(invokerFns)) {\n // invoker\n return getHookArgumentsLength(\n Array.isArray(invokerFns)\n ? invokerFns[0]\n : invokerFns\n )\n } else {\n return (fn._length || fn.length) > 1\n }\n}\n\nfunction _enter (_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n}\n\nvar transition = inBrowser ? {\n create: _enter,\n activate: _enter,\n remove: function remove$$1 (vnode, rm) {\n /* istanbul ignore else */\n if (vnode.data.show !== true) {\n leave(vnode, rm);\n } else {\n rm();\n }\n }\n} : {}\n\nvar platformModules = [\n attrs,\n klass,\n events,\n domProps,\n style,\n transition\n]\n\n/* */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', function () {\n var el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nvar directive = {\n inserted: function inserted (el, binding, vnode, oldVnode) {\n if (vnode.tag === 'select') {\n // #6903\n if (oldVnode.elm && !oldVnode.elm._vOptions) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n directive.componentUpdated(el, binding, vnode);\n });\n } else {\n setSelected(el, binding, vnode.context);\n }\n el._vOptions = [].map.call(el.options, getValue);\n } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n el._vModifiers = binding.modifiers;\n if (!binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n\n componentUpdated: function componentUpdated (el, binding, vnode) {\n if (vnode.tag === 'select') {\n setSelected(el, binding, vnode.context);\n // in case the options rendered by v-for have changed,\n // it's possible that the value is out-of-sync with the rendered options.\n // detect such cases and filter out values that no longer has a matching\n // option in the DOM.\n var prevOptions = el._vOptions;\n var curOptions = el._vOptions = [].map.call(el.options, getValue);\n if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n // trigger change event if\n // no matching option found for at least one value\n var needReset = el.multiple\n ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n if (needReset) {\n trigger(el, 'change');\n }\n }\n }\n }\n};\n\nfunction setSelected (el, binding, vm) {\n actuallySetSelected(el, binding, vm);\n /* istanbul ignore if */\n if (isIE || isEdge) {\n setTimeout(function () {\n actuallySetSelected(el, binding, vm);\n }, 0);\n }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n var value = binding.value;\n var isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n vm\n );\n return\n }\n var selected, option;\n for (var i = 0, l = el.options.length; i < l; i++) {\n option = el.options[i];\n if (isMultiple) {\n selected = looseIndexOf(value, getValue(option)) > -1;\n if (option.selected !== selected) {\n option.selected = selected;\n }\n } else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) {\n el.selectedIndex = i;\n }\n return\n }\n }\n }\n if (!isMultiple) {\n el.selectedIndex = -1;\n }\n}\n\nfunction hasNoMatchingOption (value, options) {\n return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n return '_value' in option\n ? option._value\n : option.value\n}\n\nfunction onCompositionStart (e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) { return }\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n var e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode\n}\n\nvar show = {\n bind: function bind (el, ref, vnode) {\n var value = ref.value;\n\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n var originalDisplay = el.__vOriginalDisplay =\n el.style.display === 'none' ? '' : el.style.display;\n if (value && transition$$1) {\n vnode.data.show = true;\n enter(vnode, function () {\n el.style.display = originalDisplay;\n });\n } else {\n el.style.display = value ? originalDisplay : 'none';\n }\n },\n\n update: function update (el, ref, vnode) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n\n /* istanbul ignore if */\n if (!value === !oldValue) { return }\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n if (transition$$1) {\n vnode.data.show = true;\n if (value) {\n enter(vnode, function () {\n el.style.display = el.__vOriginalDisplay;\n });\n } else {\n leave(vnode, function () {\n el.style.display = 'none';\n });\n }\n } else {\n el.style.display = value ? el.__vOriginalDisplay : 'none';\n }\n },\n\n unbind: function unbind (\n el,\n binding,\n vnode,\n oldVnode,\n isDestroy\n ) {\n if (!isDestroy) {\n el.style.display = el.__vOriginalDisplay;\n }\n }\n}\n\nvar platformDirectives = {\n model: directive,\n show: show\n}\n\n/* */\n\n// Provides transition support for a single element/component.\n// supports transition mode (out-in / in-out)\n\nvar transitionProps = {\n name: String,\n appear: Boolean,\n css: Boolean,\n mode: String,\n type: String,\n enterClass: String,\n leaveClass: String,\n enterToClass: String,\n leaveToClass: String,\n enterActiveClass: String,\n leaveActiveClass: String,\n appearClass: String,\n appearActiveClass: String,\n appearToClass: String,\n duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n var compOptions = vnode && vnode.componentOptions;\n if (compOptions && compOptions.Ctor.options.abstract) {\n return getRealChild(getFirstComponentChild(compOptions.children))\n } else {\n return vnode\n }\n}\n\nfunction extractTransitionData (comp) {\n var data = {};\n var options = comp.$options;\n // props\n for (var key in options.propsData) {\n data[key] = comp[key];\n }\n // events.\n // extract listeners and pass them directly to the transition methods\n var listeners = options._parentListeners;\n for (var key$1 in listeners) {\n data[camelize(key$1)] = listeners[key$1];\n }\n return data\n}\n\nfunction placeholder (h, rawChild) {\n if (/\\d-keep-alive$/.test(rawChild.tag)) {\n return h('keep-alive', {\n props: rawChild.componentOptions.propsData\n })\n }\n}\n\nfunction hasParentTransition (vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true\n }\n }\n}\n\nfunction isSameChild (child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar Transition = {\n name: 'transition',\n props: transitionProps,\n abstract: true,\n\n render: function render (h) {\n var this$1 = this;\n\n var children = this.$slots.default;\n if (!children) {\n return\n }\n\n // filter out text nodes (possible whitespaces)\n children = children.filter(function (c) { return c.tag || isAsyncPlaceholder(c); });\n /* istanbul ignore if */\n if (!children.length) {\n return\n }\n\n // warn multiple elements\n if (process.env.NODE_ENV !== 'production' && children.length > 1) {\n warn(\n '<transition> can only be used on a single element. Use ' +\n '<transition-group> for lists.',\n this.$parent\n );\n }\n\n var mode = this.mode;\n\n // warn invalid mode\n if (process.env.NODE_ENV !== 'production' &&\n mode && mode !== 'in-out' && mode !== 'out-in'\n ) {\n warn(\n 'invalid <transition> mode: ' + mode,\n this.$parent\n );\n }\n\n var rawChild = children[0];\n\n // if this is a component root node and the component's\n // parent container node also has transition, skip.\n if (hasParentTransition(this.$vnode)) {\n return rawChild\n }\n\n // apply transition data to child\n // use getRealChild() to ignore abstract components e.g. keep-alive\n var child = getRealChild(rawChild);\n /* istanbul ignore if */\n if (!child) {\n return rawChild\n }\n\n if (this._leaving) {\n return placeholder(h, rawChild)\n }\n\n // ensure a key that is unique to the vnode type and to this transition\n // component instance. This key will be used to remove pending leaving nodes\n // during entering.\n var id = \"__transition-\" + (this._uid) + \"-\";\n child.key = child.key == null\n ? child.isComment\n ? id + 'comment'\n : id + child.tag\n : isPrimitive(child.key)\n ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n : child.key;\n\n var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n var oldRawChild = this._vnode;\n var oldChild = getRealChild(oldRawChild);\n\n // mark v-show\n // so that the transition module can hand over the control to the directive\n if (child.data.directives && child.data.directives.some(function (d) { return d.name === 'show'; })) {\n child.data.show = true;\n }\n\n if (\n oldChild &&\n oldChild.data &&\n !isSameChild(child, oldChild) &&\n !isAsyncPlaceholder(oldChild) &&\n // #6687 component root is a comment node\n !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n ) {\n // replace old child transition data with fresh one\n // important for dynamic transitions!\n var oldData = oldChild.data.transition = extend({}, data);\n // handle transition mode\n if (mode === 'out-in') {\n // return placeholder node and queue update when leave finishes\n this._leaving = true;\n mergeVNodeHook(oldData, 'afterLeave', function () {\n this$1._leaving = false;\n this$1.$forceUpdate();\n });\n return placeholder(h, rawChild)\n } else if (mode === 'in-out') {\n if (isAsyncPlaceholder(child)) {\n return oldRawChild\n }\n var delayedLeave;\n var performLeave = function () { delayedLeave(); };\n mergeVNodeHook(data, 'afterEnter', performLeave);\n mergeVNodeHook(data, 'enterCancelled', performLeave);\n mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n }\n }\n\n return rawChild\n }\n}\n\n/* */\n\n// Provides transition support for list items.\n// supports move transitions using the FLIP technique.\n\n// Because the vdom's children update algorithm is \"unstable\" - i.e.\n// it doesn't guarantee the relative positioning of removed elements,\n// we force transition-group to update its children into two passes:\n// in the first pass, we remove all nodes that need to be removed,\n// triggering their leaving transition; in the second pass, we insert/move\n// into the final desired state. This way in the second pass removed\n// nodes will remain where they should be.\n\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props: props,\n\n render: function render (h) {\n var tag = this.tag || this.$vnode.data.tag || 'span';\n var map = Object.create(null);\n var prevChildren = this.prevChildren = this.children;\n var rawChildren = this.$slots.default || [];\n var children = this.children = [];\n var transitionData = extractTransitionData(this);\n\n for (var i = 0; i < rawChildren.length; i++) {\n var c = rawChildren[i];\n if (c.tag) {\n if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n children.push(c);\n map[c.key] = c\n ;(c.data || (c.data = {})).transition = transitionData;\n } else if (process.env.NODE_ENV !== 'production') {\n var opts = c.componentOptions;\n var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n }\n }\n }\n\n if (prevChildren) {\n var kept = [];\n var removed = [];\n for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n var c$1 = prevChildren[i$1];\n c$1.data.transition = transitionData;\n c$1.data.pos = c$1.elm.getBoundingClientRect();\n if (map[c$1.key]) {\n kept.push(c$1);\n } else {\n removed.push(c$1);\n }\n }\n this.kept = h(tag, null, kept);\n this.removed = removed;\n }\n\n return h(tag, null, children)\n },\n\n beforeUpdate: function beforeUpdate () {\n // force removing pass\n this.__patch__(\n this._vnode,\n this.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this._vnode = this.kept;\n },\n\n updated: function updated () {\n var children = this.prevChildren;\n var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n return\n }\n\n // we divide the work into three loops to avoid mixing DOM reads and writes\n // in each iteration - which helps prevent layout thrashing.\n children.forEach(callPendingCbs);\n children.forEach(recordPosition);\n children.forEach(applyTranslation);\n\n // force reflow to put everything in position\n // assign to this to avoid being removed in tree-shaking\n // $flow-disable-line\n this._reflow = document.body.offsetHeight;\n\n children.forEach(function (c) {\n if (c.data.moved) {\n var el = c.elm;\n var s = el.style;\n addTransitionClass(el, moveClass);\n s.transform = s.WebkitTransform = s.transitionDuration = '';\n el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(transitionEndEvent, cb);\n el._moveCb = null;\n removeTransitionClass(el, moveClass);\n }\n });\n }\n });\n },\n\n methods: {\n hasMove: function hasMove (el, moveClass) {\n /* istanbul ignore if */\n if (!hasTransition) {\n return false\n }\n /* istanbul ignore if */\n if (this._hasMove) {\n return this._hasMove\n }\n // Detect whether an element with the move class applied has\n // CSS transitions. Since the element may be inside an entering\n // transition at this very moment, we make a clone of it and remove\n // all other transition classes applied to ensure only the move class\n // is applied.\n var clone = el.cloneNode();\n if (el._transitionClasses) {\n el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n }\n addClass(clone, moveClass);\n clone.style.display = 'none';\n this.$el.appendChild(clone);\n var info = getTransitionInfo(clone);\n this.$el.removeChild(clone);\n return (this._hasMove = info.hasTransform)\n }\n }\n}\n\nfunction callPendingCbs (c) {\n /* istanbul ignore if */\n if (c.elm._moveCb) {\n c.elm._moveCb();\n }\n /* istanbul ignore if */\n if (c.elm._enterCb) {\n c.elm._enterCb();\n }\n}\n\nfunction recordPosition (c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n var oldPos = c.data.pos;\n var newPos = c.data.newPos;\n var dx = oldPos.left - newPos.left;\n var dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c.data.moved = true;\n var s = c.elm.style;\n s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n s.transitionDuration = '0s';\n }\n}\n\nvar platformComponents = {\n Transition: Transition,\n TransitionGroup: TransitionGroup\n}\n\n/* */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && inBrowser ? query(el) : undefined;\n return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n setTimeout(function () {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n } else if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n isChrome\n ) {\n console[console.info ? 'info' : 'log'](\n 'Download the Vue Devtools extension for a better development experience:\\n' +\n 'https://github.com/vuejs/vue-devtools'\n );\n }\n }\n if (process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n config.productionTip !== false &&\n typeof console !== 'undefined'\n ) {\n console[console.info ? 'info' : 'log'](\n \"You are running Vue in development mode.\\n\" +\n \"Make sure to turn on production mode when deploying for production.\\n\" +\n \"See more tips at https://vuejs.org/guide/deployment.html\"\n );\n }\n }, 0);\n}\n\n/* */\n\nvar defaultTagRE = /\\{\\{((?:.|\\n)+?)\\}\\}/g;\nvar regexEscapeRE = /[-.*+?^${}()|[\\]\\/\\\\]/g;\n\nvar buildRegex = cached(function (delimiters) {\n var open = delimiters[0].replace(regexEscapeRE, '\\\\$&');\n var close = delimiters[1].replace(regexEscapeRE, '\\\\$&');\n return new RegExp(open + '((?:.|\\\\n)+?)' + close, 'g')\n});\n\n\n\nfunction parseText (\n text,\n delimiters\n) {\n var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;\n if (!tagRE.test(text)) {\n return\n }\n var tokens = [];\n var rawTokens = [];\n var lastIndex = tagRE.lastIndex = 0;\n var match, index, tokenValue;\n while ((match = tagRE.exec(text))) {\n index = match.index;\n // push text token\n if (index > lastIndex) {\n rawTokens.push(tokenValue = text.slice(lastIndex, index));\n tokens.push(JSON.stringify(tokenValue));\n }\n // tag token\n var exp = parseFilters(match[1].trim());\n tokens.push((\"_s(\" + exp + \")\"));\n rawTokens.push({ '@binding': exp });\n lastIndex = index + match[0].length;\n }\n if (lastIndex < text.length) {\n rawTokens.push(tokenValue = text.slice(lastIndex));\n tokens.push(JSON.stringify(tokenValue));\n }\n return {\n expression: tokens.join('+'),\n tokens: rawTokens\n }\n}\n\n/* */\n\nfunction transformNode (el, options) {\n var warn = options.warn || baseWarn;\n var staticClass = getAndRemoveAttr(el, 'class');\n if (process.env.NODE_ENV !== 'production' && staticClass) {\n var res = parseText(staticClass, options.delimiters);\n if (res) {\n warn(\n \"class=\\\"\" + staticClass + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div class=\"{{ val }}\">, use <div :class=\"val\">.'\n );\n }\n }\n if (staticClass) {\n el.staticClass = JSON.stringify(staticClass);\n }\n var classBinding = getBindingAttr(el, 'class', false /* getStatic */);\n if (classBinding) {\n el.classBinding = classBinding;\n }\n}\n\nfunction genData (el) {\n var data = '';\n if (el.staticClass) {\n data += \"staticClass:\" + (el.staticClass) + \",\";\n }\n if (el.classBinding) {\n data += \"class:\" + (el.classBinding) + \",\";\n }\n return data\n}\n\nvar klass$1 = {\n staticKeys: ['staticClass'],\n transformNode: transformNode,\n genData: genData\n}\n\n/* */\n\nfunction transformNode$1 (el, options) {\n var warn = options.warn || baseWarn;\n var staticStyle = getAndRemoveAttr(el, 'style');\n if (staticStyle) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n var res = parseText(staticStyle, options.delimiters);\n if (res) {\n warn(\n \"style=\\\"\" + staticStyle + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div style=\"{{ val }}\">, use <div :style=\"val\">.'\n );\n }\n }\n el.staticStyle = JSON.stringify(parseStyleText(staticStyle));\n }\n\n var styleBinding = getBindingAttr(el, 'style', false /* getStatic */);\n if (styleBinding) {\n el.styleBinding = styleBinding;\n }\n}\n\nfunction genData$1 (el) {\n var data = '';\n if (el.staticStyle) {\n data += \"staticStyle:\" + (el.staticStyle) + \",\";\n }\n if (el.styleBinding) {\n data += \"style:(\" + (el.styleBinding) + \"),\";\n }\n return data\n}\n\nvar style$1 = {\n staticKeys: ['staticStyle'],\n transformNode: transformNode$1,\n genData: genData$1\n}\n\n/* */\n\nvar decoder;\n\nvar he = {\n decode: function decode (html) {\n decoder = decoder || document.createElement('div');\n decoder.innerHTML = html;\n return decoder.textContent\n }\n}\n\n/* */\n\nvar isUnaryTag = makeMap(\n 'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +\n 'link,meta,param,source,track,wbr'\n);\n\n// Elements that you can, intentionally, leave open\n// (and which close themselves)\nvar canBeLeftOpenTag = makeMap(\n 'colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source'\n);\n\n// HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3\n// Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content\nvar isNonPhrasingTag = makeMap(\n 'address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' +\n 'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' +\n 'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' +\n 'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' +\n 'title,tr,track'\n);\n\n/**\n * Not type-checking this file because it's mostly vendor code.\n */\n\n/*!\n * HTML Parser By John Resig (ejohn.org)\n * Modified by Juriy \"kangax\" Zaytsev\n * Original code by Erik Arvidsson, Mozilla Public License\n * http://erik.eae.net/simplehtmlparser/simplehtmlparser.js\n */\n\n// Regular Expressions for parsing tags and attributes\nvar attribute = /^\\s*([^\\s\"'<>\\/=]+)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\n// could use https://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-QName\n// but for Vue templates we can enforce a simple charset\nvar ncname = '[a-zA-Z_][\\\\w\\\\-\\\\.]*';\nvar qnameCapture = \"((?:\" + ncname + \"\\\\:)?\" + ncname + \")\";\nvar startTagOpen = new RegExp((\"^<\" + qnameCapture));\nvar startTagClose = /^\\s*(\\/?)>/;\nvar endTag = new RegExp((\"^<\\\\/\" + qnameCapture + \"[^>]*>\"));\nvar doctype = /^<!DOCTYPE [^>]+>/i;\n// #7298: escape - to avoid being pased as HTML comment when inlined in page\nvar comment = /^<!\\--/;\nvar conditionalComment = /^<!\\[/;\n\nvar IS_REGEX_CAPTURING_BROKEN = false;\n'x'.replace(/x(.)?/g, function (m, g) {\n IS_REGEX_CAPTURING_BROKEN = g === '';\n});\n\n// Special Elements (can contain anything)\nvar isPlainTextElement = makeMap('script,style,textarea', true);\nvar reCache = {};\n\nvar decodingMap = {\n '&lt;': '<',\n '&gt;': '>',\n '&quot;': '\"',\n '&amp;': '&',\n '&#10;': '\\n',\n '&#9;': '\\t'\n};\nvar encodedAttr = /&(?:lt|gt|quot|amp);/g;\nvar encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#10|#9);/g;\n\n// #5992\nvar isIgnoreNewlineTag = makeMap('pre,textarea', true);\nvar shouldIgnoreFirstNewline = function (tag, html) { return tag && isIgnoreNewlineTag(tag) && html[0] === '\\n'; };\n\nfunction decodeAttr (value, shouldDecodeNewlines) {\n var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr;\n return value.replace(re, function (match) { return decodingMap[match]; })\n}\n\nfunction parseHTML (html, options) {\n var stack = [];\n var expectHTML = options.expectHTML;\n var isUnaryTag$$1 = options.isUnaryTag || no;\n var canBeLeftOpenTag$$1 = options.canBeLeftOpenTag || no;\n var index = 0;\n var last, lastTag;\n while (html) {\n last = html;\n // Make sure we're not in a plaintext content element like script/style\n if (!lastTag || !isPlainTextElement(lastTag)) {\n var textEnd = html.indexOf('<');\n if (textEnd === 0) {\n // Comment:\n if (comment.test(html)) {\n var commentEnd = html.indexOf('-->');\n\n if (commentEnd >= 0) {\n if (options.shouldKeepComment) {\n options.comment(html.substring(4, commentEnd));\n }\n advance(commentEnd + 3);\n continue\n }\n }\n\n // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment\n if (conditionalComment.test(html)) {\n var conditionalEnd = html.indexOf(']>');\n\n if (conditionalEnd >= 0) {\n advance(conditionalEnd + 2);\n continue\n }\n }\n\n // Doctype:\n var doctypeMatch = html.match(doctype);\n if (doctypeMatch) {\n advance(doctypeMatch[0].length);\n continue\n }\n\n // End tag:\n var endTagMatch = html.match(endTag);\n if (endTagMatch) {\n var curIndex = index;\n advance(endTagMatch[0].length);\n parseEndTag(endTagMatch[1], curIndex, index);\n continue\n }\n\n // Start tag:\n var startTagMatch = parseStartTag();\n if (startTagMatch) {\n handleStartTag(startTagMatch);\n if (shouldIgnoreFirstNewline(lastTag, html)) {\n advance(1);\n }\n continue\n }\n }\n\n var text = (void 0), rest = (void 0), next = (void 0);\n if (textEnd >= 0) {\n rest = html.slice(textEnd);\n while (\n !endTag.test(rest) &&\n !startTagOpen.test(rest) &&\n !comment.test(rest) &&\n !conditionalComment.test(rest)\n ) {\n // < in plain text, be forgiving and treat it as text\n next = rest.indexOf('<', 1);\n if (next < 0) { break }\n textEnd += next;\n rest = html.slice(textEnd);\n }\n text = html.substring(0, textEnd);\n advance(textEnd);\n }\n\n if (textEnd < 0) {\n text = html;\n html = '';\n }\n\n if (options.chars && text) {\n options.chars(text);\n }\n } else {\n var endTagLength = 0;\n var stackedTag = lastTag.toLowerCase();\n var reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\\\s\\\\S]*?)(</' + stackedTag + '[^>]*>)', 'i'));\n var rest$1 = html.replace(reStackedTag, function (all, text, endTag) {\n endTagLength = endTag.length;\n if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') {\n text = text\n .replace(/<!\\--([\\s\\S]*?)-->/g, '$1') // #7298\n .replace(/<!\\[CDATA\\[([\\s\\S]*?)]]>/g, '$1');\n }\n if (shouldIgnoreFirstNewline(stackedTag, text)) {\n text = text.slice(1);\n }\n if (options.chars) {\n options.chars(text);\n }\n return ''\n });\n index += html.length - rest$1.length;\n html = rest$1;\n parseEndTag(stackedTag, index - endTagLength, index);\n }\n\n if (html === last) {\n options.chars && options.chars(html);\n if (process.env.NODE_ENV !== 'production' && !stack.length && options.warn) {\n options.warn((\"Mal-formatted tag at end of template: \\\"\" + html + \"\\\"\"));\n }\n break\n }\n }\n\n // Clean up any remaining tags\n parseEndTag();\n\n function advance (n) {\n index += n;\n html = html.substring(n);\n }\n\n function parseStartTag () {\n var start = html.match(startTagOpen);\n if (start) {\n var match = {\n tagName: start[1],\n attrs: [],\n start: index\n };\n advance(start[0].length);\n var end, attr;\n while (!(end = html.match(startTagClose)) && (attr = html.match(attribute))) {\n advance(attr[0].length);\n match.attrs.push(attr);\n }\n if (end) {\n match.unarySlash = end[1];\n advance(end[0].length);\n match.end = index;\n return match\n }\n }\n }\n\n function handleStartTag (match) {\n var tagName = match.tagName;\n var unarySlash = match.unarySlash;\n\n if (expectHTML) {\n if (lastTag === 'p' && isNonPhrasingTag(tagName)) {\n parseEndTag(lastTag);\n }\n if (canBeLeftOpenTag$$1(tagName) && lastTag === tagName) {\n parseEndTag(tagName);\n }\n }\n\n var unary = isUnaryTag$$1(tagName) || !!unarySlash;\n\n var l = match.attrs.length;\n var attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n var args = match.attrs[i];\n // hackish work around FF bug https://bugzilla.mozilla.org/show_bug.cgi?id=369778\n if (IS_REGEX_CAPTURING_BROKEN && args[0].indexOf('\"\"') === -1) {\n if (args[3] === '') { delete args[3]; }\n if (args[4] === '') { delete args[4]; }\n if (args[5] === '') { delete args[5]; }\n }\n var value = args[3] || args[4] || args[5] || '';\n var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href'\n ? options.shouldDecodeNewlinesForHref\n : options.shouldDecodeNewlines;\n attrs[i] = {\n name: args[1],\n value: decodeAttr(value, shouldDecodeNewlines)\n };\n }\n\n if (!unary) {\n stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs });\n lastTag = tagName;\n }\n\n if (options.start) {\n options.start(tagName, attrs, unary, match.start, match.end);\n }\n }\n\n function parseEndTag (tagName, start, end) {\n var pos, lowerCasedTagName;\n if (start == null) { start = index; }\n if (end == null) { end = index; }\n\n if (tagName) {\n lowerCasedTagName = tagName.toLowerCase();\n }\n\n // Find the closest opened tag of the same type\n if (tagName) {\n for (pos = stack.length - 1; pos >= 0; pos--) {\n if (stack[pos].lowerCasedTag === lowerCasedTagName) {\n break\n }\n }\n } else {\n // If no tag name is provided, clean shop\n pos = 0;\n }\n\n if (pos >= 0) {\n // Close all the open elements, up the stack\n for (var i = stack.length - 1; i >= pos; i--) {\n if (process.env.NODE_ENV !== 'production' &&\n (i > pos || !tagName) &&\n options.warn\n ) {\n options.warn(\n (\"tag <\" + (stack[i].tag) + \"> has no matching end tag.\")\n );\n }\n if (options.end) {\n options.end(stack[i].tag, start, end);\n }\n }\n\n // Remove the open elements from the stack\n stack.length = pos;\n lastTag = pos && stack[pos - 1].tag;\n } else if (lowerCasedTagName === 'br') {\n if (options.start) {\n options.start(tagName, [], true, start, end);\n }\n } else if (lowerCasedTagName === 'p') {\n if (options.start) {\n options.start(tagName, [], false, start, end);\n }\n if (options.end) {\n options.end(tagName, start, end);\n }\n }\n }\n}\n\n/* */\n\nvar onRE = /^@|^v-on:/;\nvar dirRE = /^v-|^@|^:/;\nvar forAliasRE = /([^]*?)\\s+(?:in|of)\\s+([^]*)/;\nvar forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\nvar stripParensRE = /^\\(|\\)$/g;\n\nvar argRE = /:(.*)$/;\nvar bindRE = /^:|^v-bind:/;\nvar modifierRE = /\\.[^.]+/g;\n\nvar decodeHTMLCached = cached(he.decode);\n\n// configurable state\nvar warn$2;\nvar delimiters;\nvar transforms;\nvar preTransforms;\nvar postTransforms;\nvar platformIsPreTag;\nvar platformMustUseProp;\nvar platformGetTagNamespace;\n\n\n\nfunction createASTElement (\n tag,\n attrs,\n parent\n) {\n return {\n type: 1,\n tag: tag,\n attrsList: attrs,\n attrsMap: makeAttrsMap(attrs),\n parent: parent,\n children: []\n }\n}\n\n/**\n * Convert HTML string to AST.\n */\nfunction parse (\n template,\n options\n) {\n warn$2 = options.warn || baseWarn;\n\n platformIsPreTag = options.isPreTag || no;\n platformMustUseProp = options.mustUseProp || no;\n platformGetTagNamespace = options.getTagNamespace || no;\n\n transforms = pluckModuleFunction(options.modules, 'transformNode');\n preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');\n postTransforms = pluckModuleFunction(options.modules, 'postTransformNode');\n\n delimiters = options.delimiters;\n\n var stack = [];\n var preserveWhitespace = options.preserveWhitespace !== false;\n var root;\n var currentParent;\n var inVPre = false;\n var inPre = false;\n var warned = false;\n\n function warnOnce (msg) {\n if (!warned) {\n warned = true;\n warn$2(msg);\n }\n }\n\n function closeElement (element) {\n // check pre state\n if (element.pre) {\n inVPre = false;\n }\n if (platformIsPreTag(element.tag)) {\n inPre = false;\n }\n // apply post-transforms\n for (var i = 0; i < postTransforms.length; i++) {\n postTransforms[i](element, options);\n }\n }\n\n parseHTML(template, {\n warn: warn$2,\n expectHTML: options.expectHTML,\n isUnaryTag: options.isUnaryTag,\n canBeLeftOpenTag: options.canBeLeftOpenTag,\n shouldDecodeNewlines: options.shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref,\n shouldKeepComment: options.comments,\n start: function start (tag, attrs, unary) {\n // check namespace.\n // inherit parent ns if there is one\n var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);\n\n // handle IE svg bug\n /* istanbul ignore if */\n if (isIE && ns === 'svg') {\n attrs = guardIESVGBug(attrs);\n }\n\n var element = createASTElement(tag, attrs, currentParent);\n if (ns) {\n element.ns = ns;\n }\n\n if (isForbiddenTag(element) && !isServerRendering()) {\n element.forbidden = true;\n process.env.NODE_ENV !== 'production' && warn$2(\n 'Templates should only be responsible for mapping the state to the ' +\n 'UI. Avoid placing tags with side-effects in your templates, such as ' +\n \"<\" + tag + \">\" + ', as they will not be parsed.'\n );\n }\n\n // apply pre-transforms\n for (var i = 0; i < preTransforms.length; i++) {\n element = preTransforms[i](element, options) || element;\n }\n\n if (!inVPre) {\n processPre(element);\n if (element.pre) {\n inVPre = true;\n }\n }\n if (platformIsPreTag(element.tag)) {\n inPre = true;\n }\n if (inVPre) {\n processRawAttrs(element);\n } else if (!element.processed) {\n // structural directives\n processFor(element);\n processIf(element);\n processOnce(element);\n // element-scope stuff\n processElement(element, options);\n }\n\n function checkRootConstraints (el) {\n if (process.env.NODE_ENV !== 'production') {\n if (el.tag === 'slot' || el.tag === 'template') {\n warnOnce(\n \"Cannot use <\" + (el.tag) + \"> as component root element because it may \" +\n 'contain multiple nodes.'\n );\n }\n if (el.attrsMap.hasOwnProperty('v-for')) {\n warnOnce(\n 'Cannot use v-for on stateful component root element because ' +\n 'it renders multiple elements.'\n );\n }\n }\n }\n\n // tree management\n if (!root) {\n root = element;\n checkRootConstraints(root);\n } else if (!stack.length) {\n // allow root elements with v-if, v-else-if and v-else\n if (root.if && (element.elseif || element.else)) {\n checkRootConstraints(element);\n addIfCondition(root, {\n exp: element.elseif,\n block: element\n });\n } else if (process.env.NODE_ENV !== 'production') {\n warnOnce(\n \"Component template should contain exactly one root element. \" +\n \"If you are using v-if on multiple elements, \" +\n \"use v-else-if to chain them instead.\"\n );\n }\n }\n if (currentParent && !element.forbidden) {\n if (element.elseif || element.else) {\n processIfConditions(element, currentParent);\n } else if (element.slotScope) { // scoped slot\n currentParent.plain = false;\n var name = element.slotTarget || '\"default\"';(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;\n } else {\n currentParent.children.push(element);\n element.parent = currentParent;\n }\n }\n if (!unary) {\n currentParent = element;\n stack.push(element);\n } else {\n closeElement(element);\n }\n },\n\n end: function end () {\n // remove trailing whitespace\n var element = stack[stack.length - 1];\n var lastNode = element.children[element.children.length - 1];\n if (lastNode && lastNode.type === 3 && lastNode.text === ' ' && !inPre) {\n element.children.pop();\n }\n // pop stack\n stack.length -= 1;\n currentParent = stack[stack.length - 1];\n closeElement(element);\n },\n\n chars: function chars (text) {\n if (!currentParent) {\n if (process.env.NODE_ENV !== 'production') {\n if (text === template) {\n warnOnce(\n 'Component template requires a root element, rather than just text.'\n );\n } else if ((text = text.trim())) {\n warnOnce(\n (\"text \\\"\" + text + \"\\\" outside root element will be ignored.\")\n );\n }\n }\n return\n }\n // IE textarea placeholder bug\n /* istanbul ignore if */\n if (isIE &&\n currentParent.tag === 'textarea' &&\n currentParent.attrsMap.placeholder === text\n ) {\n return\n }\n var children = currentParent.children;\n text = inPre || text.trim()\n ? isTextTag(currentParent) ? text : decodeHTMLCached(text)\n // only preserve whitespace if its not right after a starting tag\n : preserveWhitespace && children.length ? ' ' : '';\n if (text) {\n var res;\n if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) {\n children.push({\n type: 2,\n expression: res.expression,\n tokens: res.tokens,\n text: text\n });\n } else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') {\n children.push({\n type: 3,\n text: text\n });\n }\n }\n },\n comment: function comment (text) {\n currentParent.children.push({\n type: 3,\n text: text,\n isComment: true\n });\n }\n });\n return root\n}\n\nfunction processPre (el) {\n if (getAndRemoveAttr(el, 'v-pre') != null) {\n el.pre = true;\n }\n}\n\nfunction processRawAttrs (el) {\n var l = el.attrsList.length;\n if (l) {\n var attrs = el.attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n attrs[i] = {\n name: el.attrsList[i].name,\n value: JSON.stringify(el.attrsList[i].value)\n };\n }\n } else if (!el.pre) {\n // non root node in pre blocks with no attributes\n el.plain = true;\n }\n}\n\nfunction processElement (element, options) {\n processKey(element);\n\n // determine whether this is a plain element after\n // removing structural attributes\n element.plain = !element.key && !element.attrsList.length;\n\n processRef(element);\n processSlot(element);\n processComponent(element);\n for (var i = 0; i < transforms.length; i++) {\n element = transforms[i](element, options) || element;\n }\n processAttrs(element);\n}\n\nfunction processKey (el) {\n var exp = getBindingAttr(el, 'key');\n if (exp) {\n if (process.env.NODE_ENV !== 'production' && el.tag === 'template') {\n warn$2(\"<template> cannot be keyed. Place the key on real elements instead.\");\n }\n el.key = exp;\n }\n}\n\nfunction processRef (el) {\n var ref = getBindingAttr(el, 'ref');\n if (ref) {\n el.ref = ref;\n el.refInFor = checkInFor(el);\n }\n}\n\nfunction processFor (el) {\n var exp;\n if ((exp = getAndRemoveAttr(el, 'v-for'))) {\n var res = parseFor(exp);\n if (res) {\n extend(el, res);\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n (\"Invalid v-for expression: \" + exp)\n );\n }\n }\n}\n\n\n\nfunction parseFor (exp) {\n var inMatch = exp.match(forAliasRE);\n if (!inMatch) { return }\n var res = {};\n res.for = inMatch[2].trim();\n var alias = inMatch[1].trim().replace(stripParensRE, '');\n var iteratorMatch = alias.match(forIteratorRE);\n if (iteratorMatch) {\n res.alias = alias.replace(forIteratorRE, '');\n res.iterator1 = iteratorMatch[1].trim();\n if (iteratorMatch[2]) {\n res.iterator2 = iteratorMatch[2].trim();\n }\n } else {\n res.alias = alias;\n }\n return res\n}\n\nfunction processIf (el) {\n var exp = getAndRemoveAttr(el, 'v-if');\n if (exp) {\n el.if = exp;\n addIfCondition(el, {\n exp: exp,\n block: el\n });\n } else {\n if (getAndRemoveAttr(el, 'v-else') != null) {\n el.else = true;\n }\n var elseif = getAndRemoveAttr(el, 'v-else-if');\n if (elseif) {\n el.elseif = elseif;\n }\n }\n}\n\nfunction processIfConditions (el, parent) {\n var prev = findPrevElement(parent.children);\n if (prev && prev.if) {\n addIfCondition(prev, {\n exp: el.elseif,\n block: el\n });\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n \"v-\" + (el.elseif ? ('else-if=\"' + el.elseif + '\"') : 'else') + \" \" +\n \"used on element <\" + (el.tag) + \"> without corresponding v-if.\"\n );\n }\n}\n\nfunction findPrevElement (children) {\n var i = children.length;\n while (i--) {\n if (children[i].type === 1) {\n return children[i]\n } else {\n if (process.env.NODE_ENV !== 'production' && children[i].text !== ' ') {\n warn$2(\n \"text \\\"\" + (children[i].text.trim()) + \"\\\" between v-if and v-else(-if) \" +\n \"will be ignored.\"\n );\n }\n children.pop();\n }\n }\n}\n\nfunction addIfCondition (el, condition) {\n if (!el.ifConditions) {\n el.ifConditions = [];\n }\n el.ifConditions.push(condition);\n}\n\nfunction processOnce (el) {\n var once$$1 = getAndRemoveAttr(el, 'v-once');\n if (once$$1 != null) {\n el.once = true;\n }\n}\n\nfunction processSlot (el) {\n if (el.tag === 'slot') {\n el.slotName = getBindingAttr(el, 'name');\n if (process.env.NODE_ENV !== 'production' && el.key) {\n warn$2(\n \"`key` does not work on <slot> because slots are abstract outlets \" +\n \"and can possibly expand into multiple elements. \" +\n \"Use the key on a wrapping element instead.\"\n );\n }\n } else {\n var slotScope;\n if (el.tag === 'template') {\n slotScope = getAndRemoveAttr(el, 'scope');\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && slotScope) {\n warn$2(\n \"the \\\"scope\\\" attribute for scoped slots have been deprecated and \" +\n \"replaced by \\\"slot-scope\\\" since 2.5. The new \\\"slot-scope\\\" attribute \" +\n \"can also be used on plain elements in addition to <template> to \" +\n \"denote scoped slots.\",\n true\n );\n }\n el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope');\n } else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && el.attrsMap['v-for']) {\n warn$2(\n \"Ambiguous combined usage of slot-scope and v-for on <\" + (el.tag) + \"> \" +\n \"(v-for takes higher priority). Use a wrapper <template> for the \" +\n \"scoped slot to make it clearer.\",\n true\n );\n }\n el.slotScope = slotScope;\n }\n var slotTarget = getBindingAttr(el, 'slot');\n if (slotTarget) {\n el.slotTarget = slotTarget === '\"\"' ? '\"default\"' : slotTarget;\n // preserve slot as an attribute for native shadow DOM compat\n // only for non-scoped slots.\n if (el.tag !== 'template' && !el.slotScope) {\n addAttr(el, 'slot', slotTarget);\n }\n }\n }\n}\n\nfunction processComponent (el) {\n var binding;\n if ((binding = getBindingAttr(el, 'is'))) {\n el.component = binding;\n }\n if (getAndRemoveAttr(el, 'inline-template') != null) {\n el.inlineTemplate = true;\n }\n}\n\nfunction processAttrs (el) {\n var list = el.attrsList;\n var i, l, name, rawName, value, modifiers, isProp;\n for (i = 0, l = list.length; i < l; i++) {\n name = rawName = list[i].name;\n value = list[i].value;\n if (dirRE.test(name)) {\n // mark element as dynamic\n el.hasBindings = true;\n // modifiers\n modifiers = parseModifiers(name);\n if (modifiers) {\n name = name.replace(modifierRE, '');\n }\n if (bindRE.test(name)) { // v-bind\n name = name.replace(bindRE, '');\n value = parseFilters(value);\n isProp = false;\n if (modifiers) {\n if (modifiers.prop) {\n isProp = true;\n name = camelize(name);\n if (name === 'innerHtml') { name = 'innerHTML'; }\n }\n if (modifiers.camel) {\n name = camelize(name);\n }\n if (modifiers.sync) {\n addHandler(\n el,\n (\"update:\" + (camelize(name))),\n genAssignmentCode(value, \"$event\")\n );\n }\n }\n if (isProp || (\n !el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)\n )) {\n addProp(el, name, value);\n } else {\n addAttr(el, name, value);\n }\n } else if (onRE.test(name)) { // v-on\n name = name.replace(onRE, '');\n addHandler(el, name, value, modifiers, false, warn$2);\n } else { // normal directives\n name = name.replace(dirRE, '');\n // parse arg\n var argMatch = name.match(argRE);\n var arg = argMatch && argMatch[1];\n if (arg) {\n name = name.slice(0, -(arg.length + 1));\n }\n addDirective(el, name, rawName, value, arg, modifiers);\n if (process.env.NODE_ENV !== 'production' && name === 'model') {\n checkForAliasModel(el, value);\n }\n }\n } else {\n // literal attribute\n if (process.env.NODE_ENV !== 'production') {\n var res = parseText(value, delimiters);\n if (res) {\n warn$2(\n name + \"=\\\"\" + value + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div id=\"{{ val }}\">, use <div :id=\"val\">.'\n );\n }\n }\n addAttr(el, name, JSON.stringify(value));\n // #6887 firefox doesn't update muted state if set via attribute\n // even immediately after element creation\n if (!el.component &&\n name === 'muted' &&\n platformMustUseProp(el.tag, el.attrsMap.type, name)) {\n addProp(el, name, 'true');\n }\n }\n }\n}\n\nfunction checkInFor (el) {\n var parent = el;\n while (parent) {\n if (parent.for !== undefined) {\n return true\n }\n parent = parent.parent;\n }\n return false\n}\n\nfunction parseModifiers (name) {\n var match = name.match(modifierRE);\n if (match) {\n var ret = {};\n match.forEach(function (m) { ret[m.slice(1)] = true; });\n return ret\n }\n}\n\nfunction makeAttrsMap (attrs) {\n var map = {};\n for (var i = 0, l = attrs.length; i < l; i++) {\n if (\n process.env.NODE_ENV !== 'production' &&\n map[attrs[i].name] && !isIE && !isEdge\n ) {\n warn$2('duplicate attribute: ' + attrs[i].name);\n }\n map[attrs[i].name] = attrs[i].value;\n }\n return map\n}\n\n// for script (e.g. type=\"x/template\") or style, do not decode content\nfunction isTextTag (el) {\n return el.tag === 'script' || el.tag === 'style'\n}\n\nfunction isForbiddenTag (el) {\n return (\n el.tag === 'style' ||\n (el.tag === 'script' && (\n !el.attrsMap.type ||\n el.attrsMap.type === 'text/javascript'\n ))\n )\n}\n\nvar ieNSBug = /^xmlns:NS\\d+/;\nvar ieNSPrefix = /^NS\\d+:/;\n\n/* istanbul ignore next */\nfunction guardIESVGBug (attrs) {\n var res = [];\n for (var i = 0; i < attrs.length; i++) {\n var attr = attrs[i];\n if (!ieNSBug.test(attr.name)) {\n attr.name = attr.name.replace(ieNSPrefix, '');\n res.push(attr);\n }\n }\n return res\n}\n\nfunction checkForAliasModel (el, value) {\n var _el = el;\n while (_el) {\n if (_el.for && _el.alias === value) {\n warn$2(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"You are binding v-model directly to a v-for iteration alias. \" +\n \"This will not be able to modify the v-for source array because \" +\n \"writing to the alias is like modifying a function local variable. \" +\n \"Consider using an array of objects and use v-model on an object property instead.\"\n );\n }\n _el = _el.parent;\n }\n}\n\n/* */\n\n/**\n * Expand input[v-model] with dyanmic type bindings into v-if-else chains\n * Turn this:\n * <input v-model=\"data[type]\" :type=\"type\">\n * into this:\n * <input v-if=\"type === 'checkbox'\" type=\"checkbox\" v-model=\"data[type]\">\n * <input v-else-if=\"type === 'radio'\" type=\"radio\" v-model=\"data[type]\">\n * <input v-else :type=\"type\" v-model=\"data[type]\">\n */\n\nfunction preTransformNode (el, options) {\n if (el.tag === 'input') {\n var map = el.attrsMap;\n if (!map['v-model']) {\n return\n }\n\n var typeBinding;\n if (map[':type'] || map['v-bind:type']) {\n typeBinding = getBindingAttr(el, 'type');\n }\n if (!map.type && !typeBinding && map['v-bind']) {\n typeBinding = \"(\" + (map['v-bind']) + \").type\";\n }\n\n if (typeBinding) {\n var ifCondition = getAndRemoveAttr(el, 'v-if', true);\n var ifConditionExtra = ifCondition ? (\"&&(\" + ifCondition + \")\") : \"\";\n var hasElse = getAndRemoveAttr(el, 'v-else', true) != null;\n var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true);\n // 1. checkbox\n var branch0 = cloneASTElement(el);\n // process for on the main node\n processFor(branch0);\n addRawAttr(branch0, 'type', 'checkbox');\n processElement(branch0, options);\n branch0.processed = true; // prevent it from double-processed\n branch0.if = \"(\" + typeBinding + \")==='checkbox'\" + ifConditionExtra;\n addIfCondition(branch0, {\n exp: branch0.if,\n block: branch0\n });\n // 2. add radio else-if condition\n var branch1 = cloneASTElement(el);\n getAndRemoveAttr(branch1, 'v-for', true);\n addRawAttr(branch1, 'type', 'radio');\n processElement(branch1, options);\n addIfCondition(branch0, {\n exp: \"(\" + typeBinding + \")==='radio'\" + ifConditionExtra,\n block: branch1\n });\n // 3. other\n var branch2 = cloneASTElement(el);\n getAndRemoveAttr(branch2, 'v-for', true);\n addRawAttr(branch2, ':type', typeBinding);\n processElement(branch2, options);\n addIfCondition(branch0, {\n exp: ifCondition,\n block: branch2\n });\n\n if (hasElse) {\n branch0.else = true;\n } else if (elseIfCondition) {\n branch0.elseif = elseIfCondition;\n }\n\n return branch0\n }\n }\n}\n\nfunction cloneASTElement (el) {\n return createASTElement(el.tag, el.attrsList.slice(), el.parent)\n}\n\nvar model$2 = {\n preTransformNode: preTransformNode\n}\n\nvar modules$1 = [\n klass$1,\n style$1,\n model$2\n]\n\n/* */\n\nfunction text (el, dir) {\n if (dir.value) {\n addProp(el, 'textContent', (\"_s(\" + (dir.value) + \")\"));\n }\n}\n\n/* */\n\nfunction html (el, dir) {\n if (dir.value) {\n addProp(el, 'innerHTML', (\"_s(\" + (dir.value) + \")\"));\n }\n}\n\nvar directives$1 = {\n model: model,\n text: text,\n html: html\n}\n\n/* */\n\nvar baseOptions = {\n expectHTML: true,\n modules: modules$1,\n directives: directives$1,\n isPreTag: isPreTag,\n isUnaryTag: isUnaryTag,\n mustUseProp: mustUseProp,\n canBeLeftOpenTag: canBeLeftOpenTag,\n isReservedTag: isReservedTag,\n getTagNamespace: getTagNamespace,\n staticKeys: genStaticKeys(modules$1)\n};\n\n/* */\n\nvar isStaticKey;\nvar isPlatformReservedTag;\n\nvar genStaticKeysCached = cached(genStaticKeys$1);\n\n/**\n * Goal of the optimizer: walk the generated template AST tree\n * and detect sub-trees that are purely static, i.e. parts of\n * the DOM that never needs to change.\n *\n * Once we detect these sub-trees, we can:\n *\n * 1. Hoist them into constants, so that we no longer need to\n * create fresh nodes for them on each re-render;\n * 2. Completely skip them in the patching process.\n */\nfunction optimize (root, options) {\n if (!root) { return }\n isStaticKey = genStaticKeysCached(options.staticKeys || '');\n isPlatformReservedTag = options.isReservedTag || no;\n // first pass: mark all non-static nodes.\n markStatic$1(root);\n // second pass: mark static roots.\n markStaticRoots(root, false);\n}\n\nfunction genStaticKeys$1 (keys) {\n return makeMap(\n 'type,tag,attrsList,attrsMap,plain,parent,children,attrs' +\n (keys ? ',' + keys : '')\n )\n}\n\nfunction markStatic$1 (node) {\n node.static = isStatic(node);\n if (node.type === 1) {\n // do not make component slot content static. this avoids\n // 1. components not able to mutate slot nodes\n // 2. static slot content fails for hot-reloading\n if (\n !isPlatformReservedTag(node.tag) &&\n node.tag !== 'slot' &&\n node.attrsMap['inline-template'] == null\n ) {\n return\n }\n for (var i = 0, l = node.children.length; i < l; i++) {\n var child = node.children[i];\n markStatic$1(child);\n if (!child.static) {\n node.static = false;\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n var block = node.ifConditions[i$1].block;\n markStatic$1(block);\n if (!block.static) {\n node.static = false;\n }\n }\n }\n }\n}\n\nfunction markStaticRoots (node, isInFor) {\n if (node.type === 1) {\n if (node.static || node.once) {\n node.staticInFor = isInFor;\n }\n // For a node to qualify as a static root, it should have children that\n // are not just static text. Otherwise the cost of hoisting out will\n // outweigh the benefits and it's better off to just always render it fresh.\n if (node.static && node.children.length && !(\n node.children.length === 1 &&\n node.children[0].type === 3\n )) {\n node.staticRoot = true;\n return\n } else {\n node.staticRoot = false;\n }\n if (node.children) {\n for (var i = 0, l = node.children.length; i < l; i++) {\n markStaticRoots(node.children[i], isInFor || !!node.for);\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n markStaticRoots(node.ifConditions[i$1].block, isInFor);\n }\n }\n }\n}\n\nfunction isStatic (node) {\n if (node.type === 2) { // expression\n return false\n }\n if (node.type === 3) { // text\n return true\n }\n return !!(node.pre || (\n !node.hasBindings && // no dynamic bindings\n !node.if && !node.for && // not v-if or v-for or v-else\n !isBuiltInTag(node.tag) && // not a built-in\n isPlatformReservedTag(node.tag) && // not a component\n !isDirectChildOfTemplateFor(node) &&\n Object.keys(node).every(isStaticKey)\n ))\n}\n\nfunction isDirectChildOfTemplateFor (node) {\n while (node.parent) {\n node = node.parent;\n if (node.tag !== 'template') {\n return false\n }\n if (node.for) {\n return true\n }\n }\n return false\n}\n\n/* */\n\nvar fnExpRE = /^([\\w$_]+|\\([^)]*?\\))\\s*=>|^function\\s*\\(/;\nvar simplePathRE = /^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\['[^']*?']|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/;\n\n// KeyboardEvent.keyCode aliases\nvar keyCodes = {\n esc: 27,\n tab: 9,\n enter: 13,\n space: 32,\n up: 38,\n left: 37,\n right: 39,\n down: 40,\n 'delete': [8, 46]\n};\n\n// KeyboardEvent.key aliases\nvar keyNames = {\n esc: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: ' ',\n // #7806: IE11 uses key names without `Arrow` prefix for arrow keys.\n up: ['Up', 'ArrowUp'],\n left: ['Left', 'ArrowLeft'],\n right: ['Right', 'ArrowRight'],\n down: ['Down', 'ArrowDown'],\n 'delete': ['Backspace', 'Delete']\n};\n\n// #4868: modifiers that prevent the execution of the listener\n// need to explicitly return null so that we can determine whether to remove\n// the listener for .once\nvar genGuard = function (condition) { return (\"if(\" + condition + \")return null;\"); };\n\nvar modifierCode = {\n stop: '$event.stopPropagation();',\n prevent: '$event.preventDefault();',\n self: genGuard(\"$event.target !== $event.currentTarget\"),\n ctrl: genGuard(\"!$event.ctrlKey\"),\n shift: genGuard(\"!$event.shiftKey\"),\n alt: genGuard(\"!$event.altKey\"),\n meta: genGuard(\"!$event.metaKey\"),\n left: genGuard(\"'button' in $event && $event.button !== 0\"),\n middle: genGuard(\"'button' in $event && $event.button !== 1\"),\n right: genGuard(\"'button' in $event && $event.button !== 2\")\n};\n\nfunction genHandlers (\n events,\n isNative,\n warn\n) {\n var res = isNative ? 'nativeOn:{' : 'on:{';\n for (var name in events) {\n res += \"\\\"\" + name + \"\\\":\" + (genHandler(name, events[name])) + \",\";\n }\n return res.slice(0, -1) + '}'\n}\n\nfunction genHandler (\n name,\n handler\n) {\n if (!handler) {\n return 'function(){}'\n }\n\n if (Array.isArray(handler)) {\n return (\"[\" + (handler.map(function (handler) { return genHandler(name, handler); }).join(',')) + \"]\")\n }\n\n var isMethodPath = simplePathRE.test(handler.value);\n var isFunctionExpression = fnExpRE.test(handler.value);\n\n if (!handler.modifiers) {\n if (isMethodPath || isFunctionExpression) {\n return handler.value\n }\n /* istanbul ignore if */\n return (\"function($event){\" + (handler.value) + \"}\") // inline statement\n } else {\n var code = '';\n var genModifierCode = '';\n var keys = [];\n for (var key in handler.modifiers) {\n if (modifierCode[key]) {\n genModifierCode += modifierCode[key];\n // left/right\n if (keyCodes[key]) {\n keys.push(key);\n }\n } else if (key === 'exact') {\n var modifiers = (handler.modifiers);\n genModifierCode += genGuard(\n ['ctrl', 'shift', 'alt', 'meta']\n .filter(function (keyModifier) { return !modifiers[keyModifier]; })\n .map(function (keyModifier) { return (\"$event.\" + keyModifier + \"Key\"); })\n .join('||')\n );\n } else {\n keys.push(key);\n }\n }\n if (keys.length) {\n code += genKeyFilter(keys);\n }\n // Make sure modifiers like prevent and stop get executed after key filtering\n if (genModifierCode) {\n code += genModifierCode;\n }\n var handlerCode = isMethodPath\n ? (\"return \" + (handler.value) + \"($event)\")\n : isFunctionExpression\n ? (\"return (\" + (handler.value) + \")($event)\")\n : handler.value;\n /* istanbul ignore if */\n return (\"function($event){\" + code + handlerCode + \"}\")\n }\n}\n\nfunction genKeyFilter (keys) {\n return (\"if(!('button' in $event)&&\" + (keys.map(genFilterCode).join('&&')) + \")return null;\")\n}\n\nfunction genFilterCode (key) {\n var keyVal = parseInt(key, 10);\n if (keyVal) {\n return (\"$event.keyCode!==\" + keyVal)\n }\n var keyCode = keyCodes[key];\n var keyName = keyNames[key];\n return (\n \"_k($event.keyCode,\" +\n (JSON.stringify(key)) + \",\" +\n (JSON.stringify(keyCode)) + \",\" +\n \"$event.key,\" +\n \"\" + (JSON.stringify(keyName)) +\n \")\"\n )\n}\n\n/* */\n\nfunction on (el, dir) {\n if (process.env.NODE_ENV !== 'production' && dir.modifiers) {\n warn(\"v-on without argument does not support modifiers.\");\n }\n el.wrapListeners = function (code) { return (\"_g(\" + code + \",\" + (dir.value) + \")\"); };\n}\n\n/* */\n\nfunction bind$1 (el, dir) {\n el.wrapData = function (code) {\n return (\"_b(\" + code + \",'\" + (el.tag) + \"',\" + (dir.value) + \",\" + (dir.modifiers && dir.modifiers.prop ? 'true' : 'false') + (dir.modifiers && dir.modifiers.sync ? ',true' : '') + \")\")\n };\n}\n\n/* */\n\nvar baseDirectives = {\n on: on,\n bind: bind$1,\n cloak: noop\n}\n\n/* */\n\nvar CodegenState = function CodegenState (options) {\n this.options = options;\n this.warn = options.warn || baseWarn;\n this.transforms = pluckModuleFunction(options.modules, 'transformCode');\n this.dataGenFns = pluckModuleFunction(options.modules, 'genData');\n this.directives = extend(extend({}, baseDirectives), options.directives);\n var isReservedTag = options.isReservedTag || no;\n this.maybeComponent = function (el) { return !isReservedTag(el.tag); };\n this.onceId = 0;\n this.staticRenderFns = [];\n};\n\n\n\nfunction generate (\n ast,\n options\n) {\n var state = new CodegenState(options);\n var code = ast ? genElement(ast, state) : '_c(\"div\")';\n return {\n render: (\"with(this){return \" + code + \"}\"),\n staticRenderFns: state.staticRenderFns\n }\n}\n\nfunction genElement (el, state) {\n if (el.staticRoot && !el.staticProcessed) {\n return genStatic(el, state)\n } else if (el.once && !el.onceProcessed) {\n return genOnce(el, state)\n } else if (el.for && !el.forProcessed) {\n return genFor(el, state)\n } else if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.tag === 'template' && !el.slotTarget) {\n return genChildren(el, state) || 'void 0'\n } else if (el.tag === 'slot') {\n return genSlot(el, state)\n } else {\n // component or element\n var code;\n if (el.component) {\n code = genComponent(el.component, el, state);\n } else {\n var data = el.plain ? undefined : genData$2(el, state);\n\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n code = \"_c('\" + (el.tag) + \"'\" + (data ? (\",\" + data) : '') + (children ? (\",\" + children) : '') + \")\";\n }\n // module transforms\n for (var i = 0; i < state.transforms.length; i++) {\n code = state.transforms[i](el, code);\n }\n return code\n }\n}\n\n// hoist static sub-trees out\nfunction genStatic (el, state) {\n el.staticProcessed = true;\n state.staticRenderFns.push((\"with(this){return \" + (genElement(el, state)) + \"}\"));\n return (\"_m(\" + (state.staticRenderFns.length - 1) + (el.staticInFor ? ',true' : '') + \")\")\n}\n\n// v-once\nfunction genOnce (el, state) {\n el.onceProcessed = true;\n if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.staticInFor) {\n var key = '';\n var parent = el.parent;\n while (parent) {\n if (parent.for) {\n key = parent.key;\n break\n }\n parent = parent.parent;\n }\n if (!key) {\n process.env.NODE_ENV !== 'production' && state.warn(\n \"v-once can only be used inside v-for that is keyed. \"\n );\n return genElement(el, state)\n }\n return (\"_o(\" + (genElement(el, state)) + \",\" + (state.onceId++) + \",\" + key + \")\")\n } else {\n return genStatic(el, state)\n }\n}\n\nfunction genIf (\n el,\n state,\n altGen,\n altEmpty\n) {\n el.ifProcessed = true; // avoid recursion\n return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty)\n}\n\nfunction genIfConditions (\n conditions,\n state,\n altGen,\n altEmpty\n) {\n if (!conditions.length) {\n return altEmpty || '_e()'\n }\n\n var condition = conditions.shift();\n if (condition.exp) {\n return (\"(\" + (condition.exp) + \")?\" + (genTernaryExp(condition.block)) + \":\" + (genIfConditions(conditions, state, altGen, altEmpty)))\n } else {\n return (\"\" + (genTernaryExp(condition.block)))\n }\n\n // v-if with v-once should generate code like (a)?_m(0):_m(1)\n function genTernaryExp (el) {\n return altGen\n ? altGen(el, state)\n : el.once\n ? genOnce(el, state)\n : genElement(el, state)\n }\n}\n\nfunction genFor (\n el,\n state,\n altGen,\n altHelper\n) {\n var exp = el.for;\n var alias = el.alias;\n var iterator1 = el.iterator1 ? (\",\" + (el.iterator1)) : '';\n var iterator2 = el.iterator2 ? (\",\" + (el.iterator2)) : '';\n\n if (process.env.NODE_ENV !== 'production' &&\n state.maybeComponent(el) &&\n el.tag !== 'slot' &&\n el.tag !== 'template' &&\n !el.key\n ) {\n state.warn(\n \"<\" + (el.tag) + \" v-for=\\\"\" + alias + \" in \" + exp + \"\\\">: component lists rendered with \" +\n \"v-for should have explicit keys. \" +\n \"See https://vuejs.org/guide/list.html#key for more info.\",\n true /* tip */\n );\n }\n\n el.forProcessed = true; // avoid recursion\n return (altHelper || '_l') + \"((\" + exp + \"),\" +\n \"function(\" + alias + iterator1 + iterator2 + \"){\" +\n \"return \" + ((altGen || genElement)(el, state)) +\n '})'\n}\n\nfunction genData$2 (el, state) {\n var data = '{';\n\n // directives first.\n // directives may mutate the el's other properties before they are generated.\n var dirs = genDirectives(el, state);\n if (dirs) { data += dirs + ','; }\n\n // key\n if (el.key) {\n data += \"key:\" + (el.key) + \",\";\n }\n // ref\n if (el.ref) {\n data += \"ref:\" + (el.ref) + \",\";\n }\n if (el.refInFor) {\n data += \"refInFor:true,\";\n }\n // pre\n if (el.pre) {\n data += \"pre:true,\";\n }\n // record original tag name for components using \"is\" attribute\n if (el.component) {\n data += \"tag:\\\"\" + (el.tag) + \"\\\",\";\n }\n // module data generation functions\n for (var i = 0; i < state.dataGenFns.length; i++) {\n data += state.dataGenFns[i](el);\n }\n // attributes\n if (el.attrs) {\n data += \"attrs:{\" + (genProps(el.attrs)) + \"},\";\n }\n // DOM props\n if (el.props) {\n data += \"domProps:{\" + (genProps(el.props)) + \"},\";\n }\n // event handlers\n if (el.events) {\n data += (genHandlers(el.events, false, state.warn)) + \",\";\n }\n if (el.nativeEvents) {\n data += (genHandlers(el.nativeEvents, true, state.warn)) + \",\";\n }\n // slot target\n // only for non-scoped slots\n if (el.slotTarget && !el.slotScope) {\n data += \"slot:\" + (el.slotTarget) + \",\";\n }\n // scoped slots\n if (el.scopedSlots) {\n data += (genScopedSlots(el.scopedSlots, state)) + \",\";\n }\n // component v-model\n if (el.model) {\n data += \"model:{value:\" + (el.model.value) + \",callback:\" + (el.model.callback) + \",expression:\" + (el.model.expression) + \"},\";\n }\n // inline-template\n if (el.inlineTemplate) {\n var inlineTemplate = genInlineTemplate(el, state);\n if (inlineTemplate) {\n data += inlineTemplate + \",\";\n }\n }\n data = data.replace(/,$/, '') + '}';\n // v-bind data wrap\n if (el.wrapData) {\n data = el.wrapData(data);\n }\n // v-on data wrap\n if (el.wrapListeners) {\n data = el.wrapListeners(data);\n }\n return data\n}\n\nfunction genDirectives (el, state) {\n var dirs = el.directives;\n if (!dirs) { return }\n var res = 'directives:[';\n var hasRuntime = false;\n var i, l, dir, needRuntime;\n for (i = 0, l = dirs.length; i < l; i++) {\n dir = dirs[i];\n needRuntime = true;\n var gen = state.directives[dir.name];\n if (gen) {\n // compile-time directive that manipulates AST.\n // returns true if it also needs a runtime counterpart.\n needRuntime = !!gen(el, dir, state.warn);\n }\n if (needRuntime) {\n hasRuntime = true;\n res += \"{name:\\\"\" + (dir.name) + \"\\\",rawName:\\\"\" + (dir.rawName) + \"\\\"\" + (dir.value ? (\",value:(\" + (dir.value) + \"),expression:\" + (JSON.stringify(dir.value))) : '') + (dir.arg ? (\",arg:\\\"\" + (dir.arg) + \"\\\"\") : '') + (dir.modifiers ? (\",modifiers:\" + (JSON.stringify(dir.modifiers))) : '') + \"},\";\n }\n }\n if (hasRuntime) {\n return res.slice(0, -1) + ']'\n }\n}\n\nfunction genInlineTemplate (el, state) {\n var ast = el.children[0];\n if (process.env.NODE_ENV !== 'production' && (\n el.children.length !== 1 || ast.type !== 1\n )) {\n state.warn('Inline-template components must have exactly one child element.');\n }\n if (ast.type === 1) {\n var inlineRenderFns = generate(ast, state.options);\n return (\"inlineTemplate:{render:function(){\" + (inlineRenderFns.render) + \"},staticRenderFns:[\" + (inlineRenderFns.staticRenderFns.map(function (code) { return (\"function(){\" + code + \"}\"); }).join(',')) + \"]}\")\n }\n}\n\nfunction genScopedSlots (\n slots,\n state\n) {\n return (\"scopedSlots:_u([\" + (Object.keys(slots).map(function (key) {\n return genScopedSlot(key, slots[key], state)\n }).join(',')) + \"])\")\n}\n\nfunction genScopedSlot (\n key,\n el,\n state\n) {\n if (el.for && !el.forProcessed) {\n return genForScopedSlot(key, el, state)\n }\n var fn = \"function(\" + (String(el.slotScope)) + \"){\" +\n \"return \" + (el.tag === 'template'\n ? el.if\n ? ((el.if) + \"?\" + (genChildren(el, state) || 'undefined') + \":undefined\")\n : genChildren(el, state) || 'undefined'\n : genElement(el, state)) + \"}\";\n return (\"{key:\" + key + \",fn:\" + fn + \"}\")\n}\n\nfunction genForScopedSlot (\n key,\n el,\n state\n) {\n var exp = el.for;\n var alias = el.alias;\n var iterator1 = el.iterator1 ? (\",\" + (el.iterator1)) : '';\n var iterator2 = el.iterator2 ? (\",\" + (el.iterator2)) : '';\n el.forProcessed = true; // avoid recursion\n return \"_l((\" + exp + \"),\" +\n \"function(\" + alias + iterator1 + iterator2 + \"){\" +\n \"return \" + (genScopedSlot(key, el, state)) +\n '})'\n}\n\nfunction genChildren (\n el,\n state,\n checkSkip,\n altGenElement,\n altGenNode\n) {\n var children = el.children;\n if (children.length) {\n var el$1 = children[0];\n // optimize single v-for\n if (children.length === 1 &&\n el$1.for &&\n el$1.tag !== 'template' &&\n el$1.tag !== 'slot'\n ) {\n return (altGenElement || genElement)(el$1, state)\n }\n var normalizationType = checkSkip\n ? getNormalizationType(children, state.maybeComponent)\n : 0;\n var gen = altGenNode || genNode;\n return (\"[\" + (children.map(function (c) { return gen(c, state); }).join(',')) + \"]\" + (normalizationType ? (\",\" + normalizationType) : ''))\n }\n}\n\n// determine the normalization needed for the children array.\n// 0: no normalization needed\n// 1: simple normalization needed (possible 1-level deep nested array)\n// 2: full normalization needed\nfunction getNormalizationType (\n children,\n maybeComponent\n) {\n var res = 0;\n for (var i = 0; i < children.length; i++) {\n var el = children[i];\n if (el.type !== 1) {\n continue\n }\n if (needsNormalization(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) {\n res = 2;\n break\n }\n if (maybeComponent(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) {\n res = 1;\n }\n }\n return res\n}\n\nfunction needsNormalization (el) {\n return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'\n}\n\nfunction genNode (node, state) {\n if (node.type === 1) {\n return genElement(node, state)\n } if (node.type === 3 && node.isComment) {\n return genComment(node)\n } else {\n return genText(node)\n }\n}\n\nfunction genText (text) {\n return (\"_v(\" + (text.type === 2\n ? text.expression // no need for () because already wrapped in _s()\n : transformSpecialNewlines(JSON.stringify(text.text))) + \")\")\n}\n\nfunction genComment (comment) {\n return (\"_e(\" + (JSON.stringify(comment.text)) + \")\")\n}\n\nfunction genSlot (el, state) {\n var slotName = el.slotName || '\"default\"';\n var children = genChildren(el, state);\n var res = \"_t(\" + slotName + (children ? (\",\" + children) : '');\n var attrs = el.attrs && (\"{\" + (el.attrs.map(function (a) { return ((camelize(a.name)) + \":\" + (a.value)); }).join(',')) + \"}\");\n var bind$$1 = el.attrsMap['v-bind'];\n if ((attrs || bind$$1) && !children) {\n res += \",null\";\n }\n if (attrs) {\n res += \",\" + attrs;\n }\n if (bind$$1) {\n res += (attrs ? '' : ',null') + \",\" + bind$$1;\n }\n return res + ')'\n}\n\n// componentName is el.component, take it as argument to shun flow's pessimistic refinement\nfunction genComponent (\n componentName,\n el,\n state\n) {\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n return (\"_c(\" + componentName + \",\" + (genData$2(el, state)) + (children ? (\",\" + children) : '') + \")\")\n}\n\nfunction genProps (props) {\n var res = '';\n for (var i = 0; i < props.length; i++) {\n var prop = props[i];\n /* istanbul ignore if */\n {\n res += \"\\\"\" + (prop.name) + \"\\\":\" + (transformSpecialNewlines(prop.value)) + \",\";\n }\n }\n return res.slice(0, -1)\n}\n\n// #3895, #4268\nfunction transformSpecialNewlines (text) {\n return text\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n}\n\n/* */\n\n// these keywords should not appear inside expressions, but operators like\n// typeof, instanceof and in are allowed\nvar prohibitedKeywordRE = new RegExp('\\\\b' + (\n 'do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +\n 'super,throw,while,yield,delete,export,import,return,switch,default,' +\n 'extends,finally,continue,debugger,function,arguments'\n).split(',').join('\\\\b|\\\\b') + '\\\\b');\n\n// these unary operators should not be used as property/method names\nvar unaryOperatorsRE = new RegExp('\\\\b' + (\n 'delete,typeof,void'\n).split(',').join('\\\\s*\\\\([^\\\\)]*\\\\)|\\\\b') + '\\\\s*\\\\([^\\\\)]*\\\\)');\n\n// strip strings in expressions\nvar stripStringRE = /'(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"|`(?:[^`\\\\]|\\\\.)*\\$\\{|\\}(?:[^`\\\\]|\\\\.)*`|`(?:[^`\\\\]|\\\\.)*`/g;\n\n// detect problematic expressions in a template\nfunction detectErrors (ast) {\n var errors = [];\n if (ast) {\n checkNode(ast, errors);\n }\n return errors\n}\n\nfunction checkNode (node, errors) {\n if (node.type === 1) {\n for (var name in node.attrsMap) {\n if (dirRE.test(name)) {\n var value = node.attrsMap[name];\n if (value) {\n if (name === 'v-for') {\n checkFor(node, (\"v-for=\\\"\" + value + \"\\\"\"), errors);\n } else if (onRE.test(name)) {\n checkEvent(value, (name + \"=\\\"\" + value + \"\\\"\"), errors);\n } else {\n checkExpression(value, (name + \"=\\\"\" + value + \"\\\"\"), errors);\n }\n }\n }\n }\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n checkNode(node.children[i], errors);\n }\n }\n } else if (node.type === 2) {\n checkExpression(node.expression, node.text, errors);\n }\n}\n\nfunction checkEvent (exp, text, errors) {\n var stipped = exp.replace(stripStringRE, '');\n var keywordMatch = stipped.match(unaryOperatorsRE);\n if (keywordMatch && stipped.charAt(keywordMatch.index - 1) !== '$') {\n errors.push(\n \"avoid using JavaScript unary operator as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\" in expression \" + (text.trim())\n );\n }\n checkExpression(exp, text, errors);\n}\n\nfunction checkFor (node, text, errors) {\n checkExpression(node.for || '', text, errors);\n checkIdentifier(node.alias, 'v-for alias', text, errors);\n checkIdentifier(node.iterator1, 'v-for iterator', text, errors);\n checkIdentifier(node.iterator2, 'v-for iterator', text, errors);\n}\n\nfunction checkIdentifier (\n ident,\n type,\n text,\n errors\n) {\n if (typeof ident === 'string') {\n try {\n new Function((\"var \" + ident + \"=_\"));\n } catch (e) {\n errors.push((\"invalid \" + type + \" \\\"\" + ident + \"\\\" in expression: \" + (text.trim())));\n }\n }\n}\n\nfunction checkExpression (exp, text, errors) {\n try {\n new Function((\"return \" + exp));\n } catch (e) {\n var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);\n if (keywordMatch) {\n errors.push(\n \"avoid using JavaScript keyword as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\"\\n Raw expression: \" + (text.trim())\n );\n } else {\n errors.push(\n \"invalid expression: \" + (e.message) + \" in\\n\\n\" +\n \" \" + exp + \"\\n\\n\" +\n \" Raw expression: \" + (text.trim()) + \"\\n\"\n );\n }\n }\n}\n\n/* */\n\nfunction createFunction (code, errors) {\n try {\n return new Function(code)\n } catch (err) {\n errors.push({ err: err, code: code });\n return noop\n }\n}\n\nfunction createCompileToFunctionFn (compile) {\n var cache = Object.create(null);\n\n return function compileToFunctions (\n template,\n options,\n vm\n ) {\n options = extend({}, options);\n var warn$$1 = options.warn || warn;\n delete options.warn;\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n // detect possible CSP restriction\n try {\n new Function('return 1');\n } catch (e) {\n if (e.toString().match(/unsafe-eval|CSP/)) {\n warn$$1(\n 'It seems you are using the standalone build of Vue.js in an ' +\n 'environment with Content Security Policy that prohibits unsafe-eval. ' +\n 'The template compiler cannot work in this environment. Consider ' +\n 'relaxing the policy to allow unsafe-eval or pre-compiling your ' +\n 'templates into render functions.'\n );\n }\n }\n }\n\n // check cache\n var key = options.delimiters\n ? String(options.delimiters) + template\n : template;\n if (cache[key]) {\n return cache[key]\n }\n\n // compile\n var compiled = compile(template, options);\n\n // check compilation errors/tips\n if (process.env.NODE_ENV !== 'production') {\n if (compiled.errors && compiled.errors.length) {\n warn$$1(\n \"Error compiling template:\\n\\n\" + template + \"\\n\\n\" +\n compiled.errors.map(function (e) { return (\"- \" + e); }).join('\\n') + '\\n',\n vm\n );\n }\n if (compiled.tips && compiled.tips.length) {\n compiled.tips.forEach(function (msg) { return tip(msg, vm); });\n }\n }\n\n // turn code into functions\n var res = {};\n var fnGenErrors = [];\n res.render = createFunction(compiled.render, fnGenErrors);\n res.staticRenderFns = compiled.staticRenderFns.map(function (code) {\n return createFunction(code, fnGenErrors)\n });\n\n // check function generation errors.\n // this should only happen if there is a bug in the compiler itself.\n // mostly for codegen development use\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) {\n warn$$1(\n \"Failed to generate render function:\\n\\n\" +\n fnGenErrors.map(function (ref) {\n var err = ref.err;\n var code = ref.code;\n\n return ((err.toString()) + \" in\\n\\n\" + code + \"\\n\");\n }).join('\\n'),\n vm\n );\n }\n }\n\n return (cache[key] = res)\n }\n}\n\n/* */\n\nfunction createCompilerCreator (baseCompile) {\n return function createCompiler (baseOptions) {\n function compile (\n template,\n options\n ) {\n var finalOptions = Object.create(baseOptions);\n var errors = [];\n var tips = [];\n finalOptions.warn = function (msg, tip) {\n (tip ? tips : errors).push(msg);\n };\n\n if (options) {\n // merge custom modules\n if (options.modules) {\n finalOptions.modules =\n (baseOptions.modules || []).concat(options.modules);\n }\n // merge custom directives\n if (options.directives) {\n finalOptions.directives = extend(\n Object.create(baseOptions.directives || null),\n options.directives\n );\n }\n // copy other options\n for (var key in options) {\n if (key !== 'modules' && key !== 'directives') {\n finalOptions[key] = options[key];\n }\n }\n }\n\n var compiled = baseCompile(template, finalOptions);\n if (process.env.NODE_ENV !== 'production') {\n errors.push.apply(errors, detectErrors(compiled.ast));\n }\n compiled.errors = errors;\n compiled.tips = tips;\n return compiled\n }\n\n return {\n compile: compile,\n compileToFunctions: createCompileToFunctionFn(compile)\n }\n }\n}\n\n/* */\n\n// `createCompilerCreator` allows creating compilers that use alternative\n// parser/optimizer/codegen, e.g the SSR optimizing compiler.\n// Here we just export a default compiler using the default parts.\nvar createCompiler = createCompilerCreator(function baseCompile (\n template,\n options\n) {\n var ast = parse(template.trim(), options);\n if (options.optimize !== false) {\n optimize(ast, options);\n }\n var code = generate(ast, options);\n return {\n ast: ast,\n render: code.render,\n staticRenderFns: code.staticRenderFns\n }\n});\n\n/* */\n\nvar ref$1 = createCompiler(baseOptions);\nvar compileToFunctions = ref$1.compileToFunctions;\n\n/* */\n\n// check whether current browser encodes a char inside attribute values\nvar div;\nfunction getShouldDecode (href) {\n div = div || document.createElement('div');\n div.innerHTML = href ? \"<a href=\\\"\\n\\\"/>\" : \"<div a=\\\"\\n\\\"/>\";\n return div.innerHTML.indexOf('&#10;') > 0\n}\n\n// #3663: IE encodes newlines inside attribute values while other browsers don't\nvar shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false;\n// #6828: chrome encodes content in a[href]\nvar shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false;\n\n/* */\n\nvar idToTemplate = cached(function (id) {\n var el = query(id);\n return el && el.innerHTML\n});\n\nvar mount = Vue.prototype.$mount;\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && query(el);\n\n /* istanbul ignore if */\n if (el === document.body || el === document.documentElement) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Do not mount Vue to <html> or <body> - mount to normal elements instead.\"\n );\n return this\n }\n\n var options = this.$options;\n // resolve template/el and convert to render function\n if (!options.render) {\n var template = options.template;\n if (template) {\n if (typeof template === 'string') {\n if (template.charAt(0) === '#') {\n template = idToTemplate(template);\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && !template) {\n warn(\n (\"Template element not found or is empty: \" + (options.template)),\n this\n );\n }\n }\n } else if (template.nodeType) {\n template = template.innerHTML;\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn('invalid template option:' + template, this);\n }\n return this\n }\n } else if (el) {\n template = getOuterHTML(el);\n }\n if (template) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile');\n }\n\n var ref = compileToFunctions(template, {\n shouldDecodeNewlines: shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref,\n delimiters: options.delimiters,\n comments: options.comments\n }, this);\n var render = ref.render;\n var staticRenderFns = ref.staticRenderFns;\n options.render = render;\n options.staticRenderFns = staticRenderFns;\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile end');\n measure((\"vue \" + (this._name) + \" compile\"), 'compile', 'compile end');\n }\n }\n }\n return mount.call(this, el, hydrating)\n};\n\n/**\n * Get outerHTML of elements, taking care\n * of SVG elements in IE as well.\n */\nfunction getOuterHTML (el) {\n if (el.outerHTML) {\n return el.outerHTML\n } else {\n var container = document.createElement('div');\n container.appendChild(el.cloneNode(true));\n return container.innerHTML\n }\n}\n\nVue.compile = compileToFunctions;\n\nexport default Vue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue/dist/vue.esm.js\n// module id = 2\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 3\n// module chunks = 0","import axios from 'axios';\n\nconst requestToken = document.getElementsByTagName('head')[0].getAttribute('data-requesttoken');\nconst tokenHeaders = { headers: { requesttoken: requestToken } };\n\nconst sanitize = function(url) {\n\treturn url.replace(/\\/$/, ''); // Remove last url slash\n};\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * \taction(context) {\n\t *\t\treturn api.requireAdmin().then((response) => {\n\t *\t\t\treturn api.get('url')\n\t *\t\t\t\t.then((response) => {API success})\n\t *\t\t\t\t.catch((error) => {API failure});\n\t *\t\t}).catch((error) => {requireAdmin failure});\n\t *\t}\n\t * // vue\n\t *\tthis.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t * \n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t * \n\t * e.g\n\t *\tapi.requireAdmin().then((response) => {\n\t *\t\tapi.get('url')\n\t *\t\t\t.then((response) => {API success})\n\t *\t\t\t.catch((error) => {throw error;});\n\t *\t}).catch((error) => {requireAdmin OR API failure});\n\t * \n\t * @returns {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn new Promise(function(resolve, reject) {\n\t\t\t// TODO: migrate the OC.dialog to Vue and avoid this mess\n\t\t\t// wait for password confirmation\n\t\t\tlet passwordTimeout;\n\t\t\tlet waitForpassword = function() {\n\t\t\t\tif (OC.PasswordConfirmation.requiresPasswordConfirmation()) {\n\t\t\t\t\tpasswordTimeout = setTimeout(waitForpassword, 500);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tclearTimeout(passwordTimeout);\n\t\t\t\tclearTimeout(promiseTimeout);\n\t\t\t\tresolve();\n\t\t\t};\n\n\t\t\t// automatically reject after 5s if not resolved\n\t\t\tlet promiseTimeout = setTimeout(() => {\n\t\t\t\tclearTimeout(passwordTimeout);\n\t\t\t\t// close dialog\n\t\t\t\tif (document.getElementsByClassName('oc-dialog-close').length>0) {\n\t\t\t\t\tdocument.getElementsByClassName('oc-dialog-close')[0].click();\n\t\t\t\t}\n\t\t\t\tOC.Notification.showTemporary(t('settings', 'You did not enter the password in time'));\n\t\t\t\treject('Password request cancelled');\n\t\t\t}, 7000); \n\n\t\t\t// request password\n\t\t\tOC.PasswordConfirmation.requirePasswordConfirmation();\n\t\t\twaitForpassword();\n\t\t});\n\t},\n\tget(url) {\n\t\treturn axios.get(sanitize(url), tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tpost(url, data) {\n\t\treturn axios.post(sanitize(url), data, tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data, tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data, tokenHeaders)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { data: data, headers: tokenHeaders.headers })\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t}\n};\n\n\n// WEBPACK FOOTER //\n// ./src/store/api.js","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/process/browser.js\n// module id = 5\n// module chunks = 0","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueMultiselect=e():t.VueMultiselect=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=66)}([function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){t.exports=!n(12)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(10),r=n(43),o=n(31),s=Object.defineProperty;e.f=n(1)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e,n){var i=n(77),r=n(21);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(9),r=n(52),o=n(18),s=n(55),u=n(53),a=function(t,e,n){var l,c,f,p,h=t&a.F,d=t&a.G,v=t&a.S,y=t&a.P,g=t&a.B,b=d?i:v?i[e]||(i[e]={}):(i[e]||{}).prototype,m=d?r:r[e]||(r[e]={}),_=m.prototype||(m.prototype={});d&&(n=e);for(l in n)c=!h&&b&&void 0!==b[l],f=(c?b:n)[l],p=g&&c?u(f,i):y&&\"function\"==typeof f?u(Function.call,f):f,b&&s(b,l,f,t&a.U),m[l]!=f&&o(m,l,p),y&&_[l]!=f&&(_[l]=f)};i.core=r,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e,n){var i=n(3),r=n(15);t.exports=n(1)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var i=n(29)(\"wks\"),r=n(16),o=n(0).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){var i=n(13);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(48),r=n(22);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e,n){var i=n(109),r=n(110);t.exports=n(35)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(8);t.exports=function(t,e){return!!t&&i(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e,n){var i=n(0),r=n(11),o=n(74),s=n(6),u=function(t,e,n){var a,l,c,f=t&u.F,p=t&u.G,h=t&u.S,d=t&u.P,v=t&u.B,y=t&u.W,g=p?r:r[e]||(r[e]={}),b=g.prototype,m=p?i:h?i[e]:(i[e]||{}).prototype;p&&(n=e);for(a in n)(l=!f&&m&&void 0!==m[a])&&a in g||(c=l?m[a]:n[a],g[a]=p&&\"function\"!=typeof m[a]?n[a]:v&&l?o(c,i):y&&m[a]==c?function(t){var e=function(e,n,i){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,i)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(c):d&&\"function\"==typeof c?o(Function.call,c):c,d&&((g.virtual||(g.virtual={}))[a]=c,t&u.R&&b&&!b[a]&&s(b,a,c)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e){t.exports={}},function(t,e){t.exports=!0},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var i=n(3).f,r=n(2),o=n(7)(\"toStringTag\");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(29)(\"keys\"),r=n(16);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(0),r=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});t.exports=function(t){return r[t]||(r[t]={})}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(13);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){var i=n(0),r=n(11),o=n(25),s=n(33),u=n(3).f;t.exports=function(t){var e=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});\"_\"==t.charAt(0)||t in e||u(e,t,{value:s.f(t)})}},function(t,e,n){e.f=n(7)},function(t,e,n){var i=n(53),r=n(36),o=n(57),s=n(37),u=n(104);t.exports=function(t,e){var n=1==t,a=2==t,l=3==t,c=4==t,f=6==t,p=5==t||f,h=e||u;return function(e,u,d){for(var v,y,g=o(e),b=r(g),m=i(u,d,3),_=s(b.length),x=0,w=n?h(e,_):a?h(e,0):void 0;_>x;x++)if((p||x in b)&&(v=b[x],y=m(v,x,g),t))if(n)w[x]=y;else if(y)switch(t){case 3:return!0;case 5:return v;case 6:return x;case 2:w.push(v)}else if(c)return!1;return f?-1:l||c?c:w}}},function(t,e,n){t.exports=!n(8)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(51);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e,n){var i=n(56),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(111)(\"wks\"),r=n(58),o=n(9).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e,n){\"use strict\";function i(t){return 0!==t&&(!(!Array.isArray(t)||0!==t.length)||!t)}function r(t){return function(){return!t.apply(void 0,arguments)}}function o(t,e){return void 0===t&&(t=\"undefined\"),null===t&&(t=\"null\"),!1===t&&(t=\"false\"),-1!==t.toString().toLowerCase().indexOf(e.trim())}function s(t,e,n,i){return t.filter(function(t){return o(i(t,n),e)})}function u(t){return t.filter(function(t){return!t.$isLabel})}function a(t,e){return function(n){return n.reduce(function(n,i){return i[t]&&i[t].length?(n.push({$groupLabel:i[e],$isLabel:!0}),n.concat(i[t])):n},[])}}function l(t,e,n,i,r){return function(o){return o.map(function(o){var u;if(!o[n])return console.warn(\"Options passed to vue-multiselect do not contain groups, despite the config.\"),[];var a=s(o[n],t,e,r);return a.length?(u={},v()(u,i,o[i]),v()(u,n,a),u):[]})}}var c=n(65),f=n.n(c),p=n(59),h=(n.n(p),n(122)),d=(n.n(h),n(64)),v=n.n(d),y=n(120),g=(n.n(y),n(121)),b=(n.n(g),n(117)),m=(n.n(b),n(123)),_=(n.n(m),n(118)),x=(n.n(_),n(119)),w=(n.n(x),function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(t){return e.reduce(function(t,e){return e(t)},t)}});e.a={data:function(){return{search:\"\",isOpen:!1,prefferedOpenDirection:\"below\",optimizedHeight:this.maxHeight}},props:{internalSearch:{type:Boolean,default:!0},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},value:{type:null,default:function(){return[]}},trackBy:{type:String},label:{type:String},searchable:{type:Boolean,default:!0},clearOnSelect:{type:Boolean,default:!0},hideSelected:{type:Boolean,default:!1},placeholder:{type:String,default:\"Select option\"},allowEmpty:{type:Boolean,default:!0},resetAfter:{type:Boolean,default:!1},closeOnSelect:{type:Boolean,default:!0},customLabel:{type:Function,default:function(t,e){return i(t)?\"\":e?t[e]:t}},taggable:{type:Boolean,default:!1},tagPlaceholder:{type:String,default:\"Press enter to create a tag\"},tagPosition:{type:String,default:\"top\"},max:{type:[Number,Boolean],default:!1},id:{default:null},optionsLimit:{type:Number,default:1e3},groupValues:{type:String},groupLabel:{type:String},groupSelect:{type:Boolean,default:!1},blockKeys:{type:Array,default:function(){return[]}},preserveSearch:{type:Boolean,default:!1},preselectFirst:{type:Boolean,default:!1}},mounted:function(){this.multiple||this.clearOnSelect||console.warn(\"[Vue-Multiselect warn]: ClearOnSelect and Multiple props can’t be both set to false.\"),!this.multiple&&this.max&&console.warn(\"[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.\"),this.preselectFirst&&!this.internalValue.length&&this.options.length&&this.select(this.filteredOptions[0])},computed:{internalValue:function(){return this.value||0===this.value?Array.isArray(this.value)?this.value:[this.value]:[]},filteredOptions:function(){var t=this.search||\"\",e=t.toLowerCase().trim(),n=this.options.concat();return n=this.internalSearch?this.groupValues?this.filterAndFlat(n,e,this.label):s(n,e,this.label,this.customLabel):this.groupValues?a(this.groupValues,this.groupLabel)(n):n,n=this.hideSelected?n.filter(r(this.isSelected)):n,this.taggable&&e.length&&!this.isExistingOption(e)&&(\"bottom\"===this.tagPosition?n.push({isTag:!0,label:t}):n.unshift({isTag:!0,label:t})),n.slice(0,this.optionsLimit)},valueKeys:function(){var t=this;return this.trackBy?this.internalValue.map(function(e){return e[t.trackBy]}):this.internalValue},optionKeys:function(){var t=this;return(this.groupValues?this.flatAndStrip(this.options):this.options).map(function(e){return t.customLabel(e,t.label).toString().toLowerCase()})},currentOptionLabel:function(){return this.multiple?this.searchable?\"\":this.placeholder:this.internalValue.length?this.getOptionLabel(this.internalValue[0]):this.searchable?\"\":this.placeholder}},watch:{internalValue:function(){this.resetAfter&&this.internalValue.length&&(this.search=\"\",this.$emit(\"input\",this.multiple?[]:null))},search:function(){this.$emit(\"search-change\",this.search,this.id)}},methods:{getValue:function(){return this.multiple?this.internalValue:0===this.internalValue.length?null:this.internalValue[0]},filterAndFlat:function(t,e,n){return w(l(e,n,this.groupValues,this.groupLabel,this.customLabel),a(this.groupValues,this.groupLabel))(t)},flatAndStrip:function(t){return w(a(this.groupValues,this.groupLabel),u)(t)},updateSearch:function(t){this.search=t},isExistingOption:function(t){return!!this.options&&this.optionKeys.indexOf(t)>-1},isSelected:function(t){var e=this.trackBy?t[this.trackBy]:t;return this.valueKeys.indexOf(e)>-1},getOptionLabel:function(t){if(i(t))return\"\";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return i(e)?\"\":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)return void this.selectGroup(t);if(!(-1!==this.blockKeys.indexOf(e)||this.disabled||t.$isDisabled||t.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&(\"Tab\"!==e||this.pointerDirty)){if(t.isTag)this.$emit(\"tag\",t.label,this.id),this.search=\"\",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(t))return void(\"Tab\"!==e&&this.removeElement(t));this.$emit(\"select\",t,this.id),this.multiple?this.$emit(\"input\",this.internalValue.concat([t]),this.id):this.$emit(\"input\",t,this.id),this.clearOnSelect&&(this.search=\"\")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(t){var e=this,n=this.options.find(function(n){return n[e.groupLabel]===t.$groupLabel});if(n)if(this.wholeGroupSelected(n)){this.$emit(\"remove\",n[this.groupValues],this.id);var i=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit(\"input\",i,this.id)}else{var o=n[this.groupValues].filter(r(this.isSelected));this.$emit(\"select\",o,this.id),this.$emit(\"input\",this.internalValue.concat(o),this.id)}},wholeGroupSelected:function(t){return t[this.groupValues].every(this.isSelected)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var n=\"object\"===f()(t)?this.valueKeys.indexOf(t[this.trackBy]):this.valueKeys.indexOf(t);if(this.$emit(\"remove\",t,this.id),this.multiple){var i=this.internalValue.slice(0,n).concat(this.internalValue.slice(n+1));this.$emit(\"input\",i,this.id)}else this.$emit(\"input\",null,this.id);this.closeOnSelect&&e&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf(\"Delete\")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var t=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=\"\"),this.$nextTick(function(){return t.$refs.search.focus()})):this.$el.focus(),this.$emit(\"open\",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=\"\"),this.$emit(\"close\",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if(\"undefined\"!=typeof window){var t=this.$el.getBoundingClientRect().top,e=window.innerHeight-this.$el.getBoundingClientRect().bottom;e>this.maxHeight||e>t||\"below\"===this.openDirection||\"bottom\"===this.openDirection?(this.prefferedOpenDirection=\"below\",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.prefferedOpenDirection=\"above\",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){\"use strict\";var i=n(59);n.n(i);e.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(t,e){return{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer,\"multiselect__option--selected\":this.isSelected(e)}},groupHighlight:function(t,e){var n=this;if(!this.groupSelect)return[\"multiselect__option--disabled\"];var i=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return[this.groupSelect?\"multiselect__option--group\":\"multiselect__option--disabled\",{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer},{\"multiselect__option--group-selected\":this.wholeGroupSelected(i)}]},addPointerElement:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"Enter\",e=t.key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward:function(){this.pointer<this.filteredOptions.length-1&&(this.pointer++,this.$refs.list.scrollTop<=this.pointerPosition-(this.visibleElements-1)*this.optionHeight&&(this.$refs.list.scrollTop=this.pointerPosition-(this.visibleElements-1)*this.optionHeight),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()),this.pointerDirty=!0},pointerBackward:function(){this.pointer>0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(t){this.pointer=t,this.pointerDirty=!0}}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var i=n(13),r=n(0).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){t.exports=!n(1)&&!n(12)(function(){return 7!=Object.defineProperty(n(42)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){\"use strict\";var i=n(25),r=n(23),o=n(49),s=n(6),u=n(2),a=n(24),l=n(79),c=n(27),f=n(86),p=n(7)(\"iterator\"),h=!([].keys&&\"next\"in[].keys()),d=function(){return this};t.exports=function(t,e,n,v,y,g,b){l(n,e,v);var m,_,x,w=function(t){if(!h&&t in P)return P[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+\" Iterator\",O=\"values\"==y,L=!1,P=t.prototype,k=P[p]||P[\"@@iterator\"]||y&&P[y],E=k||w(y),j=y?O?w(\"entries\"):E:void 0,V=\"Array\"==e?P.entries||k:k;if(V&&(x=f(V.call(new t)))!==Object.prototype&&(c(x,S,!0),i||u(x,p)||s(x,p,d)),O&&k&&\"values\"!==k.name&&(L=!0,E=function(){return k.call(this)}),i&&!b||!h&&!L&&P[p]||s(P,p,E),a[e]=E,a[S]=d,y)if(m={values:O?E:w(\"values\"),keys:g?E:w(\"keys\"),entries:j},b)for(_ in m)_ in P||o(P,_,m[_]);else r(r.P+r.F*(h||L),e,m);return m}},function(t,e,n){var i=n(10),r=n(83),o=n(22),s=n(28)(\"IE_PROTO\"),u=function(){},a=function(){var t,e=n(42)(\"iframe\"),i=o.length;for(e.style.display=\"none\",n(76).appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),a=t.F;i--;)delete a.prototype[o[i]];return a()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=i(t),n=new u,u.prototype=null,n[s]=t):n=a(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(48),r=n(22).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var i=n(2),r=n(4),o=n(73)(!1),s=n(28)(\"IE_PROTO\");t.exports=function(t,e){var n,u=r(t),a=0,l=[];for(n in u)n!=s&&i(u,n)&&l.push(n);for(;e.length>a;)i(u,n=e[a++])&&(~o(l,n)||l.push(n));return l}},function(t,e,n){t.exports=n(6)},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e,n){var i=n(50);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(51);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){var i=n(9),r=n(18),o=n(107),s=n(58)(\"src\"),u=Function.toString,a=(\"\"+u).split(\"toString\");n(52).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var l=\"function\"==typeof n;l&&(o(n,\"name\")||r(n,\"name\",e)),t[e]!==n&&(l&&(o(n,s)||r(n,s,t[e]?\"\"+t[e]:a.join(String(e)))),t===i?t[e]=n:u?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[s]||u.call(this)})},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(17);t.exports=function(t){return Object(i(t))}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(5),o=!0;\"find\"in[]&&Array(1).find(function(){o=!1}),i(i.P+i.F*o,\"Array\",{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),n(99)(\"find\")},function(t,e,n){\"use strict\";function i(t){n(124)}var r=n(67),o=n(126),s=n(125),u=i,a=s(r.a,o.a,!1,u,null,null);e.a=a.exports},function(t,e,n){t.exports=n(68)},function(t,e,n){t.exports=n(69)},function(t,e,n){t.exports=n(70)},function(t,e,n){function i(t,e,n){return e in t?r(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var r=n(61);t.exports=i},function(t,e,n){function i(t){return(i=\"function\"==typeof s&&\"symbol\"==typeof o?function(t){return typeof t}:function(t){return t&&\"function\"==typeof s&&t.constructor===s&&t!==s.prototype?\"symbol\":typeof t})(t)}function r(e){return\"function\"==typeof s&&\"symbol\"===i(o)?t.exports=r=function(t){return i(t)}:t.exports=r=function(t){return t&&\"function\"==typeof s&&t.constructor===s&&t!==s.prototype?\"symbol\":i(t)},r(e)}var o=n(63),s=n(62);t.exports=r},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(60),r=n(39),o=n(40);n.d(e,\"Multiselect\",function(){return i.a}),n.d(e,\"multiselectMixin\",function(){return r.a}),n.d(e,\"pointerMixin\",function(){return o.a}),e.default=i.a},function(t,e,n){\"use strict\";var i=n(39),r=n(40);e.a={name:\"vue-multiselect\",mixins:[i.a,r.a],props:{name:{type:String,default:\"\"},selectLabel:{type:String,default:\"Press enter to select\"},selectGroupLabel:{type:String,default:\"Press enter to select group\"},selectedLabel:{type:String,default:\"Selected\"},deselectLabel:{type:String,default:\"Press enter to remove\"},deselectGroupLabel:{type:String,default:\"Press enter to deselect group\"},showLabels:{type:Boolean,default:!0},limit:{type:Number,default:99999},maxHeight:{type:Number,default:300},limitText:{type:Function,default:function(t){return\"and \".concat(t,\" more\")}},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},openDirection:{type:String,default:\"\"},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{isSingleLabelVisible:function(){return this.singleValue&&(!this.isOpen||!this.searchable)&&!this.visibleValues.length},isPlaceholderVisible:function(){return!(this.internalValue.length||this.searchable&&this.isOpen)},visibleValues:function(){return this.multiple?this.internalValue.slice(0,this.limit):[]},singleValue:function(){return this.internalValue[0]},deselectLabelText:function(){return this.showLabels?this.deselectLabel:\"\"},deselectGroupLabelText:function(){return this.showLabels?this.deselectGroupLabel:\"\"},selectLabelText:function(){return this.showLabels?this.selectLabel:\"\"},selectGroupLabelText:function(){return this.showLabels?this.selectGroupLabel:\"\"},selectedLabelText:function(){return this.showLabels?this.selectedLabel:\"\"},inputStyle:function(){if(this.multiple&&this.value&&this.value.length)return this.isOpen?{width:\"auto\"}:{width:\"0\",position:\"absolute\",padding:\"0\"}},contentStyle:function(){return this.options.length?{display:\"inline-block\"}:{display:\"block\"}},isAbove:function(){return\"above\"===this.openDirection||\"top\"===this.openDirection||\"below\"!==this.openDirection&&\"bottom\"!==this.openDirection&&\"above\"===this.prefferedOpenDirection},showSearchInput:function(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}}},function(t,e,n){n(92);var i=n(11).Object;t.exports=function(t,e,n){return i.defineProperty(t,e,n)}},function(t,e,n){n(95),n(93),n(96),n(97),t.exports=n(11).Symbol},function(t,e,n){n(94),n(98),t.exports=n(33).f(\"iterator\")},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){t.exports=function(){}},function(t,e,n){var i=n(4),r=n(89),o=n(88);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(71);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(14),r=n(47),o=n(26);t.exports=function(t){var e=i(t),n=r.f;if(n)for(var s,u=n(t),a=o.f,l=0;u.length>l;)a.call(t,s=u[l++])&&e.push(s);return e}},function(t,e,n){t.exports=n(0).document&&document.documentElement},function(t,e,n){var i=n(41);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e,n){var i=n(41);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){\"use strict\";var i=n(45),r=n(15),o=n(27),s={};n(6)(s,n(7)(\"iterator\"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+\" Iterator\")}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var i=n(14),r=n(4);t.exports=function(t,e){for(var n,o=r(t),s=i(o),u=s.length,a=0;u>a;)if(o[n=s[a++]]===e)return n}},function(t,e,n){var i=n(16)(\"meta\"),r=n(13),o=n(2),s=n(3).f,u=0,a=Object.isExtensible||function(){return!0},l=!n(12)(function(){return a(Object.preventExtensions({}))}),c=function(t){s(t,i,{value:{i:\"O\"+ ++u,w:{}}})},f=function(t,e){if(!r(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!o(t,i)){if(!a(t))return\"F\";if(!e)return\"E\";c(t)}return t[i].i},p=function(t,e){if(!o(t,i)){if(!a(t))return!0;if(!e)return!1;c(t)}return t[i].w},h=function(t){return l&&d.NEED&&a(t)&&!o(t,i)&&c(t),t},d=t.exports={KEY:i,NEED:!1,fastKey:f,getWeak:p,onFreeze:h}},function(t,e,n){var i=n(3),r=n(10),o=n(14);t.exports=n(1)?Object.defineProperties:function(t,e){r(t);for(var n,s=o(e),u=s.length,a=0;u>a;)i.f(t,n=s[a++],e[n]);return t}},function(t,e,n){var i=n(26),r=n(15),o=n(4),s=n(31),u=n(2),a=n(43),l=Object.getOwnPropertyDescriptor;e.f=n(1)?l:function(t,e){if(t=o(t),e=s(e,!0),a)try{return l(t,e)}catch(t){}if(u(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e,n){var i=n(4),r=n(46).f,o={}.toString,s=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(t){try{return r(t)}catch(t){return s.slice()}};t.exports.f=function(t){return s&&\"[object Window]\"==o.call(t)?u(t):r(i(t))}},function(t,e,n){var i=n(2),r=n(90),o=n(28)(\"IE_PROTO\"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var i=n(30),r=n(21);t.exports=function(t){return function(e,n){var o,s,u=String(r(e)),a=i(n),l=u.length;return a<0||a>=l?t?\"\":void 0:(o=u.charCodeAt(a),o<55296||o>56319||a+1===l||(s=u.charCodeAt(a+1))<56320||s>57343?t?u.charAt(a):o:t?u.slice(a,a+2):s-56320+(o-55296<<10)+65536)}}},function(t,e,n){var i=n(30),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(30),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(21);t.exports=function(t){return Object(i(t))}},function(t,e,n){\"use strict\";var i=n(72),r=n(80),o=n(24),s=n(4);t.exports=n(44)(Array,\"Array\",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):\"keys\"==e?r(0,n):\"values\"==e?r(0,t[n]):r(0,[n,t[n]])},\"values\"),o.Arguments=o.Array,i(\"keys\"),i(\"values\"),i(\"entries\")},function(t,e,n){var i=n(23);i(i.S+i.F*!n(1),\"Object\",{defineProperty:n(3).f})},function(t,e){},function(t,e,n){\"use strict\";var i=n(87)(!0);n(44)(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=i(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){\"use strict\";var i=n(0),r=n(2),o=n(1),s=n(23),u=n(49),a=n(82).KEY,l=n(12),c=n(29),f=n(27),p=n(16),h=n(7),d=n(33),v=n(32),y=n(81),g=n(75),b=n(78),m=n(10),_=n(4),x=n(31),w=n(15),S=n(45),O=n(85),L=n(84),P=n(3),k=n(14),E=L.f,j=P.f,V=O.f,C=i.Symbol,T=i.JSON,A=T&&T.stringify,$=h(\"_hidden\"),D=h(\"toPrimitive\"),F={}.propertyIsEnumerable,M=c(\"symbol-registry\"),B=c(\"symbols\"),N=c(\"op-symbols\"),R=Object.prototype,H=\"function\"==typeof C,G=i.QObject,I=!G||!G.prototype||!G.prototype.findChild,K=o&&l(function(){return 7!=S(j({},\"a\",{get:function(){return j(this,\"a\",{value:7}).a}})).a})?function(t,e,n){var i=E(R,e);i&&delete R[e],j(t,e,n),i&&t!==R&&j(R,e,i)}:j,z=function(t){var e=B[t]=S(C.prototype);return e._k=t,e},U=H&&\"symbol\"==typeof C.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof C},W=function(t,e,n){return t===R&&W(N,e,n),m(t),e=x(e,!0),m(n),r(B,e)?(n.enumerable?(r(t,$)&&t[$][e]&&(t[$][e]=!1),n=S(n,{enumerable:w(0,!1)})):(r(t,$)||j(t,$,w(1,{})),t[$][e]=!0),K(t,e,n)):j(t,e,n)},J=function(t,e){m(t);for(var n,i=g(e=_(e)),r=0,o=i.length;o>r;)W(t,n=i[r++],e[n]);return t},q=function(t,e){return void 0===e?S(t):J(S(t),e)},X=function(t){var e=F.call(this,t=x(t,!0));return!(this===R&&r(B,t)&&!r(N,t))&&(!(e||!r(this,t)||!r(B,t)||r(this,$)&&this[$][t])||e)},Y=function(t,e){if(t=_(t),e=x(e,!0),t!==R||!r(B,e)||r(N,e)){var n=E(t,e);return!n||!r(B,e)||r(t,$)&&t[$][e]||(n.enumerable=!0),n}},Q=function(t){for(var e,n=V(_(t)),i=[],o=0;n.length>o;)r(B,e=n[o++])||e==$||e==a||i.push(e);return i},Z=function(t){for(var e,n=t===R,i=V(n?N:_(t)),o=[],s=0;i.length>s;)!r(B,e=i[s++])||n&&!r(R,e)||o.push(B[e]);return o};H||(C=function(){if(this instanceof C)throw TypeError(\"Symbol is not a constructor!\");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===R&&e.call(N,n),r(this,$)&&r(this[$],t)&&(this[$][t]=!1),K(this,t,w(1,n))};return o&&I&&K(R,t,{configurable:!0,set:e}),z(t)},u(C.prototype,\"toString\",function(){return this._k}),L.f=Y,P.f=W,n(46).f=O.f=Q,n(26).f=X,n(47).f=Z,o&&!n(25)&&u(R,\"propertyIsEnumerable\",X,!0),d.f=function(t){return z(h(t))}),s(s.G+s.W+s.F*!H,{Symbol:C});for(var tt=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),et=0;tt.length>et;)h(tt[et++]);for(var tt=k(h.store),et=0;tt.length>et;)v(tt[et++]);s(s.S+s.F*!H,\"Symbol\",{for:function(t){return r(M,t+=\"\")?M[t]:M[t]=C(t)},keyFor:function(t){if(U(t))return y(M,t);throw TypeError(t+\" is not a symbol!\")},useSetter:function(){I=!0},useSimple:function(){I=!1}}),s(s.S+s.F*!H,\"Object\",{create:q,defineProperty:W,defineProperties:J,getOwnPropertyDescriptor:Y,getOwnPropertyNames:Q,getOwnPropertySymbols:Z}),T&&s(s.S+s.F*(!H||l(function(){var t=C();return\"[null]\"!=A([t])||\"{}\"!=A({a:t})||\"{}\"!=A(Object(t))})),\"JSON\",{stringify:function(t){if(void 0!==t&&!U(t)){for(var e,n,i=[t],r=1;arguments.length>r;)i.push(arguments[r++]);return e=i[1],\"function\"==typeof e&&(n=e),!n&&b(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!U(e))return e}),i[1]=e,A.apply(T,i)}}}),C.prototype[D]||n(6)(C.prototype,D,C.prototype.valueOf),f(C,\"Symbol\"),f(Math,\"Math\",!0),f(i.JSON,\"JSON\",!0)},function(t,e,n){n(32)(\"asyncIterator\")},function(t,e,n){n(32)(\"observable\")},function(t,e,n){n(91);for(var i=n(0),r=n(6),o=n(24),s=n(7)(\"toStringTag\"),u=[\"NodeList\",\"DOMTokenList\",\"MediaList\",\"StyleSheetList\",\"CSSRuleList\"],a=0;a<5;a++){var l=u[a],c=i[l],f=c&&c.prototype;f&&!f[s]&&r(f,s,l),o[l]=o.Array}},function(t,e,n){var i=n(38)(\"unscopables\"),r=Array.prototype;void 0==r[i]&&n(18)(r,i,{}),t.exports=function(t){r[i][t]=!0}},function(t,e,n){var i=n(19);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,n){var i=n(115),r=n(37),o=n(114);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(50),r=n(57),o=n(36),s=n(37);t.exports=function(t,e,n,u,a){i(e);var l=r(t),c=o(l),f=s(l.length),p=a?f-1:0,h=a?-1:1;if(n<2)for(;;){if(p in c){u=c[p],p+=h;break}if(p+=h,a?p<0:f<=p)throw TypeError(\"Reduce of empty array with no initial value\")}for(;a?p>=0:f>p;p+=h)p in c&&(u=e(u,c[p],p,l));return u}},function(t,e,n){var i=n(19),r=n(54),o=n(38)(\"species\");t.exports=function(t){var e;return r(t)&&(e=t.constructor,\"function\"!=typeof e||e!==Array&&!r(e.prototype)||(e=void 0),i(e)&&null===(e=e[o])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var i=n(103);t.exports=function(t,e){return new(i(t))(e)}},function(t,e,n){var i=n(19),r=n(9).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){\"use strict\";var i=n(18),r=n(55),o=n(8),s=n(17),u=n(38);t.exports=function(t,e,n){var a=u(t),l=n(s,a,\"\"[t]),c=l[0],f=l[1];o(function(){var e={};return e[a]=function(){return 7},7!=\"\"[t](e)})&&(r(String.prototype,t,c),i(RegExp.prototype,a,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}))}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){t.exports=!n(35)&&!n(8)(function(){return 7!=Object.defineProperty(n(105)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(100),r=n(108),o=n(116),s=Object.defineProperty;e.f=n(35)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var i=n(9),r=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});t.exports=function(t){return r[t]||(r[t]={})}},function(t,e,n){var i=n(5),r=n(17),o=n(8),s=n(113),u=\"[\"+s+\"]\",a=\"​…\",l=RegExp(\"^\"+u+u+\"*\"),c=RegExp(u+u+\"*$\"),f=function(t,e,n){var r={},u=o(function(){return!!s[t]()||a[t]()!=a}),l=r[t]=u?e(p):s[t];n&&(r[n]=l),i(i.P+i.F*u,\"String\",r)},p=f.trim=function(t,e){return t=String(r(t)),1&e&&(t=t.replace(l,\"\")),2&e&&(t=t.replace(c,\"\")),t};t.exports=f},function(t,e){t.exports=\"\\t\\n\\v\\f\\r   ᠎              \\u2028\\u2029\\ufeff\"},function(t,e,n){var i=n(56),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(36),r=n(17);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(19);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(2);i(i.P+i.F*!n(20)([].filter,!0),\"Array\",{filter:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(5),r=n(101)(!1),o=[].indexOf,s=!!o&&1/[1].indexOf(1,-0)<0;i(i.P+i.F*(s||!n(20)(o)),\"Array\",{indexOf:function(t){return s?o.apply(this,arguments)||0:r(this,t,arguments[1])}})},function(t,e,n){var i=n(5);i(i.S,\"Array\",{isArray:n(54)})},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(1);i(i.P+i.F*!n(20)([].map,!0),\"Array\",{map:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(5),r=n(102);i(i.P+i.F*!n(20)([].reduce,!0),\"Array\",{reduce:function(t){return r(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){n(106)(\"search\",1,function(t,e,n){return[function(n){\"use strict\";var i=t(this),r=void 0==n?void 0:n[e];return void 0!==r?r.call(n,i):new RegExp(n)[e](String(i))},n]})},function(t,e,n){\"use strict\";n(112)(\"trim\",function(t){return function(){return t(this,3)}})},function(t,e){},function(t,e){t.exports=function(t,e,n,i,r,o){var s,u=t=t||{},a=typeof t.default;\"object\"!==a&&\"function\"!==a||(s=t,u=t.default);var l=\"function\"==typeof u?u.options:u;e&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0),n&&(l.functional=!0),r&&(l._scopeId=r);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):i&&(c=i),c){var f=l.functional,p=f?l.render:l.beforeCreate;f?(l._injectStyles=c,l.render=function(t,e){return c.call(e),p(t,e)}):l.beforeCreate=p?[].concat(p,c):[c]}return{esModule:s,exports:u,options:l}}},function(t,e,n){\"use strict\";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"multiselect\",class:{\"multiselect--active\":t.isOpen,\"multiselect--disabled\":t.disabled,\"multiselect--above\":t.isAbove},attrs:{tabindex:t.searchable?-1:t.tabindex},on:{focus:function(e){t.activate()},blur:function(e){!t.searchable&&t.deactivate()},keydown:[function(e){return\"button\"in e||!t._k(e.keyCode,\"down\",40,e.key,\"ArrowDown\")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerForward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"up\",38,e.key,\"ArrowUp\")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerBackward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")||!t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")?(e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null}],keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()}}},[t._t(\"caret\",[n(\"div\",{staticClass:\"multiselect__select\",on:{mousedown:function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}}})],{toggle:t.toggle}),t._v(\" \"),t._t(\"clear\",null,{search:t.search}),t._v(\" \"),n(\"div\",{ref:\"tags\",staticClass:\"multiselect__tags\"},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.visibleValues.length>0,expression:\"visibleValues.length > 0\"}],staticClass:\"multiselect__tags-wrap\"},[t._l(t.visibleValues,function(e){return[t._t(\"tag\",[n(\"span\",{staticClass:\"multiselect__tag\"},[n(\"span\",{domProps:{textContent:t._s(t.getOptionLabel(e))}}),t._v(\" \"),n(\"i\",{staticClass:\"multiselect__tag-icon\",attrs:{\"aria-hidden\":\"true\",tabindex:\"1\"},on:{keydown:function(n){if(!(\"button\"in n)&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\"))return null;n.preventDefault(),t.removeElement(e)},mousedown:function(n){n.preventDefault(),t.removeElement(e)}}})])],{option:e,search:t.search,remove:t.removeElement})]})],2),t._v(\" \"),t.internalValue&&t.internalValue.length>t.limit?[t._t(\"limit\",[n(\"strong\",{staticClass:\"multiselect__strong\",domProps:{textContent:t._s(t.limitText(t.internalValue.length-t.limit))}})])]:t._e(),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect__loading\"}},[t._t(\"loading\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.loading,expression:\"loading\"}],staticClass:\"multiselect__spinner\"})])],2),t._v(\" \"),n(\"input\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen&&t.searchable,expression:\"isOpen && searchable\"}],ref:\"search\",staticClass:\"multiselect__input\",style:t.inputStyle,attrs:{name:t.name,id:t.id,type:\"text\",autocomplete:\"off\",placeholder:t.placeholder,disabled:t.disabled,tabindex:t.tabindex},domProps:{value:t.search},on:{input:function(e){t.updateSearch(e.target.value)},focus:function(e){e.preventDefault(),t.activate()},blur:function(e){e.preventDefault(),t.deactivate()},keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()},keydown:[function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"down\",40,e.key,\"ArrowDown\"))return null;e.preventDefault(),t.pointerForward()},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"up\",38,e.key,\"ArrowUp\"))return null;e.preventDefault(),t.pointerBackward()},function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?(e.preventDefault(),e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"delete\",[8,46],e.key,[\"Backspace\",\"Delete\"]))return null;e.stopPropagation(),t.removeLastElement()}]}}),t._v(\" \"),t.isSingleLabelVisible?n(\"span\",{staticClass:\"multiselect__single\",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"singleLabel\",[[t._v(t._s(t.currentOptionLabel))]],{option:t.singleValue})],2):t._e(),t._v(\" \"),t.isPlaceholderVisible?n(\"span\",{on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"placeholder\",[n(\"span\",{staticClass:\"multiselect__single\"},[t._v(\"\\n \"+t._s(t.placeholder)+\"\\n \")])])],2):t._e()],2),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen,expression:\"isOpen\"}],ref:\"list\",staticClass:\"multiselect__content-wrapper\",style:{maxHeight:t.optimizedHeight+\"px\"},on:{focus:t.activate,mousedown:function(t){t.preventDefault()}}},[n(\"ul\",{staticClass:\"multiselect__content\",style:t.contentStyle},[t._t(\"beforeList\"),t._v(\" \"),t.multiple&&t.max===t.internalValue.length?n(\"li\",[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"maxElements\",[t._v(\"Maximum of \"+t._s(t.max)+\" options selected. First remove a selected option to select another.\")])],2)]):t._e(),t._v(\" \"),!t.max||t.internalValue.length<t.max?t._l(t.filteredOptions,function(e,i){return n(\"li\",{key:i,staticClass:\"multiselect__element\"},[e&&(e.$isLabel||e.$isDisabled)?t._e():n(\"span\",{staticClass:\"multiselect__option\",class:t.optionHighlight(i,e),attrs:{\"data-select\":e&&e.isTag?t.tagPlaceholder:t.selectLabelText,\"data-selected\":t.selectedLabelText,\"data-deselect\":t.deselectLabelText},on:{click:function(n){n.stopPropagation(),t.select(e)},mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.pointerSet(i)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2),t._v(\" \"),e&&(e.$isLabel||e.$isDisabled)?n(\"span\",{staticClass:\"multiselect__option\",class:t.groupHighlight(i,e),attrs:{\"data-select\":t.groupSelect&&t.selectGroupLabelText,\"data-deselect\":t.groupSelect&&t.deselectGroupLabelText},on:{mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.groupSelect&&t.pointerSet(i)},mousedown:function(n){n.preventDefault(),t.selectGroup(e)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2):t._e()])}):t._e(),t._v(\" \"),n(\"li\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showNoResults&&0===t.filteredOptions.length&&t.search&&!t.loading,expression:\"showNoResults && (filteredOptions.length === 0 && search && !loading)\"}]},[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"noResult\",[t._v(\"No elements found. Consider changing the search query.\")])],2)]),t._v(\" \"),t._t(\"afterList\")],2)])])],2)},r=[],o={render:i,staticRenderFns:r};e.a=o}])});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-multiselect/dist/vue-multiselect.min.js\n// module id = 6\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/defaults.js\n// module id = 7\n// module chunks = 0","<template>\n\t<router-view></router-view>\n</template>\n\n<script>\nexport default {\n\tname: 'App',\n\tbeforeMount: function() {\n\t\t// importing server data into the store\n\t\tconst serverDataElmt = document.getElementById('serverData');\n\t\tif (serverDataElmt !== null) {\n\t\t\tthis.$store.commit('setServerData', JSON.parse(document.getElementById('serverData').dataset.server));\n\t\t}\n\t}\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/App.vue","<template>\n\t<div id=\"app\">\n\t\t<app-navigation :menu=\"menu\">\n\t\t\t<template slot=\"settings-content\">\n\t\t\t\t<div>\n\t\t\t\t\t<p>{{t('settings', 'Default quota :')}}</p>\n\t\t\t\t\t<multiselect :value=\"defaultQuota\" :options=\"quotaOptions\"\n\t\t\t\t\t\t\t\ttag-placeholder=\"create\" :placeholder=\"t('settings', 'Select default quota')\"\n\t\t\t\t\t\t\t\tlabel=\"label\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t\t:allowEmpty=\"false\" :taggable=\"true\"\n\t\t\t\t\t\t\t\t@tag=\"validateQuota\" @input=\"setDefaultQuota\">\n\t\t\t\t\t</multiselect>\n\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<input type=\"checkbox\" id=\"showLanguages\" class=\"checkbox\"\n\t\t\t\t\t\t :checked=\"showLanguages\" v-model=\"showLanguages\">\n\t\t\t\t\t<label for=\"showLanguages\">{{t('settings', 'Show Languages')}}</label>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<input type=\"checkbox\" id=\"showLastLogin\" class=\"checkbox\"\n\t\t\t\t\t\t :checked=\"showLastLogin\" v-model=\"showLastLogin\">\n\t\t\t\t\t<label for=\"showLastLogin\">{{t('settings', 'Show last login')}}</label>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<input type=\"checkbox\" id=\"showUserBackend\" class=\"checkbox\"\n\t\t\t\t\t\t :checked=\"showUserBackend\" v-model=\"showUserBackend\">\n\t\t\t\t\t<label for=\"showUserBackend\">{{t('settings', 'Show user backend')}}</label>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<input type=\"checkbox\" id=\"showStoragePath\" class=\"checkbox\"\n\t\t\t\t\t\t :checked=\"showStoragePath\" v-model=\"showStoragePath\">\n\t\t\t\t\t<label for=\"showStoragePath\">{{t('settings', 'Show storage path')}}</label>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t</app-navigation>\n\t\t<user-list :users=\"users\" :showConfig=\"showConfig\" :selectedGroup=\"selectedGroup\" />\n\t</div>\n</template>\n\n<script>\nimport appNavigation from '../components/appNavigation';\nimport userList from '../components/userList';\nimport Vue from 'vue';\nimport VueLocalStorage from 'vue-localstorage'\nimport Multiselect from 'vue-multiselect';\nimport api from '../store/api';\n\nVue.use(VueLocalStorage)\nVue.use(VueLocalStorage)\n\nexport default {\n\tname: 'Users',\n\tprops: ['selectedGroup'],\n\tcomponents: {\n\t\tappNavigation,\n\t\tuserList,\n\t\tMultiselect\n\t},\n\tbeforeMount() {\n\t\tthis.$store.commit('initGroups', {\n\t\t\tgroups: this.$store.getters.getServerData.groups,\n\t\t\torderBy: this.$store.getters.getServerData.sortGroups,\n\t\t\tuserCount: this.$store.getters.getServerData.userCount\n\t\t});\n\t\tthis.$store.dispatch('getPasswordPolicyMinLength');\n\t},\n\tdata() {\n\t\treturn {\n\t\t\t// default quota is unlimited\n\t\t\tunlimitedQuota: {id:'default', label:t('settings', 'Unlimited')},\n\t\t\t// temporary value used for multiselect change\n\t\t\tselectedQuota: false,\n\t\t\tshowConfig: {\n\t\t\t\tshowStoragePath: false,\n\t\t\t\tshowUserBackend: false,\n\t\t\t\tshowLastLogin: false,\n\t\t\t\tshowNewUserForm: false,\n\t\t\t\tshowLanguages: false\n\t\t\t}\n\t\t}\n\t},\n\tmethods: {\n\t\ttoggleNewUserMenu() {\n\t\t\tthis.showConfig.showNewUserForm = !this.showConfig.showNewUserForm;\n\t\t\tif (this.showConfig.showNewUserForm) {\n\t\t\t\tVue.nextTick(() => {\n\t\t\t\t\twindow.newusername.focus();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetLocalstorage(key) {\n\t\t\t// force initialization\n\t\t\tlet localConfig = this.$localStorage.get(key);\n\t\t\t// if localstorage is null, fallback to original values\n\t\t\tthis.showConfig[key] = localConfig !== null ? localConfig === 'true' : this.showConfig[key];\n\t\t\treturn this.showConfig[key];\n\t\t},\n\t\tsetLocalStorage(key, status) {\n\t\t\tthis.showConfig[key] = status;\n\t\t\tthis.$localStorage.set(key, status);\n\t\t\treturn status;\n\t\t},\n\t\tremoveGroup(groupid) {\n\t\t\tlet self = this;\n\t\t\t// TODO migrate to a vue js confirm dialog component \n\t\t\tOC.dialogs.confirm(\n\t\t\t\tt('settings', 'You are about to remove the group {group}. The users will NOT be deleted.', {group: groupid}),\n\t\t\t\tt('settings','Please confirm the group removal '),\n\t\t\t\tfunction (success) {\n\t\t\t\t\tif (success) {\n\t\t\t\t\t\tself.$store.dispatch('removeGroup', groupid);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Dispatch default quota set request\n\t\t * \n\t\t * @param {string|Object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @returns {string}\n\t\t */\n\t\tsetDefaultQuota(quota = 'none') {\n\t\t\tthis.$store.dispatch('setAppConfig', {\n\t\t\t\tapp: 'files',\n\t\t\t\tkey: 'default_quota',\n\t\t\t\t// ensure we only send the preset id\n\t\t\t\tvalue: quota.id ? quota.id : quota\n\t\t\t}).then(() => {\n\t\t\t\tif (typeof quota !== 'object') {\n\t\t\t\t\tquota = {id: quota, label: quota};\n\t\t\t\t}\n\t\t\t\tthis.defaultQuota = quota;\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t * \n\t\t * @param {string} quota Quota in readable format '5 GB'\n\t\t * @returns {Promise|boolean}\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tlet validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota === 0) {\n\t\t\t\treturn this.setDefaultQuota('none');\n\t\t\t} else if (validQuota !== null) {\n\t\t\t\t// unify format output\n\t\t\t\treturn this.setDefaultQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));\n\t\t\t}\n\t\t\t// if no valid do not change\n\t\t\treturn false;\n\t\t},\n\t},\n\tcomputed: {\n\t\tusers() {\n\t\t\treturn this.$store.getters.getUsers;\n\t\t},\n\t\tloading() {\n\t\t\treturn Object.keys(this.users).length === 0;\n\t\t},\n\t\tusersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset;\n\t\t},\n\t\tusersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit;\n\t\t},\n\n\t\t// Local settings\n\t\tshowLanguages: {\n\t\t\tget: function() {return this.getLocalstorage('showLanguages')},\n\t\t\tset: function(status) {\n\t\t\t\tthis.setLocalStorage('showLanguages', status);\n\t\t\t}\n\t\t},\n\t\tshowLastLogin: {\n\t\t\tget: function() {return this.getLocalstorage('showLastLogin')},\n\t\t\tset: function(status) {\n\t\t\t\tthis.setLocalStorage('showLastLogin', status);\n\t\t\t}\n\t\t},\n\t\tshowUserBackend: {\n\t\t\tget: function() {return this.getLocalstorage('showUserBackend')},\n\t\t\tset: function(status) {\n\t\t\t\tthis.setLocalStorage('showUserBackend', status);\n\t\t\t}\n\t\t},\n\t\tshowStoragePath: {\n\t\t\tget: function() {return this.getLocalstorage('showStoragePath')},\n\t\t\tset: function(status) {\n\t\t\t\tthis.setLocalStorage('showStoragePath', status);\n\t\t\t}\n\t\t},\n\n\t\tuserCount() {\n\t\t\treturn this.$store.getters.getUserCount;\n\t\t},\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData;\n\t\t},\n\n\t\t// default quota\n\t\tquotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tlet quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({id:cur, label:cur}), []);\n\t\t\t// add default presets\n\t\t\tquotaPreset.unshift(this.unlimitedQuota);\n\t\t\treturn quotaPreset;\n\t\t},\n\t\t// mapping saved values to objects\n\t\tdefaultQuota: {\n\t\t\tget: function() {\n\t\t\t\tif (this.selectedQuota !== false) {\n\t\t\t\t\treturn this.selectedQuota;\n\t\t\t\t}\n\t\t\t\tif (OC.Util.computerFileSize(this.settings.defaultQuota) > 0) {\n\t\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\t\treturn {id:this.settings.defaultQuota, label:this.settings.defaultQuota};\n\t\t\t\t}\n\t\t\t\treturn this.unlimitedQuota; // unlimited\n\t\t\t},\n\t\t\tset: function(quota) {\n\t\t\t\tthis.selectedQuota = quota;\n\t\t\t}\n\t\t\t\n\t\t},\n\n\t\t// BUILD APP NAVIGATION MENU OBJECT\n\t\tmenu() {\n\t\t\t// Data provided php side\n\t\t\tlet groups = this.$store.getters.getGroups;\n\t\t\tgroups = Array.isArray(groups) ? groups : [];\n\n\t\t\t// Map groups\n\t\t\tgroups = groups.map(group => {\n\t\t\t\tlet item = {};\n\t\t\t\titem.id = group.id.replace(' ', '_');\n\t\t\t\titem.classes = [];\t\t\t\t\t\t\t// empty classes, active will be set later\n\t\t\t\titem.router = {\t\t\t\t\t\t\t\t// router link to\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tparams: {selectedGroup: group.id}\n\t\t\t\t};\n\t\t\t\titem.text = group.name;\t\t\t\t\t\t// group name\n\t\t\t\titem.utils = {counter: group.usercount};\t// users count\n\n\t\t\t\tif (item.id !== 'admin' && item.id !== 'disabled') {\n\t\t\t\t\t// add delete button on real groups\n\t\t\t\t\tlet self = this;\n\t\t\t\t\titem.utils.actions = [{\n\t\t\t\t\t\ticon: 'icon-delete',\n\t\t\t\t\t\ttext: t('settings', 'Remove group'),\n\t\t\t\t\t\taction: function() {self.removeGroup(group.id)}\n\t\t\t\t\t}];\n\t\t\t\t};\n\t\t\t\treturn item;\n\t\t\t});\n\n\t\t\t// Adjust data\n\t\t\tlet adminGroup = groups.find(group => group.id == 'admin');\n\t\t\tlet disabledGroupIndex = groups.findIndex(group => group.id == 'disabled');\n\t\t\tlet disabledGroup = groups[disabledGroupIndex];\n\t\t\tif (adminGroup && adminGroup.text) {\n\t\t\t\tadminGroup.text = t('settings', 'Admins'); // rename admin group\n\t\t\t}\n\t\t\tif (disabledGroup && disabledGroup.text) {\n\t\t\t\tdisabledGroup.text = t('settings', 'Disabled users'); // rename disabled group\n\t\t\t\tif (disabledGroup.utils.counter === 0) {\n\t\t\t\t\tgroups.splice(disabledGroupIndex, 1); // remove disabled if empty\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add everyone group\n\t\t\tgroups.unshift({\n\t\t\t\tid: 'everyone',\n\t\t\t\tclasses: [],\n\t\t\t\trouter: {name:'users'},\n\t\t\t\ttext: t('settings', 'Everyone'),\n\t\t\t\tutils: {counter: this.userCount}\n\t\t\t});\n\n\t\t\t// Set current group as active\n\t\t\tlet activeGroup = groups.findIndex(group => group.id === this.selectedGroup);\n\t\t\tif (activeGroup >= 0) {\n\t\t\t\tgroups[activeGroup].classes.push('active');\n\t\t\t} else {\n\t\t\t\tgroups[0].classes.push('active');\n\t\t\t}\n\n\t\t\t// Return\n\t\t\treturn {\n\t\t\t\tid: 'usergrouplist',\n\t\t\t\tnew: {\n\t\t\t\t\tid:'new-user-button',\n\t\t\t\t\ttext: t('settings','New user'),\n\t\t\t\t\ticon: 'icon-add',\n\t\t\t\t\taction: this.toggleNewUserMenu\n\t\t\t\t},\n\t\t\t\titems: groups\n\t\t\t}\n\t\t},\n\t}\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/views/Users.vue","<template>\n\t<div id=\"app-navigation\" :class=\"{'icon-loading': menu.loading}\">\n\t\t<div class=\"app-navigation-new\" v-if=\"menu.new\">\n\t\t\t<button type=\"button\" :id=\"menu.new.id\" :class=\"menu.new.icon\" @click=\"menu.new.action\">{{menu.new.text}}</button>\n\t\t</div>\n\t\t<ul :id=\"menu.id\">\n\t\t\t<navigation-item v-for=\"(item, key) in menu.items\" :item=\"item\" :key=\"key\" />\n\t\t</ul>\n\t\t<div id=\"app-settings\">\n\t\t\t<div id=\"app-settings-header\">\n\t\t\t\t<button class=\"settings-button\"\n\t\t\t\t\t\tdata-apps-slide-toggle=\"#app-settings-content\"\n\t\t\t\t>{{t('settings', 'Settings')}}</button>\n\t\t\t</div>\n\t\t\t<div id=\"app-settings-content\">\n\t\t\t\t<slot name=\"settings-content\"></slot>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport navigationItem from './appNavigation/navigationItem';\n\nexport default {\n\tname: 'appNavigation',\n\tprops: ['menu'],\n\tcomponents: {\n\t\tnavigationItem\n\t}\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/appNavigation.vue","<template>\n\t<li :id=\"item.id\" :class=\"[{'icon-loading-small': item.loading, 'open': item.opened, 'collapsible': item.collapsible&&item.children&&item.children.length>0 }, item.classes]\">\n\n\t\t<!-- Bullet -->\n\t\t<div v-if=\"item.bullet\" class=\"app-navigation-entry-bullet\" :style=\"{ backgroundColor: item.bullet }\"></div>\n\n\t\t<!-- Main link -->\n\t\t<a v-if=\"item.href\" :href=\"(item.href) ? item.href : '#' \" @click=\"toggleCollapse\" :class=\"item.icon\" >\n\t\t\t<img v-if=\"item.iconUrl\" :alt=\"item.text\" :src=\"item.iconUrl\">\n\t\t\t{{item.text}}\n\t\t</a>\n\n\t\t<!-- Router link if specified. href OR router -->\n\t\t<router-link :to=\"item.router\" v-else-if=\"item.router\" :class=\"item.icon\" >\n\t\t\t<img v-if=\"item.iconUrl\" :alt=\"item.text\" :src=\"item.iconUrl\">\n\t\t\t{{item.text}}\n\t\t</router-link>\t\n\n\t\t<!-- Popover, counter and button(s) -->\n\t\t<div v-if=\"item.utils\" class=\"app-navigation-entry-utils\">\n\t\t\t<ul>\n\t\t\t\t<!-- counter -->\n\t\t\t\t<li v-if=\"Number.isInteger(item.utils.counter)\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-counter\">{{item.utils.counter}}</li>\n\n\t\t\t\t<!-- first action if only one action and counter -->\n\t\t\t\t<li v-if=\"item.utils.actions && item.utils.actions.length === 1 && Number.isInteger(item.utils.counter)\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-menu-button\">\n\t\t\t\t\t<button @click=\"item.utils.actions[0].action\" :class=\"item.utils.actions[0].icon\" :title=\"item.utils.actions[0].text\"></button>\n\t\t\t\t</li>\n\n\t\t\t\t<!-- second action only two actions and no counter -->\n\t\t\t\t<li v-else-if=\"item.utils.actions && item.utils.actions.length === 2 && !Number.isInteger(item.utils.counter)\"\n\t\t\t\t\tv-for=\"action in item.utils.actions\" :key=\"action.action\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-menu-button\">\n\t\t\t\t\t<button @click=\"action.action\" :class=\"action.icon\" :title=\"action.text\"></button>\n\t\t\t\t</li>\n\n\t\t\t\t<!-- menu if only at least one action and counter OR two actions and no counter-->\n\t\t\t\t<li v-else-if=\"item.utils.actions && item.utils.actions.length > 1 && (Number.isInteger(item.utils.counter) || item.utils.actions.length > 2)\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-menu-button\">\n\t\t\t\t\t<button v-click-outside=\"hideMenu\" @click=\"showMenu\" ></button>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</div>\n\n\t\t<!-- if more than 2 actions or more than 1 actions with counter -->\n\t\t<div v-if=\"item.utils && item.utils.actions && item.utils.actions.length > 1 && (Number.isInteger(item.utils.counter) || item.utils.actions.length > 2)\"\n\t\t\t class=\"app-navigation-entry-menu\" :class=\"{ 'open': openedMenu }\">\n\t\t\t <popover-menu :menu=\"item.utils.actions\"/>\n\t\t</div>\n\n\t\t<!-- undo entry -->\n\t\t<div class=\"app-navigation-entry-deleted\" v-if=\"item.undo\">\n\t\t\t<div class=\"app-navigation-entry-deleted-description\">{{item.undo.text}}</div>\n\t\t\t<button class=\"app-navigation-entry-deleted-button icon-history\" :title=\"t('settings', 'Undo')\"></button>\n\t\t</div>\n\n\t\t<!-- edit entry -->\n\t\t<div class=\"app-navigation-entry-edit\" v-if=\"item.edit\">\n\t\t\t<form>\n\t\t\t\t<input type=\"text\" v-model=\"item.text\">\n\t\t\t\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\n\t\t\t\t<input type=\"submit\" value=\"\" class=\"icon-close\" @click.stop.prevent=\"cancelEdit\">\n\t\t\t</form>\n\t\t</div>\n\n\t\t<!-- if the item has children, inject the component with proper data -->\n\t\t<ul v-if=\"item.children\">\n\t\t\t<navigation-item v-for=\"(item, key) in item.children\" :item=\"item\" :key=\"key\" />\n\t\t</ul>\n\t</li>\n</template>\n\n<script>\nimport popoverMenu from '../popoverMenu';\nimport ClickOutside from 'vue-click-outside';\nimport Vue from 'vue';\n\nexport default {\n\tname: 'navigationItem',\n\tprops: ['item'],\n\tcomponents: {\n\t\tpopoverMenu\n\t},\n\tdirectives: {\n\t\tClickOutside\n\t},\n\tdata() {\n\t\treturn {\n\t\t\topenedMenu: false\n\t\t}\n\t},\n\tmethods: {\n\t\tshowMenu() {\n\t\t\tthis.openedMenu = true;\n\t\t},\n\t\thideMenu() {\n\t\t\tthis.openedMenu = false;\n\t\t},\n\t\ttoggleCollapse() {\n\t\t\t// if item.opened isn't set, Vue won't trigger view updates https://vuejs.org/v2/api/#Vue-set\n\t\t\t// ternary is here to detect the undefined state of item.opened\n\t\t\tVue.set(this.item, 'opened', this.item.opened ? !this.item.opened : true);\n\t\t},\n\t\tcancelEdit() {\n\t\t\t// remove the editing class\n\t\t\tif (Array.isArray(this.item.classes))\n\t\t\t\tthis.item.classes = this.item.classes.filter(item => item !== 'editing');\n\t\t}\n\t},\n\tmounted() {\n\t\t// prevent click outside event with popupItem.\n\t\tthis.popupItem = this.$el;\n\t},\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/appNavigation/navigationItem.vue","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./popoverMenu.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./popoverMenu.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-24e4fcfe\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./popoverMenu.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/popoverMenu.vue\n// module id = 12\n// module chunks = 0","<template>\n\t<ul>\n\t\t<popover-item v-for=\"(item, key) in menu\" :item=\"item\" :key=\"key\" />\n\t</ul>\n</template>\n\n\n<script>\nimport popoverItem from './popoverMenu/popoverItem';\n\nexport default {\n\tname: 'popoverMenu',\n\tprops: ['menu'],\n\tcomponents: {\n\t\tpopoverItem\n\t}\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/popoverMenu.vue","<template>\n\t<li>\n\t\t<!-- If item.href is set, a link will be directly used -->\n\t\t<a @click=\"item.action\" v-if=\"item.href\" :href=\"(item.href) ? item.href : '#' \">\n\t\t\t<span :class=\"item.icon\"></span>\n\t\t\t<span v-if=\"item.text\">{{item.text}}</span>\n\t\t\t<p v-else-if=\"item.longtext\">{{item.longtext}}</p>\n\t\t</a>\n\t\t<!-- If item.action is set instead, a button will be used -->\n\t\t<button @click=\"item.action\" v-else-if=\"item.action\">\n\t\t\t<span :class=\"item.icon\"></span>\n\t\t\t<span v-if=\"item.text\">{{item.text}}</span>\n\t\t\t<p v-else-if=\"item.longtext\">{{item.longtext}}</p>\n\t\t</button>\n\t\t<!-- If item.longtext is set AND the item does not have an action -->\n\t\t<span v-else>\n\t\t\t<span :class=\"item.icon\"></span>\n\t\t\t<span v-if=\"item.text\">{{item.text}}</span>\n\t\t\t<p v-else-if=\"item.longtext\">{{item.longtext}}</p>\n\t\t</span>\n\t</li>\n</template>\n\n<script>\nexport default {\n\tprops: ['item']\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/popoverMenu/popoverItem.vue","function validate(binding) {\r\n if (typeof binding.value !== 'function') {\r\n console.warn('[Vue-click-outside:] provided expression', binding.expression, 'is not a function.')\r\n return false\r\n }\r\n\r\n return true\r\n}\r\n\r\nfunction isPopup(popupItem, elements) {\r\n if (!popupItem || !elements)\r\n return false\r\n\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n try {\r\n if (popupItem.contains(elements[i])) {\r\n return true\r\n }\r\n if (elements[i].contains(popupItem)) {\r\n return false\r\n }\r\n } catch(e) {\r\n return false\r\n }\r\n }\r\n\r\n return false\r\n}\r\n\r\nfunction isServer(vNode) {\r\n return typeof vNode.componentInstance !== 'undefined' && vNode.componentInstance.$isServer\r\n}\r\n\r\nexports = module.exports = {\r\n bind: function (el, binding, vNode) {\r\n if (!validate(binding)) return\r\n\r\n // Define Handler and cache it on the element\r\n function handler(e) {\r\n if (!vNode.context) return\r\n\r\n // some components may have related popup item, on which we shall prevent the click outside event handler.\r\n var elements = e.path || (e.composedPath && e.composedPath())\r\n elements && elements.length > 0 && elements.unshift(e.target)\r\n \r\n if (el.contains(e.target) || isPopup(vNode.context.popupItem, elements)) return\r\n\r\n el.__vueClickOutside__.callback(e)\r\n }\r\n\r\n // add Event Listeners\r\n el.__vueClickOutside__ = {\r\n handler: handler,\r\n callback: binding.value\r\n }\r\n !isServer(vNode) && document.addEventListener('click', handler)\r\n },\r\n\r\n update: function (el, binding) {\r\n if (validate(binding)) el.__vueClickOutside__.callback = binding.value\r\n },\r\n \r\n unbind: function (el, binding, vNode) {\r\n // Remove Event Listeners\r\n !isServer(vNode) && document.removeEventListener('click', el.__vueClickOutside__.handler)\r\n delete el.__vueClickOutside__\r\n }\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-click-outside/index.js\n// module id = 15\n// module chunks = 0","<template>\n\t<div id=\"app-content\" class=\"user-list-grid\" v-on:scroll.passive=\"onScroll\">\n\t\t<div class=\"row\" id=\"grid-header\" :class=\"{'sticky': scrolled && !showConfig.showNewUserForm}\">\n\t\t\t<div id=\"headerAvatar\" class=\"avatar\"></div>\n\t\t\t<div id=\"headerName\" class=\"name\">{{ t('settings', 'Username') }}</div>\n\t\t\t<div id=\"headerDisplayName\" class=\"displayName\">{{ t('settings', 'Full name') }}</div>\n\t\t\t<div id=\"headerPassword\" class=\"password\">{{ t('settings', 'Password') }}</div>\n\t\t\t<div id=\"headerAddress\" class=\"mailAddress\">{{ t('settings', 'Email') }}</div>\n\t\t\t<div id=\"headerGroups\" class=\"groups\">{{ t('settings', 'Groups') }}</div>\n\t\t\t<div id=\"headerSubAdmins\" class=\"subadmins\"\n\t\t\t\t v-if=\"subAdminsGroups.length>0\">{{ t('settings', 'Group admin for') }}</div>\n\t\t\t<div id=\"headerQuota\" class=\"quota\">{{ t('settings', 'Quota') }}</div>\n\t\t\t<div id=\"headerLanguages\" class=\"languages\"\n\t\t\t\t v-if=\"showConfig.showLanguages\">{{ t('settings', 'Languages') }}</div>\n\t\t\t<div class=\"headerStorageLocation storageLocation\"\n\t\t\t\t v-if=\"showConfig.showStoragePath\">{{ t('settings', 'Storage location') }}</div>\n\t\t\t<div class=\"headerUserBackend userBackend\"\n\t\t\t\t v-if=\"showConfig.showUserBackend\">{{ t('settings', 'User backend') }}</div>\n\t\t\t<div class=\"headerLastLogin lastLogin\" \n\t\t\t\t v-if=\"showConfig.showLastLogin\">{{ t('settings', 'Last login') }}</div>\n\t\t\t<div class=\"userActions\"></div>\n\t\t</div>\n\n\t\t<form class=\"row\" id=\"new-user\" v-show=\"showConfig.showNewUserForm\"\n\t\t\t v-on:submit.prevent=\"createUser\" :disabled=\"loading\"\n\t\t\t :class=\"{'sticky': scrolled && showConfig.showNewUserForm}\">\n\t\t\t<div :class=\"loading?'icon-loading-small':'icon-add'\"></div>\n\t\t\t<div class=\"name\">\n\t\t\t\t<input id=\"newusername\" type=\"text\" required v-model=\"newUser.id\"\n\t\t\t\t\t :placeholder=\"t('settings', 'User name')\" name=\"username\"\n\t\t\t\t\t autocomplete=\"off\" autocapitalize=\"none\" autocorrect=\"off\"\n\t\t\t\t\t pattern=\"[a-zA-Z0-9 _\\.@\\-']+\">\n\t\t\t</div>\n\t\t\t<div class=\"displayName\">\n\t\t\t\t<input id=\"newdisplayname\" type=\"text\" v-model=\"newUser.displayName\"\n\t\t\t\t\t :placeholder=\"t('settings', 'Display name')\" name=\"displayname\"\n\t\t\t\t\t autocomplete=\"off\" autocapitalize=\"none\" autocorrect=\"off\">\n\t\t\t</div>\n\t\t\t<div class=\"password\">\n\t\t\t\t<input id=\"newuserpassword\" type=\"password\" v-model=\"newUser.password\"\n\t\t\t\t\t :required=\"newUser.mailAddress===''\"\n\t\t\t\t\t :placeholder=\"t('settings', 'Password')\" name=\"password\"\n\t\t\t\t\t autocomplete=\"new-password\" autocapitalize=\"none\" autocorrect=\"off\"\n\t\t\t\t\t :minlength=\"minPasswordLength\">\n\t\t\t</div>\n\t\t\t<div class=\"mailAddress\">\n\t\t\t\t<input id=\"newemail\" type=\"email\" v-model=\"newUser.mailAddress\"\n\t\t\t\t\t :required=\"newUser.password===''\"\n\t\t\t\t\t :placeholder=\"t('settings', 'Mail address')\" name=\"email\"\n\t\t\t\t\t autocomplete=\"off\" autocapitalize=\"none\" autocorrect=\"off\">\n\t\t\t</div>\n\t\t\t<div class=\"groups\">\n\t\t\t\t<multiselect :options=\"groups\" v-model=\"newUser.groups\"\n\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Add user in group')\"\n\t\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t :multiple=\"true\" :close-on-select=\"false\">\n\t\t\t\t\t<span slot=\"noResult\">{{t('settings','No result')}}</span>\n\t\t\t\t</multiselect>\n\t\t\t</div>\n\t\t\t<div class=\"subadmins\" v-if=\"subAdminsGroups.length>0\">\n\t\t\t\t<multiselect :options=\"subAdminsGroups\" v-model=\"newUser.subAdminsGroups\"\n\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Set user as admin for')\"\n\t\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t :multiple=\"true\" :close-on-select=\"false\">\n\t\t\t\t\t<span slot=\"noResult\">{{t('settings','No result')}}</span>\n\t\t\t</multiselect>\n\t\t\t</div>\n\t\t\t<div class=\"quota\">\n\t\t\t\t<multiselect :options=\"quotaOptions\" v-model=\"newUser.quota\"\n\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Select user quota')\"\n\t\t\t\t\t\t\t label=\"label\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t :allowEmpty=\"false\" :taggable=\"true\"\n\t\t\t\t\t\t \t @tag=\"validateQuota\" >\n\t\t\t\t</multiselect>\n\t\t\t</div>\n\t\t\t<div class=\"languages\" v-if=\"showConfig.showLanguages\">\n\t\t\t\t<multiselect :options=\"languages\" v-model=\"newUser.language\"\n\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Default language')\"\n\t\t\t\t\t\t\t label=\"name\" track-by=\"code\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t :allowEmpty=\"false\" group-values=\"languages\" group-label=\"label\">\n\t\t\t\t</multiselect>\n\t\t\t</div>\n\t\t\t<div class=\"storageLocation\" v-if=\"showConfig.showStoragePath\"></div>\n\t\t\t<div class=\"userBackend\" v-if=\"showConfig.showUserBackend\"></div>\n\t\t\t<div class=\"lastLogin\" v-if=\"showConfig.showLastLogin\"></div>\n\t\t\t<div class=\"userActions\">\n\t\t\t\t<input type=\"submit\" id=\"newsubmit\" class=\"button primary icon-checkmark-white has-tooltip\"\n\t\t\t\t\t value=\"\" :title=\"t('settings', 'Add a new user')\">\n\t\t\t\t<input type=\"reset\" id=\"newreset\" class=\"button icon-close has-tooltip\" @click=\"resetForm\"\n\t\t\t\t\t value=\"\" :title=\"t('settings', 'Cancel and reset the form')\">\n\t\t\t</div>\n\t\t</form>\n\n\t\t<user-row v-for=\"(user, key) in filteredUsers\" :user=\"user\" :key=\"key\" :settings=\"settings\" :showConfig=\"showConfig\"\n\t\t\t\t :groups=\"groups\" :subAdminsGroups=\"subAdminsGroups\" :quotaOptions=\"quotaOptions\" :languages=\"languages\" />\n\t\t<infinite-loading @infinite=\"infiniteHandler\" ref=\"infiniteLoading\">\n\t\t\t<div slot=\"spinner\"><div class=\"users-icon-loading icon-loading\"></div></div>\n\t\t\t<div slot=\"no-more\"><div class=\"users-list-end\">— {{t('settings', 'no more results')}} —</div></div>\n\t\t\t<div slot=\"no-results\">\n\t\t\t\t<div id=\"emptycontent\">\n\t\t\t\t\t<div class=\"icon-contacts-dark\"></div>\n\t\t\t\t\t<h2>{{t('settings', 'No users in here')}}</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</infinite-loading>\n\t</div>\n</template>\n\n<script>\nimport userRow from './userList/userRow';\nimport Multiselect from 'vue-multiselect';\nimport InfiniteLoading from 'vue-infinite-loading';\nimport Vue from 'vue';\n\nexport default {\n\tname: 'userList',\n\tprops: ['users', 'showConfig', 'selectedGroup'],\n\tcomponents: {\n\t\tuserRow,\n\t\tMultiselect,\n\t\tInfiniteLoading\n\t},\n\tdata() {\n\t\tlet unlimitedQuota = {id:'none', label:t('settings', 'Unlimited')},\n\t\t\tdefaultQuota = {id:'default', label:t('settings', 'Default quota')};\n\t\treturn {\n\t\t\tunlimitedQuota: unlimitedQuota,\n\t\t\tdefaultQuota: defaultQuota,\n\t\t\tloading: false,\n\t\t\tscrolled: false,\n\t\t\tnewUser: {\n\t\t\t\tid:'',\n\t\t\t\tdisplayName:'',\n\t\t\t\tpassword:'',\n\t\t\t\tmailAddress:'',\n\t\t\t\tgroups: [],\n\t\t\t\tsubAdminsGroups: [],\n\t\t\t\tquota: defaultQuota,\n\t\t\t\tlanguage: {code: 'en', name: t('settings', 'Default language')}\n\t\t\t}\n\t\t};\n\t},\n\tmounted() {\n\t\tif (!this.settings.canChangePassword) {\n\t\t\tOC.Notification.showTemporary(t('settings', 'Password change is disabled because the master key is disabled'));\n\t\t}\n\n\t\t/** \n\t\t * Init default language from server data. The use of this.settings\n\t\t * requires a computed variable, which break the v-model binding of the form,\n\t\t * this is a much easier solution than getter and setter on a computed var\n\t\t */\n\t\tVue.set(this.newUser.language, 'code', this.settings.defaultLanguage);\n\n\t\t/**\n\t\t * In case the user directly loaded the user list within a group\n\t\t * the watch won't be triggered. We need to initialize it.\n\t\t */\n\t\tthis.setNewUserDefaultGroup(this.$route.params.selectedGroup);\n\t},\n\tcomputed: {\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData;\n\t\t},\n\t\tfilteredUsers() {\n\t\t\tif (this.selectedGroup === 'disabled') {\n\t\t\t\tlet disabledUsers = this.users.filter(user => user.enabled !== true);\n\t\t\t\tif (disabledUsers.length===0 && this.$refs.infiniteLoading && this.$refs.infiniteLoading.isComplete) {\n\t\t\t\t\t// disabled group is empty, redirection to all users\n\t\t\t\t\tthis.$router.push({name: 'users'});\n\t\t\t\t\tthis.$refs.infiniteLoading.$emit('$InfiniteLoading:reset');\n\t\t\t\t}\n\t\t\t\treturn disabledUsers;\n\t\t\t}\n\t\t\treturn this.users.filter(user => user.enabled === true);\n\t\t},\n\t\tgroups() {\n\t\t\t// data provided php side + remove the disabled group\n\t\t\treturn this.$store.getters.getGroups.filter(group => group.id !== 'disabled');\n\t\t},\n\t\tsubAdminsGroups() {\n\t\t\t// data provided php side\n\t\t\treturn this.$store.getters.getServerData.subadmingroups;\n\t\t},\n\t\tquotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tlet quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({id:cur, label:cur}), []);\n\t\t\t// add default presets\n\t\t\tquotaPreset.unshift(this.unlimitedQuota);\n\t\t\tquotaPreset.unshift(this.defaultQuota);\n\t\t\treturn quotaPreset;\n\t\t},\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength;\n\t\t},\n\t\tusersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset;\n\t\t},\n\t\tusersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit;\n\t\t},\n\n\t\t/* LANGUAGES */\n\t\tlanguages() {\n\t\t\treturn Array(\n\t\t\t\t{\n\t\t\t\t\tlabel: t('settings', 'Common languages'),\n\t\t\t\t\tlanguages: this.settings.languages.commonlanguages\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('settings', 'All languages'),\n\t\t\t\t\tlanguages: this.settings.languages.languages\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t},\n\twatch: {\n\t\t// watch url change and group select\n\t\tselectedGroup: function (val, old) {\n\t\t\tthis.$store.commit('resetUsers');\n\t\t\tthis.$refs.infiniteLoading.$emit('$InfiniteLoading:reset');\n\t\t\tthis.setNewUserDefaultGroup(val);\n\t\t}\n\t},\n\tmethods: {\n\t\tonScroll(event) {\n\t\t\tthis.scrolled = event.target.scrollTop>0;\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t * \n\t\t * @param {string} quota Quota in readable format '5 GB'\n\t\t * @returns {Object}\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tlet validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota !== null && validQuota > 0) {\n\t\t\t\t// unify format output\n\t\t\t\tquota = OC.Util.humanFileSize(OC.Util.computerFileSize(quota));\n\t\t\t\treturn this.newUser.quota = {id: quota, label: quota};\n\t\t\t}\n\t\t\t// Default is unlimited\n\t\t\treturn this.newUser.quota = this.quotaOptions[0];\n\t\t},\n\n\t\tinfiniteHandler($state) {\n\t\t\tthis.$store.dispatch('getUsers', {\n\t\t\t\toffset: this.usersOffset,\n\t\t\t\tlimit: this.usersLimit,\n\t\t\t\tgroup: this.selectedGroup !== 'disabled' ? this.selectedGroup : ''\n\t\t\t})\n\t\t\t.then((response) => { response ? $state.loaded() : $state.complete() });\n\t\t},\n\n\t\tresetForm() {\n\t\t\t// revert form to original state\n\t\t\tObject.assign(this.newUser, this.$options.data.call(this).newUser);\n\t\t\tthis.loading = false;\n\t\t},\n\t\tcreateUser() {\n\t\t\tthis.loading = true;\n\t\t\tthis.$store.dispatch('addUser', {\n\t\t\t\tuserid: this.newUser.id,\n\t\t\t\tpassword: this.newUser.password,\n\t\t\t\temail: this.newUser.mailAddress,\n\t\t\t\tgroups: this.newUser.groups.map(group => group.id),\n\t\t\t\tsubadmin: this.newUser.subAdminsGroups.map(group => group.id),\n\t\t\t\tquota: this.newUser.quota.id,\n\t\t\t\tlanguage: this.newUser.language.code,\n\t\t\t}).then(() => this.resetForm());\n\t\t},\n\t\tsetNewUserDefaultGroup(value) {\n\t\t\tif (value && value.length > 0) {\n\t\t\t\t// setting new user default group to the current selected one\n\t\t\t\tlet currentGroup = this.groups.find(group => group.id === value);\n\t\t\t\tif (currentGroup) {\n\t\t\t\t\tthis.newUser.groups = [currentGroup];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// fallback, empty selected group\n\t\t\tthis.newUser.groups = [];\n\t\t}\n\t}\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/userList.vue","<template>\n\t<div class=\"row\" :class=\"{'disabled': loading.delete || loading.disable}\">\n\t\t<div class=\"avatar\" :class=\"{'icon-loading-small': loading.delete || loading.disable}\">\n\t\t\t<img alt=\"\" width=\"32\" height=\"32\" :src=\"generateAvatar(user.id, 32)\"\n\t\t\t\t :srcset=\"generateAvatar(user.id, 64)+' 2x, '+generateAvatar(user.id, 128)+' 4x'\"\n\t\t\t\t v-if=\"!loading.delete && !loading.disable\">\n\t\t</div>\n\t\t<div class=\"name\">{{user.id}}</div>\n\t\t<form class=\"displayName\" :class=\"{'icon-loading-small': loading.displayName}\" v-on:submit.prevent=\"updateDisplayName\">\n\t\t\t<input :id=\"'displayName'+user.id+rand\" type=\"text\"\n\t\t\t\t\t:disabled=\"loading.displayName||loading.all\"\n\t\t\t\t\t:value=\"user.displayname\" ref=\"displayName\"\n\t\t\t\t\tautocomplete=\"new-password\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" />\n\t\t\t<input type=\"submit\" class=\"icon-confirm\" value=\"\" />\n\t\t</form>\n\t\t<form class=\"password\" v-if=\"settings.canChangePassword\" :class=\"{'icon-loading-small': loading.password}\"\n\t\t\t v-on:submit.prevent=\"updatePassword\">\n\t\t\t<input :id=\"'password'+user.id+rand\" type=\"password\" required\n\t\t\t\t\t:disabled=\"loading.password||loading.all\" :minlength=\"minPasswordLength\"\n\t\t\t\t\tvalue=\"\" :placeholder=\"t('settings', 'New password')\" ref=\"password\"\n\t\t\t\t\tautocomplete=\"new-password\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" />\n\t\t\t<input type=\"submit\" class=\"icon-confirm\" value=\"\" />\n\t\t</form>\n\t\t<div v-else></div>\n\t\t<form class=\"mailAddress\" :class=\"{'icon-loading-small': loading.mailAddress}\" v-on:submit.prevent=\"updateEmail\">\n\t\t\t<input :id=\"'mailAddress'+user.id+rand\" type=\"email\"\n\t\t\t\t\t:disabled=\"loading.mailAddress||loading.all\"\n\t\t\t\t\t:value=\"user.email\" ref=\"mailAddress\"\n\t\t\t\t\tautocomplete=\"new-password\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" />\n\t\t\t<input type=\"submit\" class=\"icon-confirm\" value=\"\" />\n\t\t</form>\n\t\t<div class=\"groups\" :class=\"{'icon-loading-small': loading.groups}\">\n\t\t\t<multiselect :value=\"userGroups\" :options=\"groups\" :disabled=\"loading.groups||loading.all\"\n\t\t\t\t\t\t tag-placeholder=\"create\" :placeholder=\"t('settings', 'Add user in group')\"\n\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t :limit=\"2\" :limitText=\"limitGroups\"\n\t\t\t\t\t\t :multiple=\"true\" :taggable=\"true\" :closeOnSelect=\"false\"\n\t\t\t\t\t\t @tag=\"createGroup\" @select=\"addUserGroup\" @remove=\"removeUserGroup\">\n\t\t\t</multiselect>\n\t\t</div>\n\t\t<div class=\"subadmins\" v-if=\"subAdminsGroups.length>0\" :class=\"{'icon-loading-small': loading.subadmins}\">\n\t\t\t<multiselect :value=\"userSubAdminsGroups\" :options=\"subAdminsGroups\" :disabled=\"loading.subadmins||loading.all\"\n\t\t\t\t\t\t :placeholder=\"t('settings', 'Set user as admin for')\"\n\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t :limit=\"2\" :limitText=\"limitGroups\"\n\t\t\t\t\t\t :multiple=\"true\" :closeOnSelect=\"false\"\n\t\t\t\t\t\t @select=\"addUserSubAdmin\" @remove=\"removeUserSubAdmin\">\n\t\t\t\t<span slot=\"noResult\">{{t('settings','No result')}}</span>\n\t\t\t</multiselect>\n\t\t</div>\n\t\t<div class=\"quota\" :class=\"{'icon-loading-small': loading.quota}\">\n\t\t\t<multiselect :value=\"userQuota\" :options=\"quotaOptions\" :disabled=\"loading.quota||loading.all\"\n\t\t\t\t\t\t tag-placeholder=\"create\" :placeholder=\"t('settings', 'Select user quota')\"\n\t\t\t\t\t\t label=\"label\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t :allowEmpty=\"false\" :taggable=\"true\"\n\t\t\t\t\t\t @tag=\"validateQuota\" @input=\"setUserQuota\">\n\t\t\t</multiselect>\n\t\t\t<progress class=\"quota-user-progress\" :class=\"{'warn':usedQuota>80}\" :value=\"usedQuota\" max=\"100\"></progress>\n\t\t</div>\n\t\t<div class=\"languages\" :class=\"{'icon-loading-small': loading.languages}\"\n\t\t\t v-if=\"showConfig.showLanguages\">\n\t\t\t<multiselect :value=\"userLanguage\" :options=\"languages\" :disabled=\"loading.languages||loading.all\"\n\t\t\t\t\t\t :placeholder=\"t('settings', 'No language set')\"\n\t\t\t\t\t\t label=\"name\" track-by=\"code\" class=\"multiselect-vue\"\n\t\t\t\t\t\t :allowEmpty=\"false\" group-values=\"languages\" group-label=\"label\"\n\t\t\t\t\t\t @input=\"setUserLanguage\">\n\t\t\t</multiselect>\n\t\t</div>\n\t\t<div class=\"storageLocation\" v-if=\"showConfig.showStoragePath\">{{user.storageLocation}}</div>\n\t\t<div class=\"userBackend\" v-if=\"showConfig.showUserBackend\">{{user.backend}}</div>\n\t\t<div class=\"lastLogin\" v-if=\"showConfig.showLastLogin\" v-tooltip.auto=\"user.lastLogin>0 ? OC.Util.formatDate(user.lastLogin) : ''\">\n\t\t\t{{user.lastLogin>0 ? OC.Util.relativeModifiedDate(user.lastLogin) : t('settings','Never')}}\n\t\t</div>\n\t\t<div class=\"userActions\">\n\t\t\t<div class=\"toggleUserActions\" v-if=\"OC.currentUser !== user.id && user.id !== 'admin' && !loading.all\">\n\t\t\t\t<div class=\"icon-more\" v-click-outside=\"hideMenu\" @click=\"toggleMenu\"></div>\n\t\t\t\t<div class=\"popovermenu\" :class=\"{ 'open': openedMenu }\">\n\t\t\t\t\t<popover-menu :menu=\"userActions\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t</div>\n</template>\n\n<script>\nimport popoverMenu from '../popoverMenu';\nimport ClickOutside from 'vue-click-outside';\nimport Multiselect from 'vue-multiselect';\nimport Vue from 'vue'\nimport VTooltip from 'v-tooltip'\n\nVue.use(VTooltip)\n\nexport default {\n\tname: 'userRow',\n\tprops: ['user', 'settings', 'groups', 'subAdminsGroups', 'quotaOptions', 'showConfig', 'languages'],\n\tcomponents: {\n\t\tpopoverMenu,\n\t\tMultiselect\n\t},\n\tdirectives: {\n\t\tClickOutside\n\t},\n\tmounted() {\n\t\t// required if popup needs to stay opened after menu click\n\t\t// since we only have disable/delete actions, let's close it directly\n\t\t// this.popupItem = this.$el;\n\t},\n\tdata() {\n\t\treturn {\n\t\t\trand: parseInt(Math.random() * 1000),\n\t\t\topenedMenu: false,\n\t\t\tloading: {\n\t\t\t\tall: false,\n\t\t\t\tdisplayName: false,\n\t\t\t\tpassword: false,\n\t\t\t\tmailAddress: false,\n\t\t\t\tgroups: false,\n\t\t\t\tsubadmins: false,\n\t\t\t\tquota: false,\n\t\t\t\tdelete: false,\n\t\t\t\tdisable: false,\n\t\t\t\tlanguages: false\n\t\t\t}\n\t\t}\n\t},\n\tcomputed: {\n\t\t/* USER POPOVERMENU ACTIONS */\n\t\tuserActions() {\n\t\t\treturn [{\n\t\t\t\ticon: 'icon-delete',\n\t\t\t\ttext: t('settings','Delete user'),\n\t\t\t\taction: this.deleteUser\n\t\t\t},{\n\t\t\t\ticon: this.user.enabled ? 'icon-close' : 'icon-add',\n\t\t\t\ttext: this.user.enabled ? t('settings','Disable user') : t('settings','Enable user'),\n\t\t\t\taction: this.enableDisableUser\n\t\t\t}]\n\t\t},\n\n\t\t/* GROUPS MANAGEMENT */\n\t\tuserGroups() {\n\t\t\tlet userGroups = this.groups.filter(group => this.user.groups.includes(group.id));\n\t\t\treturn userGroups;\n\t\t},\n\t\tuserSubAdminsGroups() {\n\t\t\tlet userSubAdminsGroups = this.subAdminsGroups.filter(group => this.user.subadmin.includes(group.id));\n\t\t\treturn userSubAdminsGroups;\n\t\t},\n\n\t\t/* QUOTA MANAGEMENT */\n\t\tusedQuota() {\n\t\t\tlet quota = this.user.quota.quota;\n\t\t\tif (quota > 0) {\n\t\t\t\tquota = Math.min(100, Math.round(this.user.quota.used / quota * 100));\n\t\t\t} else {\n\t\t\t\tvar usedInGB = this.user.quota.used / (10 * Math.pow(2, 30));\n\t\t\t\t//asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota\n\t\t\t\tquota = 95 * (1 - (1 / (usedInGB + 1)));\n\t\t\t}\n\t\t\treturn isNaN(quota) ? 0 : quota;\n\t\t},\n\t\t// Mapping saved values to objects\n\t\tuserQuota() {\n\t\t\tif (this.user.quota.quota > 0) {\n\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\tlet humanQuota = OC.Util.humanFileSize(this.user.quota.quota);\n\t\t\t\tlet userQuota = this.quotaOptions.find(quota => quota.id === humanQuota);\n\t\t\t\treturn userQuota ? userQuota : {id:humanQuota, label:humanQuota};\n\t\t\t} else if (this.user.quota.quota === 0 || this.user.quota.quota === 'default') {\n\t\t\t\t// default quota is replaced by the proper value on load\n\t\t\t\treturn this.quotaOptions[0];\n\t\t\t}\n\t\t\treturn this.quotaOptions[1]; // unlimited\n\t\t},\n\n\t\t/* PASSWORD POLICY? */\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength;\n\t\t},\n\n\t\t/* LANGUAGE */\n\t\tuserLanguage() {\n\t\t\tlet availableLanguages = this.languages[0].languages.concat(this.languages[1].languages);\n\t\t\tlet userLang = availableLanguages.find(lang => lang.code === this.user.language);\n\t\t\tif (typeof userLang !== 'object' && this.user.language !== '') {\n\t\t\t\treturn {\n\t\t\t\t\tcode: this.user.language,\n\t\t\t\t\tname: this.user.language\n\t\t\t\t}\n\t\t\t} else if(this.user.language === '') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn userLang;\n\t\t}\n\t},\n\tmethods: {\n\t\t/* MENU HANDLING */\n\t\ttoggleMenu() {\n\t\t\tthis.openedMenu = !this.openedMenu;\n\t\t},\n\t\thideMenu() {\n\t\t\tthis.openedMenu = false;\n\t\t},\n\n\t\t/**\n\t\t * Generate avatar url\n\t\t * \n\t\t * @param {string} user The user name\n\t\t * @param {int} size Size integer, default 32\n\t\t * @returns {string}\n\t\t */\n\t\tgenerateAvatar(user, size=32) {\n\t\t\treturn OC.generateUrl(\n\t\t\t\t'/avatar/{user}/{size}?v={version}',\n\t\t\t\t{\n\t\t\t\t\tuser: user,\n\t\t\t\t\tsize: size,\n\t\t\t\t\tversion: oc_userconfig.avatar.version\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\n\t\t/**\n\t\t * Format the limit text in the selected options\n\t\t * \n\t\t * @param {int} count elements left\n\t\t * @returns {string}\n\t\t */\n\t\tlimitGroups(count) {\n\t\t\treturn '+'+count;\n\t\t},\n\n\t\tdeleteUser() {\n\t\t\tthis.loading.delete = true;\n\t\t\tthis.loading.all = true;\n\t\t\tlet userid = this.user.id;\n\t\t\treturn this.$store.dispatch('deleteUser', {userid})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t});\n\t\t},\n\n\t\tenableDisableUser() {\n\t\t\tthis.loading.delete = true;\n\t\t\tthis.loading.all = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet enabled = !this.user.enabled;\n\t\t\treturn this.$store.dispatch('enableDisableUser', {userid, enabled})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Set user displayName\n\t\t * \n\t\t * @param {string} displayName The display name\n\t\t * @returns {Promise}\n\t\t */\n\t\tupdateDisplayName() {\n\t\t\tlet displayName = this.$refs.displayName.value;\n\t\t\tthis.loading.displayName = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id, \n\t\t\t\tkey: 'displayname',\n\t\t\t\tvalue: displayName\n\t\t\t}).then(() => {\n\t\t\t\tthis.loading.displayName = false;\n\t\t\t\tthis.$refs.displayName.value = displayName;\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Set user password\n\t\t * \n\t\t * @param {string} password The email adress\n\t\t * @returns {Promise}\n\t\t */\n\t\tupdatePassword() {\n\t\t\tlet password = this.$refs.password.value;\n\t\t\tthis.loading.password = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'password',\n\t\t\t\tvalue: password\n\t\t\t}).then(() => {\n\t\t\t\tthis.loading.password = false;\n\t\t\t\tthis.$refs.password.value = ''; // empty & show placeholder \n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Set user mailAddress\n\t\t * \n\t\t * @param {string} mailAddress The email adress\n\t\t * @returns {Promise}\n\t\t */\n\t\tupdateEmail() {\n\t\t\tlet mailAddress = this.$refs.mailAddress.value;\n\t\t\tthis.loading.mailAddress = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'email',\n\t\t\t\tvalue: mailAddress\n\t\t\t}).then(() => {\n\t\t\t\tthis.loading.mailAddress = false;\n\t\t\t\tthis.$refs.mailAddress.value = mailAddress;\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Create a new group\n\t\t * \n\t\t * @param {string} groups Group id\n\t\t * @returns {Promise}\n\t\t */\n\t\tcreateGroup(gid) {\n\t\t\tthis.loading = {groups:true, subadmins:true}\n\t\t\tthis.$store.dispatch('addGroup', gid).then(() => {\n\t\t\t\tthis.loading = {groups:false, subadmins:false};\n\t\t\t\tlet userid = this.user.id;\n\t\t\t\tthis.$store.dispatch('addUserGroup', {userid, gid});\n\t\t\t});\n\t\t\treturn this.$store.getters.getGroups[this.groups.length];\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\taddUserGroup(group) {\n\t\t\tthis.loading.groups = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('addUserGroup', {userid, gid})\n\t\t\t\t.then(() => this.loading.groups = false);\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\tremoveUserGroup(group) {\n\t\t\tthis.loading.groups = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('removeUserGroup', {userid, gid})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading.groups = false\n\t\t\t\t\t// remove user from current list if current list is the removed group\n\t\t\t\t\tif (this.$route.params.selectedGroup === gid) {\n\t\t\t\t\t\tthis.$store.commit('deleteUser', userid);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\taddUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('addUserSubAdmin', {userid, gid})\n\t\t\t\t.then(() => this.loading.subadmins = false);\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\tremoveUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('removeUserSubAdmin', {userid, gid})\n\t\t\t\t.then(() => this.loading.subadmins = false);\n\t\t},\n\n\t\t/**\n\t\t * Dispatch quota set request\n\t\t * \n\t\t * @param {string|Object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @returns {string}\n\t\t */\n\t\tsetUserQuota(quota = 'none') {\n\t\t\tthis.loading.quota = true;\n\t\t\t// ensure we only send the preset id\n\t\t\tquota = quota.id ? quota.id : quota;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id, \n\t\t\t\tkey: 'quota',\n\t\t\t\tvalue: quota\n\t\t\t}).then(() => this.loading.quota = false);\n\t\t\treturn quota;\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t * \n\t\t * @param {string} quota Quota in readable format '5 GB'\n\t\t * @returns {Promise|boolean}\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tlet validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota === 0) {\n\t\t\t\treturn this.setUserQuota('none');\n\t\t\t} else if (validQuota !== null) {\n\t\t\t\t// unify format output\n\t\t\t\treturn this.setUserQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));\n\t\t\t}\n\t\t\t// if no valid do not change\n\t\t\treturn false;\n\t\t},\n\n\t\t/**\n\t\t * Dispatch language set request\n\t\t * \n\t\t * @param {Object} lang language object {code:'en', name:'English'}\n\t\t * @returns {Object}\n\t\t */\n\t\tsetUserLanguage(lang) {\n\t\t\tthis.loading.languages = true;\n\t\t\t// ensure we only send the preset id\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id, \n\t\t\t\tkey: 'language',\n\t\t\t\tvalue: lang.code\n\t\t\t}).then(() => this.loading.languages = false);\n\t\t\treturn lang;\n\t\t}\n\t}\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/userList/userRow.vue","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/bind.js\n// module id = 18\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (process.env.NODE_ENV !== 'test' &&\n typeof window !== 'undefined' &&\n window.XDomainRequest && !('withCredentials' in request) &&\n !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || (request.readyState !== 4 && !xDomain)) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/adapters/xhr.js\n// module id = 19\n// module chunks = 0","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/createError.js\n// module id = 20\n// module chunks = 0","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/cancel/isCancel.js\n// module id = 21\n// module chunks = 0","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/cancel/Cancel.js\n// module id = 22\n// module chunks = 0","import Vue from 'vue';\nimport { sync } from 'vuex-router-sync';\nimport App from './App.vue';\nimport router from './router';\nimport store from './store';\n\nsync(store, router);\n\n// bind to window\nVue.prototype.t = t;\nVue.prototype.OC = OC;\nVue.prototype.oc_userconfig = oc_userconfig;\n\nconst app = new Vue({\n\trouter,\n\tstore,\n\trender: h => h(App)\n}).$mount('#content');\n\nexport { app, router, store };\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/timers-browserify/main.js\n// module id = 24\n// module chunks = 0","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/setimmediate/setImmediate.js\n// module id = 25\n// module chunks = 0","exports.sync = function (store, router, options) {\n var moduleName = (options || {}).moduleName || 'route'\n\n store.registerModule(moduleName, {\n namespaced: true,\n state: cloneRoute(router.currentRoute),\n mutations: {\n 'ROUTE_CHANGED': function ROUTE_CHANGED (state, transition) {\n store.state[moduleName] = cloneRoute(transition.to, transition.from)\n }\n }\n })\n\n var isTimeTraveling = false\n var currentPath\n\n // sync router on store change\n var storeUnwatch = store.watch(\n function (state) { return state[moduleName]; },\n function (route) {\n var fullPath = route.fullPath;\n if (fullPath === currentPath) {\n return\n }\n if (currentPath != null) {\n isTimeTraveling = true\n router.push(route)\n }\n currentPath = fullPath\n },\n { sync: true }\n )\n\n // sync store on router navigation\n var afterEachUnHook = router.afterEach(function (to, from) {\n if (isTimeTraveling) {\n isTimeTraveling = false\n return\n }\n currentPath = to.fullPath\n store.commit(moduleName + '/ROUTE_CHANGED', { to: to, from: from })\n })\n\n return function unsync () {\n // On unsync, remove router hook\n if (afterEachUnHook != null) {\n afterEachUnHook()\n }\n\n // On unsync, remove store watch\n if (storeUnwatch != null) {\n storeUnwatch()\n }\n\n // On unsync, unregister Module with store\n store.unregisterModule(moduleName)\n }\n}\n\nfunction cloneRoute (to, from) {\n var clone = {\n name: to.name,\n path: to.path,\n hash: to.hash,\n query: to.query,\n params: to.params,\n fullPath: to.fullPath,\n meta: to.meta\n }\n if (from) {\n clone.from = cloneRoute(from)\n }\n return Object.freeze(clone)\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vuex-router-sync/index.js\n// module id = 26\n// module chunks = 0","var normalizeComponent = require(\"!../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport __vue_template__ from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-f72d2b7e\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = 27\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-f72d2b7e\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = 28\n// module chunks = 0","import Vue from 'vue';\nimport Router from 'vue-router';\nimport Users from './views/Users';\n\nVue.use(Router);\n\n/*\n * This is the list of routes where the vuejs app will\n * take over php to provide data\n * You need to forward the php routing (routes.php) to\n * /settings/main.php, where the vue-router will ensure\n * the proper route.\n * ⚠️ Routes needs to match the php routes.\n */\n\nexport default new Router({\n\tmode: 'history',\n\t// if index.php is in the url AND we got this far, then it's working:\n\t// let's keep using index.php in the url\n\tbase: OC.generateUrl(''),\n\troutes: [\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/users',\n\t\t\tcomponent: Users,\n\t\t\tprops: true,\n\t\t\tname: 'users',\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':selectedGroup',\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tcomponent: Users\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t]\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/router.js","/**\n * vue-router v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (process.env.NODE_ENV !== 'production' && !condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nvar View = {\n name: 'router-view',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n if (parent.$vnode && parent.$vnode.data.routerView) {\n depth++;\n }\n if (parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n return h(cache[name], data, children)\n }\n\n var matched = route.matched[depth];\n // render empty node if no matched route\n if (!matched) {\n cache[name] = null;\n return h()\n }\n\n var component = cache[name] = matched.components[name];\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // resolve props\n var propsToPass = data.props = resolveProps(route, matched.props && matched.props[name]);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n\n return h(component, data, children)\n }\n};\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\nfunction extend (to, from) {\n for (var key in from) {\n to[key] = from[key];\n }\n return to\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nvar decode = decodeURIComponent;\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n parsedQuery[key] = extraQuery[key];\n }\n return parsedQuery\n}\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0\n ? decode(parts.join('='))\n : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj ? Object.keys(obj).map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n }).filter(function (x) { return x.length > 0; }).join('&') : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery$$1 = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery$$1),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery$$1);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return (\n a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query)\n )\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params)\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key) {\n var aVal = a[key];\n var bVal = b[key];\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar Link = {\n name: 'router-link',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n exact: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(this.to, current, this.append);\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback = globalActiveClass == null\n ? 'router-link-active'\n : globalActiveClass;\n var exactActiveClassFallback = globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass = this.activeClass == null\n ? activeClassFallback\n : this.activeClass;\n var exactActiveClass = this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n var compareTarget = location.path\n ? createRoute(null, location, null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget);\n classes[activeClass] = this.exact\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1.replace) {\n router.replace(location);\n } else {\n router.push(location);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) { on[e] = handler; });\n } else {\n on[this.event] = handler;\n }\n\n var data = {\n class: classes\n };\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href };\n } else {\n // find the first <a> child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the <a> is a static node\n a.isStatic = false;\n var extend = _Vue.util.extend;\n var aData = a.data = extend({}, a.data);\n aData.on = on;\n var aAttrs = a.data.attrs = extend({}, a.data.attrs);\n aAttrs.href = href;\n } else {\n // doesn't have <a> child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('router-view', View);\n Vue.component('router-link', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/\\//g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n return filler(params || {}, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n }\n}\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(path || name)) + \" cannot be a \" +\n \"string id. Use an actual component instead.\"\n );\n }\n\n var pathToRegexpOptions = route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(\n path,\n parent,\n pathToRegexpOptions.strict\n );\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n instances: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props: route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (route.name && !route.redirect && route.children.some(function (child) { return /^\\/?$/.test(child.path); })) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias)\n ? route.alias\n : [route.alias];\n\n aliases.forEach(function (alias) {\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (path, pathToRegexpOptions) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(!keys[key.name], (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\"));\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (path, parent, strict) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next.name || next._normalized) {\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = assign({}, next);\n next._normalized = true;\n var params = assign(assign({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction assign (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n if (record) {\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n }\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n var val = typeof m[i] === 'string' ? decodeURIComponent(m[i]) : m[i];\n if (key) {\n params[key.name] = val;\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Fix for #1585 for Firefox\n window.history.replaceState({ key: getStateKey() }, '');\n window.addEventListener('popstate', function (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n });\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior(to, from, isPop ? position : null);\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll.then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n }).catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n var el = document.querySelector(shouldScroll.selector);\n if (el) {\n var offset = shouldScroll.offset && typeof shouldScroll.offset === 'object' ? shouldScroll.offset : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n window.scrollTo(position.x, position.y);\n }\n}\n\n/* */\n\nvar supportsPushState = inBrowser && (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && 'pushState' in window.history\n})();\n\n// use User Timing api (if present) for more accurate key precision\nvar Time = inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nvar _key = genKey();\n\nfunction genKey () {\n return Time.now().toFixed(3)\n}\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n _key = key;\n}\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n history.replaceState({ key: _key }, '', url);\n } else {\n _key = genKey();\n history.pushState({ key: _key }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (location, onComplete, onAbort) {\n var this$1 = this;\n\n var route = this.router.match(location, this.current);\n this.confirmTransition(route, function () {\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n\n // fire ready cbs once\n if (!this$1.ready) {\n this$1.ready = true;\n this$1.readyCbs.forEach(function (cb) { cb(route); });\n }\n }, function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1.ready) {\n this$1.ready = true;\n this$1.readyErrorCbs.forEach(function (cb) { cb(err); });\n }\n });\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1 = this;\n\n var current = this.current;\n var abort = function (err) {\n if (isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) { cb(err); });\n } else {\n warn(false, 'uncaught error during route navigation:');\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n route.matched.length === current.matched.length\n ) {\n this.ensureURL();\n return abort()\n }\n\n var ref = resolveQueue(this.current.matched, route.matched);\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n this.pending = route;\n var iterator = function (hook, next) {\n if (this$1.pending !== route) {\n return abort()\n }\n try {\n hook(route, current, function (to) {\n if (to === false || isError(to)) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' && (\n typeof to.path === 'string' ||\n typeof to.name === 'string'\n ))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort();\n if (typeof to === 'object' && to.replace) {\n this$1.replace(to);\n } else {\n this$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n var postEnterCbs = [];\n var isValid = function () { return this$1.current === route; };\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated, postEnterCbs, isValid);\n var queue = enterGuards.concat(this$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1.pending !== route) {\n return abort()\n }\n this$1.pending = null;\n onComplete(route);\n if (this$1.router.app) {\n this$1.router.app.$nextTick(function () {\n postEnterCbs.forEach(function (cb) { cb(); });\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n var prev = this.current;\n this.current = route;\n this.cb && this.cb(route);\n this.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect <base> tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated,\n cbs,\n isValid\n) {\n return extractGuards(activated, 'beforeRouteEnter', function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key, cbs, isValid)\n })\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key,\n cbs,\n isValid\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n next(cb);\n if (typeof cb === 'function') {\n cbs.push(function () {\n // #750\n // if a router-view is wrapped with an out-in transition,\n // the instance may not have been registered at this time.\n // we will need to poll for registration until current route\n // is no longer valid.\n poll(cb, match.instances, key, isValid);\n });\n }\n })\n }\n}\n\nfunction poll (\n cb, // somehow flow cannot infer this is a function\n instances,\n key,\n isValid\n) {\n if (instances[key]) {\n cb(instances[key]);\n } else if (isValid()) {\n setTimeout(function () {\n poll(cb, instances, key, isValid);\n }, 16);\n }\n}\n\n/* */\n\n\nvar HTML5History = (function (History$$1) {\n function HTML5History (router, base) {\n var this$1 = this;\n\n History$$1.call(this, router, base);\n\n var expectScroll = router.options.scrollBehavior;\n\n if (expectScroll) {\n setupScroll();\n }\n\n var initLocation = getLocation(this.base);\n window.addEventListener('popstate', function (e) {\n var current = this$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1.base);\n if (this$1.current === START && location === initLocation) {\n return\n }\n\n this$1.transitionTo(location, function (route) {\n if (expectScroll) {\n handleScroll(router, route, current, true);\n }\n });\n });\n }\n\n if ( History$$1 ) HTML5History.__proto__ = History$$1;\n HTML5History.prototype = Object.create( History$$1 && History$$1.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n if (base && path.indexOf(base) === 0) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\n\nvar HashHistory = (function (History$$1) {\n function HashHistory (router, base, fallback) {\n History$$1.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History$$1 ) HashHistory.__proto__ = History$$1;\n HashHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1 = this;\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n window.addEventListener(supportsPushState ? 'popstate' : 'hashchange', function () {\n var current = this$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(\n cleanPath(base + '/#' + location)\n );\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n return index === -1 ? '' : href.slice(index + 1)\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\n\nvar AbstractHistory = (function (History$$1) {\n function AbstractHistory (router, base) {\n History$$1.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History$$1 ) AbstractHistory.__proto__ = History$$1;\n AbstractHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n this$1.index++;\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(route, function () {\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n });\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (\n raw,\n current,\n redirectedFrom\n) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1 = this;\n\n process.env.NODE_ENV !== 'production' && assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // main app already initialized.\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History) {\n history.transitionTo(history.getCurrentLocation());\n } else if (history instanceof HashHistory) {\n var setupHashListener = function () {\n history.setupListeners();\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupHashListener,\n setupHashListener\n );\n }\n\n history.listen(function (route) {\n this$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n this.history.push(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n this.history.replace(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply([], route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n }))\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n var location = normalizeLocation(\n to,\n current || this.history.current,\n append,\n this\n );\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.0.1';\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nexport default VueRouter;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-router/dist/vue-router.esm.js\n// module id = 30\n// module chunks = 0","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Users.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Users.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2db113c0\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Users.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/Users.vue\n// module id = 31\n// module chunks = 0","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./appNavigation.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./appNavigation.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-85c34754\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./appNavigation.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/appNavigation.vue\n// module id = 32\n// module chunks = 0","var normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./navigationItem.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./navigationItem.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-429bfeff\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./navigationItem.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/appNavigation/navigationItem.vue\n// module id = 33\n// module chunks = 0","var normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./popoverItem.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./popoverItem.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-38c13d40\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./popoverItem.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/popoverMenu/popoverItem.vue\n// module id = 34\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[(_vm.item.href)?_c('a',{attrs:{\"href\":(_vm.item.href) ? _vm.item.href : '#'},on:{\"click\":_vm.item.action}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text)?_c('span',[_vm._v(_vm._s(_vm.item.text))]):(_vm.item.longtext)?_c('p',[_vm._v(_vm._s(_vm.item.longtext))]):_vm._e()]):(_vm.item.action)?_c('button',{on:{\"click\":_vm.item.action}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text)?_c('span',[_vm._v(_vm._s(_vm.item.text))]):(_vm.item.longtext)?_c('p',[_vm._v(_vm._s(_vm.item.longtext))]):_vm._e()]):_c('span',[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text)?_c('span',[_vm._v(_vm._s(_vm.item.text))]):(_vm.item.longtext)?_c('p',[_vm._v(_vm._s(_vm.item.longtext))]):_vm._e()])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-38c13d40\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/popoverMenu/popoverItem.vue\n// module id = 35\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',_vm._l((_vm.menu),function(item,key){return _c('popover-item',{key:key,attrs:{\"item\":item}})}))}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-24e4fcfe\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/popoverMenu.vue\n// module id = 36\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{class:[{'icon-loading-small': _vm.item.loading, 'open': _vm.item.opened, 'collapsible': _vm.item.collapsible&&_vm.item.children&&_vm.item.children.length>0 }, _vm.item.classes],attrs:{\"id\":_vm.item.id}},[(_vm.item.bullet)?_c('div',{staticClass:\"app-navigation-entry-bullet\",style:({ backgroundColor: _vm.item.bullet })}):_vm._e(),_vm._v(\" \"),(_vm.item.href)?_c('a',{class:_vm.item.icon,attrs:{\"href\":(_vm.item.href) ? _vm.item.href : '#'},on:{\"click\":_vm.toggleCollapse}},[(_vm.item.iconUrl)?_c('img',{attrs:{\"alt\":_vm.item.text,\"src\":_vm.item.iconUrl}}):_vm._e(),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\")]):(_vm.item.router)?_c('router-link',{class:_vm.item.icon,attrs:{\"to\":_vm.item.router}},[(_vm.item.iconUrl)?_c('img',{attrs:{\"alt\":_vm.item.text,\"src\":_vm.item.iconUrl}}):_vm._e(),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.item.utils)?_c('div',{staticClass:\"app-navigation-entry-utils\"},[_c('ul',[(Number.isInteger(_vm.item.utils.counter))?_c('li',{staticClass:\"app-navigation-entry-utils-counter\"},[_vm._v(_vm._s(_vm.item.utils.counter))]):_vm._e(),_vm._v(\" \"),(_vm.item.utils.actions && _vm.item.utils.actions.length === 1 && Number.isInteger(_vm.item.utils.counter))?_c('li',{staticClass:\"app-navigation-entry-utils-menu-button\"},[_c('button',{class:_vm.item.utils.actions[0].icon,attrs:{\"title\":_vm.item.utils.actions[0].text},on:{\"click\":_vm.item.utils.actions[0].action}})]):(_vm.item.utils.actions && _vm.item.utils.actions.length === 2 && !Number.isInteger(_vm.item.utils.counter))?_vm._l((_vm.item.utils.actions),function(action){return _c('li',{key:action.action,staticClass:\"app-navigation-entry-utils-menu-button\"},[_c('button',{class:action.icon,attrs:{\"title\":action.text},on:{\"click\":action.action}})])}):(_vm.item.utils.actions && _vm.item.utils.actions.length > 1 && (Number.isInteger(_vm.item.utils.counter) || _vm.item.utils.actions.length > 2))?_c('li',{staticClass:\"app-navigation-entry-utils-menu-button\"},[_c('button',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.hideMenu),expression:\"hideMenu\"}],on:{\"click\":_vm.showMenu}})]):_vm._e()],2)]):_vm._e(),_vm._v(\" \"),(_vm.item.utils && _vm.item.utils.actions && _vm.item.utils.actions.length > 1 && (Number.isInteger(_vm.item.utils.counter) || _vm.item.utils.actions.length > 2))?_c('div',{staticClass:\"app-navigation-entry-menu\",class:{ 'open': _vm.openedMenu }},[_c('popover-menu',{attrs:{\"menu\":_vm.item.utils.actions}})],1):_vm._e(),_vm._v(\" \"),(_vm.item.undo)?_c('div',{staticClass:\"app-navigation-entry-deleted\"},[_c('div',{staticClass:\"app-navigation-entry-deleted-description\"},[_vm._v(_vm._s(_vm.item.undo.text))]),_vm._v(\" \"),_c('button',{staticClass:\"app-navigation-entry-deleted-button icon-history\",attrs:{\"title\":_vm.t('settings', 'Undo')}})]):_vm._e(),_vm._v(\" \"),(_vm.item.edit)?_c('div',{staticClass:\"app-navigation-entry-edit\"},[_c('form',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.text),expression:\"item.text\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.item.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.item, \"text\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-close\",attrs:{\"type\":\"submit\",\"value\":\"\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.cancelEdit($event)}}})])]):_vm._e(),_vm._v(\" \"),(_vm.item.children)?_c('ul',_vm._l((_vm.item.children),function(item,key){return _c('navigation-item',{key:key,attrs:{\"item\":item}})})):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-429bfeff\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/appNavigation/navigationItem.vue\n// module id = 37\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{'icon-loading': _vm.menu.loading},attrs:{\"id\":\"app-navigation\"}},[(_vm.menu.new)?_c('div',{staticClass:\"app-navigation-new\"},[_c('button',{class:_vm.menu.new.icon,attrs:{\"type\":\"button\",\"id\":_vm.menu.new.id},on:{\"click\":_vm.menu.new.action}},[_vm._v(_vm._s(_vm.menu.new.text))])]):_vm._e(),_vm._v(\" \"),_c('ul',{attrs:{\"id\":_vm.menu.id}},_vm._l((_vm.menu.items),function(item,key){return _c('navigation-item',{key:key,attrs:{\"item\":item}})})),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"app-settings\"}},[_c('div',{attrs:{\"id\":\"app-settings-header\"}},[_c('button',{staticClass:\"settings-button\",attrs:{\"data-apps-slide-toggle\":\"#app-settings-content\"}},[_vm._v(_vm._s(_vm.t('settings', 'Settings')))])]),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"app-settings-content\"}},[_vm._t(\"settings-content\")],2)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-85c34754\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/appNavigation.vue\n// module id = 38\n// module chunks = 0","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./userList.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./userList.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-9ccce41c\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./userList.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/userList.vue\n// module id = 39\n// module chunks = 0","var normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./userRow.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./userRow.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5fc6ce7e\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./userRow.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/userList/userRow.vue\n// module id = 40\n// module chunks = 0","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.12.9\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n // NOTE: 1 DOM access here\n var offsetParent = element && element.offsetParent;\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n if (element) {\n return element.ownerDocument.documentElement;\n }\n\n return document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\n/**\n * Tells if you are running Internet Explorer 10\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean} isIE10\n */\nvar isIE10 = undefined;\n\nvar isIE10$1 = function () {\n if (isIE10 === undefined) {\n isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;\n }\n return isIE10;\n};\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE10$1() && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n if (isIE10$1()) {\n try {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } catch (err) {}\n } else {\n rect = element.getBoundingClientRect();\n }\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var isIE10 = isIE10$1();\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = getScroll(html);\n var scrollLeft = getScroll(html, 'left');\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n // NOTE: 1 DOM access here\n var boundaries = { top: 0, left: 0 };\n var offsetParent = findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var commonOffsetParent = findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n data.offsets.popper.position = 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length - 1; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.left = '';\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // floor sides to avoid blurry text\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.floor(popper.top),\n bottom: Math.floor(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overriden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nfunction convertToArray(value) {\n\tif (typeof value === 'string') {\n\t\tvalue = value.split(' ');\n\t}\n\treturn value;\n}\n\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\nfunction addClasses(el, classes) {\n\tvar newClasses = convertToArray(classes);\n\tvar classList = void 0;\n\tif (el.className instanceof SVGAnimatedString) {\n\t\tclassList = Array.from(el.className);\n\t} else {\n\t\tclassList = convertToArray(el.className);\n\t}\n\tnewClasses.forEach(function (newClass) {\n\t\tif (classList.indexOf(newClass) === -1) {\n\t\t\tclassList.push(newClass);\n\t\t}\n\t});\n\tif (el instanceof SVGElement) {\n\t\tel.setAttribute('class', classList.join(' '));\n\t} else {\n\t\tel.className = classList.join(' ');\n\t}\n}\n\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\nfunction removeClasses(el, classes) {\n\tvar newClasses = convertToArray(classes);\n\tvar classList = void 0;\n\tif (el.className instanceof SVGAnimatedString) {\n\t\tclassList = Array.from(el.className);\n\t} else {\n\t\tclassList = convertToArray(el.className);\n\t}\n\tnewClasses.forEach(function (newClass) {\n\t\tvar index = classList.indexOf(newClass);\n\t\tif (index !== -1) {\n\t\t\tclassList.splice(index, 1);\n\t\t}\n\t});\n\tif (el instanceof SVGElement) {\n\t\tel.setAttribute('class', classList.join(' '));\n\t} else {\n\t\tel.className = classList.join(' ');\n\t}\n}\n\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n\tsupportsPassive = false;\n\ttry {\n\t\tvar opts = Object.defineProperty({}, 'passive', {\n\t\t\tget: function get() {\n\t\t\t\tsupportsPassive = true;\n\t\t\t}\n\t\t});\n\t\twindow.addEventListener('test', null, opts);\n\t} catch (e) {}\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar classCallCheck$1 = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass$1 = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends$1 = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/* Forked from https://github.com/FezVrasta/popper.js/blob/master/packages/tooltip/src/index.js */\n\nvar DEFAULT_OPTIONS = {\n\tcontainer: false,\n\tdelay: 0,\n\thtml: false,\n\tplacement: 'top',\n\ttitle: '',\n\ttemplate: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n\ttrigger: 'hover focus',\n\toffset: 0\n};\n\nvar openTooltips = [];\n\nvar Tooltip = function () {\n\t/**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n *\t\t\tPlacement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n *\t\t\tleft(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n *\t\t\tDelay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n *\t\t\tIf a number is supplied, delay is applied to both hide/show.\n *\t\t\tObject structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>']\n *\t\t\tBase HTML to used when creating the tooltip.\n *\t\t\tThe tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n *\t\t\t`.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n *\t\t\tThe outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n *\t\t\tHow tooltip is triggered - click, hover, focus, manual.\n *\t\t\tYou may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n *\t\t\tThe element used as boundaries for the tooltip. For more information refer to Popper.js'\n *\t\t\t[boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n *\t\t\t[offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n *\t\t\t[options docs](https://popper.js.org/popper-documentation.html)\n * @return {Object} instance - The generated tooltip instance\n */\n\tfunction Tooltip(reference, options) {\n\t\tclassCallCheck$1(this, Tooltip);\n\n\t\t_initialiseProps.call(this);\n\n\t\t// apply user options over default ones\n\t\toptions = _extends$1({}, DEFAULT_OPTIONS, options);\n\n\t\treference.jquery && (reference = reference[0]);\n\n\t\t// cache reference and options\n\t\tthis.reference = reference;\n\t\tthis.options = options;\n\n\t\t// set initial state\n\t\tthis._isOpen = false;\n\n\t\tthis._init();\n\t}\n\n\t//\n\t// Public methods\n\t//\n\n\t/**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n\t/**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n\n\t/**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n\n\t/**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n\n\tcreateClass$1(Tooltip, [{\n\t\tkey: 'setClasses',\n\t\tvalue: function setClasses(classes) {\n\t\t\tthis._classes = classes;\n\t\t}\n\t}, {\n\t\tkey: 'setContent',\n\t\tvalue: function setContent(content) {\n\t\t\tthis.options.title = content;\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._setContent(content, this.options);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'setOptions',\n\t\tvalue: function setOptions(options) {\n\t\t\tvar classesUpdated = false;\n\t\t\tvar classes = options && options.classes || directive.options.defaultClass;\n\t\t\tif (this._classes !== classes) {\n\t\t\t\tthis.setClasses(classes);\n\t\t\t\tclassesUpdated = true;\n\t\t\t}\n\n\t\t\toptions = getOptions(options);\n\n\t\t\tvar needPopperUpdate = false;\n\t\t\tvar needRestart = false;\n\n\t\t\tif (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n\t\t\t\tneedPopperUpdate = true;\n\t\t\t}\n\n\t\t\tif (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n\t\t\t\tneedRestart = true;\n\t\t\t}\n\n\t\t\tfor (var key in options) {\n\t\t\t\tthis.options[key] = options[key];\n\t\t\t}\n\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tif (needRestart) {\n\t\t\t\t\tvar isOpen = this._isOpen;\n\n\t\t\t\t\tthis.dispose();\n\t\t\t\t\tthis._init();\n\n\t\t\t\t\tif (isOpen) {\n\t\t\t\t\t\tthis.show();\n\t\t\t\t\t}\n\t\t\t\t} else if (needPopperUpdate) {\n\t\t\t\t\tthis.popperInstance.update();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\t// Private methods\n\t\t//\n\n\t}, {\n\t\tkey: '_init',\n\t\tvalue: function _init() {\n\t\t\t// get events list\n\t\t\tvar events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ').filter(function (trigger) {\n\t\t\t\treturn ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n\t\t\t}) : [];\n\t\t\tthis._isDisposed = false;\n\t\t\tthis._enableDocumentTouch = events.indexOf('manual') === -1;\n\n\t\t\t// set event listeners\n\t\t\tthis._setEventListeners(this.reference, events, this.options);\n\t\t}\n\n\t\t/**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n\t}, {\n\t\tkey: '_create',\n\t\tvalue: function _create(reference, template) {\n\t\t\t// create tooltip element\n\t\t\tvar tooltipGenerator = window.document.createElement('div');\n\t\t\ttooltipGenerator.innerHTML = template.trim();\n\t\t\tvar tooltipNode = tooltipGenerator.childNodes[0];\n\n\t\t\t// add unique ID to our tooltip (needed for accessibility reasons)\n\t\t\ttooltipNode.id = 'tooltip_' + Math.random().toString(36).substr(2, 10);\n\n\t\t\t// Initially hide the tooltip\n\t\t\t// The attribute will be switched in a next frame so\n\t\t\t// CSS transitions can play\n\t\t\ttooltipNode.setAttribute('aria-hidden', 'true');\n\n\t\t\tif (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n\t\t\t\ttooltipNode.addEventListener('mouseenter', this.hide);\n\t\t\t\ttooltipNode.addEventListener('click', this.hide);\n\t\t\t}\n\n\t\t\t// return the generated tooltip node\n\t\t\treturn tooltipNode;\n\t\t}\n\t}, {\n\t\tkey: '_setContent',\n\t\tvalue: function _setContent(content, options) {\n\t\t\tvar _this = this;\n\n\t\t\tthis.asyncContent = false;\n\t\t\tthis._applyContent(content, options).then(function () {\n\t\t\t\t_this.popperInstance.update();\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_applyContent',\n\t\tvalue: function _applyContent(title, options) {\n\t\t\tvar _this2 = this;\n\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tvar allowHtml = options.html;\n\t\t\t\tvar rootNode = _this2._tooltipNode;\n\t\t\t\tvar titleNode = rootNode.querySelector(_this2.options.innerSelector);\n\t\t\t\tif (title.nodeType === 1) {\n\t\t\t\t\t// if title is a node, append it only if allowHtml is true\n\t\t\t\t\tif (allowHtml) {\n\t\t\t\t\t\twhile (titleNode.firstChild) {\n\t\t\t\t\t\t\ttitleNode.removeChild(titleNode.firstChild);\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitleNode.appendChild(title);\n\t\t\t\t\t}\n\t\t\t\t} else if (typeof title === 'function') {\n\t\t\t\t\t// if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n\t\t\t\t\tvar result = title();\n\t\t\t\t\tif (result && typeof result.then === 'function') {\n\t\t\t\t\t\t_this2.asyncContent = true;\n\t\t\t\t\t\toptions.loadingClass && addClasses(rootNode, options.loadingClass);\n\t\t\t\t\t\tif (options.loadingContent) {\n\t\t\t\t\t\t\t_this2._applyContent(options.loadingContent, options);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresult.then(function (asyncResult) {\n\t\t\t\t\t\t\toptions.loadingClass && removeClasses(rootNode, options.loadingClass);\n\t\t\t\t\t\t\treturn _this2._applyContent(asyncResult, options);\n\t\t\t\t\t\t}).then(resolve).catch(reject);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_this2._applyContent(result, options).then(resolve).catch(reject);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\t// if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n\t\t\t\t\tallowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n\t\t\t\t}\n\t\t\t\tresolve();\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_show',\n\t\tvalue: function _show(reference, options) {\n\t\t\tif (options && typeof options.container === 'string') {\n\t\t\t\tvar container = document.querySelector(options.container);\n\t\t\t\tif (!container) return;\n\t\t\t}\n\n\t\t\tclearTimeout(this._disposeTimer);\n\n\t\t\toptions = Object.assign({}, options);\n\t\t\tdelete options.offset;\n\n\t\t\tvar updateClasses = true;\n\t\t\tif (this._tooltipNode) {\n\t\t\t\taddClasses(this._tooltipNode, this._classes);\n\t\t\t\tupdateClasses = false;\n\t\t\t}\n\n\t\t\tvar result = this._ensureShown(reference, options);\n\n\t\t\tif (updateClasses && this._tooltipNode) {\n\t\t\t\taddClasses(this._tooltipNode, this._classes);\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\t}, {\n\t\tkey: '_ensureShown',\n\t\tvalue: function _ensureShown(reference, options) {\n\t\t\tvar _this3 = this;\n\n\t\t\t// don't show if it's already visible\n\t\t\tif (this._isOpen) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tthis._isOpen = true;\n\n\t\t\topenTooltips.push(this);\n\n\t\t\t// if the tooltipNode already exists, just show it\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._tooltipNode.style.display = '';\n\t\t\t\tthis._tooltipNode.setAttribute('aria-hidden', 'false');\n\t\t\t\tthis.popperInstance.enableEventListeners();\n\t\t\t\tthis.popperInstance.update();\n\t\t\t\tif (this.asyncContent) {\n\t\t\t\t\tthis._setContent(options.title, options);\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// get title\n\t\t\tvar title = reference.getAttribute('title') || options.title;\n\n\t\t\t// don't show tooltip if no title is defined\n\t\t\tif (!title) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// create tooltip node\n\t\t\tvar tooltipNode = this._create(reference, options.template);\n\t\t\tthis._tooltipNode = tooltipNode;\n\n\t\t\tthis._setContent(title, options);\n\n\t\t\t// Add `aria-describedby` to our reference element for accessibility reasons\n\t\t\treference.setAttribute('aria-describedby', tooltipNode.id);\n\n\t\t\t// append tooltip to container\n\t\t\tvar container = this._findContainer(options.container, reference);\n\n\t\t\tthis._append(tooltipNode, container);\n\n\t\t\tvar popperOptions = _extends$1({}, options.popperOptions, {\n\t\t\t\tplacement: options.placement\n\t\t\t});\n\n\t\t\tpopperOptions.modifiers = _extends$1({}, popperOptions.modifiers, {\n\t\t\t\tarrow: {\n\t\t\t\t\telement: this.options.arrowSelector\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (options.boundariesElement) {\n\t\t\t\tpopperOptions.modifiers.preventOverflow = {\n\t\t\t\t\tboundariesElement: options.boundariesElement\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.popperInstance = new Popper(reference, tooltipNode, popperOptions);\n\n\t\t\t// Fix position\n\t\t\trequestAnimationFrame(function () {\n\t\t\t\tif (!_this3._isDisposed && _this3.popperInstance) {\n\t\t\t\t\t_this3.popperInstance.update();\n\n\t\t\t\t\t// Show the tooltip\n\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\tif (!_this3._isDisposed) {\n\t\t\t\t\t\t\t_this3._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t_this3.dispose();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_noLongerOpen',\n\t\tvalue: function _noLongerOpen() {\n\t\t\tvar index = openTooltips.indexOf(this);\n\t\t\tif (index !== -1) {\n\t\t\t\topenTooltips.splice(index, 1);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: '_hide',\n\t\tvalue: function _hide() /* reference, options */{\n\t\t\tvar _this4 = this;\n\n\t\t\t// don't hide if it's already hidden\n\t\t\tif (!this._isOpen) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\tthis._isOpen = false;\n\t\t\tthis._noLongerOpen();\n\n\t\t\t// hide tooltipNode\n\t\t\tthis._tooltipNode.style.display = 'none';\n\t\t\tthis._tooltipNode.setAttribute('aria-hidden', 'true');\n\n\t\t\tthis.popperInstance.disableEventListeners();\n\n\t\t\tclearTimeout(this._disposeTimer);\n\t\t\tvar disposeTime = directive.options.disposeTimeout;\n\t\t\tif (disposeTime !== null) {\n\t\t\t\tthis._disposeTimer = setTimeout(function () {\n\t\t\t\t\tif (_this4._tooltipNode) {\n\t\t\t\t\t\t_this4._tooltipNode.removeEventListener('mouseenter', _this4.hide);\n\t\t\t\t\t\t_this4._tooltipNode.removeEventListener('click', _this4.hide);\n\t\t\t\t\t\t// Don't remove popper instance, just the HTML element\n\t\t\t\t\t\t_this4._tooltipNode.parentNode.removeChild(_this4._tooltipNode);\n\t\t\t\t\t\t_this4._tooltipNode = null;\n\t\t\t\t\t}\n\t\t\t\t}, disposeTime);\n\t\t\t}\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_dispose',\n\t\tvalue: function _dispose() {\n\t\t\tvar _this5 = this;\n\n\t\t\tthis._isDisposed = true;\n\n\t\t\t// remove event listeners first to prevent any unexpected behaviour\n\t\t\tthis._events.forEach(function (_ref) {\n\t\t\t\tvar func = _ref.func,\n\t\t\t\t event = _ref.event;\n\n\t\t\t\t_this5.reference.removeEventListener(event, func);\n\t\t\t});\n\t\t\tthis._events = [];\n\n\t\t\tif (this._tooltipNode) {\n\t\t\t\tthis._hide();\n\n\t\t\t\tthis._tooltipNode.removeEventListener('mouseenter', this.hide);\n\t\t\t\tthis._tooltipNode.removeEventListener('click', this.hide);\n\n\t\t\t\t// destroy instance\n\t\t\t\tthis.popperInstance.destroy();\n\n\t\t\t\t// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\t\t\t\tif (!this.popperInstance.options.removeOnDestroy) {\n\t\t\t\t\tthis._tooltipNode.parentNode.removeChild(this._tooltipNode);\n\t\t\t\t\tthis._tooltipNode = null;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._noLongerOpen();\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: '_findContainer',\n\t\tvalue: function _findContainer(container, reference) {\n\t\t\t// if container is a query, get the relative element\n\t\t\tif (typeof container === 'string') {\n\t\t\t\tcontainer = window.document.querySelector(container);\n\t\t\t} else if (container === false) {\n\t\t\t\t// if container is `false`, set it to reference parent\n\t\t\t\tcontainer = reference.parentNode;\n\t\t\t}\n\t\t\treturn container;\n\t\t}\n\n\t\t/**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n\t}, {\n\t\tkey: '_append',\n\t\tvalue: function _append(tooltipNode, container) {\n\t\t\tcontainer.appendChild(tooltipNode);\n\t\t}\n\t}, {\n\t\tkey: '_setEventListeners',\n\t\tvalue: function _setEventListeners(reference, events, options) {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar directEvents = [];\n\t\t\tvar oppositeEvents = [];\n\n\t\t\tevents.forEach(function (event) {\n\t\t\t\tswitch (event) {\n\t\t\t\t\tcase 'hover':\n\t\t\t\t\t\tdirectEvents.push('mouseenter');\n\t\t\t\t\t\toppositeEvents.push('mouseleave');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'focus':\n\t\t\t\t\t\tdirectEvents.push('focus');\n\t\t\t\t\t\toppositeEvents.push('blur');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'click':\n\t\t\t\t\t\tdirectEvents.push('click');\n\t\t\t\t\t\toppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// schedule show tooltip\n\t\t\tdirectEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(evt) {\n\t\t\t\t\tif (_this6._isOpen === true) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tevt.usedByTooltip = true;\n\t\t\t\t\t_this6._scheduleShow(reference, options.delay, options, evt);\n\t\t\t\t};\n\t\t\t\t_this6._events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\n\t\t\t// schedule hide tooltip\n\t\t\toppositeEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(evt) {\n\t\t\t\t\tif (evt.usedByTooltip === true) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t_this6._scheduleHide(reference, options.delay, options, evt);\n\t\t\t\t};\n\t\t\t\t_this6._events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: '_onDocumentTouch',\n\t\tvalue: function _onDocumentTouch(event) {\n\t\t\tif (this._enableDocumentTouch) {\n\t\t\t\tthis._scheduleHide(this.reference, this.options.delay, this.options, event);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: '_scheduleShow',\n\t\tvalue: function _scheduleShow(reference, delay, options /*, evt */) {\n\t\t\tvar _this7 = this;\n\n\t\t\t// defaults to 0\n\t\t\tvar computedDelay = delay && delay.show || delay || 0;\n\t\t\tclearTimeout(this._scheduleTimer);\n\t\t\tthis._scheduleTimer = window.setTimeout(function () {\n\t\t\t\treturn _this7._show(reference, options);\n\t\t\t}, computedDelay);\n\t\t}\n\t}, {\n\t\tkey: '_scheduleHide',\n\t\tvalue: function _scheduleHide(reference, delay, options, evt) {\n\t\t\tvar _this8 = this;\n\n\t\t\t// defaults to 0\n\t\t\tvar computedDelay = delay && delay.hide || delay || 0;\n\t\t\tclearTimeout(this._scheduleTimer);\n\t\t\tthis._scheduleTimer = window.setTimeout(function () {\n\t\t\t\tif (_this8._isOpen === false) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!document.body.contains(_this8._tooltipNode)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// if we are hiding because of a mouseleave, we must check that the new\n\t\t\t\t// reference isn't the tooltip, because in this case we don't want to hide it\n\t\t\t\tif (evt.type === 'mouseleave') {\n\t\t\t\t\tvar isSet = _this8._setTooltipNodeEvent(evt, reference, delay, options);\n\n\t\t\t\t\t// if we set the new event, don't hide the tooltip yet\n\t\t\t\t\t// the new event will take care to hide it if necessary\n\t\t\t\t\tif (isSet) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t_this8._hide(reference, options);\n\t\t\t}, computedDelay);\n\t\t}\n\t}]);\n\treturn Tooltip;\n}();\n\n// Hide tooltips on touch devices\n\n\nvar _initialiseProps = function _initialiseProps() {\n\tvar _this9 = this;\n\n\tthis.show = function () {\n\t\t_this9._show(_this9.reference, _this9.options);\n\t};\n\n\tthis.hide = function () {\n\t\t_this9._hide();\n\t};\n\n\tthis.dispose = function () {\n\t\t_this9._dispose();\n\t};\n\n\tthis.toggle = function () {\n\t\tif (_this9._isOpen) {\n\t\t\treturn _this9.hide();\n\t\t} else {\n\t\t\treturn _this9.show();\n\t\t}\n\t};\n\n\tthis._events = [];\n\n\tthis._setTooltipNodeEvent = function (evt, reference, delay, options) {\n\t\tvar relatedreference = evt.relatedreference || evt.toElement;\n\n\t\tvar callback = function callback(evt2) {\n\t\t\tvar relatedreference2 = evt2.relatedreference || evt2.toElement;\n\n\t\t\t// Remove event listener after call\n\t\t\t_this9._tooltipNode.removeEventListener(evt.type, callback);\n\n\t\t\t// If the new reference is not the reference element\n\t\t\tif (!reference.contains(relatedreference2)) {\n\t\t\t\t// Schedule to hide tooltip\n\t\t\t\t_this9._scheduleHide(reference, options.delay, options, evt2);\n\t\t\t}\n\t\t};\n\n\t\tif (_this9._tooltipNode.contains(relatedreference)) {\n\t\t\t// listen to mouseleave on the tooltip element to be able to hide the tooltip\n\t\t\t_this9._tooltipNode.addEventListener(evt.type, callback);\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t};\n};\n\nif (typeof document !== 'undefined') {\n\tdocument.addEventListener('touchstart', function (event) {\n\t\tfor (var i = 0; i < openTooltips.length; i++) {\n\t\t\topenTooltips[i]._onDocumentTouch(event);\n\t\t}\n\t}, supportsPassive ? {\n\t\tpassive: true\n\t} : false);\n}\n\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nvar state = {\n\tenabled: true\n};\n\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\n\nvar defaultOptions = {\n\t// Default tooltip placement relative to target element\n\tdefaultPlacement: 'top',\n\t// Default CSS classes applied to the tooltip element\n\tdefaultClass: 'vue-tooltip-theme',\n\t// Default CSS classes applied to the target element of the tooltip\n\tdefaultTargetClass: 'has-tooltip',\n\t// Default HTML template of the tooltip element\n\t// It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n\t// Change if the classes conflict with other libraries (for example bootstrap)\n\tdefaultTemplate: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n\t// Selector used to get the arrow element in the tooltip template\n\tdefaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n\t// Selector used to get the inner content element in the tooltip template\n\tdefaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n\t// Delay (ms)\n\tdefaultDelay: 0,\n\t// Default events that trigger the tooltip\n\tdefaultTrigger: 'hover focus',\n\t// Default position offset (px)\n\tdefaultOffset: 0,\n\t// Default container where the tooltip will be appended\n\tdefaultContainer: 'body',\n\tdefaultBoundariesElement: undefined,\n\tdefaultPopperOptions: {},\n\t// Class added when content is loading\n\tdefaultLoadingClass: 'tooltip-loading',\n\t// Displayed when tooltip content is loading\n\tdefaultLoadingContent: '...',\n\t// Hide on mouseover tooltip\n\tautoHide: true,\n\t// Auto destroy tooltip DOM nodes (ms)\n\tdisposeTimeout: 5000,\n\t// Options for popover\n\tpopover: {\n\t\tdefaultPlacement: 'bottom',\n\t\t// Use the `popoverClass` prop for theming\n\t\tdefaultClass: 'vue-popover-theme',\n\t\t// Base class (change if conflicts with other libraries)\n\t\tdefaultBaseClass: 'tooltip popover',\n\t\t// Wrapper class (contains arrow and inner)\n\t\tdefaultWrapperClass: 'wrapper',\n\t\t// Inner content class\n\t\tdefaultInnerClass: 'tooltip-inner popover-inner',\n\t\t// Arrow class\n\t\tdefaultArrowClass: 'tooltip-arrow popover-arrow',\n\t\tdefaultDelay: 0,\n\t\tdefaultTrigger: 'click',\n\t\tdefaultOffset: 0,\n\t\tdefaultContainer: 'body',\n\t\tdefaultBoundariesElement: undefined,\n\t\tdefaultPopperOptions: {},\n\t\t// Hides if clicked outside of popover\n\t\tdefaultAutoHide: true,\n\t\t// Update popper on content resize\n\t\tdefaultHandleResize: true\n\t}\n};\n\nfunction getOptions(options) {\n\tvar result = {\n\t\tplacement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n\t\tdelay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n\t\ttemplate: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n\t\tarrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n\t\tinnerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n\t\ttrigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n\t\toffset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n\t\tcontainer: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n\t\tboundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n\t\tautoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n\t\tloadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n\t\tloadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n\t\tpopperOptions: _extends$1({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n\t};\n\n\tif (result.offset) {\n\t\tvar typeofOffset = _typeof(result.offset);\n\t\tvar offset = result.offset;\n\n\t\t// One value -> switch\n\t\tif (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n\t\t\toffset = '0, ' + offset;\n\t\t}\n\n\t\tif (!result.popperOptions.modifiers) {\n\t\t\tresult.popperOptions.modifiers = {};\n\t\t}\n\t\tresult.popperOptions.modifiers.offset = {\n\t\t\toffset: offset\n\t\t};\n\t}\n\n\treturn result;\n}\n\nfunction getPlacement(value, modifiers) {\n\tvar placement = value.placement;\n\tfor (var i = 0; i < positions.length; i++) {\n\t\tvar pos = positions[i];\n\t\tif (modifiers[pos]) {\n\t\t\tplacement = pos;\n\t\t}\n\t}\n\treturn placement;\n}\n\nfunction getContent(value) {\n\tvar type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\tif (type === 'string') {\n\t\treturn value;\n\t} else if (value && type === 'object') {\n\t\treturn value.content;\n\t} else {\n\t\treturn false;\n\t}\n}\n\nfunction createTooltip(el, value) {\n\tvar modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n\tvar content = getContent(value);\n\tvar classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\tvar opts = _extends$1({\n\t\ttitle: content,\n\t\thtml: true\n\t}, getOptions(_extends$1({}, value, {\n\t\tplacement: getPlacement(value, modifiers)\n\t})));\n\tvar tooltip = el._tooltip = new Tooltip(el, opts);\n\ttooltip.setClasses(classes);\n\ttooltip._vueEl = el;\n\n\t// Class on target\n\tvar targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n\tel._tooltipTargetClasses = targetClasses;\n\taddClasses(el, targetClasses);\n\n\treturn tooltip;\n}\n\nfunction destroyTooltip(el) {\n\tif (el._tooltip) {\n\t\tel._tooltip.dispose();\n\t\tdelete el._tooltip;\n\t\tdelete el._tooltipOldShow;\n\t}\n\n\tif (el._tooltipTargetClasses) {\n\t\tremoveClasses(el, el._tooltipTargetClasses);\n\t\tdelete el._tooltipTargetClasses;\n\t}\n}\n\nfunction bind(el, _ref) {\n\tvar value = _ref.value,\n\t oldValue = _ref.oldValue,\n\t modifiers = _ref.modifiers;\n\n\tvar content = getContent(value);\n\tif (!content || !state.enabled) {\n\t\tdestroyTooltip(el);\n\t} else {\n\t\tvar tooltip = void 0;\n\t\tif (el._tooltip) {\n\t\t\ttooltip = el._tooltip;\n\t\t\t// Content\n\t\t\ttooltip.setContent(content);\n\t\t\t// Options\n\t\t\ttooltip.setOptions(_extends$1({}, value, {\n\t\t\t\tplacement: getPlacement(value, modifiers)\n\t\t\t}));\n\t\t} else {\n\t\t\ttooltip = createTooltip(el, value, modifiers);\n\t\t}\n\n\t\t// Manual show\n\t\tif (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n\t\t\tel._tooltipOldShow = value.show;\n\t\t\tvalue.show ? tooltip.show() : tooltip.hide();\n\t\t}\n\t}\n}\n\nvar directive = {\n\toptions: defaultOptions,\n\tbind: bind,\n\tupdate: bind,\n\tunbind: function unbind(el) {\n\t\tdestroyTooltip(el);\n\t}\n};\n\nfunction addListeners(el) {\n\tel.addEventListener('click', onClick);\n\tel.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n\t\tpassive: true\n\t} : false);\n}\n\nfunction removeListeners(el) {\n\tel.removeEventListener('click', onClick);\n\tel.removeEventListener('touchstart', onTouchStart);\n\tel.removeEventListener('touchend', onTouchEnd);\n\tel.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n\tvar el = event.currentTarget;\n\tevent.closePopover = !el.$_vclosepopover_touch;\n\tevent.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n\tif (event.changedTouches.length === 1) {\n\t\tvar el = event.currentTarget;\n\t\tel.$_vclosepopover_touch = true;\n\t\tvar touch = event.changedTouches[0];\n\t\tel.$_vclosepopover_touchPoint = touch;\n\t\tel.addEventListener('touchend', onTouchEnd);\n\t\tel.addEventListener('touchcancel', onTouchCancel);\n\t}\n}\n\nfunction onTouchEnd(event) {\n\tvar el = event.currentTarget;\n\tel.$_vclosepopover_touch = false;\n\tif (event.changedTouches.length === 1) {\n\t\tvar touch = event.changedTouches[0];\n\t\tvar firstTouch = el.$_vclosepopover_touchPoint;\n\t\tevent.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n\t\tevent.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n\t}\n}\n\nfunction onTouchCancel(event) {\n\tvar el = event.currentTarget;\n\tel.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n\tbind: function bind(el, _ref) {\n\t\tvar value = _ref.value,\n\t\t modifiers = _ref.modifiers;\n\n\t\tel.$_closePopoverModifiers = modifiers;\n\t\tif (typeof value === 'undefined' || value) {\n\t\t\taddListeners(el);\n\t\t}\n\t},\n\tupdate: function update(el, _ref2) {\n\t\tvar value = _ref2.value,\n\t\t oldValue = _ref2.oldValue,\n\t\t modifiers = _ref2.modifiers;\n\n\t\tel.$_closePopoverModifiers = modifiers;\n\t\tif (value !== oldValue) {\n\t\t\tif (typeof value === 'undefined' || value) {\n\t\t\t\taddListeners(el);\n\t\t\t} else {\n\t\t\t\tremoveListeners(el);\n\t\t\t}\n\t\t}\n\t},\n\tunbind: function unbind(el) {\n\t\tremoveListeners(el);\n\t}\n};\n\nfunction getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tnotify: function notify() {\n\t\t\tthis.$emit('notify');\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.notify);\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis.notify();\n\t\t\t}\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.notify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;');\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install$1(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\t/* -- Add more components here -- */\n}\n\n/* -- Plugin definition & Auto-install -- */\n/* You shouldn't have to modify the code below */\n\n// Plugin\nvar plugin$2 = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.3\",\n\tinstall: install$1\n};\n\n// Auto-install\nvar GlobalVue$1 = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue$1 = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue$1 = global.Vue;\n}\nif (GlobalVue$1) {\n\tGlobalVue$1.use(plugin$2);\n}\n\nfunction getDefault(key) {\n\tvar value = directive.options.popover[key];\n\tif (typeof value === 'undefined') {\n\t\treturn directive.options[key];\n\t}\n\treturn value;\n}\n\nvar isIOS = false;\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n\tisIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Popover = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"v-popover\", class: _vm.cssClass }, [_c('span', { ref: \"trigger\", staticClass: \"trigger\", staticStyle: { \"display\": \"inline-block\" }, attrs: { \"aria-describedby\": _vm.popoverId } }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', { ref: \"popover\", class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass], style: {\n\t\t\t\tdisplay: _vm.isOpen ? '' : 'none'\n\t\t\t}, attrs: { \"id\": _vm.popoverId, \"aria-hidden\": _vm.isOpen ? 'false' : 'true' } }, [_c('div', { class: _vm.popoverWrapperClass }, [_c('div', { ref: \"arrow\", class: _vm.popoverArrowClass }), _vm._v(\" \"), _c('div', { ref: \"inner\", class: _vm.popoverInnerClass, staticStyle: { \"position\": \"relative\" } }, [_c('div', [_vm._t(\"popover\")], 2), _vm._v(\" \"), _vm.handleResize ? _c('ResizeObserver', { on: { \"notify\": _vm.$_handleResize } }) : _vm._e()], 1)])])]);\n\t}, staticRenderFns: [],\n\tname: 'VPopover',\n\n\tcomponents: {\n\t\tResizeObserver: ResizeObserver\n\t},\n\n\tprops: {\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tplacement: {\n\t\t\ttype: String,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultPlacement');\n\t\t\t}\n\t\t},\n\t\tdelay: {\n\t\t\ttype: [String, Number, Object],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultDelay');\n\t\t\t}\n\t\t},\n\t\toffset: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultOffset');\n\t\t\t}\n\t\t},\n\t\ttrigger: {\n\t\t\ttype: String,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultTrigger');\n\t\t\t}\n\t\t},\n\t\tcontainer: {\n\t\t\ttype: [String, Object, Element],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultContainer');\n\t\t\t}\n\t\t},\n\t\tboundariesElement: {\n\t\t\ttype: Element,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultBoundariesElement');\n\t\t\t}\n\t\t},\n\t\tpopperOptions: {\n\t\t\ttype: Object,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultPopperOptions');\n\t\t\t}\n\t\t},\n\t\tpopoverClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn getDefault('defaultClass');\n\t\t\t}\n\t\t},\n\t\tpopoverBaseClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultBaseClass;\n\t\t\t}\n\t\t},\n\t\tpopoverInnerClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultInnerClass;\n\t\t\t}\n\t\t},\n\t\tpopoverWrapperClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultWrapperClass;\n\t\t\t}\n\t\t},\n\t\tpopoverArrowClass: {\n\t\t\ttype: [String, Array],\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultArrowClass;\n\t\t\t}\n\t\t},\n\t\tautoHide: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultAutoHide;\n\t\t\t}\n\t\t},\n\t\thandleResize: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: function _default() {\n\t\t\t\treturn directive.options.popover.defaultHandleResize;\n\t\t\t}\n\t\t},\n\t\topenGroup: {\n\t\t\ttype: String,\n\t\t\tdefault: null\n\t\t}\n\t},\n\n\tdata: function data() {\n\t\treturn {\n\t\t\tisOpen: false,\n\t\t\tid: Math.random().toString(36).substr(2, 10)\n\t\t};\n\t},\n\n\n\tcomputed: {\n\t\tcssClass: function cssClass() {\n\t\t\treturn {\n\t\t\t\t'open': this.isOpen\n\t\t\t};\n\t\t},\n\t\tpopoverId: function popoverId() {\n\t\t\treturn 'popover_' + this.id;\n\t\t}\n\t},\n\n\twatch: {\n\t\topen: function open(val) {\n\t\t\tif (val) {\n\t\t\t\tthis.show();\n\t\t\t} else {\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t},\n\t\tdisabled: function disabled(val, oldVal) {\n\t\t\tif (val !== oldVal) {\n\t\t\t\tif (val) {\n\t\t\t\t\tthis.hide();\n\t\t\t\t} else if (this.open) {\n\t\t\t\t\tthis.show();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcontainer: function container(val) {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tvar popoverNode = this.$refs.popover;\n\t\t\t\tvar reference = this.$refs.trigger;\n\n\t\t\t\tvar container = this.$_findContainer(this.container, reference);\n\t\t\t\tif (!container) {\n\t\t\t\t\tconsole.warn('No container for popover', this);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcontainer.appendChild(popoverNode);\n\t\t\t\tthis.popperInstance.update();\n\t\t\t}\n\t\t},\n\t\ttrigger: function trigger(val) {\n\t\t\tthis.$_removeEventListeners();\n\t\t\tthis.$_addEventListeners();\n\t\t},\n\t\toffset: function offset(val) {\n\t\t\tvar _this = this;\n\n\t\t\tthis.$_updatePopper(function () {\n\t\t\t\tif (val) {\n\t\t\t\t\tvar offset = _this.$_getOffset();\n\n\t\t\t\t\t_this.popperInstance.options.modifiers.offset = {\n\t\t\t\t\t\toffset: offset\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\t_this.popperInstance.options.modifiers.offset = undefined;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tplacement: function placement(val) {\n\t\t\tvar _this2 = this;\n\n\t\t\tthis.$_updatePopper(function () {\n\t\t\t\t_this2.popperInstance.options.placement = val;\n\t\t\t});\n\t\t},\n\n\n\t\tboundariesElement: '$_restartPopper',\n\n\t\tpopperOptions: {\n\t\t\thandler: '$_restartPopper',\n\t\t\tdeep: true\n\t\t}\n\t},\n\n\tcreated: function created() {\n\t\tthis.$_isDisposed = false;\n\t\tthis.$_mounted = false;\n\t\tthis.$_events = [];\n\t\tthis.$_preventOpen = false;\n\t},\n\tmounted: function mounted() {\n\t\tvar popoverNode = this.$refs.popover;\n\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\n\t\tthis.$_init();\n\n\t\tif (this.open) {\n\t\t\tthis.show();\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.dispose();\n\t},\n\n\n\tmethods: {\n\t\tshow: function show() {\n\t\t\tvar _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t\t\t event = _ref.event,\n\t\t\t _ref$skipDelay = _ref.skipDelay,\n\t\t\t skipDelay = _ref$skipDelay === undefined ? false : _ref$skipDelay,\n\t\t\t _ref$force = _ref.force,\n\t\t\t force = _ref$force === undefined ? false : _ref$force;\n\n\t\t\tif (force || !this.disabled) {\n\t\t\t\tthis.$_scheduleShow(event);\n\t\t\t\tthis.$emit('show');\n\t\t\t}\n\t\t\tthis.$emit('update:open', true);\n\t\t},\n\t\thide: function hide() {\n\t\t\tvar _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t\t\t event = _ref2.event,\n\t\t\t _ref2$skipDelay = _ref2.skipDelay;\n\n\t\t\tthis.$_scheduleHide(event);\n\n\t\t\tthis.$emit('hide');\n\t\t\tthis.$emit('update:open', false);\n\t\t},\n\t\tdispose: function dispose() {\n\t\t\tthis.$_isDisposed = true;\n\t\t\tthis.$_removeEventListeners();\n\t\t\tthis.hide({ skipDelay: true });\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.popperInstance.destroy();\n\n\t\t\t\t// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\t\t\t\tif (!this.popperInstance.options.removeOnDestroy) {\n\t\t\t\t\tvar popoverNode = this.$refs.popover;\n\t\t\t\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$_mounted = false;\n\n\t\t\tthis.$emit('dispose');\n\t\t},\n\t\t$_init: function $_init() {\n\t\t\tif (this.trigger.indexOf('manual') === -1) {\n\t\t\t\tthis.$_addEventListeners();\n\t\t\t}\n\t\t},\n\t\t$_show: function $_show() {\n\t\t\tvar _this3 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar popoverNode = this.$refs.popover;\n\n\t\t\tclearTimeout(this.$_disposeTimer);\n\n\t\t\t// Already open\n\t\t\tif (this.isOpen) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Popper is already initialized\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.isOpen = true;\n\t\t\t\tthis.popperInstance.enableEventListeners();\n\t\t\t\tthis.popperInstance.update();\n\t\t\t}\n\n\t\t\tif (!this.$_mounted) {\n\t\t\t\tvar container = this.$_findContainer(this.container, reference);\n\t\t\t\tif (!container) {\n\t\t\t\t\tconsole.warn('No container for popover', this);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcontainer.appendChild(popoverNode);\n\t\t\t\tthis.$_mounted = true;\n\t\t\t}\n\n\t\t\tif (!this.popperInstance) {\n\t\t\t\tvar popperOptions = _extends$1({}, this.popperOptions, {\n\t\t\t\t\tplacement: this.placement\n\t\t\t\t});\n\n\t\t\t\tpopperOptions.modifiers = _extends$1({}, popperOptions.modifiers, {\n\t\t\t\t\tarrow: {\n\t\t\t\t\t\telement: this.$refs.arrow\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (this.offset) {\n\t\t\t\t\tvar offset = this.$_getOffset();\n\n\t\t\t\t\tpopperOptions.modifiers.offset = {\n\t\t\t\t\t\toffset: offset\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (this.boundariesElement) {\n\t\t\t\t\tpopperOptions.modifiers.preventOverflow = {\n\t\t\t\t\t\tboundariesElement: this.boundariesElement\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tthis.popperInstance = new Popper(reference, popoverNode, popperOptions);\n\n\t\t\t\t// Fix position\n\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\tif (!_this3.$_isDisposed && _this3.popperInstance) {\n\t\t\t\t\t\t_this3.popperInstance.update();\n\n\t\t\t\t\t\t// Show the tooltip\n\t\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\t\tif (!_this3.$_isDisposed) {\n\t\t\t\t\t\t\t\t_this3.isOpen = true;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_this3.dispose();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tvar openGroup = this.openGroup;\n\t\t\tif (openGroup) {\n\t\t\t\tvar popover = void 0;\n\t\t\t\tfor (var i = 0; i < openPopovers.length; i++) {\n\t\t\t\t\tpopover = openPopovers[i];\n\t\t\t\t\tif (popover.openGroup !== openGroup) {\n\t\t\t\t\t\tpopover.hide();\n\t\t\t\t\t\tpopover.$emit('close-group');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\topenPopovers.push(this);\n\t\t},\n\t\t$_hide: function $_hide() {\n\t\t\tvar _this4 = this;\n\n\t\t\t// Already hidden\n\t\t\tif (!this.isOpen) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar index = openPopovers.indexOf(this);\n\t\t\tif (index !== -1) {\n\t\t\t\topenPopovers.splice(index, 1);\n\t\t\t}\n\n\t\t\tthis.isOpen = false;\n\t\t\tif (this.popperInstance) {\n\t\t\t\tthis.popperInstance.disableEventListeners();\n\t\t\t}\n\n\t\t\tclearTimeout(this.$_disposeTimer);\n\t\t\tvar disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\t\t\tif (disposeTime !== null) {\n\t\t\t\tthis.$_disposeTimer = setTimeout(function () {\n\t\t\t\t\tvar popoverNode = _this4.$refs.popover;\n\t\t\t\t\tif (popoverNode) {\n\t\t\t\t\t\t// Don't remove popper instance, just the HTML element\n\t\t\t\t\t\tpopoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n\t\t\t\t\t\t_this4.$_mounted = false;\n\t\t\t\t\t}\n\t\t\t\t}, disposeTime);\n\t\t\t}\n\t\t},\n\t\t$_findContainer: function $_findContainer(container, reference) {\n\t\t\t// if container is a query, get the relative element\n\t\t\tif (typeof container === 'string') {\n\t\t\t\tcontainer = window.document.querySelector(container);\n\t\t\t} else if (container === false) {\n\t\t\t\t// if container is `false`, set it to reference parent\n\t\t\t\tcontainer = reference.parentNode;\n\t\t\t}\n\t\t\treturn container;\n\t\t},\n\t\t$_getOffset: function $_getOffset() {\n\t\t\tvar typeofOffset = _typeof(this.offset);\n\t\t\tvar offset = this.offset;\n\n\t\t\t// One value -> switch\n\t\t\tif (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n\t\t\t\toffset = '0, ' + offset;\n\t\t\t}\n\n\t\t\treturn offset;\n\t\t},\n\t\t$_addEventListeners: function $_addEventListeners() {\n\t\t\tvar _this5 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar directEvents = [];\n\t\t\tvar oppositeEvents = [];\n\n\t\t\tvar events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n\t\t\t\treturn ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n\t\t\t}) : [];\n\n\t\t\tevents.forEach(function (event) {\n\t\t\t\tswitch (event) {\n\t\t\t\t\tcase 'hover':\n\t\t\t\t\t\tdirectEvents.push('mouseenter');\n\t\t\t\t\t\toppositeEvents.push('mouseleave');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'focus':\n\t\t\t\t\t\tdirectEvents.push('focus');\n\t\t\t\t\t\toppositeEvents.push('blur');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'click':\n\t\t\t\t\t\tdirectEvents.push('click');\n\t\t\t\t\t\toppositeEvents.push('click');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// schedule show tooltip\n\t\t\tdirectEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(event) {\n\t\t\t\t\tif (_this5.isOpen) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tevent.usedByTooltip = true;\n\t\t\t\t\t!_this5.$_preventOpen && _this5.show({ event: event });\n\t\t\t\t};\n\t\t\t\t_this5.$_events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\n\t\t\t// schedule hide tooltip\n\t\t\toppositeEvents.forEach(function (event) {\n\t\t\t\tvar func = function func(event) {\n\t\t\t\t\tif (event.usedByTooltip) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t_this5.hide({ event: event });\n\t\t\t\t};\n\t\t\t\t_this5.$_events.push({ event: event, func: func });\n\t\t\t\treference.addEventListener(event, func);\n\t\t\t});\n\t\t},\n\t\t$_scheduleShow: function $_scheduleShow() {\n\t\t\tvar skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tclearTimeout(this.$_scheduleTimer);\n\t\t\tif (skipDelay) {\n\t\t\t\tthis.$_show();\n\t\t\t} else {\n\t\t\t\t// defaults to 0\n\t\t\t\tvar computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n\t\t\t\tthis.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n\t\t\t}\n\t\t},\n\t\t$_scheduleHide: function $_scheduleHide() {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\t\tvar skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tclearTimeout(this.$_scheduleTimer);\n\t\t\tif (skipDelay) {\n\t\t\t\tthis.$_hide();\n\t\t\t} else {\n\t\t\t\t// defaults to 0\n\t\t\t\tvar computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n\t\t\t\tthis.$_scheduleTimer = setTimeout(function () {\n\t\t\t\t\tif (!_this6.isOpen) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// if we are hiding because of a mouseleave, we must check that the new\n\t\t\t\t\t// reference isn't the tooltip, because in this case we don't want to hide it\n\t\t\t\t\tif (event && event.type === 'mouseleave') {\n\t\t\t\t\t\tvar isSet = _this6.$_setTooltipNodeEvent(event);\n\n\t\t\t\t\t\t// if we set the new event, don't hide the tooltip yet\n\t\t\t\t\t\t// the new event will take care to hide it if necessary\n\t\t\t\t\t\tif (isSet) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t_this6.$_hide();\n\t\t\t\t}, computedDelay);\n\t\t\t}\n\t\t},\n\t\t$_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n\t\t\tvar _this7 = this;\n\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tvar popoverNode = this.$refs.popover;\n\n\t\t\tvar relatedreference = event.relatedreference || event.toElement;\n\n\t\t\tvar callback = function callback(event2) {\n\t\t\t\tvar relatedreference2 = event2.relatedreference || event2.toElement;\n\n\t\t\t\t// Remove event listener after call\n\t\t\t\tpopoverNode.removeEventListener(event.type, callback);\n\n\t\t\t\t// If the new reference is not the reference element\n\t\t\t\tif (!reference.contains(relatedreference2)) {\n\t\t\t\t\t// Schedule to hide tooltip\n\t\t\t\t\t_this7.hide({ event: event2 });\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (popoverNode.contains(relatedreference)) {\n\t\t\t\t// listen to mouseleave on the tooltip element to be able to hide the tooltip\n\t\t\t\tpopoverNode.addEventListener(event.type, callback);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\t\t$_removeEventListeners: function $_removeEventListeners() {\n\t\t\tvar reference = this.$refs.trigger;\n\t\t\tthis.$_events.forEach(function (_ref3) {\n\t\t\t\tvar func = _ref3.func,\n\t\t\t\t event = _ref3.event;\n\n\t\t\t\treference.removeEventListener(event, func);\n\t\t\t});\n\t\t\tthis.$_events = [];\n\t\t},\n\t\t$_updatePopper: function $_updatePopper(cb) {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tcb();\n\t\t\t\tthis.popperInstance.update();\n\t\t\t}\n\t\t},\n\t\t$_restartPopper: function $_restartPopper() {\n\t\t\tif (this.popperInstance) {\n\t\t\t\tvar isOpen = this.isOpen;\n\t\t\t\tthis.dispose();\n\t\t\t\tthis.$_init();\n\t\t\t\tif (isOpen) {\n\t\t\t\t\tthis.show();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t$_handleGlobalClose: function $_handleGlobalClose(event) {\n\t\t\tvar _this8 = this;\n\n\t\t\tvar touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\t\t\tthis.hide({ event: event });\n\n\t\t\tif (event.closePopover) {\n\t\t\t\tthis.$emit('close-directive');\n\t\t\t} else {\n\t\t\t\tthis.$emit('auto-hide');\n\t\t\t}\n\n\t\t\tif (touch) {\n\t\t\t\tthis.$_preventOpen = true;\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t_this8.$_preventOpen = false;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t},\n\t\t$_handleResize: function $_handleResize() {\n\t\t\tif (this.isOpen && this.popperInstance) {\n\t\t\t\tthis.popperInstance.update();\n\t\t\t\tthis.$emit('resize');\n\t\t\t}\n\t\t}\n\t}\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n\tif (isIOS) {\n\t\tdocument.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n\t\t\tpassive: true\n\t\t} : false);\n\t} else {\n\t\twindow.addEventListener('click', handleGlobalClick);\n\t}\n}\n\nfunction handleGlobalClick(event) {\n\thandleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n\thandleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n\tvar touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\tvar popover = void 0;\n\tfor (var i = 0; i < openPopovers.length; i++) {\n\t\tpopover = openPopovers[i];\n\t\tvar contains = popover.$refs.popover.contains(event.target);\n\t\tif (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n\t\t\tpopover.$_handleGlobalClose(event, touch);\n\t\t}\n\t}\n}\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar lodash_merge = createCommonjsModule(function (module, exports) {\n/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = 'object' == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max;\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (typeof key == 'number' && value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n if (isHostObject(value)) {\n return object ? value : {};\n }\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (!isArr) {\n var props = isFull ? getAllKeys(value) : keys(value);\n }\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n });\n return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n if (!(isArray(source) || isTypedArray(source))) {\n var props = baseKeysIn(source);\n }\n arrayEach(props || source, function(srcValue, key) {\n if (props) {\n key = srcValue;\n srcValue = source[key];\n }\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(object[key], srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n });\n}\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = object[key],\n srcValue = source[key],\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n newValue = srcValue;\n if (isArray(srcValue) || isTypedArray(srcValue)) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else {\n isCommon = false;\n newValue = baseClone(srcValue, true);\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {\n isCommon = false;\n newValue = baseClone(srcValue, true);\n }\n else {\n newValue = objValue;\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var result = new buffer.constructor(buffer.length);\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return cloneMap(object, isDeep, cloneFunc);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) ||\n objectToString.call(value) != objectTag || isHostObject(value)) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return (typeof Ctor == 'function' &&\n Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = merge;\n});\n\nfunction install(Vue) {\n\tvar options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\tif (install.installed) return;\n\tinstall.installed = true;\n\n\tvar finalOptions = {};\n\tlodash_merge(finalOptions, defaultOptions, options);\n\n\tplugin.options = finalOptions;\n\tdirective.options = finalOptions;\n\n\tVue.directive('tooltip', directive);\n\tVue.directive('close-popover', vclosepopover);\n\tVue.component('v-popover', Popover);\n}\n\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = Popover;\n\nvar plugin = {\n\tinstall: install,\n\n\tget enabled() {\n\t\treturn state.enabled;\n\t},\n\n\tset enabled(value) {\n\t\tstate.enabled = value;\n\t}\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, VTooltip, VClosePopover, VPopover, createTooltip, destroyTooltip };\nexport default plugin;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/v-tooltip/dist/v-tooltip.esm.js\n// module id = 41\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\",class:{'disabled': _vm.loading.delete || _vm.loading.disable}},[_c('div',{staticClass:\"avatar\",class:{'icon-loading-small': _vm.loading.delete || _vm.loading.disable}},[(!_vm.loading.delete && !_vm.loading.disable)?_c('img',{attrs:{\"alt\":\"\",\"width\":\"32\",\"height\":\"32\",\"src\":_vm.generateAvatar(_vm.user.id, 32),\"srcset\":_vm.generateAvatar(_vm.user.id, 64)+' 2x, '+_vm.generateAvatar(_vm.user.id, 128)+' 4x'}}):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(_vm.user.id))]),_vm._v(\" \"),_c('form',{staticClass:\"displayName\",class:{'icon-loading-small': _vm.loading.displayName},on:{\"submit\":function($event){$event.preventDefault();return _vm.updateDisplayName($event)}}},[_c('input',{ref:\"displayName\",attrs:{\"id\":'displayName'+_vm.user.id+_vm.rand,\"type\":\"text\",\"disabled\":_vm.loading.displayName||_vm.loading.all,\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"},domProps:{\"value\":_vm.user.displayname}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]),_vm._v(\" \"),(_vm.settings.canChangePassword)?_c('form',{staticClass:\"password\",class:{'icon-loading-small': _vm.loading.password},on:{\"submit\":function($event){$event.preventDefault();return _vm.updatePassword($event)}}},[_c('input',{ref:\"password\",attrs:{\"id\":'password'+_vm.user.id+_vm.rand,\"type\":\"password\",\"required\":\"\",\"disabled\":_vm.loading.password||_vm.loading.all,\"minlength\":_vm.minPasswordLength,\"value\":\"\",\"placeholder\":_vm.t('settings', 'New password'),\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]):_c('div'),_vm._v(\" \"),_c('form',{staticClass:\"mailAddress\",class:{'icon-loading-small': _vm.loading.mailAddress},on:{\"submit\":function($event){$event.preventDefault();return _vm.updateEmail($event)}}},[_c('input',{ref:\"mailAddress\",attrs:{\"id\":'mailAddress'+_vm.user.id+_vm.rand,\"type\":\"email\",\"disabled\":_vm.loading.mailAddress||_vm.loading.all,\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"},domProps:{\"value\":_vm.user.email}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"groups\",class:{'icon-loading-small': _vm.loading.groups}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userGroups,\"options\":_vm.groups,\"disabled\":_vm.loading.groups||_vm.loading.all,\"tag-placeholder\":\"create\",\"placeholder\":_vm.t('settings', 'Add user in group'),\"label\":\"name\",\"track-by\":\"id\",\"limit\":2,\"limitText\":_vm.limitGroups,\"multiple\":true,\"taggable\":true,\"closeOnSelect\":false},on:{\"tag\":_vm.createGroup,\"select\":_vm.addUserGroup,\"remove\":_vm.removeUserGroup}})],1),_vm._v(\" \"),(_vm.subAdminsGroups.length>0)?_c('div',{staticClass:\"subadmins\",class:{'icon-loading-small': _vm.loading.subadmins}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userSubAdminsGroups,\"options\":_vm.subAdminsGroups,\"disabled\":_vm.loading.subadmins||_vm.loading.all,\"placeholder\":_vm.t('settings', 'Set user as admin for'),\"label\":\"name\",\"track-by\":\"id\",\"limit\":2,\"limitText\":_vm.limitGroups,\"multiple\":true,\"closeOnSelect\":false},on:{\"select\":_vm.addUserSubAdmin,\"remove\":_vm.removeUserSubAdmin}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings','No result')))])])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"quota\",class:{'icon-loading-small': _vm.loading.quota}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userQuota,\"options\":_vm.quotaOptions,\"disabled\":_vm.loading.quota||_vm.loading.all,\"tag-placeholder\":\"create\",\"placeholder\":_vm.t('settings', 'Select user quota'),\"label\":\"label\",\"track-by\":\"id\",\"allowEmpty\":false,\"taggable\":true},on:{\"tag\":_vm.validateQuota,\"input\":_vm.setUserQuota}}),_vm._v(\" \"),_c('progress',{staticClass:\"quota-user-progress\",class:{'warn':_vm.usedQuota>80},attrs:{\"max\":\"100\"},domProps:{\"value\":_vm.usedQuota}})],1),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"languages\",class:{'icon-loading-small': _vm.loading.languages}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userLanguage,\"options\":_vm.languages,\"disabled\":_vm.loading.languages||_vm.loading.all,\"placeholder\":_vm.t('settings', 'No language set'),\"label\":\"name\",\"track-by\":\"code\",\"allowEmpty\":false,\"group-values\":\"languages\",\"group-label\":\"label\"},on:{\"input\":_vm.setUserLanguage}})],1):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('div',{staticClass:\"storageLocation\"},[_vm._v(_vm._s(_vm.user.storageLocation))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend)?_c('div',{staticClass:\"userBackend\"},[_vm._v(_vm._s(_vm.user.backend))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.user.lastLogin>0 ? _vm.OC.Util.formatDate(_vm.user.lastLogin) : ''),expression:\"user.lastLogin>0 ? OC.Util.formatDate(user.lastLogin) : ''\",modifiers:{\"auto\":true}}],staticClass:\"lastLogin\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.user.lastLogin>0 ? _vm.OC.Util.relativeModifiedDate(_vm.user.lastLogin) : _vm.t('settings','Never'))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"userActions\"},[(_vm.OC.currentUser !== _vm.user.id && _vm.user.id !== 'admin' && !_vm.loading.all)?_c('div',{staticClass:\"toggleUserActions\"},[_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.hideMenu),expression:\"hideMenu\"}],staticClass:\"icon-more\",on:{\"click\":_vm.toggleMenu}}),_vm._v(\" \"),_c('div',{staticClass:\"popovermenu\",class:{ 'open': _vm.openedMenu }},[_c('popover-menu',{attrs:{\"menu\":_vm.userActions}})],1)]):_vm._e()])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-5fc6ce7e\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/userList/userRow.vue\n// module id = 42\n// module chunks = 0","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueInfiniteLoading=t():e.VueInfiniteLoading=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){function t(n){if(i[n])return i[n].exports;var a=i[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var i={};return t.m=e,t.c=i,t.d=function(e,i,n){t.o(e,i)||Object.defineProperty(e,i,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,\"a\",i),i},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"/\",t(t.s=3)}([function(e,t){function i(e,t){var i=e[1]||\"\",a=e[3];if(!a)return i;if(t&&\"function\"==typeof btoa){var r=n(a);return[i].concat(a.sources.map(function(e){return\"/*# sourceURL=\"+a.sourceRoot+e+\" */\"})).concat([r]).join(\"\\n\")}return[i].join(\"\\n\")}function n(e){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+\" */\"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=i(t,e);return t[2]?\"@media \"+t[2]+\"{\"+n+\"}\":n}).join(\"\")},t.i=function(e,i){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var n={},a=0;a<this.length;a++){var r=this[a][0];\"number\"==typeof r&&(n[r]=!0)}for(a=0;a<e.length;a++){var o=e[a];\"number\"==typeof o[0]&&n[o[0]]||(i&&!o[2]?o[2]=i:i&&(o[2]=\"(\"+o[2]+\") and (\"+i+\")\"),t.push(o))}},t}},function(e,t,i){function n(e){for(var t=0;t<e.length;t++){var i=e[t],n=f[i.id];if(n){n.refs++;for(var a=0;a<n.parts.length;a++)n.parts[a](i.parts[a]);for(;a<i.parts.length;a++)n.parts.push(r(i.parts[a]));n.parts.length>i.parts.length&&(n.parts.length=i.parts.length)}else{for(var o=[],a=0;a<i.parts.length;a++)o.push(r(i.parts[a]));f[i.id]={id:i.id,refs:1,parts:o}}}}function a(){var e=document.createElement(\"style\");return e.type=\"text/css\",c.appendChild(e),e}function r(e){var t,i,n=document.querySelector('style[data-vue-ssr-id~=\"'+e.id+'\"]');if(n){if(m)return h;n.parentNode.removeChild(n)}if(b){var r=p++;n=u||(u=a()),t=o.bind(null,n,r,!1),i=o.bind(null,n,r,!0)}else n=a(),t=s.bind(null,n),i=function(){n.parentNode.removeChild(n)};return t(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap)return;t(e=n)}else i()}}function o(e,t,i,n){var a=i?\"\":n.css;if(e.styleSheet)e.styleSheet.cssText=g(t,a);else{var r=document.createTextNode(a),o=e.childNodes;o[t]&&e.removeChild(o[t]),o.length?e.insertBefore(r,o[t]):e.appendChild(r)}}function s(e,t){var i=t.css,n=t.media,a=t.sourceMap;if(n&&e.setAttribute(\"media\",n),a&&(i+=\"\\n/*# sourceURL=\"+a.sources[0]+\" */\",i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+\" */\"),e.styleSheet)e.styleSheet.cssText=i;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(i))}}var l=\"undefined\"!=typeof document;if(\"undefined\"!=typeof DEBUG&&DEBUG&&!l)throw new Error(\"vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\");var d=i(7),f={},c=l&&(document.head||document.getElementsByTagName(\"head\")[0]),u=null,p=0,m=!1,h=function(){},b=\"undefined\"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());e.exports=function(e,t,i){m=i;var a=d(e,t);return n(a),function(t){for(var i=[],r=0;r<a.length;r++){var o=a[r],s=f[o.id];s.refs--,i.push(s)}t?(a=d(e,t),n(a)):a=[];for(var r=0;r<i.length;r++){var s=i[r];if(0===s.refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete f[s.id]}}}};var g=function(){var e=[];return function(t,i){return e[t]=i,e.filter(Boolean).join(\"\\n\")}}()},function(e,t){e.exports=function(e,t,i,n,a,r){var o,s=e=e||{},l=typeof e.default;\"object\"!==l&&\"function\"!==l||(o=e,s=e.default);var d=\"function\"==typeof s?s.options:s;t&&(d.render=t.render,d.staticRenderFns=t.staticRenderFns,d._compiled=!0),i&&(d.functional=!0),a&&(d._scopeId=a);var f;if(r?(f=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},d._ssrRegister=f):n&&(f=n),f){var c=d.functional,u=c?d.render:d.beforeCreate;c?(d._injectStyles=f,d.render=function(e,t){return f.call(t),u(e,t)}):d.beforeCreate=u?[].concat(u,f):[f]}return{esModule:o,exports:s,options:d}}},function(e,t,i){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=i(4);t.default=n.a,\"undefined\"!=typeof window&&window.Vue&&window.Vue.component(\"infinite-loading\",n.a)},function(e,t,i){\"use strict\";function n(e){i(5)}var a=i(8),r=i(14),o=i(2),s=n,l=o(a.a,r.a,!1,s,\"data-v-fb2c869e\",null);t.a=l.exports},function(e,t,i){var n=i(6);\"string\"==typeof n&&(n=[[e.i,n,\"\"]]),n.locals&&(e.exports=n.locals);i(1)(\"2249d7a7\",n,!0)},function(e,t,i){t=e.exports=i(0)(void 0),t.push([e.i,\".infinite-loading-container[data-v-fb2c869e]{clear:both;text-align:center}.infinite-loading-container[data-v-fb2c869e] [class^=loading-]{display:inline-block;margin:15px 0;width:28px;height:28px;font-size:28px;line-height:28px;border-radius:50%}.infinite-status-prompt[data-v-fb2c869e]{color:#666;font-size:14px;text-align:center;padding:10px 0}\",\"\"])},function(e,t){e.exports=function(e,t){for(var i=[],n={},a=0;a<t.length;a++){var r=t[a],o=r[0],s=r[1],l=r[2],d=r[3],f={id:e+\":\"+a,css:s,media:l,sourceMap:d};n[o]?n[o].parts.push(f):i.push(n[o]={id:o,parts:[f]})}return i}},function(e,t,i){\"use strict\";var n=i(9),a={STATE_CHANGER:[\"[Vue-infinite-loading warn]: emit `loaded` and `complete` event through component instance of `$refs` may cause error, so it will be deprecated soon, please use the `$state` argument instead (`$state` just the special `$event` variable):\",\"\\ntemplate:\",'<infinite-loading @infinite=\"infiniteHandler\"></infinite-loading>',\"\\nscript:\\n...\\ninfiniteHandler($state) {\\n ajax('https://www.example.com/api/news')\\n .then((res) => {\\n if (res.data.length) {\\n $state.loaded();\\n } else {\\n $state.complete();\\n }\\n });\\n}\\n...\",\"\",\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/57#issuecomment-324370549\"].join(\"\\n\"),INFINITE_EVENT:\"[Vue-infinite-loading warn]: `:on-infinite` property will be deprecated soon, please use `@infinite` event instead.\"},r={INFINITE_LOOP:[\"[Vue-infinite-loading error]: executed the callback function more than 10 times for a short time, it looks like searched a wrong scroll wrapper that doest not has fixed height or maximum height, please check it. If you want to force to set a element as scroll wrapper ranther than automatic searching, you can do this:\",'\\n\\x3c!-- add a special attribute for the real scroll wrapper --\\x3e\\n<div infinite-wrapper>\\n ...\\n \\x3c!-- set force-use-infinite-wrapper to true --\\x3e\\n <infinite-loading force-use-infinite-wrapper=\"true\"></infinite-loading>\\n</div>\\n ',\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/55#issuecomment-316934169\"].join(\"\\n\")};t.a={name:\"InfiniteLoading\",data:function(){return{scrollParent:null,scrollHandler:null,isLoading:!1,isComplete:!1,isFirstLoad:!0,debounceTimer:null,debounceDuration:50,infiniteLoopChecked:!1,infiniteLoopTimer:null,continuousCallTimes:0}},components:{Spinner:n.a},computed:{isNoResults:{cache:!1,get:function(){var e=this.$slots[\"no-results\"],t=e&&e[0].elm&&\"\"===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&this.isFirstLoad&&!t}},isNoMore:{cache:!1,get:function(){var e=this.$slots[\"no-more\"],t=e&&e[0].elm&&\"\"===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&!this.isFirstLoad&&!t}}},props:{distance:{type:Number,default:100},onInfinite:Function,spinner:String,direction:{type:String,default:\"bottom\"},forceUseInfiniteWrapper:null},mounted:function(){var e=this;this.scrollParent=this.getScrollParent(),this.scrollHandler=function(e){this.isLoading||(clearTimeout(this.debounceTimer),e&&e.constructor===Event?this.debounceTimer=setTimeout(this.attemptLoad,this.debounceDuration):this.attemptLoad())}.bind(this),setTimeout(this.scrollHandler,1),this.scrollParent.addEventListener(\"scroll\",this.scrollHandler),this.$on(\"$InfiniteLoading:loaded\",function(t){e.isFirstLoad=!1,e.isLoading&&e.$nextTick(e.attemptLoad.bind(null,!0)),t&&t.target===e||console.warn(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:complete\",function(t){e.isLoading=!1,e.isComplete=!0,e.$nextTick(function(){e.$forceUpdate()}),e.scrollParent.removeEventListener(\"scroll\",e.scrollHandler),t&&t.target===e||console.warn(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:reset\",function(){e.isLoading=!1,e.isComplete=!1,e.isFirstLoad=!0,e.scrollParent.addEventListener(\"scroll\",e.scrollHandler),setTimeout(e.scrollHandler,1)}),this.onInfinite&&console.warn(a.INFINITE_EVENT),this.stateChanger={loaded:function(){e.$emit(\"$InfiniteLoading:loaded\",{target:e})},complete:function(){e.$emit(\"$InfiniteLoading:complete\",{target:e})},reset:function(){e.$emit(\"$InfiniteLoading:reset\",{target:e})}},this.$watch(\"forceUseInfiniteWrapper\",function(){e.scrollParent=e.getScrollParent()})},deactivated:function(){this.isLoading=!1,this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler)},activated:function(){this.scrollParent.addEventListener(\"scroll\",this.scrollHandler)},methods:{attemptLoad:function(e){var t=this,i=this.getCurrentDistance();!this.isComplete&&i<=this.distance&&this.$el.offsetWidth+this.$el.offsetHeight>0?(this.isLoading=!0,\"function\"==typeof this.onInfinite?this.onInfinite.call(null,this.stateChanger):this.$emit(\"infinite\",this.stateChanger),!e||this.forceUseInfiniteWrapper||this.infiniteLoopChecked||(this.continuousCallTimes+=1,clearTimeout(this.infiniteLoopTimer),this.infiniteLoopTimer=setTimeout(function(){t.infiniteLoopChecked=!0},1e3),this.continuousCallTimes>10&&(console.error(r.INFINITE_LOOP),this.infiniteLoopChecked=!0))):this.isLoading=!1},getCurrentDistance:function(){var e=void 0;if(\"top\"===this.direction)e=isNaN(this.scrollParent.scrollTop)?this.scrollParent.pageYOffset:this.scrollParent.scrollTop;else{e=this.$el.getBoundingClientRect().top-(this.scrollParent===window?window.innerHeight:this.scrollParent.getBoundingClientRect().bottom)}return e},getScrollParent:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.$el,t=void 0;return\"BODY\"===e.tagName?t=window:!this.forceUseInfiniteWrapper&&[\"scroll\",\"auto\"].indexOf(getComputedStyle(e).overflowY)>-1?t=e:(e.hasAttribute(\"infinite-wrapper\")||e.hasAttribute(\"data-infinite-wrapper\"))&&(t=e),t||this.getScrollParent(e.parentNode)}},destroyed:function(){this.isComplete||this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler)}}},function(e,t,i){\"use strict\";function n(e){i(10)}var a=i(12),r=i(13),o=i(2),s=n,l=o(a.a,r.a,!1,s,\"data-v-6e1fd88f\",null);t.a=l.exports},function(e,t,i){var n=i(11);\"string\"==typeof n&&(n=[[e.i,n,\"\"]]),n.locals&&(e.exports=n.locals);i(1)(\"29881045\",n,!0)},function(e,t,i){t=e.exports=i(0)(void 0),t.push([e.i,'.loading-wave-dots[data-v-6e1fd88f]{position:relative}.loading-wave-dots[data-v-6e1fd88f] .wave-item{position:absolute;top:50%;left:50%;display:inline-block;margin-top:-4px;width:8px;height:8px;border-radius:50%;-webkit-animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite;animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite}.loading-wave-dots[data-v-6e1fd88f] .wave-item:first-child{margin-left:-36px}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(2){margin-left:-20px;-webkit-animation-delay:.14s;animation-delay:.14s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(3){margin-left:-4px;-webkit-animation-delay:.28s;animation-delay:.28s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(4){margin-left:12px;-webkit-animation-delay:.42s;animation-delay:.42s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:last-child{margin-left:28px;-webkit-animation-delay:.56s;animation-delay:.56s}@-webkit-keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}@keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}.loading-circles[data-v-6e1fd88f] .circle-item{width:5px;height:5px;-webkit-animation:loading-circles-data-v-6e1fd88f linear .75s infinite;animation:loading-circles-data-v-6e1fd88f linear .75s infinite}.loading-circles[data-v-6e1fd88f] .circle-item:first-child{margin-top:-14.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){margin-top:-11.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){margin-top:-2.5px;margin-left:9.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){margin-top:6.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){margin-top:9.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){margin-top:6.26px;margin-left:-11.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){margin-top:-2.5px;margin-left:-14.5px}.loading-circles[data-v-6e1fd88f] .circle-item:last-child{margin-top:-11.26px;margin-left:-11.26px}@-webkit-keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}@keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}.loading-bubbles[data-v-6e1fd88f] .bubble-item{background:#666;-webkit-animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite;animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite}.loading-bubbles[data-v-6e1fd88f] .bubble-item:first-child{margin-top:-12.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2){margin-top:-9.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3){margin-top:-.5px;margin-left:11.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4){margin-top:8.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5){margin-top:11.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6){margin-top:8.26px;margin-left:-9.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7){margin-top:-.5px;margin-left:-12.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child{margin-top:-9.26px;margin-left:-9.26px}@-webkit-keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}@keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}.loading-default[data-v-6e1fd88f]{position:relative;border:1px solid #999;-webkit-animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite;animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite}.loading-default[data-v-6e1fd88f]:before{content:\"\";position:absolute;display:block;top:0;left:50%;margin-top:-3px;margin-left:-3px;width:6px;height:6px;background-color:#999;border-radius:50%}.loading-spiral[data-v-6e1fd88f]{border:2px solid #777;border-right-color:transparent;-webkit-animation:loading-rotating-data-v-6e1fd88f linear .85s infinite;animation:loading-rotating-data-v-6e1fd88f linear .85s infinite}@-webkit-keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-bubbles[data-v-6e1fd88f],.loading-circles[data-v-6e1fd88f]{position:relative}.loading-bubbles[data-v-6e1fd88f] .bubble-item,.loading-circles[data-v-6e1fd88f] .circle-item{position:absolute;top:50%;left:50%;display:inline-block;border-radius:50%}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){-webkit-animation-delay:93ms;animation-delay:93ms}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){-webkit-animation-delay:.186s;animation-delay:.186s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){-webkit-animation-delay:.279s;animation-delay:.279s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){-webkit-animation-delay:.372s;animation-delay:.372s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){-webkit-animation-delay:.465s;animation-delay:.465s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){-webkit-animation-delay:.558s;animation-delay:.558s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child,.loading-circles[data-v-6e1fd88f] .circle-item:last-child{-webkit-animation-delay:.651s;animation-delay:.651s}',\"\"])},function(e,t,i){\"use strict\";var n={BUBBLES:{render:function(e){return e(\"span\",{attrs:{class:\"loading-bubbles\"}},Array.apply(Array,Array(8)).map(function(){return e(\"span\",{attrs:{class:\"bubble-item\"}})}))}},CIRCLES:{render:function(e){return e(\"span\",{attrs:{class:\"loading-circles\"}},Array.apply(Array,Array(8)).map(function(){return e(\"span\",{attrs:{class:\"circle-item\"}})}))}},DEFAULT:{render:function(e){return e(\"i\",{attrs:{class:\"loading-default\"}})}},SPIRAL:{render:function(e){return e(\"i\",{attrs:{class:\"loading-spiral\"}})}},WAVEDOTS:{render:function(e){return e(\"span\",{attrs:{class:\"loading-wave-dots\"}},Array.apply(Array,Array(5)).map(function(){return e(\"span\",{attrs:{class:\"wave-item\"}})}))}}};t.a={name:\"spinner\",computed:{spinnerView:function(){return n[(this.spinner||\"\").toUpperCase()]||n.DEFAULT}},props:{spinner:String}}},function(e,t,i){\"use strict\";var n=function(){var e=this,t=e.$createElement;return(e._self._c||t)(e.spinnerView,{tag:\"component\"})},a=[],r={render:n,staticRenderFns:a};t.a=r},function(e,t,i){\"use strict\";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(\"div\",{staticClass:\"infinite-loading-container\"},[i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isLoading,expression:\"isLoading\"}]},[e._t(\"spinner\",[i(\"spinner\",{attrs:{spinner:e.spinner}})])],2),e._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isNoResults,expression:\"isNoResults\"}],staticClass:\"infinite-status-prompt\"},[e._t(\"no-results\",[e._v(\"No results :(\")])],2),e._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isNoMore,expression:\"isNoMore\"}],staticClass:\"infinite-status-prompt\"},[e._t(\"no-more\",[e._v(\"No more data :)\")])],2)])},a=[],r={render:n,staticRenderFns:a};t.a=r}])});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-infinite-loading/dist/vue-infinite-loading.js\n// module id = 43\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-list-grid\",attrs:{\"id\":\"app-content\"},on:{\"&scroll\":function($event){return _vm.onScroll($event)}}},[_c('div',{staticClass:\"row\",class:{'sticky': _vm.scrolled && !_vm.showConfig.showNewUserForm},attrs:{\"id\":\"grid-header\"}},[_c('div',{staticClass:\"avatar\",attrs:{\"id\":\"headerAvatar\"}}),_vm._v(\" \"),_c('div',{staticClass:\"name\",attrs:{\"id\":\"headerName\"}},[_vm._v(_vm._s(_vm.t('settings', 'Username')))]),_vm._v(\" \"),_c('div',{staticClass:\"displayName\",attrs:{\"id\":\"headerDisplayName\"}},[_vm._v(_vm._s(_vm.t('settings', 'Full name')))]),_vm._v(\" \"),_c('div',{staticClass:\"password\",attrs:{\"id\":\"headerPassword\"}},[_vm._v(_vm._s(_vm.t('settings', 'Password')))]),_vm._v(\" \"),_c('div',{staticClass:\"mailAddress\",attrs:{\"id\":\"headerAddress\"}},[_vm._v(_vm._s(_vm.t('settings', 'Email')))]),_vm._v(\" \"),_c('div',{staticClass:\"groups\",attrs:{\"id\":\"headerGroups\"}},[_vm._v(_vm._s(_vm.t('settings', 'Groups')))]),_vm._v(\" \"),(_vm.subAdminsGroups.length>0)?_c('div',{staticClass:\"subadmins\",attrs:{\"id\":\"headerSubAdmins\"}},[_vm._v(_vm._s(_vm.t('settings', 'Group admin for')))]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"quota\",attrs:{\"id\":\"headerQuota\"}},[_vm._v(_vm._s(_vm.t('settings', 'Quota')))]),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"languages\",attrs:{\"id\":\"headerLanguages\"}},[_vm._v(_vm._s(_vm.t('settings', 'Languages')))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('div',{staticClass:\"headerStorageLocation storageLocation\"},[_vm._v(_vm._s(_vm.t('settings', 'Storage location')))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend)?_c('div',{staticClass:\"headerUserBackend userBackend\"},[_vm._v(_vm._s(_vm.t('settings', 'User backend')))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('div',{staticClass:\"headerLastLogin lastLogin\"},[_vm._v(_vm._s(_vm.t('settings', 'Last login')))]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"userActions\"})]),_vm._v(\" \"),_c('form',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showConfig.showNewUserForm),expression:\"showConfig.showNewUserForm\"}],staticClass:\"row\",class:{'sticky': _vm.scrolled && _vm.showConfig.showNewUserForm},attrs:{\"id\":\"new-user\",\"disabled\":_vm.loading},on:{\"submit\":function($event){$event.preventDefault();return _vm.createUser($event)}}},[_c('div',{class:_vm.loading?'icon-loading-small':'icon-add'}),_vm._v(\" \"),_c('div',{staticClass:\"name\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.id),expression:\"newUser.id\"}],attrs:{\"id\":\"newusername\",\"type\":\"text\",\"required\":\"\",\"placeholder\":_vm.t('settings', 'User name'),\"name\":\"username\",\"autocomplete\":\"off\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\",\"pattern\":\"[a-zA-Z0-9 _\\\\.@\\\\-']+\"},domProps:{\"value\":(_vm.newUser.id)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"id\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"displayName\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.displayName),expression:\"newUser.displayName\"}],attrs:{\"id\":\"newdisplayname\",\"type\":\"text\",\"placeholder\":_vm.t('settings', 'Display name'),\"name\":\"displayname\",\"autocomplete\":\"off\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\"},domProps:{\"value\":(_vm.newUser.displayName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"displayName\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"password\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.password),expression:\"newUser.password\"}],attrs:{\"id\":\"newuserpassword\",\"type\":\"password\",\"required\":_vm.newUser.mailAddress==='',\"placeholder\":_vm.t('settings', 'Password'),\"name\":\"password\",\"autocomplete\":\"new-password\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\",\"minlength\":_vm.minPasswordLength},domProps:{\"value\":(_vm.newUser.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"password\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"mailAddress\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.mailAddress),expression:\"newUser.mailAddress\"}],attrs:{\"id\":\"newemail\",\"type\":\"email\",\"required\":_vm.newUser.password==='',\"placeholder\":_vm.t('settings', 'Mail address'),\"name\":\"email\",\"autocomplete\":\"off\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\"},domProps:{\"value\":(_vm.newUser.mailAddress)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"mailAddress\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"groups\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.groups,\"placeholder\":_vm.t('settings', 'Add user in group'),\"label\":\"name\",\"track-by\":\"id\",\"multiple\":true,\"close-on-select\":false},model:{value:(_vm.newUser.groups),callback:function ($$v) {_vm.$set(_vm.newUser, \"groups\", $$v)},expression:\"newUser.groups\"}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings','No result')))])])],1),_vm._v(\" \"),(_vm.subAdminsGroups.length>0)?_c('div',{staticClass:\"subadmins\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.subAdminsGroups,\"placeholder\":_vm.t('settings', 'Set user as admin for'),\"label\":\"name\",\"track-by\":\"id\",\"multiple\":true,\"close-on-select\":false},model:{value:(_vm.newUser.subAdminsGroups),callback:function ($$v) {_vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)},expression:\"newUser.subAdminsGroups\"}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings','No result')))])])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"quota\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.quotaOptions,\"placeholder\":_vm.t('settings', 'Select user quota'),\"label\":\"label\",\"track-by\":\"id\",\"allowEmpty\":false,\"taggable\":true},on:{\"tag\":_vm.validateQuota},model:{value:(_vm.newUser.quota),callback:function ($$v) {_vm.$set(_vm.newUser, \"quota\", $$v)},expression:\"newUser.quota\"}})],1),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"languages\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.languages,\"placeholder\":_vm.t('settings', 'Default language'),\"label\":\"name\",\"track-by\":\"code\",\"allowEmpty\":false,\"group-values\":\"languages\",\"group-label\":\"label\"},model:{value:(_vm.newUser.language),callback:function ($$v) {_vm.$set(_vm.newUser, \"language\", $$v)},expression:\"newUser.language\"}})],1):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('div',{staticClass:\"storageLocation\"}):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend)?_c('div',{staticClass:\"userBackend\"}):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('div',{staticClass:\"lastLogin\"}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"userActions\"},[_c('input',{staticClass:\"button primary icon-checkmark-white has-tooltip\",attrs:{\"type\":\"submit\",\"id\":\"newsubmit\",\"value\":\"\",\"title\":_vm.t('settings', 'Add a new user')}}),_vm._v(\" \"),_c('input',{staticClass:\"button icon-close has-tooltip\",attrs:{\"type\":\"reset\",\"id\":\"newreset\",\"value\":\"\",\"title\":_vm.t('settings', 'Cancel and reset the form')},on:{\"click\":_vm.resetForm}})])]),_vm._v(\" \"),_vm._l((_vm.filteredUsers),function(user,key){return _c('user-row',{key:key,attrs:{\"user\":user,\"settings\":_vm.settings,\"showConfig\":_vm.showConfig,\"groups\":_vm.groups,\"subAdminsGroups\":_vm.subAdminsGroups,\"quotaOptions\":_vm.quotaOptions,\"languages\":_vm.languages}})}),_vm._v(\" \"),_c('infinite-loading',{ref:\"infiniteLoading\",on:{\"infinite\":_vm.infiniteHandler}},[_c('div',{attrs:{\"slot\":\"spinner\"},slot:\"spinner\"},[_c('div',{staticClass:\"users-icon-loading icon-loading\"})]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"no-more\"},slot:\"no-more\"},[_c('div',{staticClass:\"users-list-end\"},[_vm._v(\"— \"+_vm._s(_vm.t('settings', 'no more results'))+\" —\")])]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"no-results\"},slot:\"no-results\"},[_c('div',{attrs:{\"id\":\"emptycontent\"}},[_c('div',{staticClass:\"icon-contacts-dark\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'No users in here')))])])])])],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-9ccce41c\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/userList.vue\n// module id = 44\n// module chunks = 0","/**\n * vue-local-storage v0.6.0\n * (c) 2017 Alexander Avakov\n * @license MIT\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.VueLocalStorage = factory());\n}(this, (function () { 'use strict';\n\nvar VueLocalStorage = function VueLocalStorage () {\n this._properties = {};\n this._namespace = '';\n this._isSupported = true;\n};\n\nvar prototypeAccessors = { namespace: {} };\n\n/**\n * Namespace getter.\n *\n * @returns {string}\n */\nprototypeAccessors.namespace.get = function () {\n return this._namespace\n};\n\n/**\n * Namespace setter.\n *\n * @param {string} value\n */\nprototypeAccessors.namespace.set = function (value) {\n this._namespace = value ? (value + \".\") : '';\n};\n\n/**\n * Concatenates localStorage key with namespace prefix.\n *\n * @param {string} lsKey\n * @returns {string}\n * @private\n */\nVueLocalStorage.prototype._getLsKey = function _getLsKey (lsKey) {\n return (\"\" + (this._namespace) + lsKey)\n};\n\n/**\n * Set a value to localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @param {*} rawValue\n * @param {*} type\n * @private\n */\nVueLocalStorage.prototype._lsSet = function _lsSet (lsKey, rawValue, type) {\n var key = this._getLsKey(lsKey);\n var value = type && [Array, Object].includes(type)\n ? JSON.stringify(rawValue)\n : rawValue;\n\n window.localStorage.setItem(key, value);\n};\n\n/**\n * Get value from localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @returns {any}\n * @private\n */\nVueLocalStorage.prototype._lsGet = function _lsGet (lsKey) {\n var key = this._getLsKey(lsKey);\n\n return window.localStorage[key]\n};\n\n/**\n * Get value from localStorage\n *\n * @param {String} lsKey\n * @param {*} defaultValue\n * @param {*} defaultType\n * @returns {*}\n */\nVueLocalStorage.prototype.get = function get (lsKey, defaultValue, defaultType) {\n var this$1 = this;\n if ( defaultValue === void 0 ) defaultValue = null;\n if ( defaultType === void 0 ) defaultType = String;\n\n if (!this._isSupported) {\n return null\n }\n\n if (this._lsGet(lsKey)) {\n var type = defaultType;\n\n for (var key in this$1._properties) {\n if (key === lsKey) {\n type = this$1._properties[key].type;\n break\n }\n }\n\n return this._process(type, this._lsGet(lsKey))\n }\n\n return defaultValue !== null ? defaultValue : null\n};\n\n/**\n * Set localStorage value\n *\n * @param {String} lsKey\n * @param {*} value\n * @returns {*}\n */\nVueLocalStorage.prototype.set = function set (lsKey, value) {\n var this$1 = this;\n\n if (!this._isSupported) {\n return null\n }\n\n for (var key in this$1._properties) {\n var type = this$1._properties[key].type;\n\n if ((key === lsKey)) {\n this$1._lsSet(lsKey, value, type);\n\n return value\n }\n }\n\n this._lsSet(lsKey, value);\n\n return value\n};\n\n/**\n * Remove value from localStorage\n *\n * @param {String} lsKey\n */\nVueLocalStorage.prototype.remove = function remove (lsKey) {\n if (!this._isSupported) {\n return null\n }\n\n return window.localStorage.removeItem(lsKey)\n};\n\n/**\n * Add new property to localStorage\n *\n * @param {String} key\n * @param {function} type\n * @param {*} defaultValue\n */\nVueLocalStorage.prototype.addProperty = function addProperty (key, type, defaultValue) {\n if ( defaultValue === void 0 ) defaultValue = undefined;\n\n type = type || String;\n\n this._properties[key] = { type: type };\n\n if (!this._lsGet(key) && defaultValue !== null) {\n this._lsSet(key, defaultValue, type);\n }\n};\n\n/**\n * Process the value before return it from localStorage\n *\n * @param {String} type\n * @param {*} value\n * @returns {*}\n * @private\n */\nVueLocalStorage.prototype._process = function _process (type, value) {\n switch (type) {\n case Boolean:\n return value === 'true'\n case Number:\n return parseFloat(value)\n case Array:\n try {\n var array = JSON.parse(value);\n\n return Array.isArray(array) ? array : []\n } catch (e) {\n return []\n }\n case Object:\n try {\n return JSON.parse(value)\n } catch (e) {\n return {}\n }\n default:\n return value\n }\n};\n\nObject.defineProperties( VueLocalStorage.prototype, prototypeAccessors );\n\nvar vueLocalStorage = new VueLocalStorage();\n\nvar index = {\n /**\n * Install vue-local-storage plugin\n *\n * @param {Vue} Vue\n * @param {Object} options\n */\n install: function (Vue, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof process !== 'undefined' &&\n (\n process.server ||\n process.SERVER_BUILD ||\n (process.env && process.env.VUE_ENV === 'server')\n )\n ) {\n return\n }\n\n var isSupported = true;\n\n try {\n var test = '__vue-localstorage-test__';\n\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n } catch (e) {\n isSupported = false;\n vueLocalStorage._isSupported = false;\n\n console.error('Local storage is not supported');\n }\n\n var name = options.name || 'localStorage';\n var bind = options.bind;\n\n if (options.namespace) {\n vueLocalStorage.namespace = options.namespace;\n }\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n var this$1 = this;\n\n if (!isSupported) {\n return\n }\n\n if (this.$options[name]) {\n Object.keys(this.$options[name]).forEach(function (key) {\n var config = this$1.$options[name][key];\n var ref = [config.type, config.default];\n var type = ref[0];\n var defaultValue = ref[1];\n\n vueLocalStorage.addProperty(key, type, defaultValue);\n\n var existingProp = Object.getOwnPropertyDescriptor(vueLocalStorage, key);\n\n if (!existingProp) {\n var prop = {\n get: function () { return Vue.localStorage.get(key, defaultValue); },\n set: function (val) { return Vue.localStorage.set(key, val); },\n configurable: true\n };\n\n Object.defineProperty(vueLocalStorage, key, prop);\n Vue.util.defineReactive(vueLocalStorage, key, defaultValue);\n } else if (!Vue.config.silent) {\n console.log((key + \": is already defined and will be reused\"));\n }\n\n if ((bind || config.bind) && config.bind !== false) {\n this$1.$options.computed = this$1.$options.computed || {};\n\n if (!this$1.$options.computed[key]) {\n this$1.$options.computed[key] = {\n get: function () { return Vue.localStorage[key]; },\n set: function (val) { Vue.localStorage[key] = val; }\n };\n }\n }\n });\n }\n }\n });\n\n Vue[name] = vueLocalStorage;\n Vue.prototype[(\"$\" + name)] = vueLocalStorage;\n }\n};\n\nreturn index;\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-localstorage/dist/vue-local-storage.js\n// module id = 45\n// module chunks = 0","module.exports = require('./lib/axios');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/index.js\n// module id = 46\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/axios.js\n// module id = 47\n// module chunks = 0","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/is-buffer/index.js\n// module id = 48\n// module chunks = 0","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/Axios.js\n// module id = 49\n// module chunks = 0","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/normalizeHeaderName.js\n// module id = 50\n// module chunks = 0","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/settle.js\n// module id = 51\n// module chunks = 0","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/enhanceError.js\n// module id = 52\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/buildURL.js\n// module id = 53\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/parseHeaders.js\n// module id = 54\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/isURLSameOrigin.js\n// module id = 55\n// module chunks = 0","'use strict';\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/btoa.js\n// module id = 56\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/cookies.js\n// module id = 57\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/InterceptorManager.js\n// module id = 58\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/dispatchRequest.js\n// module id = 59\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/transformData.js\n// module id = 60\n// module chunks = 0","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/isAbsoluteURL.js\n// module id = 61\n// module chunks = 0","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/combineURLs.js\n// module id = 62\n// module chunks = 0","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/cancel/CancelToken.js\n// module id = 63\n// module chunks = 0","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/spread.js\n// module id = 64\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('app-navigation',{attrs:{\"menu\":_vm.menu}},[_c('template',{slot:\"settings-content\"},[_c('div',[_c('p',[_vm._v(_vm._s(_vm.t('settings', 'Default quota :')))]),_vm._v(\" \"),_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.defaultQuota,\"options\":_vm.quotaOptions,\"tag-placeholder\":\"create\",\"placeholder\":_vm.t('settings', 'Select default quota'),\"label\":\"label\",\"track-by\":\"id\",\"allowEmpty\":false,\"taggable\":true},on:{\"tag\":_vm.validateQuota,\"input\":_vm.setDefaultQuota}})],1),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showLanguages),expression:\"showLanguages\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showLanguages\"},domProps:{\"checked\":_vm.showLanguages,\"checked\":Array.isArray(_vm.showLanguages)?_vm._i(_vm.showLanguages,null)>-1:(_vm.showLanguages)},on:{\"change\":function($event){var $$a=_vm.showLanguages,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showLanguages=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showLanguages=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showLanguages=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showLanguages\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show Languages')))])]),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showLastLogin),expression:\"showLastLogin\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showLastLogin\"},domProps:{\"checked\":_vm.showLastLogin,\"checked\":Array.isArray(_vm.showLastLogin)?_vm._i(_vm.showLastLogin,null)>-1:(_vm.showLastLogin)},on:{\"change\":function($event){var $$a=_vm.showLastLogin,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showLastLogin=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showLastLogin=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showLastLogin=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showLastLogin\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show last login')))])]),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showUserBackend),expression:\"showUserBackend\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showUserBackend\"},domProps:{\"checked\":_vm.showUserBackend,\"checked\":Array.isArray(_vm.showUserBackend)?_vm._i(_vm.showUserBackend,null)>-1:(_vm.showUserBackend)},on:{\"change\":function($event){var $$a=_vm.showUserBackend,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showUserBackend=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showUserBackend=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showUserBackend=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showUserBackend\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show user backend')))])]),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showStoragePath),expression:\"showStoragePath\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showStoragePath\"},domProps:{\"checked\":_vm.showStoragePath,\"checked\":Array.isArray(_vm.showStoragePath)?_vm._i(_vm.showStoragePath,null)>-1:(_vm.showStoragePath)},on:{\"change\":function($event){var $$a=_vm.showStoragePath,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showStoragePath=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showStoragePath=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showStoragePath=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showStoragePath\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show storage path')))])])])],2),_vm._v(\" \"),_c('user-list',{attrs:{\"users\":_vm.users,\"showConfig\":_vm.showConfig,\"selectedGroup\":_vm.selectedGroup}})],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2db113c0\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/Users.vue\n// module id = 65\n// module chunks = 0","import Vue from 'vue';\nimport Vuex from 'vuex';\nimport users from './users';\nimport settings from './settings';\nimport oc from './oc';\n\nVue.use(Vuex)\n\nconst debug = process.env.NODE_ENV !== 'production';\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\tconsole.log(state, error);\n\t\tOC.Notification.showTemporary(t('settings','An error occured during the request. Unable to proceed.'));\n\t}\n};\n\nexport default new Vuex.Store({\n\tmodules: {\n\t\tusers,\n\t\tsettings,\n\t\toc\n\t},\n\tstrict: debug,\n\n\tmutations\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/index.js","/**\n * vuex v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\nvar applyMixin = function (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n};\n\nvar devtoolHook =\n typeof window !== 'undefined' &&\n window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array<Object>} cache\n * @return {*}\n */\n\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n this._children = Object.create(null);\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors$1 = { namespaced: { configurable: true } };\n\nprototypeAccessors$1.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors$1 );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n if (!parent.getChild(key).runtime) { return }\n\n parent.removeChild(key);\n};\n\nfunction update (path, targetModule, newModule) {\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"Store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n var state = options.state; if ( state === void 0 ) state = {};\n if (typeof state === 'function') {\n state = state() || {};\n }\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n if (Vue.config.devtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors = { state: { configurable: true } };\n\nprototypeAccessors.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors.state.set = function (v) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, \"Use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n this._subscribers.forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n process.env.NODE_ENV !== 'production' &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n this._actionSubscribers.forEach(function (sub) { return sub(action, this$1.state); });\n\n return entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload)\n};\n\nStore.prototype.subscribe = function subscribe (fn) {\n return genericSubscribe(fn, this._subscribers)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn) {\n return genericSubscribe(fn, this._actionSubscribers)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors );\n\nfunction genericSubscribe (fn, subs) {\n if (subs.indexOf(fn) < 0) {\n subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n computed[key] = function () { return fn(store); };\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n var gettersProxy = {};\n\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n\n return gettersProxy\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload, cb) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload, cb);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if (process.env.NODE_ENV !== 'production') {\n assert(store._committing, \"Do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.length\n ? path.reduce(function (state, key) { return state[key]; }, state)\n : state\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof type === 'string', (\"Expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if (process.env.NODE_ENV !== 'production' && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\nfunction normalizeMap (map) {\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if (process.env.NODE_ENV !== 'production' && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\nvar index_esm = {\n Store: Store,\n install: install,\n version: '3.0.1',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers\n};\n\nexport { Store, install, mapState, mapMutations, mapGetters, mapActions, createNamespacedHelpers };\nexport default index_esm;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vuex/dist/vuex.esm.js\n// module id = 67\n// module chunks = 0","import api from './api';\n\nconst orderGroups = function(groups, orderBy) {\n\t/* const SORT_USERCOUNT = 1;\n\t * const SORT_GROUPNAME = 2;\n\t * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n\t */\n\tif (orderBy === 1) {\n\t\treturn groups.sort((a, b) => a.usercount < b.usercount);\n\t} else {\n\t\treturn groups.sort((a, b) => a.name.localeCompare(b.name));\n\t}\n};\n\nconst state = {\n\tusers: [],\n\tgroups: [],\n\torderBy: 1,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tuserCount: 0\n};\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\t// convert obj to array\n\t\tlet users = state.users.concat(Object.keys(usersObj).map(userid => usersObj[userid]));\n\t\tstate.usersOffset += state.usersLimit;\n\t\tstate.users = users;\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length!=='' ? length : 0;\n\t},\n\tinitGroups(state, {groups, orderBy, userCount}) {\n\t\tstate.groups = groups;\n\t\tstate.orderBy = orderBy;\n\t\tstate.userCount = userCount;\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t},\n\taddGroup(state, gid) {\n\t\ttry {\n\t\t\tstate.groups.push({\n\t\t\t\tid: gid,\n\t\t\t\tname: gid,\n\t\t\t\tusercount: 0 // user will be added after the creation\n\t\t\t});\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t\t} catch (e) {\n\t\t\tconsole.log('Can\\'t create group', e);\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tlet groupIndex = state.groups.findIndex(groupSearch => groupSearch.id == gid);\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1);\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\tlet group = state.groups.find(groupSearch => groupSearch.id == gid);\n\t\tif (group) {\n\t\t\tgroup.usercount++; // increase count\n\t\t}\n\t\tlet groups = state.users.find(user => user.id == userid).groups;\n\t\tgroups.push(gid);\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\tlet group = state.groups.find(groupSearch => groupSearch.id == gid);\n\t\tif (group) {\n\t\t\tgroup.usercount--; // lower count\n\t\t}\n\t\tlet groups = state.users.find(user => user.id == userid).groups;\n\t\tgroups.splice(groups.indexOf(gid),1);\n\t\tstate.groups = orderGroups(state.groups, state.orderBy);\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tlet groups = state.users.find(user => user.id == userid).subadmin;\n\t\tgroups.push(gid);\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tlet groups = state.users.find(user => user.id == userid).subadmin;\n\t\tgroups.splice(groups.indexOf(gid),1);\n\t},\n\tdeleteUser(state, userid) {\n\t\tlet userIndex = state.users.findIndex(user => user.id == userid);\n\t\tstate.users.splice(userIndex, 1);\n\t},\n\taddUserData(state, response) {\n\t\tstate.users.push(response.data.ocs.data);\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tstate.users.find(user => user.id == userid).enabled = enabled;\n\t\t// increment or not\n\t\tstate.groups.find(group => group.id == 'disabled').usercount += enabled ? -1 : 1;\n\t\tstate.userCount += enabled ? 1 : -1;\n\t\tconsole.log(enabled);\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tlet humanValue = OC.Util.computerFileSize(value);\n\t\t\tstate.users.find(user => user.id == userid)[key][key] = humanValue?humanValue:value;\n\t\t} else {\n\t\t\tstate.users.find(user => user.id == userid)[key] = value;\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t */\n\tresetUsers(state) {\n\t\tstate.users = [];\n\t\tstate.usersOffset = 0;\n\t}\n};\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users;\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups;\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength;\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset;\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit;\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount;\n\t}\n};\n\nconst actions = {\n\n\t/**\n\t * Get all users with full details\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {int} options.offset List offset to request\n\t * @param {int} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @returns {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tsearch = typeof search === 'string' ? search : '';\n\t\tgroup = typeof group === 'string' ? group : '';\n\t\tif (group !== '') {\n\t\t\treturn api.get(OC.linkToOCS(`cloud/groups/${group}/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t\t}\n\n\t\treturn api.get(OC.linkToOCS(`cloud/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\n\t/**\n\t * Get all users with full details\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {int} options.offset List offset to request\n\t * @param {int} options.limit List number to return from offset\n\t * @returns {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : '';\n\t\treturn api.get(OC.linkToOCS(`cloud/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {int} options.offset List offset to request\n\t * @param {int} options.limit List number to return from offset\n\t * @returns {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(OC.linkToOCS(`cloud/users/${groupid}/details?offset=${offset}&limit=${limit}`, 2))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\t\n\n\tgetPasswordPolicyMinLength(context) {\n\t\treturn api.get(OC.linkToOCS('apps/provisioning_api/api/v1/config/apps/password_policy/minLength', 2))\n\t\t\t.then((response) => context.commit('setPasswordPolicyMinLength', response.data.ocs.data.data))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error));\n\t},\n\n\t/**\n\t * Add group\n\t * \n\t * @param {Object} context\n\t * @param {string} gid Group id\n\t * @returns {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/groups`, 2), {groupid: gid})\n\t\t\t\t.then((response) => context.commit('addGroup', gid))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Remove group\n\t * \n\t * @param {Object} context\n\t * @param {string} gid Group id\n\t * @returns {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/groups/${gid}`, 2))\n\t\t\t\t.then((response) => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }));\n\t},\n\n\t/**\n\t * Add user to group\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/users/${userid}/groups`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Remove user from group\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/users/${userid}/groups`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Add user to group admin\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/users/${userid}/subadmins`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/users/${userid}/subadmins`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Delete a user\n\t * \n\t * @param {Object} context\n\t * @param {string} userid User id \n\t * @returns {Promise}\n\t */\n\tdeleteUser(context, { userid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(OC.linkToOCS(`cloud/users/${userid}`, 2))\n\t\t\t\t.then((response) => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Add a user\n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password \n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @returns {Promise}\n\t */\n\taddUser({context, dispatch}, { userid, password, email, groups, subadmin, quota, language }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`cloud/users`, 2), { userid, password, email, groups, subadmin, quota, language })\n\t\t\t\t.then((response) => dispatch('addUserData', userid))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t * \n\t * @param {Object} context\n\t * @param {string} userid User id \n\t * @returns {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.get(OC.linkToOCS(`cloud/users/${userid}`, 2))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/** Enable or disable user \n\t * \n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @returns {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tlet userStatus = enabled ? 'enable' : 'disable';\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(OC.linkToOCS(`cloud/users/${userid}/${userStatus}`, 2))\n\t\t\t\t.then((response) => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t},\n\n\t/**\n\t * Edit user data\n\t * \n\t * @param {Object} context \n\t * @param {Object} options\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @returns {Promise}\n\t */\n\tsetUserData(context, { userid, key, value }) {\n\t\tlet allowedEmpty = ['email', 'displayname'];\n\t\tif (['email', 'language', 'quota', 'displayname', 'password'].indexOf(key) !== -1) {\n\t\t\t// We allow empty email or displayname\n\t\t\tif (typeof value === 'string' &&\n\t\t\t\t(\n\t\t\t\t\t(allowedEmpty.indexOf(key) === -1 && value.length > 0) ||\n\t\t\t\t\tallowedEmpty.indexOf(key) !== -1\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn api.requireAdmin().then((response) => {\n\t\t\t\t\treturn api.put(OC.linkToOCS(`cloud/users/${userid}`, 2), { key: key, value: value })\n\t\t\t\t\t\t.then((response) => context.commit('setUserData', { userid, key, value }))\n\t\t\t\t\t\t.catch((error) => {throw error;});\n\t\t\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }));\n\t\t\t}\n\t\t}\n\t\treturn Promise.reject(new Error('Invalid request data'));\n\t}\n};\n\nexport default { state, mutations, getters, actions };\n\n\n// WEBPACK FOOTER //\n// ./src/store/users.js","import api from './api';\n\nconst state = {\n\tserverData: {}\n};\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data;\n\t}\n};\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData;\n\t}\n};\nconst actions = {};\n\nexport default {state, mutations, getters, actions};\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/settings.js","import api from './api';\n\nconst state = {};\nconst mutations = {};\nconst getters = {};\nconst actions = {\n\t/**\n * Set application config in database\n * \n\t * @param {Object} context\n * @param {Object} options\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @returns{Promise}\n\t */\n\tsetAppConfig(context, {app, key, value}) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(OC.linkToOCS(`apps/provisioning_api/api/v1/config/apps/${app}/${key}`, 2), {value: value})\n\t\t\t\t.catch((error) => {throw error;});\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }));;\n }\n};\n\nexport default {state, mutations, getters, actions};\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/oc.js"],"sourceRoot":""} \ No newline at end of file