ember-source 1.0.0.rc6.2 → 1.0.0.rc6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ember-source might be problematic. Click here for more details.
- checksums.yaml +8 -8
- data/dist/ember-data-deps.js +736 -538
- data/dist/ember-data-deps.min.js +6 -6
- data/dist/ember-data-deps.prod.js +731 -533
- data/dist/ember-debug.js +2 -2
- data/dist/ember-old-router.js +1040 -656
- data/dist/ember-old-router.min.js +9 -9
- data/dist/ember-old-router.prod.js +1030 -647
- data/dist/ember-runtime.js +713 -515
- data/dist/ember-runtime.min.js +5 -5
- data/dist/ember-runtime.prod.js +708 -510
- data/dist/ember-spade.js +1 -1
- data/dist/ember-template-compiler.js +8 -8
- data/dist/ember-template-compiler.min.js +2 -2
- data/dist/ember-template-compiler.prod.js +3 -3
- data/dist/ember-tests.js +8 -3
- data/dist/ember.js +1486 -837
- data/dist/ember.min.js +9 -9
- data/dist/ember.prod.js +1391 -783
- metadata +4 -3
data/dist/ember-runtime.min.js
CHANGED
@@ -8,10 +8,10 @@
|
|
8
8
|
// ==========================================================================
|
9
9
|
|
10
10
|
|
11
|
-
// Version: v1.0.0-rc.6-
|
12
|
-
// Last commit:
|
11
|
+
// Version: v1.0.0-rc.6-221-g9d051c2
|
12
|
+
// Last commit: 9d051c2 (2013-07-28 23:13:59 -0700)
|
13
13
|
|
14
14
|
|
15
|
-
!function(){var e,t;!function(){var r={},n={};e=function(e,t,n){r[e]={deps:t,callback:n}},t=function(e){if(n[e])return n[e];n[e]={};var i,o,s,a,u;if(i=r[e],!i)throw new Error("Module '"+e+"' not found.");o=i.deps,s=i.callback,a=[];for(var c=0,h=o.length;h>c;c++)"exports"===o[c]?a.push(u={}):a.push(t(o[c]));var l=s.apply(this,a);return n[e]=u||l}}(),function(){function e(e){return r.console&&r.console[e]?r.console[e].apply?function(){r.console[e].apply(r.console,arguments)}:function(){var t=Array.prototype.join.call(arguments,", ");r.console[e](t)}:void 0}function t(e,t){if(!e)try{throw new Error("assertion failed: "+t)}catch(r){setTimeout(function(){throw r},0)}}"undefined"==typeof Ember&&(Ember={});var r=Ember.imports=Ember.imports||this,n=Ember.exports=Ember.exports||this;Ember.lookup=Ember.lookup||this,n.Em=n.Ember=Em=Ember,Ember.isNamespace=!0,Ember.toString=function(){return"Ember"},Ember.VERSION="1.0.0-rc.6",Ember.ENV=Ember.ENV||("undefined"==typeof ENV?{}:ENV),Ember.config=Ember.config||{},Ember.EXTEND_PROTOTYPES=Ember.ENV.EXTEND_PROTOTYPES,"undefined"==typeof Ember.EXTEND_PROTOTYPES&&(Ember.EXTEND_PROTOTYPES=!0),Ember.LOG_STACKTRACE_ON_DEPRECATION=Ember.ENV.LOG_STACKTRACE_ON_DEPRECATION!==!1,Ember.SHIM_ES5=Ember.ENV.SHIM_ES5===!1?!1:Ember.EXTEND_PROTOTYPES,Ember.LOG_VERSION=Ember.ENV.LOG_VERSION===!1?!1:!0,Ember.K=function(){return this},"undefined"==typeof Ember.assert&&(Ember.assert=Ember.K),"undefined"==typeof Ember.warn&&(Ember.warn=Ember.K),"undefined"==typeof Ember.debug&&(Ember.debug=Ember.K),"undefined"==typeof Ember.deprecate&&(Ember.deprecate=Ember.K),"undefined"==typeof Ember.deprecateFunc&&(Ember.deprecateFunc=function(e,t){return t}),Ember.uuid=0,Ember.Logger={log:e("log")||Ember.K,warn:e("warn")||Ember.K,error:e("error")||Ember.K,info:e("info")||Ember.K,debug:e("debug")||e("info")||Ember.K,assert:e("assert")||t},Ember.onerror=null,Ember.handleErrors=function(e,t){if("function"!=typeof Ember.onerror)return e.call(t||this);try{return e.call(t||this)}catch(r){Ember.onerror(r)}},Ember.merge=function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e},Ember.isNone=function(e){return null===e||void 0===e},Ember.none=Ember.deprecateFunc("Ember.none is deprecated. Please use Ember.isNone instead.",Ember.isNone),Ember.isEmpty=function(e){return Ember.isNone(e)||0===e.length&&"function"!=typeof e||"object"==typeof e&&0===Ember.get(e,"length")},Ember.empty=Ember.deprecateFunc("Ember.empty is deprecated. Please use Ember.isEmpty instead.",Ember.isEmpty)}(),function(){var e=Ember.platform={};if(Ember.create=Object.create,Ember.create&&2!==Ember.create({a:1},{a:{value:2}}).a&&(Ember.create=null),!Ember.create||Ember.ENV.STUB_OBJECT_CREATE){var t=function(){};Ember.create=function(e,r){if(t.prototype=e,e=new t,r){t.prototype=e;for(var n in r)t.prototype[n]=r[n].value;e=new t}return t.prototype=null,e},Ember.create.isSimulated=!0}var r,n,i=Object.defineProperty;if(i)try{i({},"a",{get:function(){}})}catch(o){i=null}i&&(r=function(){var e={};return i(e,"a",{configurable:!0,enumerable:!0,get:function(){},set:function(){}}),i(e,"a",{configurable:!0,enumerable:!0,writable:!0,value:!0}),e.a===!0}(),n=function(){try{return i(document.createElement("div"),"definePropertyOnDOM",{}),!0}catch(e){}return!1}(),r?n||(i=function(e,t,r){var n;return n="object"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName,n?e[t]=r.value:Object.defineProperty(e,t,r)}):i=null),e.defineProperty=i,e.hasPropertyAccessors=!0,e.defineProperty||(e.hasPropertyAccessors=!1,e.defineProperty=function(e,t,r){r.get||(e[t]=r.value)},e.defineProperty.isSimulated=!0),Ember.ENV.MANDATORY_SETTER&&!e.hasPropertyAccessors&&(Ember.ENV.MANDATORY_SETTER=!1)}(),function(){var e=function(e){return e&&Function.prototype.toString.call(e).indexOf("[native code]")>-1},t=e(Array.prototype.map)?Array.prototype.map:function(e){if(void 0===this||null===this)throw new TypeError;var t=Object(this),r=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=new Array(r),i=arguments[1],o=0;r>o;o++)o in t&&(n[o]=e.call(i,t[o],o,t));return n},r=e(Array.prototype.forEach)?Array.prototype.forEach:function(e){if(void 0===this||null===this)throw new TypeError;var t=Object(this),r=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=arguments[1],i=0;r>i;i++)i in t&&e.call(n,t[i],i,t)},n=e(Array.prototype.indexOf)?Array.prototype.indexOf:function(e,t){null===t||void 0===t?t=0:0>t&&(t=Math.max(0,this.length+t));for(var r=t,n=this.length;n>r;r++)if(this[r]===e)return r;return-1};Ember.ArrayPolyfills={map:t,forEach:r,indexOf:n},Ember.SHIM_ES5&&(Array.prototype.map||(Array.prototype.map=t),Array.prototype.forEach||(Array.prototype.forEach=r),Array.prototype.indexOf||(Array.prototype.indexOf=n))}(),function(){function e(e){this.descs={},this.watching={},this.cache={},this.source=e}function t(e,t){return!(!e||"function"!=typeof e[t])}var r=Ember.platform.defineProperty,n=Ember.create,i="__ember"+ +new Date,o=0,s=[],a={},u=Ember.ENV.MANDATORY_SETTER;Ember.GUID_KEY=i;var c={writable:!1,configurable:!1,enumerable:!1,value:null};Ember.generateGuid=function(e,t){t||(t="ember");var n=t+o++;return e&&(c.value=n,r(e,i,c)),n},Ember.guidFor=function(e){if(void 0===e)return"(undefined)";if(null===e)return"(null)";var t,n=typeof e;switch(n){case"number":return t=s[e],t||(t=s[e]="nu"+e),t;case"string":return t=a[e],t||(t=a[e]="st"+o++),t;case"boolean":return e?"(true)":"(false)";default:return e[i]?e[i]:e===Object?"(Object)":e===Array?"(Array)":(t="ember"+o++,c.value=t,r(e,i,c),t)}};var h={writable:!0,configurable:!1,enumerable:!1,value:null},l=Ember.GUID_KEY+"_meta";Ember.META_KEY=l;var f={descs:{},watching:{}};u&&(f.values={}),Ember.EMPTY_META=f,Object.freeze&&Object.freeze(f);var m=Ember.platform.defineProperty.isSimulated;m&&(e.prototype.__preventPlainObject__=!0,e.prototype.toJSON=function(){}),Ember.meta=function(t,i){var o=t[l];return i===!1?o||f:(o?o.source!==t&&(m||r(t,l,h),o=n(o),o.descs=n(o.descs),o.watching=n(o.watching),o.cache={},o.source=t,u&&(o.values=n(o.values)),t[l]=o):(m||r(t,l,h),o=new e(t),u&&(o.values={}),t[l]=o,o.descs.constructor=null),o)},Ember.getMeta=function(e,t){var r=Ember.meta(e,!1);return r[t]},Ember.setMeta=function(e,t,r){var n=Ember.meta(e,!0);return n[t]=r,r},Ember.metaPath=function(e,t,r){for(var i,o,s=Ember.meta(e,r),a=0,u=t.length;u>a;a++){if(i=t[a],o=s[i]){if(o.__ember_source__!==e){if(!r)return void 0;o=s[i]=n(o),o.__ember_source__=e}}else{if(!r)return void 0;o=s[i]={__ember_source__:e}}s=o}return o},Ember.wrap=function(e,t){function r(){}function n(){var n,i=this._super;return this._super=t||r,n=e.apply(this,arguments),this._super=i,n}return n.wrappedFunction=e,n.__ember_observes__=e.__ember_observes__,n.__ember_observesBefore__=e.__ember_observesBefore__,n},Ember.isArray=function(e){return!e||e.setInterval?!1:Array.isArray&&Array.isArray(e)?!0:Ember.Array&&Ember.Array.detect(e)?!0:void 0!==e.length&&"object"==typeof e?!0:!1},Ember.makeArray=function(e){return null===e||void 0===e?[]:Ember.isArray(e)?e:[e]},Ember.canInvoke=t,Ember.tryInvoke=function(e,r,n){return t(e,r)?e[r].apply(e,n||[]):void 0};var b=function(){var e=0;try{try{}finally{throw e++,new Error("needsFinallyFixTest")}}catch(t){}return 1!==e}();Ember.tryFinally=b?function(e,t,r){var n,i,o;r=r||this;try{n=e.call(r)}finally{try{i=t.call(r)}catch(s){o=s}}if(o)throw o;return void 0===i?n:i}:function(e,t,r){var n,i;r=r||this;try{n=e.call(r)}finally{i=t.call(r)}return void 0===i?n:i},Ember.tryCatchFinally=b?function(e,t,r,n){var i,o,s;n=n||this;try{i=e.call(n)}catch(a){i=t.call(n,a)}finally{try{o=r.call(n)}catch(u){s=u}}if(s)throw s;return void 0===o?i:o}:function(e,t,r,n){var i,o;n=n||this;try{i=e.call(n)}catch(s){i=t.call(n,s)}finally{o=r.call(n)}return void 0===o?i:o};var p={},E="Boolean Number String Function Array Date RegExp Object".split(" ");Ember.ArrayPolyfills.forEach.call(E,function(e){p["[object "+e+"]"]=e.toLowerCase()});var d=Object.prototype.toString;Ember.typeOf=function(e){var t;return t=null===e||void 0===e?String(e):p[d.call(e)]||"object","function"===t?Ember.Object&&Ember.Object.detect(e)&&(t="class"):"object"===t&&(t=e instanceof Error?"error":Ember.Object&&e instanceof Ember.Object?"instance":"object"),t}}(),function(){Ember.Instrumentation={};var e=[],t={},r=function(r){for(var n,i=[],o=0,s=e.length;s>o;o++)n=e[o],n.regex.test(r)&&i.push(n.object);return t[r]=i,i},n=function(){var e="undefined"!=typeof window?window.performance||{}:{},t=e.now||e.mozNow||e.webkitNow||e.msNow||e.oNow;return t?t.bind(e):function(){return+new Date}}();Ember.Instrumentation.instrument=function(e,i,o,s){function a(){for(b=0,p=f.length;p>b;b++)m=f[b],E[b]=m.before(e,n(),i);return o.call(s)}function u(e){i=i||{},i.exception=e}function c(){for(b=0,p=f.length;p>b;b++)m=f[b],m.after(e,n(),i,E[b]);Ember.STRUCTURED_PROFILE&&console.timeEnd(h)}var h,l,f=t[e];if(Ember.STRUCTURED_PROFILE&&(h=e+": "+i.object,console.time(h)),f||(f=r(e)),0===f.length)return l=o.call(s),Ember.STRUCTURED_PROFILE&&console.timeEnd(h),l;var m,b,p,E=[];return Ember.tryCatchFinally(a,u,c)},Ember.Instrumentation.subscribe=function(r,n){for(var i,o=r.split("."),s=[],a=0,u=o.length;u>a;a++)i=o[a],"*"===i?s.push("[^\\.]*"):s.push(i);s=s.join("\\."),s+="(\\..*)?";var c={pattern:r,regex:new RegExp("^"+s+"$"),object:n};return e.push(c),t={},c},Ember.Instrumentation.unsubscribe=function(r){for(var n,i=0,o=e.length;o>i;i++)e[i]===r&&(n=i);e.splice(n,1),t={}},Ember.Instrumentation.reset=function(){e=[],t={}},Ember.instrument=Ember.Instrumentation.instrument,Ember.subscribe=Ember.Instrumentation.subscribe}(),function(){var e,t,r,n;n=Array.prototype.concat,e=Array.prototype.map||Ember.ArrayPolyfills.map,t=Array.prototype.forEach||Ember.ArrayPolyfills.forEach,r=Array.prototype.indexOf||Ember.ArrayPolyfills.indexOf;var i=Ember.EnumerableUtils={map:function(t,r,n){return t.map?t.map.call(t,r,n):e.call(t,r,n)},forEach:function(e,r,n){return e.forEach?e.forEach.call(e,r,n):t.call(e,r,n)},indexOf:function(e,t,n){return e.indexOf?e.indexOf.call(e,t,n):r.call(e,t,n)},indexesOf:function(e,t){return void 0===t?[]:i.map(t,function(t){return i.indexOf(e,t)})},addObject:function(e,t){var r=i.indexOf(e,t);-1===r&&e.push(t)},removeObject:function(e,t){var r=i.indexOf(e,t);-1!==r&&e.splice(r,1)},replace:function(e,t,r,i){if(e.replace)return e.replace(t,r,i);var o=n.apply([t,r],i);return e.splice.apply(e,o)},intersection:function(e,t){var r=[];return i.forEach(e,function(e){i.indexOf(t,e)>=0&&r.push(e)}),r}}}(),function(){var e,t=Ember.META_KEY,r=Ember.ENV.MANDATORY_SETTER,n=/^([A-Z$]|([0-9][A-Z$])).*[\.\*]/,i=/^this[\.\*]/,o=/^([^\.\*]+)/;e=function(e,n){if(""===n)return e;if(n||"string"!=typeof e||(n=e,e=null),null===e||-1!==n.indexOf("."))return a(e,n);var i,o=e[t],s=o&&o.descs[n];return s?s.get(e,n):(i=r&&o&&o.watching[n]>0?o.values[n]:e[n],void 0!==i||"object"!=typeof e||n in e||"function"!=typeof e.unknownProperty?i:e.unknownProperty(n))},Ember.config.overrideAccessors&&(Ember.get=e,Ember.config.overrideAccessors(),e=Ember.get);var s=Ember.normalizeTuple=function(t,r){var s,a=i.test(r),u=!a&&n.test(r);if((!t||u)&&(t=Ember.lookup),a&&(r=r.slice(5)),t===Ember.lookup&&(s=r.match(o)[0],t=e(t,s),r=r.slice(s.length+1)),!r||0===r.length)throw new Error("Invalid Path");return[t,r]},a=Ember._getPath=function(t,r){var n,o,a,u,c;if(null===t&&-1===r.indexOf("."))return e(Ember.lookup,r);for(n=i.test(r),(!t||n)&&(a=s(t,r),t=a[0],r=a[1],a.length=0),o=r.split("."),c=o.length,u=0;null!=t&&c>u;u++)if(t=e(t,o[u],!0),t&&t.isDestroyed)return void 0;return t};Ember.getWithDefault=function(t,r,n){var i=e(t,r);return void 0===i?n:i},Ember.get=e,Ember.getPath=Ember.deprecateFunc("getPath is deprecated since get now supports paths",Ember.get)}(),function(){function e(e,t,r){for(var n=-1,i=0,o=e.length;o>i;i++)if(t===e[i][0]&&r===e[i][1]){n=i;break}return n}function t(e,t){var r,n=m(e,!0);return n.listeners||(n.listeners={}),n.hasOwnProperty("listeners")||(n.listeners=f(n.listeners)),r=n.listeners[t],r&&!n.listeners.hasOwnProperty(t)?r=n.listeners[t]=n.listeners[t].slice():r||(r=n.listeners[t]=[]),r}function r(t,r,n){var i=t[b],o=i&&i.listeners&&i.listeners[r];if(o)for(var s=o.length-1;s>=0;s--){var a=o[s][0],u=o[s][1],c=o[s][2],h=e(n,a,u);-1===h&&n.push([a,u,c])}}function n(t,r,n){var i=t[b],o=i&&i.listeners&&i.listeners[r],s=[];if(o){for(var a=o.length-1;a>=0;a--){var u=o[a][0],c=o[a][1],h=o[a][2],l=e(n,u,c);-1===l&&(n.push([u,c,h]),s.push([u,c,h]))}return s}}function i(r,n,i,o,s){o||"function"!=typeof i||(o=i,i=null);var a=t(r,n),u=e(a,i,o),c=0;s&&(c|=p),-1===u&&(a.push([i,o,c]),"function"==typeof r.didAddListener&&r.didAddListener(n,i,o))}function o(r,n,i,o){function s(i,o){var s=t(r,n),a=e(s,i,o);-1!==a&&(s.splice(a,1),"function"==typeof r.didRemoveListener&&r.didRemoveListener(n,i,o))}if(o||"function"!=typeof i||(o=i,i=null),o)s(i,o);else{var a=r[b],u=a&&a.listeners&&a.listeners[n];if(!u)return;for(var c=u.length-1;c>=0;c--)s(u[c][0],u[c][1])}}function s(r,n,i,o,s){function a(){return s.call(i)}function u(){c&&(c[2]&=~E)}o||"function"!=typeof i||(o=i,i=null);var c,h=t(r,n),l=e(h,i,o);return-1!==l&&(c=h[l].slice(),c[2]|=E,h[l]=c),Ember.tryFinally(a,u)}function a(r,n,i,o,s){function a(){return s.call(i)}function u(){for(f=0,m=b.length;m>f;f++)b[f][2]&=~E}o||"function"!=typeof i||(o=i,i=null);var c,h,l,f,m,b=[];for(f=0,m=n.length;m>f;f++){c=n[f],h=t(r,c);var p=e(h,i,o);-1!==p&&(l=h[p].slice(),l[2]|=E,h[p]=l,b.push(l))}return Ember.tryFinally(a,u)}function u(e){var t=e[b].listeners,r=[];if(t)for(var n in t)t[n]&&r.push(n);return r}function c(e,t,r,n){if(e!==Ember&&"function"==typeof e.sendEvent&&e.sendEvent(t,r),!n){var i=e[b];n=i&&i.listeners&&i.listeners[t]}if(n){for(var s=n.length-1;s>=0;s--){var a=n[s];if(a){var u=a[0],c=a[1],h=a[2];h&E||(h&p&&o(e,t,u,c),u||(u=e),"string"==typeof c&&(c=u[c]),r?c.apply(u,r):c.call(u))}}return!0}}function h(e,t){var r=e[b],n=r&&r.listeners&&r.listeners[t];return!(!n||!n.length)}function l(e,t){var r=[],n=e[b],i=n&&n.listeners&&n.listeners[t];if(!i)return r;for(var o=0,s=i.length;s>o;o++){var a=i[o][0],u=i[o][1];r.push([a,u])}return r}var f=Ember.create,m=Ember.meta,b=Ember.META_KEY,p=1,E=2;Ember.addListener=i,Ember.removeListener=o,Ember._suspendListener=s,Ember._suspendListeners=a,Ember.sendEvent=c,Ember.hasListeners=h,Ember.watchedEvents=u,Ember.listenersFor=l,Ember.listenersDiff=n,Ember.listenersUnion=r}(),function(){var e=Ember.guidFor,t=Ember.sendEvent,r=Ember._ObserverSet=function(){this.clear()};r.prototype.add=function(t,r,n){var i,o=this.observerSet,s=this.observers,a=e(t),u=o[a];return u||(o[a]=u={}),i=u[r],void 0===i&&(i=s.push({sender:t,keyName:r,eventName:n,listeners:[]})-1,u[r]=i),s[i].listeners},r.prototype.flush=function(){var e,r,n,i,o=this.observers;for(this.clear(),e=0,r=o.length;r>e;++e)n=o[e],i=n.sender,i.isDestroying||i.isDestroyed||t(i,n.eventName,[i,n.keyName],n.listeners)},r.prototype.clear=function(){this.observerSet={},this.observers=[]}}(),function(){function e(e,t,i){if(!e.isDestroying){var o=n,s=!o;s&&(o=n={}),r(p,e,t,o,i),s&&(n=null)}}function t(e,t,n){if(!e.isDestroying){var o=i,s=!o;s&&(o=i={}),r(E,e,t,o,n),s&&(i=null)}}function r(e,t,r,n,i){var o=s(t);if(n[o]||(n[o]={}),!n[o][r]){n[o][r]=!0;var a=i.deps;if(a=a&&a[r])for(var u in a){var c=i.descs[u];c&&c._suspended===t||e(t,u)}}}var n,i,o=Ember.meta,s=Ember.guidFor,a=Ember.tryFinally,u=Ember.sendEvent,c=Ember.listenersUnion,h=Ember.listenersDiff,l=Ember._ObserverSet,f=new l,m=new l,b=0,p=Ember.propertyWillChange=function(t,r){var n=o(t,!1),i=n.watching[r]>0||"length"===r,s=n.proto,a=n.descs[r];i&&s!==t&&(a&&a.willChange&&a.willChange(t,r),e(t,r,n),d(t,r,n),_(t,r))},E=Ember.propertyDidChange=function(e,r){var n=o(e,!1),i=n.watching[r]>0||"length"===r,s=n.proto,a=n.descs[r];s!==e&&(a&&a.didChange&&a.didChange(e,r),(i||"length"===r)&&(t(e,r,n),v(e,r,n),O(e,r)))},d=function(e,t,r,n){if(r.hasOwnProperty("chainWatchers")){var i=r.chainWatchers;if(i=i[t])for(var o=0,s=i.length;s>o;o++)i[o].willChange(n)}},v=function(e,t,r,n){if(r.hasOwnProperty("chainWatchers")){var i=r.chainWatchers;if(i=i[t])for(var o=i.length-1;o>=0;o--)i[o].didChange(n)}};Ember.overrideChains=function(e,t,r){v(e,t,r,!0)};var g=Ember.beginPropertyChanges=function(){b++},y=Ember.endPropertyChanges=function(){b--,0>=b&&(f.clear(),m.flush())};Ember.changeProperties=function(e,t){g(),a(e,y,t)};var _=function(e,t){if(!e.isDestroying){var r,n,i=t+":before";b?(r=f.add(e,t,i),n=h(e,i,r),u(e,i,[e,t],n)):u(e,i,[e,t])}},O=function(e,t){if(!e.isDestroying){var r,n=t+":change";b?(r=m.add(e,t,n),c(e,n,r)):u(e,n,[e,t])}}}(),function(){function e(e,t,r,o){var s;if(s=t.slice(t.lastIndexOf(".")+1),t=t.slice(0,t.length-(s.length+1)),"this"!==t&&(e=n(e,t)),!s||0===s.length)throw new Error("You passed an empty path");if(!e){if(o)return;throw new Error("Object in path "+t+" could not be found or was destroyed.")}return i(e,s,r)}var t=Ember.META_KEY,r=Ember.ENV.MANDATORY_SETTER,n=Ember._getPath,i=function(n,i,o,s){if("string"==typeof n&&(o=i,i=n,n=null),!n||-1!==i.indexOf("."))return e(n,i,o,s);var a,u,c=n[t],h=c&&c.descs[i];return h?h.set(n,i,o):(a="object"==typeof n&&!(i in n),a&&"function"==typeof n.setUnknownProperty?n.setUnknownProperty(i,o):c&&c.watching[i]>0?(u=r?c.values[i]:n[i],o!==u&&(Ember.propertyWillChange(n,i),r?void 0!==u||i in n?c.values[i]=o:Ember.defineProperty(n,i,null,o):n[i]=o,Ember.propertyDidChange(n,i))):n[i]=o),o};Ember.config.overrideAccessors&&(Ember.set=i,Ember.config.overrideAccessors(),i=Ember.set),Ember.set=i,Ember.setPath=Ember.deprecateFunc("setPath is deprecated since set now supports paths",Ember.set),Ember.trySet=function(e,t,r){return i(e,t,r,!0)},Ember.trySetPath=Ember.deprecateFunc("trySetPath has been renamed to trySet",Ember.trySet)}(),function(){var e=(Ember.get,Ember.set),t=Ember.guidFor,r=Ember.ArrayPolyfills.indexOf,n=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t},i=function(e,t){var r=e.keys.copy(),i=n(e.values);return t.keys=r,t.values=i,t.length=e.length,t},o=Ember.OrderedSet=function(){this.clear()};o.create=function(){return new o},o.prototype={clear:function(){this.presenceSet={},this.list=[]},add:function(e){var r=t(e),n=this.presenceSet,i=this.list;r in n||(n[r]=!0,i.push(e))},remove:function(e){var n=t(e),i=this.presenceSet,o=this.list;delete i[n];var s=r.call(o,e);s>-1&&o.splice(s,1)},isEmpty:function(){return 0===this.list.length},has:function(e){var r=t(e),n=this.presenceSet;return r in n},forEach:function(e,t){for(var r=this.toArray(),n=0,i=r.length;i>n;n++)e.call(t,r[n])},toArray:function(){return this.list.slice()},copy:function(){var e=new o;return e.presenceSet=n(this.presenceSet),e.list=this.toArray(),e}};var s=Ember.Map=function(){this.keys=Ember.OrderedSet.create(),this.values={}};s.create=function(){return new s},s.prototype={length:0,get:function(e){var r=this.values,n=t(e);return r[n]},set:function(r,n){var i=this.keys,o=this.values,s=t(r);i.add(r),o[s]=n,e(this,"length",i.list.length)},remove:function(r){var n=this.keys,i=this.values,o=t(r);return i.hasOwnProperty(o)?(n.remove(r),delete i[o],e(this,"length",n.list.length),!0):!1},has:function(e){var r=this.values,n=t(e);return r.hasOwnProperty(n)},forEach:function(e,r){var n=this.keys,i=this.values;n.forEach(function(n){var o=t(n);e.call(r,n,i[o])})},copy:function(){return i(this,new s)}};var a=Ember.MapWithDefault=function(e){s.call(this),this.defaultValue=e.defaultValue};a.create=function(e){return e?new a(e):new s},a.prototype=Ember.create(s.prototype),a.prototype.get=function(e){var t=this.has(e);if(t)return s.prototype.get.call(this,e);var r=this.defaultValue(e);return this.set(e,r),r},a.prototype.copy=function(){return i(this,new a({defaultValue:this.defaultValue}))}}(),function(){var e=Ember.META_KEY,t=Ember.meta,r=Ember.platform.defineProperty,n=Ember.ENV.MANDATORY_SETTER;Ember.Descriptor=function(){};var i=Ember.MANDATORY_SETTER_FUNCTION=function(){},o=Ember.DEFAULT_GETTER_FUNCTION=function(t){return function(){var r=this[e];return r&&r.values[t]}};Ember.defineProperty=function(e,s,a,u,c){var h,l,f,m;return c||(c=t(e)),h=c.descs,l=c.descs[s],f=c.watching[s]>0,l instanceof Ember.Descriptor&&l.teardown(e,s),a instanceof Ember.Descriptor?(m=a,h[s]=a,n&&f?r(e,s,{configurable:!0,enumerable:!0,writable:!0,value:void 0}):e[s]=void 0,a.setup(e,s)):(h[s]=void 0,null==a?(m=u,n&&f?(c.values[s]=u,r(e,s,{configurable:!0,enumerable:!0,set:i,get:o(s)})):e[s]=u):(m=a,r(e,s,a))),f&&Ember.overrideChains(e,s,c),e.didDefineProperty&&e.didDefineProperty(e,s,m),this}}(),function(){var e=Ember.changeProperties,t=Ember.set;Ember.setProperties=function(r,n){return e(function(){for(var e in n)n.hasOwnProperty(e)&&t(r,e,n[e])}),r}}(),function(){var e=Ember.meta,t=Ember.typeOf,r=Ember.ENV.MANDATORY_SETTER,n=Ember.platform.defineProperty;Ember.watchKey=function(i,o){if("length"!==o||"array"!==t(i)){var s,a=e(i),u=a.watching;u[o]?u[o]=(u[o]||0)+1:(u[o]=1,s=a.descs[o],s&&s.willWatch&&s.willWatch(i,o),"function"==typeof i.willWatchProperty&&i.willWatchProperty(o),r&&o in i&&(a.values[o]=i[o],n(i,o,{configurable:!0,enumerable:!0,set:Ember.MANDATORY_SETTER_FUNCTION,get:Ember.DEFAULT_GETTER_FUNCTION(o)})))}},Ember.unwatchKey=function(t,i){var o,s=e(t),a=s.watching;1===a[i]?(a[i]=0,o=s.descs[i],o&&o.didUnwatch&&o.didUnwatch(t,i),"function"==typeof t.didUnwatchProperty&&t.didUnwatchProperty(i),r&&i in t&&(n(t,i,{configurable:!0,enumerable:!0,writable:!0,value:s.values[i]}),delete s.values[i])):a[i]>1&&a[i]--}}(),function(){function e(e){return e.match(f)[0]}function t(e,t,r){if(e&&"object"==typeof e){var i=n(e),o=i.chainWatchers;i.hasOwnProperty("chainWatchers")||(o=i.chainWatchers={}),o[t]||(o[t]=[]),o[t].push(r),u(e,t)}}function r(e){return n(e,!1).proto===e}var n=Ember.meta,i=Ember.get,o=Ember.normalizeTuple,s=Ember.ArrayPolyfills.forEach,a=Ember.warn,u=Ember.watchKey,c=Ember.unwatchKey,h=Ember.propertyWillChange,l=Ember.propertyDidChange,f=/^([^\.\*]+)/,m=[];Ember.flushPendingChains=function(){if(0!==m.length){var e=m;m=[],s.call(e,function(e){e[0].add(e[1])}),a("Watching an undefined global, Ember expects watched globals to be setup by the time the run loop is flushed, check for typos",0===m.length)}};var b=Ember.removeChainWatcher=function(e,t,r){if(e&&"object"==typeof e){var i=n(e,!1);if(i.hasOwnProperty("chainWatchers")){var o=i.chainWatchers;if(o[t]){o=o[t];for(var s=0,a=o.length;a>s;s++)o[s]===r&&o.splice(s,1)}c(e,t)}}},p=Ember._ChainNode=function(e,r,n){this._parent=e,this._key=r,this._watching=void 0===n,this._value=n,this._paths={},this._watching&&(this._object=e.value(),this._object&&t(this._object,this._key,this)),this._parent&&"@each"===this._parent._key&&this.value()},E=p.prototype;E.value=function(){if(void 0===this._value&&this._watching){var e=this._parent.value();this._value=e&&!r(e)?i(e,this._key):void 0}return this._value},E.destroy=function(){if(this._watching){var e=this._object;e&&b(e,this._key,this),this._watching=!1}},E.copy=function(e){var t,r=new p(null,null,e),n=this._paths;for(t in n)n[t]<=0||r.add(t);return r},E.add=function(t){var r,n,i,s,a;if(a=this._paths,a[t]=(a[t]||0)+1,r=this.value(),n=o(r,t),n[0]&&n[0]===r)t=n[1],i=e(t),t=t.slice(i.length+1);else{if(!n[0])return m.push([this,t]),n.length=0,void 0;s=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]}n.length=0,this.chain(i,t,s)},E.remove=function(t){var r,n,i,s,a;a=this._paths,a[t]>0&&a[t]--,r=this.value(),n=o(r,t),n[0]===r?(t=n[1],i=e(t),t=t.slice(i.length+1)):(s=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]),n.length=0,this.unchain(i,t)},E.count=0,E.chain=function(t,r,n){var i,o=this._chains;o||(o=this._chains={}),i=o[t],i||(i=o[t]=new p(this,t,n)),i.count++,r&&r.length>0&&(t=e(r),r=r.slice(t.length+1),i.chain(t,r))},E.unchain=function(t,r){var n=this._chains,i=n[t];r&&r.length>1&&(t=e(r),r=r.slice(t.length+1),i.unchain(t,r)),i.count--,i.count<=0&&(delete n[i._key],i.destroy())},E.willChange=function(){var e=this._chains;if(e)for(var t in e)e.hasOwnProperty(t)&&e[t].willChange();this._parent&&this._parent.chainWillChange(this,this._key,1)},E.chainWillChange=function(e,t,r){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainWillChange(this,t,r+1):(r>1&&h(this.value(),t),t="this."+t,this._paths[t]>0&&h(this.value(),t))},E.chainDidChange=function(e,t,r){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainDidChange(this,t,r+1):(r>1&&l(this.value(),t),t="this."+t,this._paths[t]>0&&l(this.value(),t))},E.didChange=function(e){if(this._watching){var r=this._parent.value();r!==this._object&&(b(this._object,this._key,this),this._object=r,t(r,this._key,this)),this._value=void 0,this._parent&&"@each"===this._parent._key&&this.value()}var n=this._chains;if(n)for(var i in n)n.hasOwnProperty(i)&&n[i].didChange(e);e||this._parent&&this._parent.chainDidChange(this,this._key,1)},Ember.finishChains=function(e){var t=n(e,!1),r=t.chains;r&&(r.value()!==e&&(t.chains=r=r.copy(e)),r.didChange(!0))}}(),function(){function e(e){var r=t(e),i=r.chains;return i?i.value()!==e&&(i=r.chains=i.copy(e)):i=r.chains=new n(null,null,e),i}var t=Ember.meta,r=Ember.typeOf,n=Ember._ChainNode;Ember.watchPath=function(n,i){if("length"!==i||"array"!==r(n)){var o=t(n),s=o.watching;s[i]?s[i]=(s[i]||0)+1:(s[i]=1,e(n).add(i))}},Ember.unwatchPath=function(r,n){var i=t(r),o=i.watching;1===o[n]?(o[n]=0,e(r).remove(n)):o[n]>1&&o[n]--}}(),function(){function e(e){return"*"===e||!l.test(e)}var t=Ember.meta,r=Ember.GUID_KEY,n=Ember.META_KEY,i=Ember.removeChainWatcher,o=Ember.watchKey,s=Ember.unwatchKey,a=Ember.watchPath,u=Ember.unwatchPath,c=Ember.typeOf,h=Ember.generateGuid,l=/[\.\*]/;Ember.watch=function(t,r){("length"!==r||"array"!==c(t))&&(e(r)?o(t,r):a(t,r))},Ember.isWatching=function(e,t){var r=e[n];return(r&&r.watching[t])>0},Ember.watch.flushPending=Ember.flushPendingChains,Ember.unwatch=function(t,r){("length"!==r||"array"!==c(t))&&(e(r)?s(t,r):u(t,r))},Ember.rewatch=function(e){var n=t(e,!1),i=n.chains;r in e&&!e.hasOwnProperty(r)&&h(e,"ember"),i&&i.value()!==e&&(n.chains=i.copy(e))};var f=[];Ember.destroy=function(e){var t,r,o,s,a=e[n];if(a&&(e[n]=null,t=a.chains))for(f.push(t);f.length>0;){if(t=f.pop(),r=t._chains)for(o in r)r.hasOwnProperty(o)&&f.push(r[o]);t._watching&&(s=t._object,s&&i(s,t._key,t))}}}(),function(){function e(e,t){var r=e[t];return r?e.hasOwnProperty(t)||(r=e[t]=f(r)):r=e[t]={},r}function t(t){return e(t,"deps")}function r(r,n,i,o){var s,a,u,c,h,l=r._dependentKeys;if(l)for(s=t(o),a=0,u=l.length;u>a;a++)c=l[a],h=e(s,c),h[i]=(h[i]||0)+1,b(n,c)}function n(r,n,i,o){var s,a,u,c,h,l=r._dependentKeys;if(l)for(s=t(o),a=0,u=l.length;u>a;a++)c=l[a],h=e(s,c),h[i]=(h[i]||0)-1,p(n,c)}function i(e,t){this.func=e,this._cacheable=t&&void 0!==t.cacheable?t.cacheable:!0,this._dependentKeys=t&&t.dependentKeys,this._readOnly=t&&(void 0!==t.readOnly||!!t.readOnly)}function o(e,t){for(var r={},n=0;n<t.length;n++)r[t[n]]=u(e,t[n]);return r}function s(e,t){Ember.computed[e]=function(e){var r=l.call(arguments);return Ember.computed(e,function(){return t.apply(this,r)})}}function a(e,t){Ember.computed[e]=function(){var e=l.call(arguments),r=Ember.computed(function(){return t.apply(this,[o(this,e)])});return r.property.apply(r,e)}}var u=Ember.get,c=Ember.set,h=Ember.meta,l=[].slice,f=Ember.create,m=Ember.META_KEY,b=Ember.watch,p=Ember.unwatch;Ember.ComputedProperty=i,i.prototype=new Ember.Descriptor;var E=i.prototype;E.cacheable=function(e){return this._cacheable=e!==!1,this},E.volatile=function(){return this.cacheable(!1)},E.readOnly=function(e){return this._readOnly=void 0===e||!!e,this},E.property=function(){for(var e=[],t=0,r=arguments.length;r>t;t++)e.push(arguments[t]);return this._dependentKeys=e,this},E.meta=function(e){return 0===arguments.length?this._meta||{}:(this._meta=e,this)},E.willWatch=function(e,t){var n=e[m];t in n.cache||r(this,e,t,n)},E.didUnwatch=function(e,t){var r=e[m];t in r.cache||n(this,e,t,r)},E.didChange=function(e,t){if(this._cacheable&&this._suspended!==e){var r=h(e);t in r.cache&&(delete r.cache[t],r.watching[t]||n(this,e,t,r))}},E.get=function(e,t){var n,i,o;if(this._cacheable){if(o=h(e),i=o.cache,t in i)return i[t];n=i[t]=this.func.call(e,t),o.watching[t]||r(this,e,t,o)}else n=this.func.call(e,t);return n},E.set=function(e,t,n){var i,o,s=this._cacheable,a=this.func,u=h(e,s),c=u.watching[t],l=this._suspended,f=!1,m=u.cache;if(this._readOnly)throw new Error("Cannot Set: "+t+" on: "+e.toString());this._suspended=e;try{if(s&&m.hasOwnProperty(t)&&(i=m[t],f=!0),a.wrappedFunction&&(a=a.wrappedFunction),3===a.length)o=a.call(e,t,n,i);else{if(2!==a.length)return Ember.defineProperty(e,t,null,i),Ember.set(e,t,n),void 0;o=a.call(e,t,n)}if(f&&i===o)return;c&&Ember.propertyWillChange(e,t),f&&delete m[t],s&&(c||f||r(this,e,t,u),m[t]=o),c&&Ember.propertyDidChange(e,t)}finally{this._suspended=l}return o},E.setup=function(e,t){var n=e[m];n&&n.watching[t]&&r(this,e,t,h(e))},E.teardown=function(e,t){var r=h(e);return(r.watching[t]||t in r.cache)&&n(this,e,t,r),this._cacheable&&delete r.cache[t],null},Ember.computed=function(e){var t;if(arguments.length>1&&(t=l.call(arguments,0,-1),e=l.call(arguments,-1)[0]),"function"!=typeof e)throw new Error("Computed Property declared without a property function");var r=new i(e);return t&&r.property.apply(r,t),r},Ember.cacheFor=function(e,t){var r=h(e,!1).cache;return r&&t in r?r[t]:void 0},s("empty",function(e){return Ember.isEmpty(u(this,e))}),s("notEmpty",function(e){return!Ember.isEmpty(u(this,e))}),s("none",function(e){return Ember.isNone(u(this,e))}),s("not",function(e){return!u(this,e)}),s("bool",function(e){return!!u(this,e)}),s("match",function(e,t){var r=u(this,e);return"string"==typeof r?!!r.match(t):!1}),s("equal",function(e,t){return u(this,e)===t}),s("gt",function(e,t){return u(this,e)>t}),s("gte",function(e,t){return u(this,e)>=t}),s("lt",function(e,t){return u(this,e)<t}),s("lte",function(e,t){return u(this,e)<=t}),a("and",function(e){for(var t in e)if(e.hasOwnProperty(t)&&!e[t])return!1;return!0}),a("or",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!0;return!1}),a("any",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return e[t];return null}),a("map",function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&(Ember.isNone(e[r])?t.push(null):t.push(e[r]));return t}),Ember.computed.alias=function(e){return Ember.computed(e,function(t,r){return arguments.length>1?(c(this,e,r),r):u(this,e)})},Ember.computed.oneWay=function(e){return Ember.computed(e,function(){return u(this,e)})},Ember.computed.defaultTo=function(e){return Ember.computed(function(t,r,n){return 1===arguments.length?null!=n?n:u(this,e):null!=r?r:u(this,e)})}}(),function(){function e(e){return e+r}function t(e){return e+n}var r=":change",n=":before";Ember.addObserver=function(t,r,n,i){return Ember.addListener(t,e(r),n,i),Ember.watch(t,r),this},Ember.observersFor=function(t,r){return Ember.listenersFor(t,e(r))},Ember.removeObserver=function(t,r,n,i){return Ember.unwatch(t,r),Ember.removeListener(t,e(r),n,i),this},Ember.addBeforeObserver=function(e,r,n,i){return Ember.addListener(e,t(r),n,i),Ember.watch(e,r),this},Ember._suspendBeforeObserver=function(e,r,n,i,o){return Ember._suspendListener(e,t(r),n,i,o)},Ember._suspendObserver=function(t,r,n,i,o){return Ember._suspendListener(t,e(r),n,i,o)};var i=Ember.ArrayPolyfills.map;Ember._suspendBeforeObservers=function(e,r,n,o,s){var a=i.call(r,t);return Ember._suspendListeners(e,a,n,o,s)},Ember._suspendObservers=function(t,r,n,o,s){var a=i.call(r,e);return Ember._suspendListeners(t,a,n,o,s)},Ember.beforeObserversFor=function(e,r){return Ember.listenersFor(e,t(r))},Ember.removeBeforeObserver=function(e,r,n,i){return Ember.unwatch(e,r),Ember.removeListener(e,t(r),n,i),this}}(),function(){e("backburner",["backburner/deferred_action_queues","exports"],function(e,t){"use strict";function r(e,t){this.queueNames=e,this.options=t||{},this.options.defaultQueue||(this.options.defaultQueue=e[0]),this.instanceStack=[]}function n(e){e.begin(),o=window.setTimeout(function(){e.end(),o=null})}function i(e){var t,r,n,o,u=+new Date;e.run(function(){for(n=0,o=f.length;o>n&&(t=f[n],!(t>u));n+=2);for(r=f.splice(0,n),n=1,o=r.length;o>n;n+=2)e.schedule(e.options.defaultQueue,null,r[n])}),f.length&&(s=window.setTimeout(function(){i(e),s=null,a=null},f[0]-u),a=f[0])}var o,s,a,u=e.DeferredActionQueues,c=[].slice,h=[].pop,l=[],f=[];r.prototype={queueNames:null,options:null,currentInstance:null,instanceStack:null,begin:function(){var e=this.options&&this.options.onBegin,t=this.currentInstance;t&&this.instanceStack.push(t),this.currentInstance=new u(this.queueNames,this.options),e&&e(this.currentInstance,t)},end:function(){var e=this.options&&this.options.onEnd,t=this.currentInstance,r=null;try{t.flush()}finally{this.currentInstance=null,this.instanceStack.length&&(r=this.instanceStack.pop(),this.currentInstance=r),e&&e(t,r)
|
16
|
-
}},run:function(e,t){var r;this.begin(),t||(t=e,e=null),"string"==typeof t&&(t=e[t]);var n=!1;try{r=arguments.length>2?t.apply(e,c.call(arguments,2)):t.call(e)}finally{n||(n=!0,this.end())}return r},defer:function(e,t,r){r||(r=t,t=null),"string"==typeof r&&(r=t[r]);var i=this.DEBUG?(new Error).stack:void 0,o=arguments.length>3?c.call(arguments,3):void 0;return this.currentInstance||n(this),this.currentInstance.schedule(e,t,r,o,!1,i)},deferOnce:function(e,t,r){r||(r=t,t=null),"string"==typeof r&&(r=t[r]);var i=this.DEBUG?(new Error).stack:void 0,o=arguments.length>3?c.call(arguments,3):void 0;return this.currentInstance||n(this),this.currentInstance.schedule(e,t,r,o,!0,i)},setTimeout:function(){var e=this,t=h.call(arguments),r=arguments[0],n=arguments[1],o=+new Date+t;n||(n=r,r=null),"string"==typeof n&&(n=r[n]);var u,l;arguments.length>2?(l=c.call(arguments,2),u=function(){n.apply(r,l)}):u=function(){n.call(r)};var m,b;for(m=0,b=f.length;b>m&&!(o<f[m]);m+=2);return f.splice(m,0,o,u),s&&o>a?u:(s&&(clearTimeout(s),s=null),s=window.setTimeout(function(){i(e),s=null,a=null},t),a=o,u)},debounce:function(e,t){for(var r,n=this,i=arguments,o=h.call(i),s=0,a=l.length;a>s;s++)if(r=l[s],r[0]===e&&r[1]===t)return;var u=window.setTimeout(function(){n.run.apply(n,i);for(var o=-1,s=0,a=l.length;a>s;s++)if(r=l[s],r[0]===e&&r[1]===t){o=s;break}o>-1&&l.splice(o,1)},o);l.push([e,t,u])},cancelTimers:function(){for(var e=0,t=l.length;t>e;e++)clearTimeout(l[e][2]);l=[],s&&(clearTimeout(s),s=null),f=[],o&&(clearTimeout(o),o=null)},hasTimers:function(){return!!f.length||o},cancel:function(e){if(e&&"object"==typeof e&&e.queue&&e.method)return e.queue.cancel(e);if("function"==typeof e)for(var t=0,r=f.length;r>t;t+=2)if(f[t+1]===e)return f.splice(t,2),!0}},r.prototype.schedule=r.prototype.defer,r.prototype.scheduleOnce=r.prototype.deferOnce,r.prototype.later=r.prototype.setTimeout,t.Backburner=r}),e("backburner/deferred_action_queues",["backburner/queue","exports"],function(e,t){"use strict";function r(e,t){var r=this.queues={};this.queueNames=e=e||[];for(var n,o=0,s=e.length;s>o;o++)n=e[o],r[n]=new i(this,n,t[n])}function n(e,t){for(var r,n,i=0,o=t;o>=i;i++)if(r=e.queueNames[i],n=e.queues[r],n._queue.length)return i;return-1}var i=e.Queue;r.prototype={queueNames:null,queues:null,schedule:function(e,t,r,n,i,o){var s=this.queues,a=s[e];if(!a)throw new Error("You attempted to schedule an action in a queue ("+e+") that doesn't exist");return i?a.pushUnique(t,r,n,o):a.push(t,r,n,o)},flush:function(){for(var e,t,r,i,o=this.queues,s=this.queueNames,a=0,u=s.length;u>a;){e=s[a],t=o[e],r=t._queueBeingFlushed=t._queue.slice(),t._queue=[];var c,h,l,f,m=t.options,b=m&&m.before,p=m&&m.after,E=0,d=r.length;for(d&&b&&b();d>E;)c=r[E],h=r[E+1],l=r[E+2],f=r[E+3],"string"==typeof h&&(h=c[h]),h&&(l&&l.length>0?h.apply(c,l):h.call(c)),E+=4;t._queueBeingFlushed=null,d&&p&&p(),-1===(i=n(this,a))?a++:a=i}}},t.DeferredActionQueues=r}),e("backburner/queue",["exports"],function(e){"use strict";function t(e,t,r){this.daq=e,this.name=t,this.options=r,this._queue=[]}t.prototype={daq:null,name:null,options:null,_queue:null,push:function(e,t,r,n){var i=this._queue;return i.push(e,t,r,n),{queue:this,target:e,method:t}},pushUnique:function(e,t,r,n){var i,o,s,a,u=this._queue;for(s=0,a=u.length;a>s;s+=4)if(i=u[s],o=u[s+1],i===e&&o===t)return u[s+2]=r,u[s+3]=n,{queue:this,target:e,method:t};return this._queue.push(e,t,r,n),{queue:this,target:e,method:t}},flush:function(){var e,t,r,n,i,o=this._queue,s=this.options,a=s&&s.before,u=s&&s.after,c=o.length;for(c&&a&&a(),i=0;c>i;i+=4)e=o[i],t=o[i+1],r=o[i+2],n=o[i+3],r&&r.length>0?t.apply(e,r):t.call(e);c&&u&&u(),o.length>c?(this._queue=o.slice(c),this.flush()):this._queue.length=0},cancel:function(e){var t,r,n,i,o=this._queue;for(n=0,i=o.length;i>n;n+=4)if(t=o[n],r=o[n+1],t===e.target&&r===e.method)return o.splice(n,4),!0;if(o=this._queueBeingFlushed)for(n=0,i=o.length;i>n;n+=4)if(t=o[n],r=o[n+1],t===e.target&&r===e.method)return o[n+1]=null,!0}},e.Queue=t})}(),function(){function e(){!Ember.run.currentRunLoop}var r=function(e){Ember.run.currentRunLoop=e},n=function(e,t){Ember.run.currentRunLoop=t},i=t("backburner").Backburner,o=new i(["sync","actions","destroy"],{sync:{before:Ember.beginPropertyChanges,after:Ember.endPropertyChanges},defaultQueue:"actions",onBegin:r,onEnd:n}),s=[].slice;Ember.run=function(){var e;if(Ember.onerror)try{e=o.run.apply(o,arguments)}catch(t){Ember.onerror(t)}else e=o.run.apply(o,arguments);return e},Ember.run.join=function(){if(!Ember.run.currentRunLoop)return Ember.run.apply(Ember.run,arguments);var e=s.call(arguments);e.unshift("actions"),Ember.run.schedule.apply(Ember.run,e)},Ember.run.backburner=o,Ember.run,Ember.run.currentRunLoop=null,Ember.run.queues=o.queueNames,Ember.run.begin=function(){o.begin()},Ember.run.end=function(){o.end()},Ember.run.schedule=function(){e(),o.schedule.apply(o,arguments)},Ember.run.hasScheduledTimers=function(){return o.hasTimers()},Ember.run.cancelTimers=function(){o.cancelTimers()},Ember.run.sync=function(){o.currentInstance&&o.currentInstance.queues.sync.flush()},Ember.run.later=function(){return o.later.apply(o,arguments)},Ember.run.once=function(){e();var t=s.call(arguments);return t.unshift("actions"),o.scheduleOnce.apply(o,t)},Ember.run.scheduleOnce=function(){return e(),o.scheduleOnce.apply(o,arguments)},Ember.run.next=function(){var e=s.call(arguments);return e.push(1),o.later.apply(o,e)},Ember.run.cancel=function(e){return o.cancel(e)},Ember.run.debounce=function(){return o.debounce.apply(o,arguments)}}(),function(){function e(e,t){return r(o(t)?Ember.lookup:e,t)}function t(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])}Ember.LOG_BINDINGS=!1||!!Ember.ENV.LOG_BINDINGS;var r=Ember.get,n=(Ember.set,Ember.guidFor),i=/^([A-Z$]|([0-9][A-Z$]))/,o=Ember.isGlobalPath=function(e){return i.test(e)},s=function(e,t){this._direction="fwd",this._from=t,this._to=e,this._directionMap=Ember.Map.create()};s.prototype={copy:function(){var e=new s(this._to,this._from);return this._oneWay&&(e._oneWay=!0),e},from:function(e){return this._from=e,this},to:function(e){return this._to=e,this},oneWay:function(){return this._oneWay=!0,this},toString:function(){var e=this._oneWay?"[oneWay]":"";return"Ember.Binding<"+n(this)+">("+this._from+" -> "+this._to+")"+e},connect:function(t){var r=this._from,n=this._to;return Ember.trySet(t,n,e(t,r)),Ember.addObserver(t,r,this,this.fromDidChange),this._oneWay||Ember.addObserver(t,n,this,this.toDidChange),this._readyToSync=!0,this},disconnect:function(e){var t=!this._oneWay;return Ember.removeObserver(e,this._from,this,this.fromDidChange),t&&Ember.removeObserver(e,this._to,this,this.toDidChange),this._readyToSync=!1,this},fromDidChange:function(e){this._scheduleSync(e,"fwd")},toDidChange:function(e){this._scheduleSync(e,"back")},_scheduleSync:function(e,t){var r=this._directionMap,n=r.get(e);n||(Ember.run.schedule("sync",this,this._sync,e),r.set(e,t)),"back"===n&&"fwd"===t&&r.set(e,"fwd")},_sync:function(t){var n=Ember.LOG_BINDINGS;if(!t.isDestroyed&&this._readyToSync){var i=this._directionMap,o=i.get(t),s=this._from,a=this._to;if(i.remove(t),"fwd"===o){var u=e(t,this._from);n&&Ember.Logger.log(" ",this.toString(),"->",u,t),this._oneWay?Ember.trySet(t,a,u):Ember._suspendObserver(t,a,this,this.toDidChange,function(){Ember.trySet(t,a,u)})}else if("back"===o){var c=r(t,this._to);n&&Ember.Logger.log(" ",this.toString(),"<-",c,t),Ember._suspendObserver(t,s,this,this.fromDidChange,function(){Ember.trySet(Ember.isGlobalPath(s)?Ember.lookup:t,s,c)})}}}},t(s,{from:function(){var e=this,t=new e;return t.from.apply(t,arguments)},to:function(){var e=this,t=new e;return t.to.apply(t,arguments)},oneWay:function(e,t){var r=this,n=new r(null,e);return n.oneWay(t)}}),Ember.Binding=s,Ember.bind=function(e,t,r){return new Ember.Binding(t,r).connect(e)},Ember.oneWay=function(e,t,r){return new Ember.Binding(t,r).oneWay().connect(e)}}(),function(){function e(e){var t=Ember.meta(e,!0),r=t.mixins;return r?t.hasOwnProperty("mixins")||(r=t.mixins=A(r)):r=t.mixins={},r}function t(e,t){return t&&t.length>0&&(e.mixins=O.call(t,function(e){if(e instanceof g)return e;var t=new g;return t.properties=e,t})),e}function r(e){return"function"==typeof e&&e.isMethod!==!1&&e!==Boolean&&e!==Object&&e!==Number&&e!==Array&&e!==Date&&e!==String}function n(e,t){var r;return t instanceof g?(r=S(t),e[r]?D:(e[r]=t,t.properties)):t}function i(e,t,r){var n;return n=t.concatenatedProperties||r.concatenatedProperties,e.concatenatedProperties&&(n=n?n.concat(e.concatenatedProperties):e.concatenatedProperties),n}function o(e,t,r,n,i){var o;return void 0===n[t]&&(o=i[t]),o=o||e.descs[t],o&&o instanceof Ember.ComputedProperty?(r=A(r),r.func=Ember.wrap(r.func,o.func),r):r}function s(e,t,r,n,i){var o;return void 0===i[t]&&(o=n[t]),o=o||e[t],"function"!=typeof o?r:Ember.wrap(r,o)}function a(e,t,r,n){var i=n[t]||e[t];return i?"function"==typeof i.concat?i.concat(r):Ember.makeArray(i).concat(r):Ember.makeArray(r)}function u(e,t,n,i,u,c,h){if(n instanceof Ember.Descriptor){if(n===y&&u[t])return D;n.func&&(n=o(i,t,n,c,u)),u[t]=n,c[t]=void 0}else r(n)?n=s(e,t,n,c,u):(h&&C.call(h,t)>=0||"concatenatedProperties"===t)&&(n=a(e,t,n,c)),u[t]=void 0,c[t]=n}function c(e,t,r,o,s,a){function h(e){delete r[e],delete o[e]}for(var l,f,m,b,p,E=0,d=e.length;d>E;E++)if(l=e[E],f=n(t,l),f!==D)if(f){p=Ember.meta(s),b=i(f,o,s);for(m in f)f.hasOwnProperty(m)&&(a.push(m),u(s,m,f[m],p,r,o,b));f.hasOwnProperty("toString")&&(s.toString=f.toString)}else l.mixins&&(c(l.mixins,t,r,o,s,a),l._without&&w.call(l._without,h))}function h(e,t,r,n){if(x.test(t)){var i=n.bindings;i?n.hasOwnProperty("bindings")||(i=n.bindings=A(n.bindings)):i=n.bindings={},i[t]=r}}function l(e,t){var r,n,i,o=t.bindings;if(o){for(r in o)n=o[r],n&&(i=r.slice(0,-7),n instanceof Ember.Binding?(n=n.copy(),n.to(i)):n=new Ember.Binding(i,n),n.connect(e),e[r]=n);t.bindings={}}}function f(e,t){return l(e,t||Ember.meta(e)),e}function m(e,t,r,n,i){var o,s=t.methodName;return n[s]||i[s]?(o=i[s],t=n[s]):r.descs[s]?(t=r.descs[s],o=void 0):(t=void 0,o=e[s]),{desc:t,value:o}}function b(e,t,r,n,i){if("function"==typeof r){var o=r[n];if(o)for(var s=0,a=o.length;a>s;s++)Ember[i](e,o[s],null,t)}}function p(e,t,r){var n=e[t];b(e,t,n,"__ember_observesBefore__","removeBeforeObserver"),b(e,t,n,"__ember_observes__","removeObserver"),b(e,t,r,"__ember_observesBefore__","addBeforeObserver"),b(e,t,r,"__ember_observes__","addObserver")}function E(t,r,n){var i,o,s,a={},u={},l=Ember.meta(t),b=[];c(r,e(t),a,u,t,b);for(var E=0,d=b.length;d>E;E++)if(i=b[E],"constructor"!==i&&u.hasOwnProperty(i)&&(s=a[i],o=u[i],s!==y)){for(;s&&s instanceof _;){var v=m(t,s,l,a,u);s=v.desc,o=v.value}(void 0!==s||void 0!==o)&&(p(t,i,o),h(t,i,o,l),j(t,i,s,o,l))}return n||f(t,l),t}function d(e,t,r){var n=S(e);if(r[n])return!1;if(r[n]=!0,e===t)return!0;for(var i=e.mixins,o=i?i.length:0;--o>=0;)if(d(i[o],t,r))return!0;return!1}function v(e,t,r){if(!r[S(t)])if(r[S(t)]=!0,t.properties){var n=t.properties;for(var i in n)n.hasOwnProperty(i)&&(e[i]=!0)}else t.mixins&&w.call(t.mixins,function(t){v(e,t,r)})}var g,y,_,O=Ember.ArrayPolyfills.map,C=Ember.ArrayPolyfills.indexOf,w=Ember.ArrayPolyfills.forEach,P=[].slice,A=Ember.create,j=Ember.defineProperty,S=Ember.guidFor,D={},x=Ember.IS_BINDING=/^.+Binding$/;Ember.mixin=function(e){var t=P.call(arguments,1);return E(e,t,!1),e},Ember.Mixin=function(){return t(this,arguments)},g=Ember.Mixin,g.prototype={properties:null,mixins:null,ownerConstructor:null},g._apply=E,g.applyPartial=function(e){var t=P.call(arguments,1);return E(e,t,!0)},g.finishPartial=f,Ember.anyUnprocessedMixins=!1,g.create=function(){Ember.anyUnprocessedMixins=!0;var e=this;return t(new e,arguments)};var N=g.prototype;N.reopen=function(){var e,t;this.properties?(e=g.create(),e.properties=this.properties,delete this.properties,this.mixins=[e]):this.mixins||(this.mixins=[]);var r,n=arguments.length,i=this.mixins;for(r=0;n>r;r++)e=arguments[r],e instanceof g?i.push(e):(t=g.create(),t.properties=e,i.push(t));return this},N.apply=function(e){return E(e,[this],!1)},N.applyPartial=function(e){return E(e,[this],!0)},N.detect=function(e){if(!e)return!1;if(e instanceof g)return d(e,this,{});var t=Ember.meta(e,!1).mixins;return t?!!t[S(this)]:!1},N.without=function(){var e=new g(this);return e._without=P.call(arguments),e},N.keys=function(){var e={},t={},r=[];v(e,this,t);for(var n in e)e.hasOwnProperty(n)&&r.push(n);return r},g.mixins=function(e){var t=Ember.meta(e,!1).mixins,r=[];if(!t)return r;for(var n in t){var i=t[n];i.properties||r.push(i)}return r},y=new Ember.Descriptor,y.toString=function(){return"(Required Property)"},Ember.required=function(){return y},_=function(e){this.methodName=e},_.prototype=new Ember.Descriptor,Ember.alias=function(e){return new _(e)},Ember.alias=Ember.deprecateFunc("Ember.alias is deprecated. Please use Ember.aliasMethod or Ember.computed.alias instead.",Ember.alias),Ember.aliasMethod=function(e){return new _(e)},Ember.observer=function(e){var t=P.call(arguments,1);return e.__ember_observes__=t,e},Ember.immediateObserver=function(){for(var e=0,t=arguments.length;t>e;e++)arguments[e];return Ember.observer.apply(this,arguments)},Ember.beforeObserver=function(e){var t=P.call(arguments,1);return e.__ember_observesBefore__=t,e}}(),function(){e("rsvp/all",["rsvp/defer","exports"],function(e,t){"use strict";function r(e){var t=[],r=n(),i=e.length;0===i&&r.resolve([]);for(var o=function(e){return function(t){s(e,t)}},s=function(e,n){t[e]=n,0===--i&&r.resolve(t)},a=function(e){r.reject(e)},u=0;u<e.length;u++)e[u]&&"function"==typeof e[u].then?e[u].then(o(u),a):s(u,e[u]);return r.promise}var n=e.defer;t.all=r}),e("rsvp/async",["exports"],function(e){"use strict";var t,r="undefined"!=typeof window?window:{},n=r.MutationObserver||r.WebKitMutationObserver;if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))t=function(e,t){process.nextTick(function(){e.call(t)})};else if(n){var i=[],o=new n(function(){var e=i.slice();i=[],e.forEach(function(e){var t=e[0],r=e[1];t.call(r)})}),s=document.createElement("div");o.observe(s,{attributes:!0}),window.addEventListener("unload",function(){o.disconnect(),o=null}),t=function(e,t){i.push([e,t]),s.setAttribute("drainQueue","drainQueue")}}else t=function(e,t){setTimeout(function(){e.call(t)},1)};e.async=t}),e("rsvp/config",["rsvp/async","exports"],function(e,t){"use strict";var r=e.async,n={};n.async=r,t.config=n}),e("rsvp/defer",["rsvp/promise","exports"],function(e,t){"use strict";function r(){var e={},t=new n(function(t,r){e.resolve=t,e.reject=r});return e.promise=t,e}var n=e.Promise;t.defer=r}),e("rsvp/events",["exports"],function(e){"use strict";var t=function(e,t){this.type=e;for(var r in t)t.hasOwnProperty(r)&&(this[r]=t[r])},r=function(e,t){for(var r=0,n=e.length;n>r;r++)if(e[r][0]===t)return r;return-1},n=function(e){var t=e._promiseCallbacks;return t||(t=e._promiseCallbacks={}),t},i={mixin:function(e){return e.on=this.on,e.off=this.off,e.trigger=this.trigger,e},on:function(e,t,i){var o,s,a=n(this);for(e=e.split(/\s+/),i=i||this;s=e.shift();)o=a[s],o||(o=a[s]=[]),-1===r(o,t)&&o.push([t,i])},off:function(e,t){var i,o,s,a=n(this);for(e=e.split(/\s+/);o=e.shift();)t?(i=a[o],s=r(i,t),-1!==s&&i.splice(s,1)):a[o]=[]},trigger:function(e,r){var i,o,s,a,u,c=n(this);if(i=c[e])for(var h=0;h<i.length;h++)o=i[h],s=o[0],a=o[1],"object"!=typeof r&&(r={detail:r}),u=new t(e,r),s.call(a,u)}};e.EventTarget=i}),e("rsvp/hash",["rsvp/defer","exports"],function(e,t){"use strict";function r(e){var t=0;for(var r in e)t++;return t}function n(e){var t={},n=i(),o=r(e);0===o&&n.resolve({});var s=function(e){return function(t){a(e,t)}},a=function(e,r){t[e]=r,0===--o&&n.resolve(t)},u=function(e){n.reject(e)};for(var c in e)e[c]&&"function"==typeof e[c].then?e[c].then(s(c),u):a(c,e[c]);return n.promise}var i=e.defer;t.hash=n}),e("rsvp/node",["rsvp/promise","rsvp/all","exports"],function(e,t,r){"use strict";function n(e,t){return function(r,n){r?t(r):arguments.length>2?e(Array.prototype.slice.call(arguments,1)):e(n)}}function i(e){return function(){var t,r,i=Array.prototype.slice.call(arguments),a=new o(function(e,n){t=e,r=n});return s(i).then(function(i){i.push(n(t,r));try{e.apply(this,i)}catch(o){r(o)}}),a}}var o=e.Promise,s=t.all;r.denodeify=i}),e("rsvp/promise",["rsvp/config","rsvp/events","exports"],function(e,t,r){"use strict";function n(e){return i(e)||"object"==typeof e&&null!==e}function i(e){return"function"==typeof e}function o(e,t){e===t?a(e,t):s(e,t)||a(e,t)}function s(e,t){var r=null;if(n(t)){try{r=t.then}catch(s){return u(e,s),!0}if(i(r)){try{r.call(t,function(r){t!==r?o(e,r):a(e,r)},function(t){u(e,t)})}catch(s){u(e,s)}return!0}}return!1}function a(e,t){c.async(function(){e.trigger("promise:resolved",{detail:t}),e.isFulfilled=!0,e.fulfillmentValue=t})}function u(e,t){c.async(function(){e.trigger("promise:failed",{detail:t}),e.isRejected=!0,e.rejectedReason=t})}var c=e.config,h=t.EventTarget,l=function(e){var t=this,r=!1;if("function"!=typeof e)throw new TypeError("You must pass a resolver function as the sole argument to the promise constructor");if(!(t instanceof l))return new l(e);var n=function(e){r||(r=!0,o(t,e))},i=function(e){r||(r=!0,u(t,e))};this.on("promise:resolved",function(e){this.trigger("success",{detail:e.detail})},this),this.on("promise:failed",function(e){this.trigger("error",{detail:e.detail})},this);try{e(n,i)}catch(s){i(s)}},f=function(e,t,r,n){var a,c,h,l,f=i(r);if(f)try{a=r(n.detail),h=!0}catch(m){l=!0,c=m}else a=n.detail,h=!0;s(t,a)||(f&&h?o(t,a):l?u(t,c):"resolve"===e?o(t,a):"reject"===e&&u(t,a))};l.prototype={constructor:l,then:function(e,t){var r=new l(function(){});return this.isFulfilled&&c.async(function(){f("resolve",r,e,{detail:this.fulfillmentValue})},this),this.isRejected&&c.async(function(){f("reject",r,t,{detail:this.rejectedReason})},this),this.on("promise:resolved",function(t){f("resolve",r,e,t)}),this.on("promise:failed",function(e){f("reject",r,t,e)}),r}},h.mixin(l.prototype),r.Promise=l}),e("rsvp/reject",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){return new n(function(t,r){r(e)})}var n=e.Promise;t.reject=r}),e("rsvp/resolve",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){return"function"==typeof e||"object"==typeof e&&null!==e}function n(e){var t=new i(function(t,n){var i;try{r(e)?(i=e.then,"function"==typeof i?i.call(e,t,n):t(e)):t(e)}catch(o){n(o)}});return t}var i=e.Promise;t.resolve=n}),e("rsvp",["rsvp/events","rsvp/promise","rsvp/node","rsvp/all","rsvp/hash","rsvp/defer","rsvp/config","rsvp/resolve","rsvp/reject","exports"],function(e,t,r,n,i,o,s,a,u,c){"use strict";function h(e,t){d[e]=t}var l=e.EventTarget,f=t.Promise,m=r.denodeify,b=n.all,p=i.hash,E=o.defer,d=s.config,v=a.resolve,g=u.reject;c.Promise=f,c.EventTarget=l,c.all=b,c.hash=p,c.defer=E,c.denodeify=m,c.configure=h,c.resolve=v,c.reject=g})}(),function(){e("container",[],function(){function e(e){this.parent=e,this.dict={}}function t(t){this.parent=t,this.children=[],this.resolver=t&&t.resolver||function(){},this.registry=new e(t&&t.registry),this.cache=new e(t&&t.cache),this.typeInjections=new e(t&&t.typeInjections),this.injections={},this._options=new e(t&&t._options),this._typeOptions=new e(t&&t._typeOptions)}function r(e){throw new Error(e+" is not currently supported on child containers")}function n(e,t){var r=o(e,t,"singleton");return r!==!1}function i(e,t){var r={};if(!t)return r;for(var n,i,o=0,s=t.length;s>o;o++){if(n=t[o],i=e.lookup(n.fullName),!i)throw new Error("Attempting to inject an unknown injection: `"+n.fullName+"`");r[n.property]=i}return r}function o(e,t,r){var n=e._options.get(t);if(n&&void 0!==n[r])return n[r];var i=t.split(":")[0];return n=e._typeOptions.get(i),n?n[r]:void 0}function s(e,t){var r=e.normalize(t);return e.resolve(r)}function a(e,t){var r,n=s(e,t),a=t.split(":"),u=a[0];if(o(e,t,"instantiate")===!1)return n;if(n){var c=[];c=c.concat(e.typeInjections.get(u)||[]),c=c.concat(e.injections[t]||[]);var h=i(e,c);return h.container=e,h._debugContainerKey=t,r=n.create(h)}}function u(e,t){e.cache.eachLocal(function(r,n){o(e,r,"instantiate")!==!1&&t(n)})}function c(e){e.cache.eachLocal(function(t,r){o(e,t,"instantiate")!==!1&&r.destroy()}),e.cache.dict={}}return e.prototype={parent:null,dict:null,get:function(e){var t=this.dict;return t.hasOwnProperty(e)?t[e]:this.parent?this.parent.get(e):void 0},set:function(e,t){this.dict[e]=t},has:function(e){var t=this.dict;return t.hasOwnProperty(e)?!0:this.parent?this.parent.has(e):!1},eachLocal:function(e,t){var r=this.dict;for(var n in r)r.hasOwnProperty(n)&&e.call(t,n,r[n])}},t.prototype={parent:null,children:null,resolver:null,registry:null,cache:null,typeInjections:null,injections:null,_options:null,_typeOptions:null,child:function(){var e=new t(this);return this.children.push(e),e},set:function(e,t,r){e[t]=r},register:function(e,t,r,n){var i;-1!==e.indexOf(":")?(n=r,r=t,i=e):i=e+":"+t;var o=this.normalize(i);this.registry.set(o,r),this._options.set(o,n||{})},resolve:function(e){return this.resolver(e)||this.registry.get(e)},normalize:function(e){return e},lookup:function(e,t){if(e=this.normalize(e),t=t||{},this.cache.has(e)&&t.singleton!==!1)return this.cache.get(e);var r=a(this,e);return r?(n(this,e)&&t.singleton!==!1&&this.cache.set(e,r),r):void 0},lookupFactory:function(e){return s(this,e)},has:function(e){return this.cache.has(e)?!0:!!s(this,e)},optionsForType:function(e,t){this.parent&&r("optionsForType"),this._typeOptions.set(e,t)},options:function(e,t){this.optionsForType(e,t)},typeInjection:function(e,t,n){this.parent&&r("typeInjection");var i=this.typeInjections.get(e);i||(i=[],this.typeInjections.set(e,i)),i.push({property:t,fullName:n})},injection:function(e,t,n){if(this.parent&&r("injection"),-1===e.indexOf(":"))return this.typeInjection(e,t,n);var i=this.injections[e]=this.injections[e]||[];i.push({property:t,fullName:n})},destroy:function(){this.isDestroyed=!0;for(var e=0,t=this.children.length;t>e;e++)this.children[e].destroy();this.children=[],u(this,function(e){e.destroy()}),delete this.parent,this.isDestroyed=!0},reset:function(){for(var e=0,t=this.children.length;t>e;e++)c(this.children[e]);c(this)}},t})}(),function(){function e(r,n,i,o){var s,a,u;if("object"!=typeof r||null===r)return r;if(n&&(a=t(i,r))>=0)return o[a];if("array"===Ember.typeOf(r)){if(s=r.slice(),n)for(a=s.length;--a>=0;)s[a]=e(s[a],n,i,o)}else if(Ember.Copyable&&Ember.Copyable.detect(r))s=r.copy(n,i,o);else{s={};for(u in r)r.hasOwnProperty(u)&&"__"!==u.substring(0,2)&&(s[u]=n?e(r[u],n,i,o):r[u])}return n&&(i.push(r),o.push(s)),s}var t=Ember.EnumerableUtils.indexOf;Ember.compare=function n(e,t){if(e===t)return 0;var r=Ember.typeOf(e),i=Ember.typeOf(t),o=Ember.Comparable;if(o){if("instance"===r&&o.detect(e.constructor))return e.constructor.compare(e,t);if("instance"===i&&o.detect(t.constructor))return 1-t.constructor.compare(t,e)}var s=Ember.ORDER_DEFINITION_MAPPING;if(!s){var a=Ember.ORDER_DEFINITION;s=Ember.ORDER_DEFINITION_MAPPING={};var u,c;for(u=0,c=a.length;c>u;++u)s[a[u]]=u;delete Ember.ORDER_DEFINITION}var h=s[r],l=s[i];if(l>h)return-1;if(h>l)return 1;switch(r){case"boolean":case"number":return t>e?-1:e>t?1:0;case"string":var f=e.localeCompare(t);return 0>f?-1:f>0?1:0;case"array":for(var m=e.length,b=t.length,p=Math.min(m,b),E=0,d=0;0===E&&p>d;)E=n(e[d],t[d]),d++;return 0!==E?E:b>m?-1:m>b?1:0;case"instance":return Ember.Comparable&&Ember.Comparable.detect(e)?e.compare(e,t):0;case"date":var v=e.getTime(),g=t.getTime();return g>v?-1:v>g?1:0;default:return 0}},Ember.copy=function(t,r){return"object"!=typeof t||null===t?t:Ember.Copyable&&Ember.Copyable.detect(t)?t.copy(r):e(t,r,r?[]:null,r?[]:null)},Ember.inspect=function(e){if("object"!=typeof e||null===e)return e+"";var t,r=[];for(var n in e)if(e.hasOwnProperty(n)){if(t=e[n],"toString"===t)continue;"function"===Ember.typeOf(t)&&(t="function() { ... }"),r.push(n+": "+t)}return"{"+r.join(", ")+"}"},Ember.isEqual=function(e,t){return e&&"function"==typeof e.isEqual?e.isEqual(t):e===t},Ember.ORDER_DEFINITION=Ember.ENV.ORDER_DEFINITION||["undefined","null","boolean","number","string","array","object","instance","function","class","date"],Ember.keys=Object.keys,(!Ember.keys||Ember.create.isSimulated)&&(Ember.keys=function(e){var t=[];for(var r in e)"__"!==r.substring(0,2)&&"_super"!==r&&e.hasOwnProperty(r)&&t.push(r);return t});var r=["description","fileName","lineNumber","message","name","number","stack"];Ember.Error=function(){for(var e=Error.apply(this,arguments),t=0;t<r.length;t++)this[r[t]]=e[r[t]]},Ember.Error.prototype=Ember.create(Error.prototype)}(),function(){Ember.RSVP=t("rsvp")}(),function(){var e=/[ _]/g,t={},r=/([a-z])([A-Z])/g,n=/(\-|_|\.|\s)+(.)?/g,i=/([a-z\d])([A-Z]+)/g,o=/\-|\s+/g;Ember.STRINGS={},Ember.String={fmt:function(e,t){var r=0;return e.replace(/%@([0-9]+)?/g,function(e,n){return n=n?parseInt(n,0)-1:r++,e=t[n],(null===e?"(null)":void 0===e?"":e).toString()})},loc:function(e,t){return e=Ember.STRINGS[e]||e,Ember.String.fmt(e,t)},w:function(e){return e.split(/\s+/)},decamelize:function(e){return e.replace(r,"$1_$2").toLowerCase()},dasherize:function(r){var n,i=t,o=i.hasOwnProperty(r);return o?i[r]:(n=Ember.String.decamelize(r).replace(e,"-"),i[r]=n,n)},camelize:function(e){return e.replace(n,function(e,t,r){return r?r.toUpperCase():""}).replace(/^([A-Z])/,function(e){return e.toLowerCase()})},classify:function(e){for(var t=e.split("."),r=[],n=0,i=t.length;i>n;n++){var o=Ember.String.camelize(t[n]);r.push(o.charAt(0).toUpperCase()+o.substr(1))}return r.join(".")},underscore:function(e){return e.replace(i,"$1_$2").replace(o,"_").toLowerCase()},capitalize:function(e){return e.charAt(0).toUpperCase()+e.substr(1)}}}(),function(){var e=Ember.String.fmt,t=Ember.String.w,r=Ember.String.loc,n=Ember.String.camelize,i=Ember.String.decamelize,o=Ember.String.dasherize,s=Ember.String.underscore,a=Ember.String.capitalize,u=Ember.String.classify;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.String)&&(String.prototype.fmt=function(){return e(this,arguments)},String.prototype.w=function(){return t(this)},String.prototype.loc=function(){return r(this,arguments)},String.prototype.camelize=function(){return n(this)},String.prototype.decamelize=function(){return i(this)},String.prototype.dasherize=function(){return o(this)},String.prototype.underscore=function(){return s(this)},String.prototype.classify=function(){return u(this)},String.prototype.capitalize=function(){return a(this)})}(),function(){var e=Array.prototype.slice;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Function)&&(Function.prototype.property=function(){var e=Ember.computed(this);return e.property.apply(e,arguments)},Function.prototype.observes=function(){return this.__ember_observes__=e.call(arguments),this},Function.prototype.observesBefore=function(){return this.__ember_observesBefore__=e.call(arguments),this})}(),function(){function e(){return 0===a.length?{}:a.pop()}function t(e){return a.push(e),null}function r(e,t){function r(r){var o=n(r,e);return i?t===o:!!o}var i=2===arguments.length;return r}var n=Ember.get,i=Ember.set,o=Array.prototype.slice,s=Ember.EnumerableUtils.indexOf,a=[];Ember.Enumerable=Ember.Mixin.create({isEnumerable:!0,nextObject:Ember.required(Function),firstObject:Ember.computed(function(){if(0===n(this,"length"))return void 0;var r,i=e();return r=this.nextObject(0,null,i),t(i),r}).property("[]"),lastObject:Ember.computed(function(){var r=n(this,"length");if(0===r)return void 0;var i,o=e(),s=0,a=null;do a=i,i=this.nextObject(s++,a,o);while(void 0!==i);return t(o),a}).property("[]"),contains:function(e){return void 0!==this.find(function(t){return t===e})},forEach:function(r,i){if("function"!=typeof r)throw new TypeError;var o=n(this,"length"),s=null,a=e();void 0===i&&(i=null);for(var u=0;o>u;u++){var c=this.nextObject(u,s,a);r.call(i,c,u,this),s=c}return s=null,a=t(a),this},getEach:function(e){return this.mapProperty(e)},setEach:function(e,t){return this.forEach(function(r){i(r,e,t)})},map:function(e,t){var r=Ember.A();return this.forEach(function(n,i,o){r[i]=e.call(t,n,i,o)}),r},mapProperty:function(e){return this.map(function(t){return n(t,e)})},filter:function(e,t){var r=Ember.A();return this.forEach(function(n,i,o){e.call(t,n,i,o)&&r.push(n)}),r},reject:function(e,t){return this.filter(function(){return!e.apply(t,arguments)})},filterProperty:function(){return this.filter(r.apply(this,arguments))},rejectProperty:function(e,t){var r=function(r){return n(r,e)===t},i=function(t){return!!n(t,e)},o=2===arguments.length?r:i;return this.reject(o)},find:function(r,i){var o=n(this,"length");void 0===i&&(i=null);for(var s,a,u=null,c=!1,h=e(),l=0;o>l&&!c;l++)s=this.nextObject(l,u,h),(c=r.call(i,s,l,this))&&(a=s),u=s;return s=u=null,h=t(h),a},findProperty:function(){return this.find(r.apply(this,arguments))},every:function(e,t){return!this.find(function(r,n,i){return!e.call(t,r,n,i)})},everyProperty:function(){return this.every(r.apply(this,arguments))},some:function(e,t){return!!this.find(function(r,n,i){return!!e.call(t,r,n,i)})},someProperty:function(){return this.some(r.apply(this,arguments))},reduce:function(e,t,r){if("function"!=typeof e)throw new TypeError;var n=t;return this.forEach(function(t,i){n=e.call(null,n,t,i,this,r)},this),n},invoke:function(e){var t,r=Ember.A();return arguments.length>1&&(t=o.call(arguments,1)),this.forEach(function(n,i){var o=n&&n[e];"function"==typeof o&&(r[i]=t?o.apply(n,t):o.call(n))},this),r},toArray:function(){var e=Ember.A();return this.forEach(function(t,r){e[r]=t}),e},compact:function(){return this.filter(function(e){return null!=e})},without:function(e){if(!this.contains(e))return this;var t=Ember.A();return this.forEach(function(r){r!==e&&(t[t.length]=r)}),t},uniq:function(){var e=Ember.A();return this.forEach(function(t){s(e,t)<0&&e.push(t)}),e},"[]":Ember.computed(function(){return this}),addEnumerableObserver:function(e,t){var r=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",o=n(this,"hasEnumerableObservers");return o||Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.addListener(this,"@enumerable:before",e,r),Ember.addListener(this,"@enumerable:change",e,i),o||Ember.propertyDidChange(this,"hasEnumerableObservers"),this},removeEnumerableObserver:function(e,t){var r=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",o=n(this,"hasEnumerableObservers");return o&&Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.removeListener(this,"@enumerable:before",e,r),Ember.removeListener(this,"@enumerable:change",e,i),o&&Ember.propertyDidChange(this,"hasEnumerableObservers"),this},hasEnumerableObservers:Ember.computed(function(){return Ember.hasListeners(this,"@enumerable:change")||Ember.hasListeners(this,"@enumerable:before")}),enumerableContentWillChange:function(e,t){var r,i,o;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,o=0>i||0>r||0!==i-r,-1===e&&(e=null),-1===t&&(t=null),Ember.propertyWillChange(this,"[]"),o&&Ember.propertyWillChange(this,"length"),Ember.sendEvent(this,"@enumerable:before",[this,e,t]),this},enumerableContentDidChange:function(e,t){var r,i,o;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,o=0>i||0>r||0!==i-r,-1===e&&(e=null),-1===t&&(t=null),Ember.sendEvent(this,"@enumerable:change",[this,e,t]),o&&Ember.propertyDidChange(this,"length"),Ember.propertyDidChange(this,"[]"),this}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.isNone),r=Ember.EnumerableUtils.map,n=Ember.cacheFor;Ember.Array=Ember.Mixin.create(Ember.Enumerable,{length:Ember.required(),objectAt:function(t){return 0>t||t>=e(this,"length")?void 0:e(this,t)},objectsAt:function(e){var t=this;return r(e,function(e){return t.objectAt(e)})},nextObject:function(e){return this.objectAt(e)},"[]":Ember.computed(function(t,r){return void 0!==r&&this.replace(0,e(this,"length"),r),this}),firstObject:Ember.computed(function(){return this.objectAt(0)}),lastObject:Ember.computed(function(){return this.objectAt(e(this,"length")-1)}),contains:function(e){return this.indexOf(e)>=0},slice:function(r,n){var i=Ember.A(),o=e(this,"length");for(t(r)&&(r=0),(t(n)||n>o)&&(n=o),0>r&&(r=o+r),0>n&&(n=o+n);n>r;)i[i.length]=this.objectAt(r++);return i},indexOf:function(t,r){var n,i=e(this,"length");for(void 0===r&&(r=0),0>r&&(r+=i),n=r;i>n;n++)if(this.objectAt(n,!0)===t)return n;return-1},lastIndexOf:function(t,r){var n,i=e(this,"length");for((void 0===r||r>=i)&&(r=i-1),0>r&&(r+=i),n=r;n>=0;n--)if(this.objectAt(n)===t)return n;return-1},addArrayObserver:function(t,r){var n=r&&r.willChange||"arrayWillChange",i=r&&r.didChange||"arrayDidChange",o=e(this,"hasArrayObservers");
|
17
|
-
return o||Ember.propertyWillChange(this,"hasArrayObservers"),Ember.addListener(this,"@array:before",t,n),Ember.addListener(this,"@array:change",t,i),o||Ember.propertyDidChange(this,"hasArrayObservers"),this},removeArrayObserver:function(t,r){var n=r&&r.willChange||"arrayWillChange",i=r&&r.didChange||"arrayDidChange",o=e(this,"hasArrayObservers");return o&&Ember.propertyWillChange(this,"hasArrayObservers"),Ember.removeListener(this,"@array:before",t,n),Ember.removeListener(this,"@array:change",t,i),o&&Ember.propertyDidChange(this,"hasArrayObservers"),this},hasArrayObservers:Ember.computed(function(){return Ember.hasListeners(this,"@array:change")||Ember.hasListeners(this,"@array:before")}),arrayContentWillChange:function(t,r,n){void 0===t?(t=0,r=n=-1):(void 0===r&&(r=-1),void 0===n&&(n=-1)),Ember.isWatching(this,"@each")&&e(this,"@each"),Ember.sendEvent(this,"@array:before",[this,t,r,n]);var i,o;if(t>=0&&r>=0&&e(this,"hasEnumerableObservers")){i=[],o=t+r;for(var s=t;o>s;s++)i.push(this.objectAt(s))}else i=r;return this.enumerableContentWillChange(i,n),this},arrayContentDidChange:function(t,r,i){void 0===t?(t=0,r=i=-1):(void 0===r&&(r=-1),void 0===i&&(i=-1));var o,s;if(t>=0&&i>=0&&e(this,"hasEnumerableObservers")){o=[],s=t+i;for(var a=t;s>a;a++)o.push(this.objectAt(a))}else o=i;this.enumerableContentDidChange(r,o),Ember.sendEvent(this,"@array:change",[this,t,r,i]);var u=e(this,"length"),c=n(this,"firstObject"),h=n(this,"lastObject");return this.objectAt(0)!==c&&(Ember.propertyWillChange(this,"firstObject"),Ember.propertyDidChange(this,"firstObject")),this.objectAt(u-1)!==h&&(Ember.propertyWillChange(this,"lastObject"),Ember.propertyDidChange(this,"lastObject")),this},"@each":Ember.computed(function(){return this.__each||(this.__each=new Ember.EachProxy(this)),this.__each})})}(),function(){Ember.Comparable=Ember.Mixin.create({isComparable:!0,compare:Ember.required(Function)})}(),function(){var e=Ember.get;Ember.set,Ember.Copyable=Ember.Mixin.create({copy:Ember.required(Function),frozenCopy:function(){if(Ember.Freezable&&Ember.Freezable.detect(this))return e(this,"isFrozen")?this:this.copy().freeze();throw new Error(Ember.String.fmt("%@ does not support freezing",[this]))}})}(),function(){var e=Ember.get,t=Ember.set;Ember.Freezable=Ember.Mixin.create({isFrozen:!1,freeze:function(){return e(this,"isFrozen")?this:(t(this,"isFrozen",!0),this)}}),Ember.FROZEN_ERROR="Frozen object cannot be modified."}(),function(){var e=Ember.EnumerableUtils.forEach;Ember.MutableEnumerable=Ember.Mixin.create(Ember.Enumerable,{addObject:Ember.required(Function),addObjects:function(t){return Ember.beginPropertyChanges(this),e(t,function(e){this.addObject(e)},this),Ember.endPropertyChanges(this),this},removeObject:Ember.required(Function),removeObjects:function(t){return Ember.beginPropertyChanges(this),e(t,function(e){this.removeObject(e)},this),Ember.endPropertyChanges(this),this}})}(),function(){var e="Index out of range",t=[],r=Ember.get;Ember.set,Ember.MutableArray=Ember.Mixin.create(Ember.Array,Ember.MutableEnumerable,{replace:Ember.required(),clear:function(){var e=r(this,"length");return 0===e?this:(this.replace(0,e,t),this)},insertAt:function(t,n){if(t>r(this,"length"))throw new Error(e);return this.replace(t,0,[n]),this},removeAt:function(n,i){if("number"==typeof n){if(0>n||n>=r(this,"length"))throw new Error(e);void 0===i&&(i=1),this.replace(n,i,t)}return this},pushObject:function(e){return this.insertAt(r(this,"length"),e),e},pushObjects:function(e){return this.replace(r(this,"length"),0,e),this},popObject:function(){var e=r(this,"length");if(0===e)return null;var t=this.objectAt(e-1);return this.removeAt(e-1,1),t},shiftObject:function(){if(0===r(this,"length"))return null;var e=this.objectAt(0);return this.removeAt(0),e},unshiftObject:function(e){return this.insertAt(0,e),e},unshiftObjects:function(e){return this.replace(0,0,e),this},reverseObjects:function(){var e=r(this,"length");if(0===e)return this;var t=this.toArray().reverse();return this.replace(0,e,t),this},setObjects:function(e){if(0===e.length)return this.clear();var t=r(this,"length");return this.replace(0,t,e),this},removeObject:function(e){for(var t=r(this,"length")||0;--t>=0;){var n=this.objectAt(t);n===e&&this.removeAt(t)}return this},addObject:function(e){return this.contains(e)||this.pushObject(e),this}})}(),function(){var e=Ember.get,t=Ember.set;Ember.Observable=Ember.Mixin.create({get:function(t){return e(this,t)},getProperties:function(){var t={},r=arguments;1===arguments.length&&"array"===Ember.typeOf(arguments[0])&&(r=arguments[0]);for(var n=0;n<r.length;n++)t[r[n]]=e(this,r[n]);return t},set:function(e,r){return t(this,e,r),this},setProperties:function(e){return Ember.setProperties(this,e)},beginPropertyChanges:function(){return Ember.beginPropertyChanges(),this},endPropertyChanges:function(){return Ember.endPropertyChanges(),this},propertyWillChange:function(e){return Ember.propertyWillChange(this,e),this},propertyDidChange:function(e){return Ember.propertyDidChange(this,e),this},notifyPropertyChange:function(e){return this.propertyWillChange(e),this.propertyDidChange(e),this},addBeforeObserver:function(e,t,r){Ember.addBeforeObserver(this,e,t,r)},addObserver:function(e,t,r){Ember.addObserver(this,e,t,r)},removeObserver:function(e,t,r){Ember.removeObserver(this,e,t,r)},hasObserverFor:function(e){return Ember.hasListeners(this,e+":change")},getPath:function(e){return this.get(e)},setPath:function(e,t){return this.set(e,t)},getWithDefault:function(e,t){return Ember.getWithDefault(this,e,t)},incrementProperty:function(r,n){return Ember.isNone(n)&&(n=1),t(this,r,(e(this,r)||0)+n),e(this,r)},decrementProperty:function(r,n){return Ember.isNone(n)&&(n=1),t(this,r,(e(this,r)||0)-n),e(this,r)},toggleProperty:function(r){return t(this,r,!e(this,r)),e(this,r)},cacheFor:function(e){return Ember.cacheFor(this,e)},observersForKey:function(e){return Ember.observersFor(this,e)}})}(),function(){var e=Ember.get;Ember.set,Ember.TargetActionSupport=Ember.Mixin.create({target:null,action:null,actionContext:null,targetObject:Ember.computed(function(){var t=e(this,"target");if("string"===Ember.typeOf(t)){var r=e(this,t);return void 0===r&&(r=e(Ember.lookup,t)),r}return t}).property("target"),actionContextObject:Ember.computed(function(){var t=e(this,"actionContext");if("string"===Ember.typeOf(t)){var r=e(this,t);return void 0===r&&(r=e(Ember.lookup,t)),r}return t}).property("actionContext"),triggerAction:function(t){t=t||{};var r=t.action||e(this,"action"),n=t.target||e(this,"targetObject"),i=t.actionContext||e(this,"actionContextObject")||this;if(n&&r){var o;return o=n.send?n.send.apply(n,[r,i]):n[r].apply(n,[i]),o!==!1&&(o=!0),o}return!1}})}(),function(){Ember.Evented=Ember.Mixin.create({on:function(e,t,r){return Ember.addListener(this,e,t,r),this},one:function(e,t,r){return r||(r=t,t=null),Ember.addListener(this,e,t,r,!0),this},trigger:function(e){var t,r,n=[];for(t=1,r=arguments.length;r>t;t++)n.push(arguments[t]);Ember.sendEvent(this,e,n)},fire:function(){this.trigger.apply(this,arguments)},off:function(e,t,r){return Ember.removeListener(this,e,t,r),this},has:function(e){return Ember.hasListeners(this,e)}})}(),function(){var e=t("rsvp");e.configure("async",function(e,t){Ember.run.schedule("actions",t,e)});var r=Ember.get;Ember.DeferredMixin=Ember.Mixin.create({then:function(e,t){function n(t){return t===o?e(s):e(t)}var i,o,s;return s=this,i=r(this,"_deferred"),o=i.promise,o.then(e&&n,t)},resolve:function(e){var t,n;t=r(this,"_deferred"),n=t.promise,e===this?t.resolve(n):t.resolve(e)},reject:function(e){r(this,"_deferred").reject(e)},_deferred:Ember.computed(function(){return e.defer()})})}(),function(){Ember.Container=t("container"),Ember.Container.set=Ember.set}(),function(){function e(){var e,t,o=!1,s=function(){o||s.proto(),n(this,i,v),n(this,"_super",v);var u=a(this);if(u.proto=this,e){var h=e;e=null,this.reopen.apply(this,h)}if(t){var l=t;t=null;for(var f=this.concatenatedProperties,m=0,p=l.length;p>m;m++){var g=l[m];for(var y in g)if(g.hasOwnProperty(y)){var _=g[y],O=Ember.IS_BINDING;if(O.test(y)){var C=u.bindings;C?u.hasOwnProperty("bindings")||(C=u.bindings=r(u.bindings)):C=u.bindings={},C[y]=_}var w=u.descs[y];if(f&&d(f,y)>=0){var P=this[y];_=P?"function"==typeof P.concat?P.concat(_):Ember.makeArray(P).concat(_):Ember.makeArray(_)}w?w.set(this,y,_):"function"!=typeof this.setUnknownProperty||y in this?E?Ember.defineProperty(this,y,null,_):this[y]=_:this.setUnknownProperty(y,_)}}}b(this,u),delete u.proto,c(this),this.init.apply(this,arguments)};return s.toString=f.prototype.toString,s.willReopen=function(){o&&(s.PrototypeMixin=f.create(s.PrototypeMixin)),o=!1},s._initMixins=function(t){e=t},s._initProperties=function(e){t=e},s.proto=function(){var e=s.superclass;return e&&e.proto(),o||(o=!0,s.PrototypeMixin.applyPartial(s.prototype),u(s.prototype)),this.prototype},s}function t(e){return function(){return e}}var r=(Ember.set,Ember.get,Ember.create),n=Ember.platform.defineProperty,i=Ember.GUID_KEY,o=Ember.guidFor,s=Ember.generateGuid,a=Ember.meta,u=Ember.rewatch,c=Ember.finishChains,h=Ember.destroy,l=Ember.run.schedule,f=Ember.Mixin,m=f._apply,b=f.finishPartial,p=f.prototype.reopen,E=Ember.ENV.MANDATORY_SETTER,d=Ember.EnumerableUtils.indexOf,v={configurable:!0,writable:!0,enumerable:!1,value:void 0},g=e();g.toString=function(){return"Ember.CoreObject"},g.PrototypeMixin=f.create({reopen:function(){return m(this,arguments,!0),this},isInstance:!0,init:function(){},concatenatedProperties:null,isDestroyed:!1,isDestroying:!1,destroy:function(){return this.isDestroying?void 0:(this.isDestroying=!0,l("actions",this,this.willDestroy),l("destroy",this,this._scheduledDestroy),this)},willDestroy:Ember.K,_scheduledDestroy:function(){this.isDestroyed||(h(this),this.isDestroyed=!0)},bind:function(e,t){return t instanceof Ember.Binding||(t=Ember.Binding.from(t)),t.to(e).connect(this),t},toString:function(){var e="function"==typeof this.toStringExtension,r=e?":"+this.toStringExtension():"",n="<"+this.constructor.toString()+":"+o(this)+r+">";return this.toString=t(n),n}}),g.PrototypeMixin.ownerConstructor=g,Ember.config.overridePrototypeMixin&&Ember.config.overridePrototypeMixin(g.PrototypeMixin),g.__super__=null;var y=f.create({ClassMixin:Ember.required(),PrototypeMixin:Ember.required(),isClass:!0,isMethod:!1,extend:function(){var t,n=e();return n.ClassMixin=f.create(this.ClassMixin),n.PrototypeMixin=f.create(this.PrototypeMixin),n.ClassMixin.ownerConstructor=n,n.PrototypeMixin.ownerConstructor=n,p.apply(n.PrototypeMixin,arguments),n.superclass=this,n.__super__=this.prototype,t=n.prototype=r(this.prototype),t.constructor=n,s(t,"ember"),a(t).proto=t,n.ClassMixin.apply(n),n},createWithMixins:function(){var e=this;return arguments.length>0&&this._initMixins(arguments),new e},create:function(){var e=this;return arguments.length>0&&this._initProperties(arguments),new e},reopen:function(){return this.willReopen(),p.apply(this.PrototypeMixin,arguments),this},reopenClass:function(){return p.apply(this.ClassMixin,arguments),m(this,arguments,!1),this},detect:function(e){if("function"!=typeof e)return!1;for(;e;){if(e===this)return!0;e=e.superclass}return!1},detectInstance:function(e){return e instanceof this},metaForProperty:function(e){var t=a(this.proto(),!1).descs[e];return t._meta||{}},eachComputedProperty:function(e,t){var r,n=this.proto(),i=a(n).descs,o={};for(var s in i)r=i[s],r instanceof Ember.ComputedProperty&&e.call(t||this,s,r._meta||o)}});y.ownerConstructor=g,Ember.config.overrideClassMixin&&Ember.config.overrideClassMixin(y),g.ClassMixin=y,y.apply(g),Ember.CoreObject=g}(),function(){Ember.Object=Ember.CoreObject.extend(Ember.Observable),Ember.Object.toString=function(){return"Ember.Object"}}(),function(){function e(t,r,i){var s=t.length;c[t.join(".")]=r;for(var a in r)if(h.call(r,a)){var u=r[a];if(t[s]=a,u&&u.toString===n)u.toString=o(t.join(".")),u[f]=t.join(".");else if(u&&u.isNamespace){if(i[l(u)])continue;i[l(u)]=!0,e(t,u,i)}}t.length=s}function t(){var e,t,r=Ember.Namespace,n=Ember.lookup;if(!r.PROCESSED)for(var i in n)if("parent"!==i&&"top"!==i&&"frameElement"!==i&&"webkitStorageInfo"!==i&&!("globalStorage"===i&&n.StorageList&&n.globalStorage instanceof n.StorageList||n.hasOwnProperty&&!n.hasOwnProperty(i))){try{e=Ember.lookup[i],t=e&&e.isNamespace}catch(o){continue}t&&(e[f]=i)}}function r(e){var t=e.superclass;return t?t[f]?t[f]:r(t):void 0}function n(){Ember.BOOTED||this[f]||i();var e;if(this[f])e=this[f];else{var t=r(this);e=t?"(subclass of "+t+")":"(unknown mixin)",this.toString=o(e)}return e}function i(){var r=!u.PROCESSED,n=Ember.anyUnprocessedMixins;if(r&&(t(),u.PROCESSED=!0),r||n){for(var i,o=u.NAMESPACES,s=0,a=o.length;a>s;s++)i=o[s],e([i.toString()],i,{});Ember.anyUnprocessedMixins=!1}}function o(e){return function(){return e}}var s=Ember.get,a=Ember.ArrayPolyfills.indexOf,u=Ember.Namespace=Ember.Object.extend({isNamespace:!0,init:function(){Ember.Namespace.NAMESPACES.push(this),Ember.Namespace.PROCESSED=!1},toString:function(){var e=s(this,"name");return e?e:(t(),this[Ember.GUID_KEY+"_name"])},nameClasses:function(){e([this.toString()],this,{})},destroy:function(){var e=Ember.Namespace.NAMESPACES;Ember.lookup[this.toString()]=void 0,e.splice(a.call(e,this),1),this._super()}});u.reopenClass({NAMESPACES:[Ember],NAMESPACES_BY_ID:{},PROCESSED:!1,processAll:i,byName:function(e){return Ember.BOOTED||i(),c[e]}});var c=u.NAMESPACES_BY_ID,h={}.hasOwnProperty,l=Ember.guidFor,f=Ember.NAME_KEY=Ember.GUID_KEY+"_name";Ember.Mixin.prototype.toString=n}(),function(){Ember.Application=Ember.Namespace.extend()}(),function(){var e="Index out of range",t=[],r=Ember.get;Ember.set,Ember.ArrayProxy=Ember.Object.extend(Ember.MutableArray,{content:null,arrangedContent:Ember.computed.alias("content"),objectAtContent:function(e){return r(this,"arrangedContent").objectAt(e)},replaceContent:function(e,t,n){r(this,"content").replace(e,t,n)},_contentWillChange:Ember.beforeObserver(function(){this._teardownContent()},"content"),_teardownContent:function(){var e=r(this,"content");e&&e.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},contentArrayWillChange:Ember.K,contentArrayDidChange:Ember.K,_contentDidChange:Ember.observer(function(){r(this,"content"),this._setupContent()},"content"),_setupContent:function(){var e=r(this,"content");e&&e.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},_arrangedContentWillChange:Ember.beforeObserver(function(){var e=r(this,"arrangedContent"),t=e?r(e,"length"):0;this.arrangedContentArrayWillChange(this,0,t,void 0),this.arrangedContentWillChange(this),this._teardownArrangedContent(e)},"arrangedContent"),_arrangedContentDidChange:Ember.observer(function(){var e=r(this,"arrangedContent"),t=e?r(e,"length"):0;this._setupArrangedContent(),this.arrangedContentDidChange(this),this.arrangedContentArrayDidChange(this,0,void 0,t)},"arrangedContent"),_setupArrangedContent:function(){var e=r(this,"arrangedContent");e&&e.addArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},_teardownArrangedContent:function(){var e=r(this,"arrangedContent");e&&e.removeArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},arrangedContentWillChange:Ember.K,arrangedContentDidChange:Ember.K,objectAt:function(e){return r(this,"content")&&this.objectAtContent(e)},length:Ember.computed(function(){var e=r(this,"arrangedContent");return e?r(e,"length"):0}),_replace:function(e,t,n){var i=r(this,"content");return i&&this.replaceContent(e,t,n),this},replace:function(){if(r(this,"arrangedContent")!==r(this,"content"))throw new Ember.Error("Using replace on an arranged ArrayProxy is not allowed.");this._replace.apply(this,arguments)},_insertAt:function(t,n){if(t>r(this,"content.length"))throw new Error(e);return this._replace(t,0,[n]),this},insertAt:function(e,t){if(r(this,"arrangedContent")===r(this,"content"))return this._insertAt(e,t);throw new Ember.Error("Using insertAt on an arranged ArrayProxy is not allowed.")},removeAt:function(n,i){if("number"==typeof n){var o,s=r(this,"content"),a=r(this,"arrangedContent"),u=[];if(0>n||n>=r(this,"length"))throw new Error(e);for(void 0===i&&(i=1),o=n;n+i>o;o++)u.push(s.indexOf(a.objectAt(o)));for(u.sort(function(e,t){return t-e}),Ember.beginPropertyChanges(),o=0;o<u.length;o++)this._replace(u[o],1,t);Ember.endPropertyChanges()}return this},pushObject:function(e){return this._insertAt(r(this,"content.length"),e),e},pushObjects:function(e){return this._replace(r(this,"length"),0,e),this},setObjects:function(e){if(0===e.length)return this.clear();var t=r(this,"length");return this._replace(0,t,e),this},unshiftObject:function(e){return this._insertAt(0,e),e},unshiftObjects:function(e){return this._replace(0,0,e),this},slice:function(){var e=this.toArray();return e.slice.apply(e,arguments)},arrangedContentArrayWillChange:function(e,t,r,n){this.arrayContentWillChange(t,r,n)},arrangedContentArrayDidChange:function(e,t,r,n){this.arrayContentDidChange(t,r,n)},init:function(){this._super(),this._setupContent(),this._setupArrangedContent()},willDestroy:function(){this._teardownArrangedContent(),this._teardownContent()}})}(),function(){function e(e,t){var r=t.slice(8);r in this||u(this,r)}function t(e,t){var r=t.slice(8);r in this||c(this,r)}var r=Ember.get,n=Ember.set,i=(Ember.String.fmt,Ember.addBeforeObserver),o=Ember.addObserver,s=Ember.removeBeforeObserver,a=Ember.removeObserver,u=Ember.propertyWillChange,c=Ember.propertyDidChange;Ember.ObjectProxy=Ember.Object.extend({content:null,_contentDidChange:Ember.observer(function(){},"content"),isTruthy:Ember.computed.bool("content"),_debugContainerKey:null,willWatchProperty:function(r){var n="content."+r;i(this,n,null,e),o(this,n,null,t)},didUnwatchProperty:function(r){var n="content."+r;s(this,n,null,e),a(this,n,null,t)},unknownProperty:function(e){var t=r(this,"content");return t?r(t,e):void 0},setUnknownProperty:function(e,t){var i=r(this,"content");return n(i,e,t)}}),Ember.ObjectProxy.reopenClass({create:function(){var e,t,r,n,i,o;if(arguments.length){for(t=this.proto(),r=0,n=arguments.length;n>r;r++){i=arguments[r];for(o in i)!i.hasOwnProperty(o)||o in t||(e||(e={}),e[o]=null)}e&&this._initMixins([e])}return this._super.apply(this,arguments)}})}(),function(){function e(e,t,r,i,o){var s,a=r._objects;for(a||(a=r._objects={});--o>=i;){var u=e.objectAt(o);u&&(Ember.addBeforeObserver(u,t,r,"contentKeyWillChange"),Ember.addObserver(u,t,r,"contentKeyDidChange"),s=n(u),a[s]||(a[s]=[]),a[s].push(o))}}function t(e,t,r,i,o){var s=r._objects;s||(s=r._objects={});for(var a,u;--o>=i;){var c=e.objectAt(o);c&&(Ember.removeBeforeObserver(c,t,r,"contentKeyWillChange"),Ember.removeObserver(c,t,r,"contentKeyDidChange"),u=n(c),a=s[u],a[a.indexOf(o)]=null)}}var r=(Ember.set,Ember.get),n=Ember.guidFor,i=Ember.EnumerableUtils.forEach,o=Ember.Object.extend(Ember.Array,{init:function(e,t,r){this._super(),this._keyName=t,this._owner=r,this._content=e},objectAt:function(e){var t=this._content.objectAt(e);return t&&r(t,this._keyName)},length:Ember.computed(function(){var e=this._content;return e?r(e,"length"):0})}),s=/^.+:(before|change)$/;Ember.EachProxy=Ember.Object.extend({init:function(e){this._super(),this._content=e,e.addArrayObserver(this),i(Ember.watchedEvents(this),function(e){this.didAddListener(e)},this)},unknownProperty:function(e){var t;return t=new o(this._content,e,this),Ember.defineProperty(this,e,null,t),this.beginObservingContentKey(e),t},arrayWillChange:function(e,r,n){var i,o,s=this._keys;o=n>0?r+n:-1,Ember.beginPropertyChanges(this);for(i in s)s.hasOwnProperty(i)&&(o>0&&t(e,i,this,r,o),Ember.propertyWillChange(this,i));Ember.propertyWillChange(this._content,"@each"),Ember.endPropertyChanges(this)},arrayDidChange:function(t,r,n,i){var o,s,a=this._keys;s=i>0?r+i:-1,Ember.beginPropertyChanges(this);for(o in a)a.hasOwnProperty(o)&&(s>0&&e(t,o,this,r,s),Ember.propertyDidChange(this,o));Ember.propertyDidChange(this._content,"@each"),Ember.endPropertyChanges(this)},didAddListener:function(e){s.test(e)&&this.beginObservingContentKey(e.slice(0,-7))},didRemoveListener:function(e){s.test(e)&&this.stopObservingContentKey(e.slice(0,-7))},beginObservingContentKey:function(t){var n=this._keys;if(n||(n=this._keys={}),n[t])n[t]++;else{n[t]=1;var i=this._content,o=r(i,"length");e(i,t,this,0,o)}},stopObservingContentKey:function(e){var n=this._keys;if(n&&n[e]>0&&--n[e]<=0){var i=this._content,o=r(i,"length");t(i,e,this,0,o)}},contentKeyWillChange:function(e,t){Ember.propertyWillChange(this,t)},contentKeyDidChange:function(e,t){Ember.propertyDidChange(this,t)}})}(),function(){var e=Ember.get;Ember.set;var t=Ember.Mixin.create(Ember.MutableArray,Ember.Observable,Ember.Copyable,{get:function(e){return"length"===e?this.length:"number"==typeof e?this[e]:this._super(e)},objectAt:function(e){return this[e]},replace:function(t,r,n){if(this.isFrozen)throw Ember.FROZEN_ERROR;var i=n?e(n,"length"):0;if(this.arrayContentWillChange(t,r,i),n&&0!==n.length){var o=[t,r].concat(n);this.splice.apply(this,o)}else this.splice(t,r);return this.arrayContentDidChange(t,r,i),this},unknownProperty:function(e,t){var r;return void 0!==t&&void 0===r&&(r=this[e]=t),r},indexOf:function(e,t){var r,n=this.length;for(t=void 0===t?0:0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=n),r=t;n>r;r++)if(this[r]===e)return r;return-1},lastIndexOf:function(e,t){var r,n=this.length;for(t=void 0===t?n-1:0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=n),r=t;r>=0;r--)if(this[r]===e)return r;return-1},copy:function(e){return e?this.map(function(e){return Ember.copy(e,!0)}):this.slice()}}),r=["length"];Ember.EnumerableUtils.forEach(t.keys(),function(e){Array.prototype[e]&&r.push(e)}),r.length>0&&(t=t.without.apply(t,r)),Ember.NativeArray=t,Ember.A=function(e){return void 0===e&&(e=[]),Ember.Array.detect(e)?e:Ember.NativeArray.apply(e)},Ember.NativeArray.activate=function(){t.apply(Array.prototype),Ember.A=function(e){return e||[]}},(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Array)&&Ember.NativeArray.activate()}(),function(){var e=Ember.get,t=Ember.set,r=Ember.guidFor,n=Ember.isNone,i=Ember.String.fmt;Ember.Set=Ember.CoreObject.extend(Ember.MutableEnumerable,Ember.Copyable,Ember.Freezable,{length:0,clear:function(){if(this.isFrozen)throw new Error(Ember.FROZEN_ERROR);var n=e(this,"length");if(0===n)return this;var i;this.enumerableContentWillChange(n,0),Ember.propertyWillChange(this,"firstObject"),Ember.propertyWillChange(this,"lastObject");for(var o=0;n>o;o++)i=r(this[o]),delete this[i],delete this[o];return t(this,"length",0),Ember.propertyDidChange(this,"firstObject"),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(n,0),this},isEqual:function(t){if(!Ember.Enumerable.detect(t))return!1;var r=e(this,"length");if(e(t,"length")!==r)return!1;for(;--r>=0;)if(!t.contains(this[r]))return!1;return!0},add:Ember.aliasMethod("addObject"),remove:Ember.aliasMethod("removeObject"),pop:function(){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);var t=this.length>0?this[this.length-1]:null;return this.remove(t),t},push:Ember.aliasMethod("addObject"),shift:Ember.aliasMethod("pop"),unshift:Ember.aliasMethod("push"),addEach:Ember.aliasMethod("addObjects"),removeEach:Ember.aliasMethod("removeObjects"),init:function(e){this._super(),e&&this.addObjects(e)},nextObject:function(e){return this[e]},firstObject:Ember.computed(function(){return this.length>0?this[0]:void 0}),lastObject:Ember.computed(function(){return this.length>0?this[this.length-1]:void 0}),addObject:function(i){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);if(n(i))return this;var o,s=r(i),a=this[s],u=e(this,"length");return a>=0&&u>a&&this[a]===i?this:(o=[i],this.enumerableContentWillChange(null,o),Ember.propertyWillChange(this,"lastObject"),u=e(this,"length"),this[s]=u,this[u]=i,t(this,"length",u+1),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(null,o),this)},removeObject:function(i){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);if(n(i))return this;var o,s,a=r(i),u=this[a],c=e(this,"length"),h=0===u,l=u===c-1;return u>=0&&c>u&&this[u]===i&&(s=[i],this.enumerableContentWillChange(s,null),h&&Ember.propertyWillChange(this,"firstObject"),l&&Ember.propertyWillChange(this,"lastObject"),c-1>u&&(o=this[c-1],this[u]=o,this[r(o)]=u),delete this[a],delete this[c-1],t(this,"length",c-1),h&&Ember.propertyDidChange(this,"firstObject"),l&&Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(s,null)),this},contains:function(e){return this[r(e)]>=0},copy:function(){var n=this.constructor,i=new n,o=e(this,"length");for(t(i,"length",o);--o>=0;)i[o]=this[o],i[r(this[o])]=o;return i},toString:function(){var e,t=this.length,r=[];for(e=0;t>e;e++)r[e]=this[e];return i("Ember.Set<%@>",[r.join(",")])}})}(),function(){var e=Ember.DeferredMixin;Ember.get;var t=Ember.Object.extend(e);t.reopenClass({promise:function(e,r){var n=t.create();return e.call(r,n),n}}),Ember.Deferred=t}(),function(){var e=Ember.ArrayPolyfills.forEach,t=Ember.ENV.EMBER_LOAD_HOOKS||{},r={};Ember.onLoad=function(e,n){var i;t[e]=t[e]||Ember.A(),t[e].pushObject(n),(i=r[e])&&n(i)},Ember.runLoadHooks=function(n,i){r[n]=i,t[n]&&e.call(t[n],function(e){e(i)})}}(),function(){var e=Ember.get;Ember.ControllerMixin=Ember.Mixin.create({isController:!0,target:null,container:null,parentController:null,store:null,model:Ember.computed.alias("content"),send:function(t){var r,n=[].slice.call(arguments,1);this[t]?this[t].apply(this,n):(r=e(this,"target"))&&r.send.apply(r,arguments)}}),Ember.Controller=Ember.Object.extend(Ember.ControllerMixin)}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils.forEach);Ember.SortableMixin=Ember.Mixin.create(Ember.MutableEnumerable,{sortProperties:null,sortAscending:!0,sortFunction:Ember.compare,orderBy:function(r,n){var i=0,o=e(this,"sortProperties"),s=e(this,"sortAscending"),a=e(this,"sortFunction");return t(o,function(t){0===i&&(i=a(e(r,t),e(n,t)),0===i||s||(i=-1*i))}),i},destroy:function(){var r=e(this,"content"),n=e(this,"sortProperties");return r&&n&&t(r,function(e){t(n,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},isSorted:Ember.computed.bool("sortProperties"),arrangedContent:Ember.computed("content","sortProperties.@each",function(){var r=e(this,"content"),n=e(this,"isSorted"),i=e(this,"sortProperties"),o=this;return r&&n?(r=r.slice(),r.sort(function(e,t){return o.orderBy(e,t)}),t(r,function(e){t(i,function(t){Ember.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),Ember.A(r)):r}),_contentWillChange:Ember.beforeObserver(function(){var r=e(this,"content"),n=e(this,"sortProperties");r&&n&&t(r,function(e){t(n,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},"content"),sortAscendingWillChange:Ember.beforeObserver(function(){this._lastSortAscending=e(this,"sortAscending")},"sortAscending"),sortAscendingDidChange:Ember.observer(function(){if(e(this,"sortAscending")!==this._lastSortAscending){var t=e(this,"arrangedContent");t.reverseObjects()}},"sortAscending"),contentArrayWillChange:function(r,n,i,o){var s=e(this,"isSorted");if(s){var a=e(this,"arrangedContent"),u=r.slice(n,n+i),c=e(this,"sortProperties");t(u,function(e){a.removeObject(e),t(c,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(r,n,i,o)},contentArrayDidChange:function(r,n,i,o){var s=e(this,"isSorted"),a=e(this,"sortProperties");if(s){var u=r.slice(n,n+o);t(u,function(e){this.insertItemSorted(e),t(a,function(t){Ember.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(r,n,i,o)},insertItemSorted:function(t){var r=e(this,"arrangedContent"),n=e(r,"length"),i=this._binarySearch(t,0,n);r.insertAt(i,t)},contentItemSortPropertyDidChange:function(t){var r=e(this,"arrangedContent"),n=r.indexOf(t),i=r.objectAt(n-1),o=r.objectAt(n+1),s=i&&this.orderBy(t,i),a=o&&this.orderBy(t,o);(0>s||a>0)&&(r.removeObject(t),this.insertItemSorted(t))},_binarySearch:function(t,r,n){var i,o,s,a;return r===n?r:(a=e(this,"arrangedContent"),i=r+Math.floor((n-r)/2),o=a.objectAt(i),s=this.orderBy(o,t),0>s?this._binarySearch(t,i+1,n):s>0?this._binarySearch(t,r,i):i)}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils.forEach),r=Ember.EnumerableUtils.replace;Ember.ArrayController=Ember.ArrayProxy.extend(Ember.ControllerMixin,Ember.SortableMixin,{itemController:null,lookupItemController:function(){return e(this,"itemController")},objectAtContent:function(t){var r=e(this,"length"),n=e(this,"arrangedContent"),i=n&&n.objectAt(t);if(t>=0&&r>t){var o=this.lookupItemController(i);if(o)return this.controllerAt(t,i,o)}return i},arrangedContentDidChange:function(){this._super(),this._resetSubControllers()},arrayContentDidChange:function(n,i,o){var s=e(this,"_subControllers"),a=s.slice(n,n+i);t(a,function(e){e&&e.destroy()}),r(s,n,i,new Array(o)),this._super(n,i,o)},init:function(){this.get("content")||Ember.defineProperty(this,"content",void 0,Ember.A()),this._super(),this.set("_subControllers",Ember.A())},controllerAt:function(t,r,n){var i=e(this,"container"),o=e(this,"_subControllers"),s=o[t];if(s||(s=i.lookup("controller:"+n,{singleton:!1}),o[t]=s),!s)throw new Error('Could not resolve itemController: "'+n+'"');return s.set("target",this),s.set("parentController",e(this,"parentController")||this),s.set("content",r),s},_subControllers:null,_resetSubControllers:function(){var r=e(this,"_subControllers");r&&t(r,function(e){e&&e.destroy()}),this.set("_subControllers",Ember.A())}})}(),function(){Ember.ObjectController=Ember.ObjectProxy.extend(Ember.ControllerMixin)}()}(),"undefined"==typeof location||"localhost"!==location.hostname&&"127.0.0.1"!==location.hostname||Ember.Logger.warn("You are running a production build of Ember on localhost and won't receive detailed error messages. If you want full error messages please use the non-minified build provided on the Ember website.");
|
15
|
+
!function(){var e,t;!function(){var r={},n={};e=function(e,t,n){r[e]={deps:t,callback:n}},t=function(e){if(n[e])return n[e];n[e]={};var i,o,s,a,u;if(i=r[e],!i)throw new Error("Module '"+e+"' not found.");o=i.deps,s=i.callback,a=[];for(var c=0,h=o.length;h>c;c++)"exports"===o[c]?a.push(u={}):a.push(t(o[c]));var l=s.apply(this,a);return n[e]=u||l}}(),function(){function e(e){var t=r.console,n="object"==typeof t?t[e]:null;return n?n.apply?function(){n.apply(t,arguments)}:function(){var e=Array.prototype.join.call(arguments,", ");n(e)}:void 0}function t(e,t){if(!e)try{throw new Error("assertion failed: "+t)}catch(r){setTimeout(function(){throw r},0)}}"undefined"==typeof Ember&&(Ember={});var r=Ember.imports=Ember.imports||this,n=Ember.exports=Ember.exports||this;Ember.lookup=Ember.lookup||this,n.Em=n.Ember=Em=Ember,Ember.isNamespace=!0,Ember.toString=function(){return"Ember"},Ember.VERSION="1.0.0-rc.6.1",Ember.ENV=Ember.ENV||("undefined"==typeof ENV?{}:ENV),Ember.config=Ember.config||{},Ember.EXTEND_PROTOTYPES=Ember.ENV.EXTEND_PROTOTYPES,"undefined"==typeof Ember.EXTEND_PROTOTYPES&&(Ember.EXTEND_PROTOTYPES=!0),Ember.LOG_STACKTRACE_ON_DEPRECATION=Ember.ENV.LOG_STACKTRACE_ON_DEPRECATION!==!1,Ember.SHIM_ES5=Ember.ENV.SHIM_ES5===!1?!1:Ember.EXTEND_PROTOTYPES,Ember.LOG_VERSION=Ember.ENV.LOG_VERSION===!1?!1:!0,Ember.K=function(){return this},"undefined"==typeof Ember.assert&&(Ember.assert=Ember.K),"undefined"==typeof Ember.warn&&(Ember.warn=Ember.K),"undefined"==typeof Ember.debug&&(Ember.debug=Ember.K),"undefined"==typeof Ember.deprecate&&(Ember.deprecate=Ember.K),"undefined"==typeof Ember.deprecateFunc&&(Ember.deprecateFunc=function(e,t){return t}),Ember.uuid=0,Ember.Logger={log:e("log")||Ember.K,warn:e("warn")||Ember.K,error:e("error")||Ember.K,info:e("info")||Ember.K,debug:e("debug")||e("info")||Ember.K,assert:e("assert")||t},Ember.onerror=null,Ember.handleErrors=function(e,t){if("function"!=typeof Ember.onerror)return e.call(t||this);try{return e.call(t||this)}catch(r){Ember.onerror(r)}},Ember.merge=function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e},Ember.isNone=function(e){return null===e||void 0===e},Ember.none=Ember.deprecateFunc("Ember.none is deprecated. Please use Ember.isNone instead.",Ember.isNone),Ember.isEmpty=function(e){return Ember.isNone(e)||0===e.length&&"function"!=typeof e||"object"==typeof e&&0===Ember.get(e,"length")},Ember.empty=Ember.deprecateFunc("Ember.empty is deprecated. Please use Ember.isEmpty instead.",Ember.isEmpty)}(),function(){var e=Ember.platform={};if(Ember.create=Object.create,Ember.create&&2!==Ember.create({a:1},{a:{value:2}}).a&&(Ember.create=null),!Ember.create||Ember.ENV.STUB_OBJECT_CREATE){var t=function(){};Ember.create=function(e,r){if(t.prototype=e,e=new t,r){t.prototype=e;for(var n in r)t.prototype[n]=r[n].value;e=new t}return t.prototype=null,e},Ember.create.isSimulated=!0}var r,n,i=Object.defineProperty;if(i)try{i({},"a",{get:function(){}})}catch(o){i=null}i&&(r=function(){var e={};return i(e,"a",{configurable:!0,enumerable:!0,get:function(){},set:function(){}}),i(e,"a",{configurable:!0,enumerable:!0,writable:!0,value:!0}),e.a===!0}(),n=function(){try{return i(document.createElement("div"),"definePropertyOnDOM",{}),!0}catch(e){}return!1}(),r?n||(i=function(e,t,r){var n;return n="object"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName,n?e[t]=r.value:Object.defineProperty(e,t,r)}):i=null),e.defineProperty=i,e.hasPropertyAccessors=!0,e.defineProperty||(e.hasPropertyAccessors=!1,e.defineProperty=function(e,t,r){r.get||(e[t]=r.value)},e.defineProperty.isSimulated=!0),Ember.ENV.MANDATORY_SETTER&&!e.hasPropertyAccessors&&(Ember.ENV.MANDATORY_SETTER=!1)}(),function(){var e=function(e){return e&&Function.prototype.toString.call(e).indexOf("[native code]")>-1},t=e(Array.prototype.map)?Array.prototype.map:function(e){if(void 0===this||null===this)throw new TypeError;var t=Object(this),r=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=new Array(r),i=arguments[1],o=0;r>o;o++)o in t&&(n[o]=e.call(i,t[o],o,t));return n},r=e(Array.prototype.forEach)?Array.prototype.forEach:function(e){if(void 0===this||null===this)throw new TypeError;var t=Object(this),r=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=arguments[1],i=0;r>i;i++)i in t&&e.call(n,t[i],i,t)},n=e(Array.prototype.indexOf)?Array.prototype.indexOf:function(e,t){null===t||void 0===t?t=0:0>t&&(t=Math.max(0,this.length+t));for(var r=t,n=this.length;n>r;r++)if(this[r]===e)return r;return-1};Ember.ArrayPolyfills={map:t,forEach:r,indexOf:n},Ember.SHIM_ES5&&(Array.prototype.map||(Array.prototype.map=t),Array.prototype.forEach||(Array.prototype.forEach=r),Array.prototype.indexOf||(Array.prototype.indexOf=n))}(),function(){function e(e){this.descs={},this.watching={},this.cache={},this.source=e}function t(e,t){return!(!e||"function"!=typeof e[t])}var r=Ember.platform.defineProperty,n=Ember.create,i="__ember"+ +new Date,o=0,s=[],a={},u=Ember.ENV.MANDATORY_SETTER;Ember.GUID_KEY=i;var c={writable:!1,configurable:!1,enumerable:!1,value:null};Ember.generateGuid=function(e,t){t||(t="ember");var n=t+o++;return e&&(c.value=n,r(e,i,c)),n},Ember.guidFor=function(e){if(void 0===e)return"(undefined)";if(null===e)return"(null)";var t,n=typeof e;switch(n){case"number":return t=s[e],t||(t=s[e]="nu"+e),t;case"string":return t=a[e],t||(t=a[e]="st"+o++),t;case"boolean":return e?"(true)":"(false)";default:return e[i]?e[i]:e===Object?"(Object)":e===Array?"(Array)":(t="ember"+o++,c.value=t,r(e,i,c),t)}};var h={writable:!0,configurable:!1,enumerable:!1,value:null},l=Ember.GUID_KEY+"_meta";Ember.META_KEY=l;var f={descs:{},watching:{}};u&&(f.values={}),Ember.EMPTY_META=f,Object.freeze&&Object.freeze(f);var m=Ember.platform.defineProperty.isSimulated;m&&(e.prototype.__preventPlainObject__=!0,e.prototype.toJSON=function(){}),Ember.meta=function(t,i){var o=t[l];return i===!1?o||f:(o?o.source!==t&&(m||r(t,l,h),o=n(o),o.descs=n(o.descs),o.watching=n(o.watching),o.cache={},o.source=t,u&&(o.values=n(o.values)),t[l]=o):(m||r(t,l,h),o=new e(t),u&&(o.values={}),t[l]=o,o.descs.constructor=null),o)},Ember.getMeta=function(e,t){var r=Ember.meta(e,!1);return r[t]},Ember.setMeta=function(e,t,r){var n=Ember.meta(e,!0);return n[t]=r,r},Ember.metaPath=function(e,t,r){for(var i,o,s=Ember.meta(e,r),a=0,u=t.length;u>a;a++){if(i=t[a],o=s[i]){if(o.__ember_source__!==e){if(!r)return void 0;o=s[i]=n(o),o.__ember_source__=e}}else{if(!r)return void 0;o=s[i]={__ember_source__:e}}s=o}return o},Ember.wrap=function(e,t){function r(){}function n(){var n,i=this._super;return this._super=t||r,n=e.apply(this,arguments),this._super=i,n}return n.wrappedFunction=e,n.__ember_observes__=e.__ember_observes__,n.__ember_observesBefore__=e.__ember_observesBefore__,n},Ember.isArray=function(e){return!e||e.setInterval?!1:Array.isArray&&Array.isArray(e)?!0:Ember.Array&&Ember.Array.detect(e)?!0:void 0!==e.length&&"object"==typeof e?!0:!1},Ember.makeArray=function(e){return null===e||void 0===e?[]:Ember.isArray(e)?e:[e]},Ember.canInvoke=t,Ember.tryInvoke=function(e,r,n){return t(e,r)?e[r].apply(e,n||[]):void 0};var b=function(){var e=0;try{try{}finally{throw e++,new Error("needsFinallyFixTest")}}catch(t){}return 1!==e}();Ember.tryFinally=b?function(e,t,r){var n,i,o;r=r||this;try{n=e.call(r)}finally{try{i=t.call(r)}catch(s){o=s}}if(o)throw o;return void 0===i?n:i}:function(e,t,r){var n,i;r=r||this;try{n=e.call(r)}finally{i=t.call(r)}return void 0===i?n:i},Ember.tryCatchFinally=b?function(e,t,r,n){var i,o,s;n=n||this;try{i=e.call(n)}catch(a){i=t.call(n,a)}finally{try{o=r.call(n)}catch(u){s=u}}if(s)throw s;return void 0===o?i:o}:function(e,t,r,n){var i,o;n=n||this;try{i=e.call(n)}catch(s){i=t.call(n,s)}finally{o=r.call(n)}return void 0===o?i:o};var p={},E="Boolean Number String Function Array Date RegExp Object".split(" ");Ember.ArrayPolyfills.forEach.call(E,function(e){p["[object "+e+"]"]=e.toLowerCase()});var d=Object.prototype.toString;Ember.typeOf=function(e){var t;return t=null===e||void 0===e?String(e):p[d.call(e)]||"object","function"===t?Ember.Object&&Ember.Object.detect(e)&&(t="class"):"object"===t&&(t=e instanceof Error?"error":Ember.Object&&e instanceof Ember.Object?"instance":"object"),t}}(),function(){Ember.Instrumentation={};var e=[],t={},r=function(r){for(var n,i=[],o=0,s=e.length;s>o;o++)n=e[o],n.regex.test(r)&&i.push(n.object);return t[r]=i,i},n=function(){var e="undefined"!=typeof window?window.performance||{}:{},t=e.now||e.mozNow||e.webkitNow||e.msNow||e.oNow;return t?t.bind(e):function(){return+new Date}}();Ember.Instrumentation.instrument=function(e,i,o,s){function a(){for(b=0,p=f.length;p>b;b++)m=f[b],E[b]=m.before(e,n(),i);return o.call(s)}function u(e){i=i||{},i.exception=e}function c(){for(b=0,p=f.length;p>b;b++)m=f[b],m.after(e,n(),i,E[b]);Ember.STRUCTURED_PROFILE&&console.timeEnd(h)}var h,l,f=t[e];if(Ember.STRUCTURED_PROFILE&&(h=e+": "+i.object,console.time(h)),f||(f=r(e)),0===f.length)return l=o.call(s),Ember.STRUCTURED_PROFILE&&console.timeEnd(h),l;var m,b,p,E=[];return Ember.tryCatchFinally(a,u,c)},Ember.Instrumentation.subscribe=function(r,n){for(var i,o=r.split("."),s=[],a=0,u=o.length;u>a;a++)i=o[a],"*"===i?s.push("[^\\.]*"):s.push(i);s=s.join("\\."),s+="(\\..*)?";var c={pattern:r,regex:new RegExp("^"+s+"$"),object:n};return e.push(c),t={},c},Ember.Instrumentation.unsubscribe=function(r){for(var n,i=0,o=e.length;o>i;i++)e[i]===r&&(n=i);e.splice(n,1),t={}},Ember.Instrumentation.reset=function(){e=[],t={}},Ember.instrument=Ember.Instrumentation.instrument,Ember.subscribe=Ember.Instrumentation.subscribe}(),function(){var e,t,r,n;n=Array.prototype.concat,e=Array.prototype.map||Ember.ArrayPolyfills.map,t=Array.prototype.forEach||Ember.ArrayPolyfills.forEach,r=Array.prototype.indexOf||Ember.ArrayPolyfills.indexOf;var i=Ember.EnumerableUtils={map:function(t,r,n){return t.map?t.map.call(t,r,n):e.call(t,r,n)},forEach:function(e,r,n){return e.forEach?e.forEach.call(e,r,n):t.call(e,r,n)},indexOf:function(e,t,n){return e.indexOf?e.indexOf.call(e,t,n):r.call(e,t,n)},indexesOf:function(e,t){return void 0===t?[]:i.map(t,function(t){return i.indexOf(e,t)})},addObject:function(e,t){var r=i.indexOf(e,t);-1===r&&e.push(t)},removeObject:function(e,t){var r=i.indexOf(e,t);-1!==r&&e.splice(r,1)},replace:function(e,t,r,i){if(e.replace)return e.replace(t,r,i);var o=n.apply([t,r],i);return e.splice.apply(e,o)},intersection:function(e,t){var r=[];return i.forEach(e,function(e){i.indexOf(t,e)>=0&&r.push(e)}),r}}}(),function(){var e,t=Ember.META_KEY,r=Ember.ENV.MANDATORY_SETTER,n=/^([A-Z$]|([0-9][A-Z$])).*[\.\*]/,i=/^this[\.\*]/,o=/^([^\.\*]+)/;e=function(e,n){if(""===n)return e;if(n||"string"!=typeof e||(n=e,e=null),null===e||-1!==n.indexOf("."))return a(e,n);var i,o=e[t],s=o&&o.descs[n];return s?s.get(e,n):(i=r&&o&&o.watching[n]>0?o.values[n]:e[n],void 0!==i||"object"!=typeof e||n in e||"function"!=typeof e.unknownProperty?i:e.unknownProperty(n))},Ember.config.overrideAccessors&&(Ember.get=e,Ember.config.overrideAccessors(),e=Ember.get);var s=Ember.normalizeTuple=function(t,r){var s,a=i.test(r),u=!a&&n.test(r);if((!t||u)&&(t=Ember.lookup),a&&(r=r.slice(5)),t===Ember.lookup&&(s=r.match(o)[0],t=e(t,s),r=r.slice(s.length+1)),!r||0===r.length)throw new Error("Invalid Path");return[t,r]},a=Ember._getPath=function(t,r){var n,o,a,u,c;if(null===t&&-1===r.indexOf("."))return e(Ember.lookup,r);for(n=i.test(r),(!t||n)&&(a=s(t,r),t=a[0],r=a[1],a.length=0),o=r.split("."),c=o.length,u=0;null!=t&&c>u;u++)if(t=e(t,o[u],!0),t&&t.isDestroyed)return void 0;return t};Ember.getWithDefault=function(t,r,n){var i=e(t,r);return void 0===i?n:i},Ember.get=e,Ember.getPath=Ember.deprecateFunc("getPath is deprecated since get now supports paths",Ember.get)}(),function(){function e(e,t,r){for(var n=-1,i=0,o=e.length;o>i;i++)if(t===e[i][0]&&r===e[i][1]){n=i;break}return n}function t(e,t){var r,n=m(e,!0);return n.listeners||(n.listeners={}),n.hasOwnProperty("listeners")||(n.listeners=f(n.listeners)),r=n.listeners[t],r&&!n.listeners.hasOwnProperty(t)?r=n.listeners[t]=n.listeners[t].slice():r||(r=n.listeners[t]=[]),r}function r(t,r,n){var i=t[b],o=i&&i.listeners&&i.listeners[r];if(o)for(var s=o.length-1;s>=0;s--){var a=o[s][0],u=o[s][1],c=o[s][2],h=e(n,a,u);-1===h&&n.push([a,u,c])}}function n(t,r,n){var i=t[b],o=i&&i.listeners&&i.listeners[r],s=[];if(o){for(var a=o.length-1;a>=0;a--){var u=o[a][0],c=o[a][1],h=o[a][2],l=e(n,u,c);-1===l&&(n.push([u,c,h]),s.push([u,c,h]))}return s}}function i(r,n,i,o,s){o||"function"!=typeof i||(o=i,i=null);var a=t(r,n),u=e(a,i,o),c=0;s&&(c|=p),-1===u&&(a.push([i,o,c]),"function"==typeof r.didAddListener&&r.didAddListener(n,i,o))}function o(r,n,i,o){function s(i,o){var s=t(r,n),a=e(s,i,o);-1!==a&&(s.splice(a,1),"function"==typeof r.didRemoveListener&&r.didRemoveListener(n,i,o))}if(o||"function"!=typeof i||(o=i,i=null),o)s(i,o);else{var a=r[b],u=a&&a.listeners&&a.listeners[n];if(!u)return;for(var c=u.length-1;c>=0;c--)s(u[c][0],u[c][1])}}function s(r,n,i,o,s){function a(){return s.call(i)}function u(){c&&(c[2]&=~E)}o||"function"!=typeof i||(o=i,i=null);var c,h=t(r,n),l=e(h,i,o);return-1!==l&&(c=h[l].slice(),c[2]|=E,h[l]=c),Ember.tryFinally(a,u)}function a(r,n,i,o,s){function a(){return s.call(i)}function u(){for(f=0,m=b.length;m>f;f++)b[f][2]&=~E}o||"function"!=typeof i||(o=i,i=null);var c,h,l,f,m,b=[];for(f=0,m=n.length;m>f;f++){c=n[f],h=t(r,c);var p=e(h,i,o);-1!==p&&(l=h[p].slice(),l[2]|=E,h[p]=l,b.push(l))}return Ember.tryFinally(a,u)}function u(e){var t=e[b].listeners,r=[];if(t)for(var n in t)t[n]&&r.push(n);return r}function c(e,t,r,n){if(e!==Ember&&"function"==typeof e.sendEvent&&e.sendEvent(t,r),!n){var i=e[b];n=i&&i.listeners&&i.listeners[t]}if(n){for(var s=n.length-1;s>=0;s--){var a=n[s];if(a){var u=a[0],c=a[1],h=a[2];h&E||(h&p&&o(e,t,u,c),u||(u=e),"string"==typeof c&&(c=u[c]),r?c.apply(u,r):c.call(u))}}return!0}}function h(e,t){var r=e[b],n=r&&r.listeners&&r.listeners[t];return!(!n||!n.length)}function l(e,t){var r=[],n=e[b],i=n&&n.listeners&&n.listeners[t];if(!i)return r;for(var o=0,s=i.length;s>o;o++){var a=i[o][0],u=i[o][1];r.push([a,u])}return r}var f=Ember.create,m=Ember.meta,b=Ember.META_KEY,p=1,E=2;Ember.addListener=i,Ember.removeListener=o,Ember._suspendListener=s,Ember._suspendListeners=a,Ember.sendEvent=c,Ember.hasListeners=h,Ember.watchedEvents=u,Ember.listenersFor=l,Ember.listenersDiff=n,Ember.listenersUnion=r}(),function(){var e=Ember.guidFor,t=Ember.sendEvent,r=Ember._ObserverSet=function(){this.clear()};r.prototype.add=function(t,r,n){var i,o=this.observerSet,s=this.observers,a=e(t),u=o[a];return u||(o[a]=u={}),i=u[r],void 0===i&&(i=s.push({sender:t,keyName:r,eventName:n,listeners:[]})-1,u[r]=i),s[i].listeners},r.prototype.flush=function(){var e,r,n,i,o=this.observers;for(this.clear(),e=0,r=o.length;r>e;++e)n=o[e],i=n.sender,i.isDestroying||i.isDestroyed||t(i,n.eventName,[i,n.keyName],n.listeners)},r.prototype.clear=function(){this.observerSet={},this.observers=[]}}(),function(){function e(e,t,i){if(!e.isDestroying){var o=n,s=!o;s&&(o=n={}),r(p,e,t,o,i),s&&(n=null)}}function t(e,t,n){if(!e.isDestroying){var o=i,s=!o;s&&(o=i={}),r(E,e,t,o,n),s&&(i=null)}}function r(e,t,r,n,i){var o=s(t);if(n[o]||(n[o]={}),!n[o][r]){n[o][r]=!0;var a=i.deps;if(a=a&&a[r])for(var u in a){var c=i.descs[u];c&&c._suspended===t||e(t,u)}}}var n,i,o=Ember.meta,s=Ember.guidFor,a=Ember.tryFinally,u=Ember.sendEvent,c=Ember.listenersUnion,h=Ember.listenersDiff,l=Ember._ObserverSet,f=new l,m=new l,b=0,p=Ember.propertyWillChange=function(t,r){var n=o(t,!1),i=n.watching[r]>0||"length"===r,s=n.proto,a=n.descs[r];i&&s!==t&&(a&&a.willChange&&a.willChange(t,r),e(t,r,n),d(t,r,n),_(t,r))},E=Ember.propertyDidChange=function(e,r){var n=o(e,!1),i=n.watching[r]>0||"length"===r,s=n.proto,a=n.descs[r];s!==e&&(a&&a.didChange&&a.didChange(e,r),(i||"length"===r)&&(t(e,r,n),v(e,r,n),O(e,r)))},d=function(e,t,r,n){if(r.hasOwnProperty("chainWatchers")){var i=r.chainWatchers;if(i=i[t])for(var o=0,s=i.length;s>o;o++)i[o].willChange(n)}},v=function(e,t,r,n){if(r.hasOwnProperty("chainWatchers")){var i=r.chainWatchers;if(i=i[t])for(var o=i.length-1;o>=0;o--)i[o].didChange(n)}};Ember.overrideChains=function(e,t,r){v(e,t,r,!0)};var g=Ember.beginPropertyChanges=function(){b++},y=Ember.endPropertyChanges=function(){b--,0>=b&&(f.clear(),m.flush())};Ember.changeProperties=function(e,t){g(),a(e,y,t)};var _=function(e,t){if(!e.isDestroying){var r,n,i=t+":before";b?(r=f.add(e,t,i),n=h(e,i,r),u(e,i,[e,t],n)):u(e,i,[e,t])}},O=function(e,t){if(!e.isDestroying){var r,n=t+":change";b?(r=m.add(e,t,n),c(e,n,r)):u(e,n,[e,t])}}}(),function(){function e(e,t,r,o){var s;if(s=t.slice(t.lastIndexOf(".")+1),t=t.slice(0,t.length-(s.length+1)),"this"!==t&&(e=n(e,t)),!s||0===s.length)throw new Error("You passed an empty path");if(!e){if(o)return;throw new Error("Object in path "+t+" could not be found or was destroyed.")}return i(e,s,r)}var t=Ember.META_KEY,r=Ember.ENV.MANDATORY_SETTER,n=Ember._getPath,i=function(n,i,o,s){if("string"==typeof n&&(o=i,i=n,n=null),!n||-1!==i.indexOf("."))return e(n,i,o,s);var a,u,c=n[t],h=c&&c.descs[i];return h?h.set(n,i,o):(a="object"==typeof n&&!(i in n),a&&"function"==typeof n.setUnknownProperty?n.setUnknownProperty(i,o):c&&c.watching[i]>0?(u=r?c.values[i]:n[i],o!==u&&(Ember.propertyWillChange(n,i),r?void 0!==u||i in n?c.values[i]=o:Ember.defineProperty(n,i,null,o):n[i]=o,Ember.propertyDidChange(n,i))):n[i]=o),o};Ember.config.overrideAccessors&&(Ember.set=i,Ember.config.overrideAccessors(),i=Ember.set),Ember.set=i,Ember.setPath=Ember.deprecateFunc("setPath is deprecated since set now supports paths",Ember.set),Ember.trySet=function(e,t,r){return i(e,t,r,!0)},Ember.trySetPath=Ember.deprecateFunc("trySetPath has been renamed to trySet",Ember.trySet)}(),function(){var e=Ember.set,t=Ember.guidFor,r=Ember.ArrayPolyfills.indexOf,n=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t},i=function(e,t){var r=e.keys.copy(),i=n(e.values);return t.keys=r,t.values=i,t.length=e.length,t},o=Ember.OrderedSet=function(){this.clear()};o.create=function(){return new o},o.prototype={clear:function(){this.presenceSet={},this.list=[]},add:function(e){var r=t(e),n=this.presenceSet,i=this.list;r in n||(n[r]=!0,i.push(e))},remove:function(e){var n=t(e),i=this.presenceSet,o=this.list;delete i[n];var s=r.call(o,e);s>-1&&o.splice(s,1)},isEmpty:function(){return 0===this.list.length},has:function(e){var r=t(e),n=this.presenceSet;return r in n},forEach:function(e,t){for(var r=this.toArray(),n=0,i=r.length;i>n;n++)e.call(t,r[n])},toArray:function(){return this.list.slice()},copy:function(){var e=new o;return e.presenceSet=n(this.presenceSet),e.list=this.toArray(),e}};var s=Ember.Map=function(){this.keys=Ember.OrderedSet.create(),this.values={}};s.create=function(){return new s},s.prototype={length:0,get:function(e){var r=this.values,n=t(e);return r[n]},set:function(r,n){var i=this.keys,o=this.values,s=t(r);i.add(r),o[s]=n,e(this,"length",i.list.length)},remove:function(r){var n=this.keys,i=this.values,o=t(r);return i.hasOwnProperty(o)?(n.remove(r),delete i[o],e(this,"length",n.list.length),!0):!1},has:function(e){var r=this.values,n=t(e);return r.hasOwnProperty(n)},forEach:function(e,r){var n=this.keys,i=this.values;n.forEach(function(n){var o=t(n);e.call(r,n,i[o])})},copy:function(){return i(this,new s)}};var a=Ember.MapWithDefault=function(e){s.call(this),this.defaultValue=e.defaultValue};a.create=function(e){return e?new a(e):new s},a.prototype=Ember.create(s.prototype),a.prototype.get=function(e){var t=this.has(e);if(t)return s.prototype.get.call(this,e);var r=this.defaultValue(e);return this.set(e,r),r},a.prototype.copy=function(){return i(this,new a({defaultValue:this.defaultValue}))}}(),function(){var e=Ember.META_KEY,t=Ember.meta,r=Ember.platform.defineProperty,n=Ember.ENV.MANDATORY_SETTER;Ember.Descriptor=function(){};var i=Ember.MANDATORY_SETTER_FUNCTION=function(){},o=Ember.DEFAULT_GETTER_FUNCTION=function(t){return function(){var r=this[e];return r&&r.values[t]}};Ember.defineProperty=function(e,s,a,u,c){var h,l,f,m;return c||(c=t(e)),h=c.descs,l=c.descs[s],f=c.watching[s]>0,l instanceof Ember.Descriptor&&l.teardown(e,s),a instanceof Ember.Descriptor?(m=a,h[s]=a,n&&f?r(e,s,{configurable:!0,enumerable:!0,writable:!0,value:void 0}):e[s]=void 0,a.setup(e,s)):(h[s]=void 0,null==a?(m=u,n&&f?(c.values[s]=u,r(e,s,{configurable:!0,enumerable:!0,set:i,get:o(s)})):e[s]=u):(m=a,r(e,s,a))),f&&Ember.overrideChains(e,s,c),e.didDefineProperty&&e.didDefineProperty(e,s,m),this}}(),function(){var e=Ember.changeProperties,t=Ember.set;Ember.setProperties=function(r,n){return e(function(){for(var e in n)n.hasOwnProperty(e)&&t(r,e,n[e])}),r}}(),function(){var e=Ember.meta,t=Ember.typeOf,r=Ember.ENV.MANDATORY_SETTER,n=Ember.platform.defineProperty;Ember.watchKey=function(i,o){if("length"!==o||"array"!==t(i)){var s,a=e(i),u=a.watching;u[o]?u[o]=(u[o]||0)+1:(u[o]=1,s=a.descs[o],s&&s.willWatch&&s.willWatch(i,o),"function"==typeof i.willWatchProperty&&i.willWatchProperty(o),r&&o in i&&(a.values[o]=i[o],n(i,o,{configurable:!0,enumerable:!0,set:Ember.MANDATORY_SETTER_FUNCTION,get:Ember.DEFAULT_GETTER_FUNCTION(o)})))}},Ember.unwatchKey=function(t,i){var o,s=e(t),a=s.watching;1===a[i]?(a[i]=0,o=s.descs[i],o&&o.didUnwatch&&o.didUnwatch(t,i),"function"==typeof t.didUnwatchProperty&&t.didUnwatchProperty(i),r&&i in t&&(n(t,i,{configurable:!0,enumerable:!0,writable:!0,value:s.values[i]}),delete s.values[i])):a[i]>1&&a[i]--}}(),function(){function e(e){return e.match(f)[0]}function t(e,t,r){if(e&&"object"==typeof e){var i=n(e),o=i.chainWatchers;i.hasOwnProperty("chainWatchers")||(o=i.chainWatchers={}),o[t]||(o[t]=[]),o[t].push(r),u(e,t)}}function r(e){return n(e,!1).proto===e}var n=Ember.meta,i=Ember.get,o=Ember.normalizeTuple,s=Ember.ArrayPolyfills.forEach,a=Ember.warn,u=Ember.watchKey,c=Ember.unwatchKey,h=Ember.propertyWillChange,l=Ember.propertyDidChange,f=/^([^\.\*]+)/,m=[];Ember.flushPendingChains=function(){if(0!==m.length){var e=m;m=[],s.call(e,function(e){e[0].add(e[1])}),a("Watching an undefined global, Ember expects watched globals to be setup by the time the run loop is flushed, check for typos",0===m.length)}};var b=Ember.removeChainWatcher=function(e,t,r){if(e&&"object"==typeof e){var i=n(e,!1);if(i.hasOwnProperty("chainWatchers")){var o=i.chainWatchers;if(o[t]){o=o[t];for(var s=0,a=o.length;a>s;s++)o[s]===r&&o.splice(s,1)}c(e,t)}}},p=Ember._ChainNode=function(e,r,n){this._parent=e,this._key=r,this._watching=void 0===n,this._value=n,this._paths={},this._watching&&(this._object=e.value(),this._object&&t(this._object,this._key,this)),this._parent&&"@each"===this._parent._key&&this.value()},E=p.prototype;E.value=function(){if(void 0===this._value&&this._watching){var e=this._parent.value();this._value=e&&!r(e)?i(e,this._key):void 0}return this._value},E.destroy=function(){if(this._watching){var e=this._object;e&&b(e,this._key,this),this._watching=!1}},E.copy=function(e){var t,r=new p(null,null,e),n=this._paths;for(t in n)n[t]<=0||r.add(t);return r},E.add=function(t){var r,n,i,s,a;if(a=this._paths,a[t]=(a[t]||0)+1,r=this.value(),n=o(r,t),n[0]&&n[0]===r)t=n[1],i=e(t),t=t.slice(i.length+1);else{if(!n[0])return m.push([this,t]),n.length=0,void 0;s=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]}n.length=0,this.chain(i,t,s)},E.remove=function(t){var r,n,i,s,a;a=this._paths,a[t]>0&&a[t]--,r=this.value(),n=o(r,t),n[0]===r?(t=n[1],i=e(t),t=t.slice(i.length+1)):(s=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]),n.length=0,this.unchain(i,t)},E.count=0,E.chain=function(t,r,n){var i,o=this._chains;o||(o=this._chains={}),i=o[t],i||(i=o[t]=new p(this,t,n)),i.count++,r&&r.length>0&&(t=e(r),r=r.slice(t.length+1),i.chain(t,r))},E.unchain=function(t,r){var n=this._chains,i=n[t];r&&r.length>1&&(t=e(r),r=r.slice(t.length+1),i.unchain(t,r)),i.count--,i.count<=0&&(delete n[i._key],i.destroy())},E.willChange=function(){var e=this._chains;if(e)for(var t in e)e.hasOwnProperty(t)&&e[t].willChange();this._parent&&this._parent.chainWillChange(this,this._key,1)},E.chainWillChange=function(e,t,r){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainWillChange(this,t,r+1):(r>1&&h(this.value(),t),t="this."+t,this._paths[t]>0&&h(this.value(),t))},E.chainDidChange=function(e,t,r){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainDidChange(this,t,r+1):(r>1&&l(this.value(),t),t="this."+t,this._paths[t]>0&&l(this.value(),t))},E.didChange=function(e){if(this._watching){var r=this._parent.value();r!==this._object&&(b(this._object,this._key,this),this._object=r,t(r,this._key,this)),this._value=void 0,this._parent&&"@each"===this._parent._key&&this.value()}var n=this._chains;if(n)for(var i in n)n.hasOwnProperty(i)&&n[i].didChange(e);e||this._parent&&this._parent.chainDidChange(this,this._key,1)},Ember.finishChains=function(e){var t=n(e,!1),r=t.chains;r&&(r.value()!==e&&(t.chains=r=r.copy(e)),r.didChange(!0))}}(),function(){function e(e){var r=t(e),i=r.chains;return i?i.value()!==e&&(i=r.chains=i.copy(e)):i=r.chains=new n(null,null,e),i}var t=Ember.meta,r=Ember.typeOf,n=Ember._ChainNode;Ember.watchPath=function(n,i){if("length"!==i||"array"!==r(n)){var o=t(n),s=o.watching;s[i]?s[i]=(s[i]||0)+1:(s[i]=1,e(n).add(i))}},Ember.unwatchPath=function(r,n){var i=t(r),o=i.watching;1===o[n]?(o[n]=0,e(r).remove(n)):o[n]>1&&o[n]--}}(),function(){function e(e){return"*"===e||!l.test(e)}var t=Ember.meta,r=Ember.GUID_KEY,n=Ember.META_KEY,i=Ember.removeChainWatcher,o=Ember.watchKey,s=Ember.unwatchKey,a=Ember.watchPath,u=Ember.unwatchPath,c=Ember.typeOf,h=Ember.generateGuid,l=/[\.\*]/;Ember.watch=function(t,r){("length"!==r||"array"!==c(t))&&(e(r)?o(t,r):a(t,r))},Ember.isWatching=function(e,t){var r=e[n];return(r&&r.watching[t])>0},Ember.watch.flushPending=Ember.flushPendingChains,Ember.unwatch=function(t,r){("length"!==r||"array"!==c(t))&&(e(r)?s(t,r):u(t,r))},Ember.rewatch=function(e){var n=t(e,!1),i=n.chains;r in e&&!e.hasOwnProperty(r)&&h(e,"ember"),i&&i.value()!==e&&(n.chains=i.copy(e))};var f=[];Ember.destroy=function(e){var t,r,o,s,a=e[n];if(a&&(e[n]=null,t=a.chains))for(f.push(t);f.length>0;){if(t=f.pop(),r=t._chains)for(o in r)r.hasOwnProperty(o)&&f.push(r[o]);t._watching&&(s=t._object,s&&i(s,t._key,t))}}}(),function(){function e(e,t){var r=e[t];return r?e.hasOwnProperty(t)||(r=e[t]=f(r)):r=e[t]={},r}function t(t){return e(t,"deps")}function r(r,n,i,o){var s,a,u,c,h,l=r._dependentKeys;if(l)for(s=t(o),a=0,u=l.length;u>a;a++)c=l[a],h=e(s,c),h[i]=(h[i]||0)+1,b(n,c)}function n(r,n,i,o){var s,a,u,c,h,l=r._dependentKeys;if(l)for(s=t(o),a=0,u=l.length;u>a;a++)c=l[a],h=e(s,c),h[i]=(h[i]||0)-1,p(n,c)}function i(e,t){this.func=e,this._cacheable=t&&void 0!==t.cacheable?t.cacheable:!0,this._dependentKeys=t&&t.dependentKeys,this._readOnly=t&&(void 0!==t.readOnly||!!t.readOnly)}function o(e,t){for(var r={},n=0;n<t.length;n++)r[t[n]]=u(e,t[n]);return r}function s(e,t){Ember.computed[e]=function(e){var r=l.call(arguments);return Ember.computed(e,function(){return t.apply(this,r)})}}function a(e,t){Ember.computed[e]=function(){var e=l.call(arguments),r=Ember.computed(function(){return t.apply(this,[o(this,e)])});return r.property.apply(r,e)}}var u=Ember.get,c=Ember.set,h=Ember.meta,l=[].slice,f=Ember.create,m=Ember.META_KEY,b=Ember.watch,p=Ember.unwatch;Ember.ComputedProperty=i,i.prototype=new Ember.Descriptor;var E=i.prototype;E.cacheable=function(e){return this._cacheable=e!==!1,this},E.volatile=function(){return this.cacheable(!1)},E.readOnly=function(e){return this._readOnly=void 0===e||!!e,this},E.property=function(){for(var e=[],t=0,r=arguments.length;r>t;t++)e.push(arguments[t]);return this._dependentKeys=e,this},E.meta=function(e){return 0===arguments.length?this._meta||{}:(this._meta=e,this)},E.willWatch=function(e,t){var n=e[m];t in n.cache||r(this,e,t,n)},E.didUnwatch=function(e,t){var r=e[m];t in r.cache||n(this,e,t,r)},E.didChange=function(e,t){if(this._cacheable&&this._suspended!==e){var r=h(e);t in r.cache&&(delete r.cache[t],r.watching[t]||n(this,e,t,r))}},E.get=function(e,t){var n,i,o;if(this._cacheable){if(o=h(e),i=o.cache,t in i)return i[t];n=i[t]=this.func.call(e,t),o.watching[t]||r(this,e,t,o)}else n=this.func.call(e,t);return n},E.set=function(e,t,n){var i,o,s,a=this._cacheable,u=this.func,c=h(e,a),l=c.watching[t],f=this._suspended,m=!1,b=c.cache;if(this._readOnly)throw new Error("Cannot Set: "+t+" on: "+e.toString());this._suspended=e;try{if(a&&b.hasOwnProperty(t)&&(o=b[t],m=!0),i=u.wrappedFunction?u.wrappedFunction.length:u.length,3===i)s=u.call(e,t,n,o);else{if(2!==i)return Ember.defineProperty(e,t,null,o),Ember.set(e,t,n),void 0;s=u.call(e,t,n)}if(m&&o===s)return;l&&Ember.propertyWillChange(e,t),m&&delete b[t],a&&(l||m||r(this,e,t,c),b[t]=s),l&&Ember.propertyDidChange(e,t)}finally{this._suspended=f}return s},E.setup=function(e,t){var n=e[m];n&&n.watching[t]&&r(this,e,t,h(e))},E.teardown=function(e,t){var r=h(e);return(r.watching[t]||t in r.cache)&&n(this,e,t,r),this._cacheable&&delete r.cache[t],null},Ember.computed=function(e){var t;if(arguments.length>1&&(t=l.call(arguments,0,-1),e=l.call(arguments,-1)[0]),"function"!=typeof e)throw new Error("Computed Property declared without a property function");var r=new i(e);return t&&r.property.apply(r,t),r},Ember.cacheFor=function(e,t){var r=h(e,!1).cache;return r&&t in r?r[t]:void 0},s("empty",function(e){return Ember.isEmpty(u(this,e))}),s("notEmpty",function(e){return!Ember.isEmpty(u(this,e))}),s("none",function(e){return Ember.isNone(u(this,e))}),s("not",function(e){return!u(this,e)}),s("bool",function(e){return!!u(this,e)}),s("match",function(e,t){var r=u(this,e);return"string"==typeof r?!!r.match(t):!1}),s("equal",function(e,t){return u(this,e)===t}),s("gt",function(e,t){return u(this,e)>t}),s("gte",function(e,t){return u(this,e)>=t}),s("lt",function(e,t){return u(this,e)<t}),s("lte",function(e,t){return u(this,e)<=t}),a("and",function(e){for(var t in e)if(e.hasOwnProperty(t)&&!e[t])return!1;return!0}),a("or",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!0;return!1}),a("any",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return e[t];return null}),a("map",function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&(Ember.isNone(e[r])?t.push(null):t.push(e[r]));return t}),Ember.computed.alias=function(e){return Ember.computed(e,function(t,r){return arguments.length>1?(c(this,e,r),r):u(this,e)})},Ember.computed.oneWay=function(e){return Ember.computed(e,function(){return u(this,e)})},Ember.computed.defaultTo=function(e){return Ember.computed(function(t,r,n){return 1===arguments.length?null!=n?n:u(this,e):null!=r?r:u(this,e)})}}(),function(){function e(e){return e+r}function t(e){return e+n}var r=":change",n=":before";Ember.addObserver=function(t,r,n,i){return Ember.addListener(t,e(r),n,i),Ember.watch(t,r),this},Ember.observersFor=function(t,r){return Ember.listenersFor(t,e(r))},Ember.removeObserver=function(t,r,n,i){return Ember.unwatch(t,r),Ember.removeListener(t,e(r),n,i),this},Ember.addBeforeObserver=function(e,r,n,i){return Ember.addListener(e,t(r),n,i),Ember.watch(e,r),this},Ember._suspendBeforeObserver=function(e,r,n,i,o){return Ember._suspendListener(e,t(r),n,i,o)},Ember._suspendObserver=function(t,r,n,i,o){return Ember._suspendListener(t,e(r),n,i,o)};var i=Ember.ArrayPolyfills.map;Ember._suspendBeforeObservers=function(e,r,n,o,s){var a=i.call(r,t);return Ember._suspendListeners(e,a,n,o,s)},Ember._suspendObservers=function(t,r,n,o,s){var a=i.call(r,e);return Ember._suspendListeners(t,a,n,o,s)},Ember.beforeObserversFor=function(e,r){return Ember.listenersFor(e,t(r))},Ember.removeBeforeObserver=function(e,r,n,i){return Ember.unwatch(e,r),Ember.removeListener(e,t(r),n,i),this}}(),function(){e("backburner/queue",["exports"],function(e){"use strict";function t(e,t,r){this.daq=e,this.name=t,this.options=r,this._queue=[]}t.prototype={daq:null,name:null,options:null,_queue:null,push:function(e,t,r,n){var i=this._queue;return i.push(e,t,r,n),{queue:this,target:e,method:t}},pushUnique:function(e,t,r,n){var i,o,s,a,u=this._queue;for(s=0,a=u.length;a>s;s+=4)if(i=u[s],o=u[s+1],i===e&&o===t)return u[s+2]=r,u[s+3]=n,{queue:this,target:e,method:t};return this._queue.push(e,t,r,n),{queue:this,target:e,method:t}},flush:function(){var e,t,r,n,i,o=this._queue,s=this.options,a=s&&s.before,u=s&&s.after,c=o.length;for(c&&a&&a(),i=0;c>i;i+=4)e=o[i],t=o[i+1],r=o[i+2],n=o[i+3],r&&r.length>0?t.apply(e,r):t.call(e);c&&u&&u(),o.length>c?(this._queue=o.slice(c),this.flush()):this._queue.length=0},cancel:function(e){var t,r,n,i,o=this._queue;for(n=0,i=o.length;i>n;n+=4)if(t=o[n],r=o[n+1],t===e.target&&r===e.method)return o.splice(n,4),!0;if(o=this._queueBeingFlushed)for(n=0,i=o.length;i>n;n+=4)if(t=o[n],r=o[n+1],t===e.target&&r===e.method)return o[n+1]=null,!0
|
16
|
+
}},e.Queue=t}),e("backburner/deferred_action_queues",["backburner/queue","exports"],function(e,t){"use strict";function r(e,t){var r=this.queues={};this.queueNames=e=e||[];for(var n,o=0,s=e.length;s>o;o++)n=e[o],r[n]=new i(this,n,t[n])}function n(e,t){for(var r,n,i=0,o=t;o>=i;i++)if(r=e.queueNames[i],n=e.queues[r],n._queue.length)return i;return-1}var i=e.Queue;r.prototype={queueNames:null,queues:null,schedule:function(e,t,r,n,i,o){var s=this.queues,a=s[e];if(!a)throw new Error("You attempted to schedule an action in a queue ("+e+") that doesn't exist");return i?a.pushUnique(t,r,n,o):a.push(t,r,n,o)},flush:function(){for(var e,t,r,i,o=this.queues,s=this.queueNames,a=0,u=s.length;u>a;){e=s[a],t=o[e],r=t._queueBeingFlushed=t._queue.slice(),t._queue=[];var c,h,l,f,m=t.options,b=m&&m.before,p=m&&m.after,E=0,d=r.length;for(d&&b&&b();d>E;)c=r[E],h=r[E+1],l=r[E+2],f=r[E+3],"string"==typeof h&&(h=c[h]),h&&(l&&l.length>0?h.apply(c,l):h.call(c)),E+=4;t._queueBeingFlushed=null,d&&p&&p(),-1===(i=n(this,a))?a++:a=i}}},t.DeferredActionQueues=r}),e("backburner",["backburner/deferred_action_queues","exports"],function(e,t){"use strict";function r(e,t){this.queueNames=e,this.options=t||{},this.options.defaultQueue||(this.options.defaultQueue=e[0]),this.instanceStack=[]}function n(e){e.begin(),s=p.setTimeout(function(){e.end(),s=null})}function i(e){var t,r,n,o,s=+new Date;e.run(function(){for(n=0,o=b.length;o>n&&(t=b[n],!(t>s));n+=2);for(r=b.splice(0,n),n=1,o=r.length;o>n;n+=2)e.schedule(e.options.defaultQueue,null,r[n])}),b.length&&(a=p.setTimeout(function(){i(e),a=null,u=null},b[0]-s),u=b[0])}function o(e,t){for(var r,n=-1,i=0,o=m.length;o>i;i++)if(r=m[i],r[0]===e&&r[1]===t){n=i;break}return n}var s,a,u,c=e.DeferredActionQueues,h=[].slice,l=[].pop,f=[],m=[],b=[],p=this;r.prototype={queueNames:null,options:null,currentInstance:null,instanceStack:null,begin:function(){var e=this.options&&this.options.onBegin,t=this.currentInstance;t&&this.instanceStack.push(t),this.currentInstance=new c(this.queueNames,this.options),e&&e(this.currentInstance,t)},end:function(){var e=this.options&&this.options.onEnd,t=this.currentInstance,r=null;try{t.flush()}finally{this.currentInstance=null,this.instanceStack.length&&(r=this.instanceStack.pop(),this.currentInstance=r),e&&e(t,r)}},run:function(e,t){var r;this.begin(),t||(t=e,e=null),"string"==typeof t&&(t=e[t]);var n=!1;try{r=arguments.length>2?t.apply(e,h.call(arguments,2)):t.call(e)}finally{n||(n=!0,this.end())}return r},defer:function(e,t,r){r||(r=t,t=null),"string"==typeof r&&(r=t[r]);var i=this.DEBUG?(new Error).stack:void 0,o=arguments.length>3?h.call(arguments,3):void 0;return this.currentInstance||n(this),this.currentInstance.schedule(e,t,r,o,!1,i)},deferOnce:function(e,t,r){r||(r=t,t=null),"string"==typeof r&&(r=t[r]);var i=this.DEBUG?(new Error).stack:void 0,o=arguments.length>3?h.call(arguments,3):void 0;return this.currentInstance||n(this),this.currentInstance.schedule(e,t,r,o,!0,i)},setTimeout:function(){var e=this,t=l.call(arguments),r=arguments[0],n=arguments[1],o=+new Date+t;n||(n=r,r=null),"string"==typeof n&&(n=r[n]);var s,c;arguments.length>2?(c=h.call(arguments,2),s=function(){n.apply(r,c)}):s=function(){n.call(r)};var f,m;for(f=0,m=b.length;m>f&&!(o<b[f]);f+=2);return b.splice(f,0,o,s),a&&o>u?s:(a&&(clearTimeout(a),a=null),a=p.setTimeout(function(){i(e),a=null,u=null},t),u=o,s)},throttle:function(e,t){for(var r,n=this,i=arguments,o=l.call(i),s=0,a=f.length;a>s;s++)if(r=f[s],r[0]===e&&r[1]===t)return;var u=p.setTimeout(function(){n.run.apply(n,i);for(var o=-1,s=0,a=f.length;a>s;s++)if(r=f[s],r[0]===e&&r[1]===t){o=s;break}o>-1&&f.splice(o,1)},o);f.push([e,t,u])},debounce:function(e,t){var r,n,i,s=this,a=arguments,u=l.call(a);"number"==typeof u?(r=u,u=!1):r=l.call(a),n=o(e,t),-1!==n&&(i=m[n],m.splice(n,1),clearTimeout(i[2]));var c=window.setTimeout(function(){u||s.run.apply(s,a),n=o(e,t),n&&m.splice(n,1)},r);u&&-1===n&&s.run.apply(s,a),m.push([e,t,c])},cancelTimers:function(){var e,t;for(e=0,t=f.length;t>e;e++)clearTimeout(f[e][2]);for(f=[],e=0,t=m.length;t>e;e++)clearTimeout(m[e][2]);m=[],a&&(clearTimeout(a),a=null),b=[],s&&(clearTimeout(s),s=null)},hasTimers:function(){return!!b.length||s},cancel:function(e){if(e&&"object"==typeof e&&e.queue&&e.method)return e.queue.cancel(e);if("function"==typeof e)for(var t=0,r=b.length;r>t;t+=2)if(b[t+1]===e)return b.splice(t,2),!0}},r.prototype.schedule=r.prototype.defer,r.prototype.scheduleOnce=r.prototype.deferOnce,r.prototype.later=r.prototype.setTimeout,t.Backburner=r})}(),function(){function e(){!Ember.run.currentRunLoop}var r=function(e){Ember.run.currentRunLoop=e},n=function(e,t){Ember.run.currentRunLoop=t},i=t("backburner").Backburner,o=new i(["sync","actions","destroy"],{sync:{before:Ember.beginPropertyChanges,after:Ember.endPropertyChanges},defaultQueue:"actions",onBegin:r,onEnd:n}),s=[].slice;Ember.run=function(){var e;if(Ember.onerror)try{e=o.run.apply(o,arguments)}catch(t){Ember.onerror(t)}else e=o.run.apply(o,arguments);return e},Ember.run.join=function(){if(!Ember.run.currentRunLoop)return Ember.run.apply(Ember.run,arguments);var e=s.call(arguments);e.unshift("actions"),Ember.run.schedule.apply(Ember.run,e)},Ember.run.backburner=o,Ember.run,Ember.run.currentRunLoop=null,Ember.run.queues=o.queueNames,Ember.run.begin=function(){o.begin()},Ember.run.end=function(){o.end()},Ember.run.schedule=function(){e(),o.schedule.apply(o,arguments)},Ember.run.hasScheduledTimers=function(){return o.hasTimers()},Ember.run.cancelTimers=function(){o.cancelTimers()},Ember.run.sync=function(){o.currentInstance&&o.currentInstance.queues.sync.flush()},Ember.run.later=function(){return o.later.apply(o,arguments)},Ember.run.once=function(){e();var t=s.call(arguments);return t.unshift("actions"),o.scheduleOnce.apply(o,t)},Ember.run.scheduleOnce=function(){return e(),o.scheduleOnce.apply(o,arguments)},Ember.run.next=function(){var e=s.call(arguments);return e.push(1),o.later.apply(o,e)},Ember.run.cancel=function(e){return o.cancel(e)},Ember.run.debounce=function(){return o.debounce.apply(o,arguments)},Ember.run.throttle=function(){return o.throttle.apply(o,arguments)}}(),function(){function e(e,t){return r(o(t)?Ember.lookup:e,t)}function t(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])}Ember.LOG_BINDINGS=!1||!!Ember.ENV.LOG_BINDINGS;var r=Ember.get,n=(Ember.set,Ember.guidFor),i=/^([A-Z$]|([0-9][A-Z$]))/,o=Ember.isGlobalPath=function(e){return i.test(e)},s=function(e,t){this._direction="fwd",this._from=t,this._to=e,this._directionMap=Ember.Map.create()};s.prototype={copy:function(){var e=new s(this._to,this._from);return this._oneWay&&(e._oneWay=!0),e},from:function(e){return this._from=e,this},to:function(e){return this._to=e,this},oneWay:function(){return this._oneWay=!0,this},toString:function(){var e=this._oneWay?"[oneWay]":"";return"Ember.Binding<"+n(this)+">("+this._from+" -> "+this._to+")"+e},connect:function(t){var r=this._from,n=this._to;return Ember.trySet(t,n,e(t,r)),Ember.addObserver(t,r,this,this.fromDidChange),this._oneWay||Ember.addObserver(t,n,this,this.toDidChange),this._readyToSync=!0,this},disconnect:function(e){var t=!this._oneWay;return Ember.removeObserver(e,this._from,this,this.fromDidChange),t&&Ember.removeObserver(e,this._to,this,this.toDidChange),this._readyToSync=!1,this},fromDidChange:function(e){this._scheduleSync(e,"fwd")},toDidChange:function(e){this._scheduleSync(e,"back")},_scheduleSync:function(e,t){var r=this._directionMap,n=r.get(e);n||(Ember.run.schedule("sync",this,this._sync,e),r.set(e,t)),"back"===n&&"fwd"===t&&r.set(e,"fwd")},_sync:function(t){var n=Ember.LOG_BINDINGS;if(!t.isDestroyed&&this._readyToSync){var i=this._directionMap,o=i.get(t),s=this._from,a=this._to;if(i.remove(t),"fwd"===o){var u=e(t,this._from);n&&Ember.Logger.log(" ",this.toString(),"->",u,t),this._oneWay?Ember.trySet(t,a,u):Ember._suspendObserver(t,a,this,this.toDidChange,function(){Ember.trySet(t,a,u)})}else if("back"===o){var c=r(t,this._to);n&&Ember.Logger.log(" ",this.toString(),"<-",c,t),Ember._suspendObserver(t,s,this,this.fromDidChange,function(){Ember.trySet(Ember.isGlobalPath(s)?Ember.lookup:t,s,c)})}}}},t(s,{from:function(){var e=this,t=new e;return t.from.apply(t,arguments)},to:function(){var e=this,t=new e;return t.to.apply(t,arguments)},oneWay:function(e,t){var r=this,n=new r(null,e);return n.oneWay(t)}}),Ember.Binding=s,Ember.bind=function(e,t,r){return new Ember.Binding(t,r).connect(e)},Ember.oneWay=function(e,t,r){return new Ember.Binding(t,r).oneWay().connect(e)}}(),function(){function e(e){var t=Ember.meta(e,!0),r=t.mixins;return r?t.hasOwnProperty("mixins")||(r=t.mixins=P(r)):r=t.mixins={},r}function t(e,t){return t&&t.length>0&&(e.mixins=O.call(t,function(e){if(e instanceof g)return e;var t=new g;return t.properties=e,t})),e}function r(e){return"function"==typeof e&&e.isMethod!==!1&&e!==Boolean&&e!==Object&&e!==Number&&e!==Array&&e!==Date&&e!==String}function n(e,t){var r;return t instanceof g?(r=S(t),e[r]?D:(e[r]=t,t.properties)):t}function i(e,t,r){var n;return n=t.concatenatedProperties||r.concatenatedProperties,e.concatenatedProperties&&(n=n?n.concat(e.concatenatedProperties):e.concatenatedProperties),n}function o(e,t,r,n,i){var o;return void 0===n[t]&&(o=i[t]),o=o||e.descs[t],o&&o instanceof Ember.ComputedProperty?(r=P(r),r.func=Ember.wrap(r.func,o.func),r):r}function s(e,t,r,n,i){var o;return void 0===i[t]&&(o=n[t]),o=o||e[t],"function"!=typeof o?r:Ember.wrap(r,o)}function a(e,t,r,n){var i=n[t]||e[t];return i?"function"==typeof i.concat?i.concat(r):Ember.makeArray(i).concat(r):Ember.makeArray(r)}function u(e,t,n,i,u,c,h){if(n instanceof Ember.Descriptor){if(n===y&&u[t])return D;n.func&&(n=o(i,t,n,c,u)),u[t]=n,c[t]=void 0}else r(n)?n=s(e,t,n,c,u):(h&&C.call(h,t)>=0||"concatenatedProperties"===t)&&(n=a(e,t,n,c)),u[t]=void 0,c[t]=n}function c(e,t,r,o,s,a){function h(e){delete r[e],delete o[e]}for(var l,f,m,b,p,E=0,d=e.length;d>E;E++)if(l=e[E],f=n(t,l),f!==D)if(f){p=Ember.meta(s),b=i(f,o,s);for(m in f)f.hasOwnProperty(m)&&(a.push(m),u(s,m,f[m],p,r,o,b));f.hasOwnProperty("toString")&&(s.toString=f.toString)}else l.mixins&&(c(l.mixins,t,r,o,s,a),l._without&&w.call(l._without,h))}function h(e,t,r,n){if(x.test(t)){var i=n.bindings;i?n.hasOwnProperty("bindings")||(i=n.bindings=P(n.bindings)):i=n.bindings={},i[t]=r}}function l(e,t){var r,n,i,o=t.bindings;if(o){for(r in o)n=o[r],n&&(i=r.slice(0,-7),n instanceof Ember.Binding?(n=n.copy(),n.to(i)):n=new Ember.Binding(i,n),n.connect(e),e[r]=n);t.bindings={}}}function f(e,t){return l(e,t||Ember.meta(e)),e}function m(e,t,r,n,i){var o,s=t.methodName;return n[s]||i[s]?(o=i[s],t=n[s]):r.descs[s]?(t=r.descs[s],o=void 0):(t=void 0,o=e[s]),{desc:t,value:o}}function b(e,t,r,n,i){if("function"==typeof r){var o=r[n];if(o)for(var s=0,a=o.length;a>s;s++)Ember[i](e,o[s],null,t)}}function p(e,t,r){var n=e[t];b(e,t,n,"__ember_observesBefore__","removeBeforeObserver"),b(e,t,n,"__ember_observes__","removeObserver"),b(e,t,r,"__ember_observesBefore__","addBeforeObserver"),b(e,t,r,"__ember_observes__","addObserver")}function E(t,r,n){var i,o,s,a={},u={},l=Ember.meta(t),b=[];c(r,e(t),a,u,t,b);for(var E=0,d=b.length;d>E;E++)if(i=b[E],"constructor"!==i&&u.hasOwnProperty(i)&&(s=a[i],o=u[i],s!==y)){for(;s&&s instanceof _;){var v=m(t,s,l,a,u);s=v.desc,o=v.value}(void 0!==s||void 0!==o)&&(p(t,i,o),h(t,i,o,l),j(t,i,s,o,l))}return n||f(t,l),t}function d(e,t,r){var n=S(e);if(r[n])return!1;if(r[n]=!0,e===t)return!0;for(var i=e.mixins,o=i?i.length:0;--o>=0;)if(d(i[o],t,r))return!0;return!1}function v(e,t,r){if(!r[S(t)])if(r[S(t)]=!0,t.properties){var n=t.properties;for(var i in n)n.hasOwnProperty(i)&&(e[i]=!0)}else t.mixins&&w.call(t.mixins,function(t){v(e,t,r)})}var g,y,_,O=Ember.ArrayPolyfills.map,C=Ember.ArrayPolyfills.indexOf,w=Ember.ArrayPolyfills.forEach,A=[].slice,P=Ember.create,j=Ember.defineProperty,S=Ember.guidFor,D={},x=Ember.IS_BINDING=/^.+Binding$/;Ember.mixin=function(e){var t=A.call(arguments,1);return E(e,t,!1),e},Ember.Mixin=function(){return t(this,arguments)},g=Ember.Mixin,g.prototype={properties:null,mixins:null,ownerConstructor:null},g._apply=E,g.applyPartial=function(e){var t=A.call(arguments,1);return E(e,t,!0)},g.finishPartial=f,Ember.anyUnprocessedMixins=!1,g.create=function(){Ember.anyUnprocessedMixins=!0;var e=this;return t(new e,arguments)};var T=g.prototype;T.reopen=function(){var e,t;this.properties?(e=g.create(),e.properties=this.properties,delete this.properties,this.mixins=[e]):this.mixins||(this.mixins=[]);var r,n=arguments.length,i=this.mixins;for(r=0;n>r;r++)e=arguments[r],e instanceof g?i.push(e):(t=g.create(),t.properties=e,i.push(t));return this},T.apply=function(e){return E(e,[this],!1)},T.applyPartial=function(e){return E(e,[this],!0)},T.detect=function(e){if(!e)return!1;if(e instanceof g)return d(e,this,{});var t=Ember.meta(e,!1).mixins;return t?!!t[S(this)]:!1},T.without=function(){var e=new g(this);return e._without=A.call(arguments),e},T.keys=function(){var e={},t={},r=[];v(e,this,t);for(var n in e)e.hasOwnProperty(n)&&r.push(n);return r},g.mixins=function(e){var t=Ember.meta(e,!1).mixins,r=[];if(!t)return r;for(var n in t){var i=t[n];i.properties||r.push(i)}return r},y=new Ember.Descriptor,y.toString=function(){return"(Required Property)"},Ember.required=function(){return y},_=function(e){this.methodName=e},_.prototype=new Ember.Descriptor,Ember.alias=function(e){return new _(e)},Ember.alias=Ember.deprecateFunc("Ember.alias is deprecated. Please use Ember.aliasMethod or Ember.computed.alias instead.",Ember.alias),Ember.aliasMethod=function(e){return new _(e)},Ember.observer=function(e){var t=A.call(arguments,1);return e.__ember_observes__=t,e},Ember.immediateObserver=function(){for(var e=0,t=arguments.length;t>e;e++)arguments[e];return Ember.observer.apply(this,arguments)},Ember.beforeObserver=function(e){var t=A.call(arguments,1);return e.__ember_observesBefore__=t,e}}(),function(){e("rsvp/all",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){if("[object Array]"!==Object.prototype.toString.call(e))throw new TypeError("You must pass an array to all.");return new n(function(t,r){function n(e){return function(t){i(e,t)}}function i(e,r){s[e]=r,0===--a&&t(s)}var o,s=[],a=e.length;0===a&&t([]);for(var u=0;u<e.length;u++)o=e[u],o&&"function"==typeof o.then?o.then(n(u),r):i(u,o)})}var n=e.Promise;t.all=r}),e("rsvp/async",["exports"],function(e){"use strict";function t(){return function(e,t){process.nextTick(function(){e(t)})}}function r(){return function(e,t){setImmediate(function(){e(t)})}}function n(){var e=[],t=new a(function(){var t=e.slice();e=[],t.forEach(function(e){var t=e[0],r=e[1];t(r)})}),r=document.createElement("div");return t.observe(r,{attributes:!0}),window.addEventListener("unload",function(){t.disconnect(),t=null},!1),function(t,n){e.push([t,n]),r.setAttribute("drainQueue","drainQueue")}}function i(){return function(e,t){setTimeout(function(){e(t)},1)}}var o,s="undefined"!=typeof window?window:{},a=s.MutationObserver||s.WebKitMutationObserver;o="function"==typeof setImmediate?r():"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)?t():a?n():i(),e.async=o}),e("rsvp/config",["rsvp/async","exports"],function(e,t){"use strict";var r=e.async,n={};n.async=r,t.config=n}),e("rsvp/defer",["rsvp/promise","exports"],function(e,t){"use strict";function r(){var e={resolve:void 0,reject:void 0,promise:void 0};return e.promise=new n(function(t,r){e.resolve=t,e.reject=r}),e}var n=e.Promise;t.defer=r}),e("rsvp/events",["exports"],function(e){"use strict";var t=function(e,t){this.type=e;for(var r in t)t.hasOwnProperty(r)&&(this[r]=t[r])},r=function(e,t){for(var r=0,n=e.length;n>r;r++)if(e[r][0]===t)return r;return-1},n=function(e){var t=e._promiseCallbacks;return t||(t=e._promiseCallbacks={}),t},i={mixin:function(e){return e.on=this.on,e.off=this.off,e.trigger=this.trigger,e},on:function(e,t,i){var o,s,a=n(this);for(e=e.split(/\s+/),i=i||this;s=e.shift();)o=a[s],o||(o=a[s]=[]),-1===r(o,t)&&o.push([t,i])},off:function(e,t){var i,o,s,a=n(this);for(e=e.split(/\s+/);o=e.shift();)t?(i=a[o],s=r(i,t),-1!==s&&i.splice(s,1)):a[o]=[]},trigger:function(e,r){var i,o,s,a,u,c=n(this);if(i=c[e])for(var h=0;h<i.length;h++)o=i[h],s=o[0],a=o[1],"object"!=typeof r&&(r={detail:r}),u=new t(e,r),s.call(a,u)}};e.EventTarget=i}),e("rsvp/hash",["rsvp/defer","exports"],function(e,t){"use strict";function r(e){var t=0;for(var r in e)t++;return t}function n(e){var t={},n=i(),o=r(e);0===o&&n.resolve({});var s=function(e){return function(t){a(e,t)}},a=function(e,r){t[e]=r,0===--o&&n.resolve(t)},u=function(e){n.reject(e)};for(var c in e)e[c]&&"function"==typeof e[c].then?e[c].then(s(c),u):a(c,e[c]);return n.promise}var i=e.defer;t.hash=n}),e("rsvp/node",["rsvp/promise","rsvp/all","exports"],function(e,t,r){"use strict";function n(e,t){return function(r,n){r?t(r):arguments.length>2?e(Array.prototype.slice.call(arguments,1)):e(n)}}function i(e){return function(){var t,r,i=Array.prototype.slice.call(arguments),a=this,u=new o(function(e,n){t=e,r=n});return s(i).then(function(i){i.push(n(t,r));try{e.apply(a,i)}catch(o){r(o)}}),u}}var o=e.Promise,s=t.all;r.denodeify=i}),e("rsvp/promise",["rsvp/config","rsvp/events","exports"],function(e,t,r){"use strict";function n(e){return i(e)||"object"==typeof e&&null!==e}function i(e){return"function"==typeof e}function o(e){h.onerror&&h.onerror(e.detail)}function s(e,t){e===t?u(e,t):a(e,t)||u(e,t)}function a(e,t){var r,o=null;try{if(e===t)throw new TypeError("A promises callback cannot return that same promise.");if(n(t)&&(o=t.then,i(o)))return o.call(t,function(n){return r?!0:(r=!0,t!==n?s(e,n):u(e,n),void 0)},function(t){return r?!0:(r=!0,c(e,t),void 0)}),!0}catch(a){return c(e,a),!0}return!1}function u(e,t){h.async(function(){e.trigger("promise:resolved",{detail:t}),e.isFulfilled=!0,e.fulfillmentValue=t})}function c(e,t){h.async(function(){e.trigger("promise:failed",{detail:t}),e.isRejected=!0,e.rejectedReason=t})}var h=e.config,l=t.EventTarget,f=function(e){var t=this,r=!1;if("function"!=typeof e)throw new TypeError("You must pass a resolver function as the sole argument to the promise constructor");if(!(t instanceof f))return new f(e);var n=function(e){r||(r=!0,s(t,e))},i=function(e){r||(r=!0,c(t,e))};this.on("promise:resolved",function(e){this.trigger("success",{detail:e.detail})},this),this.on("promise:failed",function(e){this.trigger("error",{detail:e.detail})},this),this.on("error",o);try{e(n,i)}catch(a){i(a)}},m=function(e,t,r,n){var o,u,h,l,f=i(r);if(f)try{o=r(n.detail),h=!0}catch(m){l=!0,u=m}else o=n.detail,h=!0;a(t,o)||(f&&h?s(t,o):l?c(t,u):"resolve"===e?s(t,o):"reject"===e&&c(t,o))};f.prototype={constructor:f,isRejected:void 0,isFulfilled:void 0,rejectedReason:void 0,fulfillmentValue:void 0,then:function(e,t){this.off("error",o);var r=new this.constructor(function(){});return this.isFulfilled&&h.async(function(t){m("resolve",r,e,{detail:t.fulfillmentValue})},this),this.isRejected&&h.async(function(e){m("reject",r,t,{detail:e.rejectedReason})},this),this.on("promise:resolved",function(t){m("resolve",r,e,t)}),this.on("promise:failed",function(e){m("reject",r,t,e)}),r}},l.mixin(f.prototype),r.Promise=f}),e("rsvp/reject",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){return new n(function(t,r){r(e)})}var n=e.Promise;t.reject=r}),e("rsvp/resolve",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){return new n(function(t){t(e)})}var n=e.Promise;t.resolve=r}),e("rsvp",["rsvp/events","rsvp/promise","rsvp/node","rsvp/all","rsvp/hash","rsvp/defer","rsvp/config","rsvp/resolve","rsvp/reject","exports"],function(e,t,r,n,i,o,s,a,u,c){"use strict";function h(e,t){d[e]=t}var l=e.EventTarget,f=t.Promise,m=r.denodeify,b=n.all,p=i.hash,E=o.defer,d=s.config,v=a.resolve,g=u.reject;c.Promise=f,c.EventTarget=l,c.all=b,c.hash=p,c.defer=E,c.denodeify=m,c.configure=h,c.resolve=v,c.reject=g})}(),function(){e("container",[],function(){function e(e){this.parent=e,this.dict={}}function t(t){this.parent=t,this.children=[],this.resolver=t&&t.resolver||function(){},this.registry=new e(t&&t.registry),this.cache=new e(t&&t.cache),this.typeInjections=new e(t&&t.typeInjections),this.injections={},this._options=new e(t&&t._options),this._typeOptions=new e(t&&t._typeOptions)}function r(e){throw new Error(e+" is not currently supported on child containers")}function n(e,t){var r=o(e,t,"singleton");return r!==!1}function i(e,t){var r={};if(!t)return r;for(var n,i,o=0,s=t.length;s>o;o++){if(n=t[o],i=e.lookup(n.fullName),!i)throw new Error("Attempting to inject an unknown injection: `"+n.fullName+"`");r[n.property]=i}return r}function o(e,t,r){var n=e._options.get(t);if(n&&void 0!==n[r])return n[r];var i=t.split(":")[0];return n=e._typeOptions.get(i),n?n[r]:void 0}function s(e,t){var r=e.normalize(t);return e.resolve(r)}function a(e,t){var r,n=s(e,t),a=t.split(":"),u=a[0];if(o(e,t,"instantiate")===!1)return n;if(n){var c=[];c=c.concat(e.typeInjections.get(u)||[]),c=c.concat(e.injections[t]||[]);var h=i(e,c);return h.container=e,h._debugContainerKey=t,r=n.create(h)}}function u(e,t){e.cache.eachLocal(function(r,n){o(e,r,"instantiate")!==!1&&t(n)})}function c(e){e.cache.eachLocal(function(t,r){o(e,t,"instantiate")!==!1&&r.destroy()}),e.cache.dict={}}return e.prototype={parent:null,dict:null,get:function(e){var t=this.dict;return t.hasOwnProperty(e)?t[e]:this.parent?this.parent.get(e):void 0},set:function(e,t){this.dict[e]=t},remove:function(e){delete this.dict[e]},has:function(e){var t=this.dict;return t.hasOwnProperty(e)?!0:this.parent?this.parent.has(e):!1},eachLocal:function(e,t){var r=this.dict;for(var n in r)r.hasOwnProperty(n)&&e.call(t,n,r[n])}},t.prototype={parent:null,children:null,resolver:null,registry:null,cache:null,typeInjections:null,injections:null,_options:null,_typeOptions:null,child:function(){var e=new t(this);return this.children.push(e),e},set:function(e,t,r){e[t]=r},register:function(e,t,r,n){var i;-1!==e.indexOf(":")?(n=r,r=t,i=e):i=e+":"+t;var o=this.normalize(i);this.registry.set(o,r),this._options.set(o,n||{})},unregister:function(e){var t=this.normalize(e);this.registry.remove(t),this.cache.remove(t),this._options.remove(t)},resolve:function(e){return this.resolver(e)||this.registry.get(e)},describe:function(e){return e},normalize:function(e){return e},lookup:function(e,t){if(e=this.normalize(e),t=t||{},this.cache.has(e)&&t.singleton!==!1)return this.cache.get(e);var r=a(this,e);return r?(n(this,e)&&t.singleton!==!1&&this.cache.set(e,r),r):void 0},lookupFactory:function(e){return s(this,e)},has:function(e){return this.cache.has(e)?!0:!!s(this,e)},optionsForType:function(e,t){this.parent&&r("optionsForType"),this._typeOptions.set(e,t)},options:function(e,t){this.optionsForType(e,t)},typeInjection:function(e,t,n){this.parent&&r("typeInjection");var i=this.typeInjections.get(e);i||(i=[],this.typeInjections.set(e,i)),i.push({property:t,fullName:n})},injection:function(e,t,n){if(this.parent&&r("injection"),-1===e.indexOf(":"))return this.typeInjection(e,t,n);var i=this.injections[e]=this.injections[e]||[];i.push({property:t,fullName:n})},destroy:function(){this.isDestroyed=!0;for(var e=0,t=this.children.length;t>e;e++)this.children[e].destroy();this.children=[],u(this,function(e){e.destroy()}),delete this.parent,this.isDestroyed=!0},reset:function(){for(var e=0,t=this.children.length;t>e;e++)c(this.children[e]);c(this)}},t})}(),function(){function e(r,n,i,o){var s,a,u;if("object"!=typeof r||null===r)return r;if(n&&(a=t(i,r))>=0)return o[a];if("array"===Ember.typeOf(r)){if(s=r.slice(),n)for(a=s.length;--a>=0;)s[a]=e(s[a],n,i,o)}else if(Ember.Copyable&&Ember.Copyable.detect(r))s=r.copy(n,i,o);else{s={};for(u in r)r.hasOwnProperty(u)&&"__"!==u.substring(0,2)&&(s[u]=n?e(r[u],n,i,o):r[u])}return n&&(i.push(r),o.push(s)),s}var t=Ember.EnumerableUtils.indexOf;Ember.compare=function n(e,t){if(e===t)return 0;var r=Ember.typeOf(e),i=Ember.typeOf(t),o=Ember.Comparable;if(o){if("instance"===r&&o.detect(e.constructor))return e.constructor.compare(e,t);if("instance"===i&&o.detect(t.constructor))return 1-t.constructor.compare(t,e)}var s=Ember.ORDER_DEFINITION_MAPPING;if(!s){var a=Ember.ORDER_DEFINITION;s=Ember.ORDER_DEFINITION_MAPPING={};var u,c;for(u=0,c=a.length;c>u;++u)s[a[u]]=u;delete Ember.ORDER_DEFINITION}var h=s[r],l=s[i];if(l>h)return-1;if(h>l)return 1;switch(r){case"boolean":case"number":return t>e?-1:e>t?1:0;case"string":var f=e.localeCompare(t);return 0>f?-1:f>0?1:0;case"array":for(var m=e.length,b=t.length,p=Math.min(m,b),E=0,d=0;0===E&&p>d;)E=n(e[d],t[d]),d++;return 0!==E?E:b>m?-1:m>b?1:0;case"instance":return Ember.Comparable&&Ember.Comparable.detect(e)?e.compare(e,t):0;case"date":var v=e.getTime(),g=t.getTime();return g>v?-1:v>g?1:0;default:return 0}},Ember.copy=function(t,r){return"object"!=typeof t||null===t?t:Ember.Copyable&&Ember.Copyable.detect(t)?t.copy(r):e(t,r,r?[]:null,r?[]:null)},Ember.inspect=function(e){var t=Ember.typeOf(e);if("array"===t)return"["+e+"]";if("object"!==t)return e+"";var r,n=[];for(var i in e)if(e.hasOwnProperty(i)){if(r=e[i],"toString"===r)continue;"function"===Ember.typeOf(r)&&(r="function() { ... }"),n.push(i+": "+r)}return"{"+n.join(", ")+"}"},Ember.isEqual=function(e,t){return e&&"function"==typeof e.isEqual?e.isEqual(t):e===t},Ember.ORDER_DEFINITION=Ember.ENV.ORDER_DEFINITION||["undefined","null","boolean","number","string","array","object","instance","function","class","date"],Ember.keys=Object.keys,(!Ember.keys||Ember.create.isSimulated)&&(Ember.keys=function(e){var t=[];for(var r in e)"__"!==r.substring(0,2)&&"_super"!==r&&e.hasOwnProperty(r)&&t.push(r);return t});var r=["description","fileName","lineNumber","message","name","number","stack"];Ember.Error=function(){for(var e=Error.apply(this,arguments),t=0;t<r.length;t++)this[r[t]]=e[r[t]]},Ember.Error.prototype=Ember.create(Error.prototype)}(),function(){Ember.RSVP=t("rsvp")}(),function(){var e=/[ _]/g,t={},r=/([a-z])([A-Z])/g,n=/(\-|_|\.|\s)+(.)?/g,i=/([a-z\d])([A-Z]+)/g,o=/\-|\s+/g;Ember.STRINGS={},Ember.String={fmt:function(e,t){var r=0;return e.replace(/%@([0-9]+)?/g,function(e,n){return n=n?parseInt(n,10)-1:r++,e=t[n],null===e?"(null)":void 0===e?"":Ember.inspect(e)})},loc:function(e,t){return e=Ember.STRINGS[e]||e,Ember.String.fmt(e,t)},w:function(e){return e.split(/\s+/)},decamelize:function(e){return e.replace(r,"$1_$2").toLowerCase()},dasherize:function(r){var n,i=t,o=i.hasOwnProperty(r);return o?i[r]:(n=Ember.String.decamelize(r).replace(e,"-"),i[r]=n,n)},camelize:function(e){return e.replace(n,function(e,t,r){return r?r.toUpperCase():""}).replace(/^([A-Z])/,function(e){return e.toLowerCase()})},classify:function(e){for(var t=e.split("."),r=[],n=0,i=t.length;i>n;n++){var o=Ember.String.camelize(t[n]);r.push(o.charAt(0).toUpperCase()+o.substr(1))}return r.join(".")},underscore:function(e){return e.replace(i,"$1_$2").replace(o,"_").toLowerCase()},capitalize:function(e){return e.charAt(0).toUpperCase()+e.substr(1)}}}(),function(){var e=Ember.String.fmt,t=Ember.String.w,r=Ember.String.loc,n=Ember.String.camelize,i=Ember.String.decamelize,o=Ember.String.dasherize,s=Ember.String.underscore,a=Ember.String.capitalize,u=Ember.String.classify;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.String)&&(String.prototype.fmt=function(){return e(this,arguments)},String.prototype.w=function(){return t(this)},String.prototype.loc=function(){return r(this,arguments)},String.prototype.camelize=function(){return n(this)},String.prototype.decamelize=function(){return i(this)},String.prototype.dasherize=function(){return o(this)},String.prototype.underscore=function(){return s(this)},String.prototype.classify=function(){return u(this)},String.prototype.capitalize=function(){return a(this)})}(),function(){var e=Array.prototype.slice;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Function)&&(Function.prototype.property=function(){var e=Ember.computed(this);return e.property.apply(e,arguments)},Function.prototype.observes=function(){return this.__ember_observes__=e.call(arguments),this},Function.prototype.observesBefore=function(){return this.__ember_observesBefore__=e.call(arguments),this})}(),function(){function e(){return 0===a.length?{}:a.pop()}function t(e){return a.push(e),null}function r(e,t){function r(r){var o=n(r,e);return i?t===o:!!o}var i=2===arguments.length;return r}var n=Ember.get,i=Ember.set,o=Array.prototype.slice,s=Ember.EnumerableUtils.indexOf,a=[];Ember.Enumerable=Ember.Mixin.create({nextObject:Ember.required(Function),firstObject:Ember.computed(function(){if(0===n(this,"length"))return void 0;var r,i=e();return r=this.nextObject(0,null,i),t(i),r}).property("[]"),lastObject:Ember.computed(function(){var r=n(this,"length");if(0===r)return void 0;var i,o=e(),s=0,a=null;do a=i,i=this.nextObject(s++,a,o);while(void 0!==i);return t(o),a}).property("[]"),contains:function(e){return void 0!==this.find(function(t){return t===e})},forEach:function(r,i){if("function"!=typeof r)throw new TypeError;var o=n(this,"length"),s=null,a=e();void 0===i&&(i=null);for(var u=0;o>u;u++){var c=this.nextObject(u,s,a);r.call(i,c,u,this),s=c}return s=null,a=t(a),this},getEach:function(e){return this.mapProperty(e)},setEach:function(e,t){return this.forEach(function(r){i(r,e,t)})},map:function(e,t){var r=Ember.A();return this.forEach(function(n,i,o){r[i]=e.call(t,n,i,o)}),r},mapProperty:function(e){return this.map(function(t){return n(t,e)})},filter:function(e,t){var r=Ember.A();return this.forEach(function(n,i,o){e.call(t,n,i,o)&&r.push(n)}),r},reject:function(e,t){return this.filter(function(){return!e.apply(t,arguments)})},filterProperty:function(){return this.filter(r.apply(this,arguments))},rejectProperty:function(e,t){var r=function(r){return n(r,e)===t},i=function(t){return!!n(t,e)},o=2===arguments.length?r:i;return this.reject(o)},find:function(r,i){var o=n(this,"length");void 0===i&&(i=null);for(var s,a,u=null,c=!1,h=e(),l=0;o>l&&!c;l++)s=this.nextObject(l,u,h),(c=r.call(i,s,l,this))&&(a=s),u=s;return s=u=null,h=t(h),a},findProperty:function(){return this.find(r.apply(this,arguments))},every:function(e,t){return!this.find(function(r,n,i){return!e.call(t,r,n,i)})},everyProperty:function(){return this.every(r.apply(this,arguments))},some:function(e,t){return!!this.find(function(r,n,i){return!!e.call(t,r,n,i)})},someProperty:function(){return this.some(r.apply(this,arguments))},reduce:function(e,t,r){if("function"!=typeof e)throw new TypeError;var n=t;return this.forEach(function(t,i){n=e.call(null,n,t,i,this,r)},this),n},invoke:function(e){var t,r=Ember.A();return arguments.length>1&&(t=o.call(arguments,1)),this.forEach(function(n,i){var o=n&&n[e];"function"==typeof o&&(r[i]=t?o.apply(n,t):o.call(n))},this),r},toArray:function(){var e=Ember.A();return this.forEach(function(t,r){e[r]=t}),e},compact:function(){return this.filter(function(e){return null!=e})},without:function(e){if(!this.contains(e))return this;var t=Ember.A();return this.forEach(function(r){r!==e&&(t[t.length]=r)}),t},uniq:function(){var e=Ember.A();return this.forEach(function(t){s(e,t)<0&&e.push(t)}),e},"[]":Ember.computed(function(){return this}),addEnumerableObserver:function(e,t){var r=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",o=n(this,"hasEnumerableObservers");return o||Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.addListener(this,"@enumerable:before",e,r),Ember.addListener(this,"@enumerable:change",e,i),o||Ember.propertyDidChange(this,"hasEnumerableObservers"),this},removeEnumerableObserver:function(e,t){var r=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",o=n(this,"hasEnumerableObservers");return o&&Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.removeListener(this,"@enumerable:before",e,r),Ember.removeListener(this,"@enumerable:change",e,i),o&&Ember.propertyDidChange(this,"hasEnumerableObservers"),this},hasEnumerableObservers:Ember.computed(function(){return Ember.hasListeners(this,"@enumerable:change")||Ember.hasListeners(this,"@enumerable:before")}),enumerableContentWillChange:function(e,t){var r,i,o;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,o=0>i||0>r||0!==i-r,-1===e&&(e=null),-1===t&&(t=null),Ember.propertyWillChange(this,"[]"),o&&Ember.propertyWillChange(this,"length"),Ember.sendEvent(this,"@enumerable:before",[this,e,t]),this},enumerableContentDidChange:function(e,t){var r,i,o;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,o=0>i||0>r||0!==i-r,-1===e&&(e=null),-1===t&&(t=null),Ember.sendEvent(this,"@enumerable:change",[this,e,t]),o&&Ember.propertyDidChange(this,"length"),Ember.propertyDidChange(this,"[]"),this}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.isNone),r=Ember.EnumerableUtils.map,n=Ember.cacheFor;
|
17
|
+
Ember.Array=Ember.Mixin.create(Ember.Enumerable,{length:Ember.required(),objectAt:function(t){return 0>t||t>=e(this,"length")?void 0:e(this,t)},objectsAt:function(e){var t=this;return r(e,function(e){return t.objectAt(e)})},nextObject:function(e){return this.objectAt(e)},"[]":Ember.computed(function(t,r){return void 0!==r&&this.replace(0,e(this,"length"),r),this}),firstObject:Ember.computed(function(){return this.objectAt(0)}),lastObject:Ember.computed(function(){return this.objectAt(e(this,"length")-1)}),contains:function(e){return this.indexOf(e)>=0},slice:function(r,n){var i=Ember.A(),o=e(this,"length");for(t(r)&&(r=0),(t(n)||n>o)&&(n=o),0>r&&(r=o+r),0>n&&(n=o+n);n>r;)i[i.length]=this.objectAt(r++);return i},indexOf:function(t,r){var n,i=e(this,"length");for(void 0===r&&(r=0),0>r&&(r+=i),n=r;i>n;n++)if(this.objectAt(n)===t)return n;return-1},lastIndexOf:function(t,r){var n,i=e(this,"length");for((void 0===r||r>=i)&&(r=i-1),0>r&&(r+=i),n=r;n>=0;n--)if(this.objectAt(n)===t)return n;return-1},addArrayObserver:function(t,r){var n=r&&r.willChange||"arrayWillChange",i=r&&r.didChange||"arrayDidChange",o=e(this,"hasArrayObservers");return o||Ember.propertyWillChange(this,"hasArrayObservers"),Ember.addListener(this,"@array:before",t,n),Ember.addListener(this,"@array:change",t,i),o||Ember.propertyDidChange(this,"hasArrayObservers"),this},removeArrayObserver:function(t,r){var n=r&&r.willChange||"arrayWillChange",i=r&&r.didChange||"arrayDidChange",o=e(this,"hasArrayObservers");return o&&Ember.propertyWillChange(this,"hasArrayObservers"),Ember.removeListener(this,"@array:before",t,n),Ember.removeListener(this,"@array:change",t,i),o&&Ember.propertyDidChange(this,"hasArrayObservers"),this},hasArrayObservers:Ember.computed(function(){return Ember.hasListeners(this,"@array:change")||Ember.hasListeners(this,"@array:before")}),arrayContentWillChange:function(t,r,n){void 0===t?(t=0,r=n=-1):(void 0===r&&(r=-1),void 0===n&&(n=-1)),Ember.isWatching(this,"@each")&&e(this,"@each"),Ember.sendEvent(this,"@array:before",[this,t,r,n]);var i,o;if(t>=0&&r>=0&&e(this,"hasEnumerableObservers")){i=[],o=t+r;for(var s=t;o>s;s++)i.push(this.objectAt(s))}else i=r;return this.enumerableContentWillChange(i,n),this},arrayContentDidChange:function(t,r,i){void 0===t?(t=0,r=i=-1):(void 0===r&&(r=-1),void 0===i&&(i=-1));var o,s;if(t>=0&&i>=0&&e(this,"hasEnumerableObservers")){o=[],s=t+i;for(var a=t;s>a;a++)o.push(this.objectAt(a))}else o=i;this.enumerableContentDidChange(r,o),Ember.sendEvent(this,"@array:change",[this,t,r,i]);var u=e(this,"length"),c=n(this,"firstObject"),h=n(this,"lastObject");return this.objectAt(0)!==c&&(Ember.propertyWillChange(this,"firstObject"),Ember.propertyDidChange(this,"firstObject")),this.objectAt(u-1)!==h&&(Ember.propertyWillChange(this,"lastObject"),Ember.propertyDidChange(this,"lastObject")),this},"@each":Ember.computed(function(){return this.__each||(this.__each=new Ember.EachProxy(this)),this.__each})})}(),function(){Ember.Comparable=Ember.Mixin.create({compare:Ember.required(Function)})}(),function(){var e=Ember.get;Ember.set,Ember.Copyable=Ember.Mixin.create({copy:Ember.required(Function),frozenCopy:function(){if(Ember.Freezable&&Ember.Freezable.detect(this))return e(this,"isFrozen")?this:this.copy().freeze();throw new Error(Ember.String.fmt("%@ does not support freezing",[this]))}})}(),function(){var e=Ember.get,t=Ember.set;Ember.Freezable=Ember.Mixin.create({isFrozen:!1,freeze:function(){return e(this,"isFrozen")?this:(t(this,"isFrozen",!0),this)}}),Ember.FROZEN_ERROR="Frozen object cannot be modified."}(),function(){var e=Ember.EnumerableUtils.forEach;Ember.MutableEnumerable=Ember.Mixin.create(Ember.Enumerable,{addObject:Ember.required(Function),addObjects:function(t){return Ember.beginPropertyChanges(this),e(t,function(e){this.addObject(e)},this),Ember.endPropertyChanges(this),this},removeObject:Ember.required(Function),removeObjects:function(t){return Ember.beginPropertyChanges(this),e(t,function(e){this.removeObject(e)},this),Ember.endPropertyChanges(this),this}})}(),function(){var e="Index out of range",t=[],r=Ember.get;Ember.set,Ember.MutableArray=Ember.Mixin.create(Ember.Array,Ember.MutableEnumerable,{replace:Ember.required(),clear:function(){var e=r(this,"length");return 0===e?this:(this.replace(0,e,t),this)},insertAt:function(t,n){if(t>r(this,"length"))throw new Error(e);return this.replace(t,0,[n]),this},removeAt:function(n,i){if("number"==typeof n){if(0>n||n>=r(this,"length"))throw new Error(e);void 0===i&&(i=1),this.replace(n,i,t)}return this},pushObject:function(e){return this.insertAt(r(this,"length"),e),e},pushObjects:function(e){if(!Ember.Enumerable.detect(e)&&!Ember.isArray(e))throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");return this.replace(r(this,"length"),0,e),this},popObject:function(){var e=r(this,"length");if(0===e)return null;var t=this.objectAt(e-1);return this.removeAt(e-1,1),t},shiftObject:function(){if(0===r(this,"length"))return null;var e=this.objectAt(0);return this.removeAt(0),e},unshiftObject:function(e){return this.insertAt(0,e),e},unshiftObjects:function(e){return this.replace(0,0,e),this},reverseObjects:function(){var e=r(this,"length");if(0===e)return this;var t=this.toArray().reverse();return this.replace(0,e,t),this},setObjects:function(e){if(0===e.length)return this.clear();var t=r(this,"length");return this.replace(0,t,e),this},removeObject:function(e){for(var t=r(this,"length")||0;--t>=0;){var n=this.objectAt(t);n===e&&this.removeAt(t)}return this},addObject:function(e){return this.contains(e)||this.pushObject(e),this}})}(),function(){var e=Ember.get,t=Ember.set;Ember.Observable=Ember.Mixin.create({get:function(t){return e(this,t)},getProperties:function(){var t={},r=arguments;1===arguments.length&&"array"===Ember.typeOf(arguments[0])&&(r=arguments[0]);for(var n=0;n<r.length;n++)t[r[n]]=e(this,r[n]);return t},set:function(e,r){return t(this,e,r),this},setProperties:function(e){return Ember.setProperties(this,e)},beginPropertyChanges:function(){return Ember.beginPropertyChanges(),this},endPropertyChanges:function(){return Ember.endPropertyChanges(),this},propertyWillChange:function(e){return Ember.propertyWillChange(this,e),this},propertyDidChange:function(e){return Ember.propertyDidChange(this,e),this},notifyPropertyChange:function(e){return this.propertyWillChange(e),this.propertyDidChange(e),this},addBeforeObserver:function(e,t,r){Ember.addBeforeObserver(this,e,t,r)},addObserver:function(e,t,r){Ember.addObserver(this,e,t,r)},removeObserver:function(e,t,r){Ember.removeObserver(this,e,t,r)},hasObserverFor:function(e){return Ember.hasListeners(this,e+":change")},getPath:function(e){return this.get(e)},setPath:function(e,t){return this.set(e,t)},getWithDefault:function(e,t){return Ember.getWithDefault(this,e,t)},incrementProperty:function(r,n){return Ember.isNone(n)&&(n=1),t(this,r,(e(this,r)||0)+n),e(this,r)},decrementProperty:function(r,n){return Ember.isNone(n)&&(n=1),t(this,r,(e(this,r)||0)-n),e(this,r)},toggleProperty:function(r){return t(this,r,!e(this,r)),e(this,r)},cacheFor:function(e){return Ember.cacheFor(this,e)},observersForKey:function(e){return Ember.observersFor(this,e)}})}(),function(){var e=Ember.get;Ember.set,Ember.TargetActionSupport=Ember.Mixin.create({target:null,action:null,actionContext:null,targetObject:Ember.computed(function(){var t=e(this,"target");if("string"===Ember.typeOf(t)){var r=e(this,t);return void 0===r&&(r=e(Ember.lookup,t)),r}return t}).property("target"),actionContextObject:Ember.computed(function(){var t=e(this,"actionContext");if("string"===Ember.typeOf(t)){var r=e(this,t);return void 0===r&&(r=e(Ember.lookup,t)),r}return t}).property("actionContext"),triggerAction:function(t){t=t||{};var r=t.action||e(this,"action"),n=t.target||e(this,"targetObject"),i=t.actionContext||e(this,"actionContextObject")||this;if(n&&r){var o;return o=n.send?n.send.apply(n,[r,i]):n[r].apply(n,[i]),o!==!1&&(o=!0),o}return!1}})}(),function(){Ember.Evented=Ember.Mixin.create({on:function(e,t,r){return Ember.addListener(this,e,t,r),this},one:function(e,t,r){return r||(r=t,t=null),Ember.addListener(this,e,t,r,!0),this},trigger:function(e){var t,r,n=[];for(t=1,r=arguments.length;r>t;t++)n.push(arguments[t]);Ember.sendEvent(this,e,n)},fire:function(){this.trigger.apply(this,arguments)},off:function(e,t,r){return Ember.removeListener(this,e,t,r),this},has:function(e){return Ember.hasListeners(this,e)}})}(),function(){var e=t("rsvp");e.configure("async",function(e,t){Ember.run.schedule("actions",t,e,t)});var r=Ember.get;Ember.DeferredMixin=Ember.Mixin.create({then:function(e,t){function n(t){return t===o?e(s):e(t)}var i,o,s;return s=this,i=r(this,"_deferred"),o=i.promise,o.then(e&&n,t)},resolve:function(e){var t,n;t=r(this,"_deferred"),n=t.promise,e===this?t.resolve(n):t.resolve(e)},reject:function(e){r(this,"_deferred").reject(e)},_deferred:Ember.computed(function(){return e.defer()})})}(),function(){Ember.Container=t("container"),Ember.Container.set=Ember.set}(),function(){function e(){var e,t,o=!1,s=function(){o||s.proto(),n(this,i,v),n(this,"_super",v);var u=a(this);if(u.proto=this,e){var h=e;e=null,this.reopen.apply(this,h)}if(t){var l=t;t=null;for(var f=this.concatenatedProperties,m=0,p=l.length;p>m;m++){var g=l[m];for(var y in g)if(g.hasOwnProperty(y)){var _=g[y],O=Ember.IS_BINDING;if(O.test(y)){var C=u.bindings;C?u.hasOwnProperty("bindings")||(C=u.bindings=r(u.bindings)):C=u.bindings={},C[y]=_}var w=u.descs[y];if(f&&d(f,y)>=0){var A=this[y];_=A?"function"==typeof A.concat?A.concat(_):Ember.makeArray(A).concat(_):Ember.makeArray(_)}w?w.set(this,y,_):"function"!=typeof this.setUnknownProperty||y in this?E?Ember.defineProperty(this,y,null,_):this[y]=_:this.setUnknownProperty(y,_)}}}b(this,u),delete u.proto,c(this),this.init.apply(this,arguments)};return s.toString=f.prototype.toString,s.willReopen=function(){o&&(s.PrototypeMixin=f.create(s.PrototypeMixin)),o=!1},s._initMixins=function(t){e=t},s._initProperties=function(e){t=e},s.proto=function(){var e=s.superclass;return e&&e.proto(),o||(o=!0,s.PrototypeMixin.applyPartial(s.prototype),u(s.prototype)),this.prototype},s}function t(e){return function(){return e}}var r=(Ember.set,Ember.get,Ember.create),n=Ember.platform.defineProperty,i=Ember.GUID_KEY,o=Ember.guidFor,s=Ember.generateGuid,a=Ember.meta,u=Ember.rewatch,c=Ember.finishChains,h=Ember.destroy,l=Ember.run.schedule,f=Ember.Mixin,m=f._apply,b=f.finishPartial,p=f.prototype.reopen,E=Ember.ENV.MANDATORY_SETTER,d=Ember.EnumerableUtils.indexOf,v={configurable:!0,writable:!0,enumerable:!1,value:void 0},g=e();g.toString=function(){return"Ember.CoreObject"},g.PrototypeMixin=f.create({reopen:function(){return m(this,arguments,!0),this},isInstance:!0,init:function(){},concatenatedProperties:null,isDestroyed:!1,isDestroying:!1,destroy:function(){return this.isDestroying?void 0:(this.isDestroying=!0,l("actions",this,this.willDestroy),l("destroy",this,this._scheduledDestroy),this)},willDestroy:Ember.K,_scheduledDestroy:function(){this.isDestroyed||(h(this),this.isDestroyed=!0)},bind:function(e,t){return t instanceof Ember.Binding||(t=Ember.Binding.from(t)),t.to(e).connect(this),t},toString:function(){var e="function"==typeof this.toStringExtension,r=e?":"+this.toStringExtension():"",n="<"+this.constructor.toString()+":"+o(this)+r+">";return this.toString=t(n),n}}),g.PrototypeMixin.ownerConstructor=g,Ember.config.overridePrototypeMixin&&Ember.config.overridePrototypeMixin(g.PrototypeMixin),g.__super__=null;var y=f.create({ClassMixin:Ember.required(),PrototypeMixin:Ember.required(),isClass:!0,isMethod:!1,extend:function(){var t,n=e();return n.ClassMixin=f.create(this.ClassMixin),n.PrototypeMixin=f.create(this.PrototypeMixin),n.ClassMixin.ownerConstructor=n,n.PrototypeMixin.ownerConstructor=n,p.apply(n.PrototypeMixin,arguments),n.superclass=this,n.__super__=this.prototype,t=n.prototype=r(this.prototype),t.constructor=n,s(t,"ember"),a(t).proto=t,n.ClassMixin.apply(n),n},createWithMixins:function(){var e=this;return arguments.length>0&&this._initMixins(arguments),new e},create:function(){var e=this;return arguments.length>0&&this._initProperties(arguments),new e},reopen:function(){return this.willReopen(),p.apply(this.PrototypeMixin,arguments),this},reopenClass:function(){return p.apply(this.ClassMixin,arguments),m(this,arguments,!1),this},detect:function(e){if("function"!=typeof e)return!1;for(;e;){if(e===this)return!0;e=e.superclass}return!1},detectInstance:function(e){return e instanceof this},metaForProperty:function(e){var t=a(this.proto(),!1).descs[e];return t._meta||{}},eachComputedProperty:function(e,t){var r,n=this.proto(),i=a(n).descs,o={};for(var s in i)r=i[s],r instanceof Ember.ComputedProperty&&e.call(t||this,s,r._meta||o)}});y.ownerConstructor=g,Ember.config.overrideClassMixin&&Ember.config.overrideClassMixin(y),g.ClassMixin=y,y.apply(g),Ember.CoreObject=g}(),function(){Ember.Object=Ember.CoreObject.extend(Ember.Observable),Ember.Object.toString=function(){return"Ember.Object"}}(),function(){function e(t,r,i){var s=t.length;c[t.join(".")]=r;for(var a in r)if(h.call(r,a)){var u=r[a];if(t[s]=a,u&&u.toString===n)u.toString=o(t.join(".")),u[f]=t.join(".");else if(u&&u.isNamespace){if(i[l(u)])continue;i[l(u)]=!0,e(t,u,i)}}t.length=s}function t(){var e,t,r=Ember.Namespace,n=Ember.lookup;if(!r.PROCESSED)for(var i in n)if("parent"!==i&&"top"!==i&&"frameElement"!==i&&"webkitStorageInfo"!==i&&!("globalStorage"===i&&n.StorageList&&n.globalStorage instanceof n.StorageList||n.hasOwnProperty&&!n.hasOwnProperty(i))){try{e=Ember.lookup[i],t=e&&e.isNamespace}catch(o){continue}t&&(e[f]=i)}}function r(e){var t=e.superclass;return t?t[f]?t[f]:r(t):void 0}function n(){Ember.BOOTED||this[f]||i();var e;if(this[f])e=this[f];else{var t=r(this);e=t?"(subclass of "+t+")":"(unknown mixin)",this.toString=o(e)}return e}function i(){var r=!u.PROCESSED,n=Ember.anyUnprocessedMixins;if(r&&(t(),u.PROCESSED=!0),r||n){for(var i,o=u.NAMESPACES,s=0,a=o.length;a>s;s++)i=o[s],e([i.toString()],i,{});Ember.anyUnprocessedMixins=!1}}function o(e){return function(){return e}}var s=Ember.get,a=Ember.ArrayPolyfills.indexOf,u=Ember.Namespace=Ember.Object.extend({isNamespace:!0,init:function(){Ember.Namespace.NAMESPACES.push(this),Ember.Namespace.PROCESSED=!1},toString:function(){var e=s(this,"name");return e?e:(t(),this[Ember.GUID_KEY+"_name"])},nameClasses:function(){e([this.toString()],this,{})},destroy:function(){var e=Ember.Namespace.NAMESPACES;Ember.lookup[this.toString()]=void 0,e.splice(a.call(e,this),1),this._super()}});u.reopenClass({NAMESPACES:[Ember],NAMESPACES_BY_ID:{},PROCESSED:!1,processAll:i,byName:function(e){return Ember.BOOTED||i(),c[e]}});var c=u.NAMESPACES_BY_ID,h={}.hasOwnProperty,l=Ember.guidFor,f=Ember.NAME_KEY=Ember.GUID_KEY+"_name";Ember.Mixin.prototype.toString=n}(),function(){Ember.Application=Ember.Namespace.extend()}(),function(){var e="Index out of range",t=[],r=Ember.get;Ember.set,Ember.ArrayProxy=Ember.Object.extend(Ember.MutableArray,{content:null,arrangedContent:Ember.computed.alias("content"),objectAtContent:function(e){return r(this,"arrangedContent").objectAt(e)},replaceContent:function(e,t,n){r(this,"content").replace(e,t,n)},_contentWillChange:Ember.beforeObserver(function(){this._teardownContent()},"content"),_teardownContent:function(){var e=r(this,"content");e&&e.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},contentArrayWillChange:Ember.K,contentArrayDidChange:Ember.K,_contentDidChange:Ember.observer(function(){r(this,"content"),this._setupContent()},"content"),_setupContent:function(){var e=r(this,"content");e&&e.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},_arrangedContentWillChange:Ember.beforeObserver(function(){var e=r(this,"arrangedContent"),t=e?r(e,"length"):0;this.arrangedContentArrayWillChange(this,0,t,void 0),this.arrangedContentWillChange(this),this._teardownArrangedContent(e)},"arrangedContent"),_arrangedContentDidChange:Ember.observer(function(){var e=r(this,"arrangedContent"),t=e?r(e,"length"):0;this._setupArrangedContent(),this.arrangedContentDidChange(this),this.arrangedContentArrayDidChange(this,0,void 0,t)},"arrangedContent"),_setupArrangedContent:function(){var e=r(this,"arrangedContent");e&&e.addArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},_teardownArrangedContent:function(){var e=r(this,"arrangedContent");e&&e.removeArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},arrangedContentWillChange:Ember.K,arrangedContentDidChange:Ember.K,objectAt:function(e){return r(this,"content")&&this.objectAtContent(e)},length:Ember.computed(function(){var e=r(this,"arrangedContent");return e?r(e,"length"):0}),_replace:function(e,t,n){var i=r(this,"content");return i&&this.replaceContent(e,t,n),this},replace:function(){if(r(this,"arrangedContent")!==r(this,"content"))throw new Ember.Error("Using replace on an arranged ArrayProxy is not allowed.");this._replace.apply(this,arguments)},_insertAt:function(t,n){if(t>r(this,"content.length"))throw new Error(e);return this._replace(t,0,[n]),this},insertAt:function(e,t){if(r(this,"arrangedContent")===r(this,"content"))return this._insertAt(e,t);throw new Ember.Error("Using insertAt on an arranged ArrayProxy is not allowed.")},removeAt:function(n,i){if("number"==typeof n){var o,s=r(this,"content"),a=r(this,"arrangedContent"),u=[];if(0>n||n>=r(this,"length"))throw new Error(e);for(void 0===i&&(i=1),o=n;n+i>o;o++)u.push(s.indexOf(a.objectAt(o)));for(u.sort(function(e,t){return t-e}),Ember.beginPropertyChanges(),o=0;o<u.length;o++)this._replace(u[o],1,t);Ember.endPropertyChanges()}return this},pushObject:function(e){return this._insertAt(r(this,"content.length"),e),e},pushObjects:function(e){if(!Ember.Enumerable.detect(e)&&!Ember.isArray(e))throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");return this._replace(r(this,"length"),0,e),this},setObjects:function(e){if(0===e.length)return this.clear();var t=r(this,"length");return this._replace(0,t,e),this},unshiftObject:function(e){return this._insertAt(0,e),e},unshiftObjects:function(e){return this._replace(0,0,e),this},slice:function(){var e=this.toArray();return e.slice.apply(e,arguments)},arrangedContentArrayWillChange:function(e,t,r,n){this.arrayContentWillChange(t,r,n)},arrangedContentArrayDidChange:function(e,t,r,n){this.arrayContentDidChange(t,r,n)},init:function(){this._super(),this._setupContent(),this._setupArrangedContent()},willDestroy:function(){this._teardownArrangedContent(),this._teardownContent()}})}(),function(){function e(e,t){var r=t.slice(8);r in this||u(this,r)}function t(e,t){var r=t.slice(8);r in this||c(this,r)}var r=Ember.get,n=Ember.set,i=(Ember.String.fmt,Ember.addBeforeObserver),o=Ember.addObserver,s=Ember.removeBeforeObserver,a=Ember.removeObserver,u=Ember.propertyWillChange,c=Ember.propertyDidChange;Ember.ObjectProxy=Ember.Object.extend({content:null,_contentDidChange:Ember.observer(function(){},"content"),isTruthy:Ember.computed.bool("content"),_debugContainerKey:null,willWatchProperty:function(r){var n="content."+r;i(this,n,null,e),o(this,n,null,t)},didUnwatchProperty:function(r){var n="content."+r;s(this,n,null,e),a(this,n,null,t)},unknownProperty:function(e){var t=r(this,"content");return t?r(t,e):void 0},setUnknownProperty:function(e,t){var i=r(this,"content");return n(i,e,t)}}),Ember.ObjectProxy.reopenClass({create:function(){var e,t,r,n,i,o;if(arguments.length){for(t=this.proto(),r=0,n=arguments.length;n>r;r++){i=arguments[r];for(o in i)!i.hasOwnProperty(o)||o in t||(e||(e={}),e[o]=null)}e&&this._initMixins([e])}return this._super.apply(this,arguments)}})}(),function(){function e(e,t,r,i,o){var s,a=r._objects;for(a||(a=r._objects={});--o>=i;){var u=e.objectAt(o);u&&(Ember.addBeforeObserver(u,t,r,"contentKeyWillChange"),Ember.addObserver(u,t,r,"contentKeyDidChange"),s=n(u),a[s]||(a[s]=[]),a[s].push(o))}}function t(e,t,r,i,o){var s=r._objects;s||(s=r._objects={});for(var a,u;--o>=i;){var c=e.objectAt(o);c&&(Ember.removeBeforeObserver(c,t,r,"contentKeyWillChange"),Ember.removeObserver(c,t,r,"contentKeyDidChange"),u=n(c),a=s[u],a[a.indexOf(o)]=null)}}var r=(Ember.set,Ember.get),n=Ember.guidFor,i=Ember.EnumerableUtils.forEach,o=Ember.Object.extend(Ember.Array,{init:function(e,t,r){this._super(),this._keyName=t,this._owner=r,this._content=e},objectAt:function(e){var t=this._content.objectAt(e);return t&&r(t,this._keyName)},length:Ember.computed(function(){var e=this._content;return e?r(e,"length"):0})}),s=/^.+:(before|change)$/;Ember.EachProxy=Ember.Object.extend({init:function(e){this._super(),this._content=e,e.addArrayObserver(this),i(Ember.watchedEvents(this),function(e){this.didAddListener(e)},this)},unknownProperty:function(e){var t;return t=new o(this._content,e,this),Ember.defineProperty(this,e,null,t),this.beginObservingContentKey(e),t},arrayWillChange:function(e,r,n){var i,o,s=this._keys;o=n>0?r+n:-1,Ember.beginPropertyChanges(this);for(i in s)s.hasOwnProperty(i)&&(o>0&&t(e,i,this,r,o),Ember.propertyWillChange(this,i));Ember.propertyWillChange(this._content,"@each"),Ember.endPropertyChanges(this)},arrayDidChange:function(t,r,n,i){var o,s=this._keys;o=i>0?r+i:-1,Ember.changeProperties(function(){for(var n in s)s.hasOwnProperty(n)&&(o>0&&e(t,n,this,r,o),Ember.propertyDidChange(this,n));Ember.propertyDidChange(this._content,"@each")},this)},didAddListener:function(e){s.test(e)&&this.beginObservingContentKey(e.slice(0,-7))},didRemoveListener:function(e){s.test(e)&&this.stopObservingContentKey(e.slice(0,-7))},beginObservingContentKey:function(t){var n=this._keys;if(n||(n=this._keys={}),n[t])n[t]++;else{n[t]=1;var i=this._content,o=r(i,"length");e(i,t,this,0,o)}},stopObservingContentKey:function(e){var n=this._keys;if(n&&n[e]>0&&--n[e]<=0){var i=this._content,o=r(i,"length");t(i,e,this,0,o)}},contentKeyWillChange:function(e,t){Ember.propertyWillChange(this,t)},contentKeyDidChange:function(e,t){Ember.propertyDidChange(this,t)}})}(),function(){var e=Ember.get;Ember.set;var t=Ember.Mixin.create(Ember.MutableArray,Ember.Observable,Ember.Copyable,{get:function(e){return"length"===e?this.length:"number"==typeof e?this[e]:this._super(e)},objectAt:function(e){return this[e]},replace:function(t,r,n){if(this.isFrozen)throw Ember.FROZEN_ERROR;var i=n?e(n,"length"):0;if(this.arrayContentWillChange(t,r,i),n&&0!==n.length){var o=[t,r].concat(n);this.splice.apply(this,o)}else this.splice(t,r);return this.arrayContentDidChange(t,r,i),this},unknownProperty:function(e,t){var r;return void 0!==t&&void 0===r&&(r=this[e]=t),r},indexOf:function(e,t){var r,n=this.length;for(t=void 0===t?0:0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=n),r=t;n>r;r++)if(this[r]===e)return r;return-1},lastIndexOf:function(e,t){var r,n=this.length;for(t=void 0===t?n-1:0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=n),r=t;r>=0;r--)if(this[r]===e)return r;return-1},copy:function(e){return e?this.map(function(e){return Ember.copy(e,!0)}):this.slice()}}),r=["length"];Ember.EnumerableUtils.forEach(t.keys(),function(e){Array.prototype[e]&&r.push(e)}),r.length>0&&(t=t.without.apply(t,r)),Ember.NativeArray=t,Ember.A=function(e){return void 0===e&&(e=[]),Ember.Array.detect(e)?e:Ember.NativeArray.apply(e)},Ember.NativeArray.activate=function(){t.apply(Array.prototype),Ember.A=function(e){return e||[]}},(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Array)&&Ember.NativeArray.activate()}(),function(){var e=Ember.get,t=Ember.set,r=Ember.guidFor,n=Ember.isNone,i=Ember.String.fmt;Ember.Set=Ember.CoreObject.extend(Ember.MutableEnumerable,Ember.Copyable,Ember.Freezable,{length:0,clear:function(){if(this.isFrozen)throw new Error(Ember.FROZEN_ERROR);var n=e(this,"length");if(0===n)return this;var i;this.enumerableContentWillChange(n,0),Ember.propertyWillChange(this,"firstObject"),Ember.propertyWillChange(this,"lastObject");for(var o=0;n>o;o++)i=r(this[o]),delete this[i],delete this[o];return t(this,"length",0),Ember.propertyDidChange(this,"firstObject"),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(n,0),this},isEqual:function(t){if(!Ember.Enumerable.detect(t))return!1;var r=e(this,"length");if(e(t,"length")!==r)return!1;for(;--r>=0;)if(!t.contains(this[r]))return!1;return!0},add:Ember.aliasMethod("addObject"),remove:Ember.aliasMethod("removeObject"),pop:function(){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);var t=this.length>0?this[this.length-1]:null;return this.remove(t),t},push:Ember.aliasMethod("addObject"),shift:Ember.aliasMethod("pop"),unshift:Ember.aliasMethod("push"),addEach:Ember.aliasMethod("addObjects"),removeEach:Ember.aliasMethod("removeObjects"),init:function(e){this._super(),e&&this.addObjects(e)},nextObject:function(e){return this[e]},firstObject:Ember.computed(function(){return this.length>0?this[0]:void 0}),lastObject:Ember.computed(function(){return this.length>0?this[this.length-1]:void 0}),addObject:function(i){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);if(n(i))return this;var o,s=r(i),a=this[s],u=e(this,"length");return a>=0&&u>a&&this[a]===i?this:(o=[i],this.enumerableContentWillChange(null,o),Ember.propertyWillChange(this,"lastObject"),u=e(this,"length"),this[s]=u,this[u]=i,t(this,"length",u+1),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(null,o),this)},removeObject:function(i){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);if(n(i))return this;var o,s,a=r(i),u=this[a],c=e(this,"length"),h=0===u,l=u===c-1;return u>=0&&c>u&&this[u]===i&&(s=[i],this.enumerableContentWillChange(s,null),h&&Ember.propertyWillChange(this,"firstObject"),l&&Ember.propertyWillChange(this,"lastObject"),c-1>u&&(o=this[c-1],this[u]=o,this[r(o)]=u),delete this[a],delete this[c-1],t(this,"length",c-1),h&&Ember.propertyDidChange(this,"firstObject"),l&&Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(s,null)),this},contains:function(e){return this[r(e)]>=0},copy:function(){var n=this.constructor,i=new n,o=e(this,"length");for(t(i,"length",o);--o>=0;)i[o]=this[o],i[r(this[o])]=o;return i},toString:function(){var e,t=this.length,r=[];for(e=0;t>e;e++)r[e]=this[e];return i("Ember.Set<%@>",[r.join(",")])}})}(),function(){var e=Ember.DeferredMixin;Ember.get;var t=Ember.Object.extend(e);t.reopenClass({promise:function(e,r){var n=t.create();return e.call(r,n),n}}),Ember.Deferred=t}(),function(){var e=Ember.ArrayPolyfills.forEach,t=Ember.ENV.EMBER_LOAD_HOOKS||{},r={};Ember.onLoad=function(e,n){var i;t[e]=t[e]||Ember.A(),t[e].pushObject(n),(i=r[e])&&n(i)},Ember.runLoadHooks=function(n,i){r[n]=i,t[n]&&e.call(t[n],function(e){e(i)})}}(),function(){var e=Ember.get;Ember.ControllerMixin=Ember.Mixin.create({isController:!0,target:null,container:null,parentController:null,store:null,model:Ember.computed.alias("content"),send:function(t){var r,n=[].slice.call(arguments,1);this[t]?this[t].apply(this,n):(r=e(this,"target"))&&r.send.apply(r,arguments)}}),Ember.Controller=Ember.Object.extend(Ember.ControllerMixin)}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils.forEach);Ember.SortableMixin=Ember.Mixin.create(Ember.MutableEnumerable,{sortProperties:null,sortAscending:!0,sortFunction:Ember.compare,orderBy:function(r,n){var i=0,o=e(this,"sortProperties"),s=e(this,"sortAscending"),a=e(this,"sortFunction");return t(o,function(t){0===i&&(i=a(e(r,t),e(n,t)),0===i||s||(i=-1*i))}),i},destroy:function(){var r=e(this,"content"),n=e(this,"sortProperties");return r&&n&&t(r,function(e){t(n,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},isSorted:Ember.computed.bool("sortProperties"),arrangedContent:Ember.computed("content","sortProperties.@each",function(){var r=e(this,"content"),n=e(this,"isSorted"),i=e(this,"sortProperties"),o=this;return r&&n?(r=r.slice(),r.sort(function(e,t){return o.orderBy(e,t)}),t(r,function(e){t(i,function(t){Ember.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),Ember.A(r)):r}),_contentWillChange:Ember.beforeObserver(function(){var r=e(this,"content"),n=e(this,"sortProperties");r&&n&&t(r,function(e){t(n,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},"content"),sortAscendingWillChange:Ember.beforeObserver(function(){this._lastSortAscending=e(this,"sortAscending")},"sortAscending"),sortAscendingDidChange:Ember.observer(function(){if(e(this,"sortAscending")!==this._lastSortAscending){var t=e(this,"arrangedContent");t.reverseObjects()}},"sortAscending"),contentArrayWillChange:function(r,n,i,o){var s=e(this,"isSorted");if(s){var a=e(this,"arrangedContent"),u=r.slice(n,n+i),c=e(this,"sortProperties");t(u,function(e){a.removeObject(e),t(c,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(r,n,i,o)},contentArrayDidChange:function(r,n,i,o){var s=e(this,"isSorted"),a=e(this,"sortProperties");if(s){var u=r.slice(n,n+o);t(u,function(e){this.insertItemSorted(e),t(a,function(t){Ember.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(r,n,i,o)},insertItemSorted:function(t){var r=e(this,"arrangedContent"),n=e(r,"length"),i=this._binarySearch(t,0,n);r.insertAt(i,t)},contentItemSortPropertyDidChange:function(t){var r=e(this,"arrangedContent"),n=r.indexOf(t),i=r.objectAt(n-1),o=r.objectAt(n+1),s=i&&this.orderBy(t,i),a=o&&this.orderBy(t,o);(0>s||a>0)&&(r.removeObject(t),this.insertItemSorted(t))},_binarySearch:function(t,r,n){var i,o,s,a;return r===n?r:(a=e(this,"arrangedContent"),i=r+Math.floor((n-r)/2),o=a.objectAt(i),s=this.orderBy(o,t),0>s?this._binarySearch(t,i+1,n):s>0?this._binarySearch(t,r,i):i)}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils.forEach),r=Ember.EnumerableUtils.replace;Ember.ArrayController=Ember.ArrayProxy.extend(Ember.ControllerMixin,Ember.SortableMixin,{itemController:null,lookupItemController:function(){return e(this,"itemController")},objectAtContent:function(t){var r=e(this,"length"),n=e(this,"arrangedContent"),i=n&&n.objectAt(t);if(t>=0&&r>t){var o=this.lookupItemController(i);if(o)return this.controllerAt(t,i,o)}return i},arrangedContentDidChange:function(){this._super(),this._resetSubControllers()},arrayContentDidChange:function(n,i,o){var s=e(this,"_subControllers"),a=s.slice(n,n+i);t(a,function(e){e&&e.destroy()}),r(s,n,i,new Array(o)),this._super(n,i,o)},init:function(){this.get("content")||Ember.defineProperty(this,"content",void 0,Ember.A()),this._super(),this.set("_subControllers",Ember.A())},controllerAt:function(t,r,n){var i=e(this,"container"),o=e(this,"_subControllers"),s=o[t];if(s||(s=i.lookup("controller:"+n,{singleton:!1}),o[t]=s),!s)throw new Error('Could not resolve itemController: "'+n+'"');return s.set("target",this),s.set("parentController",e(this,"parentController")||this),s.set("content",r),s},_subControllers:null,_resetSubControllers:function(){var r=e(this,"_subControllers");r&&t(r,function(e){e&&e.destroy()}),this.set("_subControllers",Ember.A())}})}(),function(){Ember.ObjectController=Ember.ObjectProxy.extend(Ember.ControllerMixin)}()}(),"undefined"==typeof location||"localhost"!==location.hostname&&"127.0.0.1"!==location.hostname||Ember.Logger.warn("You are running a production build of Ember on localhost and won't receive detailed error messages. If you want full error messages please use the non-minified build provided on the Ember website.");
|
data/dist/ember-runtime.prod.js
CHANGED
@@ -89,10 +89,10 @@ Ember.toString = function() { return "Ember"; };
|
|
89
89
|
/**
|
90
90
|
@property VERSION
|
91
91
|
@type String
|
92
|
-
@default '1.0.0-rc.6'
|
92
|
+
@default '1.0.0-rc.6.1'
|
93
93
|
@final
|
94
94
|
*/
|
95
|
-
Ember.VERSION = '1.0.0-rc.6';
|
95
|
+
Ember.VERSION = '1.0.0-rc.6.1';
|
96
96
|
|
97
97
|
/**
|
98
98
|
Standard environmental variables. You can define these in a global `ENV`
|
@@ -192,16 +192,19 @@ Ember.uuid = 0;
|
|
192
192
|
//
|
193
193
|
|
194
194
|
function consoleMethod(name) {
|
195
|
-
|
195
|
+
var console = imports.console,
|
196
|
+
method = typeof console === 'object' ? console[name] : null;
|
197
|
+
|
198
|
+
if (method) {
|
196
199
|
// Older IE doesn't support apply, but Chrome needs it
|
197
|
-
if (
|
200
|
+
if (method.apply) {
|
198
201
|
return function() {
|
199
|
-
|
202
|
+
method.apply(console, arguments);
|
200
203
|
};
|
201
204
|
} else {
|
202
205
|
return function() {
|
203
206
|
var message = Array.prototype.join.call(arguments, ', ');
|
204
|
-
|
207
|
+
method(message);
|
205
208
|
};
|
206
209
|
}
|
207
210
|
}
|
@@ -213,7 +216,7 @@ function assertPolyfill(test, message) {
|
|
213
216
|
// attempt to preserve the stack
|
214
217
|
throw new Error("assertion failed: " + message);
|
215
218
|
} catch(error) {
|
216
|
-
setTimeout(function(){
|
219
|
+
setTimeout(function() {
|
217
220
|
throw error;
|
218
221
|
}, 0);
|
219
222
|
}
|
@@ -295,7 +298,7 @@ Ember.merge = function(original, updates) {
|
|
295
298
|
Ember.isNone(undefined); // true
|
296
299
|
Ember.isNone(''); // false
|
297
300
|
Ember.isNone([]); // false
|
298
|
-
Ember.isNone(function(){}); // false
|
301
|
+
Ember.isNone(function() {}); // false
|
299
302
|
```
|
300
303
|
|
301
304
|
@method isNone
|
@@ -400,7 +403,7 @@ var canRedefineProperties, canDefinePropertyOnDOM;
|
|
400
403
|
// Catch IE8 where Object.defineProperty exists but only works on DOM elements
|
401
404
|
if (defineProperty) {
|
402
405
|
try {
|
403
|
-
defineProperty({}, 'a',{get:function(){}});
|
406
|
+
defineProperty({}, 'a',{get:function() {}});
|
404
407
|
} catch (e) {
|
405
408
|
defineProperty = null;
|
406
409
|
}
|
@@ -431,7 +434,7 @@ if (defineProperty) {
|
|
431
434
|
|
432
435
|
// This is for Safari 5.0, which supports Object.defineProperty, but not
|
433
436
|
// on DOM nodes.
|
434
|
-
canDefinePropertyOnDOM = (function(){
|
437
|
+
canDefinePropertyOnDOM = (function() {
|
435
438
|
try {
|
436
439
|
defineProperty(document.createElement('div'), 'definePropertyOnDOM', {});
|
437
440
|
return true;
|
@@ -443,7 +446,7 @@ if (defineProperty) {
|
|
443
446
|
if (!canRedefineProperties) {
|
444
447
|
defineProperty = null;
|
445
448
|
} else if (!canDefinePropertyOnDOM) {
|
446
|
-
defineProperty = function(obj, keyName, desc){
|
449
|
+
defineProperty = function(obj, keyName, desc) {
|
447
450
|
var isNode;
|
448
451
|
|
449
452
|
if (typeof Node === "object") {
|
@@ -1053,7 +1056,7 @@ if (needsFinallyFix) {
|
|
1053
1056
|
} finally {
|
1054
1057
|
try {
|
1055
1058
|
finalResult = finalizer.call(binding);
|
1056
|
-
} catch (e){
|
1059
|
+
} catch (e) {
|
1057
1060
|
finalError = e;
|
1058
1061
|
}
|
1059
1062
|
}
|
@@ -1105,7 +1108,7 @@ if (needsFinallyFix) {
|
|
1105
1108
|
} finally {
|
1106
1109
|
try {
|
1107
1110
|
finalResult = finalizer.call(binding);
|
1108
|
-
} catch (e){
|
1111
|
+
} catch (e) {
|
1109
1112
|
finalError = e;
|
1110
1113
|
}
|
1111
1114
|
}
|
@@ -1304,7 +1307,7 @@ Ember.Instrumentation.instrument = function(name, payload, callback, binding) {
|
|
1304
1307
|
|
1305
1308
|
var beforeValues = [], listener, i, l;
|
1306
1309
|
|
1307
|
-
function tryable(){
|
1310
|
+
function tryable() {
|
1308
1311
|
for (i=0, l=listeners.length; i<l; i++) {
|
1309
1312
|
listener = listeners[i];
|
1310
1313
|
beforeValues[i] = listener.before(name, time(), payload);
|
@@ -1313,7 +1316,7 @@ Ember.Instrumentation.instrument = function(name, payload, callback, binding) {
|
|
1313
1316
|
return callback.call(binding);
|
1314
1317
|
}
|
1315
1318
|
|
1316
|
-
function catchable(e){
|
1319
|
+
function catchable(e) {
|
1317
1320
|
payload = payload || {};
|
1318
1321
|
payload.exception = e;
|
1319
1322
|
}
|
@@ -1831,14 +1834,10 @@ function suspendListener(obj, eventName, target, method, callback) {
|
|
1831
1834
|
/**
|
1832
1835
|
@private
|
1833
1836
|
|
1834
|
-
|
1835
|
-
|
1836
|
-
This should only be used by the target of the event listener
|
1837
|
-
when it is taking an action that would cause the event, e.g.
|
1838
|
-
an object might suspend its property change listener while it is
|
1839
|
-
setting that property.
|
1837
|
+
Suspends multiple listeners during a callback.
|
1840
1838
|
|
1841
|
-
|
1839
|
+
|
1840
|
+
@method suspendListeners
|
1842
1841
|
@for Ember
|
1843
1842
|
@param obj
|
1844
1843
|
@param {Array} eventName Array of event names
|
@@ -1900,12 +1899,17 @@ function watchedEvents(obj) {
|
|
1900
1899
|
}
|
1901
1900
|
|
1902
1901
|
/**
|
1902
|
+
Send an event. The execution of suspended listeners
|
1903
|
+
is skipped, and once listeners are removed. A listener without
|
1904
|
+
a target is executed on the passed object. If an array of actions
|
1905
|
+
is not passed, the actions stored on the passed object are invoked.
|
1906
|
+
|
1903
1907
|
@method sendEvent
|
1904
1908
|
@for Ember
|
1905
1909
|
@param obj
|
1906
1910
|
@param {String} eventName
|
1907
|
-
@param {Array} params
|
1908
|
-
@param {Array} actions
|
1911
|
+
@param {Array} params Optional parameters for each listener.
|
1912
|
+
@param {Array} actions Optional array of actions (listeners).
|
1909
1913
|
@return true
|
1910
1914
|
*/
|
1911
1915
|
function sendEvent(obj, eventName, params, actions) {
|
@@ -2239,7 +2243,7 @@ var endPropertyChanges = Ember.endPropertyChanges = function() {
|
|
2239
2243
|
@param {Function} callback
|
2240
2244
|
@param [binding]
|
2241
2245
|
*/
|
2242
|
-
Ember.changeProperties = function(cb, binding){
|
2246
|
+
Ember.changeProperties = function(cb, binding) {
|
2243
2247
|
beginPropertyChanges();
|
2244
2248
|
tryFinally(cb, endPropertyChanges, binding);
|
2245
2249
|
};
|
@@ -2268,6 +2272,7 @@ var notifyObservers = function(obj, keyName) {
|
|
2268
2272
|
sendEvent(obj, eventName, [obj, keyName]);
|
2269
2273
|
}
|
2270
2274
|
};
|
2275
|
+
|
2271
2276
|
})();
|
2272
2277
|
|
2273
2278
|
|
@@ -2442,8 +2447,7 @@ Ember.trySetPath = Ember.deprecateFunc('trySetPath has been renamed to trySet',
|
|
2442
2447
|
Map is mocked out to look like an Ember object, so you can do
|
2443
2448
|
`Ember.Map.create()` for symmetry with other Ember classes.
|
2444
2449
|
*/
|
2445
|
-
var
|
2446
|
-
set = Ember.set,
|
2450
|
+
var set = Ember.set,
|
2447
2451
|
guidFor = Ember.guidFor,
|
2448
2452
|
indexOf = Ember.ArrayPolyfills.indexOf;
|
2449
2453
|
|
@@ -2969,13 +2973,14 @@ var changeProperties = Ember.changeProperties,
|
|
2969
2973
|
@return self
|
2970
2974
|
*/
|
2971
2975
|
Ember.setProperties = function(self, hash) {
|
2972
|
-
changeProperties(function(){
|
2976
|
+
changeProperties(function() {
|
2973
2977
|
for(var prop in hash) {
|
2974
2978
|
if (hash.hasOwnProperty(prop)) { set(self, prop, hash[prop]); }
|
2975
2979
|
}
|
2976
2980
|
});
|
2977
2981
|
return self;
|
2978
2982
|
};
|
2983
|
+
|
2979
2984
|
})();
|
2980
2985
|
|
2981
2986
|
|
@@ -3831,7 +3836,7 @@ ComputedPropertyPrototype.set = function(obj, keyName, value) {
|
|
3831
3836
|
oldSuspended = this._suspended,
|
3832
3837
|
hadCachedValue = false,
|
3833
3838
|
cache = meta.cache,
|
3834
|
-
cachedValue, ret;
|
3839
|
+
funcArgLength, cachedValue, ret;
|
3835
3840
|
|
3836
3841
|
if (this._readOnly) {
|
3837
3842
|
throw new Error('Cannot Set: ' + keyName + ' on: ' + obj.toString() );
|
@@ -3846,17 +3851,18 @@ ComputedPropertyPrototype.set = function(obj, keyName, value) {
|
|
3846
3851
|
hadCachedValue = true;
|
3847
3852
|
}
|
3848
3853
|
|
3849
|
-
// Check if the CP has been wrapped
|
3850
|
-
|
3854
|
+
// Check if the CP has been wrapped. If if has, use the
|
3855
|
+
// length from the wrapped function.
|
3856
|
+
funcArgLength = (func.wrappedFunction ? func.wrappedFunction.length : func.length);
|
3851
3857
|
|
3852
3858
|
// For backwards-compatibility with computed properties
|
3853
3859
|
// that check for arguments.length === 2 to determine if
|
3854
3860
|
// they are being get or set, only pass the old cached
|
3855
3861
|
// value if the computed property opts into a third
|
3856
3862
|
// argument.
|
3857
|
-
if (
|
3863
|
+
if (funcArgLength === 3) {
|
3858
3864
|
ret = func.call(obj, keyName, value, cachedValue);
|
3859
|
-
} else if (
|
3865
|
+
} else if (funcArgLength === 2) {
|
3860
3866
|
ret = func.call(obj, keyName, value);
|
3861
3867
|
} else {
|
3862
3868
|
Ember.defineProperty(obj, keyName, null, cachedValue);
|
@@ -3930,7 +3936,7 @@ Ember.computed = function(func) {
|
|
3930
3936
|
func = a_slice.call(arguments, -1)[0];
|
3931
3937
|
}
|
3932
3938
|
|
3933
|
-
if (
|
3939
|
+
if (typeof func !== "function") {
|
3934
3940
|
throw new Error("Computed Property declared without a property function");
|
3935
3941
|
}
|
3936
3942
|
|
@@ -4020,7 +4026,7 @@ registerComputed('notEmpty', function(dependentKey) {
|
|
4020
4026
|
@for Ember
|
4021
4027
|
@param {String} dependentKey
|
4022
4028
|
@return {Ember.ComputedProperty} computed property which
|
4023
|
-
|
4029
|
+
returns true if original value for property is null or undefined.
|
4024
4030
|
*/
|
4025
4031
|
registerComputed('none', function(dependentKey) {
|
4026
4032
|
return Ember.isNone(get(this, dependentKey));
|
@@ -4191,6 +4197,23 @@ registerComputedWithProperties('map', function(properties) {
|
|
4191
4197
|
});
|
4192
4198
|
|
4193
4199
|
/**
|
4200
|
+
Creates a new property that is an alias for another property
|
4201
|
+
on an object. Calls to `get` or `set` this property behave as
|
4202
|
+
though they were called on the original property.
|
4203
|
+
|
4204
|
+
```javascript
|
4205
|
+
Person = Ember.Object.extend({
|
4206
|
+
name: 'Alex Matchneer',
|
4207
|
+
nomen: Ember.computed.alias('name')
|
4208
|
+
});
|
4209
|
+
|
4210
|
+
alex = Person.create();
|
4211
|
+
alex.get('nomen'); // 'Alex Matchneer'
|
4212
|
+
alex.get('name'); // 'Alex Matchneer'
|
4213
|
+
|
4214
|
+
alex.set('nomen', '@machty');
|
4215
|
+
alex.get('name'); // '@machty'
|
4216
|
+
```
|
4194
4217
|
@method computed.alias
|
4195
4218
|
@for Ember
|
4196
4219
|
@param {String} dependentKey
|
@@ -4198,7 +4221,7 @@ registerComputedWithProperties('map', function(properties) {
|
|
4198
4221
|
alias to the original value for property.
|
4199
4222
|
*/
|
4200
4223
|
Ember.computed.alias = function(dependentKey) {
|
4201
|
-
return Ember.computed(dependentKey, function(key, value){
|
4224
|
+
return Ember.computed(dependentKey, function(key, value) {
|
4202
4225
|
if (arguments.length > 1) {
|
4203
4226
|
set(this, dependentKey, value);
|
4204
4227
|
return value;
|
@@ -4375,6 +4398,220 @@ Ember.removeBeforeObserver = function(obj, path, target, method) {
|
|
4375
4398
|
|
4376
4399
|
|
4377
4400
|
(function() {
|
4401
|
+
define("backburner/queue",
|
4402
|
+
["exports"],
|
4403
|
+
function(__exports__) {
|
4404
|
+
"use strict";
|
4405
|
+
function Queue(daq, name, options) {
|
4406
|
+
this.daq = daq;
|
4407
|
+
this.name = name;
|
4408
|
+
this.options = options;
|
4409
|
+
this._queue = [];
|
4410
|
+
}
|
4411
|
+
|
4412
|
+
Queue.prototype = {
|
4413
|
+
daq: null,
|
4414
|
+
name: null,
|
4415
|
+
options: null,
|
4416
|
+
_queue: null,
|
4417
|
+
|
4418
|
+
push: function(target, method, args, stack) {
|
4419
|
+
var queue = this._queue;
|
4420
|
+
queue.push(target, method, args, stack);
|
4421
|
+
return {queue: this, target: target, method: method};
|
4422
|
+
},
|
4423
|
+
|
4424
|
+
pushUnique: function(target, method, args, stack) {
|
4425
|
+
var queue = this._queue, currentTarget, currentMethod, i, l;
|
4426
|
+
|
4427
|
+
for (i = 0, l = queue.length; i < l; i += 4) {
|
4428
|
+
currentTarget = queue[i];
|
4429
|
+
currentMethod = queue[i+1];
|
4430
|
+
|
4431
|
+
if (currentTarget === target && currentMethod === method) {
|
4432
|
+
queue[i+2] = args; // replace args
|
4433
|
+
queue[i+3] = stack; // replace stack
|
4434
|
+
return {queue: this, target: target, method: method}; // TODO: test this code path
|
4435
|
+
}
|
4436
|
+
}
|
4437
|
+
|
4438
|
+
this._queue.push(target, method, args, stack);
|
4439
|
+
return {queue: this, target: target, method: method};
|
4440
|
+
},
|
4441
|
+
|
4442
|
+
// TODO: remove me, only being used for Ember.run.sync
|
4443
|
+
flush: function() {
|
4444
|
+
var queue = this._queue,
|
4445
|
+
options = this.options,
|
4446
|
+
before = options && options.before,
|
4447
|
+
after = options && options.after,
|
4448
|
+
target, method, args, stack, i, l = queue.length;
|
4449
|
+
|
4450
|
+
if (l && before) { before(); }
|
4451
|
+
for (i = 0; i < l; i += 4) {
|
4452
|
+
target = queue[i];
|
4453
|
+
method = queue[i+1];
|
4454
|
+
args = queue[i+2];
|
4455
|
+
stack = queue[i+3]; // Debugging assistance
|
4456
|
+
|
4457
|
+
// TODO: error handling
|
4458
|
+
if (args && args.length > 0) {
|
4459
|
+
method.apply(target, args);
|
4460
|
+
} else {
|
4461
|
+
method.call(target);
|
4462
|
+
}
|
4463
|
+
}
|
4464
|
+
if (l && after) { after(); }
|
4465
|
+
|
4466
|
+
// check if new items have been added
|
4467
|
+
if (queue.length > l) {
|
4468
|
+
this._queue = queue.slice(l);
|
4469
|
+
this.flush();
|
4470
|
+
} else {
|
4471
|
+
this._queue.length = 0;
|
4472
|
+
}
|
4473
|
+
},
|
4474
|
+
|
4475
|
+
cancel: function(actionToCancel) {
|
4476
|
+
var queue = this._queue, currentTarget, currentMethod, i, l;
|
4477
|
+
|
4478
|
+
for (i = 0, l = queue.length; i < l; i += 4) {
|
4479
|
+
currentTarget = queue[i];
|
4480
|
+
currentMethod = queue[i+1];
|
4481
|
+
|
4482
|
+
if (currentTarget === actionToCancel.target && currentMethod === actionToCancel.method) {
|
4483
|
+
queue.splice(i, 4);
|
4484
|
+
return true;
|
4485
|
+
}
|
4486
|
+
}
|
4487
|
+
|
4488
|
+
// if not found in current queue
|
4489
|
+
// could be in the queue that is being flushed
|
4490
|
+
queue = this._queueBeingFlushed;
|
4491
|
+
if (!queue) {
|
4492
|
+
return;
|
4493
|
+
}
|
4494
|
+
for (i = 0, l = queue.length; i < l; i += 4) {
|
4495
|
+
currentTarget = queue[i];
|
4496
|
+
currentMethod = queue[i+1];
|
4497
|
+
|
4498
|
+
if (currentTarget === actionToCancel.target && currentMethod === actionToCancel.method) {
|
4499
|
+
// don't mess with array during flush
|
4500
|
+
// just nullify the method
|
4501
|
+
queue[i+1] = null;
|
4502
|
+
return true;
|
4503
|
+
}
|
4504
|
+
}
|
4505
|
+
}
|
4506
|
+
};
|
4507
|
+
|
4508
|
+
|
4509
|
+
__exports__.Queue = Queue;
|
4510
|
+
});
|
4511
|
+
|
4512
|
+
define("backburner/deferred_action_queues",
|
4513
|
+
["backburner/queue","exports"],
|
4514
|
+
function(__dependency1__, __exports__) {
|
4515
|
+
"use strict";
|
4516
|
+
var Queue = __dependency1__.Queue;
|
4517
|
+
|
4518
|
+
function DeferredActionQueues(queueNames, options) {
|
4519
|
+
var queues = this.queues = {};
|
4520
|
+
this.queueNames = queueNames = queueNames || [];
|
4521
|
+
|
4522
|
+
var queueName;
|
4523
|
+
for (var i = 0, l = queueNames.length; i < l; i++) {
|
4524
|
+
queueName = queueNames[i];
|
4525
|
+
queues[queueName] = new Queue(this, queueName, options[queueName]);
|
4526
|
+
}
|
4527
|
+
}
|
4528
|
+
|
4529
|
+
DeferredActionQueues.prototype = {
|
4530
|
+
queueNames: null,
|
4531
|
+
queues: null,
|
4532
|
+
|
4533
|
+
schedule: function(queueName, target, method, args, onceFlag, stack) {
|
4534
|
+
var queues = this.queues,
|
4535
|
+
queue = queues[queueName];
|
4536
|
+
|
4537
|
+
if (!queue) { throw new Error("You attempted to schedule an action in a queue (" + queueName + ") that doesn't exist"); }
|
4538
|
+
|
4539
|
+
if (onceFlag) {
|
4540
|
+
return queue.pushUnique(target, method, args, stack);
|
4541
|
+
} else {
|
4542
|
+
return queue.push(target, method, args, stack);
|
4543
|
+
}
|
4544
|
+
},
|
4545
|
+
|
4546
|
+
flush: function() {
|
4547
|
+
var queues = this.queues,
|
4548
|
+
queueNames = this.queueNames,
|
4549
|
+
queueName, queue, queueItems, priorQueueNameIndex,
|
4550
|
+
queueNameIndex = 0, numberOfQueues = queueNames.length;
|
4551
|
+
|
4552
|
+
outerloop:
|
4553
|
+
while (queueNameIndex < numberOfQueues) {
|
4554
|
+
queueName = queueNames[queueNameIndex];
|
4555
|
+
queue = queues[queueName];
|
4556
|
+
queueItems = queue._queueBeingFlushed = queue._queue.slice();
|
4557
|
+
queue._queue = [];
|
4558
|
+
|
4559
|
+
var options = queue.options,
|
4560
|
+
before = options && options.before,
|
4561
|
+
after = options && options.after,
|
4562
|
+
target, method, args, stack,
|
4563
|
+
queueIndex = 0, numberOfQueueItems = queueItems.length;
|
4564
|
+
|
4565
|
+
if (numberOfQueueItems && before) { before(); }
|
4566
|
+
while (queueIndex < numberOfQueueItems) {
|
4567
|
+
target = queueItems[queueIndex];
|
4568
|
+
method = queueItems[queueIndex+1];
|
4569
|
+
args = queueItems[queueIndex+2];
|
4570
|
+
stack = queueItems[queueIndex+3]; // Debugging assistance
|
4571
|
+
|
4572
|
+
if (typeof method === 'string') { method = target[method]; }
|
4573
|
+
|
4574
|
+
// method could have been nullified / canceled during flush
|
4575
|
+
if (method) {
|
4576
|
+
// TODO: error handling
|
4577
|
+
if (args && args.length > 0) {
|
4578
|
+
method.apply(target, args);
|
4579
|
+
} else {
|
4580
|
+
method.call(target);
|
4581
|
+
}
|
4582
|
+
}
|
4583
|
+
|
4584
|
+
queueIndex += 4;
|
4585
|
+
}
|
4586
|
+
queue._queueBeingFlushed = null;
|
4587
|
+
if (numberOfQueueItems && after) { after(); }
|
4588
|
+
|
4589
|
+
if ((priorQueueNameIndex = indexOfPriorQueueWithActions(this, queueNameIndex)) !== -1) {
|
4590
|
+
queueNameIndex = priorQueueNameIndex;
|
4591
|
+
continue outerloop;
|
4592
|
+
}
|
4593
|
+
|
4594
|
+
queueNameIndex++;
|
4595
|
+
}
|
4596
|
+
}
|
4597
|
+
};
|
4598
|
+
|
4599
|
+
function indexOfPriorQueueWithActions(daq, currentQueueIndex) {
|
4600
|
+
var queueName, queue;
|
4601
|
+
|
4602
|
+
for (var i = 0, l = currentQueueIndex; i <= l; i++) {
|
4603
|
+
queueName = daq.queueNames[i];
|
4604
|
+
queue = daq.queues[queueName];
|
4605
|
+
if (queue._queue.length) { return i; }
|
4606
|
+
}
|
4607
|
+
|
4608
|
+
return -1;
|
4609
|
+
}
|
4610
|
+
|
4611
|
+
|
4612
|
+
__exports__.DeferredActionQueues = DeferredActionQueues;
|
4613
|
+
});
|
4614
|
+
|
4378
4615
|
define("backburner",
|
4379
4616
|
["backburner/deferred_action_queues","exports"],
|
4380
4617
|
function(__dependency1__, __exports__) {
|
@@ -4383,9 +4620,11 @@ define("backburner",
|
|
4383
4620
|
|
4384
4621
|
var slice = [].slice,
|
4385
4622
|
pop = [].pop,
|
4623
|
+
throttlers = [],
|
4386
4624
|
debouncees = [],
|
4387
4625
|
timers = [],
|
4388
|
-
autorun, laterTimer, laterTimerExpiresAt
|
4626
|
+
autorun, laterTimer, laterTimerExpiresAt,
|
4627
|
+
global = this;
|
4389
4628
|
|
4390
4629
|
function Backburner(queueNames, options) {
|
4391
4630
|
this.queueNames = queueNames;
|
@@ -4542,7 +4781,7 @@ define("backburner",
|
|
4542
4781
|
clearTimeout(laterTimer);
|
4543
4782
|
laterTimer = null;
|
4544
4783
|
}
|
4545
|
-
laterTimer =
|
4784
|
+
laterTimer = global.setTimeout(function() {
|
4546
4785
|
executeTimers(self);
|
4547
4786
|
laterTimer = null;
|
4548
4787
|
laterTimerExpiresAt = null;
|
@@ -4552,38 +4791,86 @@ define("backburner",
|
|
4552
4791
|
return fn;
|
4553
4792
|
},
|
4554
4793
|
|
4555
|
-
|
4794
|
+
throttle: function(target, method /* , args, wait */) {
|
4556
4795
|
var self = this,
|
4557
4796
|
args = arguments,
|
4558
4797
|
wait = pop.call(args),
|
4559
|
-
|
4798
|
+
throttler;
|
4560
4799
|
|
4561
|
-
for (var i = 0, l =
|
4562
|
-
|
4563
|
-
if (
|
4800
|
+
for (var i = 0, l = throttlers.length; i < l; i++) {
|
4801
|
+
throttler = throttlers[i];
|
4802
|
+
if (throttler[0] === target && throttler[1] === method) { return; } // do nothing
|
4564
4803
|
}
|
4565
4804
|
|
4566
|
-
var timer =
|
4805
|
+
var timer = global.setTimeout(function() {
|
4567
4806
|
self.run.apply(self, args);
|
4568
4807
|
|
4569
|
-
// remove
|
4808
|
+
// remove throttler
|
4570
4809
|
var index = -1;
|
4571
|
-
for (var i = 0, l =
|
4572
|
-
|
4573
|
-
if (
|
4810
|
+
for (var i = 0, l = throttlers.length; i < l; i++) {
|
4811
|
+
throttler = throttlers[i];
|
4812
|
+
if (throttler[0] === target && throttler[1] === method) {
|
4574
4813
|
index = i;
|
4575
4814
|
break;
|
4576
4815
|
}
|
4577
4816
|
}
|
4578
4817
|
|
4579
|
-
if (index > -1) {
|
4818
|
+
if (index > -1) { throttlers.splice(index, 1); }
|
4580
4819
|
}, wait);
|
4581
4820
|
|
4821
|
+
throttlers.push([target, method, timer]);
|
4822
|
+
},
|
4823
|
+
|
4824
|
+
debounce: function(target, method /* , args, wait, [immediate] */) {
|
4825
|
+
var self = this,
|
4826
|
+
args = arguments,
|
4827
|
+
immediate = pop.call(args),
|
4828
|
+
wait,
|
4829
|
+
index,
|
4830
|
+
debouncee;
|
4831
|
+
|
4832
|
+
if (typeof immediate === "number") {
|
4833
|
+
wait = immediate;
|
4834
|
+
immediate = false;
|
4835
|
+
} else {
|
4836
|
+
wait = pop.call(args);
|
4837
|
+
}
|
4838
|
+
|
4839
|
+
// Remove debouncee
|
4840
|
+
index = findDebouncee(target, method);
|
4841
|
+
|
4842
|
+
if (index !== -1) {
|
4843
|
+
debouncee = debouncees[index];
|
4844
|
+
debouncees.splice(index, 1);
|
4845
|
+
clearTimeout(debouncee[2]);
|
4846
|
+
}
|
4847
|
+
|
4848
|
+
var timer = window.setTimeout(function() {
|
4849
|
+
if (!immediate) {
|
4850
|
+
self.run.apply(self, args);
|
4851
|
+
}
|
4852
|
+
index = findDebouncee(target, method);
|
4853
|
+
if (index) {
|
4854
|
+
debouncees.splice(index, 1);
|
4855
|
+
}
|
4856
|
+
}, wait);
|
4857
|
+
|
4858
|
+
if (immediate && index === -1) {
|
4859
|
+
self.run.apply(self, args);
|
4860
|
+
}
|
4861
|
+
|
4582
4862
|
debouncees.push([target, method, timer]);
|
4583
4863
|
},
|
4584
4864
|
|
4585
4865
|
cancelTimers: function() {
|
4586
|
-
|
4866
|
+
var i, len;
|
4867
|
+
|
4868
|
+
for (i = 0, len = throttlers.length; i < len; i++) {
|
4869
|
+
clearTimeout(throttlers[i][2]);
|
4870
|
+
}
|
4871
|
+
throttlers = [];
|
4872
|
+
|
4873
|
+
for (i = 0, len = debouncees.length; i < len; i++) {
|
4587
4874
|
clearTimeout(debouncees[i][2]);
|
4588
4875
|
}
|
4589
4876
|
debouncees = [];
|
@@ -4626,7 +4913,7 @@ define("backburner",
|
|
4626
4913
|
|
4627
4914
|
function createAutorun(backburner) {
|
4628
4915
|
backburner.begin();
|
4629
|
-
autorun =
|
4916
|
+
autorun = global.setTimeout(function() {
|
4630
4917
|
backburner.end();
|
4631
4918
|
autorun = null;
|
4632
4919
|
});
|
@@ -4645,237 +4932,38 @@ define("backburner",
|
|
4645
4932
|
|
4646
4933
|
fns = timers.splice(0, i);
|
4647
4934
|
|
4648
|
-
for (i = 1, l = fns.length; i < l; i += 2) {
|
4649
|
-
self.schedule(self.options.defaultQueue, null, fns[i]);
|
4650
|
-
}
|
4651
|
-
});
|
4652
|
-
|
4653
|
-
if (timers.length) {
|
4654
|
-
laterTimer = window.setTimeout(function() {
|
4655
|
-
executeTimers(self);
|
4656
|
-
laterTimer = null;
|
4657
|
-
laterTimerExpiresAt = null;
|
4658
|
-
}, timers[0] - now);
|
4659
|
-
laterTimerExpiresAt = timers[0];
|
4660
|
-
}
|
4661
|
-
}
|
4662
|
-
|
4663
|
-
|
4664
|
-
__exports__.Backburner = Backburner;
|
4665
|
-
});
|
4666
|
-
|
4667
|
-
define("backburner/deferred_action_queues",
|
4668
|
-
["backburner/queue","exports"],
|
4669
|
-
function(__dependency1__, __exports__) {
|
4670
|
-
"use strict";
|
4671
|
-
var Queue = __dependency1__.Queue;
|
4672
|
-
|
4673
|
-
function DeferredActionQueues(queueNames, options) {
|
4674
|
-
var queues = this.queues = {};
|
4675
|
-
this.queueNames = queueNames = queueNames || [];
|
4676
|
-
|
4677
|
-
var queueName;
|
4678
|
-
for (var i = 0, l = queueNames.length; i < l; i++) {
|
4679
|
-
queueName = queueNames[i];
|
4680
|
-
queues[queueName] = new Queue(this, queueName, options[queueName]);
|
4681
|
-
}
|
4682
|
-
}
|
4683
|
-
|
4684
|
-
DeferredActionQueues.prototype = {
|
4685
|
-
queueNames: null,
|
4686
|
-
queues: null,
|
4687
|
-
|
4688
|
-
schedule: function(queueName, target, method, args, onceFlag, stack) {
|
4689
|
-
var queues = this.queues,
|
4690
|
-
queue = queues[queueName];
|
4691
|
-
|
4692
|
-
if (!queue) { throw new Error("You attempted to schedule an action in a queue (" + queueName + ") that doesn't exist"); }
|
4693
|
-
|
4694
|
-
if (onceFlag) {
|
4695
|
-
return queue.pushUnique(target, method, args, stack);
|
4696
|
-
} else {
|
4697
|
-
return queue.push(target, method, args, stack);
|
4698
|
-
}
|
4699
|
-
},
|
4700
|
-
|
4701
|
-
flush: function() {
|
4702
|
-
var queues = this.queues,
|
4703
|
-
queueNames = this.queueNames,
|
4704
|
-
queueName, queue, queueItems, priorQueueNameIndex,
|
4705
|
-
queueNameIndex = 0, numberOfQueues = queueNames.length;
|
4706
|
-
|
4707
|
-
outerloop:
|
4708
|
-
while (queueNameIndex < numberOfQueues) {
|
4709
|
-
queueName = queueNames[queueNameIndex];
|
4710
|
-
queue = queues[queueName];
|
4711
|
-
queueItems = queue._queueBeingFlushed = queue._queue.slice();
|
4712
|
-
queue._queue = [];
|
4713
|
-
|
4714
|
-
var options = queue.options,
|
4715
|
-
before = options && options.before,
|
4716
|
-
after = options && options.after,
|
4717
|
-
target, method, args, stack,
|
4718
|
-
queueIndex = 0, numberOfQueueItems = queueItems.length;
|
4719
|
-
|
4720
|
-
if (numberOfQueueItems && before) { before(); }
|
4721
|
-
while (queueIndex < numberOfQueueItems) {
|
4722
|
-
target = queueItems[queueIndex];
|
4723
|
-
method = queueItems[queueIndex+1];
|
4724
|
-
args = queueItems[queueIndex+2];
|
4725
|
-
stack = queueItems[queueIndex+3]; // Debugging assistance
|
4726
|
-
|
4727
|
-
if (typeof method === 'string') { method = target[method]; }
|
4728
|
-
|
4729
|
-
// method could have been nullified / canceled during flush
|
4730
|
-
if (method) {
|
4731
|
-
// TODO: error handling
|
4732
|
-
if (args && args.length > 0) {
|
4733
|
-
method.apply(target, args);
|
4734
|
-
} else {
|
4735
|
-
method.call(target);
|
4736
|
-
}
|
4737
|
-
}
|
4738
|
-
|
4739
|
-
queueIndex += 4;
|
4740
|
-
}
|
4741
|
-
queue._queueBeingFlushed = null;
|
4742
|
-
if (numberOfQueueItems && after) { after(); }
|
4743
|
-
|
4744
|
-
if ((priorQueueNameIndex = indexOfPriorQueueWithActions(this, queueNameIndex)) !== -1) {
|
4745
|
-
queueNameIndex = priorQueueNameIndex;
|
4746
|
-
continue outerloop;
|
4747
|
-
}
|
4748
|
-
|
4749
|
-
queueNameIndex++;
|
4750
|
-
}
|
4751
|
-
}
|
4752
|
-
};
|
4753
|
-
|
4754
|
-
function indexOfPriorQueueWithActions(daq, currentQueueIndex) {
|
4755
|
-
var queueName, queue;
|
4756
|
-
|
4757
|
-
for (var i = 0, l = currentQueueIndex; i <= l; i++) {
|
4758
|
-
queueName = daq.queueNames[i];
|
4759
|
-
queue = daq.queues[queueName];
|
4760
|
-
if (queue._queue.length) { return i; }
|
4761
|
-
}
|
4762
|
-
|
4763
|
-
return -1;
|
4764
|
-
}
|
4765
|
-
|
4766
|
-
|
4767
|
-
__exports__.DeferredActionQueues = DeferredActionQueues;
|
4768
|
-
});
|
4769
|
-
|
4770
|
-
define("backburner/queue",
|
4771
|
-
["exports"],
|
4772
|
-
function(__exports__) {
|
4773
|
-
"use strict";
|
4774
|
-
function Queue(daq, name, options) {
|
4775
|
-
this.daq = daq;
|
4776
|
-
this.name = name;
|
4777
|
-
this.options = options;
|
4778
|
-
this._queue = [];
|
4779
|
-
}
|
4780
|
-
|
4781
|
-
Queue.prototype = {
|
4782
|
-
daq: null,
|
4783
|
-
name: null,
|
4784
|
-
options: null,
|
4785
|
-
_queue: null,
|
4786
|
-
|
4787
|
-
push: function(target, method, args, stack) {
|
4788
|
-
var queue = this._queue;
|
4789
|
-
queue.push(target, method, args, stack);
|
4790
|
-
return {queue: this, target: target, method: method};
|
4791
|
-
},
|
4792
|
-
|
4793
|
-
pushUnique: function(target, method, args, stack) {
|
4794
|
-
var queue = this._queue, currentTarget, currentMethod, i, l;
|
4795
|
-
|
4796
|
-
for (i = 0, l = queue.length; i < l; i += 4) {
|
4797
|
-
currentTarget = queue[i];
|
4798
|
-
currentMethod = queue[i+1];
|
4799
|
-
|
4800
|
-
if (currentTarget === target && currentMethod === method) {
|
4801
|
-
queue[i+2] = args; // replace args
|
4802
|
-
queue[i+3] = stack; // replace stack
|
4803
|
-
return {queue: this, target: target, method: method}; // TODO: test this code path
|
4804
|
-
}
|
4805
|
-
}
|
4806
|
-
|
4807
|
-
this._queue.push(target, method, args, stack);
|
4808
|
-
return {queue: this, target: target, method: method};
|
4809
|
-
},
|
4810
|
-
|
4811
|
-
// TODO: remove me, only being used for Ember.run.sync
|
4812
|
-
flush: function() {
|
4813
|
-
var queue = this._queue,
|
4814
|
-
options = this.options,
|
4815
|
-
before = options && options.before,
|
4816
|
-
after = options && options.after,
|
4817
|
-
target, method, args, stack, i, l = queue.length;
|
4818
|
-
|
4819
|
-
if (l && before) { before(); }
|
4820
|
-
for (i = 0; i < l; i += 4) {
|
4821
|
-
target = queue[i];
|
4822
|
-
method = queue[i+1];
|
4823
|
-
args = queue[i+2];
|
4824
|
-
stack = queue[i+3]; // Debugging assistance
|
4825
|
-
|
4826
|
-
// TODO: error handling
|
4827
|
-
if (args && args.length > 0) {
|
4828
|
-
method.apply(target, args);
|
4829
|
-
} else {
|
4830
|
-
method.call(target);
|
4831
|
-
}
|
4832
|
-
}
|
4833
|
-
if (l && after) { after(); }
|
4834
|
-
|
4835
|
-
// check if new items have been added
|
4836
|
-
if (queue.length > l) {
|
4837
|
-
this._queue = queue.slice(l);
|
4838
|
-
this.flush();
|
4839
|
-
} else {
|
4840
|
-
this._queue.length = 0;
|
4841
|
-
}
|
4842
|
-
},
|
4843
|
-
|
4844
|
-
cancel: function(actionToCancel) {
|
4845
|
-
var queue = this._queue, currentTarget, currentMethod, i, l;
|
4846
|
-
|
4847
|
-
for (i = 0, l = queue.length; i < l; i += 4) {
|
4848
|
-
currentTarget = queue[i];
|
4849
|
-
currentMethod = queue[i+1];
|
4850
|
-
|
4851
|
-
if (currentTarget === actionToCancel.target && currentMethod === actionToCancel.method) {
|
4852
|
-
queue.splice(i, 4);
|
4853
|
-
return true;
|
4854
|
-
}
|
4855
|
-
}
|
4856
|
-
|
4857
|
-
// if not found in current queue
|
4858
|
-
// could be in the queue that is being flushed
|
4859
|
-
queue = this._queueBeingFlushed;
|
4860
|
-
if (!queue) {
|
4861
|
-
return;
|
4935
|
+
for (i = 1, l = fns.length; i < l; i += 2) {
|
4936
|
+
self.schedule(self.options.defaultQueue, null, fns[i]);
|
4862
4937
|
}
|
4863
|
-
|
4864
|
-
currentTarget = queue[i];
|
4865
|
-
currentMethod = queue[i+1];
|
4938
|
+
});
|
4866
4939
|
|
4867
|
-
|
4868
|
-
|
4869
|
-
|
4870
|
-
|
4871
|
-
|
4872
|
-
|
4940
|
+
if (timers.length) {
|
4941
|
+
laterTimer = global.setTimeout(function() {
|
4942
|
+
executeTimers(self);
|
4943
|
+
laterTimer = null;
|
4944
|
+
laterTimerExpiresAt = null;
|
4945
|
+
}, timers[0] - now);
|
4946
|
+
laterTimerExpiresAt = timers[0];
|
4947
|
+
}
|
4948
|
+
}
|
4949
|
+
|
4950
|
+
function findDebouncee(target, method) {
|
4951
|
+
var debouncee,
|
4952
|
+
index = -1;
|
4953
|
+
|
4954
|
+
for (var i = 0, l = debouncees.length; i < l; i++) {
|
4955
|
+
debouncee = debouncees[i];
|
4956
|
+
if (debouncee[0] === target && debouncee[1] === method) {
|
4957
|
+
index = i;
|
4958
|
+
break;
|
4873
4959
|
}
|
4874
4960
|
}
|
4875
|
-
|
4961
|
+
|
4962
|
+
return index;
|
4963
|
+
}
|
4876
4964
|
|
4877
4965
|
|
4878
|
-
__exports__.
|
4966
|
+
__exports__.Backburner = Backburner;
|
4879
4967
|
});
|
4880
4968
|
})();
|
4881
4969
|
|
@@ -4917,7 +5005,7 @@ var Backburner = requireModule('backburner').Backburner,
|
|
4917
5005
|
call.
|
4918
5006
|
|
4919
5007
|
```javascript
|
4920
|
-
Ember.run(function(){
|
5008
|
+
Ember.run(function() {
|
4921
5009
|
// code to be execute within a RunLoop
|
4922
5010
|
});
|
4923
5011
|
```
|
@@ -4960,7 +5048,7 @@ Ember.run = function(target, method) {
|
|
4960
5048
|
If invoked when not within a run loop:
|
4961
5049
|
|
4962
5050
|
```javascript
|
4963
|
-
Ember.run.join(function(){
|
5051
|
+
Ember.run.join(function() {
|
4964
5052
|
// creates a new run-loop
|
4965
5053
|
});
|
4966
5054
|
```
|
@@ -4968,9 +5056,9 @@ Ember.run = function(target, method) {
|
|
4968
5056
|
Alternatively, if called within an existing run loop:
|
4969
5057
|
|
4970
5058
|
```javascript
|
4971
|
-
Ember.run(function(){
|
5059
|
+
Ember.run(function() {
|
4972
5060
|
// creates a new run-loop
|
4973
|
-
Ember.run.join(function(){
|
5061
|
+
Ember.run.join(function() {
|
4974
5062
|
// joins with the existing run-loop, and queues for invocation on
|
4975
5063
|
// the existing run-loops action queue.
|
4976
5064
|
});
|
@@ -5063,12 +5151,12 @@ Ember.run.end = function() {
|
|
5063
5151
|
the `Ember.run.queues` property.
|
5064
5152
|
|
5065
5153
|
```javascript
|
5066
|
-
Ember.run.schedule('sync', this, function(){
|
5154
|
+
Ember.run.schedule('sync', this, function() {
|
5067
5155
|
// this will be executed in the first RunLoop queue, when bindings are synced
|
5068
5156
|
console.log("scheduled on sync queue");
|
5069
5157
|
});
|
5070
5158
|
|
5071
|
-
Ember.run.schedule('actions', this, function(){
|
5159
|
+
Ember.run.schedule('actions', this, function() {
|
5072
5160
|
// this will be executed in the 'actions' queue, after bindings have synced.
|
5073
5161
|
console.log("scheduled on actions queue");
|
5074
5162
|
});
|
@@ -5136,7 +5224,7 @@ Ember.run.sync = function() {
|
|
5136
5224
|
together, which is often more efficient than using a real setTimeout.
|
5137
5225
|
|
5138
5226
|
```javascript
|
5139
|
-
Ember.run.later(myContext, function(){
|
5227
|
+
Ember.run.later(myContext, function() {
|
5140
5228
|
// code here will execute within a RunLoop in about 500ms with this == myContext
|
5141
5229
|
}, 500);
|
5142
5230
|
```
|
@@ -5184,11 +5272,11 @@ Ember.run.once = function(target, method) {
|
|
5184
5272
|
calls.
|
5185
5273
|
|
5186
5274
|
```javascript
|
5187
|
-
Ember.run(function(){
|
5275
|
+
Ember.run(function() {
|
5188
5276
|
var sayHi = function() { console.log('hi'); }
|
5189
5277
|
Ember.run.scheduleOnce('afterRender', myContext, sayHi);
|
5190
5278
|
Ember.run.scheduleOnce('afterRender', myContext, sayHi);
|
5191
|
-
//
|
5279
|
+
// sayHi will only be executed once, in the afterRender queue of the RunLoop
|
5192
5280
|
});
|
5193
5281
|
```
|
5194
5282
|
|
@@ -5229,7 +5317,7 @@ Ember.run.scheduleOnce = function(queue, target, method) {
|
|
5229
5317
|
`Ember.run.later` with a wait time of 1ms.
|
5230
5318
|
|
5231
5319
|
```javascript
|
5232
|
-
Ember.run.next(myContext, function(){
|
5320
|
+
Ember.run.next(myContext, function() {
|
5233
5321
|
// code to be executed in the next run loop, which will be scheduled after the current one
|
5234
5322
|
});
|
5235
5323
|
```
|
@@ -5291,17 +5379,17 @@ Ember.run.next = function() {
|
|
5291
5379
|
`Ember.run.once()`, or `Ember.run.next()`.
|
5292
5380
|
|
5293
5381
|
```javascript
|
5294
|
-
var runNext = Ember.run.next(myContext, function(){
|
5382
|
+
var runNext = Ember.run.next(myContext, function() {
|
5295
5383
|
// will not be executed
|
5296
5384
|
});
|
5297
5385
|
Ember.run.cancel(runNext);
|
5298
5386
|
|
5299
|
-
var runLater = Ember.run.later(myContext, function(){
|
5387
|
+
var runLater = Ember.run.later(myContext, function() {
|
5300
5388
|
// will not be executed
|
5301
5389
|
}, 500);
|
5302
5390
|
Ember.run.cancel(runLater);
|
5303
5391
|
|
5304
|
-
var runOnce = Ember.run.once(myContext, function(){
|
5392
|
+
var runOnce = Ember.run.once(myContext, function() {
|
5305
5393
|
// will not be executed
|
5306
5394
|
});
|
5307
5395
|
Ember.run.cancel(runOnce);
|
@@ -5316,8 +5404,15 @@ Ember.run.cancel = function(timer) {
|
|
5316
5404
|
};
|
5317
5405
|
|
5318
5406
|
/**
|
5319
|
-
|
5320
|
-
|
5407
|
+
Delay calling the target method until the debounce period has elapsed
|
5408
|
+
with no additional debounce calls. If `debounce` is called again before
|
5409
|
+
the specified time has elapsed, the timer is reset and the entire period
|
5410
|
+
must pass again before the target method is called.
|
5411
|
+
|
5412
|
+
This method should be used when an event may be called multiple times
|
5413
|
+
but the action should only be called once when the event is done firing.
|
5414
|
+
A common example is for scroll events where you only want updates to
|
5415
|
+
happen once scrolling has ceased.
|
5321
5416
|
|
5322
5417
|
```javascript
|
5323
5418
|
var myFunc = function() { console.log(this.name + ' ran.'); };
|
@@ -5341,12 +5436,50 @@ Ember.run.cancel = function(timer) {
|
|
5341
5436
|
then it will be looked up on the passed target.
|
5342
5437
|
@param {Object} [args*] Optional arguments to pass to the timeout.
|
5343
5438
|
@param {Number} wait Number of milliseconds to wait.
|
5439
|
+
@param {Boolean} immediate Trigger the function on the leading instead of the trailing edge of the wait interval.
|
5344
5440
|
@return {void}
|
5345
5441
|
*/
|
5346
5442
|
Ember.run.debounce = function() {
|
5347
5443
|
return backburner.debounce.apply(backburner, arguments);
|
5348
5444
|
};
|
5349
5445
|
|
5446
|
+
/**
|
5447
|
+
Ensure that the target method is never called more frequently than
|
5448
|
+
the specified spacing period.
|
5449
|
+
|
5450
|
+
```javascript
|
5451
|
+
var myFunc = function() { console.log(this.name + ' ran.'); };
|
5452
|
+
var myContext = {name: 'throttle'};
|
5453
|
+
|
5454
|
+
Ember.run.throttle(myContext, myFunc, 150);
|
5455
|
+
|
5456
|
+
// 50ms passes
|
5457
|
+
Ember.run.throttle(myContext, myFunc, 150);
|
5458
|
+
|
5459
|
+
// 50ms passes
|
5460
|
+
Ember.run.throttle(myContext, myFunc, 150);
|
5461
|
+
|
5462
|
+
// 50ms passes
|
5463
|
+
Ember.run.throttle(myContext, myFunc, 150);
|
5464
|
+
|
5465
|
+
// 150ms passes
|
5466
|
+
// myFunc is invoked with context myContext
|
5467
|
+
// console logs 'throttle ran.' twice, 150ms apart.
|
5468
|
+
```
|
5469
|
+
|
5470
|
+
@method throttle
|
5471
|
+
@param {Object} [target] target of method to invoke
|
5472
|
+
@param {Function|String} method The method to invoke.
|
5473
|
+
May be a function or a string. If you pass a string
|
5474
|
+
then it will be looked up on the passed target.
|
5475
|
+
@param {Object} [args*] Optional arguments to pass to the timeout.
|
5476
|
+
@param {Number} spacing Number of milliseconds to space out requests.
|
5477
|
+
@return {void}
|
5478
|
+
*/
|
5479
|
+
Ember.run.throttle = function() {
|
5480
|
+
return backburner.throttle.apply(backburner, arguments);
|
5481
|
+
};
|
5482
|
+
|
5350
5483
|
// Make sure it's not an autorun during testing
|
5351
5484
|
function checkAutoRun() {
|
5352
5485
|
if (!Ember.run.currentRunLoop) {
|
@@ -5837,7 +5970,8 @@ Ember.oneWay = function(obj, to, from) {
|
|
5837
5970
|
|
5838
5971
|
(function() {
|
5839
5972
|
/**
|
5840
|
-
@module ember
|
5973
|
+
@module ember
|
5974
|
+
@submodule ember-metal
|
5841
5975
|
*/
|
5842
5976
|
|
5843
5977
|
var Mixin, REQUIRED, Alias,
|
@@ -6213,38 +6347,6 @@ Mixin.finishPartial = finishPartial;
|
|
6213
6347
|
Ember.anyUnprocessedMixins = false;
|
6214
6348
|
|
6215
6349
|
/**
|
6216
|
-
Creates an instance of a class. Accepts either no arguments, or an object
|
6217
|
-
containing values to initialize the newly instantiated object with.
|
6218
|
-
|
6219
|
-
```javascript
|
6220
|
-
App.Person = Ember.Object.extend({
|
6221
|
-
helloWorld: function() {
|
6222
|
-
alert("Hi, my name is " + this.get('name'));
|
6223
|
-
}
|
6224
|
-
});
|
6225
|
-
|
6226
|
-
var tom = App.Person.create({
|
6227
|
-
name: 'Tom Dale'
|
6228
|
-
});
|
6229
|
-
|
6230
|
-
tom.helloWorld(); // alerts "Hi, my name is Tom Dale".
|
6231
|
-
```
|
6232
|
-
|
6233
|
-
`create` will call the `init` function if defined during
|
6234
|
-
`Ember.AnyObject.extend`
|
6235
|
-
|
6236
|
-
If no arguments are passed to `create`, it will not set values to the new
|
6237
|
-
instance during initialization:
|
6238
|
-
|
6239
|
-
```javascript
|
6240
|
-
var noName = App.Person.create();
|
6241
|
-
noName.helloWorld(); // alerts undefined
|
6242
|
-
```
|
6243
|
-
|
6244
|
-
NOTE: For performance reasons, you cannot declare methods or computed
|
6245
|
-
properties during `create`. You should instead declare methods and computed
|
6246
|
-
properties when using `extend`.
|
6247
|
-
|
6248
6350
|
@method create
|
6249
6351
|
@static
|
6250
6352
|
@param arguments*
|
@@ -6404,7 +6506,7 @@ Alias.prototype = new Ember.Descriptor();
|
|
6404
6506
|
App.PaintSample = Ember.Object.extend({
|
6405
6507
|
color: 'red',
|
6406
6508
|
colour: Ember.alias('color'),
|
6407
|
-
name: function(){
|
6509
|
+
name: function() {
|
6408
6510
|
return "Zed";
|
6409
6511
|
},
|
6410
6512
|
moniker: Ember.alias("name")
|
@@ -6432,7 +6534,7 @@ Ember.alias = Ember.deprecateFunc("Ember.alias is deprecated. Please use Ember.a
|
|
6432
6534
|
|
6433
6535
|
```javascript
|
6434
6536
|
App.Person = Ember.Object.extend({
|
6435
|
-
name: function(){
|
6537
|
+
name: function() {
|
6436
6538
|
return 'Tomhuda Katzdale';
|
6437
6539
|
},
|
6438
6540
|
moniker: Ember.aliasMethod('name')
|
@@ -6501,7 +6603,7 @@ Ember.immediateObserver = function() {
|
|
6501
6603
|
}.observesBefore('content.value'),
|
6502
6604
|
valueDidChange: function(obj, keyName, value) {
|
6503
6605
|
// only run if updating a value already in the DOM
|
6504
|
-
if(this.get('state') === 'inDOM') {
|
6606
|
+
if (this.get('state') === 'inDOM') {
|
6505
6607
|
var color = value > this.changingFrom ? 'green' : 'red';
|
6506
6608
|
// logic
|
6507
6609
|
}
|
@@ -6537,65 +6639,82 @@ Ember Metal
|
|
6537
6639
|
|
6538
6640
|
(function() {
|
6539
6641
|
define("rsvp/all",
|
6540
|
-
["rsvp/
|
6642
|
+
["rsvp/promise","exports"],
|
6541
6643
|
function(__dependency1__, __exports__) {
|
6542
6644
|
"use strict";
|
6543
|
-
var
|
6645
|
+
var Promise = __dependency1__.Promise;
|
6646
|
+
/* global toString */
|
6544
6647
|
|
6545
|
-
function all(promises) {
|
6546
|
-
var results = [], deferred = defer(), remaining = promises.length;
|
6547
6648
|
|
6548
|
-
|
6549
|
-
|
6649
|
+
function all(promises) {
|
6650
|
+
if (Object.prototype.toString.call(promises) !== "[object Array]") {
|
6651
|
+
throw new TypeError('You must pass an array to all.');
|
6550
6652
|
}
|
6551
6653
|
|
6552
|
-
|
6553
|
-
|
6554
|
-
|
6555
|
-
};
|
6556
|
-
};
|
6654
|
+
return new Promise(function(resolve, reject) {
|
6655
|
+
var results = [], remaining = promises.length,
|
6656
|
+
promise;
|
6557
6657
|
|
6558
|
-
|
6559
|
-
|
6560
|
-
if (--remaining === 0) {
|
6561
|
-
deferred.resolve(results);
|
6658
|
+
if (remaining === 0) {
|
6659
|
+
resolve([]);
|
6562
6660
|
}
|
6563
|
-
};
|
6564
6661
|
|
6565
|
-
|
6566
|
-
|
6567
|
-
|
6662
|
+
function resolver(index) {
|
6663
|
+
return function(value) {
|
6664
|
+
resolveAll(index, value);
|
6665
|
+
};
|
6666
|
+
}
|
6568
6667
|
|
6569
|
-
|
6570
|
-
|
6571
|
-
|
6572
|
-
|
6573
|
-
|
6668
|
+
function resolveAll(index, value) {
|
6669
|
+
results[index] = value;
|
6670
|
+
if (--remaining === 0) {
|
6671
|
+
resolve(results);
|
6672
|
+
}
|
6574
6673
|
}
|
6575
|
-
|
6576
|
-
|
6674
|
+
|
6675
|
+
for (var i = 0; i < promises.length; i++) {
|
6676
|
+
promise = promises[i];
|
6677
|
+
|
6678
|
+
if (promise && typeof promise.then === 'function') {
|
6679
|
+
promise.then(resolver(i), reject);
|
6680
|
+
} else {
|
6681
|
+
resolveAll(i, promise);
|
6682
|
+
}
|
6683
|
+
}
|
6684
|
+
});
|
6577
6685
|
}
|
6578
6686
|
|
6687
|
+
|
6579
6688
|
__exports__.all = all;
|
6580
6689
|
});
|
6581
|
-
|
6582
6690
|
define("rsvp/async",
|
6583
6691
|
["exports"],
|
6584
6692
|
function(__exports__) {
|
6585
6693
|
"use strict";
|
6586
6694
|
var browserGlobal = (typeof window !== 'undefined') ? window : {};
|
6587
|
-
|
6588
6695
|
var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;
|
6589
6696
|
var async;
|
6590
6697
|
|
6591
|
-
|
6592
|
-
|
6593
|
-
|
6698
|
+
// old node
|
6699
|
+
function useNextTick() {
|
6700
|
+
return function(callback, arg) {
|
6594
6701
|
process.nextTick(function() {
|
6595
|
-
callback
|
6702
|
+
callback(arg);
|
6596
6703
|
});
|
6597
6704
|
};
|
6598
|
-
}
|
6705
|
+
}
|
6706
|
+
|
6707
|
+
// node >= 0.10.x
|
6708
|
+
function useSetImmediate() {
|
6709
|
+
return function(callback, arg) {
|
6710
|
+
/* global setImmediate */
|
6711
|
+
setImmediate(function(){
|
6712
|
+
callback(arg);
|
6713
|
+
});
|
6714
|
+
};
|
6715
|
+
}
|
6716
|
+
|
6717
|
+
function useMutationObserver() {
|
6599
6718
|
var queue = [];
|
6600
6719
|
|
6601
6720
|
var observer = new BrowserMutationObserver(function() {
|
@@ -6603,8 +6722,8 @@ define("rsvp/async",
|
|
6603
6722
|
queue = [];
|
6604
6723
|
|
6605
6724
|
toProcess.forEach(function(tuple) {
|
6606
|
-
var callback = tuple[0],
|
6607
|
-
callback
|
6725
|
+
var callback = tuple[0], arg= tuple[1];
|
6726
|
+
callback(arg);
|
6608
6727
|
});
|
6609
6728
|
});
|
6610
6729
|
|
@@ -6615,24 +6734,35 @@ define("rsvp/async",
|
|
6615
6734
|
window.addEventListener('unload', function(){
|
6616
6735
|
observer.disconnect();
|
6617
6736
|
observer = null;
|
6618
|
-
});
|
6737
|
+
}, false);
|
6619
6738
|
|
6620
|
-
|
6621
|
-
queue.push([callback,
|
6739
|
+
return function(callback, arg) {
|
6740
|
+
queue.push([callback, arg]);
|
6622
6741
|
element.setAttribute('drainQueue', 'drainQueue');
|
6623
6742
|
};
|
6624
|
-
}
|
6625
|
-
|
6743
|
+
}
|
6744
|
+
|
6745
|
+
function useSetTimeout() {
|
6746
|
+
return function(callback, arg) {
|
6626
6747
|
setTimeout(function() {
|
6627
|
-
callback
|
6748
|
+
callback(arg);
|
6628
6749
|
}, 1);
|
6629
6750
|
};
|
6630
6751
|
}
|
6631
6752
|
|
6753
|
+
if (typeof setImmediate === 'function') {
|
6754
|
+
async = useSetImmediate();
|
6755
|
+
} else if (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]') {
|
6756
|
+
async = useNextTick();
|
6757
|
+
} else if (BrowserMutationObserver) {
|
6758
|
+
async = useMutationObserver();
|
6759
|
+
} else {
|
6760
|
+
async = useSetTimeout();
|
6761
|
+
}
|
6762
|
+
|
6632
6763
|
|
6633
6764
|
__exports__.async = async;
|
6634
6765
|
});
|
6635
|
-
|
6636
6766
|
define("rsvp/config",
|
6637
6767
|
["rsvp/async","exports"],
|
6638
6768
|
function(__dependency1__, __exports__) {
|
@@ -6642,9 +6772,9 @@ define("rsvp/config",
|
|
6642
6772
|
var config = {};
|
6643
6773
|
config.async = async;
|
6644
6774
|
|
6775
|
+
|
6645
6776
|
__exports__.config = config;
|
6646
6777
|
});
|
6647
|
-
|
6648
6778
|
define("rsvp/defer",
|
6649
6779
|
["rsvp/promise","exports"],
|
6650
6780
|
function(__dependency1__, __exports__) {
|
@@ -6652,20 +6782,24 @@ define("rsvp/defer",
|
|
6652
6782
|
var Promise = __dependency1__.Promise;
|
6653
6783
|
|
6654
6784
|
function defer() {
|
6655
|
-
var deferred = {
|
6785
|
+
var deferred = {
|
6786
|
+
// pre-allocate shape
|
6787
|
+
resolve: undefined,
|
6788
|
+
reject: undefined,
|
6789
|
+
promise: undefined
|
6790
|
+
};
|
6656
6791
|
|
6657
|
-
|
6792
|
+
deferred.promise = new Promise(function(resolve, reject) {
|
6658
6793
|
deferred.resolve = resolve;
|
6659
6794
|
deferred.reject = reject;
|
6660
6795
|
});
|
6661
6796
|
|
6662
|
-
deferred.promise = promise;
|
6663
6797
|
return deferred;
|
6664
6798
|
}
|
6665
6799
|
|
6800
|
+
|
6666
6801
|
__exports__.defer = defer;
|
6667
6802
|
});
|
6668
|
-
|
6669
6803
|
define("rsvp/events",
|
6670
6804
|
["exports"],
|
6671
6805
|
function(__exports__) {
|
@@ -6767,7 +6901,6 @@ define("rsvp/events",
|
|
6767
6901
|
|
6768
6902
|
__exports__.EventTarget = EventTarget;
|
6769
6903
|
});
|
6770
|
-
|
6771
6904
|
define("rsvp/hash",
|
6772
6905
|
["rsvp/defer","exports"],
|
6773
6906
|
function(__dependency1__, __exports__) {
|
@@ -6775,13 +6908,13 @@ define("rsvp/hash",
|
|
6775
6908
|
var defer = __dependency1__.defer;
|
6776
6909
|
|
6777
6910
|
function size(object) {
|
6778
|
-
var
|
6911
|
+
var s = 0;
|
6779
6912
|
|
6780
6913
|
for (var prop in object) {
|
6781
|
-
|
6914
|
+
s++;
|
6782
6915
|
}
|
6783
6916
|
|
6784
|
-
return
|
6917
|
+
return s;
|
6785
6918
|
}
|
6786
6919
|
|
6787
6920
|
function hash(promises) {
|
@@ -6819,9 +6952,9 @@ define("rsvp/hash",
|
|
6819
6952
|
return deferred.promise;
|
6820
6953
|
}
|
6821
6954
|
|
6955
|
+
|
6822
6956
|
__exports__.hash = hash;
|
6823
6957
|
});
|
6824
|
-
|
6825
6958
|
define("rsvp/node",
|
6826
6959
|
["rsvp/promise","rsvp/all","exports"],
|
6827
6960
|
function(__dependency1__, __dependency2__, __exports__) {
|
@@ -6844,6 +6977,7 @@ define("rsvp/node",
|
|
6844
6977
|
function denodeify(nodeFunc) {
|
6845
6978
|
return function() {
|
6846
6979
|
var nodeArgs = Array.prototype.slice.call(arguments), resolve, reject;
|
6980
|
+
var thisArg = this;
|
6847
6981
|
|
6848
6982
|
var promise = new Promise(function(nodeResolve, nodeReject) {
|
6849
6983
|
resolve = nodeResolve;
|
@@ -6854,7 +6988,7 @@ define("rsvp/node",
|
|
6854
6988
|
nodeArgs.push(makeNodeCallbackFor(resolve, reject));
|
6855
6989
|
|
6856
6990
|
try {
|
6857
|
-
nodeFunc.apply(
|
6991
|
+
nodeFunc.apply(thisArg, nodeArgs);
|
6858
6992
|
} catch(e) {
|
6859
6993
|
reject(e);
|
6860
6994
|
}
|
@@ -6864,9 +6998,9 @@ define("rsvp/node",
|
|
6864
6998
|
};
|
6865
6999
|
}
|
6866
7000
|
|
7001
|
+
|
6867
7002
|
__exports__.denodeify = denodeify;
|
6868
7003
|
});
|
6869
|
-
|
6870
7004
|
define("rsvp/promise",
|
6871
7005
|
["rsvp/config","rsvp/events","exports"],
|
6872
7006
|
function(__dependency1__, __dependency2__, __exports__) {
|
@@ -6914,6 +7048,8 @@ define("rsvp/promise",
|
|
6914
7048
|
this.trigger('error', { detail: event.detail });
|
6915
7049
|
}, this);
|
6916
7050
|
|
7051
|
+
this.on('error', onerror);
|
7052
|
+
|
6917
7053
|
try {
|
6918
7054
|
resolver(resolvePromise, rejectPromise);
|
6919
7055
|
} catch(e) {
|
@@ -6921,6 +7057,12 @@ define("rsvp/promise",
|
|
6921
7057
|
}
|
6922
7058
|
};
|
6923
7059
|
|
7060
|
+
function onerror(event) {
|
7061
|
+
if (config.onerror) {
|
7062
|
+
config.onerror(event.detail);
|
7063
|
+
}
|
7064
|
+
}
|
7065
|
+
|
6924
7066
|
var invokeCallback = function(type, promise, callback, event) {
|
6925
7067
|
var hasCallback = isFunction(callback),
|
6926
7068
|
value, error, succeeded, failed;
|
@@ -6954,18 +7096,25 @@ define("rsvp/promise",
|
|
6954
7096
|
Promise.prototype = {
|
6955
7097
|
constructor: Promise,
|
6956
7098
|
|
7099
|
+
isRejected: undefined,
|
7100
|
+
isFulfilled: undefined,
|
7101
|
+
rejectedReason: undefined,
|
7102
|
+
fulfillmentValue: undefined,
|
7103
|
+
|
6957
7104
|
then: function(done, fail) {
|
6958
|
-
|
7105
|
+
this.off('error', onerror);
|
7106
|
+
|
7107
|
+
var thenPromise = new this.constructor(function() {});
|
6959
7108
|
|
6960
7109
|
if (this.isFulfilled) {
|
6961
|
-
config.async(function() {
|
6962
|
-
invokeCallback('resolve', thenPromise, done, { detail:
|
7110
|
+
config.async(function(promise) {
|
7111
|
+
invokeCallback('resolve', thenPromise, done, { detail: promise.fulfillmentValue });
|
6963
7112
|
}, this);
|
6964
7113
|
}
|
6965
7114
|
|
6966
7115
|
if (this.isRejected) {
|
6967
|
-
config.async(function() {
|
6968
|
-
invokeCallback('reject', thenPromise, fail, { detail:
|
7116
|
+
config.async(function(promise) {
|
7117
|
+
invokeCallback('reject', thenPromise, fail, { detail: promise.rejectedReason });
|
6969
7118
|
}, this);
|
6970
7119
|
}
|
6971
7120
|
|
@@ -6992,32 +7141,40 @@ define("rsvp/promise",
|
|
6992
7141
|
}
|
6993
7142
|
|
6994
7143
|
function handleThenable(promise, value) {
|
6995
|
-
var then = null
|
7144
|
+
var then = null,
|
7145
|
+
resolved;
|
6996
7146
|
|
6997
|
-
|
6998
|
-
|
6999
|
-
|
7000
|
-
} catch(e) {
|
7001
|
-
reject(promise, e);
|
7002
|
-
return true;
|
7147
|
+
try {
|
7148
|
+
if (promise === value) {
|
7149
|
+
throw new TypeError("A promises callback cannot return that same promise.");
|
7003
7150
|
}
|
7004
7151
|
|
7005
|
-
if (
|
7006
|
-
|
7152
|
+
if (objectOrFunction(value)) {
|
7153
|
+
then = value.then;
|
7154
|
+
|
7155
|
+
if (isFunction(then)) {
|
7007
7156
|
then.call(value, function(val) {
|
7157
|
+
if (resolved) { return true; }
|
7158
|
+
resolved = true;
|
7159
|
+
|
7008
7160
|
if (value !== val) {
|
7009
7161
|
resolve(promise, val);
|
7010
7162
|
} else {
|
7011
7163
|
fulfill(promise, val);
|
7012
7164
|
}
|
7013
7165
|
}, function(val) {
|
7166
|
+
if (resolved) { return true; }
|
7167
|
+
resolved = true;
|
7168
|
+
|
7014
7169
|
reject(promise, val);
|
7015
7170
|
});
|
7016
|
-
|
7017
|
-
|
7171
|
+
|
7172
|
+
return true;
|
7018
7173
|
}
|
7019
|
-
return true;
|
7020
7174
|
}
|
7175
|
+
} catch (error) {
|
7176
|
+
reject(promise, error);
|
7177
|
+
return true;
|
7021
7178
|
}
|
7022
7179
|
|
7023
7180
|
return false;
|
@@ -7042,19 +7199,12 @@ define("rsvp/promise",
|
|
7042
7199
|
|
7043
7200
|
__exports__.Promise = Promise;
|
7044
7201
|
});
|
7045
|
-
|
7046
7202
|
define("rsvp/reject",
|
7047
7203
|
["rsvp/promise","exports"],
|
7048
7204
|
function(__dependency1__, __exports__) {
|
7049
7205
|
"use strict";
|
7050
7206
|
var Promise = __dependency1__.Promise;
|
7051
7207
|
|
7052
|
-
|
7053
|
-
function objectOrFunction(x) {
|
7054
|
-
return typeof x === "function" || (typeof x === "object" && x !== null);
|
7055
|
-
}
|
7056
|
-
|
7057
|
-
|
7058
7208
|
function reject(reason) {
|
7059
7209
|
return new Promise(function (resolve, reject) {
|
7060
7210
|
reject(reason);
|
@@ -7064,48 +7214,21 @@ define("rsvp/reject",
|
|
7064
7214
|
|
7065
7215
|
__exports__.reject = reject;
|
7066
7216
|
});
|
7067
|
-
|
7068
7217
|
define("rsvp/resolve",
|
7069
7218
|
["rsvp/promise","exports"],
|
7070
7219
|
function(__dependency1__, __exports__) {
|
7071
7220
|
"use strict";
|
7072
7221
|
var Promise = __dependency1__.Promise;
|
7073
7222
|
|
7074
|
-
|
7075
|
-
|
7076
|
-
|
7077
|
-
}
|
7078
|
-
|
7079
|
-
function resolve(thenable){
|
7080
|
-
var promise = new Promise(function(resolve, reject){
|
7081
|
-
var then;
|
7082
|
-
|
7083
|
-
try {
|
7084
|
-
if ( objectOrFunction(thenable) ) {
|
7085
|
-
then = thenable.then;
|
7086
|
-
|
7087
|
-
if (typeof then === "function") {
|
7088
|
-
then.call(thenable, resolve, reject);
|
7089
|
-
} else {
|
7090
|
-
resolve(thenable);
|
7091
|
-
}
|
7092
|
-
|
7093
|
-
} else {
|
7094
|
-
resolve(thenable);
|
7095
|
-
}
|
7096
|
-
|
7097
|
-
} catch(error) {
|
7098
|
-
reject(error);
|
7099
|
-
}
|
7223
|
+
function resolve(thenable) {
|
7224
|
+
return new Promise(function(resolve, reject) {
|
7225
|
+
resolve(thenable);
|
7100
7226
|
});
|
7101
|
-
|
7102
|
-
return promise;
|
7103
7227
|
}
|
7104
7228
|
|
7105
7229
|
|
7106
7230
|
__exports__.resolve = resolve;
|
7107
7231
|
});
|
7108
|
-
|
7109
7232
|
define("rsvp",
|
7110
7233
|
["rsvp/events","rsvp/promise","rsvp/node","rsvp/all","rsvp/hash","rsvp/defer","rsvp/config","rsvp/resolve","rsvp/reject","exports"],
|
7111
7234
|
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __exports__) {
|
@@ -7136,8 +7259,6 @@ define("rsvp",
|
|
7136
7259
|
__exports__.reject = reject;
|
7137
7260
|
});
|
7138
7261
|
|
7139
|
-
|
7140
|
-
|
7141
7262
|
})();
|
7142
7263
|
|
7143
7264
|
(function() {
|
@@ -7205,6 +7326,16 @@ define("container",
|
|
7205
7326
|
this.dict[key] = value;
|
7206
7327
|
},
|
7207
7328
|
|
7329
|
+
/**
|
7330
|
+
Delete the given key
|
7331
|
+
|
7332
|
+
@method remove
|
7333
|
+
@param {String} key
|
7334
|
+
*/
|
7335
|
+
remove: function(key) {
|
7336
|
+
delete this.dict[key];
|
7337
|
+
},
|
7338
|
+
|
7208
7339
|
/**
|
7209
7340
|
Check for the existence of given a key, if the key is present at the current
|
7210
7341
|
level return true, otherwise walk up the parent hierarchy and try again. If
|
@@ -7377,7 +7508,7 @@ define("container",
|
|
7377
7508
|
register: function(type, name, factory, options) {
|
7378
7509
|
var fullName;
|
7379
7510
|
|
7380
|
-
if (type.indexOf(':') !== -1){
|
7511
|
+
if (type.indexOf(':') !== -1) {
|
7381
7512
|
options = factory;
|
7382
7513
|
factory = name;
|
7383
7514
|
fullName = type;
|
@@ -7392,11 +7523,34 @@ define("container",
|
|
7392
7523
|
this._options.set(normalizedName, options || {});
|
7393
7524
|
},
|
7394
7525
|
|
7526
|
+
/**
|
7527
|
+
Unregister a fullName
|
7528
|
+
|
7529
|
+
```javascript
|
7530
|
+
var container = new Container();
|
7531
|
+
container.register('model:user', User);
|
7532
|
+
|
7533
|
+
container.lookup('model:user') instanceof User //=> true
|
7534
|
+
|
7535
|
+
container.unregister('model:user')
|
7536
|
+
container.lookup('model:user') === undefined //=> true
|
7537
|
+
|
7538
|
+
@method unregister
|
7539
|
+
@param {String} fullName
|
7540
|
+
*/
|
7541
|
+
unregister: function(fullName) {
|
7542
|
+
var normalizedName = this.normalize(fullName);
|
7543
|
+
|
7544
|
+
this.registry.remove(normalizedName);
|
7545
|
+
this.cache.remove(normalizedName);
|
7546
|
+
this._options.remove(normalizedName);
|
7547
|
+
},
|
7548
|
+
|
7395
7549
|
/**
|
7396
7550
|
Given a fullName return the corresponding factory.
|
7397
7551
|
|
7398
|
-
By default `resolve` will
|
7399
|
-
|
7552
|
+
By default `resolve` will retrieve the factory from
|
7553
|
+
its container's registry.
|
7400
7554
|
|
7401
7555
|
```javascript
|
7402
7556
|
var container = new Container();
|
@@ -7428,6 +7582,20 @@ define("container",
|
|
7428
7582
|
return this.resolver(fullName) || this.registry.get(fullName);
|
7429
7583
|
},
|
7430
7584
|
|
7585
|
+
/**
|
7586
|
+
A hook that can be used to describe how the resolver will
|
7587
|
+
attempt to find the factory.
|
7588
|
+
|
7589
|
+
For example, the default Ember `.describe` returns the full
|
7590
|
+
class name (including namespace) where Ember's resolver expects
|
7591
|
+
to find the `fullName`.
|
7592
|
+
|
7593
|
+
@method describe
|
7594
|
+
*/
|
7595
|
+
describe: function(fullName) {
|
7596
|
+
return fullName;
|
7597
|
+
},
|
7598
|
+
|
7431
7599
|
/**
|
7432
7600
|
A hook to enable custom fullName normalization behaviour
|
7433
7601
|
|
@@ -8001,7 +8169,11 @@ Ember.copy = function(obj, deep) {
|
|
8001
8169
|
@return {String} A description of the object
|
8002
8170
|
*/
|
8003
8171
|
Ember.inspect = function(obj) {
|
8004
|
-
|
8172
|
+
var type = Ember.typeOf(obj);
|
8173
|
+
if (type === 'array') {
|
8174
|
+
return '[' + obj + ']';
|
8175
|
+
}
|
8176
|
+
if (type !== 'object') {
|
8005
8177
|
return obj + '';
|
8006
8178
|
}
|
8007
8179
|
|
@@ -8184,9 +8356,9 @@ Ember.String = {
|
|
8184
8356
|
// first, replace any ORDERED replacements.
|
8185
8357
|
var idx = 0; // the current index for non-numerical replacements
|
8186
8358
|
return str.replace(/%@([0-9]+)?/g, function(s, argIndex) {
|
8187
|
-
argIndex = (argIndex) ? parseInt(argIndex,
|
8359
|
+
argIndex = (argIndex) ? parseInt(argIndex, 10) - 1 : idx++;
|
8188
8360
|
s = formats[argIndex];
|
8189
|
-
return (
|
8361
|
+
return (s === null) ? '(null)' : (s === undefined) ? '' : Ember.inspect(s);
|
8190
8362
|
}) ;
|
8191
8363
|
},
|
8192
8364
|
|
@@ -8704,14 +8876,10 @@ function iter(key, value) {
|
|
8704
8876
|
|
8705
8877
|
@class Enumerable
|
8706
8878
|
@namespace Ember
|
8707
|
-
@extends Ember.Mixin
|
8708
8879
|
@since Ember 0.9
|
8709
8880
|
*/
|
8710
8881
|
Ember.Enumerable = Ember.Mixin.create({
|
8711
8882
|
|
8712
|
-
// compatibility
|
8713
|
-
isEnumerable: true,
|
8714
|
-
|
8715
8883
|
/**
|
8716
8884
|
Implement this method to make your class enumerable.
|
8717
8885
|
|
@@ -9183,7 +9351,7 @@ Ember.Enumerable = Ember.Mixin.create({
|
|
9183
9351
|
@method some
|
9184
9352
|
@param {Function} callback The callback to execute
|
9185
9353
|
@param {Object} [target] The target object to use
|
9186
|
-
@return {
|
9354
|
+
@return {Boolean} `true` if the passed function returns `true` for any item
|
9187
9355
|
*/
|
9188
9356
|
some: function(callback, target) {
|
9189
9357
|
return !!this.find(function(x, idx, i) {
|
@@ -9198,7 +9366,7 @@ Ember.Enumerable = Ember.Mixin.create({
|
|
9198
9366
|
@method someProperty
|
9199
9367
|
@param {String} key the property to test
|
9200
9368
|
@param {String} [value] optional value to test against.
|
9201
|
-
@return {Boolean} `true`
|
9369
|
+
@return {Boolean} `true` if the passed function returns `true` for any item
|
9202
9370
|
*/
|
9203
9371
|
someProperty: function(key, value) {
|
9204
9372
|
return this.some(iter.apply(this, arguments));
|
@@ -9338,7 +9506,7 @@ Ember.Enumerable = Ember.Mixin.create({
|
|
9338
9506
|
*/
|
9339
9507
|
uniq: function() {
|
9340
9508
|
var ret = Ember.A();
|
9341
|
-
this.forEach(function(k){
|
9509
|
+
this.forEach(function(k) {
|
9342
9510
|
if (a_indexOf(ret, k)<0) ret.push(k);
|
9343
9511
|
});
|
9344
9512
|
return ret;
|
@@ -9542,7 +9710,6 @@ var get = Ember.get, set = Ember.set, isNone = Ember.isNone, map = Ember.Enumera
|
|
9542
9710
|
|
9543
9711
|
@class Array
|
9544
9712
|
@namespace Ember
|
9545
|
-
@extends Ember.Mixin
|
9546
9713
|
@uses Ember.Enumerable
|
9547
9714
|
@since Ember 0.9.0
|
9548
9715
|
*/
|
@@ -9598,7 +9765,7 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, /** @scope Ember.Array.protot
|
|
9598
9765
|
*/
|
9599
9766
|
objectsAt: function(indexes) {
|
9600
9767
|
var self = this;
|
9601
|
-
return map(indexes, function(idx){ return self.objectAt(idx); });
|
9768
|
+
return map(indexes, function(idx) { return self.objectAt(idx); });
|
9602
9769
|
},
|
9603
9770
|
|
9604
9771
|
// overrides Ember.Enumerable version
|
@@ -9630,7 +9797,7 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, /** @scope Ember.Array.protot
|
|
9630
9797
|
}),
|
9631
9798
|
|
9632
9799
|
// optimized version from Enumerable
|
9633
|
-
contains: function(obj){
|
9800
|
+
contains: function(obj) {
|
9634
9801
|
return this.indexOf(obj) >= 0;
|
9635
9802
|
},
|
9636
9803
|
|
@@ -9695,7 +9862,7 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, /** @scope Ember.Array.protot
|
|
9695
9862
|
if (startAt < 0) startAt += len;
|
9696
9863
|
|
9697
9864
|
for(idx=startAt;idx<len;idx++) {
|
9698
|
-
if (this.objectAt(idx
|
9865
|
+
if (this.objectAt(idx) === object) return idx ;
|
9699
9866
|
}
|
9700
9867
|
return -1;
|
9701
9868
|
},
|
@@ -9940,20 +10107,10 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, /** @scope Ember.Array.protot
|
|
9940
10107
|
|
9941
10108
|
@class Comparable
|
9942
10109
|
@namespace Ember
|
9943
|
-
@extends Ember.Mixin
|
9944
10110
|
@since Ember 0.9
|
9945
10111
|
*/
|
9946
10112
|
Ember.Comparable = Ember.Mixin.create( /** @scope Ember.Comparable.prototype */{
|
9947
10113
|
|
9948
|
-
/**
|
9949
|
-
walk like a duck. Indicates that the object can be compared.
|
9950
|
-
|
9951
|
-
@property isComparable
|
9952
|
-
@type Boolean
|
9953
|
-
@default true
|
9954
|
-
*/
|
9955
|
-
isComparable: true,
|
9956
|
-
|
9957
10114
|
/**
|
9958
10115
|
Override to return the result of the comparison of the two parameters. The
|
9959
10116
|
compare method should return:
|
@@ -10001,7 +10158,6 @@ var get = Ember.get, set = Ember.set;
|
|
10001
10158
|
|
10002
10159
|
@class Copyable
|
10003
10160
|
@namespace Ember
|
10004
|
-
@extends Ember.Mixin
|
10005
10161
|
@since Ember 0.9
|
10006
10162
|
*/
|
10007
10163
|
Ember.Copyable = Ember.Mixin.create(/** @scope Ember.Copyable.prototype */ {
|
@@ -10106,7 +10262,6 @@ var get = Ember.get, set = Ember.set;
|
|
10106
10262
|
|
10107
10263
|
@class Freezable
|
10108
10264
|
@namespace Ember
|
10109
|
-
@extends Ember.Mixin
|
10110
10265
|
@since Ember 0.9
|
10111
10266
|
*/
|
10112
10267
|
Ember.Freezable = Ember.Mixin.create(/** @scope Ember.Freezable.prototype */ {
|
@@ -10186,7 +10341,6 @@ var forEach = Ember.EnumerableUtils.forEach;
|
|
10186
10341
|
|
10187
10342
|
@class MutableEnumerable
|
10188
10343
|
@namespace Ember
|
10189
|
-
@extends Ember.Mixin
|
10190
10344
|
@uses Ember.Enumerable
|
10191
10345
|
*/
|
10192
10346
|
Ember.MutableEnumerable = Ember.Mixin.create(Ember.Enumerable, {
|
@@ -10286,7 +10440,6 @@ var get = Ember.get, set = Ember.set;
|
|
10286
10440
|
|
10287
10441
|
@class MutableArray
|
10288
10442
|
@namespace Ember
|
10289
|
-
@extends Ember.Mixin
|
10290
10443
|
@uses Ember.Array
|
10291
10444
|
@uses Ember.MutableEnumerable
|
10292
10445
|
*/
|
@@ -10356,7 +10509,7 @@ Ember.MutableArray = Ember.Mixin.create(Ember.Array, Ember.MutableEnumerable,/**
|
|
10356
10509
|
method. You can pass either a single index, or a start and a length.
|
10357
10510
|
|
10358
10511
|
If you pass a start and length that is beyond the
|
10359
|
-
length this method will throw an `
|
10512
|
+
length this method will throw an `OUT_OF_RANGE_EXCEPTION`
|
10360
10513
|
|
10361
10514
|
```javascript
|
10362
10515
|
var colors = ["red", "green", "blue", "yellow", "orange"];
|
@@ -10410,7 +10563,7 @@ Ember.MutableArray = Ember.Mixin.create(Ember.Array, Ember.MutableEnumerable,/**
|
|
10410
10563
|
|
10411
10564
|
```javascript
|
10412
10565
|
var colors = ["red", "green", "blue"];
|
10413
|
-
colors.pushObjects("black"); // ["red", "green", "blue", "black"]
|
10566
|
+
colors.pushObjects(["black"]); // ["red", "green", "blue", "black"]
|
10414
10567
|
colors.pushObjects(["yellow", "orange"]); // ["red", "green", "blue", "black", "yellow", "orange"]
|
10415
10568
|
```
|
10416
10569
|
|
@@ -10419,6 +10572,9 @@ Ember.MutableArray = Ember.Mixin.create(Ember.Array, Ember.MutableEnumerable,/**
|
|
10419
10572
|
@return {Ember.Array} receiver
|
10420
10573
|
*/
|
10421
10574
|
pushObjects: function(objects) {
|
10575
|
+
if (!(Ember.Enumerable.detect(objects) || Ember.isArray(objects))) {
|
10576
|
+
throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");
|
10577
|
+
}
|
10422
10578
|
this.replace(get(this, 'length'), 0, objects);
|
10423
10579
|
return this;
|
10424
10580
|
},
|
@@ -10637,9 +10793,8 @@ var get = Ember.get, set = Ember.set;
|
|
10637
10793
|
|
10638
10794
|
@class Observable
|
10639
10795
|
@namespace Ember
|
10640
|
-
@extends Ember.Mixin
|
10641
10796
|
*/
|
10642
|
-
Ember.Observable = Ember.Mixin.create(
|
10797
|
+
Ember.Observable = Ember.Mixin.create({
|
10643
10798
|
|
10644
10799
|
/**
|
10645
10800
|
Retrieves the value of a property from the object.
|
@@ -10837,7 +10992,7 @@ Ember.Observable = Ember.Mixin.create(/** @scope Ember.Observable.prototype */ {
|
|
10837
10992
|
@param {String} keyName The property key that is about to change.
|
10838
10993
|
@return {Ember.Observable}
|
10839
10994
|
*/
|
10840
|
-
propertyWillChange: function(keyName){
|
10995
|
+
propertyWillChange: function(keyName) {
|
10841
10996
|
Ember.propertyWillChange(this, keyName);
|
10842
10997
|
return this;
|
10843
10998
|
},
|
@@ -11143,7 +11298,7 @@ Ember.TargetActionSupport = Ember.Mixin.create({
|
|
11143
11298
|
target: Ember.computed.alias('controller'),
|
11144
11299
|
action: 'save',
|
11145
11300
|
actionContext: Ember.computed.alias('context'),
|
11146
|
-
click: function(){
|
11301
|
+
click: function() {
|
11147
11302
|
this.triggerAction(); // Sends the `save` action, along with the current context
|
11148
11303
|
// to the current controller
|
11149
11304
|
}
|
@@ -11155,7 +11310,7 @@ Ember.TargetActionSupport = Ember.Mixin.create({
|
|
11155
11310
|
|
11156
11311
|
```javascript
|
11157
11312
|
App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
|
11158
|
-
click: function(){
|
11313
|
+
click: function() {
|
11159
11314
|
this.triggerAction({
|
11160
11315
|
action: 'save',
|
11161
11316
|
target: this.get('controller'),
|
@@ -11173,7 +11328,7 @@ Ember.TargetActionSupport = Ember.Mixin.create({
|
|
11173
11328
|
```javascript
|
11174
11329
|
App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
|
11175
11330
|
target: Ember.computed.alias('controller'),
|
11176
|
-
click: function(){
|
11331
|
+
click: function() {
|
11177
11332
|
this.triggerAction({
|
11178
11333
|
action: 'save'
|
11179
11334
|
}); // Sends the `save` action, along with a reference to `this`,
|
@@ -11255,7 +11410,6 @@ Ember.TargetActionSupport = Ember.Mixin.create({
|
|
11255
11410
|
|
11256
11411
|
@class Evented
|
11257
11412
|
@namespace Ember
|
11258
|
-
@extends Ember.Mixin
|
11259
11413
|
*/
|
11260
11414
|
Ember.Evented = Ember.Mixin.create({
|
11261
11415
|
|
@@ -11373,8 +11527,8 @@ Ember.Evented = Ember.Mixin.create({
|
|
11373
11527
|
(function() {
|
11374
11528
|
var RSVP = requireModule("rsvp");
|
11375
11529
|
|
11376
|
-
RSVP.configure('async', function(callback,
|
11377
|
-
Ember.run.schedule('actions',
|
11530
|
+
RSVP.configure('async', function(callback, promise) {
|
11531
|
+
Ember.run.schedule('actions', promise, callback, promise);
|
11378
11532
|
});
|
11379
11533
|
|
11380
11534
|
/**
|
@@ -11387,7 +11541,6 @@ var get = Ember.get;
|
|
11387
11541
|
/**
|
11388
11542
|
@class Deferred
|
11389
11543
|
@namespace Ember
|
11390
|
-
@extends Ember.Mixin
|
11391
11544
|
*/
|
11392
11545
|
Ember.DeferredMixin = Ember.Mixin.create({
|
11393
11546
|
/**
|
@@ -11426,7 +11579,7 @@ Ember.DeferredMixin = Ember.Mixin.create({
|
|
11426
11579
|
deferred = get(this, '_deferred');
|
11427
11580
|
promise = deferred.promise;
|
11428
11581
|
|
11429
|
-
if (value === this){
|
11582
|
+
if (value === this) {
|
11430
11583
|
deferred.resolve(promise);
|
11431
11584
|
} else {
|
11432
11585
|
deferred.resolve(value);
|
@@ -11473,8 +11626,8 @@ Ember.Container.set = Ember.set;
|
|
11473
11626
|
*/
|
11474
11627
|
|
11475
11628
|
|
11476
|
-
// NOTE: this object should never be included directly. Instead use Ember.
|
11477
|
-
//
|
11629
|
+
// NOTE: this object should never be included directly. Instead use `Ember.Object`.
|
11630
|
+
// We only define this separately so that `Ember.Set` can depend on it.
|
11478
11631
|
|
11479
11632
|
|
11480
11633
|
var set = Ember.set, get = Ember.get,
|
@@ -11617,6 +11770,10 @@ function makeCtor() {
|
|
11617
11770
|
|
11618
11771
|
}
|
11619
11772
|
|
11773
|
+
/**
|
11774
|
+
@class CoreObject
|
11775
|
+
@namespace Ember
|
11776
|
+
*/
|
11620
11777
|
var CoreObject = makeCtor();
|
11621
11778
|
CoreObject.toString = function() { return "Ember.CoreObject"; };
|
11622
11779
|
|
@@ -11813,7 +11970,7 @@ CoreObject.PrototypeMixin = Mixin.create({
|
|
11813
11970
|
included in the output.
|
11814
11971
|
|
11815
11972
|
App.Teacher = App.Person.extend({
|
11816
|
-
toStringExtension: function(){
|
11973
|
+
toStringExtension: function() {
|
11817
11974
|
return this.get('fullName');
|
11818
11975
|
}
|
11819
11976
|
});
|
@@ -11876,12 +12033,57 @@ var ClassMixin = Mixin.create({
|
|
11876
12033
|
return Class;
|
11877
12034
|
},
|
11878
12035
|
|
12036
|
+
/**
|
12037
|
+
Equivalent to doing `extend(arguments).create()`.
|
12038
|
+
If possible use the normal `create` method instead.
|
12039
|
+
|
12040
|
+
@method createWithMixins
|
12041
|
+
@static
|
12042
|
+
@param [arguments]*
|
12043
|
+
*/
|
11879
12044
|
createWithMixins: function() {
|
11880
12045
|
var C = this;
|
11881
12046
|
if (arguments.length>0) { this._initMixins(arguments); }
|
11882
12047
|
return new C();
|
11883
12048
|
},
|
11884
12049
|
|
12050
|
+
/**
|
12051
|
+
Creates an instance of a class. Accepts either no arguments, or an object
|
12052
|
+
containing values to initialize the newly instantiated object with.
|
12053
|
+
|
12054
|
+
```javascript
|
12055
|
+
App.Person = Ember.Object.extend({
|
12056
|
+
helloWorld: function() {
|
12057
|
+
alert("Hi, my name is " + this.get('name'));
|
12058
|
+
}
|
12059
|
+
});
|
12060
|
+
|
12061
|
+
var tom = App.Person.create({
|
12062
|
+
name: 'Tom Dale'
|
12063
|
+
});
|
12064
|
+
|
12065
|
+
tom.helloWorld(); // alerts "Hi, my name is Tom Dale".
|
12066
|
+
```
|
12067
|
+
|
12068
|
+
`create` will call the `init` function if defined during
|
12069
|
+
`Ember.AnyObject.extend`
|
12070
|
+
|
12071
|
+
If no arguments are passed to `create`, it will not set values to the new
|
12072
|
+
instance during initialization:
|
12073
|
+
|
12074
|
+
```javascript
|
12075
|
+
var noName = App.Person.create();
|
12076
|
+
noName.helloWorld(); // alerts undefined
|
12077
|
+
```
|
12078
|
+
|
12079
|
+
NOTE: For performance reasons, you cannot declare methods or computed
|
12080
|
+
properties during `create`. You should instead declare methods and computed
|
12081
|
+
properties when using `extend` or use the `createWithMixins` shorthand.
|
12082
|
+
|
12083
|
+
@method create
|
12084
|
+
@static
|
12085
|
+
@param [arguments]*
|
12086
|
+
*/
|
11885
12087
|
create: function() {
|
11886
12088
|
var C = this;
|
11887
12089
|
if (arguments.length>0) { this._initProperties(arguments); }
|
@@ -11980,10 +12182,6 @@ if (Ember.config.overrideClassMixin) {
|
|
11980
12182
|
CoreObject.ClassMixin = ClassMixin;
|
11981
12183
|
ClassMixin.apply(CoreObject);
|
11982
12184
|
|
11983
|
-
/**
|
11984
|
-
@class CoreObject
|
11985
|
-
@namespace Ember
|
11986
|
-
*/
|
11987
12185
|
Ember.CoreObject = CoreObject;
|
11988
12186
|
|
11989
12187
|
})();
|
@@ -12501,6 +12699,9 @@ Ember.ArrayProxy = Ember.Object.extend(Ember.MutableArray,/** @scope Ember.Array
|
|
12501
12699
|
},
|
12502
12700
|
|
12503
12701
|
pushObjects: function(objects) {
|
12702
|
+
if (!(Ember.Enumerable.detect(objects) || Ember.isArray(objects))) {
|
12703
|
+
throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");
|
12704
|
+
}
|
12504
12705
|
this._replace(get(this, 'length'), 0, objects);
|
12505
12706
|
return this;
|
12506
12707
|
},
|
@@ -12753,6 +12954,7 @@ function addObserverForContentKey(content, keyName, proxy, idx, loc) {
|
|
12753
12954
|
while(--loc>=idx) {
|
12754
12955
|
var item = content.objectAt(loc);
|
12755
12956
|
if (item) {
|
12957
|
+
|
12756
12958
|
Ember.addBeforeObserver(item, keyName, proxy, 'contentKeyWillChange');
|
12757
12959
|
Ember.addObserver(item, keyName, proxy, 'contentKeyDidChange');
|
12758
12960
|
|
@@ -12836,7 +13038,7 @@ Ember.EachProxy = Ember.Object.extend({
|
|
12836
13038
|
for(key in keys) {
|
12837
13039
|
if (!keys.hasOwnProperty(key)) { continue; }
|
12838
13040
|
|
12839
|
-
if (lim>0) removeObserverForContentKey(content, key, this, idx, lim);
|
13041
|
+
if (lim>0) { removeObserverForContentKey(content, key, this, idx, lim); }
|
12840
13042
|
|
12841
13043
|
Ember.propertyWillChange(this, key);
|
12842
13044
|
}
|
@@ -12846,21 +13048,20 @@ Ember.EachProxy = Ember.Object.extend({
|
|
12846
13048
|
},
|
12847
13049
|
|
12848
13050
|
arrayDidChange: function(content, idx, removedCnt, addedCnt) {
|
12849
|
-
var keys = this._keys,
|
13051
|
+
var keys = this._keys, lim;
|
12850
13052
|
|
12851
13053
|
lim = addedCnt>0 ? idx+addedCnt : -1;
|
12852
|
-
Ember.
|
12853
|
-
|
12854
|
-
|
12855
|
-
if (!keys.hasOwnProperty(key)) { continue; }
|
13054
|
+
Ember.changeProperties(function() {
|
13055
|
+
for(var key in keys) {
|
13056
|
+
if (!keys.hasOwnProperty(key)) { continue; }
|
12856
13057
|
|
12857
|
-
|
13058
|
+
if (lim>0) { addObserverForContentKey(content, key, this, idx, lim); }
|
12858
13059
|
|
12859
|
-
|
12860
|
-
|
13060
|
+
Ember.propertyDidChange(this, key);
|
13061
|
+
}
|
12861
13062
|
|
12862
|
-
|
12863
|
-
|
13063
|
+
Ember.propertyDidChange(this._content, '@each');
|
13064
|
+
}, this);
|
12864
13065
|
},
|
12865
13066
|
|
12866
13067
|
// ..........................................................
|
@@ -13009,7 +13210,7 @@ var NativeArray = Ember.Mixin.create(Ember.MutableArray, Ember.Observable, Ember
|
|
13009
13210
|
|
13010
13211
|
copy: function(deep) {
|
13011
13212
|
if (deep) {
|
13012
|
-
return this.map(function(item){ return Ember.copy(item, true); });
|
13213
|
+
return this.map(function(item) { return Ember.copy(item, true); });
|
13013
13214
|
}
|
13014
13215
|
|
13015
13216
|
return this.slice();
|
@@ -13035,7 +13236,6 @@ if (ignore.length>0) {
|
|
13035
13236
|
|
13036
13237
|
@class NativeArray
|
13037
13238
|
@namespace Ember
|
13038
|
-
@extends Ember.Mixin
|
13039
13239
|
@uses Ember.MutableArray
|
13040
13240
|
@uses Ember.Observable
|
13041
13241
|
@uses Ember.Copyable
|
@@ -13050,7 +13250,7 @@ Ember.NativeArray = NativeArray;
|
|
13050
13250
|
@for Ember
|
13051
13251
|
@return {Ember.NativeArray}
|
13052
13252
|
*/
|
13053
|
-
Ember.A = function(arr){
|
13253
|
+
Ember.A = function(arr) {
|
13054
13254
|
if (arr === undefined) { arr = []; }
|
13055
13255
|
return Ember.Array.detect(arr) ? arr : Ember.NativeArray.apply(arr);
|
13056
13256
|
};
|
@@ -13226,7 +13426,7 @@ Ember.Set = Ember.CoreObject.extend(Ember.MutableEnumerable, Ember.Copyable, Emb
|
|
13226
13426
|
Ember.propertyWillChange(this, 'firstObject');
|
13227
13427
|
Ember.propertyWillChange(this, 'lastObject');
|
13228
13428
|
|
13229
|
-
for (var i=0; i < len; i++){
|
13429
|
+
for (var i=0; i < len; i++) {
|
13230
13430
|
guid = guidFor(this[i]);
|
13231
13431
|
delete this[guid];
|
13232
13432
|
delete this[i];
|
@@ -13646,7 +13846,6 @@ var get = Ember.get;
|
|
13646
13846
|
|
13647
13847
|
@class ControllerMixin
|
13648
13848
|
@namespace Ember
|
13649
|
-
@extends Ember.Mixin
|
13650
13849
|
*/
|
13651
13850
|
Ember.ControllerMixin = Ember.Mixin.create({
|
13652
13851
|
/* ducktype as a controller */
|
@@ -13680,7 +13879,7 @@ Ember.ControllerMixin = Ember.Mixin.create({
|
|
13680
13879
|
if (this[actionName]) {
|
13681
13880
|
|
13682
13881
|
this[actionName].apply(this, args);
|
13683
|
-
} else if(target = get(this, 'target')) {
|
13882
|
+
} else if (target = get(this, 'target')) {
|
13684
13883
|
|
13685
13884
|
target.send.apply(target, arguments);
|
13686
13885
|
}
|
@@ -13734,7 +13933,6 @@ var get = Ember.get, set = Ember.set, forEach = Ember.EnumerableUtils.forEach;
|
|
13734
13933
|
|
13735
13934
|
@class SortableMixin
|
13736
13935
|
@namespace Ember
|
13737
|
-
@extends Ember.Mixin
|
13738
13936
|
@uses Ember.MutableEnumerable
|
13739
13937
|
*/
|
13740
13938
|
Ember.SortableMixin = Ember.Mixin.create(Ember.MutableEnumerable, {
|
@@ -13752,7 +13950,7 @@ Ember.SortableMixin = Ember.Mixin.create(Ember.MutableEnumerable, {
|
|
13752
13950
|
@property {Boolean} sortAscending
|
13753
13951
|
*/
|
13754
13952
|
sortAscending: true,
|
13755
|
-
|
13953
|
+
|
13756
13954
|
/**
|
13757
13955
|
The function used to compare two values. You can override this if you
|
13758
13956
|
want to do custom comparisons.Functions must be of the type expected by
|
@@ -13762,8 +13960,8 @@ Ember.SortableMixin = Ember.Mixin.create(Ember.MutableEnumerable, {
|
|
13762
13960
|
return a positive value otherwise:
|
13763
13961
|
|
13764
13962
|
```javascript
|
13765
|
-
function(x,y){ // These are assumed to be integers
|
13766
|
-
if(x === y)
|
13963
|
+
function(x,y) { // These are assumed to be integers
|
13964
|
+
if (x === y)
|
13767
13965
|
return 0;
|
13768
13966
|
return x < y ? -1 : 1;
|
13769
13967
|
}
|
@@ -13774,7 +13972,7 @@ Ember.SortableMixin = Ember.Mixin.create(Ember.MutableEnumerable, {
|
|
13774
13972
|
@default Ember.compare
|
13775
13973
|
*/
|
13776
13974
|
sortFunction: Ember.compare,
|
13777
|
-
|
13975
|
+
|
13778
13976
|
orderBy: function(item1, item2) {
|
13779
13977
|
var result = 0,
|
13780
13978
|
sortProperties = get(this, 'sortProperties'),
|