@coolon/angular-ui-powerups 0.0.89 → 0.0.91

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 (49) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +641 -488
  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.d.ts +19 -18
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/coolon-angular-ui-powerups.js +18 -17
  8. package/esm2015/lib/directives/command.directive.js +28 -5
  9. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +3 -8
  10. package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +4 -9
  11. package/esm2015/lib/interaction/interaction-context.js +78 -6
  12. package/esm2015/lib/interaction/services/dialog-interaction.service.js +12 -20
  13. package/esm2015/lib/place/navigation-session.js +182 -39
  14. package/esm2015/lib/place/place-component.js +4 -19
  15. package/esm2015/lib/place/place-definition.js +16 -19
  16. package/esm2015/lib/place/place-router.js +177 -39
  17. package/esm2015/lib/place/route/guards/enter-place-guard.service.js +3 -38
  18. package/esm2015/lib/place/route/guards/leave-place.guard.js +7 -177
  19. package/esm2015/lib/place/visit.js +4 -11
  20. package/esm5/coolon-angular-ui-powerups.js +18 -17
  21. package/esm5/lib/directives/command.directive.js +32 -5
  22. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +3 -12
  23. package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +4 -13
  24. package/esm5/lib/interaction/interaction-context.js +100 -11
  25. package/esm5/lib/interaction/services/dialog-interaction.service.js +12 -23
  26. package/esm5/lib/place/navigation-session.js +225 -54
  27. package/esm5/lib/place/place-component.js +4 -35
  28. package/esm5/lib/place/place-definition.js +17 -39
  29. package/esm5/lib/place/place-router.js +202 -37
  30. package/esm5/lib/place/route/guards/enter-place-guard.service.js +3 -44
  31. package/esm5/lib/place/route/guards/leave-place.guard.js +7 -176
  32. package/esm5/lib/place/visit.js +4 -14
  33. package/fesm2015/coolon-angular-ui-powerups.js +494 -365
  34. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  35. package/fesm5/coolon-angular-ui-powerups.js +592 -439
  36. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  37. package/lib/directives/command.directive.d.ts +2 -0
  38. package/lib/interaction/components/activity-container/activity-container.component.d.ts +2 -3
  39. package/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.d.ts +4 -5
  40. package/lib/interaction/interaction-context.d.ts +7 -3
  41. package/lib/interaction/services/dialog-interaction.service.d.ts +4 -6
  42. package/lib/place/navigation-session.d.ts +26 -9
  43. package/lib/place/place-component.d.ts +4 -9
  44. package/lib/place/place-definition.d.ts +0 -4
  45. package/lib/place/place-router.d.ts +21 -2
  46. package/lib/place/route/guards/enter-place-guard.service.d.ts +0 -1
  47. package/lib/place/route/guards/leave-place.guard.d.ts +2 -10
  48. package/lib/place/visit.d.ts +0 -2
  49. package/package.json +1 -1
@@ -143,6 +143,7 @@ var ActivityContainerComponent = /** @class */ (function (_super) {
143
143
  * @return {?}
144
144
  */
145
145
  function () { return _this.onNestedActivityFinished(); }));
146
+ _this.setActivityList(_this._activityList.readonly);
146
147
  return _this;
147
148
  }
148
149
  Object.defineProperty(ActivityContainerComponent.prototype, "initialActivityOutletContext", {
@@ -198,16 +199,6 @@ var ActivityContainerComponent = /** @class */ (function (_super) {
198
199
  function () {
199
200
  return !!this._initialActivityOutletContext;
200
201
  };
201
- Object.defineProperty(ActivityContainerComponent.prototype, "activityList", {
202
- get: /**
203
- * @return {?}
204
- */
205
- function () {
206
- return this._activityList.readonly;
207
- },
208
- enumerable: true,
209
- configurable: true
210
- });
211
202
  Object.defineProperty(ActivityContainerComponent.prototype, "isFinished", {
212
203
  get: /**
213
204
  * @return {?}
@@ -309,7 +300,7 @@ var ActivityContainerComponent = /** @class */ (function (_super) {
309
300
  * @param {?} confirm
310
301
  * @return {?}
311
302
  */
312
- ActivityContainerComponent.prototype.confirm = /**
303
+ ActivityContainerComponent.prototype.confirmOrReject = /**
313
304
  * @param {?} confirm
314
305
  * @return {?}
315
306
  */
@@ -510,4 +501,4 @@ if (false) {
510
501
  */
511
502
  ActivityContainerComponent.prototype._activityList;
512
503
  }
513
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBaUIsR0FBRyxFQUFhLGdCQUFnQixFQUFFLGFBQWEsRUFBUyxNQUFNLGdCQUFnQixDQUFDO0FBSy9HLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRS9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7Ozs7O0FBT25HOzs7Ozs7O0lBS0Usb0JBQXFCLFlBQWUsRUFDZixhQUErQyxFQUMvQyxrQkFBc0MsRUFDdEMsaUJBQTJDO1FBSDNDLGlCQUFZLEdBQVosWUFBWSxDQUFHO1FBQ2Ysa0JBQWEsR0FBYixhQUFhLENBQWtDO1FBQy9DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQU54RCxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBTzFCLENBQUM7Ozs7SUFF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Ozs7OztJQUVoRixtRUFBc0U7O0lBNkJ0RSx1RUFDdUY7O0lBRXZGLG1EQUNzQjs7SUFFdEIsMENBQ2tCOztJQUVsQiw2Q0FDMkQ7O0lBRTNELGtEQUEwRTs7Ozs7SUFFMUUsbURBQTRFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFRhYkdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnO1xuaW1wb3J0IHsgYXNzZXJ0LCBDb25zdHJ1Y3RhYmxlLCBEc2wsIExpc3RNb2RlbCwgTXV0YWJsZUxpc3RNb2RlbCwgTXV0YWJsZVN0cmVhbSwgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5cbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vLi4vYWN0aXZpdHknO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICcuLi8uLi9hbGVydCc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi4vLi4vY29uZmlybSc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuLi8uLi9pbnRlcmFjdGlvbi1jb250ZXh0JztcbmltcG9ydCB7IEFjdGl2aXR5T3V0bGV0Q29udGV4dCB9IGZyb20gJy4uL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQtY29udGV4dCc7XG5pbXBvcnQgeyBBY3Rpdml0eU91dGxldENvbXBvbmVudCB9IGZyb20gJy4uL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50JztcbmltcG9ydCB7IEFsZXJ0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb25maXJtLXRoZW4tZGlhbG9nL2NvbmZpcm0tdGhlbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuXG4vKipcbiAqIE5vdGU6IHRoaXMgY2xhc3MgaXMgbXV0YWJsZSBhbmQgaXMgc3RvcmVkIGluIGEgbGlzdCBtb2RlbC4gIFRoaXMgaXMgbm9ybWFsbHkgYSBiaWcgbm8gbm8gYnV0XG4gKiAgd2UncmUgbWFudWFsbHkgZGVyaXZpbmcgb3RoZXIgbW9kZWxzIGZyb20gdGhlIGxpc3QgYWZ0ZXIgdmlldyBzdGF0ZSBjaGFuZ2VzLiAgSS5lLiB3ZSBub3RcbiAqICB1c2luZyBwZWN0aW4gY2hhaW5zIG9uIGFueSBvZiB0aGUgbXV0YWJsZSBmaWVsZHMuXG4gKi9cbmNsYXNzIFRhYkNvbnRleHQ8RCwgUiwgRT4gaW1wbGVtZW50cyBBY3Rpdml0eU91dGxldENvbnRleHQ8RCwgUiwgRT4ge1xuXG4gIHByaXZhdGUgX2NvbXBsZXRlID0gZmFsc2U7XG4gIHByaXZhdGUgX2NvbXBvbmVudDogQWN0aXZpdHk8RCwgUiwgRT47XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgYWN0aXZpdHlEYXRhOiBELFxuICAgICAgICAgICAgICByZWFkb25seSBhY3Rpdml0eUNsYXNzOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PixcbiAgICAgICAgICAgICAgcmVhZG9ubHkgaW50ZXJhY3Rpb25Db250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQsXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGFjdGl2aXR5Q2FsbGJhY2tzOiBBY3Rpdml0eS5DYWxsYmFja3M8UiwgRT4pIHtcbiAgfVxuXG4gIGlzQ29tcG9uZW50UmVhbGlzZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fY29tcG9uZW50O1xuICB9XG5cbiAgaXNDb21wbGV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fY29tcGxldGU7XG4gIH1cblxuICBjb21wb25lbnRSZWFkeShjb21wb25lbnQ6IEFjdGl2aXR5PEQsIFIsIEU+KSB7XG4gICAgYXNzZXJ0LmlzTmlsKHRoaXMuX2NvbXBvbmVudCk7XG4gICAgdGhpcy5fY29tcG9uZW50ID0gY29tcG9uZW50O1xuICB9XG5cbiAgZ2V0IGNvbXBvbmVudCgpOiBBY3Rpdml0eTxELCBSLCBFPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudDtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uRG9uZShyZXN1bHQ6IFIpOiB2b2lkIHtcbiAgICB0aGlzLl9jb21wbGV0ZSA9IHRydWU7XG4gICAgdGhpcy5hY3Rpdml0eUNhbGxiYWNrcy5vbkRvbmUocmVzdWx0KTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uQ2FuY2VsKGVycm9yOiBFKTogdm9pZCB7XG4gICAgdGhpcy5fY29tcGxldGUgPSB0cnVlO1xuICAgIHRoaXMuYWN0aXZpdHlDYWxsYmFja3Mub25DYW5jZWwoZXJyb3IpO1xuICB9XG5cbn1cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtYWN0aXZpdHktY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PEQsIFIsIEU+IGV4dGVuZHMgSW50ZXJhY3Rpb25Db250ZXh0IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IHRocm90dGxlZE5lc3RlZEFjdGl2aXR5RmluaXNoRXZlbnRzID0gbmV3IE11dGFibGVTdHJlYW08YW55PigpO1xuXG4gIHByaXZhdGUgX2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQ6IEFjdGl2aXR5T3V0bGV0Q29udGV4dDxELCBSLCBFPjtcbiAgQElucHV0KClcbiAgc2V0IGluaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQoaW5pdGlhbENvbnRleHQ6IEFjdGl2aXR5T3V0bGV0Q29udGV4dDxELCBSLCBFPikge1xuICAgIGFzc2VydC5pc05pbCh0aGlzLl9pbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0KTtcbiAgICAvLyB3ZSBjbGVhbiB1cCBhdCB0aGUgc3RhcnQgYXMgd2UgbGVhdmUgdGhlIGluaXRpYWwgYWN0aXZpdHkgaW4gcGxhY2UgYWZ0ZXIgaXQgZmluaXNoZXNcbiAgICAvLyBzbyB0aGF0IHRoZSBhY3Rpdml0eSByZW1haW5zIHZpc2libGUgZHVyaW5nIHRoZSBpbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQgYW5pbWF0aW9ucy5cbiAgICB0aGlzLmFjdGl2aXR5VGFicy52YWx1ZSA9IFtdO1xuICAgIHRoaXMuX2FjdGl2aXR5TGlzdC52YWx1ZSA9IFtdO1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIGlmIChpbml0aWFsQ29udGV4dCkge1xuICAgICAgdGhpcy5faW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCA9IGluaXRpYWxDb250ZXh0O1xuICAgICAgdGhpcy5hY3Rpdml0eVRhYnMucHVzaChuZXcgVGFiQ29udGV4dChpbml0aWFsQ29udGV4dC5hY3Rpdml0eURhdGEsIGluaXRpYWxDb250ZXh0LmFjdGl2aXR5Q2xhc3MsIHRoaXMsIHtcbiAgICAgICAgb25Eb25lOiAocmVzdWx0OiBSKSA9PiB7XG4gICAgICAgICAgc2VsZi5maW5pc2hJbml0aWFsQWN0aXZpdHkoKTtcbiAgICAgICAgICBpbml0aWFsQ29udGV4dC5vbkRvbmUocmVzdWx0KTtcbiAgICAgICAgfSxcbiAgICAgICAgb25DYW5jZWw6IChlcnJvcjogRSkgPT4ge1xuICAgICAgICAgIHNlbGYuZmluaXNoSW5pdGlhbEFjdGl2aXR5KCk7XG4gICAgICAgICAgaW5pdGlhbENvbnRleHQub25DYW5jZWwoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9KSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGluaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQ7XG4gIH1cblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tb3V0cHV0LXJlbmFtZVxuICBAT3V0cHV0KCdpbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0JylcbiAgaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpdml0eU91dGxldENvbnRleHQ8RCwgUiwgRT4+KCk7XG5cbiAgQElucHV0KClcbiAgZHluYW1pY0hlaWdodCA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ3RhYnMnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICB0YWJzOiBNYXRUYWJHcm91cDtcblxuICBAVmlld0NoaWxkcmVuKEFjdGl2aXR5T3V0bGV0Q29tcG9uZW50KVxuICBvdXRsZXRzOiBRdWVyeUxpc3Q8QWN0aXZpdHlPdXRsZXRDb21wb25lbnQ8YW55LCBhbnksIGFueT4+O1xuXG4gIHJlYWRvbmx5IGFjdGl2aXR5VGFicyA9IG5ldyBNdXRhYmxlTGlzdE1vZGVsPFRhYkNvbnRleHQ8YW55LCBhbnksIGFueT4+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZpdHlMaXN0ID0gbmV3IE11dGFibGVMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICBjaGFpbih0aGlzLnRocm90dGxlZE5lc3RlZEFjdGl2aXR5RmluaXNoRXZlbnRzKS50aHJvdHRsZSg1MCkuc3Vic2NyaWJlKCgpID0+IHRoaXMub25OZXN0ZWRBY3Rpdml0eUZpbmlzaGVkKCkpO1xuICB9XG5cbiAgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5faW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dDtcbiAgfVxuXG4gIGdldCBhY3Rpdml0eUxpc3QoKTogTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55LCBhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2aXR5TGlzdC5yZWFkb25seTtcbiAgfVxuXG4gIGdldCBpc0ZpbmlzaGVkKCkge1xuICAgIHJldHVybiAhdGhpcy5faW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHsgY2hhaW4sIG9ic2VydmUgfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICBvYnNlcnZlLnZhbHVlc0Zyb20odGhpcy5vdXRsZXRzLmNoYW5nZXMpLnN1YnNjcmliZSgoKSA9PiBzZXRUaW1lb3V0KCgpID0+IHRoaXMudXBkYXRlQWN0aXZpdHlMaXN0KCkpKTtcbiAgICBvYnNlcnZlLnZhbHVlc0Zyb20odGhpcy50YWJzLmFuaW1hdGlvbkRvbmUpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQW5pbWF0aW9uRmluaXNoZWQoKSk7XG4gICAgdGhpcy51cGRhdGVBY3Rpdml0eUxpc3QoKTtcbiAgfVxuXG4gIHN0YXJ0QWN0aXZpdHk8RDEsIFIxLCBFMT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YT86IEQxKTogUHJvbWlzZTxSMT4ge1xuICAgIHRoaXMuY2xlYW51cFN0YWxlTmVzdGVkQWN0aXZpdGllcygpO1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxSMT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgY29udGV4dCA9IG5ldyBUYWJDb250ZXh0KGRhdGEsIGFjdGl2aXR5VHlwZSwgc2VsZiwge1xuICAgICAgICBvbkRvbmU6IGZ1bmN0aW9uKHJlc3VsdDogUjEpIHtcbiAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgc2VsZi50aHJvdHRsZWROZXN0ZWRBY3Rpdml0eUZpbmlzaEV2ZW50cy5wdWJsaXNoKHt9KTtcbiAgICAgICAgfSxcbiAgICAgICAgb25DYW5jZWw6IGZ1bmN0aW9uKGVycm9yOiBFMSkge1xuICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgc2VsZi50aHJvdHRsZWROZXN0ZWRBY3Rpdml0eUZpbmlzaEV2ZW50cy5wdWJsaXNoKHt9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBzZWxmLmFjdGl2aXR5VGFicy5wdXNoKGNvbnRleHQpO1xuICAgICAgc2VsZi50YWJzLnNlbGVjdGVkSW5kZXggPSB0aGlzLmFjdGl2aXR5VGFicy5sZW5ndGg7XG4gICAgfSk7XG4gIH1cblxuXG4gIGFsZXJ0KGFsZXJ0OiBBbGVydCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0YXJ0QWN0aXZpdHkoQWxlcnREaWFsb2dDb21wb25lbnQsIGFsZXJ0KTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0YXJ0QWN0aXZpdHkoQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LCBjb25maXJtKTtcbiAgfVxuXG4gIGNvbmZpcm1UaGVuPEQxLCBSMSwgRTE+KGNvbmZpcm06IENvbmZpcm0sIGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxEMSwgUjEsIEUxPj4sIGRhdGE/OiBEMSk6IFByb21pc2U8UjE+IHtcbiAgICByZXR1cm4gdGhpcy5zdGFydEFjdGl2aXR5PENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LkRhdGE8RDEsIFIxLCBFMT4sIFIxLCBFMT4oQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGNvbmZpcm0sXG4gICAgICBhY3Rpdml0eVR5cGU6IGFjdGl2aXR5VHlwZSxcbiAgICAgIGRhdGE6IGRhdGFcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmluaXNoSW5pdGlhbEFjdGl2aXR5KCkge1xuICAgIHRoaXMuX2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQgPSBudWxsO1xuICAgIHRoaXMuaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dEV2ZW50LmVtaXQobnVsbCk7XG4gIH1cblxuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgb25OZXN0ZWRBY3Rpdml0eUZpbmlzaGVkKCkge1xuICAgIHRoaXMuc3luY2hyb25pc2VTZWxlY3RlZFRhYkluZGV4KCk7XG4gICAgdGhpcy51cGRhdGVBY3Rpdml0eUxpc3QoKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgY2xlYW51cFN0YWxlTmVzdGVkQWN0aXZpdGllcygpIHtcbiAgICBpZiAodGhpcy50YWJzLnNlbGVjdGVkSW5kZXggPCB0aGlzLmFjdGl2aXR5VGFicy5sZW5ndGggLSAxKSB7XG4gICAgICB0aGlzLmFjdGl2aXR5VGFicy5ydW5JblRyYW5zYWN0aW9uKGRyYWZ0ID0+IHtcbiAgICAgICAgZHJhZnQudmFsdWUgPSBkcmFmdC52YWx1ZS5zbGljZSgwLCAxICsgdGhpcy50YWJzLnNlbGVjdGVkSW5kZXgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN5bmNocm9uaXNlcyB0aGUgc2VsZWN0ZWQgdGFiIGluZGV4LiAgUmV0dXJucyB0cnVlIGlmIHRoZXJlIHdhcyBubyBjaGFuZ2UgdG8gdGhlIHNlbGVjdGVkIGluZGV4LlxuICAgKi9cbiAgLy8gQFRyYWNlKClcbiAgcHJpdmF0ZSBzeW5jaHJvbmlzZVNlbGVjdGVkVGFiSW5kZXgoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcHJldmlvdXNJbmRleCA9IHRoaXMudGFicy5zZWxlY3RlZEluZGV4O1xuICAgIGNvbnN0IG5ld0luZGV4ID0gdGhpcy5hY3Rpdml0eVRhYnMucXVlcnkoKS5maW5kSW5kZXgodCA9PiB0LmlzQ29tcGxldGUoKSkgLSAxO1xuICAgIHRoaXMudGFicy5zZWxlY3RlZEluZGV4ID0gbmV3SW5kZXg7XG4gICAgcmV0dXJuIHByZXZpb3VzSW5kZXggPT09IG5ld0luZGV4O1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgcHJpdmF0ZSBvbkFuaW1hdGlvbkZpbmlzaGVkKCkge1xuICAgIHRoaXMuZ2V0U2VsZWN0ZWRPdXRsZXQoKS5jb21wb25lbnQub25BY3Rpdml0eVJlYWR5KCk7XG4gICAgdGhpcy5jbGVhbnVwU3RhbGVOZXN0ZWRBY3Rpdml0aWVzKCk7XG4gICAgdGhpcy51cGRhdGVBY3Rpdml0eUxpc3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQWN0aXZpdHlMaXN0KCkge1xuICAgIHRoaXMuX2FjdGl2aXR5TGlzdC52YWx1ZSA9IHRoaXMuYWN0aXZpdHlUYWJzLnZhbHVlLmZpbHRlcih0ID0+ICF0LmlzQ29tcGxldGUoKSAmJiB0LmlzQ29tcG9uZW50UmVhbGlzZWQoKSkubWFwKHQgPT4gdC5jb21wb25lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZWxlY3RlZE91dGxldCgpIHtcbiAgICByZXR1cm4gdGhpcy5vdXRsZXRzLnRvQXJyYXkoKVt0aGlzLnRhYnMuc2VsZWN0ZWRJbmRleF07XG4gIH1cbn1cbiJdfQ==
504
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBaUIsR0FBRyxFQUFhLGdCQUFnQixFQUFFLGFBQWEsRUFBUyxNQUFNLGdCQUFnQixDQUFDO0FBSy9HLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRS9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7Ozs7O0FBT25HOzs7Ozs7O0lBS0Usb0JBQXFCLFlBQWUsRUFDZixhQUErQyxFQUMvQyxrQkFBc0MsRUFDdEMsaUJBQTJDO1FBSDNDLGlCQUFZLEdBQVosWUFBWSxDQUFHO1FBQ2Ysa0JBQWEsR0FBYixhQUFhLENBQWtDO1FBQy9DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQU54RCxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBTzFCLENBQUM7Ozs7SUFF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QnRFLHVFQUN1Rjs7SUFFdkYsbURBQ3NCOztJQUV0QiwwQ0FDa0I7O0lBRWxCLDZDQUMyRDs7SUFFM0Qsa0RBQTBFOzs7OztJQUUxRSxtREFBNEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0VGFiR3JvdXAgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQgeyBhc3NlcnQsIENvbnN0cnVjdGFibGUsIERzbCwgTGlzdE1vZGVsLCBNdXRhYmxlTGlzdE1vZGVsLCBNdXRhYmxlU3RyZWFtLCBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuLi8uLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4uLy4uL2FsZXJ0JztcbmltcG9ydCB7IENvbmZpcm0gfSBmcm9tICcuLi8uLi9jb25maXJtJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHsgQWN0aXZpdHlPdXRsZXRDb250ZXh0IH0gZnJvbSAnLi4vYWN0aXZpdHktb3V0bGV0L2FjdGl2aXR5LW91dGxldC1jb250ZXh0JztcbmltcG9ydCB7IEFjdGl2aXR5T3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnLi4vYWN0aXZpdHktb3V0bGV0L2FjdGl2aXR5LW91dGxldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWxlcnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9hbGVydC1kaWFsb2cvYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudCc7XG5cbi8qKlxuICogTm90ZTogdGhpcyBjbGFzcyBpcyBtdXRhYmxlIGFuZCBpcyBzdG9yZWQgaW4gYSBsaXN0IG1vZGVsLiAgVGhpcyBpcyBub3JtYWxseSBhIGJpZyBubyBubyBidXRcbiAqICB3ZSdyZSBtYW51YWxseSBkZXJpdmluZyBvdGhlciBtb2RlbHMgZnJvbSB0aGUgbGlzdCBhZnRlciB2aWV3IHN0YXRlIGNoYW5nZXMuICBJLmUuIHdlIG5vdFxuICogIHVzaW5nIHBlY3RpbiBjaGFpbnMgb24gYW55IG9mIHRoZSBtdXRhYmxlIGZpZWxkcy5cbiAqL1xuY2xhc3MgVGFiQ29udGV4dDxELCBSLCBFPiBpbXBsZW1lbnRzIEFjdGl2aXR5T3V0bGV0Q29udGV4dDxELCBSLCBFPiB7XG5cbiAgcHJpdmF0ZSBfY29tcGxldGUgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfY29tcG9uZW50OiBBY3Rpdml0eTxELCBSLCBFPjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBhY3Rpdml0eURhdGE6IEQsXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGFjdGl2aXR5Q2xhc3M6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LFxuICAgICAgICAgICAgICByZWFkb25seSBpbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgYWN0aXZpdHlDYWxsYmFja3M6IEFjdGl2aXR5LkNhbGxiYWNrczxSLCBFPikge1xuICB9XG5cbiAgaXNDb21wb25lbnRSZWFsaXNlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9jb21wb25lbnQ7XG4gIH1cblxuICBpc0NvbXBsZXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9jb21wbGV0ZTtcbiAgfVxuXG4gIGNvbXBvbmVudFJlYWR5KGNvbXBvbmVudDogQWN0aXZpdHk8RCwgUiwgRT4pIHtcbiAgICBhc3NlcnQuaXNOaWwodGhpcy5fY29tcG9uZW50KTtcbiAgICB0aGlzLl9jb21wb25lbnQgPSBjb21wb25lbnQ7XG4gIH1cblxuICBnZXQgY29tcG9uZW50KCk6IEFjdGl2aXR5PEQsIFIsIEU+IHtcbiAgICByZXR1cm4gdGhpcy5fY29tcG9uZW50O1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25Eb25lKHJlc3VsdDogUik6IHZvaWQge1xuICAgIHRoaXMuX2NvbXBsZXRlID0gdHJ1ZTtcbiAgICB0aGlzLmFjdGl2aXR5Q2FsbGJhY2tzLm9uRG9uZShyZXN1bHQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25DYW5jZWwoZXJyb3I6IEUpOiB2b2lkIHtcbiAgICB0aGlzLl9jb21wbGV0ZSA9IHRydWU7XG4gICAgdGhpcy5hY3Rpdml0eUNhbGxiYWNrcy5vbkNhbmNlbChlcnJvcik7XG4gIH1cblxufVxuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1hY3Rpdml0eS1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ8RCwgUiwgRT4gZXh0ZW5kcyBJbnRlcmFjdGlvbkNvbnRleHQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdGhyb3R0bGVkTmVzdGVkQWN0aXZpdHlGaW5pc2hFdmVudHMgPSBuZXcgTXV0YWJsZVN0cmVhbTxhbnk+KCk7XG5cbiAgcHJpdmF0ZSBfaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dDogQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+O1xuICBASW5wdXQoKVxuICBzZXQgaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dChpbml0aWFsQ29udGV4dDogQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+KSB7XG4gICAgYXNzZXJ0LmlzTmlsKHRoaXMuX2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQpO1xuICAgIC8vIHdlIGNsZWFuIHVwIGF0IHRoZSBzdGFydCBhcyB3ZSBsZWF2ZSB0aGUgaW5pdGlhbCBhY3Rpdml0eSBpbiBwbGFjZSBhZnRlciBpdCBmaW5pc2hlc1xuICAgIC8vIHNvIHRoYXQgdGhlIGFjdGl2aXR5IHJlbWFpbnMgdmlzaWJsZSBkdXJpbmcgdGhlIGlucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dCBhbmltYXRpb25zLlxuICAgIHRoaXMuYWN0aXZpdHlUYWJzLnZhbHVlID0gW107XG4gICAgdGhpcy5fYWN0aXZpdHlMaXN0LnZhbHVlID0gW107XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgaWYgKGluaXRpYWxDb250ZXh0KSB7XG4gICAgICB0aGlzLl9pbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0ID0gaW5pdGlhbENvbnRleHQ7XG4gICAgICB0aGlzLmFjdGl2aXR5VGFicy5wdXNoKG5ldyBUYWJDb250ZXh0KGluaXRpYWxDb250ZXh0LmFjdGl2aXR5RGF0YSwgaW5pdGlhbENvbnRleHQuYWN0aXZpdHlDbGFzcywgdGhpcywge1xuICAgICAgICBvbkRvbmU6IChyZXN1bHQ6IFIpID0+IHtcbiAgICAgICAgICBzZWxmLmZpbmlzaEluaXRpYWxBY3Rpdml0eSgpO1xuICAgICAgICAgIGluaXRpYWxDb250ZXh0Lm9uRG9uZShyZXN1bHQpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNhbmNlbDogKGVycm9yOiBFKSA9PiB7XG4gICAgICAgICAgc2VsZi5maW5pc2hJbml0aWFsQWN0aXZpdHkoKTtcbiAgICAgICAgICBpbml0aWFsQ29udGV4dC5vbkNhbmNlbChlcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgICB9XG4gIH1cblxuICBnZXQgaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dDtcbiAgfVxuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1vdXRwdXQtcmVuYW1lXG4gIEBPdXRwdXQoJ2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQnKVxuICBpbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2aXR5T3V0bGV0Q29udGV4dDxELCBSLCBFPj4oKTtcblxuICBASW5wdXQoKVxuICBkeW5hbWljSGVpZ2h0ID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgndGFicycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHRhYnM6IE1hdFRhYkdyb3VwO1xuXG4gIEBWaWV3Q2hpbGRyZW4oQWN0aXZpdHlPdXRsZXRDb21wb25lbnQpXG4gIG91dGxldHM6IFF1ZXJ5TGlzdDxBY3Rpdml0eU91dGxldENvbXBvbmVudDxhbnksIGFueSwgYW55Pj47XG5cbiAgcmVhZG9ubHkgYWN0aXZpdHlUYWJzID0gbmV3IE11dGFibGVMaXN0TW9kZWw8VGFiQ29udGV4dDxhbnksIGFueSwgYW55Pj4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9hY3Rpdml0eUxpc3QgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIGNoYWluKHRoaXMudGhyb3R0bGVkTmVzdGVkQWN0aXZpdHlGaW5pc2hFdmVudHMpLnRocm90dGxlKDUwKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbk5lc3RlZEFjdGl2aXR5RmluaXNoZWQoKSk7XG4gICAgdGhpcy5zZXRBY3Rpdml0eUxpc3QodGhpcy5fYWN0aXZpdHlMaXN0LnJlYWRvbmx5KTtcbiAgfVxuXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQ7XG4gIH1cblxuICBnZXQgaXNGaW5pc2hlZCgpIHtcbiAgICByZXR1cm4gIXRoaXMuX2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQ7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGNoYWluLCBvYnNlcnZlIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgb2JzZXJ2ZS52YWx1ZXNGcm9tKHRoaXMub3V0bGV0cy5jaGFuZ2VzKS5zdWJzY3JpYmUoKCkgPT4gc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZUFjdGl2aXR5TGlzdCgpKSk7XG4gICAgb2JzZXJ2ZS52YWx1ZXNGcm9tKHRoaXMudGFicy5hbmltYXRpb25Eb25lKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkFuaW1hdGlvbkZpbmlzaGVkKCkpO1xuICAgIHRoaXMudXBkYXRlQWN0aXZpdHlMaXN0KCk7XG4gIH1cblxuICBzdGFydEFjdGl2aXR5PEQxLCBSMSwgRTE+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxEMSwgUjEsIEUxPj4sIGRhdGE/OiBEMSk6IFByb21pc2U8UjE+IHtcbiAgICB0aGlzLmNsZWFudXBTdGFsZU5lc3RlZEFjdGl2aXRpZXMoKTtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICByZXR1cm4gbmV3IFByb21pc2U8UjE+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgVGFiQ29udGV4dChkYXRhLCBhY3Rpdml0eVR5cGUsIHNlbGYsIHtcbiAgICAgICAgb25Eb25lOiBmdW5jdGlvbihyZXN1bHQ6IFIxKSB7XG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgIHNlbGYudGhyb3R0bGVkTmVzdGVkQWN0aXZpdHlGaW5pc2hFdmVudHMucHVibGlzaCh7fSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2FuY2VsOiBmdW5jdGlvbihlcnJvcjogRTEpIHtcbiAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgIHNlbGYudGhyb3R0bGVkTmVzdGVkQWN0aXZpdHlGaW5pc2hFdmVudHMucHVibGlzaCh7fSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgc2VsZi5hY3Rpdml0eVRhYnMucHVzaChjb250ZXh0KTtcbiAgICAgIHNlbGYudGFicy5zZWxlY3RlZEluZGV4ID0gdGhpcy5hY3Rpdml0eVRhYnMubGVuZ3RoO1xuICAgIH0pO1xuICB9XG5cblxuICBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdGFydEFjdGl2aXR5KEFsZXJ0RGlhbG9nQ29tcG9uZW50LCBhbGVydCk7XG4gIH1cblxuICBjb25maXJtT3JSZWplY3QoY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0YXJ0QWN0aXZpdHkoQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LCBjb25maXJtKTtcbiAgfVxuXG4gIGNvbmZpcm1UaGVuPEQxLCBSMSwgRTE+KGNvbmZpcm06IENvbmZpcm0sIGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxEMSwgUjEsIEUxPj4sIGRhdGE/OiBEMSk6IFByb21pc2U8UjE+IHtcbiAgICByZXR1cm4gdGhpcy5zdGFydEFjdGl2aXR5PENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LkRhdGE8RDEsIFIxLCBFMT4sIFIxLCBFMT4oQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGNvbmZpcm0sXG4gICAgICBhY3Rpdml0eVR5cGU6IGFjdGl2aXR5VHlwZSxcbiAgICAgIGRhdGE6IGRhdGFcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmluaXNoSW5pdGlhbEFjdGl2aXR5KCkge1xuICAgIHRoaXMuX2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQgPSBudWxsO1xuICAgIHRoaXMuaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dEV2ZW50LmVtaXQobnVsbCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIG9uTmVzdGVkQWN0aXZpdHlGaW5pc2hlZCgpIHtcbiAgICB0aGlzLnN5bmNocm9uaXNlU2VsZWN0ZWRUYWJJbmRleCgpO1xuICAgIHRoaXMudXBkYXRlQWN0aXZpdHlMaXN0KCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIGNsZWFudXBTdGFsZU5lc3RlZEFjdGl2aXRpZXMoKSB7XG4gICAgaWYgKHRoaXMudGFicy5zZWxlY3RlZEluZGV4IDwgdGhpcy5hY3Rpdml0eVRhYnMubGVuZ3RoIC0gMSkge1xuICAgICAgdGhpcy5hY3Rpdml0eVRhYnMucnVuSW5UcmFuc2FjdGlvbihkcmFmdCA9PiB7XG4gICAgICAgIGRyYWZ0LnZhbHVlID0gZHJhZnQudmFsdWUuc2xpY2UoMCwgMSArIHRoaXMudGFicy5zZWxlY3RlZEluZGV4KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTeW5jaHJvbmlzZXMgdGhlIHNlbGVjdGVkIHRhYiBpbmRleC4gIFJldHVybnMgdHJ1ZSBpZiB0aGVyZSB3YXMgbm8gY2hhbmdlIHRvIHRoZSBzZWxlY3RlZCBpbmRleC5cbiAgICovXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgc3luY2hyb25pc2VTZWxlY3RlZFRhYkluZGV4KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHByZXZpb3VzSW5kZXggPSB0aGlzLnRhYnMuc2VsZWN0ZWRJbmRleDtcbiAgICBjb25zdCBuZXdJbmRleCA9IHRoaXMuYWN0aXZpdHlUYWJzLnF1ZXJ5KCkuZmluZEluZGV4KHQgPT4gdC5pc0NvbXBsZXRlKCkpIC0gMTtcbiAgICB0aGlzLnRhYnMuc2VsZWN0ZWRJbmRleCA9IG5ld0luZGV4O1xuICAgIHJldHVybiBwcmV2aW91c0luZGV4ID09PSBuZXdJbmRleDtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgb25BbmltYXRpb25GaW5pc2hlZCgpIHtcbiAgICB0aGlzLmdldFNlbGVjdGVkT3V0bGV0KCkuY29tcG9uZW50Lm9uQWN0aXZpdHlSZWFkeSgpO1xuICAgIHRoaXMuY2xlYW51cFN0YWxlTmVzdGVkQWN0aXZpdGllcygpO1xuICAgIHRoaXMudXBkYXRlQWN0aXZpdHlMaXN0KCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUFjdGl2aXR5TGlzdCgpIHtcbiAgICB0aGlzLl9hY3Rpdml0eUxpc3QudmFsdWUgPSB0aGlzLmFjdGl2aXR5VGFicy52YWx1ZS5maWx0ZXIodCA9PiAhdC5pc0NvbXBsZXRlKCkgJiYgdC5pc0NvbXBvbmVudFJlYWxpc2VkKCkpLm1hcCh0ID0+IHQuY29tcG9uZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZWN0ZWRPdXRsZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMub3V0bGV0cy50b0FycmF5KClbdGhpcy50YWJzLnNlbGVjdGVkSW5kZXhdO1xuICB9XG59XG4iXX0=
@@ -20,21 +20,12 @@ var InplaceInteractionContextComponent = /** @class */ (function (_super) {
20
20
  /**
21
21
  * @return {?}
22
22
  */
23
- InplaceInteractionContextComponent.prototype.ngOnInit = /**
23
+ InplaceInteractionContextComponent.prototype.ngAfterViewInit = /**
24
24
  * @return {?}
25
25
  */
26
26
  function () {
27
+ this.setActivityList(this.interactionContext.activityList);
27
28
  };
28
- Object.defineProperty(InplaceInteractionContextComponent.prototype, "activityList", {
29
- get: /**
30
- * @return {?}
31
- */
32
- function () {
33
- return this.interactionContext.activityList;
34
- },
35
- enumerable: true,
36
- configurable: true
37
- });
38
29
  /**
39
30
  * @return {?}
40
31
  */
@@ -60,7 +51,7 @@ var InplaceInteractionContextComponent = /** @class */ (function (_super) {
60
51
  * @param {?} confirm
61
52
  * @return {?}
62
53
  */
63
- InplaceInteractionContextComponent.prototype.confirm = /**
54
+ InplaceInteractionContextComponent.prototype.confirmOrReject = /**
64
55
  * @param {?} confirm
65
56
  * @return {?}
66
57
  */
@@ -168,4 +159,4 @@ if (false) {
168
159
  /** @type {?} */
169
160
  InplaceInteractionContextComponent.prototype.initialActivityContext;
170
161
  }
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wbGFjZS1pbnRlcmFjdGlvbi1jb250ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2lucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNEIsU0FBUyxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQU03RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUdoRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7OztBQUVuRztJQUtpRSw4REFBa0I7SUFPakY7ZUFDRSxpQkFBTztJQUNULENBQUM7Ozs7SUFFRCxxREFBUTs7O0lBQVI7SUFDQSxDQUFDO0lBRUQsc0JBQUksNERBQVk7Ozs7UUFBaEI7WUFDRSxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7UUFDOUMsQ0FBQzs7O09BQUE7Ozs7SUFFRCxxREFBUTs7O0lBQVI7UUFDRSxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QyxDQUFDOzs7OztJQUVELGtEQUFLOzs7O0lBQUwsVUFBTSxLQUFZO1FBQ2hCLG9DQUFvQztRQUNwQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQzs7Ozs7SUFFRCxvREFBTzs7OztJQUFQLFVBQVEsT0FBZ0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25FLENBQUM7Ozs7Ozs7O0lBRUQsd0RBQVc7Ozs7Ozs7SUFBWCxVQUF3QixPQUFnQixFQUFFLFlBQWlELEVBQUUsSUFBUztRQUNwRyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQXNELDBCQUEwQixFQUFFO1lBQzFHLE9BQU8sU0FBQTtZQUNQLFlBQVksRUFBRSxZQUFZO1lBQzFCLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7OztJQUVELDBEQUFhOzs7Ozs7SUFBYixVQUEwQixZQUFpRCxFQUFFLElBQVM7UUFDcEYsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7Ozs7OztJQUVTLDJEQUFjOzs7Ozs7O0lBQXhCLFVBQXFDLFlBQWlELEVBQUUsSUFBUztRQUFqRyxpQkFjQzs7WUFiTyxJQUFJLEdBQUcsSUFBSTtRQUNqQixPQUFPLElBQUksT0FBTzs7Ozs7UUFBSyxVQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ3JDLEtBQUksQ0FBQyxrQkFBa0IsQ0FBQyw0QkFBNEIsR0FBRztnQkFDckQsYUFBYSxFQUFFLFlBQVk7Z0JBQzNCLFlBQVksRUFBRSxJQUFJO2dCQUNsQixNQUFNOzs7OzBCQUFDLE1BQU07b0JBQ1gsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNsQixDQUFDO2dCQUNELFFBQVE7Ozs7MEJBQUMsS0FBSztvQkFDWixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hCLENBQUM7YUFDRixDQUFDO1FBQ0osQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOztnQkE5REYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLGdjQUEyRDs7aUJBRTVEOzs7OztxQ0FHRSxTQUFTLFNBQUMsbUJBQW1CLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDOztJQTBEaEQseUNBQUM7Q0FBQSxBQWpFRCxDQUtpRSxrQkFBa0IsR0E0RGxGO1NBNURZLGtDQUFrQzs7O0lBRTdDLGdFQUM4RDs7SUFFOUQsb0VBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlLCBEZWxlZ2F0aW5nTGlzdE1vZGVsLCBEc2wsIE11dGFibGVMaXN0TW9kZWwsIFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuLi8uLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4uLy4uL2FsZXJ0JztcbmltcG9ydCB7IENvbmZpcm0gfSBmcm9tICcuLi8uLi9jb25maXJtJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHsgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpdml0eU91dGxldENvbnRleHQgfSBmcm9tICcuLi9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LWNvbnRleHQnO1xuaW1wb3J0IHsgQWN0aXZpdHlPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybS10aGVuLWRpYWxvZy9jb25maXJtLXRoZW4tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLWlucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJbnBsYWNlSW50ZXJhY3Rpb25Db250ZXh0Q29tcG9uZW50PEQsIFIsIEU+IGV4dGVuZHMgSW50ZXJhY3Rpb25Db250ZXh0IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAVmlld0NoaWxkKFwiYWN0aXZpdHlDb250YWluZXJcIiwge3N0YXRpYzogdHJ1ZX0pXG4gIGludGVyYWN0aW9uQ29udGV4dDogQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ8YW55LCBhbnksIGFueT47XG5cbiAgaW5pdGlhbEFjdGl2aXR5Q29udGV4dDogQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsUixFPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBnZXQgYWN0aXZpdHlMaXN0KCkge1xuICAgIHJldHVybiB0aGlzLmludGVyYWN0aW9uQ29udGV4dC5hY3Rpdml0eUxpc3Q7XG4gIH1cblxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuaXNBY3RpdmUoKTtcbiAgfVxuXG4gIGFsZXJ0KGFsZXJ0OiBBbGVydCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIFRPRE86IFRlc3QgZGlzYWJsZUNsb3NlID09PSBmYWxzZVxuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KEFsZXJ0RGlhbG9nQ29tcG9uZW50LCBhbGVydCk7XG4gIH1cblxuICBjb25maXJtKGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIGNvbmZpcm0pO1xuICB9XG5cbiAgY29uZmlybVRoZW48RDEsIFIxLCBFMT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YT86IEQxKTogUHJvbWlzZTxSMT4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5PENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LkRhdGE8RDEsIFIxLCBFMT4sIFIxLCBFMT4oQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGNvbmZpcm0sXG4gICAgICBhY3Rpdml0eVR5cGU6IGFjdGl2aXR5VHlwZSxcbiAgICAgIGRhdGE6IGRhdGFcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXJ0QWN0aXZpdHk8RDEsIFIxLCBFMT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YT86IEQxKTogUHJvbWlzZTxSMT4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KGFjdGl2aXR5VHlwZSwgZGF0YSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3N0YXJ0QWN0aXZpdHk8RDEsIFIxLCBFMT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YT86IEQxKTogUHJvbWlzZTxSMT4ge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxSMT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCA9IHtcbiAgICAgICAgYWN0aXZpdHlDbGFzczogYWN0aXZpdHlUeXBlLFxuICAgICAgICBhY3Rpdml0eURhdGE6IGRhdGEsXG4gICAgICAgIG9uRG9uZShyZXN1bHQpIHtcbiAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2FuY2VsKGVycm9yKSB7XG4gICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG5cbn1cbiJdfQ==
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wbGFjZS1pbnRlcmFjdGlvbi1jb250ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2lucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dC9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFpQixTQUFTLEVBQTRCLFNBQVMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFNNUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFHaEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7QUFFbkc7SUFLaUUsOERBQWtCO0lBT2pGO2VBQ0UsaUJBQU87SUFDVCxDQUFDOzs7O0lBRUQsNERBQWU7OztJQUFmO1FBQ0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7OztJQUVELHFEQUFROzs7SUFBUjtRQUNFLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVDLENBQUM7Ozs7O0lBRUQsa0RBQUs7Ozs7SUFBTCxVQUFNLEtBQVk7UUFDaEIsb0NBQW9DO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDOzs7OztJQUVELDREQUFlOzs7O0lBQWYsVUFBZ0IsT0FBZ0I7UUFDOUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25FLENBQUM7Ozs7Ozs7O0lBRUQsd0RBQVc7Ozs7Ozs7SUFBWCxVQUF3QixPQUFnQixFQUFFLFlBQWlELEVBQUUsSUFBUztRQUNwRyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQXNELDBCQUEwQixFQUFFO1lBQzFHLE9BQU8sU0FBQTtZQUNQLFlBQVksRUFBRSxZQUFZO1lBQzFCLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7OztJQUVELDBEQUFhOzs7Ozs7SUFBYixVQUEwQixZQUFpRCxFQUFFLElBQVM7UUFDcEYsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7Ozs7OztJQUVTLDJEQUFjOzs7Ozs7O0lBQXhCLFVBQXFDLFlBQWlELEVBQUUsSUFBUztRQUFqRyxpQkFjQzs7WUFiTyxJQUFJLEdBQUcsSUFBSTtRQUNqQixPQUFPLElBQUksT0FBTzs7Ozs7UUFBSyxVQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ3JDLEtBQUksQ0FBQyxrQkFBa0IsQ0FBQyw0QkFBNEIsR0FBRztnQkFDckQsYUFBYSxFQUFFLFlBQVk7Z0JBQzNCLFlBQVksRUFBRSxJQUFJO2dCQUNsQixNQUFNOzs7OzBCQUFDLE1BQU07b0JBQ1gsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNsQixDQUFDO2dCQUNELFFBQVE7Ozs7MEJBQUMsS0FBSztvQkFDWixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hCLENBQUM7YUFDRixDQUFDO1FBQ0osQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOztnQkEzREYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLGdjQUEyRDs7aUJBRTVEOzs7OztxQ0FHRSxTQUFTLFNBQUMsbUJBQW1CLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDOztJQXNEaEQseUNBQUM7Q0FBQSxBQTdERCxDQUtpRSxrQkFBa0IsR0F3RGxGO1NBeERZLGtDQUFrQzs7O0lBRTdDLGdFQUM4RDs7SUFFOUQsb0VBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlLCBEZWxlZ2F0aW5nTGlzdE1vZGVsLCBEc2wsIE11dGFibGVMaXN0TW9kZWwsIFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuLi8uLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4uLy4uL2FsZXJ0JztcbmltcG9ydCB7IENvbmZpcm0gfSBmcm9tICcuLi8uLi9jb25maXJtJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHsgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpdml0eU91dGxldENvbnRleHQgfSBmcm9tICcuLi9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LWNvbnRleHQnO1xuaW1wb3J0IHsgQWN0aXZpdHlPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybS10aGVuLWRpYWxvZy9jb25maXJtLXRoZW4tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLWlucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnBsYWNlLWludGVyYWN0aW9uLWNvbnRleHQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJbnBsYWNlSW50ZXJhY3Rpb25Db250ZXh0Q29tcG9uZW50PEQsIFIsIEU+IGV4dGVuZHMgSW50ZXJhY3Rpb25Db250ZXh0IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQFZpZXdDaGlsZChcImFjdGl2aXR5Q29udGFpbmVyXCIsIHtzdGF0aWM6IHRydWV9KVxuICBpbnRlcmFjdGlvbkNvbnRleHQ6IEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PGFueSwgYW55LCBhbnk+O1xuXG4gIGluaXRpYWxBY3Rpdml0eUNvbnRleHQ6IEFjdGl2aXR5T3V0bGV0Q29udGV4dDxELFIsRT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEFjdGl2aXR5TGlzdCh0aGlzLmludGVyYWN0aW9uQ29udGV4dC5hY3Rpdml0eUxpc3QpO1xuICB9XG5cbiAgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0LmlzQWN0aXZlKCk7XG4gIH1cblxuICBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBUT0RPOiBUZXN0IGRpc2FibGVDbG9zZSA9PT0gZmFsc2VcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShBbGVydERpYWxvZ0NvbXBvbmVudCwgYWxlcnQpO1xuICB9XG5cbiAgY29uZmlybU9yUmVqZWN0KGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIGNvbmZpcm0pO1xuICB9XG5cbiAgY29uZmlybVRoZW48RDEsIFIxLCBFMT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YT86IEQxKTogUHJvbWlzZTxSMT4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5PENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LkRhdGE8RDEsIFIxLCBFMT4sIFIxLCBFMT4oQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGNvbmZpcm0sXG4gICAgICBhY3Rpdml0eVR5cGU6IGFjdGl2aXR5VHlwZSxcbiAgICAgIGRhdGE6IGRhdGFcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXJ0QWN0aXZpdHk8RDEsIFIxLCBFMT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YT86IEQxKTogUHJvbWlzZTxSMT4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KGFjdGl2aXR5VHlwZSwgZGF0YSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3N0YXJ0QWN0aXZpdHk8RDEsIFIxLCBFMT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YT86IEQxKTogUHJvbWlzZTxSMT4ge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxSMT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5pbnRlcmFjdGlvbkNvbnRleHQuaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCA9IHtcbiAgICAgICAgYWN0aXZpdHlDbGFzczogYWN0aXZpdHlUeXBlLFxuICAgICAgICBhY3Rpdml0eURhdGE6IGRhdGEsXG4gICAgICAgIG9uRG9uZShyZXN1bHQpIHtcbiAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2FuY2VsKGVycm9yKSB7XG4gICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG59XG4iXX0=
@@ -3,7 +3,7 @@
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
5
  import * as tslib_1 from "tslib";
6
- import { GarbageCollector } from '@coolon/pectin';
6
+ import { Deferred, DelegatingListModel, Dsl, GarbageCollector } from '@coolon/pectin';
7
7
  import * as _ from 'lodash';
8
8
  /**
9
9
  * @abstract
@@ -14,24 +14,107 @@ var /**
14
14
  InteractionContext = /** @class */ (function (_super) {
15
15
  tslib_1.__extends(InteractionContext, _super);
16
16
  function InteractionContext() {
17
- return _super.call(this) || this;
18
- }
19
- Object.defineProperty(InteractionContext.prototype, "currentActivity", {
17
+ var _this = _super.call(this) || this;
20
18
  /**
21
- * Returns the activity that is currently active.
19
+ * Returns the current list of activities that are in progress.
22
20
  * This model is only updated in the next tick after the view has been updated.
23
21
  */
22
+ _this._activityListDelegate = new DelegatingListModel();
23
+ var _a = Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
24
+ when.listOf(_this.activityList).becomesPopulated((/**
25
+ * @param {?} activities
26
+ * @return {?}
27
+ */
28
+ function (activities) {
29
+ if (_this.deferredGetCurrentActivity) {
30
+ _this.deferredGetCurrentActivity.resolve(_.last(activities));
31
+ _this.deferredGetCurrentActivity = null;
32
+ }
33
+ }));
34
+ return _this;
35
+ }
36
+ /**
37
+ * @protected
38
+ * @param {?} activityList
39
+ * @return {?}
40
+ */
41
+ InteractionContext.prototype.setActivityList = /**
42
+ * @protected
43
+ * @param {?} activityList
44
+ * @return {?}
45
+ */
46
+ function (activityList) {
47
+ this._activityListDelegate.setDelegate(activityList);
48
+ };
49
+ Object.defineProperty(InteractionContext.prototype, "activityList", {
24
50
  get: /**
25
- * Returns the activity that is currently active.
26
- * This model is only updated in the next tick after the view has been updated.
27
51
  * @return {?}
28
52
  */
29
53
  function () {
30
- return _.last(this.activityList.value);
54
+ return this._activityListDelegate.readonly;
31
55
  },
32
56
  enumerable: true,
33
57
  configurable: true
34
58
  });
59
+ /**
60
+ * Returns the activity that is currently active.
61
+ * This model is only updated in the next tick after the view has been updated.
62
+ */
63
+ /**
64
+ * Returns the activity that is currently active.
65
+ * This model is only updated in the next tick after the view has been updated.
66
+ * @return {?}
67
+ */
68
+ InteractionContext.prototype.getCurrentActivity = /**
69
+ * Returns the activity that is currently active.
70
+ * This model is only updated in the next tick after the view has been updated.
71
+ * @return {?}
72
+ */
73
+ function () {
74
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
75
+ return tslib_1.__generator(this, function (_a) {
76
+ if (!this.isActive()) {
77
+ return [2 /*return*/, Promise.reject('no activity in progress')];
78
+ }
79
+ else {
80
+ if (this.deferredGetCurrentActivity) {
81
+ // we're already waiting then just return the same promise
82
+ return [2 /*return*/, this.deferredGetCurrentActivity.promise];
83
+ }
84
+ else {
85
+ if (this.activityList.length < 1) {
86
+ this.deferredGetCurrentActivity = Deferred.defer();
87
+ return [2 /*return*/, this.deferredGetCurrentActivity.promise];
88
+ }
89
+ else {
90
+ return [2 /*return*/, _.last(this.activityList.value)];
91
+ }
92
+ }
93
+ }
94
+ return [2 /*return*/];
95
+ });
96
+ });
97
+ };
98
+ /**
99
+ * @param {?} confirm
100
+ * @return {?}
101
+ */
102
+ InteractionContext.prototype.confirm = /**
103
+ * @param {?} confirm
104
+ * @return {?}
105
+ */
106
+ function (confirm) {
107
+ // Important: we have to implement confirmOrReject as the main entry point
108
+ // as the canDeactivation guards need to be able to cancel an interaction
109
+ // without caring about returning a value.
110
+ return this.confirmOrReject(confirm).then((/**
111
+ * @return {?}
112
+ */
113
+ function () { return true; })).catch((/**
114
+ * @return {?}
115
+ */
116
+ function () { return false; }));
117
+ };
35
118
  return InteractionContext;
36
119
  }(GarbageCollector));
37
120
  /**
@@ -43,8 +126,14 @@ if (false) {
43
126
  * Returns the current list of activities that are in progress.
44
127
  * This model is only updated in the next tick after the view has been updated.
45
128
  * @type {?}
129
+ * @private
130
+ */
131
+ InteractionContext.prototype._activityListDelegate;
132
+ /**
133
+ * @type {?}
134
+ * @private
46
135
  */
47
- InteractionContext.prototype.activityList;
136
+ InteractionContext.prototype.deferredGetCurrentActivity;
48
137
  /**
49
138
  * Returns true if an activity is currently running.
50
139
  * @abstract
@@ -64,7 +153,7 @@ if (false) {
64
153
  * @param {?} confirm
65
154
  * @return {?}
66
155
  */
67
- InteractionContext.prototype.confirm = function (confirm) { };
156
+ InteractionContext.prototype.confirmOrReject = function (confirm) { };
68
157
  /**
69
158
  * Presents the confirmation to the user and runs the activity only if the user confirms.
70
159
  * @abstract
@@ -82,4 +171,4 @@ if (false) {
82
171
  */
83
172
  InteractionContext.prototype.alert = function (alert) { };
84
173
  }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFpQixnQkFBZ0IsRUFBZ0MsTUFBTSxnQkFBZ0IsQ0FBQztBQUkvRixPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQzs7OztBQUU1Qjs7OztJQUFpRCw4Q0FBZ0I7SUFRL0Q7ZUFDRSxpQkFBTztJQUNULENBQUM7SUFNRCxzQkFBSSwrQ0FBZTtRQUpuQjs7O1dBR0c7Ozs7OztRQUNIO1lBQ0UsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsQ0FBQzs7O09BQUE7SUFxQkgseUJBQUM7QUFBRCxDQUFDLEFBdkNELENBQWlELGdCQUFnQixHQXVDaEU7Ozs7Ozs7Ozs7O0lBakNDLDBDQUE4RDs7Ozs7O0lBaUI5RCx3REFBNkI7Ozs7Ozs7O0lBRTdCLCtFQUFzRzs7Ozs7O0lBRXRHLDhEQUFrRDs7Ozs7Ozs7OztJQVFsRCxzRkFBc0g7Ozs7OztJQUV0SCwwREFBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3RhYmxlLCBHYXJiYWdlQ29sbGVjdG9yLCBMaXN0TW9kZWwsIFRyYWNlLCBWYWx1ZU1vZGVsIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuL2FjdGl2aXR5JztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi9hbGVydCc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi9jb25maXJtJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEludGVyYWN0aW9uQ29udGV4dCBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGxpc3Qgb2YgYWN0aXZpdGllcyB0aGF0IGFyZSBpbiBwcm9ncmVzcy5cbiAgICogVGhpcyBtb2RlbCBpcyBvbmx5IHVwZGF0ZWQgaW4gdGhlIG5leHQgdGljayBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiB1cGRhdGVkLlxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgYWN0aXZpdHlMaXN0OiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+PjtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBhY3Rpdml0eSB0aGF0IGlzIGN1cnJlbnRseSBhY3RpdmUuXG4gICAqIFRoaXMgbW9kZWwgaXMgb25seSB1cGRhdGVkIGluIHRoZSBuZXh0IHRpY2sgYWZ0ZXIgdGhlIHZpZXcgaGFzIGJlZW4gdXBkYXRlZC5cbiAgICovXG4gIGdldCBjdXJyZW50QWN0aXZpdHkoKTogQWN0aXZpdHk8YW55LCBhbnk+IHtcbiAgICByZXR1cm4gXy5sYXN0KHRoaXMuYWN0aXZpdHlMaXN0LnZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgYW4gYWN0aXZpdHkgaXMgY3VycmVudGx5IHJ1bm5pbmcuXG4gICAqL1xuICBhYnN0cmFjdCBpc0FjdGl2ZSgpOiBib29sZWFuO1xuXG4gIGFic3RyYWN0IHN0YXJ0QWN0aXZpdHk8RCwgUiwgRT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+O1xuXG4gIGFic3RyYWN0IGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIFByZXNlbnRzIHRoZSBjb25maXJtYXRpb24gdG8gdGhlIHVzZXIgYW5kIHJ1bnMgdGhlIGFjdGl2aXR5IG9ubHkgaWYgdGhlIHVzZXIgY29uZmlybXMuXG4gICAqIEBwYXJhbSBjb25maXJtOkNvbmZpcm0gdGhlIGNvbmZpcm1hdGlvbiB0byBkaXNwbGF5LlxuICAgKiBAcGFyYW0gYWN0aXZpdHlUeXBlIHRoZSBhY3Rpdml0eSB0byBydW4gaWYgY29uZmlybWVkLlxuICAgKiBAcGFyYW0gZGF0YSB0aGUgYWN0aXZpdHkgZGF0YS5cbiAgICovXG4gIGFic3RyYWN0IGNvbmZpcm1UaGVuPEQsIFIsIEU+KGNvbmZpcm06IENvbmZpcm0sIGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE/OiBEKTogUHJvbWlzZTxSPjtcblxuICBhYnN0cmFjdCBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+O1xuXG59XG5cbiJdfQ==
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFpQixRQUFRLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEgsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7QUFLNUI7Ozs7SUFBaUQsOENBQWdCO0lBVS9EO1FBQUEsWUFDRSxpQkFBTyxTQVFSOzs7OztRQWJnQiwyQkFBcUIsR0FBRyxJQUFJLG1CQUFtQixFQUFzQixDQUFDO1FBTS9FLElBQUEsMkJBQWtGLEVBQWhGLGdCQUFLLEVBQUUsb0JBQU8sRUFBRSxrQkFBTSxFQUFFLGNBQUksRUFBRSxnQkFBSyxFQUFFLG9CQUFPLEVBQUUsc0JBQWtDO1FBQ3hGLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLGdCQUFnQjs7OztRQUFDLFVBQUMsVUFBVTtZQUN6RCxJQUFJLEtBQUksQ0FBQywwQkFBMEIsRUFBRTtnQkFDbkMsS0FBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQzVELEtBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUM7YUFDeEM7UUFDSCxDQUFDLEVBQUMsQ0FBQzs7SUFDTCxDQUFDOzs7Ozs7SUFFUyw0Q0FBZTs7Ozs7SUFBekIsVUFBMEIsWUFBMkM7UUFDbkUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsc0JBQUksNENBQVk7Ozs7UUFBaEI7WUFDRSxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUM7UUFDN0MsQ0FBQzs7O09BQUE7SUFHRDs7O09BR0c7Ozs7OztJQUNHLCtDQUFrQjs7Ozs7SUFBeEI7OztnQkFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO29CQUNwQixzQkFBTyxPQUFPLENBQUMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLEVBQUM7aUJBQ2xEO3FCQUFNO29CQUNMLElBQUksSUFBSSxDQUFDLDBCQUEwQixFQUFFO3dCQUNuQywwREFBMEQ7d0JBQzFELHNCQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLEVBQUM7cUJBQ2hEO3lCQUFNO3dCQUNMLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFOzRCQUNoQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDOzRCQUNuRCxzQkFBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsT0FBTyxFQUFDO3lCQUNoRDs2QkFBTTs0QkFDTCxzQkFBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUM7eUJBQ3hDO3FCQUNGO2lCQUNGOzs7O0tBQ0Y7Ozs7O0lBU0Qsb0NBQU87Ozs7SUFBUCxVQUFRLE9BQWdCO1FBQ3RCLDBFQUEwRTtRQUMxRSx5RUFBeUU7UUFDekUsMENBQTBDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJOzs7UUFBQyxjQUFNLE9BQUEsSUFBSSxFQUFKLENBQUksRUFBQyxDQUFDLEtBQUs7OztRQUFDLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxFQUFDLENBQUM7SUFDM0UsQ0FBQztJQWNILHlCQUFDO0FBQUQsQ0FBQyxBQTlFRCxDQUFpRCxnQkFBZ0IsR0E4RWhFOzs7Ozs7Ozs7Ozs7SUF4RUMsbURBQXVGOzs7OztJQUV2Rix3REFBc0U7Ozs7OztJQStDdEUsd0RBQTZCOzs7Ozs7OztJQUU3QiwrRUFBc0c7Ozs7OztJQVN0RyxzRUFBZ0U7Ozs7Ozs7Ozs7SUFRaEUsc0ZBQXNIOzs7Ozs7SUFFdEgsMERBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgRGVmZXJyZWQsIERlbGVnYXRpbmdMaXN0TW9kZWwsIERzbCwgR2FyYmFnZUNvbGxlY3RvciwgTGlzdE1vZGVsIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuL2FjdGl2aXR5JztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi9hbGVydCc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi9jb25maXJtJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEludGVyYWN0aW9uQ29udGV4dCBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGxpc3Qgb2YgYWN0aXZpdGllcyB0aGF0IGFyZSBpbiBwcm9ncmVzcy5cbiAgICogVGhpcyBtb2RlbCBpcyBvbmx5IHVwZGF0ZWQgaW4gdGhlIG5leHQgdGljayBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiB1cGRhdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZpdHlMaXN0RGVsZWdhdGUgPSBuZXcgRGVsZWdhdGluZ0xpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KCk7XG5cbiAgcHJpdmF0ZSBkZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eTogRGVmZXJyZWQ8QWN0aXZpdHk8YW55LCBhbnksIGFueT4+O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgd2hlbi5saXN0T2YodGhpcy5hY3Rpdml0eUxpc3QpLmJlY29tZXNQb3B1bGF0ZWQoKGFjdGl2aXRpZXMpID0+IHtcbiAgICAgIGlmICh0aGlzLmRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5KSB7XG4gICAgICAgIHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkucmVzb2x2ZShfLmxhc3QoYWN0aXZpdGllcykpO1xuICAgICAgICB0aGlzLmRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRBY3Rpdml0eUxpc3QoYWN0aXZpdHlMaXN0OiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+Pikge1xuICAgIHRoaXMuX2FjdGl2aXR5TGlzdERlbGVnYXRlLnNldERlbGVnYXRlKGFjdGl2aXR5TGlzdCk7XG4gIH1cblxuICBnZXQgYWN0aXZpdHlMaXN0KCk6IExpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueSwgYW55Pj4ge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpdml0eUxpc3REZWxlZ2F0ZS5yZWFkb25seTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFjdGl2aXR5IHRoYXQgaXMgY3VycmVudGx5IGFjdGl2ZS5cbiAgICogVGhpcyBtb2RlbCBpcyBvbmx5IHVwZGF0ZWQgaW4gdGhlIG5leHQgdGljayBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiB1cGRhdGVkLlxuICAgKi9cbiAgYXN5bmMgZ2V0Q3VycmVudEFjdGl2aXR5KCk6IFByb21pc2U8QWN0aXZpdHk8YW55LCBhbnk+PiB7XG4gICAgaWYgKCF0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgnbm8gYWN0aXZpdHkgaW4gcHJvZ3Jlc3MnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkpIHtcbiAgICAgICAgLy8gd2UncmUgYWxyZWFkeSB3YWl0aW5nIHRoZW4ganVzdCByZXR1cm4gdGhlIHNhbWUgcHJvbWlzZVxuICAgICAgICByZXR1cm4gdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eS5wcm9taXNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZpdHlMaXN0Lmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICB0aGlzLmRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5ID0gRGVmZXJyZWQuZGVmZXIoKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eS5wcm9taXNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBfLmxhc3QodGhpcy5hY3Rpdml0eUxpc3QudmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBhbiBhY3Rpdml0eSBpcyBjdXJyZW50bHkgcnVubmluZy5cbiAgICovXG4gIGFic3RyYWN0IGlzQWN0aXZlKCk6IGJvb2xlYW47XG5cbiAgYWJzdHJhY3Qgc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj47XG5cbiAgY29uZmlybShjb25maXJtOiBDb25maXJtKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgLy8gSW1wb3J0YW50OiB3ZSBoYXZlIHRvIGltcGxlbWVudCBjb25maXJtT3JSZWplY3QgYXMgdGhlIG1haW4gZW50cnkgcG9pbnRcbiAgICAvLyBhcyB0aGUgY2FuRGVhY3RpdmF0aW9uIGd1YXJkcyBuZWVkIHRvIGJlIGFibGUgdG8gY2FuY2VsIGFuIGludGVyYWN0aW9uXG4gICAgLy8gd2l0aG91dCBjYXJpbmcgYWJvdXQgcmV0dXJuaW5nIGEgdmFsdWUuXG4gICAgcmV0dXJuIHRoaXMuY29uZmlybU9yUmVqZWN0KGNvbmZpcm0pLnRoZW4oKCkgPT4gdHJ1ZSkuY2F0Y2goKCkgPT4gZmFsc2UpO1xuICB9XG5cbiAgYWJzdHJhY3QgYXN5bmMgY29uZmlybU9yUmVqZWN0KGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBQcmVzZW50cyB0aGUgY29uZmlybWF0aW9uIHRvIHRoZSB1c2VyIGFuZCBydW5zIHRoZSBhY3Rpdml0eSBvbmx5IGlmIHRoZSB1c2VyIGNvbmZpcm1zLlxuICAgKiBAcGFyYW0gY29uZmlybTpDb25maXJtIHRoZSBjb25maXJtYXRpb24gdG8gZGlzcGxheS5cbiAgICogQHBhcmFtIGFjdGl2aXR5VHlwZSB0aGUgYWN0aXZpdHkgdG8gcnVuIGlmIGNvbmZpcm1lZC5cbiAgICogQHBhcmFtIGRhdGEgdGhlIGFjdGl2aXR5IGRhdGEuXG4gICAqL1xuICBhYnN0cmFjdCBjb25maXJtVGhlbjxELCBSLCBFPihjb25maXJtOiBDb25maXJtLCBhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj47XG5cbiAgYWJzdHJhY3QgYWxlcnQoYWxlcnQ6IEFsZXJ0KTogUHJvbWlzZTx2b2lkPjtcblxufVxuXG4iXX0=
@@ -8,7 +8,7 @@ import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
8
8
  import { MatDialog } from '@angular/material';
9
9
  import { MAT_DIALOG_DEFAULT_OPTIONS, MatDialogConfig } from '@angular/material/dialog';
10
10
  import { Router } from '@angular/router';
11
- import { DelegatingListModel, Dsl, lang, ValueModel } from '@coolon/pectin';
11
+ import { lang, MutableValueModel, ValueModel } from '@coolon/pectin';
12
12
  import { assert } from '@coolon/typescript-utilities';
13
13
  import { ActivityContainerComponent } from '../components/activity-container/activity-container.component';
14
14
  import { AlertDialogComponent } from '../components/alert-dialog/alert-dialog.component';
@@ -82,11 +82,9 @@ var DialogInteractionService = /** @class */ (function (_super) {
82
82
  _this.router = router;
83
83
  _this.dialogServiceDefaults = dialogServiceDefaults;
84
84
  _this.matDialogDefaultConfig = matDialogDefaultConfig;
85
- _this._activityList = new DelegatingListModel();
86
85
  _this.startingGuard = new Guard();
86
+ _this._inActivityPromise = new MutableValueModel(false);
87
87
  assert.notNil(dialogService);
88
- var _a = Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
89
- _this.active = chain(_this._activityList).isNotEmpty();
90
88
  return _this;
91
89
  }
92
90
  /**
@@ -96,23 +94,14 @@ var DialogInteractionService = /** @class */ (function (_super) {
96
94
  * @return {?}
97
95
  */
98
96
  function () {
99
- return this.active.value;
97
+ return this._inActivityPromise.value;
100
98
  };
101
- /**
102
- * @return {?}
103
- */
104
- DialogInteractionService.prototype.cancelActivity = /**
105
- * @return {?}
106
- */
107
- function () {
108
- this.currentActivity.cancel(null);
109
- };
110
- Object.defineProperty(DialogInteractionService.prototype, "activityList", {
99
+ Object.defineProperty(DialogInteractionService.prototype, "active", {
111
100
  get: /**
112
101
  * @return {?}
113
102
  */
114
103
  function () {
115
- return this._activityList.readonly;
104
+ return this._inActivityPromise.readonly;
116
105
  },
117
106
  enumerable: true,
118
107
  configurable: true
@@ -163,6 +152,7 @@ var DialogInteractionService = /** @class */ (function (_super) {
163
152
  */
164
153
  function () {
165
154
  console.log('###### STARTING');
155
+ _this._inActivityPromise.value = true;
166
156
  // this.currentActivityId = uuid.v1();
167
157
  // this.location.go(this.router.routerState.snapshot.url, "aup");
168
158
  /** @type {?} */
@@ -221,6 +211,7 @@ var DialogInteractionService = /** @class */ (function (_super) {
221
211
  * @return {?}
222
212
  */
223
213
  function () {
214
+ _this._inActivityPromise.value = false;
224
215
  console.log('###### FINISHED');
225
216
  // this.currentActivityId = null;
226
217
  self.safelyUpdateActivityListDelegate(null);
@@ -246,7 +237,7 @@ var DialogInteractionService = /** @class */ (function (_super) {
246
237
  setTimeout((/**
247
238
  * @return {?}
248
239
  */
249
- function () { return _this._activityList.setDelegate(delegate); }));
240
+ function () { return _this.setActivityList(delegate); }));
250
241
  };
251
242
  /**
252
243
  * @param {?} alert
@@ -264,7 +255,7 @@ var DialogInteractionService = /** @class */ (function (_super) {
264
255
  * @param {?} confirm
265
256
  * @return {?}
266
257
  */
267
- DialogInteractionService.prototype.confirm = /**
258
+ DialogInteractionService.prototype.confirmOrReject = /**
268
259
  * @param {?} confirm
269
260
  * @return {?}
270
261
  */
@@ -314,14 +305,12 @@ if (false) {
314
305
  * @type {?}
315
306
  * @private
316
307
  */
317
- DialogInteractionService.prototype._activityList;
308
+ DialogInteractionService.prototype.startingGuard;
318
309
  /**
319
310
  * @type {?}
320
311
  * @private
321
312
  */
322
- DialogInteractionService.prototype.startingGuard;
323
- /** @type {?} */
324
- DialogInteractionService.prototype.active;
313
+ DialogInteractionService.prototype._inActivityPromise;
325
314
  /**
326
315
  * @type {?}
327
316
  * @private
@@ -336,4 +325,4 @@ if (false) {
336
325
  /** @type {?} */
337
326
  DialogInteractionService.prototype.matDialogDefaultConfig;
338
327
  }
339
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUdMLG1CQUFtQixFQUNuQixHQUFHLEVBQ0gsSUFBSSxFQUVKLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUd0RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMzRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUU5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBRTVELE1BQU0sS0FBTyxtQ0FBbUMsR0FBRyxJQUFJLGNBQWMsQ0FBdUIscUNBQXFDLENBQUM7QUFFbEk7SUFBb0IsaUNBQW1CO0lBRXJDO2VBQ0Usa0JBQU0sRUFBRSxZ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QUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDOztnQkFwSEYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFuRFEsU0FBUztnQkFGVCxRQUFRO2dCQUlSLE1BQU07Z0JBRHNCLGVBQWUsdUJBNERyQyxRQUFRLFlBQUksTUFBTSxTQUFDLG1DQUFtQztnQkE1RGhDLGVBQWUsdUJBNkRyQyxRQUFRLFlBQUksTUFBTSxTQUFDLDBCQUEwQjs7O21DQWhFNUQ7Q0F3S0MsQUFySEQsQ0FHOEMsa0JBQWtCLEdBa0gvRDtTQWxIWSx3QkFBd0I7Ozs7OztJQUVuQyxpREFBK0U7Ozs7O0lBQy9FLGlEQUFvQzs7SUFDcEMsMENBQXdDOzs7OztJQUU1QixpREFBeUM7O0lBQ3pDLDRDQUEyQjs7SUFDM0IsMENBQXVCOztJQUN2Qix5REFBNkc7O0lBQzdHLDBEQUFxRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW4sXG4gIENvbnN0cnVjdGFibGUsXG4gIERlbGVnYXRpbmdMaXN0TW9kZWwsXG4gIERzbCxcbiAgbGFuZyxcbiAgTGlzdE1vZGVsLFxuICBWYWx1ZU1vZGVsXG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IGFzc2VydCB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4uL2FsZXJ0JztcbmltcG9ydCB7IEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm0gfSBmcm9tICcuLi9jb25maXJtJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5leHBvcnQgY29uc3QgRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW48TWF0RGlhbG9nQ29uZmlnPGFueT4+KCdESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUycpO1xuXG5jbGFzcyBHdWFyZCBleHRlbmRzIFZhbHVlTW9kZWw8Ym9vbGVhbj4ge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHsgaW5pdGlhbFZhbHVlOiBmYWxzZSB9KTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5yZWFkKCk7XG4gIH1cblxuICB3aGlsZVRydWU8Uj4oZnVuOiAoKSA9PiBSKTogUiB7XG4gICAgdGhpcy5zdGFydFRyYW5zYWN0aW9uKCkuY29tbWl0KHRydWUpO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gZnVuKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc3RhcnRUcmFuc2FjdGlvbigpLmNvbW1pdChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcnVuSWZGYWxzZTxSPihmdW46ICgpID0+IFIsIGRlZmF1bHRWYWx1ZTogUiA9IG51bGwpOiBSIHtcbiAgICByZXR1cm4gIXRoaXMudmFsdWUgPyBmdW4oKSA6IGRlZmF1bHRWYWx1ZTtcbiAgfVxufVxuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ0ludGVyYWN0aW9uU2VydmljZSBleHRlbmRzIEludGVyYWN0aW9uQ29udGV4dCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZpdHlMaXN0ID0gbmV3IERlbGVnYXRpbmdMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+PigpO1xuICBwcml2YXRlIHN0YXJ0aW5nR3VhcmQgPSBuZXcgR3VhcmQoKTtcbiAgcmVhZG9ubHkgYWN0aXZlOiBCb29sZWFuVmFsdWVNb2RlbENoYWluO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZTogTWF0RGlhbG9nLFxuICAgICAgICAgICAgICByZWFkb25seSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgICAgICAgICAgIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERJQUxPR19JTlRFUkFDVElPTl9TRVJWSUNFX0RFRkFVTFRTKSByZWFkb25seSBkaWFsb2dTZXJ2aWNlRGVmYXVsdHM6IE1hdERpYWxvZ0NvbmZpZzxhbnk+LFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TKSByZWFkb25seSBtYXREaWFsb2dEZWZhdWx0Q29uZmlnOiBNYXREaWFsb2dDb25maWc8YW55PlxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIGFzc2VydC5ub3ROaWwoZGlhbG9nU2VydmljZSk7XG4gICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLmFjdGl2ZSA9IGNoYWluKHRoaXMuX2FjdGl2aXR5TGlzdCkuaXNOb3RFbXB0eSgpO1xuICB9XG5cbiAgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlLnZhbHVlO1xuICB9XG5cbiAgY2FuY2VsQWN0aXZpdHkoKSB7XG4gICAgdGhpcy5jdXJyZW50QWN0aXZpdHkuY2FuY2VsKG51bGwpO1xuICB9XG5cbiAgZ2V0IGFjdGl2aXR5TGlzdCgpOiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2aXR5TGlzdC5yZWFkb25seTtcbiAgfVxuXG4gIHN0YXJ0QWN0aXZpdHk8RCwgUiwgRT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShhY3Rpdml0eVR5cGUsIGRhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhOiBELCBkaXNhYmxlQ2xvc2U6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgaWYgKHRoaXMuaXNBY3RpdmUoKSkge1xuICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoYEFjdGl2aXR5IGFscmVhZHkgaW4gcHJvZ3Jlc3M6ICR7dGhpcy5hY3Rpdml0eUxpc3QudmFsdWUubWFwKGEgPT4gYS5jb25zdHJ1Y3Rvci5uYW1lKS5qb2luKCcsICcpfWApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zdGFydGluZ0d1YXJkLndoaWxlVHJ1ZSgoKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygnIyMjIyMjICBTVEFSVElORycpO1xuICAgICAgLy8gdGhpcy5jdXJyZW50QWN0aXZpdHlJZCA9IHV1aWQudjEoKTtcbiAgICAgIC8vIHRoaXMubG9jYXRpb24uZ28odGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3QudXJsLCBcImF1cFwiKTtcblxuICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgICBjb25zdCBjb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHtcbiAgICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcbiAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcbiAgICAgICAgLi4udGhpcy5tYXREaWFsb2dEZWZhdWx0Q29uZmlnLFxuICAgICAgICAuLi50aGlzLmRpYWxvZ1NlcnZpY2VEZWZhdWx0cyxcbiAgICAgICAgLi4ue1xuICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgZGlzYWJsZUNsb3NlLFxuICAgICAgICAgIHBhbmVsQ2xhc3M6ICdkaWFsb2ctaW50ZXJhY3Rpb24tc2VydmljZSdcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGNvbnN0IG1hdERpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LCBjb25maWcpIGFzIE1hdERpYWxvZ1JlZjxBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudDxELCBSLCBFPj47XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8Uj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBjb25zdCBhY3Rpdml0eUNvbnRhaW5lciA9IG1hdERpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICAgICAgc2VsZi5zYWZlbHlVcGRhdGVBY3Rpdml0eUxpc3REZWxlZ2F0ZShhY3Rpdml0eUNvbnRhaW5lci5hY3Rpdml0eUxpc3QpO1xuXG4gICAgICAgIGFjdGl2aXR5Q29udGFpbmVyLmluaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQgPSB7XG4gICAgICAgICAgYWN0aXZpdHlDbGFzczogYWN0aXZpdHlUeXBlLFxuICAgICAgICAgIGFjdGl2aXR5RGF0YTogZGF0YSxcbiAgICAgICAgICBvbkRvbmUocmVzdWx0KSB7XG4gICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICBtYXREaWFsb2dSZWYuY2xvc2UodHJ1ZSk7IC8vIHJldHVybiB0cnVlIHRvIGxldCB0aGUgYWZ0ZXIgY2xvc2UgbGlzdGVuZXIga25vdyB3ZSd2ZSBhbHJlYWR5IGhhbmRsZWQgaXQuXG4gICAgICAgICAgfSxcbiAgICAgICAgICBvbkNhbmNlbChlcnJvcikge1xuICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgIG1hdERpYWxvZ1JlZi5jbG9zZSh0cnVlKTsgLy8gcmV0dXJuIHRydWUgdG8gbGV0IHRoZSBhZnRlciBjbG9zZSBsaXN0ZW5lciBrbm93IHdlJ3ZlIGFscmVhZHkgaGFuZGxlZCBpdC5cbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIC8vIHdlIG5lZWQgdG8gY2hlY2sgaWYgb3VyIG9uRG9uZS9vbkNhbmNlbCBtZXRob2RzIGFib3ZlIHdlIGNhbGxlZCBvciBpZiB3ZSB3ZXJlXG4gICAgICAgIC8vIGNsb3NlZCBieSB0aGUgdXNlciBjbGlja2luZyB0aGUgYmFja2Ryb3AuICBJZiB0aGUgbGF0ZXIgdGhlbiB3ZSBuZWVkIHRvIHJlamVjdFxuICAgICAgICAvLyBvdXIgcHJvbWlzZS5cbiAgICAgICAgbWF0RGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHByb21pc2VBbHJlYWR5RmluaXNoZWQgPT4ge1xuICAgICAgICAgIGlmICghcHJvbWlzZUFscmVhZHlGaW5pc2hlZCkge1xuICAgICAgICAgICAgcmVqZWN0KCdhdXRvLWNsb3NlZCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIG1hdERpYWxvZ1JlZi51cGRhdGVTaXplKCk7XG4gICAgICB9KS5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJyMjIyMjIyAgRklOSVNIRUQnKTtcbiAgICAgICAgLy8gdGhpcy5jdXJyZW50QWN0aXZpdHlJZCA9IG51bGw7XG4gICAgICAgIHNlbGYuc2FmZWx5VXBkYXRlQWN0aXZpdHlMaXN0RGVsZWdhdGUobnVsbCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRlaCBkZWxlZ2F0ZSBvbiB0aGUgbmV4dCB0aWNrIHRvIGF2b2lkIG1vZGlmeWluZyBzdGF0ZSBkdXJpbmcgdGhlIGN1cnJlbnQgY2hhbmdlIGRldGVjdGlvbiBjeWNsZS5cbiAgICogQHBhcmFtIGRlbGVnYXRlXG4gICAqL1xuICBzYWZlbHlVcGRhdGVBY3Rpdml0eUxpc3REZWxlZ2F0ZShkZWxlZ2F0ZTogTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55Pj4pIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX2FjdGl2aXR5TGlzdC5zZXREZWxlZ2F0ZShkZWxlZ2F0ZSkpO1xuICB9XG5cbiAgYWxlcnQoYWxlcnQ6IEFsZXJ0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gVE9ETzogVGVzdCBkaXNhYmxlQ2xvc2UgPT09IGZhbHNlXG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0QWN0aXZpdHkoQWxlcnREaWFsb2dDb21wb25lbnQsIGFsZXJ0LCBmYWxzZSk7XG4gIH1cblxuICBjb25maXJtKGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIGNvbmZpcm0sIHRydWUpO1xuICB9XG5cbiAgY29uZmlybVRoZW48RCwgUiwgRT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eTxDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudC5EYXRhPEQsIFIsIEU+LCBSLCBFPihDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgY29uZmlybSxcbiAgICAgIGFjdGl2aXR5VHlwZTogYWN0aXZpdHlUeXBlLFxuICAgICAgZGF0YTogZGF0YVxuICAgIH0sIHRydWUpO1xuICB9XG59XG4iXX0=
328
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUtMLElBQUksRUFFSixpQkFBaUIsRUFDakIsVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3RELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBRTlHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7QUFFNUQsTUFBTSxLQUFPLG1DQUFtQyxHQUFHLElBQUksY0FBYyxDQUF1QixxQ0FBcUMsQ0FBQztBQUVsSTtJQUFvQixpQ0FBbUI7SUFFckM7ZUFDRSxrQkFBTSxFQUFFLFlBQVksRUFBRSxL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aEMsZUFBZSx1QkE2RHJDLFFBQVEsWUFBSSxNQUFNLFNBQUMsMEJBQTBCOzs7bUNBaEU1RDtDQW9LQyxBQWhIRCxDQUc4QyxrQkFBa0IsR0E2Ry9EO1NBN0dZLHdCQUF3Qjs7Ozs7O0lBRW5DLGlEQUFvQzs7Ozs7SUFDcEMsc0RBQTRFOzs7OztJQUVoRSxpREFBeUM7O0lBQ3pDLDRDQUEyQjs7SUFDM0IsMENBQXVCOztJQUN2Qix5REFBNkc7O0lBQzdHLDBEQUFxRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW4sXG4gIENvbnN0cnVjdGFibGUsXG4gIERlbGVnYXRpbmdMaXN0TW9kZWwsXG4gIERzbCxcbiAgbGFuZyxcbiAgTGlzdE1vZGVsLFxuICBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbFxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHknO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICcuLi9hbGVydCc7XG5pbXBvcnQgeyBBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWxlcnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25maXJtLXRoZW4tZGlhbG9nL2NvbmZpcm0tdGhlbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi4vY29uZmlybSc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuLi9pbnRlcmFjdGlvbi1jb250ZXh0JztcblxuZXhwb3J0IGNvbnN0IERJQUxPR19JTlRFUkFDVElPTl9TRVJWSUNFX0RFRkFVTFRTID0gbmV3IEluamVjdGlvblRva2VuPE1hdERpYWxvZ0NvbmZpZzxhbnk+PignRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMnKTtcblxuY2xhc3MgR3VhcmQgZXh0ZW5kcyBWYWx1ZU1vZGVsPGJvb2xlYW4+IHtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7IGluaXRpYWxWYWx1ZTogZmFsc2UgfSk7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUucmVhZCgpO1xuICB9XG5cbiAgd2hpbGVUcnVlPFI+KGZ1bjogKCkgPT4gUik6IFIge1xuICAgIHRoaXMuc3RhcnRUcmFuc2FjdGlvbigpLmNvbW1pdCh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGZ1bigpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXJ0VHJhbnNhY3Rpb24oKS5jb21taXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHJ1bklmRmFsc2U8Uj4oZnVuOiAoKSA9PiBSLCBkZWZhdWx0VmFsdWU6IFIgPSBudWxsKTogUiB7XG4gICAgcmV0dXJuICF0aGlzLnZhbHVlID8gZnVuKCkgOiBkZWZhdWx0VmFsdWU7XG4gIH1cbn1cblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dJbnRlcmFjdGlvblNlcnZpY2UgZXh0ZW5kcyBJbnRlcmFjdGlvbkNvbnRleHQge1xuXG4gIHByaXZhdGUgc3RhcnRpbmdHdWFyZCA9IG5ldyBHdWFyZCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbkFjdGl2aXR5UHJvbWlzZSA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBNYXREaWFsb2csXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICAgICAgICAgICAgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMpIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2VEZWZhdWx0czogTWF0RGlhbG9nQ29uZmlnPGFueT4sXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMpIHJlYWRvbmx5IG1hdERpYWxvZ0RlZmF1bHRDb25maWc6IE1hdERpYWxvZ0NvbmZpZzxhbnk+XG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgYXNzZXJ0Lm5vdE5pbChkaWFsb2dTZXJ2aWNlKTtcbiAgfVxuXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pbkFjdGl2aXR5UHJvbWlzZS52YWx1ZTtcbiAgfVxuXG4gIGdldCBhY3RpdmUoKTogVmFsdWVNb2RlbDxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2luQWN0aXZpdHlQcm9taXNlLnJlYWRvbmx5O1xuICB9XG5cbiAgc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KGFjdGl2aXR5VHlwZSwgZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIF9zdGFydEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE6IEQsIGRpc2FibGVDbG9zZTogYm9vbGVhbiA9IHRydWUpIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSgpKSB7XG4gICAgICBsYW5nLmlsbGVnYWxTdGF0ZShgQWN0aXZpdHkgYWxyZWFkeSBpbiBwcm9ncmVzczogJHt0aGlzLmFjdGl2aXR5TGlzdC52YWx1ZS5tYXAoYSA9PiBhLmNvbnN0cnVjdG9yLm5hbWUpLmpvaW4oJywgJyl9YCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnN0YXJ0aW5nR3VhcmQud2hpbGVUcnVlKCgpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCcjIyMjIyMgIFNUQVJUSU5HJyk7XG4gICAgICB0aGlzLl9pbkFjdGl2aXR5UHJvbWlzZS52YWx1ZSA9IHRydWU7XG4gICAgICAvLyB0aGlzLmN1cnJlbnRBY3Rpdml0eUlkID0gdXVpZC52MSgpO1xuICAgICAgLy8gdGhpcy5sb2NhdGlvbi5nbyh0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmwsIFwiYXVwXCIpO1xuXG4gICAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICAgIGNvbnN0IGNvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0ge1xuICAgICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxuICAgICAgICAuLi50aGlzLm1hdERpYWxvZ0RlZmF1bHRDb25maWcsXG4gICAgICAgIC4uLnRoaXMuZGlhbG9nU2VydmljZURlZmF1bHRzLFxuICAgICAgICAuLi57XG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBkaXNhYmxlQ2xvc2UsXG4gICAgICAgICAgcGFuZWxDbGFzczogJ2RpYWxvZy1pbnRlcmFjdGlvbi1zZXJ2aWNlJ1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgY29uc3QgbWF0RGlhbG9nUmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQsIGNvbmZpZykgYXMgTWF0RGlhbG9nUmVmPEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PEQsIFIsIEU+PjtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxSPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IGFjdGl2aXR5Q29udGFpbmVyID0gbWF0RGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgICAgICBzZWxmLnNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdERlbGVnYXRlKGFjdGl2aXR5Q29udGFpbmVyLmFjdGl2aXR5TGlzdCk7XG5cbiAgICAgICAgYWN0aXZpdHlDb250YWluZXIuaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCA9IHtcbiAgICAgICAgICBhY3Rpdml0eUNsYXNzOiBhY3Rpdml0eVR5cGUsXG4gICAgICAgICAgYWN0aXZpdHlEYXRhOiBkYXRhLFxuICAgICAgICAgIG9uRG9uZShyZXN1bHQpIHtcbiAgICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICAgIG1hdERpYWxvZ1JlZi5jbG9zZSh0cnVlKTsgLy8gcmV0dXJuIHRydWUgdG8gbGV0IHRoZSBhZnRlciBjbG9zZSBsaXN0ZW5lciBrbm93IHdlJ3ZlIGFscmVhZHkgaGFuZGxlZCBpdC5cbiAgICAgICAgICB9LFxuICAgICAgICAgIG9uQ2FuY2VsKGVycm9yKSB7XG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgbWF0RGlhbG9nUmVmLmNsb3NlKHRydWUpOyAvLyByZXR1cm4gdHJ1ZSB0byBsZXQgdGhlIGFmdGVyIGNsb3NlIGxpc3RlbmVyIGtub3cgd2UndmUgYWxyZWFkeSBoYW5kbGVkIGl0LlxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgLy8gd2UgbmVlZCB0byBjaGVjayBpZiBvdXIgb25Eb25lL29uQ2FuY2VsIG1ldGhvZHMgYWJvdmUgd2UgY2FsbGVkIG9yIGlmIHdlIHdlcmVcbiAgICAgICAgLy8gY2xvc2VkIGJ5IHRoZSB1c2VyIGNsaWNraW5nIHRoZSBiYWNrZHJvcC4gIElmIHRoZSBsYXRlciB0aGVuIHdlIG5lZWQgdG8gcmVqZWN0XG4gICAgICAgIC8vIG91ciBwcm9taXNlLlxuICAgICAgICBtYXREaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocHJvbWlzZUFscmVhZHlGaW5pc2hlZCA9PiB7XG4gICAgICAgICAgaWYgKCFwcm9taXNlQWxyZWFkeUZpbmlzaGVkKSB7XG4gICAgICAgICAgICByZWplY3QoJ2F1dG8tY2xvc2VkJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbWF0RGlhbG9nUmVmLnVwZGF0ZVNpemUoKTtcbiAgICAgIH0pLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICB0aGlzLl9pbkFjdGl2aXR5UHJvbWlzZS52YWx1ZSA9IGZhbHNlO1xuICAgICAgICBjb25zb2xlLmxvZygnIyMjIyMjICBGSU5JU0hFRCcpO1xuICAgICAgICAvLyB0aGlzLmN1cnJlbnRBY3Rpdml0eUlkID0gbnVsbDtcbiAgICAgICAgc2VsZi5zYWZlbHlVcGRhdGVBY3Rpdml0eUxpc3REZWxlZ2F0ZShudWxsKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGVoIGRlbGVnYXRlIG9uIHRoZSBuZXh0IHRpY2sgdG8gYXZvaWQgbW9kaWZ5aW5nIHN0YXRlIGR1cmluZyB0aGUgY3VycmVudCBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLlxuICAgKiBAcGFyYW0gZGVsZWdhdGVcbiAgICovXG4gIHNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdERlbGVnYXRlKGRlbGVnYXRlOiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+Pikge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZXRBY3Rpdml0eUxpc3QoZGVsZWdhdGUpKTtcbiAgfVxuXG4gIGFsZXJ0KGFsZXJ0OiBBbGVydCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIFRPRE86IFRlc3QgZGlzYWJsZUNsb3NlID09PSBmYWxzZVxuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KEFsZXJ0RGlhbG9nQ29tcG9uZW50LCBhbGVydCwgZmFsc2UpO1xuICB9XG5cbiAgY29uZmlybU9yUmVqZWN0KGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIGNvbmZpcm0sIHRydWUpO1xuICB9XG5cbiAgY29uZmlybVRoZW48RCwgUiwgRT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eTxDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudC5EYXRhPEQsIFIsIEU+LCBSLCBFPihDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgY29uZmlybSxcbiAgICAgIGFjdGl2aXR5VHlwZTogYWN0aXZpdHlUeXBlLFxuICAgICAgZGF0YTogZGF0YVxuICAgIH0sIHRydWUpO1xuICB9XG59XG4iXX0=