magix
Version:
view manager framewrok
1 lines • 21.5 kB
JavaScript
/*!3.8.14 MIT kooboy_li@163.com*/KISSY.add("magix",function(n,e,t,r){var i=n.all,o=n.isObject,a=n.isArray,f=0,u="",c=[],h=window,s=void 0,d=document,v=d.documentElement.getAttribute,l=function(n,e){return v.call(n,e)},$=i(d),p=h.setTimeout;function g(){}var m,b=JSON.stringify,w="\x1e",y="prototype",x="params",k=/[#?].*$/,V=/([^=&?\/#]+)=?([^&#?]*)/g,I=/(?!^)=|&/,T=function(n){return(n||"mx_")+f++},S=T(),C={rootId:T(),defaultView:S,error:function(n){throw n}},j=function(n){return"object"==typeof n?n:d.getElementById(n)},q=function(n){return!n||"object"!=typeof n},A=function(n,e,t,r){var i,o,a,f=0;for(a in n)i=n[a],o=e[a],q(i)&&o===i||L(r,a)||(t[a]=1,f=1),e[a]=i;return f},U=function(n,e,t){if(n=j(n),e=j(e),n&&e&&!(t=n==e))try{t=16==(16&e.compareDocumentPosition(n))}catch(n){}return t};function E(n){for(var e,t=1,r=arguments.length;t<r;t++)for(var i in e=arguments[t])L(e,i)&&(n[i]=e[i]);return n}var N=function(n,e,t){for(t in e=[],n)L(n,t)&&e.push(t);return e},H=C.hasOwnProperty,M=i("head"),O=function(n,e){e&&!O[n]&&(O[n]=1,M.append("<style>"+e))},P=function(n){return l(n,"id")||(n.$a=1,n.id=T())},_=function(n,e,t,r,i){e=e||c,a(n)||(n=[n]),a(e)||(e=[e]);for(var o=0,f=n;o<f.length;o++){i=f[o];try{r=i&&i.apply(t,e)}catch(n){C.error(n)}}return r},L=function(n,e){return n&&H.call(n,e)},R=function(n,e){var t,r;if(q(e))(t=e+u)[0]==w&&L(n,t)&&(e=n[t]);else for(t in e)r=e[t],r=R(n,r),e[t]=r;return e},Z=function(n,e){return e.f-n.f||e.t-n.t};function B(n,e,t,r){(r=this).c=[],r.b=e||5,r.x=r.b+(n||20),r.r=t}E(B[y],{get:function(n){var e=this.c[w+n];return e&&(e.f++,e.t=f++,e=e.v),e},each:function(n,e,t){for(var r=0,i=(t=this).c;r<i.length;r++)n(i[r].v,e,t)},set:function(n,e){var t=this.c,r=w+n,i=t[r],o=this.b;if(!i){if(t.length>=this.x)for(t.sort(Z);o--;)(i=t.pop()).f>0&&this.del(i.o);i={o:n},t.push(i),t[r]=i}i.v=e,i.f=1,i.t=f++},del:function(n){n=w+n;var e=this.c,t=e[n],r=this.r;t&&(t.f=-1,t.v=u,delete e[n],r&&_(r,t.o))},has:function(n){return L(this.c,w+n)}});var D=function(e,t){n.use(e&&e+u,function(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];t&&t.apply(n,e)})},z=n.extend,F=t.test;function J(n,e){e=this,n.eventTarget=e.e,_(e.f,n,e.v)}var K,Q=function(n,t,r,i,o){o?e[(i?"un":u)+"delegate"](n,t,r,o):e[i?"detach":"on"](n,t,r,o)},X=function(n){return n},Y=new B,G=0,W=function(n,e,t){try{t=decodeURIComponent(t)}catch(n){}K[e]=t},nn=function(n){var e,t=Y.get(n);return t||(K={},e=n.replace(k,u),n==e&&I.test(e)&&(e=u),n.replace(e,u).replace(V,W),Y.set(n,t={a:e,b:K})),{path:t.a,params:E({},t.b)}},en=function(n,e,t){var r,i,o,a=[];for(i in e)r=e[i]+u,(!t||r||L(t,i))&&(r=encodeURIComponent(r),a.push(o=i+"="+r));return o&&(n+=(n&&(~n.indexOf("?")?"&":"?"))+a.join("&")),n},tn=function(n,e){var t,r={};if(n)for(var i=0,o=n;i<o.length;i++)t=o[i],r[e&&t?t[e]:t]=e?t:1+(0|r[t]);return r},rn=new B,on=function(n,e,t){return rn.has(n)?t=rn.get(n):(t=_(Function("return "+n)),n.indexOf(w)>-1?R(e,t):rn.set(n,t)),t},an={config:function(n,e){return e=C,n&&(e=o(n)?E(e,n):e[n]),e},boot:function(n){E(C,n),D(C.ini,function(e){E(C,e,n),D(C.exts,function(){Nn.on("changed",_n),ln.on("changed",_n),G=1,qn()})})},toMap:tn,toTry:_,toUrl:en,parseUrl:nn,mix:E,has:L,keys:N,inside:U,node:j,applyStyle:O,guid:T,use:D,Cache:B,nodeId:P,guard:X},fn={fire:function(n,e,t,r){var i,o,a,f,c=this,h=c[w+n];if(e||(e={}),e.type=n,h)for(o=(i=h.length)-1;i--;)(f=h[a=r?i:o-i]).f?(f.x=1,_(f.f,e,c),f.x=u):f.x||(h.splice(a,1),o--);return(h=c["on"+n])&&_(h,e,c),t&&c.off(n),c},on:function(n,e){var t=w+n;return(this[t]||(this[t]=[])).push({f:e}),this},off:function(n,e){var t,r=w+n,i=this[r];if(e){if(i)for(var o=0,a=i;o<a.length;o++)if((t=a[o]).f==e){t.f=u;break}}else delete this[r],delete this["on"+n];return this}};an.Event=fn;var un={},cn={},hn={},sn=0,dn=function(n){for(var e=0,t=n=(n+u).split(",");e<t.length;e++){var r=t[e];L(cn,r)?cn[r]++:cn[r]=1}return n},vn=function(n){for(var e,t=0,r=n;t<r.length;t++)e=r[t],L(cn,e)&&(--cn[e]||(delete cn[e],delete un[e]))};var ln=E({get:function(n){var e=n?un[n]:un;return e},set:function(n,e){return sn=A(n,un,hn,e)||sn,this},digest:function(n,e){if(n&&ln.set(n,e),sn){sn=0;var t=E({},hn);hn={},this.fire("changed",{keys:t})}},diff:function(){return hn},clean:function(n){return{ctor:function(){n=dn(n),this.on("destroy",function(){return vn(n)})}}}},fn);an.State=ln;var $n,pn=new B,gn=new B,mn=h.location,bn=0,wn={query:{},params:{},href:u},yn=/(?:^.*\/\/[^\/]+|#.*$)/gi,xn=/^[^#]*#?!?/;function kn(n,e){return this[x][n]||e!==s&&e||u}var Vn,In,Tn,Sn,Cn,jn=function(n,e){n="#!"+n,e?mn.replace(n):mn.hash=n},qn=function(){var n,e,t=Un().srcHash;Q(h,"hashchange",function(r,i,o){e||(i=Un(),(n=i.srcHash)!=t&&(o=function(){r.p=1,t=n,e=u,jn(n),En()},r={reject:function(){r.p=1,e=u,jn(t)},resolve:o,prevent:function(){e=1}},Nn.fire("change",r),e||r.p||o()))}),Q(h,"beforeunload",function(n,e,t){if(n=n||h.event,e={},Nn.fire("pageunload",e),t=e.msg)return n&&(n.returnValue=t),t}),En()},An=d.title,Un=function(n){n=n||mn.href;var e,t,r,i,a=pn.get(n);return a||(e=n.replace(yn,u),t=n.replace(xn,u),a={get:kn,href:n,srcQuery:e,srcHash:t,query:r=nn(e),hash:i=nn(t),params:E({},r[x],i[x])},G&&(!function(n,e){if(Vn||(Vn=C.routes||{},In=C.unmatchView,Tn=C.defaultView,Sn=C.defaultPath||"/",Cn=C.rewrite),!n.view){var t=n.hash.path||Sn;Cn&&(t=Cn(t,n[x],Vn)),e=Vn[t]||In||Tn,n.path=t,n.view=e,o(e)&&E(n,e)}}(a),pn.set(n,a))),a},En=function(){var n=Un(),e=function(n,e){var t=n.href,r=e.href,i=t+w+r,o=gn.get(i);if(!o){var a,f;o={params:f={},force:!t};for(var u=n[x],c=e[x],h=function(n){var e=u[n],t=c[n];e!=t&&(f[n]={from:e,to:t},a=1)},s=0,d=N(u).concat(N(c));s<d.length;s++)h(d[s]);u=n,c=e,f=o,h("path"),h("view"),gn.set(i,o={a:a,b:o})}return o}(wn,wn=n);return!bn&&e.a&&(($n=e.b).path&&(d.title=n.title||An),Nn.fire("changed",$n)),bn=0,$n},Nn=E({parse:Un,diff:En,to:function(n,e,t,r){!e&&o(n)&&(e=n,n=u);var i=nn(n),a=i[x],f=i.path,c=wn.path,h=wn[x],s=wn.query[x];if(E(a,e),f)for(c in s)L(a,c)||(a[c]=u);else h&&(f=c,a=E({},h,a));!function(n,e,t,r,i,o){(n=en(n,e,o))!=t.srcHash&&(bn=i,jn(n,r))}(f,a,wn,t,r,s)}},fn);an.Router=Nn;var Hn,Mn,On=0,Pn=function(n,e,t,r,i,o,a){n&&n.$a!=On&&(t=n.$v)&&t.$a>1&&((e?function(n,e,t){var r,i=n.$os;if(i)for(var o=0,a=i;o<a.length&&(r=a[o],!(t=L(e,r)));o++);return t}(t,e):Pe(t))&&(a=t.$b()),a&&a.then||(a=Rn),a.then(function(){for(var t=0,r=n.children();t<r.length;t++)o=r[t],Pn(Ln[o],e)}))},_n=function(n,e,t){e=zn(),(t=n.view)?e.mountView(t.to):(On=f++,Pn(e,n.keys))},Ln={},Rn={then:function(n){return n()}},Zn=function(n){if(!n.$b&&!n.$d&&n.$cc==n.$rc){n.$cr||(n.$cr=1,n.$ca=0,n.fire("created"));var e=n.id,t=n.pId,r=Ln[t];r&&!L(r.$e,e)&&(r.$e[e]=1,r.$rc++,Zn(r))}},Bn=function(n,e){if(!n.$ca&&n.$cr){n.$cr=0,n.$ca=1,n.fire("alter",e);var t=n.id,r=n.pId,i=Ln[r];i&&L(i.$e,t)&&(i.$rc--,delete i.$e[t],Bn(i,e))}},Dn=function(n,e,t,r){return r=(r=(r=Ln[n])&&r.$v)?r.$d.$a:{},e.indexOf(w)>0&&R(r,t),r},zn=function(n){return Hn||(m=d.body,n=C.rootId,j(n)||(m.id=n),Hn=new Kn(n)),Hn},Fn=function(n,e){L(Ln,n)||(Ln[n]=e,Kn.fire("add",{vframe:e}),(n=j(n))&&(n.vframe=e))},Jn=[];function Kn(n,e,t){(t=this).id=n,t.$c={},t.$cc=0,t.$rc=0,t.$g=t.$g||1,t.$e={},t.$f=[],t.pId=e,Fn(n,t)}E(Kn,{all:function(){return Ln},get:function(n){return Ln[n]}},fn),E(Kn[y],fn,{mountView:function(n,e){var t,r,i,o,a,f=this,c=f.id,h=j(c),s=f.pId;!f.$h&&h&&(f.$h=1,f.$i=h.innerHTML),f.unmountView(),f.$b=0,t=nn(n||u),i=t.path,h&&i&&(f.path=n,o=t[x],Dn(s,n,o),f.$j=t.path,E(o,e),r=f.$g,D(i,function(n){if(r==f.$g){if(!n)return C.error(Error("id:"+c+" cannot load:"+i));a=Oe(n),i=new n(c,f,o,h,a),f.$v=i,f.$a=On,Ee(i),_(i.init,[o,{node:h,deep:!i.tmpl}],i),i.$b(),i.tmpl||(f.$h=0,i.$e||i.endUpdate())}}))},unmountView:function(){var n,e,t=this,r=t.$v,o=t.id;t.$f=[],r&&(Mn||(e=1,Mn={id:o}),t.$b=1,t.unmountZone(0,1),Bn(t,Mn),t.$v=0,r.$a>0&&(r.$a=0,delete Wn[o],delete ne[o],r.fire("destroy",0,1,1),Ae(r,1),Ee(r,1),r.owner=0),r.$a--,(n=j(o))&&t.$h&&i(n).html(t.$i),e&&(Mn=0)),t.$g++},mountVframe:function(n,e,t){var r,i=this,o=i.id,a=i.$c;return Bn(i,{id:n}),(r=Ln[n])||(L(a,n)||(i.$n=0,i.$cc++),a[n]=n,(r=Jn.pop())?Kn.call(r,n,o):r=new Kn(n,o)),r.mountView(e,t),r},mountZone:function(n,e){var t,r,o,a=this,f=[];n=n||a.id;var u=i("#"+n+" [mx-view]");a.$d=1;for(var c=0,h=u;c<h.length;c++)(r=h[c]).$b||(o=P(r),r.$b=1,f.push([o,l(r,"mx-view")]));for(var s=0,d=f;s<d.length;s++)o=(t=d[s])[0],r=t[1],a.mountVframe(o,r);a.$d=0,e||Zn(a)},unmountVframe:function(n,e){var t;if(n=n?this.$c[n]:this.id,t=Ln[n]){var r=t.$cr,i=t.pId;t.unmountView(),function(n,e,t){(t=Ln[n])&&(delete Ln[n],Kn.fire("remove",{vframe:t,fcc:e}),(n=j(n))&&(n.$b=0,n.vframe=0,n.$a=0))}(n,r),t.id=t.pId=t.$c=t.$e=0,t.$h=0,t.off("alter"),t.off("created"),Jn.push(t),(t=Ln[i])&&L(t.$c,n)&&(delete t.$c[n],t.$n=0,t.$cc--,e||Zn(t))}},unmountZone:function(n,e){var t;for(t in this.$c)(!n||t!=n&&U(t,n))&&this.unmountVframe(t,1);e||Zn(this)},parent:function(n,e){for(e=this,n=n>>>0||1;e&&n--;)e=Ln[e.pId];return e},children:function(n){return(n=this).$n||(n.$n=N(n.$c))},invoke:function(n,e){var t,r,i,o,a,f=this.$f;return(r=this.$v)&&r.$e?t=(i=r[n])&&_(i,e,r):((o=f[a=w+n])&&(o.r=e===o.a),o={n:n,a:e,k:a},f.push(o),f[a]=o),t}}),an.Vframe=Kn,r[y].invokeView=function(n,e){for(var t,r=[],i=0;i<this.length;i++)t=this[i].vframe,r.push(t&&t.invoke(n,e));return r};var Qn=new B(30,10),Xn=/(?:([\w\-]+)\x1e)?([^(]+)\(([\s\S]*)?\)/,Yn={},Gn={},Wn={},ne={},ee=0,te=function(n,e){var t,r,i,o,a,f,u=[],h=n,s=l(n,"mx-"+e),d=[],v="#",$=0;if(s&&((a=Qn.get(s))||(a={v:(a=s.match(Xn)||c)[1],n:a[2],i:a[3]},Qn.set(s,a)),a=E({},a,{r:s})),a&&!a.v||Gn[e]){if((i=ne[r=h.$d])&&1==i[h.$e]&&(f=1,v=r),!f){for(d.push(h);h!=m&&(h=h.parentNode);){if(Ln[r=h.id]||(i=ne[r=h.$d])&&1==i[h.$e]){v=r;break}d.push(h)}for(var p=0,g=d;p<g.length;p++)s=g[p],(r=ne[v])||(r=ne[v]={}),r[i=s.$e||(s.$e=++ee)]=1,s.$d=v}h=n.id,Ln[h]&&($=v=h);do{if((t=Ln[v])&&(f=t.$v)){if(o=(i=f.$so)[e])for(h=o.length;h--;)i={r:r=o[h],v:v,n:r},r?!$&&F(n,r)&&u.push(i):$&&u.unshift(i);if(f.tmpl&&!$){a&&!a.v&&(a.v=v);break}$=0}}while(t&&(v=t.pId))}return a&&u.push(a),u},re=function(n){for(var e,t,r,i,o,a,f,u=n.target,c=n.type,h=[];u!=m;){if((e=te(u,c)).length){h=[];for(var s=0,d=e;s<d.length;s++){var v=d[s],l=v.v,$=(v.r,v.n),p=v.i;if(a!=l){if(a&&n.isPropagationStopped())break;a=l}(i=(r=Ln[l])&&r.$v)?(o=i[$+w+c])&&(n.eventTarget=u,f=p?on(p,i.$d.$a):{},n[x]=f,_(o,n,i)):n.stopPropagation()}}if((t=Wn[o=u.$d])&&(t=t[u.$e])&&t[c]||n.isPropagationStopped()){h.length&&h.push(o);break}a=u.id,Ln[a]&&h.push(a),h.push(u),u=u.parentNode||m}if(o=h.length)for(t="#";o--;)(i=h[o]).nodeType?((e=Wn[t])||(e=Wn[t]={}),(f=e[a=i.$e||(i.$e=++ee)])||(f=e[a]={}),f[c]=1):t=i},ie="http://www.w3.org/2000/svg",oe="http://www.w3.org/1998/Math/MathML",ae={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="'+ie+'">'],m:[1,'<math xmlns="'+oe+'">'],_:[0,""]},fe=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i;ae.optgroup=ae.option,ae.tbody=ae.tfoot=ae.colgroup=ae.caption=ae.thead,ae.th=ae.td;var ue=d.implementation.createHTMLDocument(u),ce=ue.createElement("base");ce.href=d.location.href,ue.head.appendChild(ce);var he=function(n,e){if(1==e.nodeType){var t=P(e);n.unmountZone(t,1),n.$c[t]&&n.unmountVframe(t,1)}},se={INPUT:["value","checked"],TEXTAREA:["value"],OPTION:["selected"]},de=function(n,e){return 1==n.nodeType&&(n.$f?e=n.$g:((e=n.$a?u:l(n,"id"))||(e=l(n,"mxs")),e||(e=l(n,"mx-view"))&&(e=nn(e).path),n.$f=1,n.$g=e)),e},ve=function(n,e,t,r,i){for(var o,a,f,u,c,h=n.lastChild,s=e.firstChild,d=0,v={},l={};h;)d++,(f=de(h))&&(f=v[f]||(v[f]=[])).push(h),h=h.previousSibling;for(;s;)(f=de(s))&&(l[f]=(l[f]||0)+1),s=s.nextSibling;for(s=e.firstChild,h=n.firstChild;s;)if(d--,o=s,s=s.nextSibling,(u=v[f=de(o)])&&(u=u.pop())){for(;u!=h;)c=h.nextSibling,n.appendChild(h),h=c;h=u.nextSibling,l[f]&&l[f]--,le(u,o,n,t,r,i)}else h?(f=de(a=h))&&v[f]&&l[f]?(d++,t.c=1,t.n.push([8,n,o,a])):(h=h.nextSibling,le(a,o,n,t,r,i)):(t.c=1,t.n.push([1,n,o]));for(a=n.lastChild;d-- >0;)he(r,a),t.n.push([2,n,a]),a=a.previousSibling,t.c=1},le=function(n,e,t,r,i,o){if(function(n,e){var t,r=n.nodeName,i=se[r],o=0;if(i)for(var a=0,f=i;a<f.length;a++)n[t=f[a]]!=e[t]&&(o=1,n[t]=e[t]);return o}(n,e)||1==n.nodeType&&n.hasAttribute("mxv")||!n.isEqualNode||!n.isEqualNode(e))if(n.nodeName===e.nodeName)if(1===n.nodeType){var a=l(e,"mxs");if(a&&a==l(n,"mxs"))return;var f=l(e,"mx-view"),c=e.innerHTML,h=l(e,"mxa"),s=!h||h!=l(n,"mxa"),d=void 0,v=void 0,$=Ln[l(n,"id")],p=void 0,g=void 0,m=f&&nn(f),b=void 0,w=void 0,y=void 0;if(f&&$&&(!l(e,"id")||l(e,"id")==l(n,"id"))&&$.$j==m.path&&(g=$.$v)){if(w=c!=$.$i,y=f!=$.path,p=l(n,"mxv"),!w&&!y&&p)for(var k=0,V=b=p.split(",");k<V.length;k++)if("#"==(p=V[k])||L(o,p)){y=1;break}(y||w)&&((p=g.$e&&g.$f)?(b=m[x],Dn($.pId,f,b),$.$i=c,$.path=f,m={node:e,deep:!g.tmpl,attr:s,inner:w,query:y,keys:o},_(p,[b,m],g)&&r.v.push(g),d=m.deep):(v=1,d=1))}else d=1,v=$;v&&(r.c=1,$.unmountVframe(0,1)),s&&function(n,e,t,r){var i,o,a,f;delete n.$f;var c=n.attributes,h=e.attributes;for(o=c.length;o--;)i=c[o].name,e.hasAttribute(i)||("id"==i?r||t.d.push([n,u]):(t.c=1,n.removeAttribute(i)));for(o=h.length;o--;)a=(i=h[o]).name,f=i.value,l(n,a)!=f&&("id"==a?t.d.push([n,f]):(t.c=1,n.setAttribute(a,f)))}(n,e,r,$&&f),d&&ve(n,e,r,i,o)}else n.nodeValue!==e.nodeValue&&(r.c=1,n.nodeValue=e.nodeValue);else he(i,n),r.c=1,r.n.push([4,t,e,n])},$e={"&":"amp","<":"lt",">":"gt",'"':"#34","'":"#39","`":"#96"},pe=/[&<>"'\`]/g,ge=function(n){return""+(null==n?"":n)},me=function(n){return"&"+$e[n]+";"},be=function(n){return ge(n).replace(pe,me)},we=function(n,e,t,r){for(r=n[w];--r;)if(n[t=w+r]===e)return t;return n[t=w+n[w]++]=e,t},ye={"!":"%21","'":"%27","(":"%28",")":"%29","*":"%2A"},xe=function(n){return ye[n]},ke=/[!')(*]/g,Ve=function(n){return encodeURIComponent(ge(n)).replace(ke,xe)},Ie=/[\\'"]/g,Te=function(n){return ge(n).replace(Ie,"\\$&")},Se=function(n,e){var t,r,i=n.$k,o=n.$c,a=n.$b,f=Ln[a],u=f&&f.$v,c={d:[],v:[],n:[]},h=j(a),s=n.$d,d=n.$a,v=function(t){e.i<e.length?Se(n,e):(c=e.slice(),e.i=e.length=0,t&&u.fire("domready"),_(c))};if(e.i=e.length,n.$c=0,n.$k={},o&&u&&h&&u.$a>0&&(t=u.tmpl)&&u.$d==n){u.fire("dompatch"),delete Wn[a],delete ne[a],r=function(n,e){var t,r=ue.createElement("div"),i=e.namespaceURI;t=i==ie?"g":i==oe?"m":(fe.exec(n)||[0,""])[1];var o=ae[t]||ae._;r.innerHTML=o[1]+n;for(var a=o[0];a--;)r=r.lastChild;return r}(t(s,a,d,be,ge,Ve,we,Te),h),ve(h,r,c,f,i);for(var l=0,p=c.d;l<p.length;l++)(r=p[l])[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=t=c.c||!u.$e;for(var b=0,w=c.v;b<w.length;b++)(r=w[b]).$b();t&&u.endUpdate(a),c.c&&$.fire("htmlchanged",{vId:a}),v(1)}else v()};function Ce(n){var e,t=this;t.$b=n,t.$c=1,t.$d={vId:n},t.$a=((e={})[w]=1,e),t.$e=[],t.$k={}}E(Ce[y],{get:function(n,e){return e=this.$d,n&&(e=e[n]),e},set:function(n,e){var t=this;return t.$c=A(n,t.$d,t.$k,e)||t.$c,t},digest:function(n,e,t){var r=this.set(n,e),i=r.$e;t&&i.push(t),i.i||Se(r,i)},snapshot:function(){return this.$f=b(this.$d),this},altered:function(){if(this.$f)return this.$f!=b(this.$d)},translate:function(n){return R(this.$d,n)},parse:function(n){return on(n,this.$a)}});var je=/^(\$?)([^<]*)<([^>]+)>(?:&(.+))?$/,qe=function(n,e,t){return n.a?t=n:((t=function(n){_(t.a,n,this)}).a=[n],t.b=1),t.a=t.a.concat(e.a||e),t},Ae=function(n,e){var t,r,i=n.$r;for(t in i)r=i[t],(e||r.x)&&Ue(i,t,1)},Ue=function(n,e,t,r){var i,o,a=n[e];return a&&a!=r&&((i=(o=a.e).destroy)&&t&&_(i,c,o),delete n[e]),o},Ee=function(n,e){var t,r,i,o,a,f,u=n.$eo,c=n.$so,h=n.$el,s=n.id;for(t in u)r=t,i=c[t],o=e,a=void 0,f=void 0,a=0|Yn[r],f=o?-1:1,a&&o!==a||Q(m,r,re,o),Yn[r]=a+f,i&&(Gn[r]=(0|Gn[r])+f);for(var d=0,v=h;d<v.length;d++)t=v[d],Q(t.e,t.n,J,e,{i:s,v:n,f:t.f,m:t.m,e:t.e})},Ne={win:h,doc:d},He=function(n,e,t){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?(je.test(r)&&(a?o=qe(a,o):o.b=1),f[r]=o):t.push(o);for(r in f)L(e,r)||(e[r]=f[r])};function Me(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var t=this._||(this._=[]);return He(n,this[y],t),this}var Oe=function(n){if(!n[w]){n[w]=[];var e=n[y],t=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=e.mixins)&&He(r,e,n[w]),e)if(t=e[s],r=s.match(je)){if(h=r[1],i=r[2],o=r[3],l={},$=r[4])for(var p=0,g=$=$.split(",");p<g.length;p++)l[d=g[p]]=!0;for(var m=0,b=o=o.split(",");m<b.length;m++){if(d=b[m],c=Ne[i],v=1,h){if(c){f.push({f:t,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=e[d=i+w+d])?c.b&&(t.b?e[d]=qe(t,c):L(e,s)&&(e[d]=t)):e[d]=t}}!function(n,e,t,r,i){r=n[e],n[e]=n[t]=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];if((i=this).$a>0)return i.$a++,i.fire("rendercall"),Ae(i),_(r,n,i)}}(e,"render","$b"),e.$eo=a,e.$el=f,e.$so=u,e.$f=e.assign}return n[w]},Pe=function(n){var e,t,r,i=n.$l;if(i.f&&(i.p&&(e=$n.path),!e&&i.k)){r=$n[x];for(var o=0,a=i.k;o<a.length&&(t=a[o],!(e=L(r,t)));o++);}return e};function _e(n,e,t,r,i){(i=this).owner=e,i.id=n,i.$l={k:[]},i.$r={},i.$a=1,i.updater=i.$d=new Ce(i.id),(n=_e._)&&_(n,[t,{node:r,deep:!i.tmpl}],i)}E(_e,{merge:Me,extend:function n(e,t){var r=this,i=(e=e||{}).ctor,o=[];function a(n,e,t,i,f,u,c,h,s){r.call(c=this,n,e,t,i,f),u=a._,h=[t,{node:i,deep:!c.tmpl}],u&&_(u,h,c),(s=o.concat(f)).length&&_(s,h,c)}return i&&o.push(i),a.merge=Me,a.extend=n,z(a,r,e,t)}}),E(_e[y],fn,{init:g,beginUpdate:function(n,e){(e=this).$a>0&&e.$e&&e.owner.unmountZone(n,1)},endUpdate:function(n,e,t,r,i){(t=this).$a>0&&(n=n||t.id,e?i=e:(i=t.$e,t.$e=1),(r=t.owner).mountZone(n,e),i||p(t.wrapAsync(function(){!function(n,e,t){for(e=n.$f;e.length;)(t=e.shift()).r||n.invoke(t.n,t.a),delete e[t.k]}(r)}),0))},wrapAsync:function(n,e){var t=this,r=t.$a;return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];if(r>0&&r==t.$a)return n.apply(e||t,i)}},observeLocation:function(n,e){var t;(t=this.$l).f=1,o(n)&&(e=n.path,n=n[x]),t.p=e,n&&(t.k=(n+u).split(","))},observeState:function(n){this.$os=(n+u).split(",")},capture:function(n,e,t,r){return r=this.$r,e?(Ue(r,n,1,e),r[n]={e:e,x:t}):e=(r=r[n])&&r.e,e},release:function(n,e){return Ue(this.$r,n,e)},leaveTip:function(n,e){var t=this,r=function(i){var o="a",a="b";"change"!=i.type&&(o="b",a="a"),r[o]?(i.prevent(),i.reject()):e()&&(i.prevent(),r[a]=1,t.leaveConfirm(function(){r[a]=0,i.resolve()},function(){r[a]=0,i.reject()},n))},i=function(t){e()&&(t.msg=n)};Nn.on("change",r),Nn.on("pageunload",i),t.on("unload",r),t.on("destroy",function(){Nn.off("change",r),Nn.off("pageunload",i)})},render:g}),an.View=_e;var Le=n.type,Re=n.now;function Ze(){this.id=T("b"),this.$={}}E(Ze[y],{get:function(n,e){var t=this.$;if(n){for(var r=a(n)?n.slice():(n+u).split("."),i=void 0;(i=r.shift())&&t;)t=t[i];i&&(t=s)}return e!==s&&Le(e)!=Le(t)&&(t=e),t},set:function(n,e){var t;o(n)||((t={})[n]=e,n=t),E(this.$,n)}});function Be(n,e,t){(t=this[n])&&(delete this[n],_(t,e,t.e))}var De=function(n,e,t,r,i){if(n.$d)return n;if(n.$e)return n.enqueue(De.bind(n,n,e,t,r,i));n.$e=1,a(e)||(e=[e]);for(var o=n.constructor,f=0,u=o.$f,c=function(n,e,t,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=Re(),(d=v.a)&&_(d,this,this),(d=v.x)&&e.clear(d),s=1),!t.$d){var $=u==r;$&&(t.$e=0,2==i&&(a[0]=f,_(n,a,t))),1==i&&_(n,[h||null,this,$,c],t)}s&&e.fire("end",{bag:this,error:h})}}(t,o,n,e.length,r,o.$c),h=0,s=e;h<s.length;h++){var d=s[h];if(d){var v=o.get(d,i),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=Be.bind(u,$)),o.$s(l,p)):p()}}return n};function ze(){var n=this;n.id=T("s"),n.$g=[]}E(ze[y],{all:function(n,e){return De(this,n,e,2)},save:function(n,e){return De(this,n,e,2,1)},one:function(n,e){return De(this,n,e,1)},enqueue:function(n){var e=this;return e.$d||(e.$g.push(n),e.dequeue(e.$h)),e},dequeue:function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var t,r=this;r.$e||r.$d||(r.$e=1,p(function(){r.$e=0,r.$d||(t=r.$g.shift())&&_(t,r.$h=n)},0))},destroy:function(n){(n=this).$d=1,n.$g=0}});var Fe=function(n,e){return[b(e),b(n)].join(w)},Je=function(n,e,t,r){(r=n&&n.$b)&&e[r.n]&&t.del(r.k)},Ke=E({add:function(n){var e,t=this.$b;a(n)||(n=[n]);for(var r=0,i=n;r<i.length;r++)if(e=i[r]){var o=e.name,f=e.cache;e.cache=0|f,t[o]=e}},create:function(n){var e=this.meta(n),t=0|n.cache||e.cache,r=new Ze;r.set(e),r.$b={n:e.name,a:e.after,x:e.cleans,k:t&&Fe(e,n)},o(n)&&r.set(n);var i=e.before;return i&&_(i,r,r),this.fire("begin",{bag:r}),r},meta:function(n){return this.$b[n.name||n]||n},get:function(n,e){var t,r;return e||(t=this.cached(n)),t||(t=this.create(n),r=1),{e:t,u:r}},clear:function(n){this.$c.each(Je,tn((n+u).split(",")))},cached:function(n){var e,t,r=this.$c,i=this.meta(n),o=0|n.cache||i.cache;if(o&&(t=Fe(i,n)),t){var a=this.$f[t];a?e=a.e:(e=r.get(t))&&Re()-e.$b.t>o&&(r.del(t),e=0)}return e}},fn);return ze.extend=function(n,e,t){function r(){ze.call(this)}return r.$s=n,r.$c=new B(e,t),r.$f={},r.$b={},z(r,ze,null,Ke)},an.Service=ze,E(g[y],fn),g.extend=function n(e,t){var r=this,i=e&&e.ctor;function o(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];r.apply(this,n),i&&i.apply(this,n)}return o.extend=n,z(o,r,e,t)},an.Base=g,n.add(S,function(){return _e.extend()}),an},{requires:["event","dom","node"]});