!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.avalon=t():e.avalon=t()}(this,function(){function e(t){return new e.init(t)}function n(t,n,r){t[r.name]=e.parseExpr(r)}function r(e){return/\[native code\]/.test(e)}function o(e,t,n){var r="for(var "+e+"i=0,n = this.length; i < n; i++){"+t.replace("_","((i in this) && fn.call(scope,this[i],i,this))")+"}"+n;return Function("fn,scope",r)}function a(e){return!!e&&(e==e.document&&e.document!=e)}function i(e){return Dn.test(Mn.call(e))}function s(t,n){if(!t||"object"!==e.type(t)||t.nodeType||e.isWindow(t))return!1;try{if(t.constructor&&!gn.call(t,"constructor")&&!gn.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(e){return!1}if(Vn)for(n in t)return gn.call(t,n);for(n in t);return void 0===n||gn.call(t,n)}function c(e){return"[object Object]"===Mn.call(e)&&Object.getPrototypeOf(e)===Object.prototype}function l(e){if(!e)return!1;var t=e.length;if(t===t>>>0){var n=Mn.call(e).slice(8,-1);if(Fn.test(n))return!1;if("Array"===n)return!0;try{return{}.propertyIsEnumerable.call(e,"length")!==!1||Sn.test(e.item||e.callee)}catch(t){return!e.window}}return!1}function u(e){this.size=0,this.limit=e,this.head=this.tail=void 0,this._keymap={}}function d(t){return t.uuid||(t.uuid=e.makeHashCode("e"))}function f(e){return e.uuid||(e.uuid="_"+ ++zn)}function p(t){for(var n in t)if(e.ohasOwn.call(t,n)){var r=t[n];"function"==typeof p.plugins[n]?p.plugins[n](r):p[n]=r}return this}function v(e,t,n,r){e=(e+"").replace(/[^0-9+\-Ee.]/g,"");var o=isFinite(+e)?+e:0,a=isFinite(+t)?Math.abs(t):3,i=r||",",s=n||".",c="",l=function(e,t){var n=Math.pow(10,t);return""+(Math.round(e*n)/n).toFixed(t)};return c=(a?l(o,a):""+Math.round(o)).split("."),c[0].length>3&&(c[0]=c[0].replace(/\B(?=(?:\d{3})+(?!\d))/g,i)),(c[1]||"").length0||a>-n)&&(a+=n),0===a&&n===-12&&(a=12),y(a,t,r)}}function _(e,t){return function(n,r){var o=n["get"+e](),a=(t?"SHORT"+e:e).toUpperCase();return r[a][o]}}function b(e){var t=-1*e.getTimezoneOffset(),n=t>=0?"+":"";return n+=y(Math[t>0?"floor":"ceil"](t/60),2)+y(Math.abs(t%60),2)}function w(e,t){return e.getHours()<12?t.AMPMS[0]:t.AMPMS[1]}function x(e,t){var n,r,o=x.locate,a="",i=[];if(t=t||"mediumDate",t=o[t]||t,"string"==typeof e)if(/^\d+$/.test(e))e=h(e);else if(nr.test(e))e=+RegExp.$1;else{var s=e.trim(),c=[0,0,0,0,0,0,0],l=new Date(0);s=s.replace(/^(\d+)\D(\d+)\D(\d+)/,function(e,t,n,r){var o=4===r.length?[r,t,n]:[t,n,r];return c[0]=h(o[0]),c[1]=h(o[1])-1,c[2]=h(o[2]),""});var u=l.setFullYear,d=l.setHours;s=s.replace(/[T\s](\d+):(\d+):?(\d+)?\.?(\d)?/,function(e,t,n,r,o){return c[3]=h(t),c[4]=h(n),c[5]=h(r),o&&(c[6]=Math.round(1e3*parseFloat("0."+o))),""});var f=0,p=0;s=s.replace(/Z|([+-])(\d\d):?(\d\d)/,function(e,t,n,r){return u=l.setUTCFullYear,d=l.setUTCHours,t&&(f=h(t+n),p=h(t+r)),""}),c[3]-=f,c[4]-=p,u.apply(l,c.slice(0,3)),d.apply(l,c.slice(3)),e=l}for("number"==typeof e&&(e=new Date(e));t;)r=tr.exec(t),r?(i=i.concat(r.slice(1)),t=i.pop()):(i.push(t),t=null);return i.forEach(function(t){n=er[t],a+=n?n(e,o):t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),a}function $(t,n,r){var o=e.type(t);if("array"!==o&&"object"!==o)throw"orderBy只能处理对象或数组";var a=r&&r<0?-1:1;if("string"==typeof n){var i=n;n=function(e){return e&&e[i]}}t=T(t),t.forEach(function(e){e.order=n(e.value,e.key)}),t.sort(function(e,t){var n=e.order,r=t.order;return Number.isNaN(n)&&Number.isNaN(r)?0:n===r?0:n>r?a:-a});var s="array"===o,c=s?[]:{};return k(c,t,function(e){s?c.push(e.value):c[e.key]=e.value})}function C(t,n){var r=e.type(t);if("array"!==r&&"object"!==r)throw"filterBy只能处理对象或数组";var o=e.slice(arguments,2),a=e.type(n);if("function"===a)var i=n;else{if("string"!==a&&"number"!==a)return t;if(""===n)return t;var s=new RegExp(e.escapeRegExp(n),"i");i=function(e){return s.test(e)}}t=T(t).filter(function(e,t){return!!i.apply(e,[e.value,t].concat(o))});var c="array"===r,l=c?[]:{};return k(l,t,function(e){c?l.push(e.value):l[e.key]=e.value})}function E(t,n,r){if(e.isObject(t)&&!Array.isArray(t)){var o=[];return k(o,n,function(e){o.push(t.hasOwnProperty(e)?t[e]:r?r[e]:"")})}return t}function A(t,n,r){var o=e.type(t);if("array"!==o&&"object"!==o)throw"limitBy只能处理对象或数组";if("number"!=typeof n)return t;if(Number.isNaN(n))return t;"object"===o&&(t=T(t));var a=t.length;n=Math.floor(Math.min(a,n)),r="number"==typeof r?r:0,r<0&&(r=Math.max(0,a+r));for(var i=[],s=r;s/g,">").replace(/"/g,""").replace(/'/g,"'")}function O(e){return e}function M(t){this.nodeName="#text",this.nodeValue=t,this.skipContent=!e.config.rexpr.test(t)}function j(e){this.nodeName="#comment",this.nodeValue=e}function S(e,t,n){this.nodeName=e,this.props=t,this.children=n}function D(e){return e!==!1&&Object(e)!==e}function L(e){return document.createElementNS("http://www.w3.org/2000/svg",e)}function V(e){document.styleSheets.length<31?document.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)"):document.styleSheets[0].addRule(".rvml","behavior:url(#default#VML)");var t=e.split(":");1===t.length&&t.unshift("v");var n=t[1],r=t[0];return document.namespaces[r]||document.namespaces.add(r,"urn:schemas-microsoft-com:vml"),document.createElement("<"+r+":"+n+' class="rvml">')}function F(e){this.nodeName="#document-fragment",this.children=e}function H(e,t){if(1===e.nodeType){var n=e.nodeName.toLowerCase();"object"===n?e.parentNode&&(e.outerHTML=t.outerHTML):"input"===n&&vr.test(t.nodeName)?(e.defaultChecked=e.checked=t.checked,e.value!==t.value&&(e.value=t.value)):"option"===n?e.defaultSelected=e.selected=t.defaultSelected:"input"!==n&&"textarea"!==n||(e.defaultValue=t.defaultValue)}}function P(e){return"undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName("*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll("*"):[]}function I(e){for(var n=e.cloneNode(!0),r=P(e),o=0;o100&&(e.log("构建当前vm的$render方法耗时 ",p-f,"ms\n","如果此时间太长,达100ms以上\n","建议将当前ms-controller拆分成多个ms-controller,减少每个vm管辖的区域"),to=!1),e.rerenderStart=p,e.batch(o)}else o||ne(n.childNodes)}}function re(e){return e.getAttribute("ms-controller")||e.getAttribute(":controller")}function oe(e,t){var n,r=t.split(".")[0];try{e.hasOwnProperty(r)&&(n=e.$accessors?e.$accessors[r].get.heirloom.__vmodel__:Object.getOwnPropertyDescriptor(e,r).get.heirloom.__vmodel__)}catch(e){}return n||e}function ae(t,n){var r=t.indexOf(".*")>0||"*"===t,o=r?this:ae.adjust(this,t),a=this.$events,i=a[t]||(a[t]=[]);return r&&(i.reg=i.reg||se(t)),ce(r,a,t),o!==this&&ce(r,this.$events,t),e.Array.ensure(i,n),function(){e.Array.remove(i,n)}}function ie(t,n,r,o,a,i){if(t&&t.length)try{for(i=i||t.length-1;i>=0;i--){var s=t[i];s.call(n,o,a,r)}}catch(s){i-1>0&&ie(t,n,r,o,a,i-1),e.log(s,r)}}function se(e){var t=e.split(".");return new RegExp("^"+t.map(function(e){return"*"===e?"(?:[^.]+)":e}).join("\\.")+"$","i")}function ce(e,t,n){e&&(t.__fuzzy__?t.__fuzzy__.indexOf(","+n)===-1&&(t.__fuzzy__+=","+n):t.__fuzzy__=n)}function le(e,t){e.length!==t&&e.notify("length",e.length,t,!0)}function ue(t,n,r){return"$"===t.charAt(0)||r[t]||uo.test(e.type(n))||n&&n.nodeName&&n.nodeType>0}function de(t,n,r,o){var a=e.type(t);switch(a){case"array":return oo.arrayFactory(t,n,r,o);case"object":if(n&&n.$id){if(++e.suspendUpdate,n.$track!==Object.keys(t).sort().join(";;"))var i=oo.slaveFactory(n,t,r,o);else i=n;for(var s in t)ao[s]||(i[s]=t[s]);return--e.suspendUpdate,i}return i=oo.masterFactory(t,r,o);default:return t}}function fe(e,t,n){function r(){return o}var o=NaN;return r.heirloom=n,{get:r,set:function(a){if(o!==a){var i=o;i&&i.$model&&(i=i.$model);var s=n.__vmodel__;if(a&&"object"==typeof a&&(a=de(a,o,n,{pathname:t,id:e})),o=a,this.$hashcode&&s){if(s.$events.$$dirty$$=!0,s.$events.$$wait$$)return;n!==s.$events&&(r.heirloom=s.$events),he(r.$decompose,t,a,i),t.indexOf("*")===-1&&ie(r.heirloom[t],s,t,a,i),me(e+"",s,t,a,i),ye(r.heirloom,s,t,a,i),s.$events.$$dirty$$=!1,pe(s.$id)}}},enumerable:!0,configurable:!0}}function pe(t){e.rerenderStart=new Date;var n=t.indexOf(".");n>0?e.batch(t.slice(0,n)):e.batch(t)}function ve(t,n,r,o){if(n&&n.splice){var a=[0,n.length].concat(t);return++e.suspendUpdate,e.callArray=o.pathname,n.splice.apply(n,a),--e.suspendUpdate,n}for(var i in io)t[i]=io[i];t.notify=function(t,n,a,i){var s=r.__vmodel__;if(s){var c=null===t||void 0===t?o.pathname:o.pathname+"."+t;s.$fire(c,n,a),i||r.$$wait$$||e.suspendUpdate||(e.callArray=c,pe(s.$id),delete e.callArray)}};var s=e.makeHashCode("$");o.array=!0,o.hashcode=s,o.id=o.id||s,oo.initViewModel(t,r,{},{},o);for(var c=0,l=t.length;c0){var i=t.match(fo),s=e.vmodels[i[1]];if(s){var c=i[2];ie(s.$events[c],n,r,o,a)}}}function he(e,t,n,r){if(e&&e[t]){var o=e[t];if(o.$hashcode){var a=t.replace(/^[^.]+\./,"");a!==t&&ie(o.$events[a],o,a,n,r)}else delete e[t]}}function ye(t,n,r,o,a){t.__fuzzy__&&t.__fuzzy__.replace(e.rword,function(e){var i=t[e],s=i.reg;return s&&s.test(r)&&ie(i,n,r,o,a),e})}function ge(t){switch(e.type(t)){case"array":for(var n=[],r=0;r0?e.batch(n.slice(0,r)):e.batch(n)}}function $e(){}function Ce(t,n,r){var o={};t.$skipArray&&(o=e.oneObject(t.$skipArray),delete t.$skipArray);var a={};r=r||{},n=n||{};var i={},s=Ao("$"),c=r.pathname||"";r.id=r.id||s,r.hashcode=r.hashcode||s;var l,u,d;for(l in t)if(!wo[l]){var f=a[l]=t[l];bo(l,f,o)||(u=r.id+"."+l,d=c?c+"."+l:l,i[l]=xo(u,d,n))}i.$model=$o;var p=new $e;p=Co(p,i,t);for(l in a)p[l]=a[l],l in o?delete a[l]:a[l]=!0;return Eo(p,n,a,i,r),p}function Ee(e,t,n,r){var o={},a={},i={};n=n||{};var s,c,l,u=r.pathname,d=e.$accessors||{};for(s in t)wo[s]||(o[s]=!0,bo(s,t[s],ko)?(a[s]=t[s],delete t[s]):d[s]?i[s]=d[s]:(c=r.id+"."+s,l=u?u+"."+s:s,i[s]=xo(c,l,n)));r.hashcode=e.$hashcode||Ao("$"),i.$model=$o;var f=new $e;f=Co(f,i,a);for(s in a)f[s]=a[s];return Eo(f,n,o,i,r),f}function Ae(t,n){for(var r,o,a,i={},s={},c={},l={},u=e.slice(arguments),d={},f="function"==typeof this&&this.isWidget,p=0;p4){var o=new Date,a=o-n.time||0;n.time=o,a>=n.debounceTime?Fo[n.type].call(n):(clearTimeout(n.debounceID),n.debounceID=setTimeout(function(){Fo[n.type].call(n)},a))}else Fo[n.type].call(n)}}function He(t,n){var r={},o=n["ms-duplex"];switch(o.update=Fe,o.type){case"radio":case"checkbox":r.click=Fe;break;case"select":r.change=Fe;break;case"contenteditable":o.isChanged?r.blur=Fe:e.modern?(qn.webkitURL?r.webkitEditableContentChanged=Fe:qn.MutationEvent&&(r.DOMCharacterDataModified=Fe),r.input=Fe):(r.keydown=Ye,r.paste=Ie,r.cut=Ie,r.focus=qe,r.blur=Re);break;case"input":o.isChanged?r.change=Fe:(Ho&&(r.keyup=Ye),Ho<9?(r.propertychange=Pe,r.paste=Ie,r.cut=Ie):r.input=Fe,(!Ho||Ho>9)&&(r.compositionstart=Re,r.compositionend=qe),Ho||/\[native code\]/.test(qn.Int8Array)||(r.keydown=Ye,r.paste=Ie,r.cut=Ie,qn.netscape&&(r.DOMAutoComplete=Fe)))}/password|text/.test(n.props.type)&&(r.focus=Be,r.blur=ze,o.getCaret=Bo,o.setCaret=Io);for(var a in r)e.bind(t,a,r[a])}function Pe(e){"value"===e.propertyName&&Fe.call(this,e)}function Ie(e){var t=this;setTimeout(function(){Fe.call(t,e)},0)}function Be(){this.caret=!0}function ze(){this.caret=!1}function Re(){this.composing=!0}function qe(e){this.composing=!1,Ie.call(this,e)}function Ye(e){var t=e.keyCode;91===t||15");c===-1&&e.error("注释节点没有闭合"+t);var s=t.slice(4,c).replace(ma,dt);t=t.slice(c+3),a={nodeName:"#comment",nodeValue:s},_t(a,n,r)}}if(!a){var l=t.match(ga);if(l){var u=l[1].toLowerCase(),d=Gr[u]||"/"===l[3];a={nodeName:u,props:{},children:[],isVoidTag:d};var f=l[2];if(f&&bt(f,a.props),_t(a,n,r),t=t.slice(l[0].length),d)a.end=!0;else if(n.push(a),ya[u]){var p=t.indexOf(""+u+">"),v=t.slice(0,p).trim();t=t.slice(p),mt(a,u,wt(v))}}}if(!a){var l=t.match(_a);if(l){var u=l[1].toLowerCase(),m=n.last();m?m.nodeName!==u&&e.error(m.nodeName+"没有闭合"):e.error(l[0]+"前面缺少<"+u+">"),a=n.pop(),a.end=!0,t=t.slice(l[0].length)}}if(!a||0===--o)break;a.end&&(gt(a,n,r),delete a.end)}while(t.length);return r}function gt(e,t,n){var r=e.nodeName,o=e.props;"table"===r&&vt(e.children);var a=o["ms-for"];if(a){delete o["ms-for"];var i=t.last(),s=i?i.children:n;s.splice(s.length-1,1,{nodeName:"#comment",nodeValue:"ms-for:"+a,type:r},e,{nodeName:"#comment",nodeValue:"ms-for-end:",type:r})}}function _t(e,t,n){var r=t.last();r?r.children.push(e):n.push(e)}function bt(e,t){for(;e;){var n=xa.exec(e);if(!n)break;var r=n[1],o=n[2]||"";e=e.replace(n[0],""),":"===r.charAt(0)&&(r="ms-"+r.slice(1)),o&&0===o.indexOf("??")&&(o=wt(o).replace(wa,"").slice(1,-1)),r in t||(t[r]=o)}}function wt(t){return e.unescapeHTML(t.replace(ma,dt))}function xt(e,t){for(var n=0;n-1){var l=Ea.splice(c,1);return Et(l[0])}var u=Ea.shift();u&&Et(u)}function At(e,t){var n=[],r={},o="ms-skip"in t,a={};for(var i in t){var s,c=t[i];if(r[i]=t[i],s=i.match(ka)){if(o)continue;var l=i.replace(s[1],"").split("-");Ta[l[0]]&&l.unshift("on"),"on"===l[0]&&(l[2]=parseFloat(l[2])||0),l.unshift("ms");var u=l[1];if(Bn[u]){var d={type:u,param:l[2],name:l.join("-"),expr:c,priority:Bn[u].priority||100*u.charCodeAt(0)};"on"===u&&(d.priority+=l[3]),a[d.name]||(a[d.name]=c,n.push(d))}}}return e.props=r,n.sort(kt),n}function kt(e,t){return e.priority-t.priority}function Tt(e,t){for(var n,r=t?[]:["\nvar vnodes = [];"],o=0;n=e[o++];){var a=Nt(n);n.$prepend&&r.push(n.$prepend);var i=n.$append;delete n.$append,delete n.$prepend,a&&r.push(a+"\n"),i&&r.push(i)}return t||r.push("return vnodes\n"),r.join("\n")}function Nt(t){if(!t.nodeName)return!1;switch(t.nodeName){case"#text":return t.dynamic?Mt(St(t)):jt(t);case"#comment":var n=t.nodeValue;if(t.forExpr){var r={dynamic:!0,vmodel:"__vmodel__"};for(var o in t)t.hasOwnProperty(o)&&!Sa[o]&&(r[o]=t[o]);return e.directives.for.parse(r,t,t),t.$append+=e.caches[t.signature],jt(r)}if("ms-for-end:"===n)return t.$append=jt({nodeName:"#comment",nodeValue:t.signature})+" return vnodes}\n })\n},__local__,vnodes)\n"+jt({nodeName:"#comment",signature:t.signature,nodeValue:"ms-for-end:"})+"\n","";if(0===n.indexOf("ms-js:")){var a=e.parseExpr({type:"js",expr:n.replace("ms-js:","")})+"\n",i=jt(t),s=a.match(ja);return s&&s[1]?t.$append=(t.$append||"")+a+"\n__local__."+s[1]+" = "+s[1]+"\n":e.warn(n+" parse fail!"),i}return jt(t);default:if(!t.dynamic&&t.skipContent)return jt(t);var r={nodeName:t.nodeName},c=t.props;if(t.dynamic){r.dynamic="{}";var l=At(r,c);l.map(function(n){return e.directives[n.type].parse(r,t,n),n.name})}else if(c){r.props={};for(var o in c)r.props[o]=c[o]}if(t.isVoidTag)r.isVoidTag=!0;else if(!("children"in r)){var u=t.children;u&&(t.skipContent?r.children="["+u.map(function(e){return Le(e)})+"]":1===u.length&&"#text"===u[0].nodeName?u[0].dynamic?r.children="["+St(u[0])+"]":r.children="["+Le(u[0])+"]":r.children="(function(){"+Tt(u)+"})()")}return t.template&&(r.template=t.template),t.skipContent&&(r.skipContent=!0),jt(r)}}function Ot(t){return Ma.test(t)?t:e.parseExpr({expr:t,type:"text"})}function Mt(e){return"vnodes.push("+e+");"}function jt(e){return Mt(Le(e))}function St(e){var t=Dt(e.nodeValue),n="";if(1===t.length)n=Ot(t[0].expr);else{var r=t.map(function(e){return e.type?Ot(e.expr):Oa(e.expr)}).join(" + ");n="String("+r+")"}return'{\nnodeName: "#text",\ndynamic:true,\nnodeValue: '+n+"\n}"}function Dt(t){var n=[];do{var r=t.indexOf(Na.openTag);r=r===-1?t.length:r;var o=t.slice(0,r);if(/\S/.test(o)&&n.push({expr:e._decode(o)}),t=t.slice(r+Na.openTag.length)){r=t.indexOf(Na.closeTag);var o=t.slice(0,r);n.push({expr:e.unescapeHTML(o.replace(Da,"")),type:"text"}),t=t.slice(r+Na.closeTag.length)}}while(t.length);return n}function Lt(e){return Fa(e),e}function Vt(t){var n=t.nodeName;switch(n){case"#text":return!!e.config.rexpr.test(t.nodeValue)&&(t.dynamic=!0);case"#comment":return!!t.dynamic;case void 0:return!0;default:var r=t.props||{};if("ms-skip"in r)return t.skipContent=!0,!1;var o=!1;if("input"===n)r.type||(r.type="text");else if(/xmp|wbr|template/.test(n))!r["ms-widget"]&&r.is&&(r["ms-widget"]='{is:"'+r.is+'"}');else if("select"===n){var a=r.hasOwnProperty("multiple")?"multiple":"one";r.type=n+"-"+a}else 0===n.indexOf("ms-")&&(r["ms-widget"]||(r.is=n,r["ms-widget"]='{is:"'+n+'"}'));var i=!1;if(r["ms-widget"]){i=!0,Ft(r,"html","widget"),Ft(r,"text","widget");var s=e.mix({},t),c=e.mix({},t.props);delete c["ms-widget"],delete s.isVoidTag,s.nodeName="cheng",s.props=c,t.template=e.vdom(s,"toHTML"),t.isVoidTag||(t.children=[])}r["ms-text"]&&(i=!0,Ft(r,"html","text"),t.isVoidTag||(t.children=[])),r["ms-html"]&&(i=!0,t.isVoidTag||(t.children=[]));var l=!1;for(var u in r)if(l=!0,0===u.indexOf("ms-")){o=!0,t.dynamic={};break}if(l&&(t.props=r),t.children){var d=Fa(t.children);if(d)return delete t.skipContent,!0;i?delete t.skipContent:t.skipContent=!0}return o}}function Ft(t,n,r){t["ms-"+n]&&(e.warn(n,"指令不能与",r,"指令共存于同一个元素"),delete t["ms-"+n])}function Ht(e){for(var t,n=0;t=e[n++];)if(t.props&&t.props["ms-effect"])return!0;return!1}function Pt(t){var n=t.expr,r=t.type,o=Ha.get(r+":"+n);if(o)return e.shadowCopy(t,o),o.text;va.map={};var a={},i={},s=n.replace(Wa,ut);s=ft(s),s=s.replace(Ia,ut).replace(za,"$1").replace(qa,"$1__vmodel__.").replace(/(\b[\$\w]+\s*):/g,ut).replace(/\|(\w+)/g,function(e,t){return"|"+ut(t)}).replace(/__vmodel__\.([\$\w\.]+)/g,function(e,t){return a[t]=1,e}),Bt(s,i);var c=s.split(Ba),l=c.shift(),u=l.replace(ma,dt);if("js"===r)return It(t,u,a,i);c.length&&(c=c.map(function(e){var t="(__value__";return e=e.replace(Pa,function(e,n){return/\S/.test(n)&&(t+=","+n),""}).replace(ma,dt),e.replace(/^(\w+)/,'__value__ = avalon.__format__("$1")')+t+")"}));var d=[];if("on"===r)Ra.test(u)&&(u+="($event)"),c=c.map(function(e){return e.replace(/__value__/g,"$event");
}),c.length&&c.push("if($event.$return){\n\treturn;\n}"),e.modern||(u=u.replace(/__vmodel__\.([^(]+)\(([^)]*)\)/,function(e,t,n){return"__vmodel__."+t+".call(__vmodel__"+(/\S/.test(n)?","+n:"")+")"})),d=["function ($event, __local__){","try{",zt(i).join("\n"),"\tvar __vmodel__ = this;","\t"+u,"}catch(e){",Rt(n,r),"}","}"],c.unshift(2,0);else{if("duplex"===r){var f=["function (__vmodel__,__value__){","try{","\t"+u+" = __value__","}catch(e){",Rt(n,r).replace("parse","set"),"}","}"];Ha.put("duplex:set:"+t.expr,f.join("\n").replace(ma,dt));var p=["function (__vmodel__){","try{","var __value__ = "+u,c.join("\n"),"return __value__","}catch(e){",Rt(n,r).replace("parse","get"),"}","}"].join("\n");return It(t,p,i,a)}d=["(function (){","try{","var __value__ = "+u.replace(ma,dt),"text"===r?"return avalon.parsers.string(__value__)":"return __value__","}catch(e){",Rt(n,r),'\treturn ""',"}","})()"],c.unshift(3,0)}return d.splice.apply(d,c),It(t,d.join("\n"),i,a)}function It(e,t,n,r){t=t.replace(ma,dt);var o={text:t,locals:Object.keys(n).join(","),paths:Object.keys(r).join(",")},a=e.type+":"+e.expr;return e.locals=o.locals,e.paths=o.paths,Ha.put(a,o),t}function Bt(t,n){t.replace(/__vmodel__/," ").replace(Ya," ").replace(Ua,function(t){"$event"===t||e.keyMap[t]||(n[t]=1)})}function zt(t){var n=[];for(var r in t)n.push("var "+r+" = __local__["+e.quote(r)+"]");return n}function Rt(t,n){return"\tavalon.warn(e, "+e.quote("parse "+n+" binding【 "+t+" 】fail")+")"}function qt(t,n){var r=Array.isArray(t)?Tt(t):t,o=[];if(n)for(var a in n)o.push("var "+a+" = __local__["+Rn(a)+"]");r=r.replace(Za,"$1");var i="__local__ = __local__ || {};\n"+o.join(";\n")+"\n"+r;try{var s=Function("__vmodel__","__local__",i)}catch(t){e.warn(r,"render parse error")}return s}function Yt(t,n,r,o){function a(e,t){m.forEach(function(n){delete e[n],delete t[n]})}var i=t.nodeName,s=t.props.is;if(!Xa[i]&&!Xt(i))return void e.warn(i+"不合适做组件的标签");var c={};if(n){var l=[].concat(n);l.forEach(function(e){e&&"object"==typeof e&&Kt(c,e.$model||e,!0)})}else l=[];var u=e.components[s];if(u){var d=c.id||c.$id;!d&&Qa&&(e.warn("warning!",s,"组件最好在ms-widget配置对象中指定全局不重复的$id以提高性能!\n","若在ms-for循环中可以利用 ($index,el) in @array 中的$index拼写你的$id\n","如 ms-widget=\"{is:'ms-button',id:'btn'+$index}\""),Qa=!1),c.define&&(delete c.define,e.warn("warning! 组件的define配置项已经被废掉"));var f=e.directives.widget.define,p=d||t.props.id||"w"+(new Date-0),v=e.mix(!0,{},u.defaults);Kt(c,v,!1);var m=Ja.concat();a.isWidget=!0;var h=f.apply(a,[t.vmodel,v].concat(l));if(!e.modern)for(var y in h)ao[y]||"function"!=typeof h[y]||(h[y]=h[y].bind(h));h.$id=p,e.vmodels[p]=h;for(var g in Ga)c[g]&&c[g].forEach(function(e){h.$watch(g,e)});var _=e.lexer(o),b=_[0];b.children=b.children||[],b.props.is=s,b.props.wid=p,e.speedUp(_);var w=e.render(_,r),x=u.template.trim();"function"==typeof u.getTemplate&&(x=u.getTemplate(h,x));var $=e.lexer(x);$.length>1&&e.error("组件必须用一个元素包起来");var C=u.soleSlot;Zt($,C),e.speedUp($);var E=e.render($),A=Wt+"",k=C?e.quote(C):"null";A=A.replace("XXXXX",Ut(w)).replace("YYYYY",Ut(E)).replace("ZZZZZ",k);var T=A.indexOf("{")+1,N=A.lastIndexOf("}"),O=Function("vm","local",A.slice(T,N));return h.$render=O,t["component-vm:"+s]=h,h.$render=O}}function Ut(e){return e.toString().replace("anonymous","").replace(/\s*\/\*\*\//g,"")}function Wt(){var t=XXXXX(vm,local),n=t[0],r=YYYYY(vm,local),o=r[0];for(var a in n)"children"!==a&&"nodeName"!==a&&("props"===a?e.mix(o.props,n.props):o[a]=n[a]);var i=ZZZZZ,s=e.collectSlots(n,i);return!i||s[i]&&s[i].length||(s[i]=[{nodeName:"#text",nodeValue:vm[i],dynamic:!0}]),e.insertSlots(r,s),delete o.skipAttrs,delete o.skipContent,r}function Zt(e,t){for(var n,r=0;n=e[r];r++)if("slot"===n.nodeName){var o=n.props.name||t;e.splice(r,1,{nodeName:"#comment",nodeValue:"slot:"+o,dynamic:!0,type:o},{nodeName:"#comment",nodeValue:"slot-end:"}),r++}else n.children&&Zt(n.children,t)}function Xt(t){return ei.test(t)||e.components[t]}function Kt(e,t,n){for(var r in t){var o=t[r];Ga[r]?r in e?e[r].push(o):e[r]=[t[r]]:n&&(e[r]=o)}}function Gt(e){for(;e;){if(9===e.nodeType)return!0;e=e.parentNode}return!1}function Jt(t){if(1===t.nodeType&&t.getAttribute("wid")&&!Gt(t)){var n=t.getAttribute("wid"),r=e.scopes[n];if(!r)return;var o=t.getAttribute("ms-controller")||t.getAttribute("ms-important"),a=o&&e.vmodels[o]||r.vmodel;if(a.$fire("onDispose",{type:"dispose",target:t,vmodel:a}),o)return;if(!t.getAttribute("cached")){delete r.vmodel,delete e.scopes[n];var i=t.vtree;Qt(i);var s=t.getAttribute("is");i&&(i[0][s+"-mount"]=!1,i[0]["component-ready:"+s]=!1)}return!1}}function Qt(e){for(var t in e){var n=e[t];if(ti.test(n.nodeName)){for(var t in n)0===t.indexOf("ms-on")&&delete n[t];n.children&&Qt(n.children)}}}function en(e){setTimeout(function(){Jt(e)},4)}function tn(e){for(var t,n=0;t=e[n++];)Jt(t)}function nn(e){e.addEventListener("DOMNodeRemovedFromDocument",function(){en(e)})}function rn(){function t(e,t){var n=r[e];r[e]=function(e,r){return t.call(this,n,e,r)}}function n(t){var n=e.slice(this.getElementsByTagName("*"));o.call(this,t),tn(n)}if(!rn.execute){rn.execute=!0;var r=Node.prototype;t("removeChild",function(e,t,n){return e.call(this,t,n),1===t.nodeType&&en(t),t}),t("replaceChild",function(e,t,n){return e.call(this,t,n),1===n.nodeType&&en(n),t});var o,a=Element.prototype;try{var i=Object.getOwnPropertyDescriptor(a,"innerHTML"),o=i.set;i.set=n,Object.defineProperty(a,"innerHTML",i)}catch(e){if(!a||!a.__lookupSetter__)throw e;o=a.__lookupSetter__("innerHTML"),a.__defineSetter__("innerHTML",n)}t("appendChild",function(e,t){return e.call(this,t),1===t.nodeType&&11===this.nodeType&&en(t),t}),t("insertBefore",function(e,t,n){return e.call(this,t,n),1===t.nodeType&&11===this.nodeType&&en(t),t})}}function on(t){e.Array.ensure(ni,t),ri||(ri=setInterval(function(){for(var t,n=0;t=ni[n];)!1===Jt(t)?e.Array.removeAt(ni,n):n++;0==ni.length&&(clearInterval(ri),ri=0)},700))}function an(e){if(Tn.chrome&&Tn.MutationEvent)nn(e);else try{rn(e)}catch(t){on(e)}}function sn(t,n){var r=n.props.is,o=n["component-vm:"+r],a="component-html:"+r,i=n[a],s=e.vdom(n,"toHTML");i!==s&&(n[a]=s,o.$fire("onViewChange",{type:"viewchange",target:t,vmodel:o,is:r}))}function cn(e){var t=!0;try{ln(e)}catch(e){t=!1}return t}function ln(e){e.children.forEach(function(e){if("#comment"===e.nodeName){if("unresolved component placeholder"===e.nodeValue)throw"unresolved"}else e.children&&ln(e)})}e.init=function(e){this[0]=this.element=e},e.fn=e.prototype=e.init.prototype,e.shadowCopy=function(e,t){for(var n in t)e[n]=t[n];return e};var un={},dn=/([a-z\d])([A-Z]+)/g,fn=/[-_][^-_]/g,pn=/\d\.\d{4}/,vn=/[-.*+?^${}()|[\]\/\\]/g,mn=[].slice,hn=/[^, ]+/g,yn="object"==typeof console;e.shadowCopy(e,{noop:function(){},version:"2.1.17",rword:hn,inspect:{}.toString,ohasOwn:{}.hasOwnProperty,caches:{},vmodels:{},filters:{},components:{},directives:{},eventHooks:{},eventListeners:{},validators:{},scopes:{},effects:{},cssHooks:un,parsers:{number:function(e){return""===e?"":parseFloat(e)||0},string:function(e){return null===e||void 0===e?"":e+""},boolean:function(e){return""===e?e:"true"===e||"1"===e}},log:function(){yn&&e.config.debug&&Function.apply.call(console.log,console,arguments)},warn:function(){if(yn&&e.config.debug){var t=console.warn||console.log;Function.apply.call(t,console,arguments)}},error:function(e,t){throw(t||Error)(e)},oneObject:function(e,t){"string"==typeof e&&(e=e.match(hn)||[]);for(var n={},r=void 0!==t?t:1,o=0,a=e.length;o=0?i:a+i;var s=t?t:a;if(t<0&&(s=a+t),r=s-i,r>0)if(o=new Array(r),this.charAt)for(n=0;n=0;r--)if(this[r]===e)return r;return-1},forEach:o("","_",""),filter:o("r=[],j=0,","if(_)r[j++]=this[i]","return r"),map:o("r=[],","r[i]=_","return r"),some:o("","if(_)return true","return false"),every:o("","if(!_)return false","return true")};for(var kn in An)Cn[kn]=An[kn]}var Tn=Function(" return this")()||this,Nn={window:Tn,document:{createElement:Object,createElementNS:Object,contains:Boolean},root:{outerHTML:"x"},msie:NaN,browser:!1,modern:!0,avalonDiv:{},avalonFragment:null};if(Tn.avalon=e,Tn.location&&Tn.navigator&&Tn.window){var On=Tn.document;Nn.inBrowser=!0,Nn.document=On,Nn.root=On.documentElement,Nn.avalonDiv=On.createElement("div"),Nn.avalonFragment=On.createDocumentFragment(),Tn.VBArray?(Nn.msie=On.documentMode||(Tn.XMLHttpRequest?7:6),Nn.modern=Nn.msie>8):Nn.modern=!0}e.shadowCopy(e,Nn),e.quote="undefined"!=typeof JSON?JSON.stringify:new function(){var e={92:"\\\\",34:'\\"',8:"\\b",12:"\\f",10:"\\n",13:"\\r",9:"\\t"},t="000000",n=function(e,n){return(t+(n||0)).slice(-e)},r="\\u00",o=function(t){var o=t.charCodeAt(0),a=e[o];return a?a:r+n(2,o.toString(16))},a=/[\x00-\x1f\x22\x5c]/g;return function(e){return a.lastIndex=0,'"'+(a.test(e)?String(e).replace(a,o):e)+'"'}};var Mn=e.inspect,jn={};"Boolean Number String Function Array Date RegExp Object Error".replace(e.rword,function(e){jn["[object "+e+"]"]=e.toLowerCase()}),e.type=function(e){return null==e?String(e):"object"==typeof e||"function"==typeof e?jn[Mn.call(e)]||"object":typeof e};var Sn=/^\s*\bfunction\b/;e.isFunction="object"==typeof alert?function(e){try{return Sn.test(e+"")}catch(e){return!1}}:function(e){return"[object Function]"===Mn.call(e)};var Dn=/^\[object (?:Window|DOMWindow|global)\]$/;e.isWindow=i(e.window)?i:a;var Ln,Vn;for(Ln in e({}))break;var gn=e.ohasOwn;Vn="0"!==Ln,e.isPlainObject=/\[native code\]/.test(Object.getPrototypeOf)?c:s,e.mix=e.fn.mix=function(){var t,n,r,o,a,i,s=arguments[0]||{},c=1,l=arguments.length,u=!1;for("boolean"==typeof s&&(u=s,s=arguments[1]||{},c++),"object"==typeof s||e.isFunction(s)||(s={}),c===l&&(s=this,c--);c-1)throw new SyntaxError("此定界符不合法");a.innerHTML="",p.openTag=n,p.closeTag=r;var i=e.escapeRegExp(n),s=e.escapeRegExp(r);p.rexpr=new RegExp(i+"([\\s\\S]*)"+s)}};p.plugins=Xn,e.config({interpolate:["{{","}}"],debug:!0});var Kn=/