magix
Version:
view manager framewrok
1 lines • 21.8 kB
JavaScript
/*!3.8.14 MIT kooboy_li@163.com*/module.exports=function(){var n=require("$"),t=n.isPlainObject,e=n.isArray,r=0,i="",o=[],a=window,f=void 0,u=document,c=u.documentElement.getAttribute,h=function(n,t){return c.call(n,t)},s=n(u),d=a.setTimeout;function v(){}var l,$=JSON.stringify,p="\x1e",g="prototype",m="params",b=/[#?].*$/,w=/([^=&?\/#]+)=?([^&#?]*)/g,y=/(?!^)=|&/,x=function(n){return(n||"mx_")+r++},k=x(),V={rootId:x(),defaultView:k,error:function(n){throw n}},I=function(n){return"object"==typeof n?n:u.getElementById(n)},T=function(n){return!n||"object"!=typeof n},C=function(n,t,e,r){var i,o,a,f=0;for(a in n)i=n[a],o=t[a],T(i)&&o===i||H(r,a)||(e[a]=1,f=1),t[a]=i;return f},S=function(n,t,e){if(n=I(n),t=I(t),n&&t&&!(e=n==t))try{e=16==(16&t.compareDocumentPosition(n))}catch(n){}return e};function j(n){for(var t,e=1,r=arguments.length;e<r;e++)for(var i in t=arguments[e])H(t,i)&&(n[i]=t[i]);return n}var q=function(n,t,e){for(e in t=[],n)H(n,e)&&t.push(e);return t},A=V.hasOwnProperty,U=n("head"),E=function(n,t){t&&!E[n]&&(E[n]=1,U.append("<style>"+t))},N=function(n){return h(n,"id")||(n.$a=1,n.id=x())},P=function(n,t,r,i,a){t=t||o,e(n)||(n=[n]),e(t)||(t=[t]);for(var f=0,u=n;f<u.length;f++){a=u[f];try{i=a&&a.apply(r,t)}catch(n){V.error(n)}}return i},H=function(n,t){return n&&A.call(n,t)},M=function(n,t){var e,r;if(T(t))(e=t+i)[0]==p&&H(n,e)&&(t=n[e]);else for(e in t)r=t[e],r=M(n,r),t[e]=r;return t},O=function(n,t){return t.f-n.f||t.t-n.t};function _(n,t,e,r){(r=this).c=[],r.b=t||5,r.x=r.b+(n||20),r.r=e}j(_[g],{get:function(n){var t=this.c[p+n];return t&&(t.f++,t.t=r++,t=t.v),t},each:function(n,t,e){for(var r=0,i=(e=this).c;r<i.length;r++)n(i[r].v,t,e)},set:function(n,t){var e=this.c,i=p+n,o=e[i],a=this.b;if(!o){if(e.length>=this.x)for(e.sort(O);a--;)(o=e.pop()).f>0&&this.del(o.o);o={o:n},e.push(o),e[i]=o}o.v=t,o.f=1,o.t=r++},del:function(n){n=p+n;var t=this.c,e=t[n],r=this.r;e&&(e.f=-1,e.v=i,delete t[n],r&&P(r,e.o))},has:function(n){return H(this.c,p+n)}});var L,R=n.isFunction,Z=V.views={},B=function(n,t){if(Z[k]||(Z[k]=L),!n)return t();e(n)||(n=[n]);for(var r,i=[],o=0,a=function(){o||t.apply(fn,i)},f=function(n,t,e){(n=n(e=function(n){i[t]||(o--,i[t]=n,a())})).then&&n.then(e)},u=0;u<n.length;u++)r=Z[n[u]],R(r)&&!r.extend?(o++,f(r,u)):i[u]=Z[n[u]];a()};function D(){}var z,F=function(n,t,e,r,i){return D[g]=t[g],j(i=new D,e),j(n,r),i.constructor=n,n[g]=i,n},J=n.find||n.zepto,Q=J.matchesSelector||J.matches,X=function(n,t){t=n.data,n.eventTarget=t.e,P(t.f,n,t.v)},G=function(t,e,r,i,o){o&&(e+="."+o.i),i?n(t).off(e,r):n(t).on(e,o,r)},K=function(n){return n},W=new _,Y=0,nn=function(n,t,e){try{e=decodeURIComponent(e)}catch(n){}z[t]=e},tn=function(n){var t,e=W.get(n);return e||(z={},t=n.replace(b,i),n==t&&y.test(t)&&(t=i),n.replace(t,i).replace(w,nn),W.set(n,e={a:t,b:z})),{path:e.a,params:j({},e.b)}},en=function(n,t,e){var r,o,a,f=[];for(o in t)r=t[o]+i,(!e||r||H(e,o))&&(r=encodeURIComponent(r),f.push(a=o+"="+r));return a&&(n+=(n&&(~n.indexOf("?")?"&":"?"))+f.join("&")),n},rn=function(n,t){var e,r={};if(n)for(var i=0,o=n;i<o.length;i++)e=o[i],r[t&&e?e[t]:e]=t?e:1+(0|r[e]);return r},on=new _,an=function(n,t,e){return on.has(n)?e=on.get(n):(e=P(Function("return "+n)),n.indexOf(p)>-1?M(t,e):on.set(n,e)),e},fn={config:function(n,e){return e=V,n&&(e=t(n)?j(e,n):e[n]),e},boot:function(n){j(V,n),B(V.ini,function(t){j(V,t,n),B(V.exts,function(){Pn.on("changed",Ln),$n.on("changed",Ln),Y=1,An()})})},toMap:rn,toTry:P,toUrl:en,parseUrl:tn,mix:j,has:H,keys:q,inside:S,node:I,applyStyle:E,guid:x,use:B,Cache:_,nodeId:N,guard:K},un={fire:function(n,t,e,r){var o,a,f,u,c=this,h=c[p+n];if(t||(t={}),t.type=n,h)for(a=(o=h.length)-1;o--;)(u=h[f=r?o:a-o]).f?(u.x=1,P(u.f,t,c),u.x=i):u.x||(h.splice(f,1),a--);return(h=c["on"+n])&&P(h,t,c),e&&c.off(n),c},on:function(n,t){var e=p+n;return(this[e]||(this[e]=[])).push({f:t}),this},off:function(n,t){var e,r=p+n,o=this[r];if(t){if(o)for(var a=0,f=o;a<f.length;a++)if((e=f[a]).f==t){e.f=i;break}}else delete this[r],delete this["on"+n];return this}};fn.Event=un;var cn={},hn={},sn={},dn=0,vn=function(n){for(var t=0,e=n=(n+i).split(",");t<e.length;t++){var r=e[t];H(hn,r)?hn[r]++:hn[r]=1}return n},ln=function(n){for(var t,e=0,r=n;e<r.length;e++)t=r[e],H(hn,t)&&(--hn[t]||(delete hn[t],delete cn[t]))};var $n=j({get:function(n){var t=n?cn[n]:cn;return t},set:function(n,t){return dn=C(n,cn,sn,t)||dn,this},digest:function(n,t){if(n&&$n.set(n,t),dn){dn=0;var e=j({},sn);sn={},this.fire("changed",{keys:e})}},diff:function(){return sn},clean:function(n){return{ctor:function(){n=vn(n),this.on("destroy",function(){return ln(n)})}}}},un);fn.State=$n;var pn,gn=new _,mn=new _,bn=a.location,wn=0,yn={query:{},params:{},href:i},xn=/(?:^.*\/\/[^\/]+|#.*$)/gi,kn=/^[^#]*#?!?/;function Vn(n,t){return this[m][n]||t!==f&&t||i}var In,Tn,Cn,Sn,jn,qn=function(n,t){n="#!"+n,t?bn.replace(n):bn.hash=n},An=function(){var n,t,e=En().srcHash;G(a,"hashchange",function(r,o,a){t||(o=En(),(n=o.srcHash)!=e&&(a=function(){r.p=1,e=n,t=i,qn(n),Nn()},r={reject:function(){r.p=1,t=i,qn(e)},resolve:a,prevent:function(){t=1}},Pn.fire("change",r),t||r.p||a()))}),G(a,"beforeunload",function(n,t,e){if(n=n||a.event,t={},Pn.fire("pageunload",t),e=t.msg)return n&&(n.returnValue=e),e}),Nn()},Un=u.title,En=function(n){n=n||bn.href;var e,r,o,a,f=gn.get(n);return f||(e=n.replace(xn,i),r=n.replace(kn,i),f={get:Vn,href:n,srcQuery:e,srcHash:r,query:o=tn(e),hash:a=tn(r),params:j({},o[m],a[m])},Y&&(!function(n,e){if(In||(In=V.routes||{},Tn=V.unmatchView,Cn=V.defaultView,Sn=V.defaultPath||"/",jn=V.rewrite),!n.view){var r=n.hash.path||Sn;jn&&(r=jn(r,n[m],In)),e=In[r]||Tn||Cn,n.path=r,n.view=e,t(e)&&j(n,e)}}(f),gn.set(n,f))),f},Nn=function(){var n=En(),t=function(n,t){var e=n.href,r=t.href,i=e+p+r,o=mn.get(i);if(!o){var a,f;o={params:f={},force:!e};for(var u=n[m],c=t[m],h=function(n){var t=u[n],e=c[n];t!=e&&(f[n]={from:t,to:e},a=1)},s=0,d=q(u).concat(q(c));s<d.length;s++)h(d[s]);u=n,c=t,f=o,h("path"),h("view"),mn.set(i,o={a:a,b:o})}return o}(yn,yn=n);return!wn&&t.a&&((pn=t.b).path&&(u.title=n.title||Un),Pn.fire("changed",pn)),wn=0,pn},Pn=j({parse:En,diff:Nn,to:function(n,e,r,o){!e&&t(n)&&(e=n,n=i);var a=tn(n),f=a[m],u=a.path,c=yn.path,h=yn[m],s=yn.query[m];if(j(f,e),u)for(c in s)H(f,c)||(f[c]=i);else h&&(u=c,f=j({},h,f));!function(n,t,e,r,i,o){(n=en(n,t,o))!=e.srcHash&&(wn=i,qn(n,r))}(u,f,yn,r,o,s)}},un);fn.Router=Pn;var Hn,Mn,On=0,_n=function(n,t,e,r,i,o,a){n&&n.$a!=On&&(e=n.$v)&&e.$a>1&&((t?function(n,t,e){var r,i=n.$os;if(i)for(var o=0,a=i;o<a.length&&(r=a[o],!(e=H(t,r)));o++);return e}(e,t):_t(e))&&(a=e.$b()),a&&a.then||(a=Zn),a.then(function(){for(var e=0,r=n.children();e<r.length;e++)o=r[e],_n(Rn[o],t)}))},Ln=function(n,t,e){t=Fn(),(e=n.view)?t.mountView(e.to):(On=r++,_n(t,n.keys))},Rn={},Zn={then:function(n){return n()}},Bn=function(n){if(!n.$b&&!n.$d&&n.$cc==n.$rc){n.$cr||(n.$cr=1,n.$ca=0,n.fire("created"));var t=n.id,e=n.pId,r=Rn[e];r&&!H(r.$e,t)&&(r.$e[t]=1,r.$rc++,Bn(r))}},Dn=function(n,t){if(!n.$ca&&n.$cr){n.$cr=0,n.$ca=1,n.fire("alter",t);var e=n.id,r=n.pId,i=Rn[r];i&&H(i.$e,e)&&(i.$rc--,delete i.$e[e],Dn(i,t))}},zn=function(n,t,e,r){return r=(r=(r=Rn[n])&&r.$v)?r.$d.$a:{},t.indexOf(p)>0&&M(r,e),r},Fn=function(n){return Hn||(l=u.body,n=V.rootId,I(n)||(l.id=n),Hn=new Xn(n)),Hn},Jn=function(n,t){H(Rn,n)||(Rn[n]=t,Xn.fire("add",{vframe:t}),(n=I(n))&&(n.vframe=t))},Qn=[];function Xn(n,t,e){(e=this).id=n,e.$c={},e.$cc=0,e.$rc=0,e.$g=e.$g||1,e.$e={},e.$f=[],e.pId=t,Jn(n,e)}j(Xn,{all:function(){return Rn},get:function(n){return Rn[n]}},un),j(Xn[g],un,{mountView:function(n,t){var e,r,o,a,f,u=this,c=u.id,h=I(c),s=u.pId;!u.$h&&h&&(u.$h=1,u.$i=h.innerHTML),u.unmountView(),u.$b=0,e=tn(n||i),o=e.path,h&&o&&(u.path=n,a=e[m],zn(s,n,a),u.$j=e.path,j(a,t),r=u.$g,B(o,function(n){if(r==u.$g){if(!n)return V.error(Error("id:"+c+" cannot load:"+o));f=Ot(n),o=new n(c,u,a,h,f),u.$v=o,u.$a=On,Nt(o),P(o.init,[a,{node:h,deep:!o.tmpl}],o),o.$b(),o.tmpl||(u.$h=0,o.$e||o.endUpdate())}}))},unmountView:function(){var t,e,r=this,i=r.$v,o=r.id;r.$f=[],i&&(Mn||(e=1,Mn={id:o}),r.$b=1,r.unmountZone(0,1),Dn(r,Mn),r.$v=0,i.$a>0&&(i.$a=0,delete nt[o],delete tt[o],i.fire("destroy",0,1,1),Ut(i,1),Nt(i,1),i.owner=0),i.$a--,(t=I(o))&&r.$h&&n(t).html(r.$i),e&&(Mn=0)),r.$g++},mountVframe:function(n,t,e){var r,i=this,o=i.id,a=i.$c;return Dn(i,{id:n}),(r=Rn[n])||(H(a,n)||(i.$n=0,i.$cc++),a[n]=n,(r=Qn.pop())?Xn.call(r,n,o):r=new Xn(n,o)),r.mountView(t,e),r},mountZone:function(t,e){var r,i,o,a=this,f=[];t=t||a.id;var u=n("#"+t+" [mx-view]");a.$d=1;for(var c=0,s=u;c<s.length;c++)(i=s[c]).$b||(o=N(i),i.$b=1,f.push([o,h(i,"mx-view")]));for(var d=0,v=f;d<v.length;d++)o=(r=v[d])[0],i=r[1],a.mountVframe(o,i);a.$d=0,e||Bn(a)},unmountVframe:function(n,t){var e;if(n=n?this.$c[n]:this.id,e=Rn[n]){var r=e.$cr,i=e.pId;e.unmountView(),function(n,t,e){(e=Rn[n])&&(delete Rn[n],Xn.fire("remove",{vframe:e,fcc:t}),(n=I(n))&&(n.$b=0,n.vframe=0,n.$a=0))}(n,r),e.id=e.pId=e.$c=e.$e=0,e.$h=0,e.off("alter"),e.off("created"),Qn.push(e),(e=Rn[i])&&H(e.$c,n)&&(delete e.$c[n],e.$n=0,e.$cc--,t||Bn(e))}},unmountZone:function(n,t){var e;for(e in this.$c)(!n||e!=n&&S(e,n))&&this.unmountVframe(e,1);t||Bn(this)},parent:function(n,t){for(t=this,n=n>>>0||1;t&&n--;)t=Rn[t.pId];return t},children:function(n){return(n=this).$n||(n.$n=q(n.$c))},invoke:function(n,t){var e,r,i,o,a,f=this.$f;return(r=this.$v)&&r.$e?e=(i=r[n])&&P(i,t,r):((o=f[a=p+n])&&(o.r=t===o.a),o={n:n,a:t,k:a},f.push(o),f[a]=o),e}}),fn.Vframe=Xn,n.fn.invokeView=function(n,t){for(var e,r=[],i=0;i<this.length;i++)e=this[i].vframe,r.push(e&&e.invoke(n,t));return r};var Gn=new _(30,10),Kn=/(?:([\w\-]+)\x1e)?([^(]+)\(([\s\S]*)?\)/,Wn={},Yn={},nt={},tt={},et=0,rt=function(n,t){var e,r,i,a,f,u,c=[],s=n,d=h(n,"mx-"+t),v=[],$="#",p=0;if(d&&((f=Gn.get(d))||(f={v:(f=d.match(Kn)||o)[1],n:f[2],i:f[3]},Gn.set(d,f)),f=j({},f,{r:d})),f&&!f.v||Yn[t]){if((i=tt[r=s.$d])&&1==i[s.$e]&&(u=1,$=r),!u){for(v.push(s);s!=l&&(s=s.parentNode);){if(Rn[r=s.id]||(i=tt[r=s.$d])&&1==i[s.$e]){$=r;break}v.push(s)}for(var g=0,m=v;g<m.length;g++)d=m[g],(r=tt[$])||(r=tt[$]={}),r[i=d.$e||(d.$e=++et)]=1,d.$d=$}s=n.id,Rn[s]&&(p=$=s);do{if((e=Rn[$])&&(u=e.$v)){if(a=(i=u.$so)[t])for(s=a.length;s--;)i={r:r=a[s],v:$,n:r},r?!p&&Q(n,r)&&c.push(i):p&&c.unshift(i);if(u.tmpl&&!p){f&&!f.v&&(f.v=$);break}p=0}}while(e&&($=e.pId))}return f&&c.push(f),c},it=function(n){for(var t,e,r,i,o,a,f,u=n.target,c=n.type,h=[];u!=l;){if((t=rt(u,c)).length){h=[];for(var s=0,d=t;s<d.length;s++){var v=d[s],$=v.v,g=(v.r,v.n),b=v.i;if(a!=$){if(a&&n.isPropagationStopped())break;a=$}(i=(r=Rn[$])&&r.$v)?(o=i[g+p+c])&&(n.eventTarget=u,f=b?an(b,i.$d.$a):{},n[m]=f,P(o,n,i)):n.stopPropagation()}}if((e=nt[o=u.$d])&&(e=e[u.$e])&&e[c]||n.isPropagationStopped()){h.length&&h.push(o);break}a=u.id,Rn[a]&&h.push(a),h.push(u),u=u.parentNode||l}if(o=h.length)for(e="#";o--;)(i=h[o]).nodeType?((t=nt[e])||(t=nt[e]={}),(f=t[a=i.$e||(i.$e=++et)])||(f=t[a]={}),f[c]=1):e=i},ot="http://www.w3.org/2000/svg",at="http://www.w3.org/1998/Math/MathML",ft={option:[1,"<select multiple>"],thead:[1,"<table>"],col:[2,"<table><colgroup>"],tr:[2,"<table><tbody>"],td:[3,"<table><tbody><tr>"],area:[1,"<map>"],param:[1,"<object>"],g:[1,'<svg xmlns="'+ot+'">'],m:[1,'<math xmlns="'+at+'">'],_:[0,""]},ut=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i;ft.optgroup=ft.option,ft.tbody=ft.tfoot=ft.colgroup=ft.caption=ft.thead,ft.th=ft.td;var ct=u.implementation.createHTMLDocument(i),ht=ct.createElement("base");ht.href=u.location.href,ct.head.appendChild(ht);var st=function(n,t){if(1==t.nodeType){var e=N(t);n.unmountZone(e,1),n.$c[e]&&n.unmountVframe(e,1)}},dt={INPUT:["value","checked"],TEXTAREA:["value"],OPTION:["selected"]},vt=function(n,t){return 1==n.nodeType&&(n.$f?t=n.$g:((t=n.$a?i:h(n,"id"))||(t=h(n,"mxs")),t||(t=h(n,"mx-view"))&&(t=tn(t).path),n.$f=1,n.$g=t)),t},lt=function(n,t,e,r,i){for(var o,a,f,u,c,h=n.lastChild,s=t.firstChild,d=0,v={},l={};h;)d++,(f=vt(h))&&(f=v[f]||(v[f]=[])).push(h),h=h.previousSibling;for(;s;)(f=vt(s))&&(l[f]=(l[f]||0)+1),s=s.nextSibling;for(s=t.firstChild,h=n.firstChild;s;)if(d--,o=s,s=s.nextSibling,(u=v[f=vt(o)])&&(u=u.pop())){for(;u!=h;)c=h.nextSibling,n.appendChild(h),h=c;h=u.nextSibling,l[f]&&l[f]--,$t(u,o,n,e,r,i)}else h?(f=vt(a=h))&&v[f]&&l[f]?(d++,e.c=1,e.n.push([8,n,o,a])):(h=h.nextSibling,$t(a,o,n,e,r,i)):(e.c=1,e.n.push([1,n,o]));for(a=n.lastChild;d-- >0;)st(r,a),e.n.push([2,n,a]),a=a.previousSibling,e.c=1},$t=function(n,t,e,r,o,a){if(function(n,t){var e,r=n.nodeName,i=dt[r],o=0;if(i)for(var a=0,f=i;a<f.length;a++)n[e=f[a]]!=t[e]&&(o=1,n[e]=t[e]);return o}(n,t)||1==n.nodeType&&n.hasAttribute("mxv")||!n.isEqualNode||!n.isEqualNode(t))if(n.nodeName===t.nodeName)if(1===n.nodeType){var f=h(t,"mxs");if(f&&f==h(n,"mxs"))return;var u=h(t,"mx-view"),c=t.innerHTML,s=h(t,"mxa"),d=!s||s!=h(n,"mxa"),v=void 0,l=void 0,$=Rn[h(n,"id")],p=void 0,g=void 0,b=u&&tn(u),w=void 0,y=void 0,x=void 0;if(u&&$&&(!h(t,"id")||h(t,"id")==h(n,"id"))&&$.$j==b.path&&(g=$.$v)){if(y=c!=$.$i,x=u!=$.path,p=h(n,"mxv"),!y&&!x&&p)for(var k=0,V=w=p.split(",");k<V.length;k++)if("#"==(p=V[k])||H(a,p)){x=1;break}(x||y)&&((p=g.$e&&g.$f)?(w=b[m],zn($.pId,u,w),$.$i=c,$.path=u,b={node:t,deep:!g.tmpl,attr:d,inner:y,query:x,keys:a},P(p,[w,b],g)&&r.v.push(g),v=b.deep):(l=1,v=1))}else v=1,l=$;l&&(r.c=1,$.unmountVframe(0,1)),d&&function(n,t,e,r){var o,a,f,u;delete n.$f;var c=n.attributes,s=t.attributes;for(a=c.length;a--;)o=c[a].name,t.hasAttribute(o)||("id"==o?r||e.d.push([n,i]):(e.c=1,n.removeAttribute(o)));for(a=s.length;a--;)f=(o=s[a]).name,u=o.value,h(n,f)!=u&&("id"==f?e.d.push([n,u]):(e.c=1,n.setAttribute(f,u)))}(n,t,r,$&&u),v&<(n,t,r,o,a)}else n.nodeValue!==t.nodeValue&&(r.c=1,n.nodeValue=t.nodeValue);else st(o,n),r.c=1,r.n.push([4,e,t,n])},pt={"&":"amp","<":"lt",">":"gt",'"':"#34","'":"#39","`":"#96"},gt=/[&<>"'\`]/g,mt=function(n){return""+(null==n?"":n)},bt=function(n){return"&"+pt[n]+";"},wt=function(n){return mt(n).replace(gt,bt)},yt=function(n,t,e,r){for(r=n[p];--r;)if(n[e=p+r]===t)return e;return n[e=p+n[p]++]=t,e},xt={"!":"%21","'":"%27","(":"%28",")":"%29","*":"%2A"},kt=function(n){return xt[n]},Vt=/[!')(*]/g,It=function(n){return encodeURIComponent(mt(n)).replace(Vt,kt)},Tt=/[\\'"]/g,Ct=function(n){return mt(n).replace(Tt,"\\$&")},St=function(n,t){var e,r,i=n.$k,o=n.$c,a=n.$b,f=Rn[a],u=f&&f.$v,c={d:[],v:[],n:[]},h=I(a),d=n.$d,v=n.$a,l=function(e){t.i<t.length?St(n,t):(c=t.slice(),t.i=t.length=0,e&&u.fire("domready"),P(c))};if(t.i=t.length,n.$c=0,n.$k={},o&&u&&h&&u.$a>0&&(e=u.tmpl)&&u.$d==n){u.fire("dompatch"),delete nt[a],delete tt[a],r=function(n,t){var e,r=ct.createElement("div"),i=t.namespaceURI;e=i==ot?"g":i==at?"m":(ut.exec(n)||[0,""])[1];var o=ft[e]||ft._;r.innerHTML=o[1]+n;for(var a=o[0];a--;)r=r.lastChild;return r}(e(d,a,v,wt,mt,It,yt,Ct),h),lt(h,r,c,f,i);for(var $=0,p=c.d;$<p.length;$++)(r=p[$])[0].id=r[1];for(var g=0,m=c.n;g<m.length;g++)1==(r=m[g])[0]?r[1].appendChild(r[2]):2==r[0]?r[1].removeChild(r[2]):4==r[0]?r[1].replaceChild(r[2],r[3]):r[1].insertBefore(r[2],r[3]);f.$d=e=c.c||!u.$e;for(var b=0,w=c.v;b<w.length;b++)(r=w[b]).$b();e&&u.endUpdate(a),c.c&&s.fire("htmlchanged",{vId:a}),l(1)}else l()};function jt(n){var t,e=this;e.$b=n,e.$c=1,e.$d={vId:n},e.$a=((t={})[p]=1,t),e.$e=[],e.$k={}}j(jt[g],{get:function(n,t){return t=this.$d,n&&(t=t[n]),t},set:function(n,t){var e=this;return e.$c=C(n,e.$d,e.$k,t)||e.$c,e},digest:function(n,t,e){var r=this.set(n,t),i=r.$e;e&&i.push(e),i.i||St(r,i)},snapshot:function(){return this.$f=$(this.$d),this},altered:function(){if(this.$f)return this.$f!=$(this.$d)},translate:function(n){return M(this.$d,n)},parse:function(n){return an(n,this.$a)}});var qt=/^(\$?)([^<]*)<([^>]+)>(?:&(.+))?$/,At=function(n,t,e){return n.a?e=n:((e=function(n){P(e.a,n,this)}).a=[n],e.b=1),e.a=e.a.concat(t.a||t),e},Ut=function(n,t){var e,r,i=n.$r;for(e in i)r=i[e],(t||r.x)&&Et(i,e,1)},Et=function(n,t,e,r){var i,a,f=n[t];return f&&f!=r&&((i=(a=f.e).destroy)&&e&&P(i,o,a),delete n[t]),a},Nt=function(n,t){var e,r,i,o,a,f,u=n.$eo,c=n.$so,h=n.$el,s=n.id;for(e in u)r=e,i=c[e],o=t,a=void 0,f=void 0,a=0|Wn[r],f=o?-1:1,a&&o!==a||G(l,r,it,o),Wn[r]=a+f,i&&(Yn[r]=(0|Yn[r])+f);for(var d=0,v=h;d<v.length;d++)e=v[d],G(e.e,e.n,X,t,{i:s,v:n,f:e.f,m:e.m,e:e.e})},Pt={win:a,doc:u},Ht=function(n,t,e){for(var r,i,o,a,f={},u=0,c=n;u<c.length;u++)for(r in i=c[u])o=i[r],a=f[r],"ctor"!=r?(qt.test(r)&&(a?o=At(a,o):o.b=1),f[r]=o):e.push(o);for(r in f)H(t,r)||(t[r]=f[r])};function Mt(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=this._||(this._=[]);return Ht(n,this[g],e),this}var Ot=function(n){if(!n[p]){n[p]=[];var t=n[g],e=void 0,r=void 0,i=void 0,o=void 0,a={},f=[],u={},c=void 0,h=void 0,s=void 0,d=void 0,v=void 0,l=void 0,$=void 0;for(s in(r=t.mixins)&&Ht(r,t,n[p]),t)if(e=t[s],r=s.match(qt)){if(h=r[1],i=r[2],o=r[3],l={},$=r[4])for(var m=0,b=$=$.split(",");m<b.length;m++)l[d=b[m]]=!0;for(var w=0,y=o=o.split(",");w<y.length;w++){if(d=y[w],c=Pt[i],v=1,h){if(c){f.push({f:e,e:c,n:d,m:l});continue}v=2,(c=u[d])||(c=u[d]=[]),c[i]||(c[i]=1,c.push(i))}a[d]=a[d]|v,(c=t[d=i+p+d])?c.b&&(e.b?t[d]=At(e,c):H(t,s)&&(t[d]=e)):t[d]=e}}!function(n,t,e,r,i){r=n[t],n[t]=n[e]=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];if((i=this).$a>0)return i.$a++,i.fire("rendercall"),Ut(i),P(r,n,i)}}(t,"render","$b"),t.$eo=a,t.$el=f,t.$so=u,t.$f=t.assign}return n[p]},_t=function(n){var t,e,r,i=n.$l;if(i.f&&(i.p&&(t=pn.path),!t&&i.k)){r=pn[m];for(var o=0,a=i.k;o<a.length&&(e=a[o],!(t=H(r,e)));o++);}return t};function Lt(n,t,e,r,i){(i=this).owner=t,i.id=n,i.$l={k:[]},i.$r={},i.$a=1,i.updater=i.$d=new jt(i.id),(n=Lt._)&&P(n,[e,{node:r,deep:!i.tmpl}],i)}j(Lt,{merge:Mt,extend:function n(t,e){var r=this,i=(t=t||{}).ctor,o=[];function a(n,t,e,i,f,u,c,h,s){r.call(c=this,n,t,e,i,f),u=a._,h=[e,{node:i,deep:!c.tmpl}],u&&P(u,h,c),(s=o.concat(f)).length&&P(s,h,c)}return i&&o.push(i),a.merge=Mt,a.extend=n,F(a,r,t,e)}}),j(Lt[g],un,{init:v,beginUpdate:function(n,t){(t=this).$a>0&&t.$e&&t.owner.unmountZone(n,1)},endUpdate:function(n,t,e,r,i){(e=this).$a>0&&(n=n||e.id,t?i=t:(i=e.$e,e.$e=1),(r=e.owner).mountZone(n,t),i||d(e.wrapAsync(function(){!function(n,t,e){for(t=n.$f;t.length;)(e=t.shift()).r||n.invoke(e.n,e.a),delete t[e.k]}(r)}),0))},wrapAsync:function(n,t){var e=this,r=e.$a;return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];if(r>0&&r==e.$a)return n.apply(t||e,i)}},observeLocation:function(n,e){var r;(r=this.$l).f=1,t(n)&&(e=n.path,n=n[m]),r.p=e,n&&(r.k=(n+i).split(","))},observeState:function(n){this.$os=(n+i).split(",")},capture:function(n,t,e,r){return r=this.$r,t?(Et(r,n,1,t),r[n]={e:t,x:e}):t=(r=r[n])&&r.e,t},release:function(n,t){return Et(this.$r,n,t)},leaveTip:function(n,t){var e=this,r=function(i){var o="a",a="b";"change"!=i.type&&(o="b",a="a"),r[o]?(i.prevent(),i.reject()):t()&&(i.prevent(),r[a]=1,e.leaveConfirm(function(){r[a]=0,i.resolve()},function(){r[a]=0,i.reject()},n))},i=function(e){t()&&(e.msg=n)};Pn.on("change",r),Pn.on("pageunload",i),e.on("unload",r),e.on("destroy",function(){Pn.off("change",r),Pn.off("pageunload",i)})},render:v}),fn.View=Lt;var Rt=n.type,Zt=Date.now;function Bt(){this.id=x("b"),this.$={}}j(Bt[g],{get:function(n,t){var r=this.$;if(n){for(var o=e(n)?n.slice():(n+i).split("."),a=void 0;(a=o.shift())&&r;)r=r[a];a&&(r=f)}return t!==f&&Rt(t)!=Rt(r)&&(r=t),r},set:function(n,e){var r;t(n)||((r={})[n]=e,n=r),j(this.$,n)}});function Dt(n,t,e){(e=this[n])&&(delete this[n],P(e,t,e.e))}var zt=function(n,t,r,i,o){if(n.$d)return n;if(n.$e)return n.enqueue(zt.bind(n,n,t,r,i,o));n.$e=1,e(t)||(t=[t]);for(var a=n.constructor,f=0,u=a.$f,c=function(n,t,e,r,i,o){var a=[],f=null,u=0;return function(c,h){u++;var s,d,v=this.$b,l=v.k;if(a[c+1]=this,h?(f=h,s=1):o.has(l)||(l&&o.set(l,this),v.t=Zt(),(d=v.a)&&P(d,this,this),(d=v.x)&&t.clear(d),s=1),!e.$d){var $=u==r;$&&(e.$e=0,2==i&&(a[0]=f,P(n,a,e))),1==i&&P(n,[h||null,this,$,c],e)}s&&t.fire("end",{bag:this,error:h})}}(r,a,n,t.length,i,a.$c),h=0,s=t;h<s.length;h++){var d=s[h];if(d){var v=a.get(d,o),l=v.e,$=l.$b.k,p=c.bind(l,f++),g=void 0;$&&u[$]?u[$].push(p):v.u?($&&((g=[p]).e=l,u[$]=g,p=Dt.bind(u,$)),a.$s(l,p)):p()}}return n};function Ft(){var n=this;n.id=x("s"),n.$g=[]}j(Ft[g],{all:function(n,t){return zt(this,n,t,2)},save:function(n,t){return zt(this,n,t,2,1)},one:function(n,t){return zt(this,n,t,1)},enqueue:function(n){var t=this;return t.$d||(t.$g.push(n),t.dequeue(t.$h)),t},dequeue:function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e,r=this;r.$e||r.$d||(r.$e=1,d(function(){r.$e=0,r.$d||(e=r.$g.shift())&&P(e,r.$h=n)},0))},destroy:function(n){(n=this).$d=1,n.$g=0}});var Jt=function(n,t){return[$(t),$(n)].join(p)},Qt=function(n,t,e,r){(r=n&&n.$b)&&t[r.n]&&e.del(r.k)},Xt=j({add:function(n){var t,r=this.$b;e(n)||(n=[n]);for(var i=0,o=n;i<o.length;i++)if(t=o[i]){var a=t.name,f=t.cache;t.cache=0|f,r[a]=t}},create:function(n){var e=this.meta(n),r=0|n.cache||e.cache,i=new Bt;i.set(e),i.$b={n:e.name,a:e.after,x:e.cleans,k:r&&Jt(e,n)},t(n)&&i.set(n);var o=e.before;return o&&P(o,i,i),this.fire("begin",{bag:i}),i},meta:function(n){return this.$b[n.name||n]||n},get:function(n,t){var e,r;return t||(e=this.cached(n)),e||(e=this.create(n),r=1),{e:e,u:r}},clear:function(n){this.$c.each(Qt,rn((n+i).split(",")))},cached:function(n){var t,e,r=this.$c,i=this.meta(n),o=0|n.cache||i.cache;if(o&&(e=Jt(i,n)),e){var a=this.$f[e];a?t=a.e:(t=r.get(e))&&Zt()-t.$b.t>o&&(r.del(e),t=0)}return t}},un);return Ft.extend=function(n,t,e){function r(){Ft.call(this)}return r.$s=n,r.$c=new _(t,e),r.$f={},r.$b={},F(r,Ft,null,Xt)},fn.Service=Ft,j(v[g],un),v.extend=function n(t,e){var r=this,i=t&&t.ctor;function o(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];r.apply(this,n),i&&i.apply(this,n)}return o.extend=n,F(o,r,t,e)},fn.Base=v,L=Lt.extend(),fn.addView=function(n,t){Z[n]=t},fn}();