ember-source 2.15.3 → 2.16.0.beta.1

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.
@@ -6,7 +6,7 @@
6
6
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
7
7
  * @license Licensed under MIT license
8
8
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
9
- * @version 2.15.3
9
+ * @version 2.16.0-beta.1
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -9157,6 +9157,7 @@ enifed('backburner', ['exports', 'ember-babel'], function (exports, _emberBabel)
9157
9157
  this.name = name;
9158
9158
  this.options = options;
9159
9159
  this.globalOptions = globalOptions;
9160
+ this.globalOptions.onError = getOnError(globalOptions);
9160
9161
  }
9161
9162
 
9162
9163
  Queue.prototype.push = function push(target, method, args, stack) {
@@ -9191,6 +9192,8 @@ enifed('backburner', ['exports', 'ember-babel'], function (exports, _emberBabel)
9191
9192
  var method = void 0;
9192
9193
  var args = void 0;
9193
9194
  var errorRecordedForStack = void 0;
9195
+ var onError = this.globalOptions.onError;
9196
+ var invoke = onError ? this.invokeWithOnError : this.invoke;
9194
9197
  this.targetQueues = Object.create(null);
9195
9198
  var queueItems = void 0;
9196
9199
  if (this._queueBeingFlushed.length > 0) {
@@ -9202,38 +9205,33 @@ enifed('backburner', ['exports', 'ember-babel'], function (exports, _emberBabel)
9202
9205
  if (before) {
9203
9206
  before();
9204
9207
  }
9205
- var invoke = void 0;
9206
- if (queueItems.length > 0) {
9207
- var onError = getOnError(this.globalOptions);
9208
- invoke = onError ? this.invokeWithOnError : this.invoke;
9209
- for (var i = this.index; i < queueItems.length; i += 4) {
9210
- this.index += 4;
9211
- target = queueItems[i];
9212
- method = queueItems[i + 1];
9213
- args = queueItems[i + 2];
9214
- errorRecordedForStack = queueItems[i + 3]; // Debugging assistance
9215
- // method could have been nullified / canceled during flush
9216
- if (method !== null) {
9217
- //
9218
- // ** Attention intrepid developer **
9219
- //
9220
- // To find out the stack of this task when it was scheduled onto
9221
- // the run loop, add the following to your app.js:
9222
- //
9223
- // Ember.run.backburner.DEBUG = true; // NOTE: This slows your app, don't leave it on in production.
9224
- //
9225
- // Once that is in place, when you are at a breakpoint and navigate
9226
- // here in the stack explorer, you can look at `errorRecordedForStack.stack`,
9227
- // which will be the captured stack when this job was scheduled.
9228
- //
9229
- // One possible long-term solution is the following Chrome issue:
9230
- // https://bugs.chromium.org/p/chromium/issues/detail?id=332624
9231
- //
9232
- invoke(target, method, args, onError, errorRecordedForStack);
9233
- }
9234
- if (this.index !== this._queueBeingFlushed.length && this.globalOptions.mustYield && this.globalOptions.mustYield()) {
9235
- return 1 /* Pause */;
9236
- }
9208
+ for (var i = this.index; i < queueItems.length; i += 4) {
9209
+ this.index += 4;
9210
+ target = queueItems[i];
9211
+ method = queueItems[i + 1];
9212
+ args = queueItems[i + 2];
9213
+ errorRecordedForStack = queueItems[i + 3]; // Debugging assistance
9214
+ // method could have been nullified / canceled during flush
9215
+ if (method !== null) {
9216
+ //
9217
+ // ** Attention intrepid developer **
9218
+ //
9219
+ // To find out the stack of this task when it was scheduled onto
9220
+ // the run loop, add the following to your app.js:
9221
+ //
9222
+ // Ember.run.backburner.DEBUG = true; // NOTE: This slows your app, don't leave it on in production.
9223
+ //
9224
+ // Once that is in place, when you are at a breakpoint and navigate
9225
+ // here in the stack explorer, you can look at `errorRecordedForStack.stack`,
9226
+ // which will be the captured stack when this job was scheduled.
9227
+ //
9228
+ // One possible long-term solution is the following Chrome issue:
9229
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=332624
9230
+ //
9231
+ invoke(target, method, args, onError, errorRecordedForStack);
9232
+ }
9233
+ if (this.index !== this._queueBeingFlushed.length && this.globalOptions.mustYield && this.globalOptions.mustYield()) {
9234
+ return 1 /* Pause */;
9237
9235
  }
9238
9236
  }
9239
9237
  if (after) {
@@ -9434,6 +9432,7 @@ enifed('backburner', ['exports', 'ember-babel'], function (exports, _emberBabel)
9434
9432
 
9435
9433
  // accepts a function that when invoked will return an iterator
9436
9434
  // iterator will drain until completion
9435
+ // accepts a function that when invoked will return an iterator
9437
9436
  var iteratorDrain = function (fn) {
9438
9437
  var iterator = fn();
9439
9438
  var result = iterator.next();
@@ -9443,8 +9442,8 @@ enifed('backburner', ['exports', 'ember-babel'], function (exports, _emberBabel)
9443
9442
  }
9444
9443
  };
9445
9444
 
9445
+ var now = Date.now;
9446
9446
  var noop = function () {};
9447
- var SET_TIMEOUT = setTimeout;
9448
9447
 
9449
9448
  var Backburner = function () {
9450
9449
  function Backburner(queueNames) {
@@ -9481,12 +9480,9 @@ enifed('backburner', ['exports', 'ember-babel'], function (exports, _emberBabel)
9481
9480
  return clearTimeout(id);
9482
9481
  };
9483
9482
  platform.next = _platform.next || function (fn) {
9484
- return SET_TIMEOUT(fn, 0);
9483
+ return platform.setTimeout(fn, 0);
9485
9484
  };
9486
9485
  platform.clearNext = _platform.clearNext || platform.clearTimeout;
9487
- platform.now = _platform.now || function () {
9488
- return Date.now();
9489
- };
9490
9486
  this._platform = platform;
9491
9487
  this._boundRunExpiredTimers = function () {
9492
9488
  _this._runExpiredTimers();
@@ -9772,7 +9768,7 @@ enifed('backburner', ['exports', 'ember-babel'], function (exports, _emberBabel)
9772
9768
  }
9773
9769
  }
9774
9770
  var onError = getOnError(this.options);
9775
- var executeAt = this._platform.now() + wait;
9771
+ var executeAt = now() + wait;
9776
9772
  var fn = void 0;
9777
9773
  if (onError) {
9778
9774
  fn = function () {
@@ -9981,7 +9977,7 @@ enifed('backburner', ['exports', 'ember-babel'], function (exports, _emberBabel)
9981
9977
  var l = timers.length;
9982
9978
  var i = 0;
9983
9979
  var defaultQueue = this.options.defaultQueue;
9984
- var n = this._platform.now();
9980
+ var n = now();
9985
9981
  for (; i < l; i += 2) {
9986
9982
  var executeAt = timers[i];
9987
9983
  if (executeAt <= n) {
@@ -10013,7 +10009,7 @@ enifed('backburner', ['exports', 'ember-babel'], function (exports, _emberBabel)
10013
10009
  return;
10014
10010
  }
10015
10011
  var minExpiresAt = this._timers[0];
10016
- var n = this._platform.now();
10012
+ var n = now();
10017
10013
  var wait = Math.max(0, minExpiresAt - n);
10018
10014
  this._timerTimeoutId = this._platform.setTimeout(this._boundRunExpiredTimers, wait);
10019
10015
  };
@@ -10108,19 +10104,17 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
10108
10104
  if (options.source) {
10109
10105
  var expandedFullName = this.registry.expandLocalLookup(fullName, options);
10110
10106
  // if expandLocalLookup returns falsey, we do not support local lookup
10111
- if (_features.EMBER_MODULE_UNIFICATION) {
10112
- if (expandedFullName) {
10113
- // with ember-module-unification, if expandLocalLookup returns something,
10114
- // pass it to the resolve without the source
10115
- normalizedName = expandedFullName;
10116
- options = {};
10117
- }
10118
- } else {
10107
+ if (!_features.EMBER_MODULE_UNIFICATION) {
10119
10108
  if (!expandedFullName) {
10120
10109
  return;
10121
10110
  }
10122
10111
 
10123
10112
  normalizedName = expandedFullName;
10113
+ } else if (expandedFullName) {
10114
+ // with ember-module-unification, if expandLocalLookup returns something,
10115
+ // pass it to the resolve without the source
10116
+ normalizedName = expandedFullName;
10117
+ options = {};
10124
10118
  }
10125
10119
  }
10126
10120
 
@@ -10131,12 +10125,7 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
10131
10125
  return cached;
10132
10126
  }
10133
10127
 
10134
- var factory = void 0;
10135
- if (_features.EMBER_MODULE_UNIFICATION) {
10136
- factory = this.registry.resolve(normalizedName, options);
10137
- } else {
10138
- factory = this.registry.resolve(normalizedName);
10139
- }
10128
+ var factory = _features.EMBER_MODULE_UNIFICATION ? this.registry.resolve(normalizedName, options) : this.registry.resolve(normalizedName);
10140
10129
 
10141
10130
  if (factory === undefined) {
10142
10131
  return;
@@ -10200,20 +10189,18 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
10200
10189
  if (options.source) {
10201
10190
  var expandedFullName = container.registry.expandLocalLookup(fullName, options);
10202
10191
 
10203
- if (_features.EMBER_MODULE_UNIFICATION) {
10204
- if (expandedFullName) {
10205
- // with ember-module-unification, if expandLocalLookup returns something,
10206
- // pass it to the resolve without the source
10207
- fullName = expandedFullName;
10208
- options = {};
10209
- }
10210
- } else {
10192
+ if (!_features.EMBER_MODULE_UNIFICATION) {
10211
10193
  // if expandLocalLookup returns falsey, we do not support local lookup
10212
10194
  if (!expandedFullName) {
10213
10195
  return;
10214
10196
  }
10215
10197
 
10216
10198
  fullName = expandedFullName;
10199
+ } else if (expandedFullName) {
10200
+ // with ember-module-unification, if expandLocalLookup returns something,
10201
+ // pass it to the resolve without the source
10202
+ fullName = expandedFullName;
10203
+ options = {};
10217
10204
  }
10218
10205
  }
10219
10206
 
@@ -10255,17 +10242,7 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
10255
10242
  }
10256
10243
 
10257
10244
  function instantiateFactory(container, fullName, options) {
10258
-
10259
- var factoryManager = void 0;
10260
- if (_features.EMBER_MODULE_UNIFICATION) {
10261
- if (options && options.source) {
10262
- factoryManager = container.factoryFor(fullName, options);
10263
- } else {
10264
- factoryManager = container.factoryFor(fullName);
10265
- }
10266
- } else {
10267
- factoryManager = container.factoryFor(fullName);
10268
- }
10245
+ var factoryManager = _features.EMBER_MODULE_UNIFICATION && options && options.source ? container.factoryFor(fullName, options) : container.factoryFor(fullName);
10269
10246
 
10270
10247
  if (factoryManager === undefined) {
10271
10248
  return;
@@ -10785,11 +10762,11 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
10785
10762
  return injections;
10786
10763
  },
10787
10764
  resolverCacheKey: function (name, options) {
10788
- if (_features.EMBER_MODULE_UNIFICATION) {
10789
- return options && options.source ? options.source + ':' + name : name;
10790
- } else {
10765
+ if (!_features.EMBER_MODULE_UNIFICATION) {
10791
10766
  return name;
10792
10767
  }
10768
+
10769
+ return options && options.source ? options.source + ':' + name : name;
10793
10770
  }
10794
10771
  };
10795
10772
 
@@ -10878,20 +10855,18 @@ enifed('container', ['exports', 'ember-babel', 'ember-utils', 'ember-debug', 'em
10878
10855
  // and source into the full normalizedName
10879
10856
  var expandedNormalizedName = registry.expandLocalLookup(normalizedName, options);
10880
10857
 
10881
- if (_features.EMBER_MODULE_UNIFICATION) {
10882
- if (expandedNormalizedName) {
10883
- // with ember-module-unification, if expandLocalLookup returns something,
10884
- // pass it to the resolve without the source
10885
- normalizedName = expandedNormalizedName;
10886
- options = {};
10887
- }
10888
- } else {
10889
- // if expandLocalLookup returns falsey, we do not support local lookup
10858
+ // if expandLocalLookup returns falsey, we do not support local lookup
10859
+ if (!_features.EMBER_MODULE_UNIFICATION) {
10890
10860
  if (!expandedNormalizedName) {
10891
10861
  return;
10892
10862
  }
10893
10863
 
10894
10864
  normalizedName = expandedNormalizedName;
10865
+ } else if (expandedNormalizedName) {
10866
+ // with ember-module-unification, if expandLocalLookup returns something,
10867
+ // pass it to the resolve without the source
10868
+ normalizedName = expandedNormalizedName;
10869
+ options = {};
10895
10870
  }
10896
10871
  }
10897
10872
 
@@ -12328,11 +12303,7 @@ enifed('ember-application/system/engine-instance', ['exports', 'ember-babel', 'e
12328
12303
  var env = parent.lookup('-environment:main');
12329
12304
  this.register('-environment:main', env, { instantiate: false });
12330
12305
 
12331
- var singletons = ['router:main', (0, _container.privatize)(_templateObject), '-view-registry:main', 'renderer:-' + (env.isInteractive ? 'dom' : 'inert'), 'service:-document'];
12332
-
12333
- if (env.isInteractive) {
12334
- singletons.push('event_dispatcher:main');
12335
- }
12306
+ var singletons = ['router:main', (0, _container.privatize)(_templateObject), '-view-registry:main', 'renderer:-' + (env.isInteractive ? 'dom' : 'inert'), 'service:-document', 'event_dispatcher:main'];
12336
12307
 
12337
12308
  singletons.forEach(function (key) {
12338
12309
  return _this2.register(key, parent.lookup(key), { instantiate: false });
@@ -12893,7 +12864,7 @@ enifed('ember-application/system/resolver', ['exports', 'ember-utils', 'ember-me
12893
12864
  this._parseNameCache = (0, _emberUtils.dictionary)(null);
12894
12865
  },
12895
12866
  normalize: function (fullName) {
12896
- var _fullName$split = fullName.split(':', 2),
12867
+ var _fullName$split = fullName.split(':'),
12897
12868
  type = _fullName$split[0],
12898
12869
  name = _fullName$split[1];
12899
12870
 
@@ -12901,25 +12872,9 @@ enifed('ember-application/system/resolver', ['exports', 'ember-utils', 'ember-me
12901
12872
 
12902
12873
 
12903
12874
  if (type !== 'template') {
12904
- var result = name;
12905
-
12906
- if (result.indexOf('.') > -1) {
12907
- result = result.replace(/\.(.)/g, function (m) {
12908
- return m.charAt(1).toUpperCase();
12909
- });
12910
- }
12911
-
12912
- if (name.indexOf('_') > -1) {
12913
- result = result.replace(/_(.)/g, function (m) {
12914
- return m.charAt(1).toUpperCase();
12915
- });
12916
- }
12917
-
12918
- if (name.indexOf('-') > -1) {
12919
- result = result.replace(/-(.)/g, function (m) {
12920
- return m.charAt(1).toUpperCase();
12921
- });
12922
- }
12875
+ var result = name.replace(/(\.|_|-)./g, function (m) {
12876
+ return m.charAt(1).toUpperCase();
12877
+ });
12923
12878
 
12924
12879
  return type + ':' + result;
12925
12880
  } else {
@@ -13051,9 +13006,10 @@ enifed('ember-application/system/resolver', ['exports', 'ember-utils', 'ember-me
13051
13006
  @protected
13052
13007
  */
13053
13008
  useRouterNaming: function (parsedName) {
13054
- parsedName.name = parsedName.name.replace(/\./g, '_');
13055
13009
  if (parsedName.name === 'basic') {
13056
13010
  parsedName.name = '';
13011
+ } else {
13012
+ parsedName.name = parsedName.name.replace(/\./g, '_');
13057
13013
  }
13058
13014
  },
13059
13015
 
@@ -13161,15 +13117,9 @@ enifed('ember-application/system/resolver', ['exports', 'ember-utils', 'ember-me
13161
13117
  @private
13162
13118
  */
13163
13119
  _logLookup: function (found, parsedName) {
13164
- var symbol = void 0,
13165
- padding = void 0;
13166
-
13167
- if (found) {
13168
- symbol = '[✓]';
13169
- } else {
13170
- symbol = '[ ]';
13171
- }
13120
+ var symbol = found ? '[✓]' : '[ ]';
13172
13121
 
13122
+ var padding = void 0;
13173
13123
  if (parsedName.fullName.length > 60) {
13174
13124
  padding = '.';
13175
13125
  } else {
@@ -14699,12 +14649,8 @@ enifed('ember-extension-support/data_adapter', ['exports', 'ember-utils', 'ember
14699
14649
  }
14700
14650
 
14701
14651
  var observer = {
14702
- didChange: function (array, idx, removedCount, addedCount) {
14703
- // Only re-fetch records if the record count changed
14704
- // (which is all we care about as far as model types are concerned).
14705
- if (removedCount > 0 || addedCount > 0) {
14706
- _emberMetal.run.scheduleOnce('actions', this, onChange);
14707
- }
14652
+ didChange: function () {
14653
+ _emberMetal.run.scheduleOnce('actions', this, onChange);
14708
14654
  },
14709
14655
  willChange: function () {
14710
14656
  return this;
@@ -16898,12 +16844,13 @@ enifed('ember-glimmer/components/link-to', ['exports', 'ember-console', 'ember-d
16898
16844
  queryParams: null,
16899
16845
 
16900
16846
  qualifiedRouteName: (0, _emberMetal.computed)('targetRouteName', '_routing.currentState', function computeLinkToComponentQualifiedRouteName() {
16901
- var params = (0, _emberMetal.get)(this, 'params').slice();
16902
- var lastParam = params[params.length - 1];
16847
+ var params = (0, _emberMetal.get)(this, 'params');
16848
+ var paramsLength = params.length;
16849
+ var lastParam = params[paramsLength - 1];
16903
16850
  if (lastParam && lastParam.isQueryParams) {
16904
- params.pop();
16851
+ paramsLength--;
16905
16852
  }
16906
- var onlyQueryParamsSupplied = this[_component.HAS_BLOCK] ? params.length === 0 : params.length === 1;
16853
+ var onlyQueryParamsSupplied = this[_component.HAS_BLOCK] ? paramsLength === 0 : paramsLength === 1;
16907
16854
  if (onlyQueryParamsSupplied) {
16908
16855
  return (0, _emberMetal.get)(this, '_routing.currentRouteName');
16909
16856
  }
@@ -17561,7 +17508,7 @@ enifed('ember-glimmer/environment', ['exports', 'ember-babel', 'ember-utils', 'e
17561
17508
  (0, _emberBabel.inherits)(Environment, _GlimmerEnvironment);
17562
17509
 
17563
17510
  Environment.create = function create(options) {
17564
- return new Environment(options);
17511
+ return new this(options);
17565
17512
  };
17566
17513
 
17567
17514
  function Environment(_ref) {
@@ -17674,11 +17621,7 @@ enifed('ember-glimmer/environment', ['exports', 'ember-babel', 'ember-utils', 'e
17674
17621
  }
17675
17622
 
17676
17623
  Environment.prototype._resolveLocalLookupName = function _resolveLocalLookupName(name, source, owner) {
17677
- if (_features.EMBER_MODULE_UNIFICATION) {
17678
- return source + ':' + name;
17679
- } else {
17680
- return owner._resolveLocalLookupName(name, source);
17681
- }
17624
+ return _features.EMBER_MODULE_UNIFICATION ? source + ':' + name : owner._resolveLocalLookupName(name, source);
17682
17625
  };
17683
17626
 
17684
17627
  Environment.prototype.macros = function macros() {
@@ -18100,7 +18043,6 @@ enifed('ember-glimmer/helpers/action', ['exports', 'ember-utils', 'ember-metal',
18100
18043
 
18101
18044
 
18102
18045
  var capturedArgs = positional.capture();
18103
- var references = capturedArgs.references;
18104
18046
 
18105
18047
  // The first two argument slots are reserved.
18106
18048
  // pos[0] is the context (or `this`)
@@ -18873,11 +18815,8 @@ enifed('ember-glimmer/helpers/if-unless', ['exports', 'ember-babel', 'ember-debu
18873
18815
  var ConditionalHelperReference = function (_CachedReference) {
18874
18816
  (0, _emberBabel.inherits)(ConditionalHelperReference, _CachedReference);
18875
18817
 
18876
- ConditionalHelperReference.create = function create(_condRef, _truthyRef, _falsyRef) {
18818
+ ConditionalHelperReference.create = function create(_condRef, truthyRef, falsyRef) {
18877
18819
  var condRef = _references.ConditionalReference.create(_condRef);
18878
- var truthyRef = _truthyRef || _references.UNDEFINED_REFERENCE;
18879
- var falsyRef = _falsyRef || _references.UNDEFINED_REFERENCE;
18880
-
18881
18820
  if ((0, _reference.isConst)(condRef)) {
18882
18821
  return condRef.value() ? truthyRef : falsyRef;
18883
18822
  } else {
@@ -18900,12 +18839,7 @@ enifed('ember-glimmer/helpers/if-unless', ['exports', 'ember-babel', 'ember-debu
18900
18839
  }
18901
18840
 
18902
18841
  ConditionalHelperReference.prototype.compute = function compute() {
18903
- var cond = this.cond,
18904
- truthy = this.truthy,
18905
- falsy = this.falsy;
18906
-
18907
-
18908
- var branch = cond.value() ? truthy : falsy;
18842
+ var branch = this.cond.value() ? this.truthy : this.falsy;
18909
18843
 
18910
18844
  this.branchTag.update(branch.tag);
18911
18845
 
@@ -18999,16 +18933,9 @@ enifed('ember-glimmer/helpers/if-unless', ['exports', 'ember-babel', 'ember-debu
18999
18933
  */
19000
18934
  function inlineIf(vm, _ref) {
19001
18935
  var positional = _ref.positional;
18936
+ (true && !(positional.length === 3 || positional.length === 2) && (0, _emberDebug.assert)('The inline form of the `if` helper expects two or three arguments, e.g. ' + '`{{if trialExpired "Expired" expiryDate}}`.', positional.length === 3 || positional.length === 2));
19002
18937
 
19003
- switch (positional.length) {
19004
- case 2:
19005
- return ConditionalHelperReference.create(positional.at(0), positional.at(1), null);
19006
- case 3:
19007
- return ConditionalHelperReference.create(positional.at(0), positional.at(1), positional.at(2));
19008
- default:
19009
- (true && !(false) && (0, _emberDebug.assert)('The inline form of the `if` helper expects two or three arguments, e.g. ' + '`{{if trialExpired "Expired" expiryDate}}`.'));
19010
-
19011
- }
18938
+ return ConditionalHelperReference.create(positional.at(0), positional.at(1), positional.at(2));
19012
18939
  }
19013
18940
 
19014
18941
  /**
@@ -19033,16 +18960,9 @@ enifed('ember-glimmer/helpers/if-unless', ['exports', 'ember-babel', 'ember-debu
19033
18960
  */
19034
18961
  function inlineUnless(vm, _ref2) {
19035
18962
  var positional = _ref2.positional;
18963
+ (true && !(positional.length === 3 || positional.length === 2) && (0, _emberDebug.assert)('The inline form of the `unless` helper expects two or three arguments, e.g. ' + '`{{unless isFirstLogin "Welcome back!"}}`.', positional.length === 3 || positional.length === 2));
19036
18964
 
19037
- switch (positional.length) {
19038
- case 2:
19039
- return ConditionalHelperReference.create(positional.at(0), null, positional.at(1));
19040
- case 3:
19041
- return ConditionalHelperReference.create(positional.at(0), positional.at(2), positional.at(1));
19042
- default:
19043
- (true && !(false) && (0, _emberDebug.assert)('The inline form of the `unless` helper expects two or three arguments, e.g. ' + '`{{unless isFirstLogin "Welcome back!"}}`.'));
19044
-
19045
- }
18965
+ return ConditionalHelperReference.create(positional.at(0), positional.at(2), positional.at(1));
19046
18966
  }
19047
18967
  });
19048
18968
  enifed('ember-glimmer/helpers/loc', ['exports', 'ember-glimmer/utils/references', 'ember-runtime'], function (exports, _references, _emberRuntime) {
@@ -21855,22 +21775,10 @@ enifed('ember-glimmer/utils/process-args', ['exports', 'ember-babel', 'ember-uti
21855
21775
  return MutableCell;
21856
21776
  }();
21857
21777
  });
21858
- enifed('ember-glimmer/utils/references', ['exports', '@glimmer/runtime', 'ember-babel', 'ember-utils', 'ember-metal', '@glimmer/reference', 'ember-glimmer/utils/to-bool', 'ember-glimmer/helper', 'ember/features'], function (exports, _runtime, _emberBabel, _emberUtils, _emberMetal, _reference, _toBool, _helper, _features) {
21778
+ enifed('ember-glimmer/utils/references', ['exports', 'ember-babel', 'ember-utils', 'ember-metal', '@glimmer/reference', '@glimmer/runtime', 'ember-glimmer/utils/to-bool', 'ember-glimmer/helper', 'ember/features'], function (exports, _emberBabel, _emberUtils, _emberMetal, _reference, _runtime, _toBool, _helper, _features) {
21859
21779
  'use strict';
21860
21780
 
21861
- exports.UnboundReference = exports.InternalHelperReference = exports.ClassBasedHelperReference = exports.SimpleHelperReference = exports.ConditionalReference = exports.UpdatablePrimitiveReference = exports.UpdatableReference = exports.NestedPropertyReference = exports.RootPropertyReference = exports.PropertyReference = exports.RootReference = exports.CachedReference = exports.UNDEFINED_REFERENCE = exports.NULL_REFERENCE = exports.UPDATE = undefined;
21862
- Object.defineProperty(exports, 'NULL_REFERENCE', {
21863
- enumerable: true,
21864
- get: function () {
21865
- return _runtime.NULL_REFERENCE;
21866
- }
21867
- });
21868
- Object.defineProperty(exports, 'UNDEFINED_REFERENCE', {
21869
- enumerable: true,
21870
- get: function () {
21871
- return _runtime.UNDEFINED_REFERENCE;
21872
- }
21873
- });
21781
+ exports.UnboundReference = exports.InternalHelperReference = exports.ClassBasedHelperReference = exports.SimpleHelperReference = exports.ConditionalReference = exports.UpdatablePrimitiveReference = exports.UpdatableReference = exports.NestedPropertyReference = exports.RootPropertyReference = exports.PropertyReference = exports.RootReference = exports.CachedReference = exports.UPDATE = undefined;
21874
21782
  var UPDATE = exports.UPDATE = (0, _emberUtils.symbol)('UPDATE');
21875
21783
 
21876
21784
  var maybeFreeze = void 0;
@@ -21952,7 +21860,7 @@ enifed('ember-glimmer/utils/references', ['exports', '@glimmer/runtime', 'ember-
21952
21860
  RootReference.prototype.get = function get(propertyKey) {
21953
21861
  var ref = this.children[propertyKey];
21954
21862
 
21955
- if (!ref) {
21863
+ if (ref === undefined) {
21956
21864
  ref = this.children[propertyKey] = new RootPropertyReference(this.inner, propertyKey);
21957
21865
  }
21958
21866
 
@@ -22234,11 +22142,7 @@ enifed('ember-glimmer/utils/references', ['exports', '@glimmer/runtime', 'ember-
22234
22142
 
22235
22143
  var _result = helper(positionalValue, namedValue);
22236
22144
 
22237
- if (_result === null) {
22238
- return _runtime.NULL_REFERENCE;
22239
- } else if (_result === undefined) {
22240
- return _runtime.UNDEFINED_REFERENCE;
22241
- } else if (typeof _result === 'object' || typeof _result === 'function') {
22145
+ if (typeof _result === 'object' && _result !== null || typeof _result === 'function') {
22242
22146
  return new RootReference(_result);
22243
22147
  } else {
22244
22148
  return _runtime.PrimitiveReference.create(_result);
@@ -22354,11 +22258,7 @@ enifed('ember-glimmer/utils/references', ['exports', '@glimmer/runtime', 'ember-
22354
22258
  }
22355
22259
 
22356
22260
  UnboundReference.create = function create(value) {
22357
- if (value === null) {
22358
- return _runtime.NULL_REFERENCE;
22359
- } else if (value === undefined) {
22360
- return _runtime.UNDEFINED_REFERENCE;
22361
- } else if (typeof value === 'object' || typeof result === 'function') {
22261
+ if (typeof value === 'object' && value !== null || typeof result === 'function') {
22362
22262
  return new UnboundReference(value);
22363
22263
  } else {
22364
22264
  return _runtime.PrimitiveReference.create(value);
@@ -22907,46 +22807,6 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
22907
22807
 
22908
22808
  */
22909
22809
 
22910
- function indexOf(array, target, method) {
22911
- var index = -1;
22912
- // hashes are added to the end of the event array
22913
- // so it makes sense to start searching at the end
22914
- // of the array and search in reverse
22915
- for (var i = array.length - 3; i >= 0; i -= 3) {
22916
- if (target === array[i] && method === array[i + 1]) {
22917
- index = i;
22918
- break;
22919
- }
22920
- }
22921
- return index;
22922
- }
22923
-
22924
- function accumulateListeners(obj, eventName, otherActions) {
22925
- var meta$$1 = exports.peekMeta(obj);
22926
- if (!meta$$1) {
22927
- return;
22928
- }
22929
- var actions = meta$$1.matchingListeners(eventName);
22930
- if (actions === undefined) {
22931
- return;
22932
- }
22933
- var newActions = [];
22934
-
22935
- for (var i = actions.length - 3; i >= 0; i -= 3) {
22936
- var target = actions[i];
22937
- var method = actions[i + 1];
22938
- var flags = actions[i + 2];
22939
- var actionIndex = indexOf(otherActions, target, method);
22940
-
22941
- if (actionIndex === -1) {
22942
- otherActions.push(target, method, flags);
22943
- newActions.push(target, method, flags);
22944
- }
22945
- }
22946
-
22947
- return newActions;
22948
- }
22949
-
22950
22810
  /**
22951
22811
  Add an event listener
22952
22812
 
@@ -23257,7 +23117,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23257
23117
  }
23258
23118
 
23259
23119
  if (propertyKey === 'content' && meta$$1.isProxy()) {
23260
- meta$$1.getTag().contentDidChange();
23120
+ objectTag.contentDidChange();
23261
23121
  }
23262
23122
 
23263
23123
  if (objectTag !== undefined || propertyTag !== undefined) {
@@ -23265,14 +23125,14 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23265
23125
  }
23266
23126
  }
23267
23127
 
23268
- var run = void 0;
23128
+ var backburner = void 0;
23269
23129
  function ensureRunloop() {
23270
- if (run === undefined) {
23271
- run = require('ember-metal').run;
23130
+ if (backburner === undefined) {
23131
+ backburner = require('ember-metal').run.backburner;
23272
23132
  }
23273
23133
 
23274
23134
  if (hasViews()) {
23275
- run.backburner.ensureInstance();
23135
+ backburner.ensureInstance();
23276
23136
  }
23277
23137
  }
23278
23138
 
@@ -23307,12 +23167,12 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23307
23167
  var observers = this.observers;
23308
23168
  var senderGuid = emberUtils.guidFor(sender);
23309
23169
  var keySet = observerSet[senderGuid];
23310
- var index = void 0;
23311
23170
 
23312
- if (!keySet) {
23171
+ if (keySet === undefined) {
23313
23172
  observerSet[senderGuid] = keySet = {};
23314
23173
  }
23315
- index = keySet[keyName];
23174
+
23175
+ var index = keySet[keyName];
23316
23176
  if (index === undefined) {
23317
23177
  index = observers.push({
23318
23178
  sender: sender,
@@ -23327,11 +23187,10 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23327
23187
 
23328
23188
  ObserverSet.prototype.flush = function flush() {
23329
23189
  var observers = this.observers;
23330
- var i = void 0,
23331
- observer = void 0,
23190
+ var observer = void 0,
23332
23191
  sender = void 0;
23333
23192
  this.clear();
23334
- for (i = 0; i < observers.length; ++i) {
23193
+ for (var i = 0; i < observers.length; ++i) {
23335
23194
  observer = observers[i];
23336
23195
  sender = observer.sender;
23337
23196
  if (sender.isDestroying || sender.isDestroyed) {
@@ -23466,7 +23325,6 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23466
23325
  */
23467
23326
  function propertyWillChange(obj, keyName, _meta) {
23468
23327
  var meta$$1 = _meta || exports.peekMeta(obj);
23469
-
23470
23328
  if (meta$$1 && !meta$$1.isInitialized(obj)) {
23471
23329
  return;
23472
23330
  }
@@ -23520,11 +23378,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23520
23378
  }
23521
23379
 
23522
23380
  if (hasMeta && meta$$1.peekWatching(keyName) > 0) {
23523
- if (meta$$1.hasDeps(keyName) && !meta$$1.isSourceDestroying()) {
23524
- dependentKeysDidChange(obj, keyName, meta$$1);
23525
- }
23526
-
23527
- chainsDidChange(obj, keyName, meta$$1, false);
23381
+ dependentKeysDidChange(obj, keyName, meta$$1);
23382
+ chainsDidChange(obj, keyName, meta$$1);
23528
23383
  notifyObservers(obj, keyName, meta$$1);
23529
23384
  }
23530
23385
 
@@ -23548,27 +23403,28 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23548
23403
  var DID_SEEN = void 0;
23549
23404
  // called whenever a property is about to change to clear the cache of any dependent keys (and notify those properties of changes, etc...)
23550
23405
  function dependentKeysWillChange(obj, depKey, meta$$1) {
23551
- if (meta$$1.isSourceDestroying()) {
23406
+ if (meta$$1.isSourceDestroying() || !meta$$1.hasDeps(depKey)) {
23552
23407
  return;
23553
23408
  }
23554
- if (meta$$1.hasDeps(depKey)) {
23555
- var seen = WILL_SEEN;
23556
- var top = !seen;
23409
+ var seen = WILL_SEEN;
23410
+ var top = !seen;
23557
23411
 
23558
- if (top) {
23559
- seen = WILL_SEEN = {};
23560
- }
23412
+ if (top) {
23413
+ seen = WILL_SEEN = {};
23414
+ }
23561
23415
 
23562
- iterDeps(propertyWillChange, obj, depKey, seen, meta$$1);
23416
+ iterDeps(propertyWillChange, obj, depKey, seen, meta$$1);
23563
23417
 
23564
- if (top) {
23565
- WILL_SEEN = null;
23566
- }
23418
+ if (top) {
23419
+ WILL_SEEN = null;
23567
23420
  }
23568
23421
  }
23569
23422
 
23570
23423
  // called whenever a property has just changed to update dependent keys
23571
23424
  function dependentKeysDidChange(obj, depKey, meta$$1) {
23425
+ if (meta$$1.isSourceDestroying() || !meta$$1.hasDeps(depKey)) {
23426
+ return;
23427
+ }
23572
23428
  var seen = DID_SEEN;
23573
23429
  var top = !seen;
23574
23430
 
@@ -23617,21 +23473,21 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23617
23473
 
23618
23474
  function chainsWillChange(obj, keyName, meta$$1) {
23619
23475
  var chainWatchers = meta$$1.readableChainWatchers();
23620
- if (chainWatchers) {
23476
+ if (chainWatchers !== undefined) {
23621
23477
  chainWatchers.notify(keyName, false, propertyWillChange);
23622
23478
  }
23623
23479
  }
23624
23480
 
23625
23481
  function chainsDidChange(obj, keyName, meta$$1) {
23626
23482
  var chainWatchers = meta$$1.readableChainWatchers();
23627
- if (chainWatchers) {
23483
+ if (chainWatchers !== undefined) {
23628
23484
  chainWatchers.notify(keyName, true, propertyDidChange);
23629
23485
  }
23630
23486
  }
23631
23487
 
23632
23488
  function overrideChains(obj, keyName, meta$$1) {
23633
23489
  var chainWatchers = meta$$1.readableChainWatchers();
23634
- if (chainWatchers) {
23490
+ if (chainWatchers !== undefined) {
23635
23491
  chainWatchers.revalidate(keyName);
23636
23492
  }
23637
23493
  }
@@ -23678,8 +23534,44 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23678
23534
  try {
23679
23535
  callback.call(binding);
23680
23536
  } finally {
23681
- endPropertyChanges.call(binding);
23537
+ endPropertyChanges();
23538
+ }
23539
+ }
23540
+
23541
+ function indexOf(array, target, method) {
23542
+ var index = -1;
23543
+ // hashes are added to the end of the event array
23544
+ // so it makes sense to start searching at the end
23545
+ // of the array and search in reverse
23546
+ for (var i = array.length - 3; i >= 0; i -= 3) {
23547
+ if (target === array[i] && method === array[i + 1]) {
23548
+ index = i;
23549
+ break;
23550
+ }
23551
+ }
23552
+ return index;
23553
+ }
23554
+
23555
+ function accumulateListeners(obj, eventName, otherActions, meta$$1) {
23556
+ var actions = meta$$1.matchingListeners(eventName);
23557
+ if (actions === undefined) {
23558
+ return;
23682
23559
  }
23560
+ var newActions = [];
23561
+
23562
+ for (var i = actions.length - 3; i >= 0; i -= 3) {
23563
+ var target = actions[i];
23564
+ var method = actions[i + 1];
23565
+ var flags = actions[i + 2];
23566
+ var actionIndex = indexOf(otherActions, target, method);
23567
+
23568
+ if (actionIndex === -1) {
23569
+ otherActions.push(target, method, flags);
23570
+ newActions.push(target, method, flags);
23571
+ }
23572
+ }
23573
+
23574
+ return newActions;
23683
23575
  }
23684
23576
 
23685
23577
  function notifyBeforeObservers(obj, keyName, meta$$1) {
@@ -23690,13 +23582,11 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23690
23582
  var eventName = keyName + ':before';
23691
23583
  var listeners = void 0,
23692
23584
  added = void 0;
23693
- if (deferred) {
23585
+ if (deferred > 0) {
23694
23586
  listeners = beforeObserverSet.add(obj, keyName, eventName);
23695
- added = accumulateListeners(obj, eventName, listeners);
23696
- sendEvent(obj, eventName, [obj, keyName], added);
23697
- } else {
23698
- sendEvent(obj, eventName, [obj, keyName]);
23587
+ added = accumulateListeners(obj, eventName, listeners, meta$$1);
23699
23588
  }
23589
+ sendEvent(obj, eventName, [obj, keyName], added);
23700
23590
  }
23701
23591
 
23702
23592
  function notifyObservers(obj, keyName, meta$$1) {
@@ -23706,9 +23596,9 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23706
23596
 
23707
23597
  var eventName = keyName + ':change';
23708
23598
  var listeners = void 0;
23709
- if (deferred) {
23599
+ if (deferred > 0) {
23710
23600
  listeners = observerSet.add(obj, keyName, eventName);
23711
- accumulateListeners(obj, eventName, listeners);
23601
+ accumulateListeners(obj, eventName, listeners, meta$$1);
23712
23602
  } else {
23713
23603
  sendEvent(obj, eventName, [obj, keyName]);
23714
23604
  }
@@ -23770,14 +23660,19 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23770
23660
  function DEFAULT_GETTER_FUNCTION(name) {
23771
23661
  return function GETTER_FUNCTION() {
23772
23662
  var meta$$1 = exports.peekMeta(this);
23773
- return meta$$1 && meta$$1.peekValues(name);
23663
+ if (meta$$1 !== null && meta$$1 !== undefined) {
23664
+ return meta$$1.peekValues(name);
23665
+ }
23774
23666
  };
23775
23667
  }
23776
23668
 
23777
23669
  function INHERITING_GETTER_FUNCTION(name) {
23778
23670
  function IGETTER_FUNCTION() {
23779
23671
  var meta$$1 = exports.peekMeta(this);
23780
- var val = meta$$1 && meta$$1.readInheritedValue('values', name);
23672
+ var val = void 0;
23673
+ if (meta$$1 !== null && meta$$1 !== undefined) {
23674
+ val = meta$$1.readInheritedValue('values', name);
23675
+ }
23781
23676
 
23782
23677
  if (val === UNDEFINED) {
23783
23678
  var proto = Object.getPrototypeOf(this);
@@ -23837,7 +23732,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
23837
23732
  become the explicit value of this property.
23838
23733
  */
23839
23734
  function defineProperty(obj, keyName, desc, data, meta$$1) {
23840
- if (!meta$$1) {
23735
+ if (meta$$1 === null || meta$$1 === undefined) {
23841
23736
  meta$$1 = meta(obj);
23842
23737
  }
23843
23738
 
@@ -24080,13 +23975,6 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24080
23975
  }
24081
23976
  }
24082
23977
 
24083
- // get the chains for the current object. If the current object has
24084
- // chains inherited from the proto they will be cloned and reconfigured for
24085
- // the current object.
24086
- function chainsFor(obj, meta$$1) {
24087
- return (meta$$1 || meta(obj)).writableChains(makeChainNode);
24088
- }
24089
-
24090
23978
  function makeChainNode(obj) {
24091
23979
  return new ChainNode(null, null, obj);
24092
23980
  }
@@ -24101,7 +23989,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24101
23989
  m.writeWatching(keyPath, counter + 1);
24102
23990
  if (counter === 0) {
24103
23991
  // activate watching first time
24104
- chainsFor(obj, m).add(keyPath);
23992
+ m.writableChains(makeChainNode).add(keyPath);
24105
23993
  }
24106
23994
  }
24107
23995
 
@@ -24117,7 +24005,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24117
24005
 
24118
24006
  if (counter === 1) {
24119
24007
  m.writeWatching(keyPath, 0);
24120
- chainsFor(obj, m).remove(keyPath);
24008
+ m.readableChains().remove(keyPath);
24121
24009
  } else if (counter > 1) {
24122
24010
  m.writeWatching(keyPath, counter - 1);
24123
24011
  }
@@ -24316,14 +24204,12 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24316
24204
  ChainNode.prototype.copy = function copy(obj) {
24317
24205
  var ret = new ChainNode(null, null, obj);
24318
24206
  var paths = this._paths;
24319
- var path = void 0;
24320
24207
  if (paths !== undefined) {
24208
+ var path = void 0;
24321
24209
  for (path in paths) {
24322
- // this check will also catch non-number vals.
24323
- if (paths[path] <= 0) {
24324
- continue;
24210
+ if (paths[path] > 0) {
24211
+ ret.add(path);
24325
24212
  }
24326
- ret.add(path);
24327
24213
  }
24328
24214
  }
24329
24215
  return ret;
@@ -24423,8 +24309,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24423
24309
 
24424
24310
  // then notify chains...
24425
24311
  var chains = this._chains;
24426
- var node = void 0;
24427
24312
  if (chains !== undefined) {
24313
+ var node = void 0;
24428
24314
  for (var key in chains) {
24429
24315
  node = chains[key];
24430
24316
  if (node !== undefined) {
@@ -24445,10 +24331,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24445
24331
 
24446
24332
  if (this._parent) {
24447
24333
  this._parent.populateAffected(path, depth + 1, affected);
24448
- } else {
24449
- if (depth > 1) {
24450
- affected.push(this.value(), path);
24451
- }
24334
+ } else if (depth > 1) {
24335
+ affected.push(this.value(), path);
24452
24336
  }
24453
24337
  };
24454
24338
 
@@ -24575,14 +24459,6 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24575
24459
  return this.proto !== obj;
24576
24460
  };
24577
24461
 
24578
- Meta.prototype.setTag = function setTag(tag) {
24579
- this._tag = tag;
24580
- };
24581
-
24582
- Meta.prototype.getTag = function getTag(tag) {
24583
- return this._tag;
24584
- };
24585
-
24586
24462
  Meta.prototype.destroy = function destroy() {
24587
24463
  if (this.isMetaDestroyed()) {
24588
24464
  return;
@@ -24593,14 +24469,14 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24593
24469
  key = void 0,
24594
24470
  nodeObject = void 0;
24595
24471
  var node = this.readableChains();
24596
- if (node) {
24472
+ if (node !== undefined) {
24597
24473
  NODE_STACK.push(node);
24598
24474
  // process tree
24599
24475
  while (NODE_STACK.length > 0) {
24600
24476
  node = NODE_STACK.pop();
24601
24477
  // push children
24602
24478
  nodes = node._chains;
24603
- if (nodes) {
24479
+ if (nodes !== undefined) {
24604
24480
  for (key in nodes) {
24605
24481
  if (nodes[key] !== undefined) {
24606
24482
  NODE_STACK.push(nodes[key]);
@@ -24611,7 +24487,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24611
24487
  // remove chainWatcher in node object
24612
24488
  if (node._watching) {
24613
24489
  nodeObject = node._object;
24614
- if (nodeObject) {
24490
+ if (nodeObject !== undefined) {
24615
24491
  var foreignMeta = exports.peekMeta(nodeObject);
24616
24492
  // avoid cleaning up chain watchers when both current and
24617
24493
  // foreign objects are being destroyed
@@ -24824,11 +24700,12 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24824
24700
 
24825
24701
  var ret = this._chains;
24826
24702
  if (ret === undefined) {
24827
- if (this.parent) {
24828
- ret = this._chains = this.parent.writableChains(create).copy(this.source);
24703
+ if (this.parent === undefined) {
24704
+ ret = create(this.source);
24829
24705
  } else {
24830
- ret = this._chains = create(this.source);
24706
+ ret = this.parent.writableChains(create).copy(this.source);
24831
24707
  }
24708
+ this._chains = ret;
24832
24709
  }
24833
24710
  return ret;
24834
24711
  };
@@ -24838,7 +24715,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
24838
24715
  };
24839
24716
 
24840
24717
  Meta.prototype.writeWatching = function writeWatching(subkey, value) {
24841
- true && !!this.isMetaDestroyed() && emberDebug.assert('Cannot update watchers for `hello` on `' + emberUtils.toString(this.source) + '` after it has been destroyed.', !this.isMetaDestroyed());
24718
+ true && !!this.isMetaDestroyed() && emberDebug.assert('Cannot update watchers for `' + subkey + '` on `' + emberUtils.toString(this.source) + '` after it has been destroyed.', !this.isMetaDestroyed());
24842
24719
 
24843
24720
  var map = this._getOrCreateOwnMap('_watching');
24844
24721
  map[subkey] = value;
@@ -25041,7 +24918,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25041
24918
 
25042
24919
  pointer = getPrototypeOf(pointer);
25043
24920
  {
25044
- counters.peakPrototypeWalks++;
24921
+ counters.peekPrototypeWalks++;
25045
24922
  }
25046
24923
  }
25047
24924
  };
@@ -25191,47 +25068,29 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25191
25068
  return DefaultStore;
25192
25069
  }();
25193
25070
 
25194
- var IS_GLOBAL = /^[A-Z$]/;
25195
25071
  var IS_GLOBAL_PATH = /^[A-Z$].*[\.]/;
25196
- var HAS_THIS = 'this.';
25197
25072
 
25198
- var isGlobalCache = new Cache(1000, function (key) {
25199
- return IS_GLOBAL.test(key);
25200
- });
25201
25073
  var isGlobalPathCache = new Cache(1000, function (key) {
25202
25074
  return IS_GLOBAL_PATH.test(key);
25203
25075
  });
25204
- var hasThisCache = new Cache(1000, function (key) {
25205
- return key.lastIndexOf(HAS_THIS, 0) === 0;
25206
- });
25207
25076
  var firstDotIndexCache = new Cache(1000, function (key) {
25208
25077
  return key.indexOf('.');
25209
25078
  });
25210
25079
 
25211
25080
  var firstKeyCache = new Cache(1000, function (path) {
25212
25081
  var index = firstDotIndexCache.get(path);
25213
- if (index === -1) {
25214
- return path;
25215
- } else {
25216
- return path.slice(0, index);
25217
- }
25082
+ return index === -1 ? path : path.slice(0, index);
25218
25083
  });
25219
25084
 
25220
25085
  var tailPathCache = new Cache(1000, function (path) {
25221
25086
  var index = firstDotIndexCache.get(path);
25222
- if (index !== -1) {
25223
- return path.slice(index + 1);
25224
- }
25087
+ return index === -1 ? undefined : path.slice(index + 1);
25225
25088
  });
25226
25089
 
25227
25090
  function isGlobalPath(path) {
25228
25091
  return isGlobalPathCache.get(path);
25229
25092
  }
25230
25093
 
25231
- function hasThis(path) {
25232
- return hasThisCache.get(path);
25233
- }
25234
-
25235
25094
  function isPath(path) {
25236
25095
  return firstDotIndexCache.get(path) !== -1;
25237
25096
  }
@@ -25294,7 +25153,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25294
25153
  true && !(arguments.length === 2) && emberDebug.assert('Get must be called with two arguments; an object and a property key', arguments.length === 2);
25295
25154
  true && !(obj !== undefined && obj !== null) && emberDebug.assert('Cannot call get with \'' + keyName + '\' on an undefined object.', obj !== undefined && obj !== null);
25296
25155
  true && !(typeof keyName === 'string') && emberDebug.assert('The key provided to get must be a string, you passed ' + keyName, typeof keyName === 'string');
25297
- true && !!hasThis(keyName) && emberDebug.assert('\'this\' in paths is not supported', !hasThis(keyName));
25156
+ true && !(keyName.lastIndexOf('this.', 0) !== 0) && emberDebug.assert('\'this\' in paths is not supported', keyName.lastIndexOf('this.', 0) !== 0);
25298
25157
  true && !(keyName !== '') && emberDebug.assert('Cannot call `Ember.get` with an empty string', keyName !== '');
25299
25158
 
25300
25159
  var value = obj[keyName];
@@ -25304,7 +25163,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25304
25163
  return value.get(obj, keyName);
25305
25164
  } else if (isPath(keyName)) {
25306
25165
  return _getPath(obj, keyName);
25307
- } else if (value === undefined && 'object' === typeof obj && !(keyName in obj) && 'function' === typeof obj.unknownProperty) {
25166
+ } else if (value === undefined && 'object' === typeof obj && !(keyName in obj) && typeof obj.unknownProperty === 'function') {
25308
25167
  return obj.unknownProperty(keyName);
25309
25168
  } else {
25310
25169
  return value;
@@ -25381,7 +25240,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25381
25240
  true && !(arguments.length === 3 || arguments.length === 4) && emberDebug.assert('Set must be called with three or four arguments; an object, a property key, a value and tolerant true/false', arguments.length === 3 || arguments.length === 4);
25382
25241
  true && !(obj && typeof obj === 'object' || typeof obj === 'function') && emberDebug.assert('Cannot call set with \'' + keyName + '\' on an undefined object.', obj && typeof obj === 'object' || typeof obj === 'function');
25383
25242
  true && !(typeof keyName === 'string') && emberDebug.assert('The key provided to set must be a string, you passed ' + keyName, typeof keyName === 'string');
25384
- true && !!hasThis(keyName) && emberDebug.assert('\'this\' in paths is not supported', !hasThis(keyName));
25243
+ true && !(keyName.lastIndexOf('this.', 0) !== 0) && emberDebug.assert('\'this\' in paths is not supported', keyName.lastIndexOf('this.', 0) !== 0);
25385
25244
  true && !!obj.isDestroyed && emberDebug.assert('calling set on destroyed object: ' + emberUtils.toString(obj) + '.' + keyName + ' = ' + emberUtils.toString(value), !obj.isDestroyed);
25386
25245
 
25387
25246
  if (isPath(keyName)) {
@@ -25394,10 +25253,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25394
25253
  if (isDescriptor) {
25395
25254
  /* computed property */
25396
25255
  currentValue.set(obj, keyName, value);
25397
- } else if (obj.setUnknownProperty && currentValue === undefined && !(keyName in obj)) {
25256
+ } else if (currentValue === undefined && 'object' === typeof obj && !(keyName in obj) && typeof obj.setUnknownProperty === 'function') {
25398
25257
  /* unknown property */
25399
- true && !(typeof obj.setUnknownProperty === 'function') && emberDebug.assert('setUnknownProperty must be a function', typeof obj.setUnknownProperty === 'function');
25400
-
25401
25258
  obj.setUnknownProperty(keyName, value);
25402
25259
  } else if (currentValue === value) {/* no change */
25403
25260
  } else {
@@ -25437,31 +25294,20 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25437
25294
  }
25438
25295
 
25439
25296
  function setPath(root, path, value, tolerant) {
25440
- // get the last part of the path
25441
- var keyName = path.slice(path.lastIndexOf('.') + 1);
25297
+ var parts = path.split('.');
25298
+ var keyName = parts.pop();
25442
25299
 
25443
- // get the first part of the part
25444
- path = path === keyName ? keyName : path.slice(0, path.length - (keyName.length + 1));
25300
+ true && !(keyName.trim().length > 0) && emberDebug.assert('Property set failed: You passed an empty path', keyName.trim().length > 0);
25445
25301
 
25446
- // unless the path is this, look up the first part to
25447
- // get the root
25448
- if (path !== 'this') {
25449
- root = _getPath(root, path);
25450
- }
25302
+ var newPath = parts.join('.');
25451
25303
 
25452
- if (!keyName || keyName.length === 0) {
25453
- throw new emberDebug.Error('Property set failed: You passed an empty path');
25454
- }
25304
+ var newRoot = _getPath(root, newPath);
25455
25305
 
25456
- if (!root) {
25457
- if (tolerant) {
25458
- return;
25459
- } else {
25460
- throw new emberDebug.Error('Property set failed: object in path "' + path + '" could not be found or was destroyed.');
25461
- }
25306
+ if (newRoot) {
25307
+ return set(newRoot, keyName, value);
25308
+ } else if (!tolerant) {
25309
+ throw new emberDebug.Error('Property set failed: object in path "' + newPath + '" could not be found or was destroyed.');
25462
25310
  }
25463
-
25464
- return set(root, keyName, value);
25465
25311
  }
25466
25312
 
25467
25313
  /**
@@ -25511,7 +25357,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25511
25357
 
25512
25358
  @method expandProperties
25513
25359
  @for Ember
25514
- @private
25360
+ @public
25515
25361
  @param {String} pattern The property pattern to expand.
25516
25362
  @param {Function} callback The callback to invoke. It is invoked once per
25517
25363
  expansion, and is passed the expansion.
@@ -25554,7 +25400,6 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25554
25400
  /**
25555
25401
  @module ember-metal
25556
25402
  */
25557
-
25558
25403
  /**
25559
25404
  Starts watching a property on an object. Whenever the property changes,
25560
25405
  invokes `Ember.propertyWillChange` and `Ember.propertyDidChange`. This is the
@@ -25569,19 +25414,15 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25569
25414
  @param {String} _keyPath
25570
25415
  */
25571
25416
  function watch(obj, _keyPath, m) {
25572
- if (!isPath(_keyPath)) {
25573
- watchKey(obj, _keyPath, m);
25574
- } else {
25417
+ if (isPath(_keyPath)) {
25575
25418
  watchPath(obj, _keyPath, m);
25419
+ } else {
25420
+ watchKey(obj, _keyPath, m);
25576
25421
  }
25577
25422
  }
25578
25423
 
25579
25424
  function isWatching(obj, key) {
25580
- if (typeof obj !== 'object' || obj === null) {
25581
- return false;
25582
- }
25583
- var meta$$1 = exports.peekMeta(obj);
25584
- return (meta$$1 && meta$$1.peekWatching(key)) > 0;
25425
+ return watcherCount(obj, key) > 0;
25585
25426
  }
25586
25427
 
25587
25428
  function watcherCount(obj, key) {
@@ -25590,27 +25431,13 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25590
25431
  }
25591
25432
 
25592
25433
  function unwatch(obj, _keyPath, m) {
25593
- if (!isPath(_keyPath)) {
25594
- unwatchKey(obj, _keyPath, m);
25595
- } else {
25434
+ if (isPath(_keyPath)) {
25596
25435
  unwatchPath(obj, _keyPath, m);
25436
+ } else {
25437
+ unwatchKey(obj, _keyPath, m);
25597
25438
  }
25598
25439
  }
25599
25440
 
25600
- /**
25601
- Tears down the meta on an object so that it can be garbage collected.
25602
- Multiple calls will have no effect.
25603
-
25604
- @method destroy
25605
- @for Ember
25606
- @param {Object} obj the object to destroy
25607
- @return {void}
25608
- @private
25609
- */
25610
- function destroy(obj) {
25611
- deleteMeta(obj);
25612
- }
25613
-
25614
25441
  /**
25615
25442
  @module ember
25616
25443
  @submodule ember-metal
@@ -25623,15 +25450,13 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25623
25450
  function addDependentKeys(desc, obj, keyName, meta) {
25624
25451
  // the descriptor has a list of dependent keys, so
25625
25452
  // add all of its dependent keys.
25626
- var idx = void 0,
25627
- depKey = void 0;
25628
25453
  var depKeys = desc._dependentKeys;
25629
- if (!depKeys) {
25454
+ if (depKeys === null || depKeys === undefined) {
25630
25455
  return;
25631
25456
  }
25632
25457
 
25633
- for (idx = 0; idx < depKeys.length; idx++) {
25634
- depKey = depKeys[idx];
25458
+ for (var idx = 0; idx < depKeys.length; idx++) {
25459
+ var depKey = depKeys[idx];
25635
25460
  // Increment the number of times depKey depends on keyName.
25636
25461
  meta.writeDeps(depKey, keyName, (meta.peekDeps(depKey, keyName) || 0) + 1);
25637
25462
  // Watch the depKey
@@ -25643,7 +25468,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
25643
25468
  // the descriptor has a list of dependent keys, so
25644
25469
  // remove all of its dependent keys.
25645
25470
  var depKeys = desc._dependentKeys;
25646
- if (!depKeys) {
25471
+ if (depKeys === null || depKeys === undefined) {
25647
25472
  return;
25648
25473
  }
25649
25474
 
@@ -26647,12 +26472,6 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
26647
26472
  };
26648
26473
 
26649
26474
  var onerror = void 0;
26650
- var onErrorTarget = {
26651
- get onerror() {
26652
- return dispatchOverride || onerror;
26653
- }
26654
- };
26655
-
26656
26475
  // Ember.onerror getter
26657
26476
  function getOnerror() {
26658
26477
  return onerror;
@@ -26711,113 +26530,122 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
26711
26530
  * practice, most use cases satisfy this limitation which is why it is included
26712
26531
  * in ember-metal.
26713
26532
  */
26714
- function WeakMap$1(iterable) {
26715
- if (!(this instanceof WeakMap$1)) {
26716
- throw new TypeError('Constructor WeakMap requires \'new\'');
26717
- }
26533
+ var WeakMapPolyfill = function () {
26534
+ function WeakMapPolyfill(iterable) {
26535
+ emberBabel.classCallCheck(this, WeakMapPolyfill);
26718
26536
 
26719
- this._id = emberUtils.GUID_KEY + id++;
26537
+ this._id = emberUtils.GUID_KEY + id++;
26720
26538
 
26721
- if (iterable === null || iterable === undefined) {
26722
- return;
26723
- } else if (Array.isArray(iterable)) {
26724
- for (var i = 0; i < iterable.length; i++) {
26725
- var _iterable$i = iterable[i],
26726
- key = _iterable$i[0],
26727
- value = _iterable$i[1];
26539
+ if (iterable === null || iterable === undefined) {
26540
+ return;
26541
+ } else if (Array.isArray(iterable)) {
26542
+ for (var i = 0; i < iterable.length; i++) {
26543
+ var _iterable$i = iterable[i],
26544
+ key = _iterable$i[0],
26545
+ value = _iterable$i[1];
26728
26546
 
26729
- this.set(key, value);
26547
+ this.set(key, value);
26548
+ }
26549
+ } else {
26550
+ throw new TypeError('The weak map constructor polyfill only supports an array argument');
26730
26551
  }
26731
- } else {
26732
- throw new TypeError('The weak map constructor polyfill only supports an array argument');
26733
26552
  }
26734
- }
26735
26553
 
26736
- /*
26737
- * @method get
26738
- * @param key {Object | Function}
26739
- * @return {Any} stored value
26740
- */
26741
- WeakMap$1.prototype.get = function (obj) {
26742
- if (!isObject$1(obj)) {
26743
- return undefined;
26744
- }
26554
+ /*
26555
+ * @method get
26556
+ * @param key {Object | Function}
26557
+ * @return {Any} stored value
26558
+ */
26745
26559
 
26746
- var meta$$1 = exports.peekMeta(obj);
26747
- if (meta$$1) {
26748
- var map = meta$$1.readableWeak();
26749
- if (map) {
26750
- if (map[this._id] === UNDEFINED) {
26751
- return undefined;
26560
+ WeakMapPolyfill.prototype.get = function get(obj) {
26561
+ if (!isObject$1(obj)) {
26562
+ return undefined;
26563
+ }
26564
+
26565
+ var meta$$1 = exports.peekMeta(obj);
26566
+ if (meta$$1) {
26567
+ var map = meta$$1.readableWeak();
26568
+ if (map !== undefined) {
26569
+ var val = map[this._id];
26570
+ if (val === UNDEFINED) {
26571
+ return undefined;
26572
+ }
26573
+ return val;
26752
26574
  }
26575
+ }
26576
+ };
26577
+
26578
+ /*
26579
+ * @method set
26580
+ * @param key {Object | Function}
26581
+ * @param value {Any}
26582
+ * @return {WeakMap} the weak map
26583
+ */
26753
26584
 
26754
- return map[this._id];
26585
+ WeakMapPolyfill.prototype.set = function set(obj, value) {
26586
+ if (!isObject$1(obj)) {
26587
+ throw new TypeError('Invalid value used as weak map key');
26755
26588
  }
26756
- }
26757
- };
26758
26589
 
26759
- /*
26760
- * @method set
26761
- * @param key {Object | Function}
26762
- * @param value {Any}
26763
- * @return {WeakMap} the weak map
26764
- */
26765
- WeakMap$1.prototype.set = function (obj, value) {
26766
- if (!isObject$1(obj)) {
26767
- throw new TypeError('Invalid value used as weak map key');
26768
- }
26590
+ if (value === undefined) {
26591
+ value = UNDEFINED;
26592
+ }
26769
26593
 
26770
- if (value === undefined) {
26771
- value = UNDEFINED;
26772
- }
26594
+ meta(obj).writableWeak()[this._id] = value;
26773
26595
 
26774
- meta(obj).writableWeak()[this._id] = value;
26596
+ return this;
26597
+ };
26775
26598
 
26776
- return this;
26777
- };
26599
+ /*
26600
+ * @method has
26601
+ * @param key {Object | Function}
26602
+ * @return {boolean} if the key exists
26603
+ */
26604
+
26605
+ WeakMapPolyfill.prototype.has = function has(obj) {
26606
+ if (!isObject$1(obj)) {
26607
+ return false;
26608
+ }
26609
+
26610
+ var meta$$1 = exports.peekMeta(obj);
26611
+ if (meta$$1) {
26612
+ var map = meta$$1.readableWeak();
26613
+ if (map !== undefined) {
26614
+ return map[this._id] !== undefined;
26615
+ }
26616
+ }
26778
26617
 
26779
- /*
26780
- * @method has
26781
- * @param key {Object | Function}
26782
- * @return {boolean} if the key exists
26783
- */
26784
- WeakMap$1.prototype.has = function (obj) {
26785
- if (!isObject$1(obj)) {
26786
26618
  return false;
26787
- }
26619
+ };
26788
26620
 
26789
- var meta$$1 = exports.peekMeta(obj);
26790
- if (meta$$1) {
26791
- var map = meta$$1.readableWeak();
26792
- if (map) {
26793
- return map[this._id] !== undefined;
26621
+ /*
26622
+ * @method delete
26623
+ * @param key {Object | Function}
26624
+ * @return {boolean} if the key was deleted
26625
+ */
26626
+
26627
+ WeakMapPolyfill.prototype.delete = function _delete(obj) {
26628
+ if (this.has(obj)) {
26629
+ delete exports.peekMeta(obj).writableWeak()[this._id];
26630
+ return true;
26631
+ } else {
26632
+ return false;
26794
26633
  }
26795
- }
26634
+ };
26796
26635
 
26797
- return false;
26798
- };
26636
+ /*
26637
+ * @method toString
26638
+ * @return {String}
26639
+ */
26799
26640
 
26800
- /*
26801
- * @method delete
26802
- * @param key {Object | Function}
26803
- * @return {boolean} if the key was deleted
26804
- */
26805
- WeakMap$1.prototype.delete = function (obj) {
26806
- if (this.has(obj)) {
26807
- delete meta(obj).writableWeak()[this._id];
26808
- return true;
26809
- } else {
26810
- return false;
26811
- }
26812
- };
26641
+ WeakMapPolyfill.prototype.toString = function toString$$1() {
26642
+ return '[object WeakMap]';
26643
+ };
26813
26644
 
26814
- /*
26815
- * @method toString
26816
- * @return {String}
26817
- */
26818
- WeakMap$1.prototype.toString = function () {
26819
- return '[object WeakMap]';
26820
- };
26645
+ return WeakMapPolyfill;
26646
+ }();
26647
+
26648
+ var weak_map = emberUtils.HAS_NATIVE_WEAKMAP ? WeakMap : WeakMapPolyfill;
26821
26649
 
26822
26650
  /**
26823
26651
  Returns true if the passed value is null or undefined. This avoids errors
@@ -26965,14 +26793,23 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
26965
26793
  }
26966
26794
 
26967
26795
  function onBegin(current) {
26968
- run$1.currentRunLoop = current;
26796
+ run.currentRunLoop = current;
26969
26797
  }
26970
26798
 
26971
26799
  function onEnd(current, next) {
26972
- run$1.currentRunLoop = next;
26800
+ run.currentRunLoop = next;
26973
26801
  }
26974
26802
 
26975
- var backburner = new Backburner(['sync', 'actions', 'destroy'], {
26803
+ var onErrorTarget = {
26804
+ get onerror() {
26805
+ return dispatchError;
26806
+ },
26807
+ set onerror(handler) {
26808
+ return setOnerror(handler);
26809
+ }
26810
+ };
26811
+
26812
+ var backburner$1 = new Backburner(['sync', 'actions', 'destroy'], {
26976
26813
  GUID_KEY: emberUtils.GUID_KEY,
26977
26814
  sync: {
26978
26815
  before: beginPropertyChanges,
@@ -27017,8 +26854,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27017
26854
  @return {Object} return value from invoking the passed function.
27018
26855
  @public
27019
26856
  */
27020
- function run$1() {
27021
- return backburner.run.apply(backburner, arguments);
26857
+ function run() {
26858
+ return backburner$1.run.apply(backburner$1, arguments);
27022
26859
  }
27023
26860
 
27024
26861
  /**
@@ -27059,8 +26896,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27059
26896
  when called within an existing loop, no return value is possible.
27060
26897
  @public
27061
26898
  */
27062
- run$1.join = function () {
27063
- return backburner.join.apply(backburner, arguments);
26899
+ run.join = function () {
26900
+ return backburner$1.join.apply(backburner$1, arguments);
27064
26901
  };
27065
26902
 
27066
26903
  /**
@@ -27113,7 +26950,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27113
26950
  @since 1.4.0
27114
26951
  @public
27115
26952
  */
27116
- run$1.bind = function () {
26953
+ run.bind = function () {
27117
26954
  for (var _len = arguments.length, curried = Array(_len), _key = 0; _key < _len; _key++) {
27118
26955
  curried[_key] = arguments[_key];
27119
26956
  }
@@ -27123,13 +26960,13 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27123
26960
  args[_key2] = arguments[_key2];
27124
26961
  }
27125
26962
 
27126
- return run$1.join.apply(run$1, curried.concat(args));
26963
+ return run.join.apply(run, curried.concat(args));
27127
26964
  };
27128
26965
  };
27129
26966
 
27130
- run$1.backburner = backburner;
27131
- run$1.currentRunLoop = null;
27132
- run$1.queues = backburner.queueNames;
26967
+ run.backburner = backburner$1;
26968
+ run.currentRunLoop = null;
26969
+ run.queues = backburner$1.queueNames;
27133
26970
 
27134
26971
  /**
27135
26972
  Begins a new RunLoop. Any deferred actions invoked after the begin will
@@ -27146,8 +26983,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27146
26983
  @return {void}
27147
26984
  @public
27148
26985
  */
27149
- run$1.begin = function () {
27150
- backburner.begin();
26986
+ run.begin = function () {
26987
+ backburner$1.begin();
27151
26988
  };
27152
26989
 
27153
26990
  /**
@@ -27165,8 +27002,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27165
27002
  @return {void}
27166
27003
  @public
27167
27004
  */
27168
- run$1.end = function () {
27169
- backburner.end();
27005
+ run.end = function () {
27006
+ backburner$1.end();
27170
27007
  };
27171
27008
 
27172
27009
  /**
@@ -27219,20 +27056,20 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27219
27056
  @return {*} Timer information for use in canceling, see `run.cancel`.
27220
27057
  @public
27221
27058
  */
27222
- run$1.schedule = function () /* queue, target, method */{
27223
- true && !(run$1.currentRunLoop || !emberDebug.isTesting()) && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run$1.currentRunLoop || !emberDebug.isTesting());
27059
+ run.schedule = function () /* queue, target, method */{
27060
+ true && !(run.currentRunLoop || !emberDebug.isTesting()) && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run.currentRunLoop || !emberDebug.isTesting());
27224
27061
 
27225
- return backburner.schedule.apply(backburner, arguments);
27062
+ return backburner$1.schedule.apply(backburner$1, arguments);
27226
27063
  };
27227
27064
 
27228
27065
  // Used by global test teardown
27229
- run$1.hasScheduledTimers = function () {
27230
- return backburner.hasTimers();
27066
+ run.hasScheduledTimers = function () {
27067
+ return backburner$1.hasTimers();
27231
27068
  };
27232
27069
 
27233
27070
  // Used by global test teardown
27234
- run$1.cancelTimers = function () {
27235
- backburner.cancelTimers();
27071
+ run.cancelTimers = function () {
27072
+ backburner$1.cancelTimers();
27236
27073
  };
27237
27074
 
27238
27075
  /**
@@ -27252,9 +27089,9 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27252
27089
  @return {void}
27253
27090
  @private
27254
27091
  */
27255
- run$1.sync = function () {
27256
- if (backburner.currentInstance) {
27257
- backburner.currentInstance.queues.sync.flush();
27092
+ run.sync = function () {
27093
+ if (backburner$1.currentInstance) {
27094
+ backburner$1.currentInstance.queues.sync.flush();
27258
27095
  }
27259
27096
  };
27260
27097
 
@@ -27284,8 +27121,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27284
27121
  @return {*} Timer information for use in canceling, see `run.cancel`.
27285
27122
  @public
27286
27123
  */
27287
- run$1.later = function () /*target, method*/{
27288
- return backburner.later.apply(backburner, arguments);
27124
+ run.later = function () /*target, method*/{
27125
+ return backburner$1.later.apply(backburner$1, arguments);
27289
27126
  };
27290
27127
 
27291
27128
  /**
@@ -27301,15 +27138,15 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27301
27138
  @return {Object} Timer information for use in canceling, see `run.cancel`.
27302
27139
  @public
27303
27140
  */
27304
- run$1.once = function () {
27305
- true && !(run$1.currentRunLoop || !emberDebug.isTesting()) && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run$1.currentRunLoop || !emberDebug.isTesting());
27141
+ run.once = function () {
27142
+ true && !(run.currentRunLoop || !emberDebug.isTesting()) && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run.currentRunLoop || !emberDebug.isTesting());
27306
27143
 
27307
27144
  for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
27308
27145
  args[_key3] = arguments[_key3];
27309
27146
  }
27310
27147
 
27311
27148
  args.unshift('actions');
27312
- return backburner.scheduleOnce.apply(backburner, args);
27149
+ return backburner$1.scheduleOnce.apply(backburner$1, args);
27313
27150
  };
27314
27151
 
27315
27152
  /**
@@ -27364,10 +27201,10 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27364
27201
  @return {Object} Timer information for use in canceling, see `run.cancel`.
27365
27202
  @public
27366
27203
  */
27367
- run$1.scheduleOnce = function () /*queue, target, method*/{
27368
- true && !(run$1.currentRunLoop || !emberDebug.isTesting()) && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run$1.currentRunLoop || !emberDebug.isTesting());
27204
+ run.scheduleOnce = function () /*queue, target, method*/{
27205
+ true && !(run.currentRunLoop || !emberDebug.isTesting()) && emberDebug.assert('You have turned on testing mode, which disabled the run-loop\'s autorun. ' + 'You will need to wrap any code with asynchronous side-effects in a run', run.currentRunLoop || !emberDebug.isTesting());
27369
27206
 
27370
- return backburner.scheduleOnce.apply(backburner, arguments);
27207
+ return backburner$1.scheduleOnce.apply(backburner$1, arguments);
27371
27208
  };
27372
27209
 
27373
27210
  /**
@@ -27433,13 +27270,13 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27433
27270
  @return {Object} Timer information for use in canceling, see `run.cancel`.
27434
27271
  @public
27435
27272
  */
27436
- run$1.next = function () {
27273
+ run.next = function () {
27437
27274
  for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
27438
27275
  args[_key4] = arguments[_key4];
27439
27276
  }
27440
27277
 
27441
27278
  args.push(1);
27442
- return backburner.later.apply(backburner, args);
27279
+ return backburner$1.later.apply(backburner$1, args);
27443
27280
  };
27444
27281
 
27445
27282
  /**
@@ -27497,8 +27334,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27497
27334
  @return {Boolean} true if canceled or false/undefined if it wasn't found
27498
27335
  @public
27499
27336
  */
27500
- run$1.cancel = function (timer) {
27501
- return backburner.cancel(timer);
27337
+ run.cancel = function (timer) {
27338
+ return backburner$1.cancel(timer);
27502
27339
  };
27503
27340
 
27504
27341
  /**
@@ -27570,8 +27407,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27570
27407
  @return {Array} Timer information for use in canceling, see `run.cancel`.
27571
27408
  @public
27572
27409
  */
27573
- run$1.debounce = function () {
27574
- return backburner.debounce.apply(backburner, arguments);
27410
+ run.debounce = function () {
27411
+ return backburner$1.debounce.apply(backburner$1, arguments);
27575
27412
  };
27576
27413
 
27577
27414
  /**
@@ -27613,8 +27450,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27613
27450
  @return {Array} Timer information for use in canceling, see `run.cancel`.
27614
27451
  @public
27615
27452
  */
27616
- run$1.throttle = function () {
27617
- return backburner.throttle.apply(backburner, arguments);
27453
+ run.throttle = function () {
27454
+ return backburner$1.throttle.apply(backburner$1, arguments);
27618
27455
  };
27619
27456
 
27620
27457
  /**
@@ -27627,9 +27464,9 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
27627
27464
  @param {String} after the name of the queue to add after.
27628
27465
  @private
27629
27466
  */
27630
- run$1._addQueue = function (name, after) {
27631
- if (run$1.queues.indexOf(name) === -1) {
27632
- run$1.queues.splice(run$1.queues.indexOf(after) + 1, 0, name);
27467
+ run._addQueue = function (name, after) {
27468
+ if (run.queues.indexOf(name) === -1) {
27469
+ run.queues.splice(run.queues.indexOf(after) + 1, 0, name);
27633
27470
  }
27634
27471
  };
27635
27472
 
@@ -28579,7 +28416,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
28579
28416
 
28580
28417
  // If we haven't scheduled the binding yet, schedule it.
28581
28418
  if (existingDir === undefined) {
28582
- run$1.schedule('sync', this, '_sync');
28419
+ run.schedule('sync', this, '_sync');
28583
28420
  this._direction = dir;
28584
28421
  }
28585
28422
 
@@ -29873,8 +29710,8 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
29873
29710
  exports.getWithDefault = getWithDefault;
29874
29711
  exports.set = set;
29875
29712
  exports.trySet = trySet;
29876
- exports.WeakMap = WeakMap$1;
29877
- exports.accumulateListeners = accumulateListeners;
29713
+ exports.WeakMap = weak_map;
29714
+ exports.WeakMapPolyfill = WeakMapPolyfill;
29878
29715
  exports.addListener = addListener;
29879
29716
  exports.hasListeners = hasListeners;
29880
29717
  exports.listenersFor = listenersFor;
@@ -29888,7 +29725,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
29888
29725
  exports.isEmpty = isEmpty;
29889
29726
  exports.isBlank = isBlank;
29890
29727
  exports.isPresent = isPresent;
29891
- exports.run = run$1;
29728
+ exports.run = run;
29892
29729
  exports.ObserverSet = ObserverSet;
29893
29730
  exports.beginPropertyChanges = beginPropertyChanges;
29894
29731
  exports.changeProperties = changeProperties;
@@ -29907,7 +29744,7 @@ enifed('ember-metal', ['exports', 'ember-environment', 'ember-utils', 'ember-deb
29907
29744
  exports.removeChainWatcher = removeChainWatcher;
29908
29745
  exports.watchPath = watchPath;
29909
29746
  exports.unwatchPath = unwatchPath;
29910
- exports.destroy = destroy;
29747
+ exports.destroy = deleteMeta;
29911
29748
  exports.isWatching = isWatching;
29912
29749
  exports.unwatch = unwatch;
29913
29750
  exports.watch = watch;
@@ -31093,24 +30930,9 @@ enifed('ember-routing/location/util', ['exports'], function (exports) {
31093
30930
  location.replace(getOrigin(location) + path);
31094
30931
  }
31095
30932
  });
31096
- enifed('ember-routing/services/router', ['exports', 'ember-runtime', 'ember-utils', 'ember-routing/system/dsl'], function (exports, _emberRuntime, _emberUtils, _dsl) {
30933
+ enifed('ember-routing/services/router', ['exports', 'ember-runtime', 'ember-routing/utils'], function (exports, _emberRuntime, _utils) {
31097
30934
  'use strict';
31098
30935
 
31099
- function shallowEqual(a, b) {
31100
- var k = void 0;
31101
- for (k in a) {
31102
- if (a.hasOwnProperty(k) && a[k] !== b[k]) {
31103
- return false;
31104
- }
31105
- }
31106
- for (k in b) {
31107
- if (b.hasOwnProperty(k) && a[k] !== b[k]) {
31108
- return false;
31109
- }
31110
- }
31111
- return true;
31112
- }
31113
-
31114
30936
  /**
31115
30937
  The Router service is the public API that provides component/view layer
31116
30938
  access to the router.
@@ -31180,7 +31002,7 @@ enifed('ember-routing/services/router', ['exports', 'ember-runtime', 'ember-util
31180
31002
 
31181
31003
  if (hasQueryParams) {
31182
31004
  this._router._prepareQueryParams(routeName, models, queryParams, true /* fromRouterService */);
31183
- return shallowEqual(queryParams, state.queryParams);
31005
+ return (0, _utils.shallowEqual)(queryParams, state.queryParams);
31184
31006
  }
31185
31007
 
31186
31008
  return true;
@@ -33875,8 +33697,6 @@ enifed('ember-routing/system/router', ['exports', 'ember-utils', 'ember-console'
33875
33697
  if (originRoute !== route) {
33876
33698
  var errorRouteName = findRouteStateName(route, 'error');
33877
33699
  if (errorRouteName) {
33878
- var _errorId = (0, _emberUtils.guidFor)(error);
33879
- router._markErrorAsHandled(_errorId);
33880
33700
  router.intermediateTransitionTo(errorRouteName, error);
33881
33701
  return false;
33882
33702
  }
@@ -33885,8 +33705,6 @@ enifed('ember-routing/system/router', ['exports', 'ember-utils', 'ember-console'
33885
33705
  // Check for an 'error' substate route
33886
33706
  var errorSubstateName = findRouteSubstateName(route, 'error');
33887
33707
  if (errorSubstateName) {
33888
- var errorId = (0, _emberUtils.guidFor)(error);
33889
- router._markErrorAsHandled(errorId);
33890
33708
  router.intermediateTransitionTo(errorSubstateName, error);
33891
33709
  return false;
33892
33710
  }
@@ -34310,7 +34128,7 @@ enifed('ember-routing/system/router', ['exports', 'ember-utils', 'ember-console'
34310
34128
 
34311
34129
  exports.default = EmberRouter;
34312
34130
  });
34313
- enifed('ember-routing/system/router_state', ['exports', 'ember-utils', 'ember-metal', 'ember-runtime'], function (exports, _emberUtils, _emberMetal, _emberRuntime) {
34131
+ enifed('ember-routing/system/router_state', ['exports', 'ember-utils', 'ember-routing/utils', 'ember-runtime'], function (exports, _emberUtils, _utils, _emberRuntime) {
34314
34132
  'use strict';
34315
34133
 
34316
34134
  exports.default = _emberRuntime.Object.extend({
@@ -34324,35 +34142,16 @@ enifed('ember-routing/system/router_state', ['exports', 'ember-utils', 'ember-me
34324
34142
  return false;
34325
34143
  }
34326
34144
 
34327
- var emptyQueryParams = (0, _emberMetal.isEmpty)(Object.keys(queryParams));
34328
-
34329
- if (queryParamsMustMatch && !emptyQueryParams) {
34330
- var visibleQueryParams = {};
34331
- (0, _emberUtils.assign)(visibleQueryParams, queryParams);
34145
+ if (queryParamsMustMatch && Object.keys(queryParams).length > 0) {
34146
+ var visibleQueryParams = (0, _emberUtils.assign)({}, queryParams);
34332
34147
 
34333
34148
  this.emberRouter._prepareQueryParams(routeName, models, visibleQueryParams);
34334
- return shallowEqual(visibleQueryParams, state.queryParams);
34149
+ return (0, _utils.shallowEqual)(visibleQueryParams, state.queryParams);
34335
34150
  }
34336
34151
 
34337
34152
  return true;
34338
34153
  }
34339
34154
  });
34340
-
34341
-
34342
- function shallowEqual(a, b) {
34343
- var k = void 0;
34344
- for (k in a) {
34345
- if (a.hasOwnProperty(k) && a[k] !== b[k]) {
34346
- return false;
34347
- }
34348
- }
34349
- for (k in b) {
34350
- if (b.hasOwnProperty(k) && a[k] !== b[k]) {
34351
- return false;
34352
- }
34353
- }
34354
- return true;
34355
- }
34356
34155
  });
34357
34156
  enifed('ember-routing/utils', ['exports', 'ember-utils', 'ember-metal', 'ember-debug'], function (exports, _emberUtils, _emberMetal, _emberDebug) {
34358
34157
  'use strict';
@@ -34363,6 +34162,7 @@ enifed('ember-routing/utils', ['exports', 'ember-utils', 'ember-metal', 'ember-d
34363
34162
  exports.calculateCacheKey = calculateCacheKey;
34364
34163
  exports.normalizeControllerQueryParams = normalizeControllerQueryParams;
34365
34164
  exports.prefixRouteNameArg = prefixRouteNameArg;
34165
+ exports.shallowEqual = shallowEqual;
34366
34166
 
34367
34167
 
34368
34168
  var ALL_PERIODS_REGEX = /\./g;
@@ -34560,6 +34360,28 @@ enifed('ember-routing/utils', ['exports', 'ember-utils', 'ember-metal', 'ember-d
34560
34360
 
34561
34361
  return args;
34562
34362
  }
34363
+
34364
+ function shallowEqual(a, b) {
34365
+ var k = void 0;
34366
+ var aCount = 0;
34367
+ var bCount = 0;
34368
+ for (k in a) {
34369
+ if (a.hasOwnProperty(k)) {
34370
+ if (a[k] !== b[k]) {
34371
+ return false;
34372
+ }
34373
+ aCount++;
34374
+ }
34375
+ }
34376
+
34377
+ for (k in b) {
34378
+ if (b.hasOwnProperty(k)) {
34379
+ bCount++;
34380
+ }
34381
+ }
34382
+
34383
+ return aCount === bCount;
34384
+ }
34563
34385
  });
34564
34386
  enifed('ember-runtime/compare', ['exports', 'ember-runtime/utils', 'ember-runtime/mixins/comparable'], function (exports, _utils, _comparable) {
34565
34387
  'use strict';
@@ -34757,22 +34579,22 @@ enifed('ember-runtime/computed/computed_macros', ['exports', 'ember-metal', 'emb
34757
34579
  properties[_key] = arguments[_key];
34758
34580
  }
34759
34581
 
34760
- var expandedProperties = expandPropertiesToArray(name, properties);
34582
+ var dependentKeys = expandPropertiesToArray(name, properties);
34761
34583
 
34762
- var computedFunc = (0, _emberMetal.computed)(function () {
34763
- var lastIdx = expandedProperties.length - 1;
34584
+ var computedFunc = new _emberMetal.ComputedProperty(function () {
34585
+ var lastIdx = dependentKeys.length - 1;
34764
34586
 
34765
34587
  for (var i = 0; i < lastIdx; i++) {
34766
- var value = (0, _emberMetal.get)(this, expandedProperties[i]);
34588
+ var value = (0, _emberMetal.get)(this, dependentKeys[i]);
34767
34589
  if (!predicate(value)) {
34768
34590
  return value;
34769
34591
  }
34770
34592
  }
34771
34593
 
34772
- return (0, _emberMetal.get)(this, expandedProperties[lastIdx]);
34773
- });
34594
+ return (0, _emberMetal.get)(this, dependentKeys[lastIdx]);
34595
+ }, { dependentKeys: dependentKeys });
34774
34596
 
34775
- return computedFunc.property.apply(computedFunc, expandedProperties);
34597
+ return computedFunc;
34776
34598
  };
34777
34599
  }
34778
34600
 
@@ -34971,8 +34793,7 @@ enifed('ember-runtime/computed/computed_macros', ['exports', 'ember-metal', 'emb
34971
34793
  function match(dependentKey, regexp) {
34972
34794
  return (0, _emberMetal.computed)(dependentKey, function () {
34973
34795
  var value = (0, _emberMetal.get)(this, dependentKey);
34974
-
34975
- return typeof value === 'string' ? regexp.test(value) : false;
34796
+ return regexp.test(value);
34976
34797
  });
34977
34798
  }
34978
34799
 
@@ -35410,19 +35231,15 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-utils
35410
35231
  */
35411
35232
 
35412
35233
  function reduceMacro(dependentKey, callback, initialValue) {
35413
- return (0, _emberMetal.computed)(dependentKey + '.[]', function () {
35414
- var _this = this;
35415
-
35234
+ var cp = new _emberMetal.ComputedProperty(function () {
35416
35235
  var arr = (0, _emberMetal.get)(this, dependentKey);
35417
-
35418
35236
  if (arr === null || typeof arr !== 'object') {
35419
35237
  return initialValue;
35420
35238
  }
35239
+ return arr.reduce(callback, initialValue, this);
35240
+ }, { dependentKeys: [dependentKey + '.[]'] });
35421
35241
 
35422
- return arr.reduce(function (previousValue, currentValue, index, array) {
35423
- return callback.call(_this, previousValue, currentValue, index, array);
35424
- }, initialValue);
35425
- }).readOnly();
35242
+ return cp.readOnly();
35426
35243
  }
35427
35244
 
35428
35245
  function arrayMacro(dependentKey, callback) {
@@ -35435,26 +35252,28 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-utils
35435
35252
  dependentKey += '.[]';
35436
35253
  }
35437
35254
 
35438
- return (0, _emberMetal.computed)(dependentKey, function () {
35255
+ var cp = new _emberMetal.ComputedProperty(function () {
35439
35256
  var value = (0, _emberMetal.get)(this, propertyName);
35440
35257
  if ((0, _utils.isArray)(value)) {
35441
35258
  return (0, _native_array.A)(callback.call(this, value));
35442
35259
  } else {
35443
35260
  return (0, _native_array.A)();
35444
35261
  }
35445
- }).readOnly();
35262
+ }, { dependentKeys: [dependentKey] });
35263
+
35264
+ return cp.readOnly();
35446
35265
  }
35447
35266
 
35448
- function multiArrayMacro(dependentKeys, callback) {
35449
- var args = dependentKeys.map(function (key) {
35267
+ function multiArrayMacro(_dependentKeys, callback) {
35268
+ var dependentKeys = _dependentKeys.map(function (key) {
35450
35269
  return key + '.[]';
35451
35270
  });
35452
35271
 
35453
- args.push(function () {
35454
- return (0, _native_array.A)(callback.call(this, dependentKeys));
35455
- });
35272
+ var cp = new _emberMetal.ComputedProperty(function () {
35273
+ return (0, _native_array.A)(callback.call(this, _dependentKeys));
35274
+ }, { dependentKeys: dependentKeys });
35456
35275
 
35457
- return _emberMetal.computed.apply(this, args).readOnly();
35276
+ return cp.readOnly();
35458
35277
  }
35459
35278
 
35460
35279
  /**
@@ -35791,12 +35610,12 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-utils
35791
35610
  }
35792
35611
 
35793
35612
  return multiArrayMacro(args, function (dependentKeys) {
35794
- var _this2 = this;
35613
+ var _this = this;
35795
35614
 
35796
35615
  var uniq = (0, _native_array.A)();
35797
35616
 
35798
35617
  dependentKeys.forEach(function (dependentKey) {
35799
- var value = (0, _emberMetal.get)(_this2, dependentKey);
35618
+ var value = (0, _emberMetal.get)(_this, dependentKey);
35800
35619
  if ((0, _utils.isArray)(value)) {
35801
35620
  value.forEach(function (item) {
35802
35621
  if (uniq.indexOf(item) === -1) {
@@ -35925,11 +35744,10 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-utils
35925
35744
  }
35926
35745
 
35927
35746
  return multiArrayMacro(args, function (dependentKeys) {
35928
- var _this3 = this;
35747
+ var _this2 = this;
35929
35748
 
35930
35749
  var arrays = dependentKeys.map(function (dependentKey) {
35931
- var array = (0, _emberMetal.get)(_this3, dependentKey);
35932
-
35750
+ var array = (0, _emberMetal.get)(_this2, dependentKey);
35933
35751
  return (0, _utils.isArray)(array) ? array : [];
35934
35752
  });
35935
35753
 
@@ -36134,10 +35952,10 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-utils
36134
35952
 
36135
35953
  function customSort(itemsKey, comparator) {
36136
35954
  return arrayMacro(itemsKey, function (value) {
36137
- var _this4 = this;
35955
+ var _this3 = this;
36138
35956
 
36139
35957
  return value.slice().sort(function (x, y) {
36140
- return comparator.call(_this4, x, y);
35958
+ return comparator.call(_this3, x, y);
36141
35959
  });
36142
35960
  });
36143
35961
  }
@@ -36146,9 +35964,8 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-utils
36146
35964
  // depending on the sortProperties
36147
35965
  function propertySort(itemsKey, sortPropertiesKey) {
36148
35966
  var cp = new _emberMetal.ComputedProperty(function (key) {
36149
- var _this5 = this;
35967
+ var _this4 = this;
36150
35968
 
36151
- var itemsKeyIsAtThis = itemsKey === '@this';
36152
35969
  var sortProperties = (0, _emberMetal.get)(this, sortPropertiesKey);
36153
35970
 
36154
35971
  (true && !((0, _utils.isArray)(sortProperties) && sortProperties.every(function (s) {
@@ -36158,46 +35975,43 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-utils
36158
35975
  })));
36159
35976
 
36160
35977
 
36161
- var normalizedSortProperties = normalizeSortProperties(sortProperties);
36162
-
36163
35978
  // Add/remove property observers as required.
36164
35979
  var activeObserversMap = cp._activeObserverMap || (cp._activeObserverMap = new _emberMetal.WeakMap());
36165
35980
  var activeObservers = activeObserversMap.get(this);
36166
35981
 
36167
- if (activeObservers) {
35982
+ if (activeObservers !== undefined) {
36168
35983
  activeObservers.forEach(function (args) {
36169
35984
  return _emberMetal.removeObserver.apply(undefined, args);
36170
35985
  });
36171
35986
  }
36172
35987
 
35988
+ var itemsKeyIsAtThis = itemsKey === '@this';
35989
+ var items = itemsKeyIsAtThis ? this : (0, _emberMetal.get)(this, itemsKey);
35990
+ if (!(0, _utils.isArray)(items)) {
35991
+ return (0, _native_array.A)();
35992
+ }
35993
+
36173
35994
  function sortPropertyDidChange() {
36174
35995
  this.notifyPropertyChange(key);
36175
35996
  }
36176
35997
 
35998
+ var normalizedSortProperties = normalizeSortProperties(sortProperties);
36177
35999
  activeObservers = normalizedSortProperties.map(function (_ref) {
36178
36000
  var prop = _ref[0];
36179
36001
 
36180
36002
  var path = itemsKeyIsAtThis ? '@each.' + prop : itemsKey + '.@each.' + prop;
36181
- var args = [_this5, path, sortPropertyDidChange];
36182
- _emberMetal.addObserver.apply(undefined, args);
36183
- return args;
36003
+ (0, _emberMetal.addObserver)(_this4, path, sortPropertyDidChange);
36004
+ return [_this4, path, sortPropertyDidChange];
36184
36005
  });
36185
36006
 
36186
36007
  activeObserversMap.set(this, activeObservers);
36187
36008
 
36188
- // Sort and return the array.
36189
- var items = itemsKeyIsAtThis ? this : (0, _emberMetal.get)(this, itemsKey);
36190
-
36191
- if ((0, _utils.isArray)(items)) {
36192
- return sortByNormalizedSortProperties(items, normalizedSortProperties);
36193
- } else {
36194
- return (0, _native_array.A)();
36195
- }
36196
- });
36009
+ return sortByNormalizedSortProperties(items, normalizedSortProperties);
36010
+ }, { dependentKeys: [sortPropertiesKey + '.[]'] });
36197
36011
 
36198
36012
  cp._activeObserverMap = undefined;
36199
36013
 
36200
- return cp.property(sortPropertiesKey + '.[]').readOnly();
36014
+ return cp.readOnly();
36201
36015
  }
36202
36016
 
36203
36017
  function normalizeSortProperties(sortProperties) {
@@ -36388,12 +36202,10 @@ enifed('ember-runtime/copy', ['exports', 'ember-debug', 'ember-runtime/system/ob
36388
36202
  enifed('ember-runtime/ext/function', ['ember-environment', 'ember-metal', 'ember-debug'], function (_emberEnvironment, _emberMetal, _emberDebug) {
36389
36203
  'use strict';
36390
36204
 
36391
- var a_slice = Array.prototype.slice; /**
36392
- @module ember
36393
- @submodule ember-runtime
36394
- */
36395
-
36396
- var FunctionPrototype = Function.prototype;
36205
+ var FunctionPrototype = Function.prototype; /**
36206
+ @module ember
36207
+ @submodule ember-runtime
36208
+ */
36397
36209
 
36398
36210
  if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.Function) {
36399
36211
  /**
@@ -36443,10 +36255,7 @@ enifed('ember-runtime/ext/function', ['ember-environment', 'ember-metal', 'ember
36443
36255
  @public
36444
36256
  */
36445
36257
  FunctionPrototype.property = function () {
36446
- var ret = (0, _emberMetal.computed)(this);
36447
- // ComputedProperty.prototype.property expands properties; no need for us to
36448
- // do so here.
36449
- return ret.property.apply(ret, arguments);
36258
+ return _emberMetal.computed.apply(undefined, Array.prototype.slice.call(arguments).concat([this]));
36450
36259
  };
36451
36260
 
36452
36261
  /**
@@ -36470,12 +36279,7 @@ enifed('ember-runtime/ext/function', ['ember-environment', 'ember-metal', 'ember
36470
36279
  @public
36471
36280
  */
36472
36281
  FunctionPrototype.observes = function () {
36473
- for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
36474
- args[_key] = arguments[_key];
36475
- }
36476
-
36477
- args.push(this);
36478
- return _emberMetal.observer.apply(this, args);
36282
+ return _emberMetal.observer.apply(undefined, Array.prototype.slice.call(arguments).concat([this]));
36479
36283
  };
36480
36284
 
36481
36285
  FunctionPrototype._observesImmediately = function () {
@@ -36541,10 +36345,7 @@ enifed('ember-runtime/ext/function', ['ember-environment', 'ember-metal', 'ember
36541
36345
  @public
36542
36346
  */
36543
36347
  FunctionPrototype.on = function () {
36544
- var events = a_slice.call(arguments);
36545
- this.__ember_listens__ = events;
36546
-
36547
- return this;
36348
+ return _emberMetal.on.apply(undefined, Array.prototype.slice.call(arguments).concat([this]));
36548
36349
  };
36549
36350
  }
36550
36351
  });
@@ -37405,7 +37206,9 @@ enifed('ember-runtime/mixins/-proxy', ['exports', 'ember-babel', '@glimmer/refer
37405
37206
  this._super.apply(this, arguments);
37406
37207
  var m = (0, _emberMetal.meta)(this);
37407
37208
  m.setProxy();
37408
- m.setTag(new ProxyTag(this));
37209
+ m.writableTag(function (source) {
37210
+ return new ProxyTag(source);
37211
+ });
37409
37212
  },
37410
37213
 
37411
37214
 
@@ -37655,16 +37458,16 @@ enifed('ember-runtime/mixins/array', ['exports', 'ember-utils', 'ember-metal', '
37655
37458
 
37656
37459
  var normalStartIdx = startIdx < 0 ? previousLength + startIdx : startIdx;
37657
37460
  if (cache.firstObject !== undefined && normalStartIdx === 0) {
37658
- (0, _emberMetal.propertyWillChange)(array, 'firstObject');
37659
- (0, _emberMetal.propertyDidChange)(array, 'firstObject');
37461
+ (0, _emberMetal.propertyWillChange)(array, 'firstObject', meta);
37462
+ (0, _emberMetal.propertyDidChange)(array, 'firstObject', meta);
37660
37463
  }
37661
37464
 
37662
37465
  if (cache.lastObject !== undefined) {
37663
37466
  var previousLastIndex = previousLength - 1;
37664
37467
  var lastAffectedIndex = normalStartIdx + removedAmount;
37665
37468
  if (previousLastIndex < lastAffectedIndex) {
37666
- (0, _emberMetal.propertyWillChange)(array, 'lastObject');
37667
- (0, _emberMetal.propertyDidChange)(array, 'lastObject');
37469
+ (0, _emberMetal.propertyWillChange)(array, 'lastObject', meta);
37470
+ (0, _emberMetal.propertyDidChange)(array, 'lastObject', meta);
37668
37471
  }
37669
37472
  }
37670
37473
  }
@@ -37934,7 +37737,7 @@ enifed('ember-runtime/mixins/array', ['exports', 'ember-utils', 'ember-metal', '
37934
37737
  while (--loc >= idx) {
37935
37738
  var item = objectAt(content, loc);
37936
37739
  if (item) {
37937
- (true && !(typeof item === 'object') && (0, _emberDebug.assert)('When using @each to observe the array ' + content + ', the array must return an object', typeof item === 'object'));
37740
+ (true && !(typeof item === 'object') && (0, _emberDebug.assert)('When using @each to observe the array `' + (0, _emberUtils.toString)(content) + '`, the array must return an object', typeof item === 'object'));
37938
37741
 
37939
37742
  (0, _emberMetal._addBeforeObserver)(item, keyName, proxy, 'contentKeyWillChange');
37940
37743
  (0, _emberMetal.addObserver)(item, keyName, proxy, 'contentKeyDidChange');
@@ -38023,10 +37826,10 @@ enifed('ember-runtime/mixins/container_proxy', ['exports', 'ember-metal'], funct
38023
37826
  */
38024
37827
  exports.default = _emberMetal.Mixin.create(containerProxyMixin);
38025
37828
  });
38026
- enifed('ember-runtime/mixins/controller', ['exports', 'ember-metal', 'ember-runtime/mixins/action_handler', 'ember-runtime/mixins/controller_content_model_alias_deprecation'], function (exports, _emberMetal, _action_handler, _controller_content_model_alias_deprecation) {
37829
+ enifed('ember-runtime/mixins/controller', ['exports', 'ember-metal', 'ember-runtime/computed/computed_macros', 'ember-runtime/mixins/action_handler'], function (exports, _emberMetal, _computed_macros, _action_handler) {
38027
37830
  'use strict';
38028
37831
 
38029
- exports.default = _emberMetal.Mixin.create(_action_handler.default, _controller_content_model_alias_deprecation.default, {
37832
+ exports.default = _emberMetal.Mixin.create(_action_handler.default, {
38030
37833
  /* ducktype as a controller */
38031
37834
  isController: true,
38032
37835
 
@@ -38052,43 +37855,17 @@ enifed('ember-runtime/mixins/controller', ['exports', 'ember-metal', 'ember-runt
38052
37855
  model, this property should be used instead of the `content` property.
38053
37856
  @property model
38054
37857
  @public
38055
- */
38056
- model: null,
38057
-
38058
- /**
38059
- @private
38060
37858
  */
38061
- content: (0, _emberMetal.alias)('model')
38062
-
38063
- });
38064
- });
38065
- enifed('ember-runtime/mixins/controller_content_model_alias_deprecation', ['exports', 'ember-metal', 'ember-debug'], function (exports, _emberMetal, _emberDebug) {
38066
- 'use strict';
37859
+ model: null,
38067
37860
 
38068
- exports.default = _emberMetal.Mixin.create({
38069
37861
  /**
38070
37862
  @private
38071
- Moves `content` to `model` at extend time if a `model` is not also specified.
38072
- Note that this currently modifies the mixin themselves, which is technically
38073
- dubious but is practically of little consequence. This may change in the
38074
- future.
38075
- @method willMergeMixin
38076
- @since 1.4.0
38077
37863
  */
38078
- willMergeMixin: function (props) {
38079
- // Calling super is only OK here since we KNOW that
38080
- // there is another Mixin loaded first.
38081
- this._super.apply(this, arguments);
38082
-
38083
- var modelSpecified = !!props.model;
38084
-
38085
- if (props.content && !modelSpecified) {
38086
- props.model = props.content;
38087
- delete props['content'];
38088
-
38089
- (true && !(false) && (0, _emberDebug.deprecate)('Do not specify `content` on a Controller, use `model` instead.', false, { id: 'ember-runtime.will-merge-mixin', until: '3.0.0' }));
38090
- }
38091
- }
37864
+ content: (0, _computed_macros.deprecatingAlias)('model', {
37865
+ id: 'ember-runtime.controller.content-alias',
37866
+ until: '2.17.0',
37867
+ url: 'https://emberjs.com/deprecations/v2.x/#toc_controller-content-alias'
37868
+ })
38092
37869
  });
38093
37870
  });
38094
37871
  enifed('ember-runtime/mixins/copyable', ['exports', 'ember-metal', 'ember-debug', 'ember-runtime/mixins/freezable'], function (exports, _emberMetal, _emberDebug, _freezable) {
@@ -38143,7 +37920,10 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38143
37920
  //
38144
37921
 
38145
37922
  function emberA() {
38146
- return (_emberA || (_emberA = (0, _require2.default)('ember-runtime/system/native_array').A))();
37923
+ if (_emberA === undefined) {
37924
+ _emberA = (0, _require2.default)('ember-runtime/system/native_array').A;
37925
+ }
37926
+ return _emberA();
38147
37927
  }
38148
37928
 
38149
37929
  var contexts = [];
@@ -38160,12 +37940,11 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38160
37940
  function iter(key, value) {
38161
37941
  var valueProvided = arguments.length === 2;
38162
37942
 
38163
- function i(item) {
38164
- var cur = (0, _emberMetal.get)(item, key);
38165
- return valueProvided ? value === cur : !!cur;
38166
- }
38167
-
38168
- return i;
37943
+ return valueProvided ? function (item) {
37944
+ return value === (0, _emberMetal.get)(item, key);
37945
+ } : function (item) {
37946
+ return !!(0, _emberMetal.get)(item, key);
37947
+ };
38169
37948
  }
38170
37949
 
38171
37950
  /**
@@ -38320,9 +38099,8 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38320
38099
  return found !== undefined;
38321
38100
  },
38322
38101
  forEach: function (callback, target) {
38323
- if (typeof callback !== 'function') {
38324
- throw new TypeError();
38325
- }
38102
+ (true && !(typeof callback === 'function') && (0, _emberDebug.assert)('Enumerable#forEach expects a function as first argument.', typeof callback === 'function'));
38103
+
38326
38104
 
38327
38105
  var context = popCtx();
38328
38106
  var len = (0, _emberMetal.get)(this, 'length');
@@ -38360,6 +38138,9 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38360
38138
  });
38361
38139
  },
38362
38140
  map: function (callback, target) {
38141
+ (true && !(typeof callback === 'function') && (0, _emberDebug.assert)('Enumerable#map expects a function as first argument.', typeof callback === 'function'));
38142
+
38143
+
38363
38144
  var ret = emberA();
38364
38145
 
38365
38146
  this.forEach(function (x, idx, i) {
@@ -38374,6 +38155,9 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38374
38155
  });
38375
38156
  },
38376
38157
  filter: function (callback, target) {
38158
+ (true && !(typeof callback === 'function') && (0, _emberDebug.assert)('Enumerable#filter expects a function as first argument.', typeof callback === 'function'));
38159
+
38160
+
38377
38161
  var ret = emberA();
38378
38162
 
38379
38163
  this.forEach(function (x, idx, i) {
@@ -38385,6 +38169,9 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38385
38169
  return ret;
38386
38170
  },
38387
38171
  reject: function (callback, target) {
38172
+ (true && !(typeof callback === 'function') && (0, _emberDebug.assert)('Enumerable#reject expects a function as first argument.', typeof callback === 'function'));
38173
+
38174
+
38388
38175
  return this.filter(function () {
38389
38176
  return !callback.apply(target, arguments);
38390
38177
  });
@@ -38404,6 +38191,9 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38404
38191
  return this.reject(use);
38405
38192
  },
38406
38193
  find: function (callback, target) {
38194
+ (true && !(typeof callback === 'function') && (0, _emberDebug.assert)('Enumerable#find expects a function as first argument.', typeof callback === 'function'));
38195
+
38196
+
38407
38197
  var len = (0, _emberMetal.get)(this, 'length');
38408
38198
 
38409
38199
  if (target === undefined) {
@@ -38436,6 +38226,9 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38436
38226
  return this.find(iter.apply(this, arguments));
38437
38227
  },
38438
38228
  every: function (callback, target) {
38229
+ (true && !(typeof callback === 'function') && (0, _emberDebug.assert)('Enumerable#every expects a function as first argument.', typeof callback === 'function'));
38230
+
38231
+
38439
38232
  return !this.find(function (x, idx, i) {
38440
38233
  return !callback.call(target, x, idx, i);
38441
38234
  });
@@ -38444,6 +38237,9 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38444
38237
  return this.every(iter.apply(this, arguments));
38445
38238
  },
38446
38239
  any: function (callback, target) {
38240
+ (true && !(typeof callback === 'function') && (0, _emberDebug.assert)('Enumerable#any expects a function as first argument.', typeof callback === 'function'));
38241
+
38242
+
38447
38243
  var len = (0, _emberMetal.get)(this, 'length');
38448
38244
  var context = popCtx();
38449
38245
  var found = false;
@@ -38468,9 +38264,8 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38468
38264
  return this.any(iter.apply(this, arguments));
38469
38265
  },
38470
38266
  reduce: function (callback, initialValue, reducerProperty) {
38471
- if (typeof callback !== 'function') {
38472
- throw new TypeError();
38473
- }
38267
+ (true && !(typeof callback === 'function') && (0, _emberDebug.assert)('Enumerable#reduce expects a function as first argument.', typeof callback === 'function'));
38268
+
38474
38269
 
38475
38270
  var ret = initialValue;
38476
38271
 
@@ -38491,7 +38286,7 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-utils', 'ember-meta
38491
38286
  var method = x && x[methodName];
38492
38287
 
38493
38288
  if ('function' === typeof method) {
38494
- ret[idx] = args ? method.apply(x, args) : x[methodName]();
38289
+ ret[idx] = args.length ? method.apply(x, args) : x[methodName]();
38495
38290
  }
38496
38291
  }, this);
38497
38292
 
@@ -39820,7 +39615,7 @@ enifed('ember-runtime/mixins/promise_proxy', ['exports', 'ember-metal', 'ember-d
39820
39615
  let ObjectPromiseProxy = Ember.ObjectProxy.extend(Ember.PromiseProxyMixin);
39821
39616
 
39822
39617
  let proxy = ObjectPromiseProxy.create({
39823
- promise: Ember.RSVP.resolve($.getJSON('/some/remote/data.json'))
39618
+ promise: Ember.RSVP.cast($.getJSON('/some/remote/data.json'))
39824
39619
  });
39825
39620
 
39826
39621
  proxy.then(function(json){
@@ -39843,7 +39638,7 @@ enifed('ember-runtime/mixins/promise_proxy', ['exports', 'ember-metal', 'ember-d
39843
39638
  When the $.getJSON completes, and the promise is fulfilled
39844
39639
  with json, the life cycle attributes will update accordingly.
39845
39640
  Note that $.getJSON doesn't return an ECMA specified promise,
39846
- it is useful to wrap this with an `RSVP.resolve` so that it behaves
39641
+ it is useful to wrap this with an `RSVP.cast` so that it behaves
39847
39642
  as a spec compliant promise.
39848
39643
 
39849
39644
  ```javascript
@@ -41747,7 +41542,7 @@ enifed('ember-runtime/system/string', ['exports', 'ember-metal', 'ember-debug',
41747
41542
  return str.replace(STRING_UNDERSCORE_REGEXP_1, '$1_$2').replace(STRING_UNDERSCORE_REGEXP_2, '_').toLowerCase();
41748
41543
  });
41749
41544
 
41750
- var STRING_CAPITALIZE_REGEXP = /(^|\/)([a-z])/g;
41545
+ var STRING_CAPITALIZE_REGEXP = /(^|\/)([a-z\u00C0-\u024F])/g;
41751
41546
 
41752
41547
  var CAPITALIZE_CACHE = new _emberMetal.Cache(1000, function (str) {
41753
41548
  return str.replace(STRING_CAPITALIZE_REGEXP, function (match, separator, chr) {
@@ -46811,15 +46606,14 @@ enifed("ember-views/system/action_manager", ["exports"], function (exports) {
46811
46606
  */
46812
46607
  ActionManager.registeredActions = {};
46813
46608
  });
46814
- enifed('ember-views/system/event_dispatcher', ['exports', 'ember-utils', 'ember-debug', 'ember-metal', 'ember-runtime', 'ember-views/system/jquery', 'ember-views/system/action_manager', 'ember-views/compat/fallback-view-registry'], function (exports, _emberUtils, _emberDebug, _emberMetal, _emberRuntime, _jquery, _action_manager, _fallbackViewRegistry) {
46609
+ enifed('ember-views/system/event_dispatcher', ['exports', 'ember-utils', 'ember-debug', 'ember-metal', 'ember-runtime', 'ember-views/system/jquery', 'ember-views/system/action_manager', 'ember-environment', 'ember-views/compat/fallback-view-registry'], function (exports, _emberUtils, _emberDebug, _emberMetal, _emberRuntime, _jquery, _action_manager, _emberEnvironment, _fallbackViewRegistry) {
46815
46610
  'use strict';
46816
46611
 
46817
- /**
46818
- @module ember
46819
- @submodule ember-views
46820
- */
46612
+ var ROOT_ELEMENT_CLASS = 'ember-application'; /**
46613
+ @module ember
46614
+ @submodule ember-views
46615
+ */
46821
46616
 
46822
- var ROOT_ELEMENT_CLASS = 'ember-application';
46823
46617
  var ROOT_ELEMENT_SELECTOR = '.' + ROOT_ELEMENT_CLASS;
46824
46618
 
46825
46619
  /**
@@ -46931,18 +46725,8 @@ enifed('ember-views/system/event_dispatcher', ['exports', 'ember-utils', 'ember-
46931
46725
  */
46932
46726
 
46933
46727
  init: function () {
46934
- var _this = this;
46935
-
46936
46728
  this._super();
46937
-
46938
- (true && !(function () {
46939
- var owner = (0, _emberUtils.getOwner)(_this);
46940
- var environment = owner.lookup('-environment:main');
46941
-
46942
- return environment.isInteractive;
46943
- }()) && (0, _emberDebug.assert)('EventDispatcher should never be instantiated in fastboot mode. Please report this as an Ember bug.', function () {
46944
- var owner = (0, _emberUtils.getOwner)(_this);var environment = owner.lookup('-environment:main');return environment.isInteractive;
46945
- }()));
46729
+ (true && !(_emberEnvironment.environment.hasDOM) && (0, _emberDebug.assert)('EventDispatcher should never be instantiated in fastboot mode. Please report this as an Ember bug.', _emberEnvironment.environment.hasDOM));
46946
46730
  (true && !(!('canDispatchToEventManager' in this)) && (0, _emberDebug.deprecate)('`canDispatchToEventManager` has been deprecated in ' + this + '.', !('canDispatchToEventManager' in this), {
46947
46731
  id: 'ember-views.event-dispatcher.canDispatchToEventManager',
46948
46732
  until: '2.17.0'
@@ -47508,15 +47292,14 @@ enifed('ember-views/views/core_view', ['exports', 'ember-runtime', 'ember-views/
47508
47292
  hash.view = this;
47509
47293
  return hash;
47510
47294
  },
47511
- trigger: function () {
47295
+ trigger: function (name) {
47296
+ for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
47297
+ args[_key - 1] = arguments[_key];
47298
+ }
47299
+
47512
47300
  this._super.apply(this, arguments);
47513
- var name = arguments[0];
47514
47301
  var method = this[name];
47515
47302
  if (typeof method === 'function') {
47516
- var args = new Array(arguments.length - 1);
47517
- for (var i = 1; i < arguments.length; i++) {
47518
- args[i - 1] = arguments[i];
47519
- }
47520
47303
  return method.apply(this, args);
47521
47304
  }
47522
47305
  },
@@ -47785,7 +47568,6 @@ enifed('ember/index', ['exports', 'require', 'ember-environment', 'node-module',
47785
47568
  _emberMetal.default.hasListeners = _emberMetal.hasListeners;
47786
47569
  _emberMetal.default.watchedEvents = _emberMetal.watchedEvents;
47787
47570
  _emberMetal.default.listenersFor = _emberMetal.listenersFor;
47788
- _emberMetal.default.accumulateListeners = _emberMetal.accumulateListeners;
47789
47571
  _emberMetal.default.isNone = _emberMetal.isNone;
47790
47572
  _emberMetal.default.isEmpty = _emberMetal.isEmpty;
47791
47573
  _emberMetal.default.isBlank = _emberMetal.isBlank;
@@ -48234,7 +48016,7 @@ enifed('ember/index', ['exports', 'require', 'ember-environment', 'node-module',
48234
48016
  enifed("ember/version", ["exports"], function (exports) {
48235
48017
  "use strict";
48236
48018
 
48237
- exports.default = "2.15.3";
48019
+ exports.default = "2.16.0-beta.1";
48238
48020
  });
48239
48021
  enifed("handlebars", ["exports"], function (exports) {
48240
48022
  "use strict";
@@ -53040,106 +52822,100 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
53040
52822
  return child;
53041
52823
  }
53042
52824
 
53043
- var Enumerator = function () {
53044
- function Enumerator(Constructor, input, abortOnReject, label) {
53045
- (0, _emberBabel.classCallCheck)(this, Enumerator);
53046
-
53047
- this._instanceConstructor = Constructor;
53048
- this.promise = new Constructor(noop, label);
53049
- this._abortOnReject = abortOnReject;
53050
-
53051
- this._init.apply(this, arguments);
53052
- }
52825
+ function Enumerator(Constructor, input, abortOnReject, label) {
52826
+ this._instanceConstructor = Constructor;
52827
+ this.promise = new Constructor(noop, label);
52828
+ this._abortOnReject = abortOnReject;
53053
52829
 
53054
- Enumerator.prototype._init = function _init(Constructor, input) {
53055
- var len = input.length || 0;
53056
- this.length = len;
53057
- this._remaining = len;
53058
- this._result = new Array(len);
52830
+ this._init.apply(this, arguments);
52831
+ }
53059
52832
 
53060
- this._enumerate(input);
53061
- if (this._remaining === 0) {
53062
- fulfill(this.promise, this._result);
53063
- }
53064
- };
52833
+ Enumerator.prototype._init = function (Constructor, input) {
52834
+ var len = input.length || 0;
52835
+ this.length = len;
52836
+ this._remaining = len;
52837
+ this._result = new Array(len);
53065
52838
 
53066
- Enumerator.prototype._enumerate = function _enumerate(input) {
53067
- var length = this.length;
53068
- var promise = this.promise;
52839
+ this._enumerate(input);
52840
+ if (this._remaining === 0) {
52841
+ fulfill(this.promise, this._result);
52842
+ }
52843
+ };
53069
52844
 
53070
- for (var i = 0; promise._state === PENDING && i < length; i++) {
53071
- this._eachEntry(input[i], i);
53072
- }
53073
- };
52845
+ Enumerator.prototype._enumerate = function (input) {
52846
+ var length = this.length;
52847
+ var promise = this.promise;
53074
52848
 
53075
- Enumerator.prototype._settleMaybeThenable = function _settleMaybeThenable(entry, i) {
53076
- var c = this._instanceConstructor;
53077
- var resolve$$1 = c.resolve;
52849
+ for (var i = 0; promise._state === PENDING && i < length; i++) {
52850
+ this._eachEntry(input[i], i);
52851
+ }
52852
+ };
53078
52853
 
53079
- if (resolve$$1 === resolve$1) {
53080
- var then$$1 = getThen(entry);
52854
+ Enumerator.prototype._settleMaybeThenable = function (entry, i) {
52855
+ var c = this._instanceConstructor;
52856
+ var resolve$$1 = c.resolve;
53081
52857
 
53082
- if (then$$1 === then && entry._state !== PENDING) {
53083
- entry._onError = null;
53084
- this._settledAt(entry._state, i, entry._result);
53085
- } else if (typeof then$$1 !== 'function') {
53086
- this._remaining--;
53087
- this._result[i] = this._makeResult(FULFILLED, i, entry);
53088
- } else if (c === Promise) {
53089
- var promise = new c(noop);
53090
- handleMaybeThenable(promise, entry, then$$1);
53091
- this._willSettleAt(promise, i);
53092
- } else {
53093
- this._willSettleAt(new c(function (resolve$$1) {
53094
- return resolve$$1(entry);
53095
- }), i);
53096
- }
53097
- } else {
53098
- this._willSettleAt(resolve$$1(entry), i);
53099
- }
53100
- };
52858
+ if (resolve$$1 === resolve$1) {
52859
+ var then$$1 = getThen(entry);
53101
52860
 
53102
- Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {
53103
- if (isMaybeThenable(entry)) {
53104
- this._settleMaybeThenable(entry, i);
53105
- } else {
52861
+ if (then$$1 === then && entry._state !== PENDING) {
52862
+ entry._onError = null;
52863
+ this._settledAt(entry._state, i, entry._result);
52864
+ } else if (typeof then$$1 !== 'function') {
53106
52865
  this._remaining--;
53107
52866
  this._result[i] = this._makeResult(FULFILLED, i, entry);
52867
+ } else if (c === Promise) {
52868
+ var promise = new c(noop);
52869
+ handleMaybeThenable(promise, entry, then$$1);
52870
+ this._willSettleAt(promise, i);
52871
+ } else {
52872
+ this._willSettleAt(new c(function (resolve$$1) {
52873
+ return resolve$$1(entry);
52874
+ }), i);
53108
52875
  }
53109
- };
52876
+ } else {
52877
+ this._willSettleAt(resolve$$1(entry), i);
52878
+ }
52879
+ };
53110
52880
 
53111
- Enumerator.prototype._settledAt = function _settledAt(state, i, value) {
53112
- var promise = this.promise;
52881
+ Enumerator.prototype._eachEntry = function (entry, i) {
52882
+ if (isMaybeThenable(entry)) {
52883
+ this._settleMaybeThenable(entry, i);
52884
+ } else {
52885
+ this._remaining--;
52886
+ this._result[i] = this._makeResult(FULFILLED, i, entry);
52887
+ }
52888
+ };
53113
52889
 
53114
- if (promise._state === PENDING) {
53115
- if (this._abortOnReject && state === REJECTED) {
53116
- reject(promise, value);
53117
- } else {
53118
- this._remaining--;
53119
- this._result[i] = this._makeResult(state, i, value);
53120
- if (this._remaining === 0) {
53121
- fulfill(promise, this._result);
53122
- }
52890
+ Enumerator.prototype._settledAt = function (state, i, value) {
52891
+ var promise = this.promise;
52892
+
52893
+ if (promise._state === PENDING) {
52894
+ if (this._abortOnReject && state === REJECTED) {
52895
+ reject(promise, value);
52896
+ } else {
52897
+ this._remaining--;
52898
+ this._result[i] = this._makeResult(state, i, value);
52899
+ if (this._remaining === 0) {
52900
+ fulfill(promise, this._result);
53123
52901
  }
53124
52902
  }
53125
- };
53126
-
53127
- Enumerator.prototype._makeResult = function _makeResult(state, i, value) {
53128
- return value;
53129
- };
52903
+ }
52904
+ };
53130
52905
 
53131
- Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {
53132
- var enumerator = this;
52906
+ Enumerator.prototype._makeResult = function (state, i, value) {
52907
+ return value;
52908
+ };
53133
52909
 
53134
- subscribe(promise, undefined, function (value) {
53135
- return enumerator._settledAt(FULFILLED, i, value);
53136
- }, function (reason) {
53137
- return enumerator._settledAt(REJECTED, i, reason);
53138
- });
53139
- };
52910
+ Enumerator.prototype._willSettleAt = function (promise, i) {
52911
+ var enumerator = this;
53140
52912
 
53141
- return Enumerator;
53142
- }();
52913
+ subscribe(promise, undefined, function (value) {
52914
+ return enumerator._settledAt(FULFILLED, i, value);
52915
+ }, function (reason) {
52916
+ return enumerator._settledAt(REJECTED, i, reason);
52917
+ });
52918
+ };
53143
52919
 
53144
52920
  function makeSettledResult(state, position, value) {
53145
52921
  if (state === FULFILLED) {
@@ -53455,56 +53231,117 @@ enifed('rsvp', ['exports', 'ember-babel', 'node-module'], function (exports, _em
53455
53231
  Useful for tooling.
53456
53232
  @constructor
53457
53233
  */
53234
+ function Promise(resolver, label) {
53235
+ this._id = counter++;
53236
+ this._label = label;
53237
+ this._state = undefined;
53238
+ this._result = undefined;
53239
+ this._subscribers = [];
53458
53240
 
53459
- var Promise = function () {
53460
- function Promise(resolver, label) {
53461
- (0, _emberBabel.classCallCheck)(this, Promise);
53241
+ config.instrument && instrument('created', this);
53462
53242
 
53463
- this._id = counter++;
53464
- this._label = label;
53465
- this._state = undefined;
53466
- this._result = undefined;
53467
- this._subscribers = [];
53243
+ if (noop !== resolver) {
53244
+ typeof resolver !== 'function' && needsResolver();
53245
+ this instanceof Promise ? initializePromise(this, resolver) : needsNew();
53246
+ }
53247
+ }
53468
53248
 
53469
- config.instrument && instrument('created', this);
53249
+ Promise.prototype._onError = function (reason) {
53250
+ var _this = this;
53470
53251
 
53471
- if (noop !== resolver) {
53472
- typeof resolver !== 'function' && needsResolver();
53473
- this instanceof Promise ? initializePromise(this, resolver) : needsNew();
53252
+ config.after(function () {
53253
+ if (_this._onError) {
53254
+ config.trigger('error', reason, _this._label);
53474
53255
  }
53256
+ });
53257
+ };
53258
+
53259
+ /**
53260
+ `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same
53261
+ as the catch block of a try/catch statement.
53262
+
53263
+ ```js
53264
+ function findAuthor(){
53265
+ throw new Error('couldn\'t find that author');
53475
53266
  }
53267
+
53268
+ // synchronous
53269
+ try {
53270
+ findAuthor();
53271
+ } catch(reason) {
53272
+ // something went wrong
53273
+ }
53274
+
53275
+ // async with promises
53276
+ findAuthor().catch(function(reason){
53277
+ // something went wrong
53278
+ });
53279
+ ```
53280
+
53281
+ @method catch
53282
+ @param {Function} onRejection
53283
+ @param {String} label optional string for labeling the promise.
53284
+ Useful for tooling.
53285
+ @return {Promise}
53286
+ */
53287
+ Promise.prototype.catch = function (onRejection, label) {
53288
+ return this.then(undefined, onRejection, label);
53289
+ };
53476
53290
 
53477
- Promise.prototype._onError = function _onError(reason) {
53478
- var _this = this;
53291
+ /**
53292
+ `finally` will be invoked regardless of the promise's fate just as native
53293
+ try/catch/finally behaves
53294
+
53295
+ Synchronous example:
53296
+
53297
+ ```js
53298
+ findAuthor() {
53299
+ if (Math.random() > 0.5) {
53300
+ throw new Error();
53301
+ }
53302
+ return new Author();
53303
+ }
53304
+
53305
+ try {
53306
+ return findAuthor(); // succeed or fail
53307
+ } catch(error) {
53308
+ return findOtherAuthor();
53309
+ } finally {
53310
+ // always runs
53311
+ // doesn't affect the return value
53312
+ }
53313
+ ```
53314
+
53315
+ Asynchronous example:
53316
+
53317
+ ```js
53318
+ findAuthor().catch(function(reason){
53319
+ return findOtherAuthor();
53320
+ }).finally(function(){
53321
+ // author was either found, or not
53322
+ });
53323
+ ```
53324
+
53325
+ @method finally
53326
+ @param {Function} callback
53327
+ @param {String} label optional string for labeling the promise.
53328
+ Useful for tooling.
53329
+ @return {Promise}
53330
+ */
53331
+ Promise.prototype.finally = function (callback, label) {
53332
+ var promise = this;
53333
+ var constructor = promise.constructor;
53479
53334
 
53480
- config.after(function () {
53481
- if (_this._onError) {
53482
- config.trigger('error', reason, _this._label);
53483
- }
53335
+ return promise.then(function (value) {
53336
+ return constructor.resolve(callback()).then(function () {
53337
+ return value;
53484
53338
  });
53485
- };
53486
-
53487
- Promise.prototype.catch = function _catch(onRejection, label) {
53488
- return this.then(undefined, onRejection, label);
53489
- };
53490
-
53491
- Promise.prototype.finally = function _finally(callback, label) {
53492
- var promise = this;
53493
- var constructor = promise.constructor;
53494
-
53495
- return promise.then(function (value) {
53496
- return constructor.resolve(callback()).then(function () {
53497
- return value;
53498
- });
53499
- }, function (reason) {
53500
- return constructor.resolve(callback()).then(function () {
53501
- throw reason;
53502
- });
53503
- }, label);
53504
- };
53505
-
53506
- return Promise;
53507
- }();
53339
+ }, function (reason) {
53340
+ return constructor.resolve(callback()).then(function () {
53341
+ throw reason;
53342
+ });
53343
+ }, label);
53344
+ };
53508
53345
 
53509
53346
  Promise.cast = resolve$1; // deprecated
53510
53347
  Promise.all = all;