• Jump To … +
    can.construct.proxy.js can.construct.super.js can.control.plugin.js can.dojo.js can.dojo.min.js can.fixture.js can.jquery.js can.jquery.min.js can.model.queue.js can.mootools.js can.mootools.min.js can.object.js can.observe.attributes.js can.observe.backup.js can.observe.delegate.js can.observe.setter.js can.observe.validations.js can.util.string.js can.view.modifiers.js can.view.mustache.js can.yui.js can.yui.min.js can.zepto.js can.zepto.min.js
  • can.zepto.min.js

  • ¶
    /*!
     * CanJS - 1.1.6
     * http://canjs.us/
     * Copyright (c) 2013 Bitovi
     * Wed, 05 Jun 2013 18:02:51 GMT
     * Licensed MIT
     * Includes: CanJS default build
     * Download from: http://canjs.us/
     */
    !function(undefined){var __m4=function(){var a=window.can||{};("undefined"==typeof GLOBALCAN||GLOBALCAN!==!1)&&(window.can=a),a.isDeferred=function(a){var b=this.isFunction;return a&&b(a.then)&&b(a.pipe)};var b=0;return a.cid=function(a,c){return a._cid?a._cid:a._cid=(c||"")+ ++b},a.VERSION="@EDGE",a}(),__m6=function(a){var b=Object.prototype.hasOwnProperty,c=function(a){return null!=a&&a==a.window},d=function(a){if(!a||"object"!=typeof a||a.nodeType||c(a))return!1;try{if(a.constructor&&!b.call(a,"constructor")&&!b.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(d){return!1}var e;for(e in a);return e===undefined||b.call(a,e)};return a.isPlainObject=d,a}(__m4),__m7=function(a){return a.addEvent=function(a,b){this.__bindEvents||(this.__bindEvents={});var c=a.split(".")[0];return this.__bindEvents[c]||(this.__bindEvents[c]=[]),this.__bindEvents[c].push({handler:b,name:a}),this},a.removeEvent=function(a,b){if(this.__bindEvents){for(var c,d=0,e=this.__bindEvents[a.split(".")[0]];d<e.length;)c=e[d],b&&c.handler===b||!b&&c.name===a?e.splice(d,1):d++;return this}},a.dispatch=function(b){if(this.__bindEvents){var c=b.type.split(".")[0],d=(this.__bindEvents[c]||[]).slice(0),e=this,f=[b].concat(b.data||[]);a.each(d,function(a){b.data=f.slice(1),a.handler.apply(e,f)})}},a}(__m4),__m8=function(a){var b=/^\s*<(\w+)[^>]*>/,c=function(c,d){d===undefined&&(d=b.test(c)&&RegExp.$1),c&&a.isFunction(c.replace)&&(c=c.replace(/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,"<$1></$2>"));var e=document.createElement("div"),f=document.createElement("div");"tbody"===d||"tfoot"===d||"thead"===d?(f.innerHTML="<table>"+c+"</table>",e=3===f.firstChild.nodeType?f.lastChild:f.firstChild):"tr"===d?(f.innerHTML="<table><tbody>"+c+"</tbody></table>",e=3===f.firstChild.nodeType?f.lastChild:f.firstChild.firstChild):"td"===d||"th"===d?(f.innerHTML="<table><tbody><tr>"+c+"</tr></tbody></table>",e=3===f.firstChild.nodeType?f.lastChild:f.firstChild.firstChild.firstChild):"option"===d?(f.innerHTML="<select>"+c+"</select>",e=3===f.firstChild.nodeType?f.lastChild:f.firstChild):e.innerHTML=""+c;var g={},h=e.childNodes;g.length=h.length;for(var i=0;i<h.length;i++)g[i]=h[i];return[].slice.call(g)};return a.buildFragment=function(b){var d=c(b),e=document.createDocumentFragment();return a.each(d,function(a){e.appendChild(a)}),e},a}(__m4),__m9=function(a){var b=function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])},c=function(a){return this instanceof c?(this._doneFuncs=[],this._failFuncs=[],this._resultArgs=null,this._status="",a&&a.call(this,this),void 0):new c};a.Deferred=c,a.when=c.when=function(){var b=a.makeArray(arguments);if(b.length<2){var d=b[0];return d&&a.isFunction(d.isResolved)&&a.isFunction(d.isRejected)?d:c().resolve(d)}var e=c(),f=0,g=[];return a.each(b,function(a,c){a.done(function(){g[c]=arguments.length<2?arguments[0]:arguments,++f==b.length&&e.resolve.apply(e,g)}).fail(function(){e.reject(1===arguments.length?arguments[0]:arguments)})}),e};var d=function(a,b){return function(c){var d=this._resultArgs=arguments.length>1?arguments[1]:[];return this.exec(c,this[a],d,b)}},e=function(b,c){return function(){var d=this;return a.each(Array.prototype.slice.call(arguments),function(a,e,f){a&&(a.constructor===Array?f.callee.apply(d,a):(d._status===c&&a.apply(d,d._resultArgs||[]),d[b].push(a)))}),this}};return b(c.prototype,{pipe:function(b,c){var d=a.Deferred();return this.done(function(){d.resolve(b.apply(this,arguments))}),this.fail(function(){c?d.reject(c.apply(this,arguments)):d.reject.apply(d,arguments)}),d},resolveWith:d("_doneFuncs","rs"),rejectWith:d("_failFuncs","rj"),done:e("_doneFuncs","rs"),fail:e("_failFuncs","rj"),always:function(){var b=a.makeArray(arguments);return b.length&&b[0]&&this.done(b[0]).fail(b[0]),this},then:function(){var b=a.makeArray(arguments);return b.length>1&&b[1]&&this.fail(b[1]),b.length&&b[0]&&this.done(b[0]),this},state:function(){switch(this._status){case"rs":return"resolved";case"rj":return"rejected";default:return"pending"}},isResolved:function(){return"rs"===this._status},isRejected:function(){return"rj"===this._status},reject:function(){return this.rejectWith(this,arguments)},resolve:function(){return this.resolveWith(this,arguments)},exec:function(b,c,d,e){return""!==this._status?this:(this._status=e,a.each(c,function(a){a.apply(b,d)}),this)}}),a}(__m4),__m10=function(a){return a.each=function(a,b,c){var d,e=0;if(a)if("number"==typeof a.length&&a.pop)for(a.attr&&a.attr("length"),d=a.length;d>e&&b.call(c||a[e],a[e],e,a)!==!1;e++);else if(a.hasOwnProperty)for(d in a)if(a.hasOwnProperty(d)&&b.call(c||a[d],a[d],d,a)===!1)break;return a},a}(__m4),__m3=function(a){function b(a,b){var g=a[h],i=g&&e[g];return b===undefined?i||c(a):i&&i[b]||f.call(d(a),b)}function c(a,b,c){var d=a[h]||(a[h]=++g),f=e[d]||(e[d]={});return b!==undefined&&(f[b]=c),f}var d=Zepto,e={},f=d.fn.data,g=d.uuid=+new Date,h=d.expando="Zepto"+g;d.fn.data=function(a,e){return e===undefined?0==this.length?undefined:b(this[0],a):this.each(function(f){c(this,a,d.isFunction(e)?e.call(this,f,b(this,a)):e)})},d.cleanData=function(b){for(var c,d=0;(c=b[d])!==undefined;d++){a.trigger(c,"destroyed",[],!1);var f=c[h];delete e[f]}};var i=a.each;d.extend(a,Zepto),a.each=i;var j=function(a,b){return a[0]&&a[0][b]||a[b]};a.trigger=function(b,c,e,f){b.trigger?b.trigger(c,e):j(b,"dispatchEvent")?f===!1?d([b]).triggerHandler(c,e):d([b]).trigger(c,e):("string"==typeof c&&(c={type:c}),c.target=c.target||b,c.data=e,a.dispatch.call(b,c))},a.$=Zepto,a.bind=function(b,c){return this.bind?this.bind(b,c):j(this,"addEventListener")?d([this]).bind(b,c):a.addEvent.call(this,b,c),this},a.unbind=function(b,c){return this.unbind?this.unbind(b,c):j(this,"addEventListener")?d([this]).unbind(b,c):a.removeEvent.call(this,b,c),this},a.delegate=function(a,b,c){this.delegate?this.delegate(a,b,c):d([this]).delegate(a,b,c)},a.undelegate=function(a,b,c){this.undelegate?this.undelegate(a,b,c):d([this]).undelegate(a,b,c)},d.each(["append","filter","addClass","remove","data"],function(b,c){a[c]=function(b){return b[c].apply(b,a.makeArray(arguments).slice(1))}}),a.makeArray=function(b){var c=[];return a.each(b,function(a,b){c[b]=a}),c},a.proxy=function(a,b){return function(){return a.apply(b,arguments)}};var k=d.ajaxSettings.xhr;d.ajaxSettings.xhr=function(){var a=k(),b=a.open;return a.open=function(a,c){b.call(this,a,c,l===undefined?!0:l)},a};var l,m=d.ajax,n=function(a,b){for(var c in a)b[c]="function"==typeof b[c]?function(){a[c].apply(a,arguments)}:c[a]};return a.ajax=function(b){var c=b.success,d=b.error,e=a.Deferred();b.success=function(a){n(f,e),e.resolve.call(e,a),c&&c.apply(this,arguments)},b.error=function(){n(f,e),e.reject.apply(e,arguments),d&&d.apply(this,arguments)},b.async===!1&&(l=!1);var f=m(b);return l=undefined,n(f,e),e},d.fn.empty=function(){return this.each(function(){d.cleanData(this.getElementsByTagName("*")),this.innerHTML=""})},d.fn.remove=function(){return d.cleanData(this),this.each(function(){null!=this.parentNode&&(this.getElementsByTagName&&d.cleanData(this.getElementsByTagName("*")),this.parentNode.removeChild(this))}),this},a.trim=function(a){return a.trim()},a.isEmptyObject=function(a){var b;for(b in a);return b===undefined},a.extend=function(b){if(b===!0){var c=a.makeArray(arguments);return c.shift(),d.extend.apply(d,c)}return d.extend.apply(d,arguments)},a.get=function(a,b){return a[b]},a}(__m4,Zepto,__m6,__m7,__m8,__m9,__m10),__m2=function(a){var b=/_|-/,c=/\=\=/,d=/([A-Z]+)([A-Z][a-z])/g,e=/([a-z\d])([A-Z])/g,f=/([a-z\d])([A-Z])/g,g=/\{([^\}]+)\}/g,h=/"/g,i=/'/g,j=function(a,b,c){var d=a[b];return d===undefined&&c===!0&&(d=a[b]={}),d},k=function(a){return/^f|^o/.test(typeof a)};return a.extend(a,{esc:function(a){var b=null===a||a===undefined||isNaN(a)&&"NaN"==""+a;return(""+(b?"":a)).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(h,"&#34;").replace(i,"&#39;")},getObject:function(b,c,d){var e,f,g,h,i=b?b.split("."):[],l=i.length,m=0;if(c=a.isArray(c)?c:[c||window],h=c.length,!l)return c[0];for(m;h>m;m++){for(e=c[m],g=undefined,f=0;l>f&&k(e);f++)g=e,e=j(g,i[f]);if(g!==undefined&&e!==undefined)break}if(d===!1&&e!==undefined&&delete g[i[f-1]],d===!0&&e===undefined)for(e=c[0],f=0;l>f&&k(e);f++)e=j(e,i[f],!0);return e},capitalize:function(a){return a.charAt(0).toUpperCase()+a.slice(1)},underscore:function(a){return a.replace(c,"/").replace(d,"$1_$2").replace(e,"$1_$2").replace(f,"_").toLowerCase()},sub:function(b,c,d){var e=[];return b=b||"",e.push(b.replace(g,function(b,f){var g=a.getObject(f,c,d===!0?!1:undefined);return g===undefined?(e=null,""):k(g)&&e?(e.push(g),""):""+g})),null===e?e:e.length<=1?e[0]:e},replacer:g,undHash:b}),a}(__m3),__m1=function(a){var b=0;return a.Construct=function(){return arguments.length?a.Construct.extend.apply(a.Construct,arguments):void 0},a.extend(a.Construct,{newInstance:function(){var a,b=this.instance();return b.setup&&(a=b.setup.apply(b,arguments)),b.init&&b.init.apply(b,a||arguments),b},_inherit:function(b,c,d){a.extend(d||b,b||{})},_overwrite:function(a,b,c,d){a[c]=d},setup:function(b){this.defaults=a.extend(!0,{},b.defaults,this.defaults)},instance:function(){b=1;var a=new this;return b=0,a},extend:function(c,d,e){function f(){return b?void 0:this.constructor!==f&&arguments.length?arguments.callee.extend.apply(arguments.callee,arguments):this.constructor.newInstance.apply(this.constructor,arguments)}"string"!=typeof c&&(e=d,d=c,c=null),e||(e=d,d=null),e=e||{};var g,h,i,j,k=this,l=this.prototype;j=this.instance(),a.Construct._inherit(e,l,j);for(g in k)k.hasOwnProperty(g)&&(f[g]=k[g]);if(a.Construct._inherit(d,k,f),c){var m=c.split("."),h=m.pop(),n=a.getObject(m.join("."),window,!0),i=n,o=a.underscore(c.replace(/\./g,"_")),p=a.underscore(h);n[h]=f}a.extend(f,{constructor:f,prototype:j,namespace:i,_shortName:p,fullName:c,_fullName:o}),h!==undefined&&(f.shortName=h),f.prototype.constructor=f;var q=[k].concat(a.makeArray(arguments)),r=f.setup.apply(f,q);return f.init&&f.init.apply(f,r||q),f}}),a.Construct}(__m2),__m12=function(a){return a.bindAndSetup=function(){return a.addEvent.apply(this,arguments),this._init||(this._bindings?this._bindings++:(this._bindings=1,this._bindsetup&&this._bindsetup())),this},a.unbindAndTeardown=function(){return a.removeEvent.apply(this,arguments),this._bindings--,this._bindings||this._bindteardown&&this._bindteardown(),this},a}(__m3),__m11=function(a){var b=function(b){return b&&!a.isDeferred(b)&&(a.isArray(b)||a.isPlainObject(b)||b instanceof a.Observe)},c=function(b,c){return a.each(b,function(a){a&&a.unbind&&a.unbind("change"+c)})},d=function(b,d,g,h,i){return h=h||f,i=i||f.List,b instanceof f?g._bindings&&c([b],g._cid):b=a.isArray(b)?new i(b):new h(b),g._bindings&&e(b,d,g),b},e=function(b,c,d){b.bind("change"+d._cid,function(){var e=a.makeArray(arguments),f=e.shift();e[0]=("*"===c?[d.indexOf(b),e[0]]:[c,e[0]]).join("."),f.triggeredNS=f.triggeredNS||{},f.triggeredNS[d._cid]||(f.triggeredNS[d._cid]=!0,a.trigger(d,f,e))})};observeId=0,serialize=function(c,d,e){return c.each(function(c,f){e[f]=b(c)&&a.isFunction(c[d])?c[d]():c}),e},attrParts=function(b,c){return c?[b]:a.isArray(b)?b:(""+b).split(".")},batchNum=1,transactions=0,batchEvents=[],stopCallbacks=[],makeBindSetup=function(a){return function(){var b=this;this._each(function(c,d){c&&c.bind&&e(c,a||d,b)})}};var f=a.Map=a.Observe=a.Construct({bind:a.bindAndSetup,unbind:a.unbindAndTeardown,id:"id",canMakeObserve:b,startBatch:function(a){transactions++,a&&stopCallbacks.push(a)},stopBatch:function(b,c){if(b?transactions=0:transactions--,0==transactions){var d=batchEvents.slice(0),e=stopCallbacks.slice(0);batchEvents=[],stopCallbacks=[],batchNum++,c&&this.startBatch(),a.each(d,function(b){a.trigger.apply(a,b)}),a.each(e,function(a){a()})}},triggerBatch:function(b,c,d){if(!b._init){if(0==transactions)return a.trigger(b,c,d);c="string"==typeof c?{type:c}:c,c.batchNum=batchNum,batchEvents.push([b,c,d])}},keys:function(a){var b=[];f.__reading&&f.__reading(a,"__keys");for(var c in a._data)b.push(c);return b}},{setup:function(b){this._data={},a.cid(this,".observe"),this._init=1,this.attr(b),this.bind("change"+this._cid,a.proxy(this._changes,this)),delete this._init},_bindsetup:makeBindSetup(),_bindteardown:function(){var a=this._cid;this._each(function(b){c([b],a)})},_changes:function(a,b,c,d,e){f.triggerBatch(this,{type:b,batchNum:a.batchNum},[d,e])},_triggerChange:function(){f.triggerBatch(this,"change",a.makeArray(arguments))},_each:function(a){var b=this.__get();for(var c in b)b.hasOwnProperty(c)&&a(b[c],c)},attr:function(a,b){var c=typeof a;return"string"!==c&&"number"!==c?this._attrs(a,b):1===arguments.length?(f.__reading&&f.__reading(this,a),this._get(a)):(this._set(a,b),this)},each:function(){return f.__reading&&f.__reading(this,"__keys"),a.each.apply(undefined,[this.__get()].concat(a.makeArray(arguments)))},removeAttr:function(b){var c=this instanceof a.Observe.List,d=attrParts(b),e=d.shift(),g=c?this[e]:this._data[e];return d.length?g.removeAttr(d):(c?this.splice(e,1):e in this._data&&(delete this._data[e],e in this.constructor.prototype||delete this[e],f.triggerBatch(this,"__keys"),this._triggerChange(e,"remove",undefined,g)),g)},_get:function(a){var b="string"==typeof a&&!!~a.indexOf(".")&&this.__get(a);if(b)return b;var c=attrParts(a),d=this.__get(c.shift());return c.length?d?d._get(c):undefined:d},__get:function(a){return a?this._data[a]:this._data},_set:function(a,c,d){var e=attrParts(a,d),f=e.shift(),g=this.__get(f);if(b(g)&&e.length)g._set(e,c);else{if(e.length)throw"can.Observe: Object does not exist";this.__convert&&(c=this.__convert(f,c)),this.__set(f,c,g)}},__set:function(a,e,g){if(e!==g){var h=this.__get().hasOwnProperty(a)?"set":"add";this.___set(a,b(e)?d(e,a,this):e),"add"==h&&f.triggerBatch(this,"__keys",undefined),this._triggerChange(a,h,e,g),g&&c([g],this._cid)}},___set:function(a,b){this._data[a]=b,a in this.constructor.prototype||(this[a]=b)},bind:a.bindAndSetup,unbind:a.unbindAndTeardown,serialize:function(){return serialize(this,"serialize",{})},_attrs:function(c,d){if(c===undefined)return serialize(this,"attr",{});c=a.extend({},c);var e,g,h=this;f.startBatch(),this.each(function(e,f){return g=c[f],g===undefined?(d&&h.removeAttr(f),void 0):(h.__convert&&(g=h.__convert(f,g)),g instanceof a.Observe?h.__set(f,g,e):b(e)&&b(g)&&e.attr?e.attr(g,d):e!=g&&h.__set(f,g,e),delete c[f],void 0)});for(var e in c)g=c[e],this._set(e,g,!0);return f.stopBatch(),this},compute:function(b){return a.compute(this,b)}}),g=[].splice,h=f({setup:function(b,c){this.length=0,a.cid(this,".observe"),this._init=1,a.isDeferred(b)?this.replace(b):this.push.apply(this,a.makeArray(b||[])),this.bind("change"+this._cid,a.proxy(this._changes,this)),a.extend(this,c),delete this._init},_triggerChange:function(a,b,c,d){f.prototype._triggerChange.apply(this,arguments),~a.indexOf(".")||("add"===b?(f.triggerBatch(this,b,[c,+a]),f.triggerBatch(this,"length",[this.length])):"remove"===b?(f.triggerBatch(this,b,[d,+a]),f.triggerBatch(this,"length",[this.length])):f.triggerBatch(this,b,[c,+a]))},__get:function(a){return a?this[a]:this},___set:function(a,b){this[a]=b,+a>=this.length&&(this.length=+a+1)},_each:function(a){for(var b=this.__get(),c=0;c<b.length;c++)a(b[c],c)},_bindsetup:makeBindSetup("*"),serialize:function(){return serialize(this,"serialize",[])},splice:function(e,f){var h,i=a.makeArray(arguments);for(h=2;h<i.length;h++){var j=i[h];b(j)&&(i[h]=d(j,"*",this,this.constructor.Observe,this.constructor))}f===undefined&&(f=i[1]=this.length-e);var k=g.apply(this,i);return a.Observe.startBatch(),f>0&&(this._triggerChange(""+e,"remove",undefined,k),c(k,this._cid)),i.length>2&&this._triggerChange(""+e,"add",i.slice(2),k),a.Observe.stopBatch(),k},_attrs:function(b,c){return b===undefined?serialize(this,"attr",[]):(b=a.makeArray(b),f.startBatch(),this._updateAttrs(b,c),f.stopBatch(),void 0)},_updateAttrs:function(a,c){for(var d=Math.min(a.length,this.length),e=0;d>e;e++){var f=this[e],g=a[e];b(f)&&b(g)?f.attr(g,c):f!=g&&this._set(e,g)}a.length>this.length?this.push.apply(this,a.slice(this.length)):a.length<this.length&&c&&this.splice(a.length)}}),i=function(b){return b[0]&&a.isArray(b[0])?b[0]:a.makeArray(b)};return a.each({push:"length",unshift:0},function(a,c){var e=[][c];h.prototype[c]=function(){var c,f,g=[],h=a?this.length:0,i=arguments.length;for(this.constructor;i--;)f=arguments[i],g[i]=b(f)?d(f,"*",this,this.constructor.Observe,this.constructor):f;return c=e.apply(this,g),(!this.comparator||g.length)&&this._triggerChange(""+h,"add",g,undefined),c}}),a.each({pop:"length",shift:0},function(a,b){h.prototype[b]=function(){var c=i(arguments),d=a&&this.length?this.length-1:0,e=[][b].apply(this,c);return this._triggerChange(""+d,"remove",undefined,[e]),e&&e.unbind&&e.unbind("change"+this._cid),e}}),a.extend(h.prototype,{indexOf:function(b){return this.attr("length"),a.inArray(b,this)},join:[].join,reverse:[].reverse,slice:function(){var a=Array.prototype.slice.apply(this,arguments);return new this.constructor(a)},concat:function(){var b=[];return a.each(a.makeArray(arguments),function(c,d){b[d]=c instanceof a.Observe.List?c.serialize():c}),new this.constructor(Array.prototype.concat.apply(this.serialize(),b))},forEach:function(b,c){a.each(this,b,c||this)},replace:function(b){return a.isDeferred(b)?b.then(a.proxy(this.replace,this)):this.splice.apply(this,[0,this.length].concat(a.makeArray(b||[]))),this}}),a.List=f.List=h,f.setup=function(){a.Construct.setup.apply(this,arguments),this.List=f.List({Observe:this},{})},f}(__m3,__m12,__m1),__m13=function(a){var b=function(b,c){var d;a.Observe&&(d=a.Observe.__reading,a.Observe.__reading=function(a,b){e.push({obj:a,attr:b+""})});var e=[],f=b.call(c);return a.Observe&&(a.Observe.__reading=d),{value:f,observed:e}},c=function(c,d,e,f){var g,h={},i=!0,j={value:undefined,teardown:function(){for(var a in h){var b=h[a];b.observe.obj.unbind(b.observe.attr,k),delete h[a]}}},k=function(a){if(!(f&&!f.bound||a.batchNum!==undefined&&a.batchNum===g)){var b=j.value,c=l();j.value=c,c!==b&&e(c,b),g=g=a.batchNum}},l=function(){var e=b(c,d),f=e.observed,g=e.value;i=!i,a.each(f,function(a){h[a.obj._cid+"|"+a.attr]?h[a.obj._cid+"|"+a.attr].matched=i:(h[a.obj._cid+"|"+a.attr]={matched:i,observe:a},a.obj.bind(a.attr,k))});for(var j in h){var l=h[j];l.matched!==i&&(l.observe.obj.unbind(l.observe.attr,k),delete h[j])}return g};return j.value=l(),j.isListening=!a.isEmptyObject(h),j};return a.compute=function(d,e,f){if(d&&d.isComputed)return d;var g,h,i,j={bound:!1,hasDependencies:!1},k=function(){},l=function(){},m=function(){return i},n=function(a){i=a},o=!0;if(h=function(b){if(arguments.length){var c=i,d=n.call(e,b,c);return h.hasDependencies?m.call(e):(i=d===undefined?m.call(e):d,c!==i&&a.Observe.triggerBatch(h,"change",[i,c]),i)}return a.Observe.__reading&&o&&a.Observe.__reading(h,"change"),j.bound?i:m.call(e)},"function"==typeof d)n=d,m=d,o=f===!1?!1:!0,h.hasDependencies=!1,k=function(a){g=c(d,e||this,a,j),h.hasDependencies=g.isListening,i=g.value},l=function(){g.teardown()};else if(e)if("string"==typeof e){var p=e,q=d instanceof a.Observe;q&&(h.hasDependencies=!0),m=function(){return q?d.attr(p):d[p]},n=function(a){q?d.attr(p,a):d[p]=a};var r;k=function(c){r=function(){c(m(),i)},a.bind.call(d,f||p,r),i=b(m).value},l=function(){a.unbind.call(d,f||p,r)}}else if("function"==typeof e)i=d,n=e;else{i=d;var s=e;m=s.get||m,n=s.set||n,k=s.on||k,l=s.off||l}else i=d;h.isComputed=!0,a.cid(h,"compute");var t=function(b,c){i=b,a.Observe.triggerBatch(h,"change",[b,c])};return a.extend(h,{_bindsetup:function(){j.bound=!0,k.call(this,t)},_bindteardown:function(){l.call(this,t),j.bound=!1},bind:a.bindAndSetup,unbind:a.unbindAndTeardown})},a.compute.binder=c,a.compute}(__m3,__m12),__m14=function(a){var b=function(b,c,d){var e=new a.Deferred;return b.then(function(){var b=a.makeArray(arguments);b[0]=c[d](b[0]),e.resolveWith(e,b)},function(){e.rejectWith(this,arguments)}),"function"==typeof b.abort&&(e.abort=function(){return b.abort()}),e},c=0,d=function(b){return a.Observe.__reading&&a.Observe.__reading(b,b.constructor.id),b.__get(b.constructor.id)},e=function(b,c,d,e,f,g){var h={};if("string"==typeof b){var i=b.split(/\s+/);h.url=i.pop(),i.length&&(h.type=i.pop())}else a.extend(h,b);return h.data="object"!=typeof c||a.isArray(c)?c:a.extend(h.data||{},c),h.url=a.sub(h.url,h.data,!0),a.ajax(a.extend({type:d||"post",dataType:e||"json",success:f,error:g},h))},f=function(b,c,e,f,g){var h;a.isArray(b)?(h=b[1],b=b[0]):h=b.serialize(),h=[h];var i,j,k=b.constructor;return"destroy"==c&&h.shift(),"create"!==c&&h.unshift(d(b)),j=k[c].apply(k,h),i=j.pipe(function(a){return b[g||c+"d"](a,j),b}),j.abort&&(i.abort=function(){j.abort()}),i.then(e,f),i},g={create:{url:"_shortName",type:"post"},update:{data:function(b,c){c=c||{};var d=this.id;return c[d]&&c[d]!==b&&(c["new"+a.capitalize(b)]=c[d],delete c[d]),c[d]=b,c},type:"put"},destroy:{type:"delete",data:function(a){var b={};return b.id=b[this.id]=a,b}},findAll:{url:"_shortName"},findOne:{}},h=function(a,b){return function(c){return c=a.data?a.data.apply(this,arguments):c,e(b||this[a.url||"_url"],c,a.type||"get")}};a.Model=a.Observe({fullName:"can.Model",_reqs:0,setup:function(b){if(this.store={},a.Observe.setup.apply(this,arguments),a.Model){this.List=i({Observe:this},{});var d=this,e=a.proxy(this._clean,d);a.each(g,function(c,f){if(a.isFunction(d[f])||(d[f]=h(c,d[f])),d["make"+a.capitalize(f)]){var g=d["make"+a.capitalize(f)](d[f]);a.Construct._overwrite(d,b,f,function(){a.Model._reqs++;var b=g.apply(this,arguments),c=b.then(e,e);return c.abort=b.abort,c})}}),"can.Model"!=d.fullName&&d.fullName||(d.fullName="Model"+ ++c),a.Model._reqs=0,this._url=this._shortName+"/{"+this.id+"}"}},_ajax:h,_makeRequest:f,_clean:function(){if(a.Model._reqs--,!a.Model._reqs)for(var b in this.store)this.store[b]._bindings||delete this.store[b];return arguments[0]},models:function(b,c){if(a.Model._reqs++,b){if(b instanceof this.List)return b;var d=this,e=[],f=c instanceof a.Observe.List?c:new(d.List||i),g=a.isArray(b),h=b instanceof i,j=g?b:h?b.serialize():b.data;return f.length&&f.splice(0),a.each(j,function(a){e.push(d.model(a))}),f.push.apply(f,e),g||a.each(b,function(a,b){"data"!==b&&f.attr(b,a)}),setTimeout(a.proxy(this._clean,this),1),f}},model:function(b){if(b){b instanceof this&&(b=b.serialize());var c=b[this.id],d=(c||0===c)&&this.store[c]?this.store[c].attr(b,this.removeAttr||!1):new this(b);return a.Model._reqs&&(this.store[b[this.id]]=d),d}}},{isNew:function(){var a=d(this);return!(a||0===a)},save:function(a,b){return f(this,this.isNew()?"create":"update",a,b)},destroy:function(b,c){if(this.isNew()){var d=this,e=a.Deferred();return e.then(b,c),e.done(function(a){d.destroyed(a)}).resolve(d)}return f(this,"destroy",b,c,"destroyed")},_bindsetup:function(){return this.constructor.store[this.__get(this.constructor.id)]=this,a.Observe.prototype._bindsetup.apply(this,arguments)},_bindteardown:function(){return delete this.constructor.store[d(this)],a.Observe.prototype._bindteardown.apply(this,arguments)},___set:function(b,c){a.Observe.prototype.___set.call(this,b,c),b===this.constructor.id&&this._bindings&&(this.constructor.store[d(this)]=this)}}),a.each({makeFindAll:"models",makeFindOne:"model",makeCreate:"model",makeUpdate:"model"},function(c,d){a.Model[d]=function(d){return function(){var e=a.makeArray(arguments),f=a.isFunction(e[1])?e.splice(0,1):e.splice(0,2),g=b(d.apply(this,f),this,c);return g.then(e[0],e[1]),g}}}),a.each(["created","updated","destroyed"],function(b){a.Model.prototype[b]=function(c){var d,e=this.constructor;d=c&&"object"==typeof c&&this.attr(c.attr?c.attr():c),a.trigger(this,"change",b),a.trigger(e,b,this)}});var i=a.Model.List=a.Observe.List({setup:function(b){a.isPlainObject(b)&&!a.isArray(b)?(a.Observe.List.prototype.setup.apply(this),this.replace(this.constructor.Observe.findAll(b))):a.Observe.List.prototype.setup.apply(this,arguments)},_changes:function(b,c){if(a.Observe.List.prototype._changes.apply(this,arguments),/\w+\.destroyed/.test(c)){var d=this.indexOf(b.target);-1!=d&&this.splice(d,1)}}});return a.Model}(__m3,__m11),__m15=function(a){var b=a.isFunction,c=a.makeArray,d=1,e=a.view=a.template=function(c,d,f,g){b(f)&&(g=f,f=undefined);var h=function(a){return e.frag(a)},i=b(g)?function(a){g(h(a))}:null,j=e.render(c,d,f,i),k=a.Deferred();return b(j)?j:a.isDeferred(j)?(j.then(function(a,b){k.resolve.call(k,h(a),b)},function(){k.fail.apply(k,arguments)}),k):h(j)};a.extend(e,{frag:function(a,b){return e.hookup(e.fragment(a),b)},fragment:function(b){var c=a.buildFragment(b,document.body);return c.childNodes.length||c.appendChild(document.createTextNode("")),c},toId:function(b){return a.map(b.toString().split(/\/|\./g),function(a){return a?a:void 0}).join("_")},hookup:function(b,c){var d,f,g=[];return a.each(b.childNodes?a.makeArray(b.childNodes):b,function(b){1===b.nodeType&&(g.push(b),g.push.apply(g,a.makeArray(b.getElementsByTagName("*"))))}),a.each(g,function(a){a.getAttribute&&(d=a.getAttribute("data-view-id"))&&(f=e.hookups[d])&&(f(a,c,d),delete e.hookups[d],a.removeAttribute("data-view-id"))}),b},hookups:{},hook:function(a){return e.hookups[++d]=a," data-view-id='"+d+"'"},cached:{},cachedRenderers:{},cache:!0,register:function(a){this.types["."+a.suffix]=a},types:{},ext:".ejs",registerScript:function(){},preload:function(){},render:function(d,f,j,k){b(j)&&(k=j,j=undefined);var l=h(f);if(l.length){var m=new a.Deferred,n=a.extend({},f);return l.push(g(d,!0)),a.when.apply(a,l).then(function(b){var d,e=c(arguments),g=e.pop();if(a.isDeferred(f))n=i(b);else for(var h in f)a.isDeferred(f[h])&&(n[h]=i(e.shift()));d=g(n,j),m.resolve(d,n),k&&k(d,n)},function(){m.reject.apply(m,arguments)}),m}var o,p=b(k),m=g(d,p);if(p)o=m,m.then(function(a){k(f?a(f,j):a)});else{if("resolved"===m.state()&&m.__view_id){var q=e.cachedRenderers[m.__view_id];return f?q(f,j):q}m.then(function(a){o=f?a(f,j):a})}return o},registerView:function(b,c,d,f){var g=(d||e.types[e.ext]).renderer(b,c);return f=f||new a.Deferred,e.cache&&(e.cached[b]=f,f.__view_id=b,e.cachedRenderers[b]=g),f.resolve(g)}});var f=function(a,b){if(!a.length)throw"can.view: No template or empty template:"+b},g=function(b,c){var d,g,h,i=b.match(/\.[\w\d]+$/);if(b.match(/^#/)&&(b=b.substr(1)),(g=document.getElementById(b))&&(i="."+g.type.match(/\/(x\-)?(.+)/)[2]),i||e.cached[b]||(b+=i=e.ext),a.isArray(i)&&(i=i[0]),h=e.toId(b),b.match(/^\/\//)){var j=b.substr(2);b=window.steal?steal.config().root.mapJoin(""+steal.id(j)):j}if(d=e.types[i],e.cached[h])return e.cached[h];if(g)return e.registerView(h,g.innerHTML,d);var k=new a.Deferred;return a.ajax({async:c,url:b,dataType:"text",error:function(a){f("",b),k.reject(a)},success:function(a){f(a,b),e.registerView(h,a,d,k)}}),k},h=function(b){var c=[];if(a.isDeferred(b))return[b];for(var d in b)a.isDeferred(b[d])&&c.push(b[d]);return c},i=function(b){return a.isArray(b)&&"success"===b[1]?b[0]:b};return window.steal&&steal.type("view js",function(a,b){var c=e.types["."+a.type],d=e.toId(a.id);a.text="steal('"+(c.plugin||"can/view/"+a.type)+"',function(can){return "+"can.view.preload('"+d+"',"+a.text+");\n})",b()}),a.extend(e,{register:function(b){this.types["."+b.suffix]=b,window.steal&&steal.type(b.suffix+" view js",function(a,b){var c=e.types["."+a.type],d=e.toId(a.id+"");a.text=c.script(d,a.text),b()}),e[b.suffix]=function(c,d){if(!d){var f=function(){return e.frag(f.render.apply(this,arguments))};return f.render=function(){var a=b.renderer(null,c);return a.apply(a,arguments)},f}return e.preload(c,b.renderer(c,d)),a.view(c)}},registerScript:function(a,b,c){return"can.view.preload('"+b+"',"+e.types["."+a].script(b,c)+");"},preload:function(b,c){function d(){return e.frag(c.apply(this,arguments))}return e.cached[b]=(new a.Deferred).resolve(function(a,b){return c.call(a,a,b)}),d.render=c,d}}),a}(__m3),__m18=function(){var a={tagToContentPropMap:{option:"textContent"in document.createElement("option")?"textContent":"innerText",textarea:"value"},attrMap:{"class":"className",value:"value",innerText:"innerText",textContent:"textContent",checked:!0,disabled:!0,readonly:!0,required:!0},defaultValue:["input","textarea"],tagMap:{"":"span",table:"tbody",tr:"td",ol:"li",ul:"li",tbody:"tr",thead:"tr",tfoot:"tr",select:"option",optgroup:"option"},reverseTagMap:{tr:"tbody",option:"select",td:"tr",th:"tr",li:"ul"},getParentNode:function(a,b){return b&&11===a.parentNode.nodeType?b:a.parentNode},setAttr:function(b,c,d){var e=b.nodeName.toString().toLowerCase(),f=a.attrMap[c];f===!0?b[c]=!0:f?(b[f]=d,"value"===f&&can.inArray(e,a.defaultValue)>=0&&(b.defaultValue=d)):b.setAttribute(c,d)},getAttr:function(b,c){return(a.attrMap[c]&&b[a.attrMap[c]]?b[a.attrMap[c]]:b.getAttribute(c))||""},removeAttr:function(b,c){a.attrMap[c]===!0?b[c]=!1:b.removeAttribute(c)},contentText:function(a){return"string"==typeof a?a:a||0===a?""+a:""}};return a}(),__m17=function(can,elements){var newLine=/(\r|\n)+/g,clean=function(a){return a.split("\\").join("\\\\").split("\n").join("\\n").split('"').join('\\"').split("	").join("\\t")},getTag=function(a,b,c){if(a)return a;for(;c<b.length;){if("<"==b[c]&&elements.reverseTagMap[b[c+1]])return elements.reverseTagMap[b[c+1]];c++}return""},bracketNum=function(a){return--a.split("{").length- --a.split("}").length},myEval=function(script){eval(script)},attrReg=/([^\s]+)[\s]*=[\s]*$/,startTxt="var ___v1ew = [];",finishTxt="return ___v1ew.join('')",put_cmd="___v1ew.push(",insert_cmd=put_cmd,htmlTag=null,quote=null,beforeQuote=null,rescan=null,status=function(){return quote?"'"+beforeQuote.match(attrReg)[1]+"'":htmlTag?1:0};return can.view.Scanner=Scanner=function(a){can.extend(this,{text:{},tokens:[]},a),this.tokenReg=[],this.tokenSimple={"<":"<",">":">",'"':'"',"'":"'"},this.tokenComplex=[],this.tokenMap={};for(var b,c=0;b=this.tokens[c];c++)b[2]?(this.tokenReg.push(b[2]),this.tokenComplex.push({abbr:b[1],re:new RegExp(b[2]),rescan:b[3]})):(this.tokenReg.push(b[1]),this.tokenSimple[b[1]]=b[0]),this.tokenMap[b[0]]=b[1];this.tokenReg=new RegExp("("+this.tokenReg.slice(0).concat(["<",">",'"',"'"]).join("|")+")","g")},Scanner.prototype={helpers:[{name:/\s*\(([\$\w]+)\)\s*->([^\n]*)/,fn:function(a){var b=/\s*\(([\$\w]+)\)\s*->([^\n]*)/,c=a.match(b);return"can.proxy(function(__){var "+c[1]+"=can.$(__);"+c[2]+"}, this);"}}],scan:function(a,b){var c=[],d=0,e=this.tokenSimple,f=this.tokenComplex;a=a.replace(newLine,"\n"),this.transform&&(a=this.transform(a)),a.replace(this.tokenReg,function(b,g){var h=arguments[arguments.length-2];if(h>d&&c.push(a.substring(d,h)),e[b])c.push(b);else for(var i,j=0;i=f[j];j++)if(i.re.test(b)){c.push(i.abbr),i.rescan&&c.push(i.rescan(g));break}d=h+g.length}),d<a.length&&c.push(a.substr(d));var g,h,i,j="",k=[startTxt+(this.text.start||"")],l=function(a,b){k.push(put_cmd,'"',clean(a),'"'+(b||"")+");")},m=[],n=null,o=!1,p="",q=[],r=!1,s=0,t=this.tokenMap;for(htmlTag=quote=beforeQuote=null;(i=c[s++])!==undefined;){if(null===n)switch(i){case t.left:case t.escapeLeft:case t.returnLeft:o=htmlTag&&1;case t.commentLeft:n=i,j.length&&l(j),j="";break;case t.escapeFull:o=htmlTag&&1,rescan=1,n=t.escapeLeft,j.length&&l(j),rescan=c[s++],j=rescan.content||rescan,rescan.before&&l(rescan.before),c.splice(s,0,t.right);break;case t.commentFull:break;case t.templateLeft:j+=t.left;break;case"<":0!==c[s].indexOf("!--")&&(htmlTag=1,o=0),j+=i;break;case">":htmlTag=0;var u="/"==j.substr(j.length-1)||"--"==j.substr(j.length-2);o||!r&&elements.tagToContentPropMap[q[q.length-1]]?(u?l(j.substr(0,j.length-1),',can.view.pending(),"/>"'):l(j,',can.view.pending(),">"'),j="",o=0):j+=i,(u||r)&&(q.pop(),p=q[q.length-1],r=!1);break;case"'":case'"':htmlTag&&(quote&&quote===i?quote=null:null===quote&&(quote=i,beforeQuote=g));default:"<"===g&&(p=i.split(/\s/)[0],0===p.indexOf("/")&&q[q.length-1]===p.substr(1)?(p=q[q.length-1],r=!0):q.push(p)),j+=i}else switch(i){case t.right:case t.returnRight:switch(n){case t.left:h=bracketNum(j),1==h?(k.push(insert_cmd,"can.view.txt(0,'"+getTag(p,c,s)+"',"+status()+",this,function(){",startTxt,j),m.push({before:"",after:finishTxt+"}));\n"})):(d=m.length&&-1==h?m.pop():{after:";"},d.before&&k.push(d.before),k.push(j,";",d.after));
    break;case t.escapeLeft:case t.returnLeft:h=bracketNum(j),h&&m.push({before:finishTxt,after:"}));"});for(var v=n===t.escapeLeft?1:0,w={insert:insert_cmd,tagName:getTag(p,c,s),status:status()},x=0;x<this.helpers.length;x++){var y=this.helpers[x];if(y.name.test(j)){j=y.fn(j,w),y.name.source==/^>[\s]*\w*/.source&&(v=0);break}}"object"==typeof j?j.raw&&k.push(j.raw):k.push(insert_cmd,"can.view.txt("+v+",'"+p+"',"+status()+",this,function(){ "+(this.text.escape||"")+"return ",j,h?startTxt:"}));"),rescan&&rescan.after&&rescan.after.length&&(l(rescan.after.length),rescan=null)}n=null,j="";break;case t.templateLeft:j+=t.left;break;default:j+=i}g=i}j.length&&l(j),k.push(";");var z=k.join(""),A={out:"with(_VIEW) { with (_CONTEXT) {"+z+" "+finishTxt+"}}"};return myEval.call(A,"this.fn = (function(_CONTEXT,_VIEW){"+A.out+"});\r\n//@ sourceURL="+b+".js"),A}},Scanner}(__m15,__m18),__m21=function(a){var b=!0;try{document.createTextNode("")._=0}catch(c){b=!1}var d={},e={},f={},g="ejs_"+Math.random(),h=0,i=function(a){if(b||3!==a.nodeType)return a[g]?a[g]:a[g]=(a.nodeName?"element_":"obj_")+ ++h;for(var c in e)if(e[c]===a)return c;return e["text_"+ ++h]=a,"text_"+h},j=function(b,c){var e=d[i(b)];if(e){var f=a.inArray(c,e);f>=0&&e.splice(f,1),e.length||delete d[i(b)]}},k=function(a,b){var c=d[i(a)];c||(c=d[i(a)]=[]),c.push(b)},l={id:i,replace:function(b,c){b=a.makeArray(b);var e=b[0];a.each(a.makeArray(d[i(e)]),function(d){var g=f[d],h=a.inArray(e,g),i=a.inArray(b[b.length-1],g);if(h>=0&&i>=0){for(var m=h;i>=m;m++){var n=g[m];j(n,d)}g.splice.apply(g,[h,i-h+1].concat(c)),a.each(c,function(a){k(a,d)})}else l.unregister(g)})},register:function(b){var c=i(b);f[c]=b,a.each(b,function(a){k(a,c)})},unregister:function(b){var c=i(b);a.each(b,function(a){j(a,c)}),delete f[c]},nodeMap:d,nodeListMap:f};return l}(__m3),__m20=function(a,b,c,d){var e=function(b,c,d){var e=function(){d(f),a.unbind.call(b,"destroyed",e)},f={teardownCheck:function(a){a||e()}};return a.bind.call(b,"destroyed",e),c(f),f},f=function(a,b,c){return e(a,function(){b.bind("change",c)},function(a){b.unbind("change",c),a.nodeList&&d.unregister(a.nodeList)})},g=function(a){return(a||"").replace(/['"]/g,"").split("=")};insertElementsAfter=function(a,b){var c=a[a.length-1];c.nextSibling?c.parentNode.insertBefore(b,c.nextSibling):c.parentNode.appendChild(b)};var h={nodeLists:d,list:function(c,f,g,h,i){var j=[],k=function(b,c,e){var f=document.createDocumentFragment(),k=[];if(a.each(c,function(b){var c=g.call(h,b),d=a.view.frag(c,i);k.push(a.makeArray(d.childNodes)),f.appendChild(d)}),j[e]){var l=j[e][0];l.parentNode.insertBefore(f,l)}else insertElementsAfter(0==e?[m]:j[e-1],f);a.each(k,function(a){d.register(a)}),[].splice.apply(j,[e,0].concat(k))},l=function(b,c,e){var f=j.splice(e,c.length),g=[];a.each(f,function(a){[].push.apply(g,a),d.replace(a,[]),d.unregister(a)}),a.remove(a.$(g))},i=b.getParentNode(c,i),m=document.createTextNode("");e(i,function(){f.bind("add",k).bind("remove",l)},function(){f.unbind("add",k).unbind("remove",l),a.each(j,function(a){d.unregister(a)})}),insertElementsAfter([c],m),a.remove(a.$(c)),k({},f,0)},html:function(c,e,g){var h,g=b.getParentNode(c,g),i=f(g,e,function(a,b){var c=h[0].parentNode;c&&j(b),i.teardownCheck(h[0].parentNode)}),j=function(b){var e=a.view.frag(b,g),f=a.makeArray(e.childNodes);if(insertElementsAfter(h||[c],e),h){var j=a.makeArray(h);d.replace(h,f),a.remove(a.$(j))}else a.remove(a.$(c)),h=f,i.nodeList=h,d.register(h)};j(e(),[c])},text:function(a,c,d){var e=b.getParentNode(a,d),g=f(a.parentNode!==e?a.parentNode:e,c,function(a,b){"unknown"!=typeof h.nodeValue&&(h.nodeValue=""+b),g.teardownCheck(h.parentNode)}),h=document.createTextNode(c());a.parentNode!==e?(e=a.parentNode,e.insertBefore(h,a),e.removeChild(a)):(e.insertBefore(h,a),e.removeChild(a))},attributes:function(a,c,d){var e=function(c){var d=g(c),e=d.shift();e!=h&&h&&b.removeAttr(a,h),e&&(b.setAttr(a,e,d.join("=")),h=e)};if(f(a,c,function(a,b){e(b)}),arguments.length>=3)var h=g(d)[0];else e(c())},attributePlaceholder:"__!!__",attributeReplace:/__!!__/g,attribute:function(c,d,e){f(c,e,function(){b.setAttr(c,d,j.render())});var g,i=a.$(c);g=a.data(i,"hooks"),g||a.data(i,"hooks",g={});var j,k=b.getAttr(c,d),l=k.split(h.attributePlaceholder),m=[];m.push(l.shift(),l.join(h.attributePlaceholder)),g[d]?g[d].computes.push(e):g[d]={render:function(){var a=0,c=k?k.replace(h.attributeReplace,function(){return b.contentText(j.computes[a++]())}):b.contentText(j.computes[a++]());return c},computes:[e],batchNum:undefined},j=g[d],m.splice(1,0,e()),b.setAttr(c,d,m.join(""))}};return h}(__m3,__m18,__m15,__m21),__m19=function(a,b,c){var d=[],e=function(a){var c=b.tagMap[a]||"span";return"span"===c?"@@!!@@":"<"+c+">"+e(c)+"</"+c+">"},f=function(b,c){if("string"==typeof b)return b;if(!b&&0!==b)return"";var e=b.hookup&&function(a,c){b.hookup.call(b,a,c)}||"function"==typeof b&&b;return e?c?"<"+c+" "+a.view.hook(e)+"></"+c+">":(d.push(e),""):""+b},g=function(b){return"string"==typeof b||"number"==typeof b?a.esc(b):f(b)};return a.extend(a.view,{live:c,setupLists:function(){var b,c=a.view.lists;return a.view.lists=function(a,c){b={list:a,renderer:c}},function(){return a.view.lists=c,b}},pending:function(){var b=d.slice(0);return lastHookups=b,d=[],a.view.hook(function(c){a.each(b,function(a){a(c)})})},txt:function(h,i,j,k,l){var m=a.view.setupLists(),n=function(){},o=function(){p.unbind("change",n)},p=a.compute(l,k,!1);p.bind("change",n);var q=b.tagMap[i]||"span",r=m(),s=p();if(r)return"<"+q+a.view.hook(function(a,b){c.list(a,r.list,r.renderer,k,b)})+"></"+q+">";if(!p.hasDependencies)return o(),(h||0!==j?g:f)(s,0===j&&q);var t=b.tagToContentPropMap[i];if(0!==j||t){if(1===j)return d.push(function(a){c.attributes(a,p,p()),o()}),p();var u=0===j?t:j;return(0===j?lastHookups:d).push(function(a){c.attribute(a,u,p),o()}),c.attributePlaceholder}return"<"+q+a.view.hook(h?function(a,b){c.text(a,p,b),o()}:function(a,b){c.html(a,p,b),o()})+">"+e(q)+"</"+q+">"}}),a}(__m15,__m18,__m20,__m2),__m16=function(a){var b=a.extend,c=function(a){if(this.constructor!=c){var d=new c(a);return function(a,b){return d.render(a,b)}}return"function"==typeof a?(this.template={fn:a},void 0):(b(this,a),this.template=this.scanner.scan(this.text,this.name),void 0)};return a.EJS=c,c.prototype.render=function(a,b){return a=a||{},this.template.fn.call(a,a,new c.Helpers(a,b||{}))},b(c.prototype,{scanner:new a.view.Scanner({tokens:[["templateLeft","<%%"],["templateRight","%>"],["returnLeft","<%=="],["escapeLeft","<%="],["commentLeft","<%#"],["left","<%"],["right","%>"],["returnRight","%>"]],transform:function(a){return a.replace(/<%([\s\S]+?)%>/gm,function(a,b){var c,d,e=[];b.replace(/[{}]/gm,function(a,b){e.push([a,b])});do for(c=!1,d=e.length-2;d>=0;d--)if("{"==e[d][0]&&"}"==e[d+1][0]){e.splice(d,2),c=!0;break}while(c);if(e.length>=2){var f,g=["<%"],h=0;for(d=0;f=e[d];d++)g.push(b.substring(h,h=f[1])),"{"==f[0]&&d<e.length-1||"}"==f[0]&&d>0?g.push("{"==f[0]?"{ %><% ":" %><% }"):g.push(f[0]),++h;return g.push(b.substring(h),"%>"),g.join("")}return"<%"+b+"%>"})}})}),c.Helpers=function(a,c){this._data=a,this._extras=c,b(this,c)},c.Helpers.prototype={list:function(b,c){a.each(b,function(a,d){c(a,d,b)})},each:function(b,c){a.isArray(b)?this.list(b,c):a.view.lists(b,c)}},a.view.register({suffix:"ejs",script:function(a,b){return"can.EJS(function(_CONTEXT,_VIEW) { "+new c({text:b,name:a}).template.out+" })"},renderer:function(a,b){return c({text:b,name:a})}}),a}(__m3,__m15,__m2,__m13,__m17,__m19),__m22=function(a){var b,c=function(b,c,d){return a.bind.call(b,c,d),function(){a.unbind.call(b,c,d)}},d=a.isFunction,e=a.extend,f=a.each,g=[].slice,h=/\{([^\}]+)\}/g,i=a.getObject("$.event.special",[a])||{},j=function(b,c,d,e){return a.delegate.call(b,c,d,e),function(){a.undelegate.call(b,c,d,e)}},k=function(b,d,e,f){return f?j(b,a.trim(f),d,e):c(b,d,e)},l=a.Control=a.Construct({setup:function(){if(a.Construct.setup.apply(this,arguments),a.Control){var b,c=this;c.actions={};for(b in c.prototype)c._isAction(b)&&(c.actions[b]=c._action(b))}},_shifter:function(b,c){var e="string"==typeof c?b[c]:c;return d(e)||(e=b[e]),function(){return b.called=c,e.apply(b,[this.nodeName?a.$(this):this].concat(g.call(arguments,0)))}},_isAction:function(a){var b=this.prototype[a],c=typeof b;return"constructor"!==a&&("function"==c||"string"==c&&d(this.prototype[b]))&&!!(i[a]||m[a]||/[^\w]/.test(a))},_action:function(c,d){if(h.lastIndex=0,d||!h.test(c)){var e=d?a.sub(c,[d,window]):c;if(!e)return null;var f=a.isArray(e),g=f?e[1]:e,i=g.split(/\s+/g),j=i.pop();return{processor:m[j]||b,parts:[g,i.join(" "),j],delegate:f?e[0]:undefined}}},processors:{},defaults:{}},{setup:function(b,c){var d,f=this.constructor,g=f.pluginName||f._fullName;return this.element=a.$(b),g&&"can_control"!==g&&this.element.addClass(g),(d=a.data(this.element,"controls"))||a.data(this.element,"controls",d=[]),d.push(this),this.options=e({},f.defaults,c),this.on(),[this.element,this.options]},on:function(b,c,d,e){if(!b){this.off();var f,g,h=this.constructor,i=this._bindings,j=h.actions,l=this.element,m=a.Control._shifter(this,"destroy");for(f in j)j.hasOwnProperty(f)&&(g=j[f]||h._action(f,this.options))&&i.push(g.processor(g.delegate||l,g.parts[2],g.parts[1],f,this));return a.bind.call(l,"destroyed",m),i.push(function(b){a.unbind.call(b,"destroyed",m)}),i.length}return"string"==typeof b&&(e=d,d=c,c=b,b=this.element),e===undefined&&(e=d,d=c,c=null),"string"==typeof e&&(e=a.Control._shifter(this,e)),this._bindings.push(k(b,d,e,c)),this._bindings.length},off:function(){var a=this.element[0];f(this._bindings||[],function(b){b(a)}),this._bindings=[]},destroy:function(){if(null!==this.element){var b,c=this.constructor,d=c.pluginName||c._fullName;this.off(),d&&"can_control"!==d&&this.element.removeClass(d),b=a.data(this.element,"controls"),b.splice(a.inArray(this,b),1),a.trigger(this,"destroyed"),this.element=null}}}),m=a.Control.processors,b=function(b,c,d,e,f){return k(b,c,a.Control._shifter(f,e),d)};return f(["change","click","contextmenu","dblclick","keydown","keyup","keypress","mousedown","mousemove","mouseout","mouseover","mouseup","reset","resize","scroll","select","submit","focusin","focusout","mouseenter","mouseleave","touchstart","touchmove","touchcancel","touchend","touchleave"],function(a){m[a]=b}),l}(__m3,__m1),__m24=function(a){var b=/^\d+$/,c=/([^\[\]]+)|(\[\])/g,d=/([^?#]*)(#.*)?$/,e=function(a){return decodeURIComponent(a.replace(/\+/g," "))};return a.extend(a,{deparam:function(f){var g,h,i={};return f&&d.test(f)&&(g=f.split("&"),a.each(g,function(a){var d=a.split("="),f=e(d.shift()),g=e(d.join("=")),j=i;if(f){d=f.match(c);for(var k=0,l=d.length-1;l>k;k++)j[d[k]]||(j[d[k]]=b.test(d[k+1])||"[]"==d[k+1]?[]:{}),j=j[d[k]];h=d.pop(),"[]"==h?j.push(g):j[h]=g}})),i}}),a}(__m3,__m2),__m23=function(a){var b=/\:([\w\.]+)/g,c=/^(?:&[^=]+=[^&]*)+/,d=function(b){var c=[];return a.each(b,function(b,d){c.push(("className"===d?"class":d)+'="'+("href"===d?b:a.esc(b))+'"')}),c.join(" ")},e=function(a,b){var c=0,d=0,e={};for(var f in a.defaults)a.defaults[f]===b[f]&&(e[f]=1,c++);for(;d<a.names.length;d++){if(!b.hasOwnProperty(a.names[d]))return-1;e[a.names[d]]||c++}return c},f=!0,g=window.location,h=function(a){return(a+"").replace(/([.?*+\^$\[\]\\(){}|\-])/g,"\\$1")},i=a.each,j=a.extend;a.route=function(c,d){d=d||{};var e=[],f=c.replace(b,function(b,f,g){e.push(f);var h="\\"+(c.substr(g+b.length,1)||a.route._querySeparator);return"([^"+h+"]"+(d[f]?"*":"+")+")"});return a.route.routes[c]={test:new RegExp("^"+f+"($|"+h(a.route._querySeparator)+")"),route:c,names:e,defaults:d,length:c.split("/").length},a.route},j(a.route,{_querySeparator:"&",_paramsMatcher:c,param:function(c,d){var f,g,h=0,k=c.route,l=0;if(delete c.route,i(c,function(){l++}),i(a.route.routes,function(a){return g=e(a,c),g>h&&(f=a,h=g),g>=l?!1:void 0}),a.route.routes[k]&&e(a.route.routes[k],c)===h&&(f=a.route.routes[k]),f){var m,n=j({},c),o=f.route.replace(b,function(a,b){return delete n[b],c[b]===f.defaults[b]?"":encodeURIComponent(c[b])});return i(f.defaults,function(a,b){n[b]===a&&delete n[b]}),m=a.param(n),d&&a.route.attr("route",f.route),o+(m?a.route._querySeparator+m:"")}return a.isEmptyObject(c)?"":a.route._querySeparator+a.param(c)},deparam:function(b){var c={length:-1};if(i(a.route.routes,function(a){a.test.test(b)&&a.length>c.length&&(c=a)}),c.length>-1){var d=b.match(c.test),e=d.shift(),f=b.substr(e.length-(d[d.length-1]===a.route._querySeparator?1:0)),g=f&&a.route._paramsMatcher.test(f)?a.deparam(f.slice(1)):{};return g=j(!0,{},c.defaults,g),i(d,function(b,d){b&&b!==a.route._querySeparator&&(g[c.names[d]]=decodeURIComponent(b))}),g.route=c.route,g}return b.charAt(0)!==a.route._querySeparator&&(b=a.route._querySeparator+b),a.route._paramsMatcher.test(b)?a.deparam(b.slice(1)):{}},data:new a.Observe({}),routes:{},ready:function(b){return b===!1&&(f=b),(b===!0||f===!0)&&(a.route._setup(),o()),a.route},url:function(b,c){return c&&(b=j({},l,b)),"#!"+a.route.param(b)},link:function(b,c,e,f){return"<a "+d(j({href:a.route.url(c,f)},e))+">"+b+"</a>"},current:function(b){return g.hash=="#!"+a.route.param(b)},_setup:function(){a.bind.call(window,"hashchange",o)},_getHash:function(){return g.href.split(/#!?/)[1]||""},_setHash:function(b){var c=a.route.param(b,!0);return g.hash="#!"+c,c}}),i(["bind","unbind","delegate","undelegate","attr","removeAttr"],function(b){a.route[b]=function(){return a.route.data[b]?a.route.data[b].apply(a.route.data,arguments):void 0}});var k,l,m,n,o=a.route.setState=function(){var b=a.route._getHash();l=a.route.deparam(b),n&&b===m||a.route.attr(l,!0)};return a.route.bind("change",function(){n=1,clearTimeout(k),k=setTimeout(function(){n=0;var b=a.route.data.serialize();m=a.route._setHash(b)},1)}),a.bind.call(document,"ready",a.route.ready),"complete"!==document.readyState&&"interactive"!==document.readyState||!f||a.route.ready(),a.route.constructor.canMakeObserve=a.Observe.canMakeObserve,a.route}(__m3,__m11,__m24),__m25=function(a){return a.Control.processors.route=function(b,c,d,e,f){d=d||"",a.route(d);var g,h=function(b){if(a.route.attr("route")===d&&(b.batchNum===undefined||b.batchNum!==g)){g=b.batchNum;var c=a.route.attr();delete c.route,a.isFunction(f[e])?f[e](c):f[f[e]](c)}};return a.route.bind("change",h),function(){a.route.unbind("change",h)}},a}(__m3,__m23,__m22);window.can=__m4}();