@coolon/angular-ui-powerups 0.0.101 → 0.0.102

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.
Files changed (53) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +896 -620
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  5. package/coolon-angular-ui-powerups.metadata.json +1 -1
  6. package/esm2015/coolon-angular-ui-powerups.js +2 -2
  7. package/esm2015/index.js +2 -2
  8. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +2 -1
  9. package/esm2015/lib/interaction/interaction-context-base.js +21 -8
  10. package/esm2015/lib/interaction/interaction-context.js +56 -3
  11. package/esm2015/lib/interaction/services/interaction.service.js +11 -7
  12. package/esm2015/lib/place/guards/navigation-state.js +216 -135
  13. package/esm2015/lib/place/guards/place-component-deactivation-handler.js +63 -28
  14. package/esm2015/lib/place/guards/place.guard.js +215 -0
  15. package/esm2015/lib/place/index.js +2 -3
  16. package/esm2015/lib/place/place-router.js +34 -36
  17. package/esm2015/lib/place/url-snapshot.js +69 -53
  18. package/esm2015/public_api.js +2 -2
  19. package/esm5/coolon-angular-ui-powerups.js +2 -2
  20. package/esm5/index.js +2 -2
  21. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +2 -1
  22. package/esm5/lib/interaction/interaction-context-base.js +25 -8
  23. package/esm5/lib/interaction/interaction-context.js +88 -10
  24. package/esm5/lib/interaction/services/interaction.service.js +17 -8
  25. package/esm5/lib/place/guards/navigation-state.js +280 -162
  26. package/esm5/lib/place/guards/place-component-deactivation-handler.js +73 -27
  27. package/esm5/lib/place/guards/place.guard.js +300 -0
  28. package/esm5/lib/place/index.js +2 -3
  29. package/esm5/lib/place/place-router.js +52 -39
  30. package/esm5/lib/place/url-snapshot.js +85 -58
  31. package/esm5/public_api.js +2 -2
  32. package/fesm2015/coolon-angular-ui-powerups.js +661 -519
  33. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  34. package/fesm5/coolon-angular-ui-powerups.js +896 -619
  35. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  36. package/lib/interaction/interaction-context-base.d.ts +3 -1
  37. package/lib/interaction/interaction-context.d.ts +9 -2
  38. package/lib/interaction/services/interaction.service.d.ts +2 -2
  39. package/lib/place/guards/navigation-state.d.ts +44 -38
  40. package/lib/place/guards/place-component-deactivation-handler.d.ts +7 -4
  41. package/lib/place/guards/{abstract-place.guard.d.ts → place.guard.d.ts} +8 -3
  42. package/lib/place/index.d.ts +1 -2
  43. package/lib/place/place-router.d.ts +2 -0
  44. package/lib/place/url-snapshot.d.ts +14 -9
  45. package/package.json +1 -1
  46. package/schematics/place-routes/place-def.js +1 -0
  47. package/schematics/place-routes/place-def.js.map +1 -1
  48. package/schematics/place-routes/templates/place-routes.ts.template +10 -11
  49. package/esm2015/lib/place/guards/abstract-place.guard.js +0 -166
  50. package/esm2015/lib/place/guards/interaction.guard.js +0 -121
  51. package/esm5/lib/place/guards/abstract-place.guard.js +0 -213
  52. package/esm5/lib/place/guards/interaction.guard.js +0 -133
  53. package/lib/place/guards/interaction.guard.d.ts +0 -17
@@ -226,6 +226,7 @@ export class ActivityContainerComponent extends InteractionContextBase {
226
226
  * @return {?}
227
227
  */
228
228
  finishInitialActivity() {
229
+ this.updateActivityList();
229
230
  this._initialActivityOutletContext.value = null;
230
231
  this.initialActivityOutletContextEvent.emit(null);
231
232
  }
@@ -361,4 +362,4 @@ if (false) {
361
362
  */
362
363
  ActivityContainerComponent.prototype._activityList;
363
364
  }
364
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQ0wsTUFBTSxFQUVOLEdBQUcsRUFDSCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGlCQUFpQixFQUVsQixNQUFNLGdCQUFnQixDQUFDO0FBSXhCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7O0FBT3ZGLE1BQU0sVUFBVTs7Ozs7OztJQUtkLFlBQXFCLFlBQWUsRUFDZixhQUErQyxFQUMvQyxrQkFBc0MsRUFDdEMsaUJBQTJDO1FBSDNDLGlCQUFZLEdBQVosWUFBWSxDQUFHO1FBQ2Ysa0JBQWEsR0FBYixhQUFhLENBQWtDO1FBQy9DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQU54RCxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBTzFCLENBQUM7Ozs7SUFFRCxtQkFBbUI7UUFDakIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDOzs7O0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFD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U0FBUyxFQUFDLENBQUM7SUFDbkksQ0FBQzs7Ozs7SUFFTyxpQkFBaUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekQsQ0FBQzs7O1lBL0lGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyw4VEFBa0Q7O2FBRW5EOzs7OzsyQ0FPRSxLQUFLO2dEQTRCTCxNQUFNLFNBQUMsOEJBQThCOzRCQUdyQyxLQUFLO21CQUdMLFNBQVMsU0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3NCQUdsQyxZQUFZLFNBQUMsdUJBQXVCOzs7Ozs7O0lBekNyQyx5RUFBZ0Y7Ozs7O0lBRWhGLG1FQUF5Rzs7SUE4QnpHLHVFQUN1Rjs7SUFFdkYsbURBQ3NCOztJQUV0QiwwQ0FDa0I7O0lBRWxCLDZDQUMyRDs7SUFFM0Qsa0RBQTBFOztJQUUxRSw0Q0FBb0M7Ozs7O0lBRXBDLG1EQUE0RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW5cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRUYWJHcm91cCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7XG4gIGFzc2VydCxcbiAgQ29uc3RydWN0YWJsZSxcbiAgRHNsLFxuICBNdXRhYmxlTGlzdE1vZGVsLFxuICBNdXRhYmxlU3RyZWFtLFxuICBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbFxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5cbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vLi4vYWN0aXZpdHknO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHRCYXNlIH0gZnJvbSAnLi4vLi4vaW50ZXJhY3Rpb24tY29udGV4dC1iYXNlJztcbmltcG9ydCB7IEFjdGl2aXR5T3V0bGV0Q29udGV4dCB9IGZyb20gJy4uL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQtY29udGV4dCc7XG5pbXBvcnQgeyBBY3Rpdml0eU91dGxldENvbXBvbmVudCB9IGZyb20gJy4uL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50JztcblxuLyoqXG4gKiBOb3RlOiB0aGlzIGNsYXNzIGlzIG11dGFibGUgYW5kIGlzIHN0b3JlZCBpbiBhIGxpc3QgbW9kZWwuICBUaGlzIGlzIG5vcm1hbGx5IGEgYmlnIG5vIG5vIGJ1dFxuICogIHdlJ3JlIG1hbnVhbGx5IGRlcml2aW5nIG90aGVyIG1vZGVscyBmcm9tIHRoZSBsaXN0IGFmdGVyIHZpZXcgc3RhdGUgY2hhbmdlcy4gIEkuZS4gd2Ugbm90XG4gKiAgdXNpbmcgcGVjdGluIGNoYWlucyBvbiBhbnkgb2YgdGhlIG11dGFibGUgZmllbGRzLlxuICovXG5jbGFzcyBUYWJDb250ZXh0PEQsIFIsIEU+IGltcGxlbWVudHMgQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+IHtcblxuICBwcml2YXRlIF9jb21wbGV0ZSA9IGZhbHNlO1xuICBwcml2YXRlIF9jb21wb25lbnQ6IEFjdGl2aXR5PEQsIFIsIEU+O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGFjdGl2aXR5RGF0YTogRCxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgYWN0aXZpdHlDbGFzczogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0LFxuICAgICAgICAgICAgICByZWFkb25seSBhY3Rpdml0eUNhbGxiYWNrczogQWN0aXZpdHkuQ2FsbGJhY2tzPFIsIEU+KSB7XG4gIH1cblxuICBpc0NvbXBvbmVudFJlYWxpc2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2NvbXBvbmVudDtcbiAgfVxuXG4gIGlzQ29tcGxldGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBsZXRlO1xuICB9XG5cbiAgY29tcG9uZW50UmVhZHkoY29tcG9uZW50OiBBY3Rpdml0eTxELCBSLCBFPikge1xuICAgIGFzc2VydC5pc05pbCh0aGlzLl9jb21wb25lbnQpO1xuICAgIHRoaXMuX2NvbXBvbmVudCA9IGNvbXBvbmVudDtcbiAgfVxuXG4gIGdldCBjb21wb25lbnQoKTogQWN0aXZpdHk8RCwgUiwgRT4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnQ7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbkRvbmUocmVzdWx0OiBSKTogdm9pZCB7XG4gICAgdGhpcy5fY29tcGxldGUgPSB0cnVlO1xuICAgIHRoaXMuYWN0aXZpdHlDYWxsYmFja3Mub25Eb25lKHJlc3VsdCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbkNhbmNlbChlcnJvcjogRSk6IHZvaWQge1xuICAgIHRoaXMuX2NvbXBsZXRlID0gdHJ1ZTtcbiAgICB0aGlzLmFjdGl2aXR5Q2FsbGJhY2tzLm9uQ2FuY2VsKGVycm9yKTtcbiAgfVxuXG4gIGRpc3Bvc2UoKSB7XG4gICAgdGhpcy5jb21wb25lbnQuZGlzcG9zZSgpO1xuICB9XG5cbn1cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtYWN0aXZpdHktY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PEQsIFIsIEU+IGV4dGVuZHMgSW50ZXJhY3Rpb25Db250ZXh0QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB0aHJvdHRsZWROZXN0ZWRBY3Rpdml0eUZpbmlzaEV2ZW50cyA9IG5ldyBNdXRhYmxlU3RyZWFtPGFueT4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0ID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPEFjdGl2aXR5T3V0bGV0Q29udGV4dDxELCBSLCBFPj4oKTtcblxuICBASW5wdXQoKVxuICBzZXQgaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dChpbml0aWFsQ29udGV4dDogQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+KSB7XG4gICAgYXNzZXJ0LmlzTmlsKHRoaXMuX2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQudmFsdWUpO1xuICAgIC8vIHdlIGNsZWFuIHVwIGF0IHRoZSBzdGFydCBhcyB3ZSBsZWF2ZSB0aGUgaW5pdGlhbCBhY3Rpdml0eSBpbiBwbGFjZSBhZnRlciBpdCBmaW5pc2hlc1xuICAgIC8vIHNvIHRoYXQgdGhlIGFjdGl2aXR5IHJlbWFpbnMgdmlzaWJsZSBkdXJpbmcgdGhlIGlucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dCBhbmltYXRpb25zLlxuICAgIHRoaXMuYWN0aXZpdHlUYWJzLnZhbHVlID0gW107XG4gICAgdGhpcy5fYWN0aXZpdHlMaXN0LnZhbHVlID0gW107XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgaWYgKGluaXRpYWxDb250ZXh0KSB7XG4gICAgICB0aGlzLl9pbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0LnZhbHVlID0gaW5pdGlhbENvbnRleHQ7XG4gICAgICB0aGlzLmFjdGl2aXR5VGFicy5wdXNoKG5ldyBUYWJDb250ZXh0KGluaXRpYWxDb250ZXh0LmFjdGl2aXR5RGF0YSwgaW5pdGlhbENvbnRleHQuYWN0aXZpdHlDbGFzcywgdGhpcywge1xuICAgICAgICBvbkRvbmU6IChyZXN1bHQ6IFIpID0+IHtcbiAgICAgICAgICBzZWxmLmZpbmlzaEluaXRpYWxBY3Rpdml0eSgpO1xuICAgICAgICAgIGluaXRpYWxDb250ZXh0Lm9uRG9uZShyZXN1bHQpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNhbmNlbDogKGVycm9yOiBFKSA9PiB7XG4gICAgICAgICAgc2VsZi5maW5pc2hJbml0aWFsQWN0aXZpdHkoKTtcbiAgICAgICAgICBpbml0aWFsQ29udGV4dC5vbkNhbmNlbChlcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgICB9XG4gIH1cblxuICBnZXQgaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dC52YWx1ZTtcbiAgfVxuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1vdXRwdXQtcmVuYW1lXG4gIEBPdXRwdXQoJ2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQnKVxuICBpbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2aXR5T3V0bGV0Q29udGV4dDxELCBSLCBFPj4oKTtcblxuICBASW5wdXQoKVxuICBkeW5hbWljSGVpZ2h0ID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgndGFicycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHRhYnM6IE1hdFRhYkdyb3VwO1xuXG4gIEBWaWV3Q2hpbGRyZW4oQWN0aXZpdHlPdXRsZXRDb21wb25lbnQpXG4gIG91dGxldHM6IFF1ZXJ5TGlzdDxBY3Rpdml0eU91dGxldENvbXBvbmVudDxhbnksIGFueSwgYW55Pj47XG5cbiAgcmVhZG9ubHkgYWN0aXZpdHlUYWJzID0gbmV3IE11dGFibGVMaXN0TW9kZWw8VGFiQ29udGV4dDxhbnksIGFueSwgYW55Pj4oKTtcblxuICByZWFkb25seSBhY3RpdmU6VmFsdWVNb2RlbDxib29sZWFuPjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9hY3Rpdml0eUxpc3QgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIGNoYWluKHRoaXMudGhyb3R0bGVkTmVzdGVkQWN0aXZpdHlGaW5pc2hFdmVudHMpLnRocm90dGxlKDUwKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbk5lc3RlZEFjdGl2aXR5RmluaXNoZWQoKSk7XG4gICAgdGhpcy5zZXRBY3Rpdml0eUxpc3QodGhpcy5fYWN0aXZpdHlMaXN0LnJlYWRvbmx5KTtcbiAgICB0aGlzLmFjdGl2ZSA9IGNoYWluKHRoaXMuX2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQpLmlzTm90TmlsKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGNoYWluLCBvYnNlcnZlIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgb2JzZXJ2ZS52YWx1ZXNGcm9tKHRoaXMub3V0bGV0cy5jaGFuZ2VzKS5zdWJzY3JpYmUoKCkgPT4gc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZUFjdGl2aXR5TGlzdCgpKSk7XG4gICAgb2JzZXJ2ZS52YWx1ZXNGcm9tKHRoaXMudGFicy5hbmltYXRpb25Eb25lKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkFuaW1hdGlvbkZpbmlzaGVkKCkpO1xuICAgIHRoaXMudXBkYXRlQWN0aXZpdHlMaXN0KCk7XG4gIH1cblxuICBfc3RhcnRBY3Rpdml0eTxEMSwgUjEsIEUxPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RDEsIFIxLCBFMT4+LCBkYXRhPzogRDEpOiBQcm9taXNlPFIxPiB7XG4gICAgdGhpcy5jbGVhbnVwU3RhbGVOZXN0ZWRBY3Rpdml0aWVzKCk7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFIxPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBjb250ZXh0ID0gbmV3IFRhYkNvbnRleHQoZGF0YSwgYWN0aXZpdHlUeXBlLCBzZWxmLCB7XG4gICAgICAgIG9uRG9uZTogZnVuY3Rpb24ocmVzdWx0OiBSMSkge1xuICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICBzZWxmLnRocm90dGxlZE5lc3RlZEFjdGl2aXR5RmluaXNoRXZlbnRzLnB1Ymxpc2goe30pO1xuICAgICAgICB9LFxuICAgICAgICBvbkNhbmNlbDogZnVuY3Rpb24oZXJyb3I6IEUxKSB7XG4gICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICBzZWxmLnRocm90dGxlZE5lc3RlZEFjdGl2aXR5RmluaXNoRXZlbnRzLnB1Ymxpc2goe30pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHNlbGYuYWN0aXZpdHlUYWJzLnB1c2goY29udGV4dCk7XG4gICAgICBzZWxmLnRhYnMuc2VsZWN0ZWRJbmRleCA9IHRoaXMuYWN0aXZpdHlUYWJzLmxlbmd0aDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmluaXNoSW5pdGlhbEFjdGl2aXR5KCkge1xuICAgIHRoaXMuX2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQudmFsdWUgPSBudWxsO1xuICAgIHRoaXMuaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dEV2ZW50LmVtaXQobnVsbCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIG9uTmVzdGVkQWN0aXZpdHlGaW5pc2hlZCgpIHtcbiAgICB0aGlzLnN5bmNocm9uaXNlU2VsZWN0ZWRUYWJJbmRleCgpO1xuICAgIHRoaXMudXBkYXRlQWN0aXZpdHlMaXN0KCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIGNsZWFudXBTdGFsZU5lc3RlZEFjdGl2aXRpZXMoKSB7XG4gICAgaWYgKHRoaXMudGFicy5zZWxlY3RlZEluZGV4IDwgdGhpcy5hY3Rpdml0eVRhYnMubGVuZ3RoIC0gMSkge1xuICAgICAgY29uc3QgdGFicyA9IHRoaXMuYWN0aXZpdHlUYWJzLnZhbHVlO1xuICAgICAgY29uc3QgcmVtYWluaW5nQWN0aXZpdGllcyA9IHRhYnMuc2xpY2UoMCwgMSArIHRoaXMudGFicy5zZWxlY3RlZEluZGV4KTtcbiAgICAgIGNvbnN0IGZpbmlzaGVkQWN0aXZpdHlUYWJzID0gdGFicy5zbGljZSgxICsgdGhpcy50YWJzLnNlbGVjdGVkSW5kZXgpO1xuICAgICAgZmluaXNoZWRBY3Rpdml0eVRhYnMuZm9yRWFjaChhID0+IGEuZGlzcG9zZSgpKTtcbiAgICAgIHRoaXMuYWN0aXZpdHlUYWJzLnJ1bkluVHJhbnNhY3Rpb24oZHJhZnQgPT4ge1xuXG4gICAgICAgIGRyYWZ0LnZhbHVlID0gcmVtYWluaW5nQWN0aXZpdGllcztcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTeW5jaHJvbmlzZXMgdGhlIHNlbGVjdGVkIHRhYiBpbmRleC4gIFJldHVybnMgdHJ1ZSBpZiB0aGVyZSB3YXMgbm8gY2hhbmdlIHRvIHRoZSBzZWxlY3RlZCBpbmRleC5cbiAgICovXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgc3luY2hyb25pc2VTZWxlY3RlZFRhYkluZGV4KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHByZXZpb3VzSW5kZXggPSB0aGlzLnRhYnMuc2VsZWN0ZWRJbmRleDtcbiAgICBjb25zdCBuZXdJbmRleCA9IHRoaXMuYWN0aXZpdHlUYWJzLnF1ZXJ5KCkuZmluZEluZGV4KHQgPT4gdC5pc0NvbXBsZXRlKCkpIC0gMTtcbiAgICB0aGlzLnRhYnMuc2VsZWN0ZWRJbmRleCA9IG5ld0luZGV4O1xuICAgIHJldHVybiBwcmV2aW91c0luZGV4ID09PSBuZXdJbmRleDtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgb25BbmltYXRpb25GaW5pc2hlZCgpIHtcbiAgICB0aGlzLmdldFNlbGVjdGVkT3V0bGV0KCkuY29tcG9uZW50Lm9uQWN0aXZpdHlSZWFkeSgpO1xuICAgIHRoaXMuY2xlYW51cFN0YWxlTmVzdGVkQWN0aXZpdGllcygpO1xuICAgIHRoaXMudXBkYXRlQWN0aXZpdHlMaXN0KCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUFjdGl2aXR5TGlzdCgpIHtcbiAgICB0aGlzLl9hY3Rpdml0eUxpc3QudmFsdWUgPSB0aGlzLmFjdGl2aXR5VGFicy52YWx1ZS5maWx0ZXIodCA9PiAhdC5pc0NvbXBsZXRlKCkgJiYgdC5pc0NvbXBvbmVudFJlYWxpc2VkKCkpLm1hcCh0ID0+IHQuY29tcG9uZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZWN0ZWRPdXRsZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMub3V0bGV0cy50b0FycmF5KClbdGhpcy50YWJzLnNlbGVjdGVkSW5kZXhdO1xuICB9XG59XG4iXX0=
365
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQ0wsTUFBTSxFQUVOLEdBQUcsRUFDSCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGlCQUFpQixFQUVsQixNQUFNLGdCQUFnQixDQUFDO0FBSXhCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7O0FBT3ZGLE1BQU0sVUFBVTs7Ozs7OztJQUtkLFlBQXFCLFlBQWUsRUFDZixhQUErQyxFQUMvQyxrQkFBc0MsRUFDdEMsaUJBQTJDO1FBSDNDLGlCQUFZLEdBQVosWUFBWSxDQUFHO1FBQ2Ysa0JBQWEsR0FBYixhQUFhLENBQWtDO1FBQy9DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQU54RCxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBTzFCLENBQUM7Ozs7SUFFRCxtQkFBbUI7UUFDakIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDOzs7O0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDOzs7OztJQUVELGNBQWMsQ0FBQyxTQUE0QjtRQUN6QyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUM5QixDQUFDOzs7O0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7Ozs7OztJQUdELE1BQU0sQ0FBQyxNQUFTO1FBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDOzs7Ozs7SUFHRCxRQUFRLENBQUMsS0FBUTtRQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQzs7OztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FFRjs7Ozs7O0lBMUNDLCtCQUEwQjs7Ozs7SUFDMUIsZ0NBQXNDOztJQUUxQixrQ0FBd0I7O0lBQ3hCLG1DQUF3RDs7SUFDeEQsd0NBQStDOztJQUMvQyx1Q0FBb0Q7Ozs7O0FBNENsRSxNQUFNLE9BQU8sMEJBQW9DLFNBQVEsc0JBQXNCO0lBb0Q3RTtRQUNFLEtBQUssRUFBRSxDQUFDO1FBbkRPLHdDQUFtQyxHQUFHLElBQUksYUFBYSxFQUFPLENBQUM7UUFFL0Qsa0NBQTZCLEdBQUcsSUFBSSxpQkFBaUIsRUFBa0MsQ0FBQzs7UUErQnpHLHNDQUFpQyxHQUFHLElBQUksWUFBWSxFQUFrQyxDQUFDO1FBR3ZGLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBUWIsaUJBQVksR0FBRyxJQUFJLGdCQUFnQixFQUE2QixDQUFDO1FBSXpELGtCQUFhLEdBQUcsSUFBSSxnQkFBZ0IsRUFBc0IsQ0FBQztjQUlwRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ3hGLEtBQUssQ0FBQyxJQUFJLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUzs7O1FBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEVBQUMsQ0FBQztRQUM5RyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckUsQ0FBQzs7Ozs7SUFwREQsSUFDSSw0QkFBNEIsQ0FBQyxjQUE4QztRQUM3RSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2RCx1RkFBdUY7UUFDdkYsMEZBQTBGO1FBQzFGLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7O2NBQ3hCLElBQUksR0FBRyxJQUFJO1FBQ2pCLElBQUksY0FBYyxFQUFFO1lBQ2xCLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDO1lBQzFELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUU7Z0JBQ3JHLE1BQU07Ozs7Z0JBQUUsQ0FBQyxNQUFTLEVBQUUsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7b0JBQzdCLGNBQWMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2hDLENBQUMsQ0FBQTtnQkFDRCxRQUFROzs7O2dCQUFFLENBQUMsS0FBUSxFQUFFLEVBQUU7b0JBQ3JCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO29CQUM3QixjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNqQyxDQUFDLENBQUE7YUFDRixDQUFDLENBQUMsQ0FBQztTQUNMO0lBQ0gsQ0FBQzs7OztJQUVELElBQUksNEJBQTRCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLDZCQUE2QixDQUFDLEtBQUssQ0FBQztJQUNsRCxDQUFDOzs7O0lBNkJELFFBQVE7SUFDUixDQUFDOzs7O0lBRUQsZUFBZTtjQUNQLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTOzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVOzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBQyxFQUFDLENBQUM7UUFDdEcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVM7OztRQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxFQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQzs7Ozs7OztJQUVELGNBQWMsQ0FBYSxZQUFpRCxFQUFFLElBQVM7UUFDckYsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7O2NBQzlCLElBQUksR0FBRyxJQUFJO1FBQ2pCLE9BQU8sSUFBSSxPQUFPOzs7OztRQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFOztrQkFDbkMsT0FBTyxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFO2dCQUN2RCxNQUFNOzs7O2dCQUFFLFVBQVMsTUFBVTtvQkFDekIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNoQixJQUFJLENBQUMsbUNBQW1DLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDLENBQUE7Z0JBQ0QsUUFBUTs7OztnQkFBRSxVQUFTLEtBQVM7b0JBQzFCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDZCxJQUFJLENBQUMsbUNBQW1DLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDLENBQUE7YUFDRixDQUFDO1lBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDckQsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7OztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsNkJBQTZCLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNoRCxJQUFJLENBQUMsaUNBQWlDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7Ozs7OztJQUdPLHdCQUF3QjtRQUM5QixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs7Ozs7SUFHTyw0QkFBNEI7UUFDbEMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7O2tCQUNwRCxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLOztrQkFDOUIsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDOztrQkFDaEUsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDcEUsb0JBQW9CLENBQUMsT0FBTzs7OztZQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0I7Ozs7WUFBQyxLQUFLLENBQUMsRUFBRTtnQkFFekMsS0FBSyxDQUFDLEtBQUssR0FBRyxtQkFBbUIsQ0FBQztZQUNwQyxDQUFDLEVBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7Ozs7OztJQU1PLDJCQUEyQjs7Y0FDM0IsYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTs7Y0FDdkMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUzs7OztRQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFDLEdBQUcsQ0FBQztRQUM3RSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7UUFDbkMsT0FBTyxhQUFhLEtBQUssUUFBUSxDQUFDO0lBQ3BDLENBQUM7Ozs7OztJQUdPLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckQsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQzs7Ozs7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTTs7OztRQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLG1CQUFtQixFQUFFLEVBQUMsQ0FBQyxHQUFHOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFDLENBQUM7SUFDbkksQ0FBQzs7Ozs7SUFFTyxpQkFBaUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekQsQ0FBQzs7O1lBaEpGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyw4VEFBa0Q7O2FBRW5EOzs7OzsyQ0FPRSxLQUFLO2dEQTRCTCxNQUFNLFNBQUMsOEJBQThCOzRCQUdyQyxLQUFLO21CQUdMLFNBQVMsU0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3NCQUdsQyxZQUFZLFNBQUMsdUJBQXVCOzs7Ozs7O0lBekNyQyx5RUFBZ0Y7Ozs7O0lBRWhGLG1FQUF5Rzs7SUE4QnpHLHVFQUN1Rjs7SUFFdkYsbURBQ3NCOztJQUV0QiwwQ0FDa0I7O0lBRWxCLDZDQUMyRDs7SUFFM0Qsa0RBQTBFOztJQUUxRSw0Q0FBb0M7Ozs7O0lBRXBDLG1EQUE0RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW5cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRUYWJHcm91cCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7XG4gIGFzc2VydCxcbiAgQ29uc3RydWN0YWJsZSxcbiAgRHNsLFxuICBNdXRhYmxlTGlzdE1vZGVsLFxuICBNdXRhYmxlU3RyZWFtLFxuICBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbFxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5cbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vLi4vYWN0aXZpdHknO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHRCYXNlIH0gZnJvbSAnLi4vLi4vaW50ZXJhY3Rpb24tY29udGV4dC1iYXNlJztcbmltcG9ydCB7IEFjdGl2aXR5T3V0bGV0Q29udGV4dCB9IGZyb20gJy4uL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQtY29udGV4dCc7XG5pbXBvcnQgeyBBY3Rpdml0eU91dGxldENvbXBvbmVudCB9IGZyb20gJy4uL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50JztcblxuLyoqXG4gKiBOb3RlOiB0aGlzIGNsYXNzIGlzIG11dGFibGUgYW5kIGlzIHN0b3JlZCBpbiBhIGxpc3QgbW9kZWwuICBUaGlzIGlzIG5vcm1hbGx5IGEgYmlnIG5vIG5vIGJ1dFxuICogIHdlJ3JlIG1hbnVhbGx5IGRlcml2aW5nIG90aGVyIG1vZGVscyBmcm9tIHRoZSBsaXN0IGFmdGVyIHZpZXcgc3RhdGUgY2hhbmdlcy4gIEkuZS4gd2Ugbm90XG4gKiAgdXNpbmcgcGVjdGluIGNoYWlucyBvbiBhbnkgb2YgdGhlIG11dGFibGUgZmllbGRzLlxuICovXG5jbGFzcyBUYWJDb250ZXh0PEQsIFIsIEU+IGltcGxlbWVudHMgQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+IHtcblxuICBwcml2YXRlIF9jb21wbGV0ZSA9IGZhbHNlO1xuICBwcml2YXRlIF9jb21wb25lbnQ6IEFjdGl2aXR5PEQsIFIsIEU+O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGFjdGl2aXR5RGF0YTogRCxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgYWN0aXZpdHlDbGFzczogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0LFxuICAgICAgICAgICAgICByZWFkb25seSBhY3Rpdml0eUNhbGxiYWNrczogQWN0aXZpdHkuQ2FsbGJhY2tzPFIsIEU+KSB7XG4gIH1cblxuICBpc0NvbXBvbmVudFJlYWxpc2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2NvbXBvbmVudDtcbiAgfVxuXG4gIGlzQ29tcGxldGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBsZXRlO1xuICB9XG5cbiAgY29tcG9uZW50UmVhZHkoY29tcG9uZW50OiBBY3Rpdml0eTxELCBSLCBFPikge1xuICAgIGFzc2VydC5pc05pbCh0aGlzLl9jb21wb25lbnQpO1xuICAgIHRoaXMuX2NvbXBvbmVudCA9IGNvbXBvbmVudDtcbiAgfVxuXG4gIGdldCBjb21wb25lbnQoKTogQWN0aXZpdHk8RCwgUiwgRT4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnQ7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbkRvbmUocmVzdWx0OiBSKTogdm9pZCB7XG4gICAgdGhpcy5fY29tcGxldGUgPSB0cnVlO1xuICAgIHRoaXMuYWN0aXZpdHlDYWxsYmFja3Mub25Eb25lKHJlc3VsdCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbkNhbmNlbChlcnJvcjogRSk6IHZvaWQge1xuICAgIHRoaXMuX2NvbXBsZXRlID0gdHJ1ZTtcbiAgICB0aGlzLmFjdGl2aXR5Q2FsbGJhY2tzLm9uQ2FuY2VsKGVycm9yKTtcbiAgfVxuXG4gIGRpc3Bvc2UoKSB7XG4gICAgdGhpcy5jb21wb25lbnQuZGlzcG9zZSgpO1xuICB9XG5cbn1cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtYWN0aXZpdHktY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PEQsIFIsIEU+IGV4dGVuZHMgSW50ZXJhY3Rpb25Db250ZXh0QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB0aHJvdHRsZWROZXN0ZWRBY3Rpdml0eUZpbmlzaEV2ZW50cyA9IG5ldyBNdXRhYmxlU3RyZWFtPGFueT4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0ID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPEFjdGl2aXR5T3V0bGV0Q29udGV4dDxELCBSLCBFPj4oKTtcblxuICBASW5wdXQoKVxuICBzZXQgaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dChpbml0aWFsQ29udGV4dDogQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+KSB7XG4gICAgYXNzZXJ0LmlzTmlsKHRoaXMuX2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQudmFsdWUpO1xuICAgIC8vIHdlIGNsZWFuIHVwIGF0IHRoZSBzdGFydCBhcyB3ZSBsZWF2ZSB0aGUgaW5pdGlhbCBhY3Rpdml0eSBpbiBwbGFjZSBhZnRlciBpdCBmaW5pc2hlc1xuICAgIC8vIHNvIHRoYXQgdGhlIGFjdGl2aXR5IHJlbWFpbnMgdmlzaWJsZSBkdXJpbmcgdGhlIGlucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dCBhbmltYXRpb25zLlxuICAgIHRoaXMuYWN0aXZpdHlUYWJzLnZhbHVlID0gW107XG4gICAgdGhpcy5fYWN0aXZpdHlMaXN0LnZhbHVlID0gW107XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgaWYgKGluaXRpYWxDb250ZXh0KSB7XG4gICAgICB0aGlzLl9pbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0LnZhbHVlID0gaW5pdGlhbENvbnRleHQ7XG4gICAgICB0aGlzLmFjdGl2aXR5VGFicy5wdXNoKG5ldyBUYWJDb250ZXh0KGluaXRpYWxDb250ZXh0LmFjdGl2aXR5RGF0YSwgaW5pdGlhbENvbnRleHQuYWN0aXZpdHlDbGFzcywgdGhpcywge1xuICAgICAgICBvbkRvbmU6IChyZXN1bHQ6IFIpID0+IHtcbiAgICAgICAgICBzZWxmLmZpbmlzaEluaXRpYWxBY3Rpdml0eSgpO1xuICAgICAgICAgIGluaXRpYWxDb250ZXh0Lm9uRG9uZShyZXN1bHQpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNhbmNlbDogKGVycm9yOiBFKSA9PiB7XG4gICAgICAgICAgc2VsZi5maW5pc2hJbml0aWFsQWN0aXZpdHkoKTtcbiAgICAgICAgICBpbml0aWFsQ29udGV4dC5vbkNhbmNlbChlcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgICB9XG4gIH1cblxuICBnZXQgaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dC52YWx1ZTtcbiAgfVxuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1vdXRwdXQtcmVuYW1lXG4gIEBPdXRwdXQoJ2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQnKVxuICBpbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2aXR5T3V0bGV0Q29udGV4dDxELCBSLCBFPj4oKTtcblxuICBASW5wdXQoKVxuICBkeW5hbWljSGVpZ2h0ID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgndGFicycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHRhYnM6IE1hdFRhYkdyb3VwO1xuXG4gIEBWaWV3Q2hpbGRyZW4oQWN0aXZpdHlPdXRsZXRDb21wb25lbnQpXG4gIG91dGxldHM6IFF1ZXJ5TGlzdDxBY3Rpdml0eU91dGxldENvbXBvbmVudDxhbnksIGFueSwgYW55Pj47XG5cbiAgcmVhZG9ubHkgYWN0aXZpdHlUYWJzID0gbmV3IE11dGFibGVMaXN0TW9kZWw8VGFiQ29udGV4dDxhbnksIGFueSwgYW55Pj4oKTtcblxuICByZWFkb25seSBhY3RpdmU6VmFsdWVNb2RlbDxib29sZWFuPjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9hY3Rpdml0eUxpc3QgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIGNoYWluKHRoaXMudGhyb3R0bGVkTmVzdGVkQWN0aXZpdHlGaW5pc2hFdmVudHMpLnRocm90dGxlKDUwKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbk5lc3RlZEFjdGl2aXR5RmluaXNoZWQoKSk7XG4gICAgdGhpcy5zZXRBY3Rpdml0eUxpc3QodGhpcy5fYWN0aXZpdHlMaXN0LnJlYWRvbmx5KTtcbiAgICB0aGlzLmFjdGl2ZSA9IGNoYWluKHRoaXMuX2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQpLmlzTm90TmlsKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGNoYWluLCBvYnNlcnZlIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgb2JzZXJ2ZS52YWx1ZXNGcm9tKHRoaXMub3V0bGV0cy5jaGFuZ2VzKS5zdWJzY3JpYmUoKCkgPT4gc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZUFjdGl2aXR5TGlzdCgpKSk7XG4gICAgb2JzZXJ2ZS52YWx1ZXNGcm9tKHRoaXMudGFicy5hbmltYXRpb25Eb25lKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkFuaW1hdGlvbkZpbmlzaGVkKCkpO1xuICAgIHRoaXMudXBkYXRlQWN0aXZpdHlMaXN0KCk7XG4gIH1cblxuICBfc3RhcnRBY3Rpdml0eTxEMSwgUjEsIEUxPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RDEsIFIxLCBFMT4+LCBkYXRhPzogRDEpOiBQcm9taXNlPFIxPiB7XG4gICAgdGhpcy5jbGVhbnVwU3RhbGVOZXN0ZWRBY3Rpdml0aWVzKCk7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFIxPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBjb250ZXh0ID0gbmV3IFRhYkNvbnRleHQoZGF0YSwgYWN0aXZpdHlUeXBlLCBzZWxmLCB7XG4gICAgICAgIG9uRG9uZTogZnVuY3Rpb24ocmVzdWx0OiBSMSkge1xuICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICBzZWxmLnRocm90dGxlZE5lc3RlZEFjdGl2aXR5RmluaXNoRXZlbnRzLnB1Ymxpc2goe30pO1xuICAgICAgICB9LFxuICAgICAgICBvbkNhbmNlbDogZnVuY3Rpb24oZXJyb3I6IEUxKSB7XG4gICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICBzZWxmLnRocm90dGxlZE5lc3RlZEFjdGl2aXR5RmluaXNoRXZlbnRzLnB1Ymxpc2goe30pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHNlbGYuYWN0aXZpdHlUYWJzLnB1c2goY29udGV4dCk7XG4gICAgICBzZWxmLnRhYnMuc2VsZWN0ZWRJbmRleCA9IHRoaXMuYWN0aXZpdHlUYWJzLmxlbmd0aDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmluaXNoSW5pdGlhbEFjdGl2aXR5KCkge1xuICAgIHRoaXMudXBkYXRlQWN0aXZpdHlMaXN0KCk7XG4gICAgdGhpcy5faW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dC52YWx1ZSA9IG51bGw7XG4gICAgdGhpcy5pbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0RXZlbnQuZW1pdChudWxsKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgb25OZXN0ZWRBY3Rpdml0eUZpbmlzaGVkKCkge1xuICAgIHRoaXMuc3luY2hyb25pc2VTZWxlY3RlZFRhYkluZGV4KCk7XG4gICAgdGhpcy51cGRhdGVBY3Rpdml0eUxpc3QoKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgY2xlYW51cFN0YWxlTmVzdGVkQWN0aXZpdGllcygpIHtcbiAgICBpZiAodGhpcy50YWJzLnNlbGVjdGVkSW5kZXggPCB0aGlzLmFjdGl2aXR5VGFicy5sZW5ndGggLSAxKSB7XG4gICAgICBjb25zdCB0YWJzID0gdGhpcy5hY3Rpdml0eVRhYnMudmFsdWU7XG4gICAgICBjb25zdCByZW1haW5pbmdBY3Rpdml0aWVzID0gdGFicy5zbGljZSgwLCAxICsgdGhpcy50YWJzLnNlbGVjdGVkSW5kZXgpO1xuICAgICAgY29uc3QgZmluaXNoZWRBY3Rpdml0eVRhYnMgPSB0YWJzLnNsaWNlKDEgKyB0aGlzLnRhYnMuc2VsZWN0ZWRJbmRleCk7XG4gICAgICBmaW5pc2hlZEFjdGl2aXR5VGFicy5mb3JFYWNoKGEgPT4gYS5kaXNwb3NlKCkpO1xuICAgICAgdGhpcy5hY3Rpdml0eVRhYnMucnVuSW5UcmFuc2FjdGlvbihkcmFmdCA9PiB7XG5cbiAgICAgICAgZHJhZnQudmFsdWUgPSByZW1haW5pbmdBY3Rpdml0aWVzO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN5bmNocm9uaXNlcyB0aGUgc2VsZWN0ZWQgdGFiIGluZGV4LiAgUmV0dXJucyB0cnVlIGlmIHRoZXJlIHdhcyBubyBjaGFuZ2UgdG8gdGhlIHNlbGVjdGVkIGluZGV4LlxuICAgKi9cbiAgLy8gQFRyYWNlKClcbiAgcHJpdmF0ZSBzeW5jaHJvbmlzZVNlbGVjdGVkVGFiSW5kZXgoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcHJldmlvdXNJbmRleCA9IHRoaXMudGFicy5zZWxlY3RlZEluZGV4O1xuICAgIGNvbnN0IG5ld0luZGV4ID0gdGhpcy5hY3Rpdml0eVRhYnMucXVlcnkoKS5maW5kSW5kZXgodCA9PiB0LmlzQ29tcGxldGUoKSkgLSAxO1xuICAgIHRoaXMudGFicy5zZWxlY3RlZEluZGV4ID0gbmV3SW5kZXg7XG4gICAgcmV0dXJuIHByZXZpb3VzSW5kZXggPT09IG5ld0luZGV4O1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgcHJpdmF0ZSBvbkFuaW1hdGlvbkZpbmlzaGVkKCkge1xuICAgIHRoaXMuZ2V0U2VsZWN0ZWRPdXRsZXQoKS5jb21wb25lbnQub25BY3Rpdml0eVJlYWR5KCk7XG4gICAgdGhpcy5jbGVhbnVwU3RhbGVOZXN0ZWRBY3Rpdml0aWVzKCk7XG4gICAgdGhpcy51cGRhdGVBY3Rpdml0eUxpc3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQWN0aXZpdHlMaXN0KCkge1xuICAgIHRoaXMuX2FjdGl2aXR5TGlzdC52YWx1ZSA9IHRoaXMuYWN0aXZpdHlUYWJzLnZhbHVlLmZpbHRlcih0ID0+ICF0LmlzQ29tcGxldGUoKSAmJiB0LmlzQ29tcG9uZW50UmVhbGlzZWQoKSkubWFwKHQgPT4gdC5jb21wb25lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZWxlY3RlZE91dGxldCgpIHtcbiAgICByZXR1cm4gdGhpcy5vdXRsZXRzLnRvQXJyYXkoKVt0aGlzLnRhYnMuc2VsZWN0ZWRJbmRleF07XG4gIH1cbn1cbiJdfQ==
@@ -4,7 +4,6 @@
4
4
  */
5
5
  import * as tslib_1 from "tslib";
6
6
  import { Deferred, DelegatingListModel, Dsl } from '@coolon/pectin';
7
- import * as _ from 'lodash';
8
7
  import { AlertDialogComponent } from './components/alert-dialog/alert-dialog.component';
9
8
  import { ConfirmThenDialogComponent } from './components/confirm-then-dialog/confirm-then-dialog.component';
10
9
  import { ConfirmationDialogComponent } from './components/confirmation-dialog/confirmation-dialog.component';
@@ -24,13 +23,14 @@ export class InteractionContextBase extends InteractionContext {
24
23
  */
25
24
  this._activityListDelegate = new DelegatingListModel();
26
25
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
27
- when.listOf(this.activityList).becomesPopulated((/**
28
- * @param {?} activities
26
+ this._currentActivity = chain(this.activityList).last();
27
+ when.valueOf(this._currentActivity).becomesTruthy((/**
28
+ * @param {?} activity
29
29
  * @return {?}
30
30
  */
31
- (activities) => {
31
+ (activity) => {
32
32
  if (this.deferredGetCurrentActivity) {
33
- this.deferredGetCurrentActivity.resolve(_.last(activities));
33
+ this.deferredGetCurrentActivity.resolve(activity);
34
34
  this.deferredGetCurrentActivity = null;
35
35
  }
36
36
  }));
@@ -49,6 +49,12 @@ export class InteractionContextBase extends InteractionContext {
49
49
  get activityList() {
50
50
  return this._activityListDelegate.readonly;
51
51
  }
52
+ /**
53
+ * @return {?}
54
+ */
55
+ get activeActivity() {
56
+ return this._currentActivity;
57
+ }
52
58
  /**
53
59
  * Returns the activity that is currently active.
54
60
  * This model is only updated in the next tick after the view has been updated.
@@ -65,12 +71,14 @@ export class InteractionContextBase extends InteractionContext {
65
71
  return this.deferredGetCurrentActivity.promise;
66
72
  }
67
73
  else {
68
- if (this.activityList.length < 1) {
74
+ if (!this._currentActivity.value) {
75
+ // we'be been asked before we've got any activities, create a deferred promise
76
+ // that we resolve when the list populates.
69
77
  this.deferredGetCurrentActivity = Deferred.defer();
70
78
  return this.deferredGetCurrentActivity.promise;
71
79
  }
72
80
  else {
73
- return _.last(this.activityList.value);
81
+ return this._currentActivity.value;
74
82
  }
75
83
  }
76
84
  }
@@ -144,6 +152,11 @@ if (false) {
144
152
  * @private
145
153
  */
146
154
  InteractionContextBase.prototype.deferredGetCurrentActivity;
155
+ /**
156
+ * @type {?}
157
+ * @private
158
+ */
159
+ InteractionContextBase.prototype._currentActivity;
147
160
  /**
148
161
  * @abstract
149
162
  * @protected
@@ -155,4 +168,4 @@ if (false) {
155
168
  */
156
169
  InteractionContextBase.prototype._startActivity = function (activityType, data, disableClose) { };
157
170
  }
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC1iYXNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL2ludGVyYWN0aW9uL2ludGVyYWN0aW9uLWNvbnRleHQtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFFTCxRQUFRLEVBQ1IsbUJBQW1CLEVBQ25CLEdBQUcsRUFJSixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRzVCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBRTdHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBRTNELE1BQU0sT0FBZ0Isc0JBQXVCLFNBQVEsa0JBQWtCOzs7O0lBVXJFO1FBQ0UsS0FBSyxFQUFFLENBQUM7Ozs7O1FBTE8sMEJBQXFCLEdBQUcsSUFBSSxtQkFBbUIsRUFBc0IsQ0FBQztjQU0vRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ3hGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLGdCQUFnQjs7OztRQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDN0QsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEVBQUU7Z0JBQ25DLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUM1RCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO2FBQ3hDO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7Ozs7SUFFUyxlQUFlLENBQUMsWUFBMkM7UUFDbkUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RCxDQUFDOzs7O0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDO0lBQzdDLENBQUM7Ozs7OztJQU1LLGtCQUFrQjs7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDcEIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7YUFDbEQ7aUJBQU07Z0JBQ0wsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEVBQUU7b0JBQ25DLDBEQUEwRDtvQkFDMUQsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDO2lCQUNoRDtxQkFBTTtvQkFDTCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTt3QkFDaEMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzt3QkFDbkQsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDO3FCQUNoRDt5QkFBTTt3QkFDTCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDeEM7aUJBQ0Y7YUFDRjtRQUNILENBQUM7S0FBQTs7Ozs7OztJQUdELGFBQWEsQ0FBVSxZQUE4QyxFQUFFLElBQVE7UUFDN0UsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7OztJQUVELE9BQU8sQ0FBQyxPQUFnQjtRQUN0QiwwRUFBMEU7UUFDMUUseUVBQXlFO1FBQ3pFLDBDQUEwQztRQUMxQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSTs7O1FBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFDLENBQUMsS0FBSzs7O1FBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFDLENBQUM7SUFDM0UsQ0FBQzs7Ozs7SUFFRCxLQUFLLENBQUMsS0FBWTtRQUNoQixvQ0FBb0M7UUFDcEMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDOzs7OztJQUVELGVBQWUsQ0FBQyxPQUFnQjtRQUM5QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsMkJBQTJCLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Ozs7Ozs7O0lBRUQsV0FBVyxDQUFVLE9BQWdCLEVBQUUsWUFBOEMsRUFBRSxJQUFRO1FBQzdGLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBaUQsMEJBQTBCLEVBQUU7WUFDckcsT0FBTztZQUNQLFlBQVksRUFBRSxZQUFZO1lBQzFCLElBQUksRUFBRSxJQUFJO1NBQ1gsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNYLENBQUM7Q0FFRjs7Ozs7Ozs7SUExRUMsdURBQXVGOzs7OztJQUV2Riw0REFBc0U7Ozs7Ozs7Ozs7SUEwQ3RFLGtHQUF3SSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbnN0cnVjdGFibGUsXG4gIERlZmVycmVkLFxuICBEZWxlZ2F0aW5nTGlzdE1vZGVsLCBEaXNwb3NhYmxlLFxuICBEc2wsXG4gIEV2ZW50TGlzdGVuZXJMaXN0LFxuICBHYXJiYWdlQ29sbGVjdG9yLFxuICBMaXN0TW9kZWxcbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuL2FjdGl2aXR5JztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi9hbGVydCc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hbGVydC1kaWFsb2cvYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25maXJtLXRoZW4tZGlhbG9nL2NvbmZpcm0tdGhlbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm0gfSBmcm9tICcuL2NvbmZpcm0nO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi9pbnRlcmFjdGlvbi1jb250ZXh0JztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEludGVyYWN0aW9uQ29udGV4dEJhc2UgZXh0ZW5kcyBJbnRlcmFjdGlvbkNvbnRleHQge1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGxpc3Qgb2YgYWN0aXZpdGllcyB0aGF0IGFyZSBpbiBwcm9ncmVzcy5cbiAgICogVGhpcyBtb2RlbCBpcyBvbmx5IHVwZGF0ZWQgaW4gdGhlIG5leHQgdGljayBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiB1cGRhdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZpdHlMaXN0RGVsZWdhdGUgPSBuZXcgRGVsZWdhdGluZ0xpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KCk7XG5cbiAgcHJpdmF0ZSBkZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eTogRGVmZXJyZWQ8QWN0aXZpdHk8YW55LCBhbnksIGFueT4+O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgd2hlbi5saXN0T2YodGhpcy5hY3Rpdml0eUxpc3QpLmJlY29tZXNQb3B1bGF0ZWQoKGFjdGl2aXRpZXMpID0+IHtcbiAgICAgIGlmICh0aGlzLmRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5KSB7XG4gICAgICAgIHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkucmVzb2x2ZShfLmxhc3QoYWN0aXZpdGllcykpO1xuICAgICAgICB0aGlzLmRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRBY3Rpdml0eUxpc3QoYWN0aXZpdHlMaXN0OiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+Pikge1xuICAgIHRoaXMuX2FjdGl2aXR5TGlzdERlbGVnYXRlLnNldERlbGVnYXRlKGFjdGl2aXR5TGlzdCk7XG4gIH1cblxuICBnZXQgYWN0aXZpdHlMaXN0KCk6IExpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueSwgYW55Pj4ge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpdml0eUxpc3REZWxlZ2F0ZS5yZWFkb25seTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBhY3Rpdml0eSB0aGF0IGlzIGN1cnJlbnRseSBhY3RpdmUuXG4gICAqIFRoaXMgbW9kZWwgaXMgb25seSB1cGRhdGVkIGluIHRoZSBuZXh0IHRpY2sgYWZ0ZXIgdGhlIHZpZXcgaGFzIGJlZW4gdXBkYXRlZC5cbiAgICovXG4gIGFzeW5jIGdldEN1cnJlbnRBY3Rpdml0eSgpOiBQcm9taXNlPEFjdGl2aXR5PGFueSwgYW55Pj4ge1xuICAgIGlmICghdGhpcy5pc0FjdGl2ZSgpKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoJ25vIGFjdGl2aXR5IGluIHByb2dyZXNzJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5KSB7XG4gICAgICAgIC8vIHdlJ3JlIGFscmVhZHkgd2FpdGluZyB0aGVuIGp1c3QgcmV0dXJuIHRoZSBzYW1lIHByb21pc2VcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkucHJvbWlzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2aXR5TGlzdC5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eSA9IERlZmVycmVkLmRlZmVyKCk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkucHJvbWlzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gXy5sYXN0KHRoaXMuYWN0aXZpdHlMaXN0LnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgX3N0YXJ0QWN0aXZpdHk8RCwgUiwgRT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQsIGRpc2FibGVDbG9zZT86Ym9vbGVhbik6IFByb21pc2U8Uj47XG5cbiAgc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KGFjdGl2aXR5VHlwZSwgZGF0YSk7XG4gIH1cblxuICBjb25maXJtKGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAvLyBJbXBvcnRhbnQ6IHdlIGhhdmUgdG8gaW1wbGVtZW50IGNvbmZpcm1PclJlamVjdCBhcyB0aGUgbWFpbiBlbnRyeSBwb2ludFxuICAgIC8vIGFzIHRoZSBjYW5EZWFjdGl2YXRpb24gZ3VhcmRzIG5lZWQgdG8gYmUgYWJsZSB0byBjYW5jZWwgYW4gaW50ZXJhY3Rpb25cbiAgICAvLyB3aXRob3V0IGNhcmluZyBhYm91dCByZXR1cm5pbmcgYSB2YWx1ZS5cbiAgICByZXR1cm4gdGhpcy5jb25maXJtT3JSZWplY3QoY29uZmlybSkudGhlbigoKSA9PiB0cnVlKS5jYXRjaCgoKSA9PiBmYWxzZSk7XG4gIH1cblxuICBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBUT0RPOiBUZXN0IGRpc2FibGVDbG9zZSA9PT0gZmFsc2VcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShBbGVydERpYWxvZ0NvbXBvbmVudCwgYWxlcnQsIGZhbHNlKTtcbiAgfVxuXG4gIGNvbmZpcm1PclJlamVjdChjb25maXJtOiBDb25maXJtKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0QWN0aXZpdHkoQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LCBjb25maXJtLCB0cnVlKTtcbiAgfVxuXG4gIGNvbmZpcm1UaGVuPEQsIFIsIEU+KGNvbmZpcm06IENvbmZpcm0sIGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE/OiBEKTogUHJvbWlzZTxSPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0QWN0aXZpdHk8Q29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQuRGF0YTxELCBSLCBFPiwgUiwgRT4oQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGNvbmZpcm0sXG4gICAgICBhY3Rpdml0eVR5cGU6IGFjdGl2aXR5VHlwZSxcbiAgICAgIGRhdGE6IGRhdGFcbiAgICB9LCB0cnVlKTtcbiAgfVxuXG59XG5cbiJdfQ==
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC1iYXNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL2ludGVyYWN0aW9uL2ludGVyYWN0aW9uLWNvbnRleHQtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFFTCxRQUFRLEVBQ1IsbUJBQW1CLEVBQ25CLEdBQUcsRUFJSixNQUFNLGdCQUFnQixDQUFDO0FBSXhCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBRTdHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBRTNELE1BQU0sT0FBZ0Isc0JBQXVCLFNBQVEsa0JBQWtCOzs7O0lBV3JFO1FBQ0UsS0FBSyxFQUFFLENBQUM7Ozs7O1FBTk8sMEJBQXFCLEdBQUcsSUFBSSxtQkFBbUIsRUFBc0IsQ0FBQztjQU8vRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ3hGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsYUFBYTs7OztRQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDN0QsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEVBQUU7Z0JBQ25DLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2xELElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUM7YUFDeEM7UUFDSCxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7OztJQUVTLGVBQWUsQ0FBQyxZQUEyQztRQUNuRSxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Ozs7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUM7SUFDN0MsQ0FBQzs7OztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDOzs7Ozs7SUFNSyxrQkFBa0I7O1lBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ3BCLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO2FBQ2xEO2lCQUFNO2dCQUNMLElBQUksSUFBSSxDQUFDLDBCQUEwQixFQUFFO29CQUNuQywwREFBMEQ7b0JBQzFELE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQztpQkFDaEQ7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7d0JBQ2hDLDhFQUE4RTt3QkFDOUUsMkNBQTJDO3dCQUMzQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO3dCQUNuRCxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUM7cUJBQ2hEO3lCQUFNO3dCQUNMLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztxQkFDcEM7aUJBQ0Y7YUFDRjtRQUNILENBQUM7S0FBQTs7Ozs7OztJQUdELGFBQWEsQ0FBVSxZQUE4QyxFQUFFLElBQVE7UUFDN0UsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7OztJQUVELE9BQU8sQ0FBQyxPQUFnQjtRQUN0QiwwRUFBMEU7UUFDMUUseUVBQXlFO1FBQ3pFLDBDQUEwQztRQUMxQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSTs7O1FBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFDLENBQUMsS0FBSzs7O1FBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFDLENBQUM7SUFDM0UsQ0FBQzs7Ozs7SUFFRCxLQUFLLENBQUMsS0FBWTtRQUNoQixvQ0FBb0M7UUFDcEMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDOzs7OztJQUVELGVBQWUsQ0FBQyxPQUFnQjtRQUM5QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsMkJBQTJCLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Ozs7Ozs7O0lBRUQsV0FBVyxDQUFVLE9BQWdCLEVBQUUsWUFBOEMsRUFBRSxJQUFRO1FBQzdGLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBaUQsMEJBQTBCLEVBQUU7WUFDckcsT0FBTztZQUNQLFlBQVksRUFBRSxZQUFZO1lBQzFCLElBQUksRUFBRSxJQUFJO1NBQ1gsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNYLENBQUM7Q0FFRjs7Ozs7Ozs7SUFsRkMsdURBQXVGOzs7OztJQUV2Riw0REFBc0U7Ozs7O0lBQ3RFLGtEQUFtRTs7Ozs7Ozs7OztJQWlEbkUsa0dBQXdJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29uc3RydWN0YWJsZSxcbiAgRGVmZXJyZWQsXG4gIERlbGVnYXRpbmdMaXN0TW9kZWwsIERpc3Bvc2FibGUsXG4gIERzbCxcbiAgRXZlbnRMaXN0ZW5lckxpc3QsXG4gIEdhcmJhZ2VDb2xsZWN0b3IsXG4gIExpc3RNb2RlbCwgVmFsdWVNb2RlbCwgVmFsdWVNb2RlbENoYWluXG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4vYWxlcnQnO1xuaW1wb3J0IHsgQWxlcnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29uZmlybS10aGVuLWRpYWxvZy9jb25maXJtLXRoZW4tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi9jb25maXJtJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbnRlcmFjdGlvbkNvbnRleHRCYXNlIGV4dGVuZHMgSW50ZXJhY3Rpb25Db250ZXh0IHtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY3VycmVudCBsaXN0IG9mIGFjdGl2aXRpZXMgdGhhdCBhcmUgaW4gcHJvZ3Jlc3MuXG4gICAqIFRoaXMgbW9kZWwgaXMgb25seSB1cGRhdGVkIGluIHRoZSBuZXh0IHRpY2sgYWZ0ZXIgdGhlIHZpZXcgaGFzIGJlZW4gdXBkYXRlZC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2aXR5TGlzdERlbGVnYXRlID0gbmV3IERlbGVnYXRpbmdMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+PigpO1xuXG4gIHByaXZhdGUgZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHk6IERlZmVycmVkPEFjdGl2aXR5PGFueSwgYW55LCBhbnk+PjtcbiAgcHJpdmF0ZSBfY3VycmVudEFjdGl2aXR5OiBWYWx1ZU1vZGVsQ2hhaW48QWN0aXZpdHk8YW55LCBhbnksIGFueT4+O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5fY3VycmVudEFjdGl2aXR5ID0gY2hhaW4odGhpcy5hY3Rpdml0eUxpc3QpLmxhc3QoKTtcbiAgICB3aGVuLnZhbHVlT2YodGhpcy5fY3VycmVudEFjdGl2aXR5KS5iZWNvbWVzVHJ1dGh5KChhY3Rpdml0eSkgPT4ge1xuICAgICAgaWYgKHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkpIHtcbiAgICAgICAgdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eS5yZXNvbHZlKGFjdGl2aXR5KTtcbiAgICAgICAgdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eSA9IG51bGw7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0QWN0aXZpdHlMaXN0KGFjdGl2aXR5TGlzdDogTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55Pj4pIHtcbiAgICB0aGlzLl9hY3Rpdml0eUxpc3REZWxlZ2F0ZS5zZXREZWxlZ2F0ZShhY3Rpdml0eUxpc3QpO1xuICB9XG5cbiAgZ2V0IGFjdGl2aXR5TGlzdCgpOiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnksIGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZpdHlMaXN0RGVsZWdhdGUucmVhZG9ubHk7XG4gIH1cblxuICBnZXQgYWN0aXZlQWN0aXZpdHkoKTpWYWx1ZU1vZGVsPEFjdGl2aXR5PGFueSwgYW55LGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudEFjdGl2aXR5O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFjdGl2aXR5IHRoYXQgaXMgY3VycmVudGx5IGFjdGl2ZS5cbiAgICogVGhpcyBtb2RlbCBpcyBvbmx5IHVwZGF0ZWQgaW4gdGhlIG5leHQgdGljayBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiB1cGRhdGVkLlxuICAgKi9cbiAgYXN5bmMgZ2V0Q3VycmVudEFjdGl2aXR5KCk6IFByb21pc2U8QWN0aXZpdHk8YW55LCBhbnk+PiB7XG4gICAgaWYgKCF0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgnbm8gYWN0aXZpdHkgaW4gcHJvZ3Jlc3MnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkpIHtcbiAgICAgICAgLy8gd2UncmUgYWxyZWFkeSB3YWl0aW5nIHRoZW4ganVzdCByZXR1cm4gdGhlIHNhbWUgcHJvbWlzZVxuICAgICAgICByZXR1cm4gdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eS5wcm9taXNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jdXJyZW50QWN0aXZpdHkudmFsdWUpIHtcbiAgICAgICAgICAvLyB3ZSdiZSBiZWVuIGFza2VkIGJlZm9yZSB3ZSd2ZSBnb3QgYW55IGFjdGl2aXRpZXMsIGNyZWF0ZSBhIGRlZmVycmVkIHByb21pc2VcbiAgICAgICAgICAvLyB0aGF0IHdlIHJlc29sdmUgd2hlbiB0aGUgbGlzdCBwb3B1bGF0ZXMuXG4gICAgICAgICAgdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eSA9IERlZmVycmVkLmRlZmVyKCk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkucHJvbWlzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5fY3VycmVudEFjdGl2aXR5LnZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBfc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCwgZGlzYWJsZUNsb3NlPzpib29sZWFuKTogUHJvbWlzZTxSPjtcblxuICBzdGFydEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE/OiBEKTogUHJvbWlzZTxSPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0QWN0aXZpdHkoYWN0aXZpdHlUeXBlLCBkYXRhKTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIC8vIEltcG9ydGFudDogd2UgaGF2ZSB0byBpbXBsZW1lbnQgY29uZmlybU9yUmVqZWN0IGFzIHRoZSBtYWluIGVudHJ5IHBvaW50XG4gICAgLy8gYXMgdGhlIGNhbkRlYWN0aXZhdGlvbiBndWFyZHMgbmVlZCB0byBiZSBhYmxlIHRvIGNhbmNlbCBhbiBpbnRlcmFjdGlvblxuICAgIC8vIHdpdGhvdXQgY2FyaW5nIGFib3V0IHJldHVybmluZyBhIHZhbHVlLlxuICAgIHJldHVybiB0aGlzLmNvbmZpcm1PclJlamVjdChjb25maXJtKS50aGVuKCgpID0+IHRydWUpLmNhdGNoKCgpID0+IGZhbHNlKTtcbiAgfVxuXG4gIGFsZXJ0KGFsZXJ0OiBBbGVydCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIFRPRE86IFRlc3QgZGlzYWJsZUNsb3NlID09PSBmYWxzZVxuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KEFsZXJ0RGlhbG9nQ29tcG9uZW50LCBhbGVydCwgZmFsc2UpO1xuICB9XG5cbiAgY29uZmlybU9yUmVqZWN0KGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIGNvbmZpcm0sIHRydWUpO1xuICB9XG5cbiAgY29uZmlybVRoZW48RCwgUiwgRT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eTxDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudC5EYXRhPEQsIFIsIEU+LCBSLCBFPihDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgY29uZmlybSxcbiAgICAgIGFjdGl2aXR5VHlwZTogYWN0aXZpdHlUeXBlLFxuICAgICAgZGF0YTogZGF0YVxuICAgIH0sIHRydWUpO1xuICB9XG5cbn1cblxuIl19
@@ -2,7 +2,8 @@
2
2
  * @fileoverview added by tsickle
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
- import { GarbageCollector, assert } from '@coolon/pectin';
5
+ import * as tslib_1 from "tslib";
6
+ import { assert, Dsl, GarbageCollector, Trace } from '@coolon/pectin';
6
7
  /**
7
8
  * @abstract
8
9
  */
@@ -23,16 +24,68 @@ export class InteractionContext extends GarbageCollector {
23
24
  assert.isFalsey(this.isActive());
24
25
  super.dispose();
25
26
  }
27
+ /**
28
+ * Cancels the current activity and returns true the context is no longer active, false if
29
+ * there is still another activity running.
30
+ * @return {?}
31
+ */
32
+ cancelCurrentActivity() {
33
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
34
+ const { when } = Dsl.disposeWith(this);
35
+ /** @type {?} */
36
+ const activity = yield this.getCurrentActivity();
37
+ return new Promise((/**
38
+ * @param {?} resolve
39
+ * @return {?}
40
+ */
41
+ resolve => {
42
+ when.valueOf(this.activeActivity)
43
+ .changes((/**
44
+ * @param {?} nextActivity
45
+ * @return {?}
46
+ */
47
+ nextActivity => {
48
+ resolve(!nextActivity);
49
+ }), { once: true });
50
+ activity.cancel();
51
+ }));
52
+ });
53
+ }
54
+ /**
55
+ * @return {?}
56
+ */
57
+ abort() {
58
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
59
+ assert.isTruthy(this.isActive());
60
+ /** @type {?} */
61
+ let count = 1;
62
+ yield this.cancelCurrentActivity();
63
+ console.log(`aborted -> ${count++}`);
64
+ while (this.isActive()) {
65
+ yield this.cancelCurrentActivity();
66
+ console.log(`aborted -> ${count++}`);
67
+ }
68
+ });
69
+ }
26
70
  }
71
+ tslib_1.__decorate([
72
+ Trace(),
73
+ tslib_1.__metadata("design:type", Function),
74
+ tslib_1.__metadata("design:paramtypes", []),
75
+ tslib_1.__metadata("design:returntype", Promise)
76
+ ], InteractionContext.prototype, "abort", null);
27
77
  if (false) {
78
+ /** @type {?} */
79
+ InteractionContext.prototype.active;
28
80
  /** @type {?} */
29
81
  InteractionContext.prototype.activityList;
30
82
  /** @type {?} */
31
- InteractionContext.prototype.active;
83
+ InteractionContext.prototype.activeActivity;
32
84
  /**
33
85
  * Returns the activity that is currently active.
34
86
  * This model is only updated in the next tick after the view has been updated.
35
87
  * @abstract
88
+ * @protected
36
89
  * @return {?}
37
90
  */
38
91
  InteractionContext.prototype.getCurrentActivity = function () { };
@@ -73,4 +126,4 @@ if (false) {
73
126
  */
74
127
  InteractionContext.prototype.confirmThen = function (confirm, activityType, data) { };
75
128
  }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQWdELGdCQUFnQixFQUF5QixNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUsvSCxNQUFNLE9BQWdCLGtCQUFtQixTQUFRLGdCQUFnQjs7Ozs7SUFRL0QsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQzs7OztJQUVELE9BQU87UUFDTCx5RUFBeUU7UUFDekUsdURBQXVEO1FBQ3ZELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDakMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xCLENBQUM7Q0F3QkY7OztJQXZDQywwQ0FBbUU7O0lBQ25FLG9DQUE4Qzs7Ozs7OztJQW9COUMsa0VBQWlFOzs7Ozs7OztJQUVqRSwrRUFBc0c7Ozs7OztJQUV0RywwREFBNEM7Ozs7OztJQUU1Qyw4REFBcUQ7Ozs7OztJQUVyRCxzRUFBZ0U7Ozs7Ozs7Ozs7SUFRaEUsc0ZBQXNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgRGlzcG9zYWJsZSwgRXZlbnRMaXN0ZW5lckxpc3QsIEdhcmJhZ2VDb2xsZWN0b3IsIExpc3RNb2RlbCwgVmFsdWVNb2RlbCwgYXNzZXJ0IH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuL2FjdGl2aXR5JztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi9hbGVydCc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi9jb25maXJtJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEludGVyYWN0aW9uQ29udGV4dCBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG4gIGFic3RyYWN0IHJlYWRvbmx5IGFjdGl2aXR5TGlzdDogTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55LCBhbnk+PjtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgYWN0aXZlOiBWYWx1ZU1vZGVsPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgYW4gYWN0aXZpdHkgaXMgY3VycmVudGx5IHJ1bm5pbmcuXG4gICAqL1xuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmUudmFsdWU7XG4gIH1cblxuICBkaXNwb3NlKCk6IHZvaWQge1xuICAgIC8vIFRPRE86IHRoaW5rIGFib3V0IGF1dG8gY2FuY2VsbGluZyBhbnkgb3V0c3RhbmRpbmcgYWN0aXZpdHkgb24gZGlzcG9zZS5cbiAgICAvLyAgICAgICBTZWUgTmF2aWdhdGlvblN0YXRlLk5hdmlnYXRpbmcgZm9yIGEgdXNlLWNhc2UuXG4gICAgYXNzZXJ0LmlzRmFsc2V5KHRoaXMuaXNBY3RpdmUoKSk7XG4gICAgc3VwZXIuZGlzcG9zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFjdGl2aXR5IHRoYXQgaXMgY3VycmVudGx5IGFjdGl2ZS5cbiAgICogVGhpcyBtb2RlbCBpcyBvbmx5IHVwZGF0ZWQgaW4gdGhlIG5leHQgdGljayBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiB1cGRhdGVkLlxuICAgKi9cbiAgYWJzdHJhY3QgYXN5bmMgZ2V0Q3VycmVudEFjdGl2aXR5KCk6IFByb21pc2U8QWN0aXZpdHk8YW55LCBhbnk+PjtcblxuICBhYnN0cmFjdCBzdGFydEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE/OiBEKTogUHJvbWlzZTxSPjtcblxuICBhYnN0cmFjdCBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIGFic3RyYWN0IGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8Ym9vbGVhbj47XG5cbiAgYWJzdHJhY3QgYXN5bmMgY29uZmlybU9yUmVqZWN0KGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBQcmVzZW50cyB0aGUgY29uZmlybWF0aW9uIHRvIHRoZSB1c2VyIGFuZCBydW5zIHRoZSBhY3Rpdml0eSBvbmx5IGlmIHRoZSB1c2VyIGNvbmZpcm1zLlxuICAgKiBAcGFyYW0gY29uZmlybTpDb25maXJtIHRoZSBjb25maXJtYXRpb24gdG8gZGlzcGxheS5cbiAgICogQHBhcmFtIGFjdGl2aXR5VHlwZSB0aGUgYWN0aXZpdHkgdG8gcnVuIGlmIGNvbmZpcm1lZC5cbiAgICogQHBhcmFtIGRhdGEgdGhlIGFjdGl2aXR5IGRhdGEuXG4gICAqL1xuICBhYnN0cmFjdCBjb25maXJtVGhlbjxELCBSLCBFPihjb25maXJtOiBDb25maXJtLCBhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj47XG5cbn1cbiJdfQ==
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBaUIsR0FBRyxFQUFFLGdCQUFnQixFQUFhLEtBQUssRUFBYyxNQUFNLGdCQUFnQixDQUFDOzs7O0FBSzVHLE1BQU0sT0FBZ0Isa0JBQW1CLFNBQVEsZ0JBQWdCOzs7OztJQVMvRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDOzs7O0lBRUQsT0FBTztRQUNMLHlFQUF5RTtRQUN6RSx1REFBdUQ7UUFDdkQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNqQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbEIsQ0FBQzs7Ozs7O0lBTUsscUJBQXFCOztrQkFDbkIsRUFBRSxJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQzs7a0JBQ2hDLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUNoRCxPQUFPLElBQUksT0FBTzs7OztZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7cUJBQzlCLE9BQU87Ozs7Z0JBQUMsWUFBWSxDQUFDLEVBQUU7b0JBQ3RCLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN6QixDQUFDLEdBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDckIsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLENBQUMsRUFBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBOzs7O0lBeUJLLEtBQUs7O1lBQ1QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQzs7Z0JBQzdCLEtBQUssR0FBRyxDQUFDO1lBQ2IsTUFBTSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUN0QixNQUFNLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ3RDO1FBQ0gsQ0FBQztLQUFBO0NBQ0Y7QUFWQztJQURDLEtBQUssRUFBRTs7OzsrQ0FVUDs7O0lBbEVELG9DQUE4Qzs7SUFDOUMsMENBQW1FOztJQUNuRSw0Q0FBc0U7Ozs7Ozs7O0lBb0N0RSxrRUFBMkU7Ozs7Ozs7O0lBRTNFLCtFQUFzRzs7Ozs7O0lBRXRHLDBEQUE0Qzs7Ozs7O0lBRTVDLDhEQUFxRDs7Ozs7O0lBRXJELHNFQUFnRTs7Ozs7Ozs7OztJQVFoRSxzRkFBc0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3NlcnQsIENvbnN0cnVjdGFibGUsIERzbCwgR2FyYmFnZUNvbGxlY3RvciwgTGlzdE1vZGVsLCBUcmFjZSwgVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4vYWxlcnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4vY29uZmlybSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbnRlcmFjdGlvbkNvbnRleHQgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIHtcblxuICBhYnN0cmFjdCByZWFkb25seSBhY3RpdmU6IFZhbHVlTW9kZWw8Ym9vbGVhbj47XG4gIGFic3RyYWN0IHJlYWRvbmx5IGFjdGl2aXR5TGlzdDogTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55LCBhbnk+PjtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgYWN0aXZlQWN0aXZpdHk6IFZhbHVlTW9kZWw8QWN0aXZpdHk8YW55LCBhbnksIGFueT4+O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgYW4gYWN0aXZpdHkgaXMgY3VycmVudGx5IHJ1bm5pbmcuXG4gICAqL1xuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmUudmFsdWU7XG4gIH1cblxuICBkaXNwb3NlKCk6IHZvaWQge1xuICAgIC8vIFRPRE86IHRoaW5rIGFib3V0IGF1dG8gY2FuY2VsbGluZyBhbnkgb3V0c3RhbmRpbmcgYWN0aXZpdHkgb24gZGlzcG9zZS5cbiAgICAvLyAgICAgICBTZWUgTmF2aWdhdGlvblN0YXRlLk5hdmlnYXRpbmcgZm9yIGEgdXNlLWNhc2UuXG4gICAgYXNzZXJ0LmlzRmFsc2V5KHRoaXMuaXNBY3RpdmUoKSk7XG4gICAgc3VwZXIuZGlzcG9zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbmNlbHMgdGhlIGN1cnJlbnQgYWN0aXZpdHkgYW5kIHJldHVybnMgdHJ1ZSB0aGUgY29udGV4dCBpcyBubyBsb25nZXIgYWN0aXZlLCBmYWxzZSBpZlxuICAgKiB0aGVyZSBpcyBzdGlsbCBhbm90aGVyIGFjdGl2aXR5IHJ1bm5pbmcuXG4gICAqL1xuICBhc3luYyBjYW5jZWxDdXJyZW50QWN0aXZpdHkoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyB3aGVuIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgY29uc3QgYWN0aXZpdHkgPSBhd2FpdCB0aGlzLmdldEN1cnJlbnRBY3Rpdml0eSgpO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgIHdoZW4udmFsdWVPZih0aGlzLmFjdGl2ZUFjdGl2aXR5KVxuICAgICAgICAuY2hhbmdlcyhuZXh0QWN0aXZpdHkgPT4ge1xuICAgICAgICAgIHJlc29sdmUoIW5leHRBY3Rpdml0eSk7XG4gICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTtcbiAgICAgIGFjdGl2aXR5LmNhbmNlbCgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFjdGl2aXR5IHRoYXQgaXMgY3VycmVudGx5IGFjdGl2ZS5cbiAgICogVGhpcyBtb2RlbCBpcyBvbmx5IHVwZGF0ZWQgaW4gdGhlIG5leHQgdGljayBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiB1cGRhdGVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGFzeW5jIGdldEN1cnJlbnRBY3Rpdml0eSgpOiBQcm9taXNlPEFjdGl2aXR5PGFueSwgYW55Pj47XG5cbiAgYWJzdHJhY3Qgc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj47XG5cbiAgYWJzdHJhY3QgYWxlcnQoYWxlcnQ6IEFsZXJ0KTogUHJvbWlzZTx2b2lkPjtcblxuICBhYnN0cmFjdCBjb25maXJtKGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIGFic3RyYWN0IGFzeW5jIGNvbmZpcm1PclJlamVjdChjb25maXJtOiBDb25maXJtKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogUHJlc2VudHMgdGhlIGNvbmZpcm1hdGlvbiB0byB0aGUgdXNlciBhbmQgcnVucyB0aGUgYWN0aXZpdHkgb25seSBpZiB0aGUgdXNlciBjb25maXJtcy5cbiAgICogQHBhcmFtIGNvbmZpcm06Q29uZmlybSB0aGUgY29uZmlybWF0aW9uIHRvIGRpc3BsYXkuXG4gICAqIEBwYXJhbSBhY3Rpdml0eVR5cGUgdGhlIGFjdGl2aXR5IHRvIHJ1biBpZiBjb25maXJtZWQuXG4gICAqIEBwYXJhbSBkYXRhIHRoZSBhY3Rpdml0eSBkYXRhLlxuICAgKi9cbiAgYWJzdHJhY3QgY29uZmlybVRoZW48RCwgUiwgRT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+O1xuXG4gIEBUcmFjZSgpXG4gIGFzeW5jIGFib3J0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGFzc2VydC5pc1RydXRoeSh0aGlzLmlzQWN0aXZlKCkpO1xuICAgIGxldCBjb3VudCA9IDE7XG4gICAgYXdhaXQgdGhpcy5jYW5jZWxDdXJyZW50QWN0aXZpdHkoKTtcbiAgICBjb25zb2xlLmxvZyhgYWJvcnRlZCAtPiAke2NvdW50Kyt9YCk7XG4gICAgd2hpbGUgKHRoaXMuaXNBY3RpdmUoKSkge1xuICAgICAgYXdhaXQgdGhpcy5jYW5jZWxDdXJyZW50QWN0aXZpdHkoKTtcbiAgICAgIGNvbnNvbGUubG9nKGBhYm9ydGVkIC0+ICR7Y291bnQrK31gKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -2,7 +2,6 @@
2
2
  * @fileoverview added by tsickle
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
- import * as tslib_1 from "tslib";
6
5
  import { Injectable } from '@angular/core';
7
6
  import { Dsl, GarbageCollector, lang, MutableListModel, MutableValueModel } from '@coolon/pectin';
8
7
  import { assert } from '@coolon/typescript-utilities';
@@ -41,6 +40,12 @@ export class InteractionService {
41
40
  isActive() {
42
41
  return this.active.value;
43
42
  }
43
+ /**
44
+ * @return {?}
45
+ */
46
+ isModalActive() {
47
+ return this.modelInteractionActive.value;
48
+ }
44
49
  /**
45
50
  * @param {?} disposable
46
51
  * @return {?}
@@ -58,14 +63,13 @@ export class InteractionService {
58
63
  _registerInplaceInteractionContext(interactionContext) {
59
64
  interactionContext.registerDisposable(new InteractionService.Monitor(`ip${++inplaceMonitorCount}`, interactionContext, this._activeInlineInteractionContextModel, this.exclusiveContext));
60
65
  }
66
+ // @Trace()
61
67
  /**
62
68
  * @return {?}
63
69
  */
64
- getCurrentActivity() {
65
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
66
- assert.isTruthy(this.isActive());
67
- return this._activeInteractionContext.value.getCurrentActivity();
68
- });
70
+ getActiveContext() {
71
+ assert.isTruthy(this.isActive());
72
+ return this._activeInteractionContext.value;
69
73
  }
70
74
  /**
71
75
  * Creates an interaction context that will prevent any other contexts from starting an
@@ -225,4 +229,4 @@ if (false) {
225
229
  Monitor.prototype.exclusiveContext;
226
230
  }
227
231
  })(InteractionService || (InteractionService = {}));
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBR0wsR0FBRyxFQUNILGdCQUFnQixFQUNoQixJQUFJLEVBRUosZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUdsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUl0RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7OztJQUVqRixtQkFBbUIsR0FBRyxDQUFDO0FBSzNCLE1BQU0sT0FBTyxrQkFBa0I7Ozs7SUFjN0IsWUFBcUIsOEJBQThEO1FBQTlELG1DQUE4QixHQUE5Qiw4QkFBOEIsQ0FBZ0M7UUFabEUsWUFBTyxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUVqQyxxQkFBZ0IsR0FBRyxJQUFJLGlCQUFpQixFQUFzQixDQUFDO1FBRS9ELHdDQUFtQyxHQUFHLElBQUksaUJBQWlCLEVBQThCLENBQUM7UUFDMUYseUNBQW9DLEdBQUcsSUFBSSxpQkFBaUIsRUFBOEIsQ0FBQztjQVFwRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUVoRyxJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQzthQUM3RSxTQUFTLENBQUMsSUFBSSxDQUFDLG9DQUFvQyxDQUFDO2FBQ3BELEtB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LHFCQUFxQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDekMsQ0FBQzs7Ozs7UUFFTyxxQkFBcUI7WUFDM0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQzVELENBQUM7S0FDRjtJQWhDWSwwQkFBTyxVQWdDbkIsQ0FBQTs7O1FBL0JhLHFCQUFtQjs7UUFDbkIscUNBQStDOztRQUMvQyx1Q0FBeUQ7O1FBQ3pELG1DQUF5RDs7QUE2QnpFLENBQUMsRUF6Q2dCLGtCQUFrQixLQUFsQixrQkFBa0IsUUF5Q2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQm9vbGVhblZhbHVlTW9kZWxDaGFpbixcbiAgRGlzcG9zYWJsZSxcbiAgRHNsLFxuICBHYXJiYWdlQ29sbGVjdG9yLFxuICBsYW5nLFxuICBMaXN0TW9kZWxDaGFpbixcbiAgTXV0YWJsZUxpc3RNb2RlbCxcbiAgTXV0YWJsZVZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHknO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5cbmltcG9ydCB7IE1vZGFsSW50ZXJhY3Rpb25Db250ZXh0RmFjdG9yeSB9IGZyb20gJy4vbW9kYWwtaW50ZXJhY3Rpb24tY29udGV4dC5mYWN0b3J5JztcblxubGV0IGlucGxhY2VNb25pdG9yQ291bnQgPSAwO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGlvblNlcnZpY2UgIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IGdhcmJhZ2UgPSBuZXcgR2FyYmFnZUNvbGxlY3RvcigpO1xuICByZWFkb25seSBhY3RpdmU6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHByaXZhdGUgcmVhZG9ubHkgZXhjbHVzaXZlQ29udGV4dCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxJbnRlcmFjdGlvbkNvbnRleHQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlTW9kYWxJbnRlcmFjdGlvbkNvbnRleHRNb2RlbCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxJbnRlcmFjdGlvblNlcnZpY2UuTW9uaXRvcj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlSW5saW5lSW50ZXJhY3Rpb25Db250ZXh0TW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8SW50ZXJhY3Rpb25TZXJ2aWNlLk1vbml0b3I+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZUludGVyYWN0aW9uQ29udGV4dDogVmFsdWVNb2RlbENoYWluPEludGVyYWN0aW9uQ29udGV4dD47XG5cbiAgcmVhZG9ubHkgYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0SWRzOiBMaXN0TW9kZWxDaGFpbjxzdHJpbmc+O1xuICByZWFkb25seSBtb2RlbEludGVyYWN0aW9uQWN0aXZlOiBCb29sZWFuVmFsdWVNb2RlbENoYWluO1xuICByZWFkb25seSBpbmxpbmVJbnRlcmFjdGlvbkFjdGl2ZTogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBtb2RlbEludGVyYWN0aW9uQ29udGV4dEZhY3Rvcnk6IE1vZGFsSW50ZXJhY3Rpb25Db250ZXh0RmFjdG9yeSkge1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcy5nYXJiYWdlKTtcblxuICAgIHRoaXMuX2FjdGl2ZUludGVyYWN0aW9uQ29udGV4dCA9IGNoYWluKHRoaXMuX2FjdGl2ZU1vZGFsSW50ZXJhY3Rpb25Db250ZXh0TW9kZWwpXG4gICAgICAub3RoZXJ3aXNlKHRoaXMuX2FjdGl2ZUlubGluZUludGVyYWN0aW9uQ29udGV4dE1vZGVsKVxuICAgICAgLnBsdWNrKCdpbnRlcmFjdGlvbkNvbnRleHQnKTtcblxuICAgIHRoaXMuYWN0aXZlID0gY2hhaW4odGhpcy5fYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0KS5pc05vdE5pbCgpO1xuICAgIHRoaXMubW9kZWxJbnRlcmFjdGlvbkFjdGl2ZSA9IGNoYWluKHRoaXMuX2FjdGl2ZU1vZGFsSW50ZXJhY3Rpb25Db250ZXh0TW9kZWwpLmlzTm90TmlsKCk7XG4gICAgdGhpcy5pbmxpbmVJbnRlcmFjdGlvbkFjdGl2ZSA9IGNoYWluKHRoaXMuX2FjdGl2ZUlubGluZUludGVyYWN0aW9uQ29udGV4dE1vZGVsKS5pc05vdE5pbCgpO1xuXG4gICAgLy8gVE9ETzogY2hhaW4uY29uY2F0KGxpc3RPclZhbHVlTW9kZWxzKSB3b3VsZCBiZSBuaWNlLlxuICAgIHRoaXMuYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0SWRzID0gY2hhaW4obmV3IE11dGFibGVMaXN0TW9kZWw8SW50ZXJhY3Rpb25TZXJ2aWNlLk1vbml0b3I+KCkpXG4gICAgICAuYXBwZW5kKHRoaXMuX2FjdGl2ZUlubGluZUludGVyYWN0aW9uQ29udGV4dE1vZGVsKVxuICAgICAgLmFwcGVuZCh0aGlzLl9hY3RpdmVNb2RhbEludGVyYWN0aW9uQ29udGV4dE1vZGVsKVxuICAgICAgLnJlamVjdE5pbCgpXG4gICAgICAucGx1Y2soJ2lkJyk7XG5cbiAgfVxuXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZS52YWx1ZTtcbiAgfVxuXG4gIGNyZWF0ZU1vZGFsSW50ZXJhY3Rpb25Db250ZXh0Rm9yKGRpc3Bvc2FibGU6IERpc3Bvc2FibGUuQ29sbGVjdG9yKTogSW50ZXJhY3Rpb25Db250ZXh0IHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5tb2RlbEludGVyYWN0aW9uQ29udGV4dEZhY3RvcnkuY3JlYXRlSW50ZXJhY3Rpb25Db250ZXh0KCk7XG4gICAgZGlzcG9zYWJsZS5yZWdpc3RlckRpc3Bvc2FibGUobmV3IEludGVyYWN0aW9uU2VydmljZS5Nb25pdG9yKCdtb2RhbCcsIGNvbnRleHQsIHRoaXMuX2FjdGl2ZU1vZGFsSW50ZXJhY3Rpb25Db250ZXh0TW9kZWwsIHRoaXMuZXhjbHVzaXZlQ29udGV4dCkpO1xuICAgIHJldHVybiBjb250ZXh0O1xuICB9XG5cbiAgX3JlZ2lzdGVySW5wbGFjZUludGVyYWN0aW9uQ29udGV4dChpbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCkge1xuICAgIGludGVyYWN0aW9uQ29udGV4dC5yZWdpc3RlckRpc3Bvc2FibGUobmV3IEludGVyYWN0aW9uU2VydmljZS5Nb25pdG9yKGBpcCR7KytpbnBsYWNlTW9uaXRvckNvdW50fWAsIGludGVyYWN0aW9uQ29udGV4dCwgdGhpcy5fYWN0aXZlSW5saW5lSW50ZXJhY3Rpb25Db250ZXh0TW9kZWwsIHRoaXMuZXhjbHVzaXZlQ29udGV4dCkpO1xuICB9XG5cbiAgYXN5bmMgZ2V0Q3VycmVudEFjdGl2aXR5KCk6IFByb21pc2U8QWN0aXZpdHk8YW55LCBhbnksIGFueT4+IHtcbiAgICBhc3NlcnQuaXNUcnV0aHkodGhpcy5pc0FjdGl2ZSgpKTtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0LnZhbHVlLmdldEN1cnJlbnRBY3Rpdml0eSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW50ZXJhY3Rpb24gY29udGV4dCB0aGF0IHdpbGwgcHJldmVudCBhbnkgb3RoZXIgY29udGV4dHMgZnJvbSBzdGFydGluZyBhblxuICAgKiBhY3Rpdml0eSB1bnRpbCBpdCBpcyBkaXNwb3NlZC4gIFRoaXMgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSB0aGUgcm91dGVyIGZvciBwYXNzaW5nXG4gICAqIHRvIFBsYWNlQ29tcG9uZW50LmNhbkRlYWN0aXZhdGUoaW50ZXJhY3Rpb25Db250ZXh0KS4gIFRoaXMgZW5zdXJlcyBjb21wb25lbnRzIGRvbid0XG4gICAqIHRyeSBhbmQgaW50ZXJhY3QgaW4gYSB3YXkgdGhhdCB3ZSBjYW4ndCB0cmFjayBhbmQgc3luY2hyb25pc2Ugd2l0aCB0aGUgYnJvd3NlciBiYWNrXG4gICAqIGJ1dHRvbi5cbiAgICovXG4gIF9jcmVhdGVFeGNsdXNpdmVNb2RhbEludGVyYWN0aW9uQ29udGV4dCgpOiBJbnRlcmFjdGlvbkNvbnRleHQge1xuICAgIHRoaXMuZXhjbHVzaXZlQ29udGV4dC52YWx1ZSA9IHRoaXMubW9kZWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5LmNyZWF0ZUludGVyYWN0aW9uQ29udGV4dCgpO1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHRoaXMuZXhjbHVzaXZlQ29udGV4dC52YWx1ZS5yZWdpc3RlckRpc3Bvc2FibGUoe1xuICAgICAgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICAgICAgc2VsZi5leGNsdXNpdmVDb250ZXh0LnZhbHVlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5leGNsdXNpdmVDb250ZXh0LnZhbHVlO1xuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgSW50ZXJhY3Rpb25TZXJ2aWNlIHtcblxuICBleHBvcnQgaW50ZXJmYWNlIENhbGxiYWNrIHtcbiAgICBvblN0YXJ0ZWQobW9uaXRvcjogTW9uaXRvcik7XG5cbiAgICBvbkZpbmlzaGVkKG1vbml0b3I6IE1vbml0b3IpO1xuICB9XG5cbiAgZXhwb3J0IGNsYXNzIE1vbml0b3IgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIHtcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBpZDogc3RyaW5nLFxuICAgICAgICAgICAgICAgIHJlYWRvbmx5IGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0LFxuICAgICAgICAgICAgICAgIHJlYWRvbmx5IGN1cnJlbnRBY3RpdmVNb25pdG9yOiBNdXRhYmxlVmFsdWVNb2RlbDxNb25pdG9yPixcbiAgICAgICAgICAgICAgICByZWFkb25seSBleGNsdXNpdmVDb250ZXh0OiBWYWx1ZU1vZGVsPEludGVyYWN0aW9uQ29udGV4dD4pIHtcbiAgICAgIHN1cGVyKCk7XG4gICAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgICAgd2hlbi52YWx1ZU9mKGludGVyYWN0aW9uQ29udGV4dC5hY3RpdmUpLmJlY29tZXNUcnV0aHkoKCkgPT4gdGhpcy5vblN0YXJ0ZWQoKSk7XG4gICAgICB3aGVuLnZhbHVlT2YoaW50ZXJhY3Rpb25Db250ZXh0LmFjdGl2ZSkuYmVjb21lc0ZhbHNleSgoKSA9PiB0aGlzLm9uRmluaXNoZWQoKSk7XG4gICAgICBpbnRlcmFjdGlvbkNvbnRleHQucmVnaXN0ZXJEaXNwb3NhYmxlKHRoaXMpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblN0YXJ0ZWQoKSB7XG4gICAgICB0aGlzLmFzc2VydENhblN0YXJ0KCk7XG4gICAgICB0aGlzLmN1cnJlbnRBY3RpdmVNb25pdG9yLnZhbHVlID0gdGhpcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzc2VydENhblN0YXJ0KCkge1xuICAgICAgYXNzZXJ0LmlzRmFsc2V5KHRoaXMuY3VycmVudEFjdGl2ZU1vbml0b3IudmFsdWUpO1xuICAgICAgaWYgKHRoaXMuZXhjbHVzaXZlQ29udGV4dC52YWx1ZSAmJiB0aGlzLmludGVyYWN0aW9uQ29udGV4dCAhPT0gdGhpcy5leGNsdXNpdmVDb250ZXh0LnZhbHVlKSB7XG4gICAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKCdJbnRlcmFjdGlvbiBzdGFydGVkIHdoaWxlIGV4Y2x1c2l2ZSBsb2NrIGFjdGl2ZS4gIFRoaXMgaXMgdXN1YWxseSBiZWNhdXNlIHlvdSB1c2luZyBhIGRpZmZlcmVudCBjb250ZXh0IGR1cmluZyBwbGFjZS5jYW5EZWFjdGl2YXRlKGludGVyYWN0aW9uQ29udGV4dCknKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25GaW5pc2hlZCgpIHtcbiAgICAgIHRoaXMuYXNzZXJ0Q3VycmVudGx5QWN0aXZlKCk7XG4gICAgICB0aGlzLmN1cnJlbnRBY3RpdmVNb25pdG9yLnZhbHVlID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzc2VydEN1cnJlbnRseUFjdGl2ZSgpIHtcbiAgICAgIGFzc2VydC5pc1RydXRoeSh0aGlzLmN1cnJlbnRBY3RpdmVNb25pdG9yLnZhbHVlID09PSB0aGlzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFHTCxHQUFHLEVBQ0gsZ0JBQWdCLEVBQ2hCLElBQUksRUFFSixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBR2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3RELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7O0lBRWpGLG1CQUFtQixHQUFHLENBQUM7QUFLM0IsTUFBTSxPQUFPLGtCQUFrQjs7OztJQWM3QixZQUFxQiw4QkFBOEQ7UUFBOUQsbUNBQThCLEdBQTlCLDhCQUE4QixDQUFnQztRQVpsRSxZQUFPLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBRWpDLHFCQUFnQixHQUFHLElBQUksaUJBQWlCLEVBQXNCLENBQUM7UUFFL0Qsd0NBQW1DLEdBQUcsSUFBSSxpQkFBaUIsRUFBOEIsQ0FBQztRQUMxRix5Q0FBb0MsR0FBRyxJQUFJLGlCQUFpQixFQUE4QixDQUFDO2NBUXBHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRWhHLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxDQUFDO2FBQzdFLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0NBQW9DLENBQUM7YUFDcEQsS0FB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N0s7UUFDSCxDQUFDOzs7OztRQUVTLFVBQVU7WUFDbEIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDekMsQ0FBQzs7Ozs7UUFFTyxxQkFBcUI7WUFDM0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQzVELENBQUM7S0FDRjtJQWhDWSwwQkFBTyxVQWdDbkIsQ0FBQTs7O1FBL0JhLHFCQUFtQjs7UUFDbkIscUNBQStDOztRQUMvQyx1Q0FBeUQ7O1FBQ3pELG1DQUF5RDs7QUE2QnpFLENBQUMsRUF6Q2dCLGtCQUFrQixLQUFsQixrQkFBa0IsUUF5Q2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQm9vbGVhblZhbHVlTW9kZWxDaGFpbixcbiAgRGlzcG9zYWJsZSxcbiAgRHNsLFxuICBHYXJiYWdlQ29sbGVjdG9yLFxuICBsYW5nLFxuICBMaXN0TW9kZWxDaGFpbixcbiAgTXV0YWJsZUxpc3RNb2RlbCxcbiAgTXV0YWJsZVZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5pbXBvcnQgeyBNb2RhbEludGVyYWN0aW9uQ29udGV4dEZhY3RvcnkgfSBmcm9tICcuL21vZGFsLWludGVyYWN0aW9uLWNvbnRleHQuZmFjdG9yeSc7XG5cbmxldCBpbnBsYWNlTW9uaXRvckNvdW50ID0gMDtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSW50ZXJhY3Rpb25TZXJ2aWNlIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IGdhcmJhZ2UgPSBuZXcgR2FyYmFnZUNvbGxlY3RvcigpO1xuICByZWFkb25seSBhY3RpdmU6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHByaXZhdGUgcmVhZG9ubHkgZXhjbHVzaXZlQ29udGV4dCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxJbnRlcmFjdGlvbkNvbnRleHQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlTW9kYWxJbnRlcmFjdGlvbkNvbnRleHRNb2RlbCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxJbnRlcmFjdGlvblNlcnZpY2UuTW9uaXRvcj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlSW5saW5lSW50ZXJhY3Rpb25Db250ZXh0TW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8SW50ZXJhY3Rpb25TZXJ2aWNlLk1vbml0b3I+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZUludGVyYWN0aW9uQ29udGV4dDogVmFsdWVNb2RlbENoYWluPEludGVyYWN0aW9uQ29udGV4dD47XG5cbiAgcmVhZG9ubHkgYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0SWRzOiBMaXN0TW9kZWxDaGFpbjxzdHJpbmc+O1xuICByZWFkb25seSBtb2RlbEludGVyYWN0aW9uQWN0aXZlOiBCb29sZWFuVmFsdWVNb2RlbENoYWluO1xuICByZWFkb25seSBpbmxpbmVJbnRlcmFjdGlvbkFjdGl2ZTogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBtb2RlbEludGVyYWN0aW9uQ29udGV4dEZhY3Rvcnk6IE1vZGFsSW50ZXJhY3Rpb25Db250ZXh0RmFjdG9yeSkge1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcy5nYXJiYWdlKTtcblxuICAgIHRoaXMuX2FjdGl2ZUludGVyYWN0aW9uQ29udGV4dCA9IGNoYWluKHRoaXMuX2FjdGl2ZU1vZGFsSW50ZXJhY3Rpb25Db250ZXh0TW9kZWwpXG4gICAgICAub3RoZXJ3aXNlKHRoaXMuX2FjdGl2ZUlubGluZUludGVyYWN0aW9uQ29udGV4dE1vZGVsKVxuICAgICAgLnBsdWNrKCdpbnRlcmFjdGlvbkNvbnRleHQnKTtcblxuICAgIHRoaXMuYWN0aXZlID0gY2hhaW4odGhpcy5fYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0KS5pc05vdE5pbCgpO1xuICAgIHRoaXMubW9kZWxJbnRlcmFjdGlvbkFjdGl2ZSA9IGNoYWluKHRoaXMuX2FjdGl2ZU1vZGFsSW50ZXJhY3Rpb25Db250ZXh0TW9kZWwpLmlzTm90TmlsKCk7XG4gICAgdGhpcy5pbmxpbmVJbnRlcmFjdGlvbkFjdGl2ZSA9IGNoYWluKHRoaXMuX2FjdGl2ZUlubGluZUludGVyYWN0aW9uQ29udGV4dE1vZGVsKS5pc05vdE5pbCgpO1xuXG4gICAgLy8gVE9ETzogY2hhaW4uY29uY2F0KGxpc3RPclZhbHVlTW9kZWxzKSB3b3VsZCBiZSBuaWNlLlxuICAgIHRoaXMuYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0SWRzID0gY2hhaW4obmV3IE11dGFibGVMaXN0TW9kZWw8SW50ZXJhY3Rpb25TZXJ2aWNlLk1vbml0b3I+KCkpXG4gICAgICAuYXBwZW5kKHRoaXMuX2FjdGl2ZUlubGluZUludGVyYWN0aW9uQ29udGV4dE1vZGVsKVxuICAgICAgLmFwcGVuZCh0aGlzLl9hY3RpdmVNb2RhbEludGVyYWN0aW9uQ29udGV4dE1vZGVsKVxuICAgICAgLnJlamVjdE5pbCgpXG4gICAgICAucGx1Y2soJ2lkJyk7XG5cbiAgfVxuXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZS52YWx1ZTtcbiAgfVxuXG4gIGlzTW9kYWxBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWxJbnRlcmFjdGlvbkFjdGl2ZS52YWx1ZTtcbiAgfVxuXG4gIGNyZWF0ZU1vZGFsSW50ZXJhY3Rpb25Db250ZXh0Rm9yKGRpc3Bvc2FibGU6IERpc3Bvc2FibGUuQ29sbGVjdG9yKTogSW50ZXJhY3Rpb25Db250ZXh0IHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5tb2RlbEludGVyYWN0aW9uQ29udGV4dEZhY3RvcnkuY3JlYXRlSW50ZXJhY3Rpb25Db250ZXh0KCk7XG4gICAgZGlzcG9zYWJsZS5yZWdpc3RlckRpc3Bvc2FibGUobmV3IEludGVyYWN0aW9uU2VydmljZS5Nb25pdG9yKCdtb2RhbCcsIGNvbnRleHQsIHRoaXMuX2FjdGl2ZU1vZGFsSW50ZXJhY3Rpb25Db250ZXh0TW9kZWwsIHRoaXMuZXhjbHVzaXZlQ29udGV4dCkpO1xuICAgIHJldHVybiBjb250ZXh0O1xuICB9XG5cbiAgX3JlZ2lzdGVySW5wbGFjZUludGVyYWN0aW9uQ29udGV4dChpbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCkge1xuICAgIGludGVyYWN0aW9uQ29udGV4dC5yZWdpc3RlckRpc3Bvc2FibGUobmV3IEludGVyYWN0aW9uU2VydmljZS5Nb25pdG9yKGBpcCR7KytpbnBsYWNlTW9uaXRvckNvdW50fWAsIGludGVyYWN0aW9uQ29udGV4dCwgdGhpcy5fYWN0aXZlSW5saW5lSW50ZXJhY3Rpb25Db250ZXh0TW9kZWwsIHRoaXMuZXhjbHVzaXZlQ29udGV4dCkpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgZ2V0QWN0aXZlQ29udGV4dCgpOiBJbnRlcmFjdGlvbkNvbnRleHQge1xuICAgIGFzc2VydC5pc1RydXRoeSh0aGlzLmlzQWN0aXZlKCkpO1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVJbnRlcmFjdGlvbkNvbnRleHQudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbnRlcmFjdGlvbiBjb250ZXh0IHRoYXQgd2lsbCBwcmV2ZW50IGFueSBvdGhlciBjb250ZXh0cyBmcm9tIHN0YXJ0aW5nIGFuXG4gICAqIGFjdGl2aXR5IHVudGlsIGl0IGlzIGRpc3Bvc2VkLiAgVGhpcyBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IHRoZSByb3V0ZXIgZm9yIHBhc3NpbmdcbiAgICogdG8gUGxhY2VDb21wb25lbnQuY2FuRGVhY3RpdmF0ZShpbnRlcmFjdGlvbkNvbnRleHQpLiAgVGhpcyBlbnN1cmVzIGNvbXBvbmVudHMgZG9uJ3RcbiAgICogdHJ5IGFuZCBpbnRlcmFjdCBpbiBhIHdheSB0aGF0IHdlIGNhbid0IHRyYWNrIGFuZCBzeW5jaHJvbmlzZSB3aXRoIHRoZSBicm93c2VyIGJhY2tcbiAgICogYnV0dG9uLlxuICAgKi9cbiAgX2NyZWF0ZUV4Y2x1c2l2ZU1vZGFsSW50ZXJhY3Rpb25Db250ZXh0KCk6IEludGVyYWN0aW9uQ29udGV4dCB7XG4gICAgdGhpcy5leGNsdXNpdmVDb250ZXh0LnZhbHVlID0gdGhpcy5tb2RlbEludGVyYWN0aW9uQ29udGV4dEZhY3RvcnkuY3JlYXRlSW50ZXJhY3Rpb25Db250ZXh0KCk7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgdGhpcy5leGNsdXNpdmVDb250ZXh0LnZhbHVlLnJlZ2lzdGVyRGlzcG9zYWJsZSh7XG4gICAgICBkaXNwb3NlKCk6IHZvaWQge1xuICAgICAgICBzZWxmLmV4Y2x1c2l2ZUNvbnRleHQudmFsdWUgPSBudWxsO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLmV4Y2x1c2l2ZUNvbnRleHQudmFsdWU7XG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBJbnRlcmFjdGlvblNlcnZpY2Uge1xuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQ2FsbGJhY2sge1xuICAgIG9uU3RhcnRlZChtb25pdG9yOiBNb25pdG9yKTtcblxuICAgIG9uRmluaXNoZWQobW9uaXRvcjogTW9uaXRvcik7XG4gIH1cblxuICBleHBvcnQgY2xhc3MgTW9uaXRvciBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGlkOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgcmVhZG9ubHkgaW50ZXJhY3Rpb25Db250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQsXG4gICAgICAgICAgICAgICAgcmVhZG9ubHkgY3VycmVudEFjdGl2ZU1vbml0b3I6IE11dGFibGVWYWx1ZU1vZGVsPE1vbml0b3I+LFxuICAgICAgICAgICAgICAgIHJlYWRvbmx5IGV4Y2x1c2l2ZUNvbnRleHQ6IFZhbHVlTW9kZWw8SW50ZXJhY3Rpb25Db250ZXh0Pikge1xuICAgICAgc3VwZXIoKTtcbiAgICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgICB3aGVuLnZhbHVlT2YoaW50ZXJhY3Rpb25Db250ZXh0LmFjdGl2ZSkuYmVjb21lc1RydXRoeSgoKSA9PiB0aGlzLm9uU3RhcnRlZCgpKTtcbiAgICAgIHdoZW4udmFsdWVPZihpbnRlcmFjdGlvbkNvbnRleHQuYWN0aXZlKS5iZWNvbWVzRmFsc2V5KCgpID0+IHRoaXMub25GaW5pc2hlZCgpKTtcbiAgICAgIGludGVyYWN0aW9uQ29udGV4dC5yZWdpc3RlckRpc3Bvc2FibGUodGhpcyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uU3RhcnRlZCgpIHtcbiAgICAgIHRoaXMuYXNzZXJ0Q2FuU3RhcnQoKTtcbiAgICAgIHRoaXMuY3VycmVudEFjdGl2ZU1vbml0b3IudmFsdWUgPSB0aGlzO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXNzZXJ0Q2FuU3RhcnQoKSB7XG4gICAgICBhc3NlcnQuaXNGYWxzZXkodGhpcy5jdXJyZW50QWN0aXZlTW9uaXRvci52YWx1ZSk7XG4gICAgICBpZiAodGhpcy5leGNsdXNpdmVDb250ZXh0LnZhbHVlICYmIHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0ICE9PSB0aGlzLmV4Y2x1c2l2ZUNvbnRleHQudmFsdWUpIHtcbiAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoJ0ludGVyYWN0aW9uIHN0YXJ0ZWQgd2hpbGUgZXhjbHVzaXZlIGxvY2sgYWN0aXZlLiAgVGhpcyBpcyB1c3VhbGx5IGJlY2F1c2UgeW91IHVzaW5nIGEgZGlmZmVyZW50IGNvbnRleHQgZHVyaW5nIHBsYWNlLmNhbkRlYWN0aXZhdGUoaW50ZXJhY3Rpb25Db250ZXh0KScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkZpbmlzaGVkKCkge1xuICAgICAgdGhpcy5hc3NlcnRDdXJyZW50bHlBY3RpdmUoKTtcbiAgICAgIHRoaXMuY3VycmVudEFjdGl2ZU1vbml0b3IudmFsdWUgPSBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXNzZXJ0Q3VycmVudGx5QWN0aXZlKCkge1xuICAgICAgYXNzZXJ0LmlzVHJ1dGh5KHRoaXMuY3VycmVudEFjdGl2ZU1vbml0b3IudmFsdWUgPT09IHRoaXMpO1xuICAgIH1cbiAgfVxufVxuIl19