@coolon/angular-ui-powerups 0.0.62 → 0.0.65

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 (46) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +738 -582
  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 +10 -10
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/coolon-angular-ui-powerups.js +10 -10
  8. package/esm2015/index.js +2 -2
  9. package/esm2015/lib/interaction/abstract-activity.js +5 -68
  10. package/esm2015/lib/interaction/activity.js +71 -11
  11. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +213 -120
  12. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet-context.js +6 -7
  13. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.js +19 -43
  14. package/esm2015/lib/interaction/index.js +2 -2
  15. package/esm2015/lib/interaction/interaction-context.js +15 -10
  16. package/esm2015/lib/interaction/services/dialog-interaction.service.js +99 -86
  17. package/esm2015/lib/place/guards/leave-place.guard.js +95 -115
  18. package/esm2015/lib/place/place-router.js +87 -6
  19. package/esm2015/public_api.js +2 -2
  20. package/esm5/coolon-angular-ui-powerups.js +10 -10
  21. package/esm5/index.js +2 -2
  22. package/esm5/lib/interaction/abstract-activity.js +10 -96
  23. package/esm5/lib/interaction/activity.js +110 -11
  24. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +285 -143
  25. package/esm5/lib/interaction/components/activity-outlet/activity-outlet-context.js +6 -7
  26. package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.js +19 -67
  27. package/esm5/lib/interaction/index.js +2 -2
  28. package/esm5/lib/interaction/interaction-context.js +24 -21
  29. package/esm5/lib/interaction/services/dialog-interaction.service.js +120 -85
  30. package/esm5/lib/place/guards/leave-place.guard.js +53 -123
  31. package/esm5/lib/place/place-router.js +96 -6
  32. package/esm5/public_api.js +2 -2
  33. package/fesm2015/coolon-angular-ui-powerups.js +591 -449
  34. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  35. package/fesm5/coolon-angular-ui-powerups.js +711 -556
  36. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  37. package/lib/interaction/abstract-activity.d.ts +4 -13
  38. package/lib/interaction/activity.d.ts +13 -6
  39. package/lib/interaction/components/activity-container/activity-container.component.d.ts +37 -25
  40. package/lib/interaction/components/activity-outlet/activity-outlet-context.d.ts +2 -5
  41. package/lib/interaction/components/activity-outlet/activity-outlet.component.d.ts +1 -10
  42. package/lib/interaction/interaction-context.d.ts +7 -7
  43. package/lib/interaction/services/dialog-interaction.service.d.ts +5 -6
  44. package/lib/place/guards/leave-place.guard.d.ts +6 -7
  45. package/lib/place/place-router.d.ts +14 -1
  46. package/package.json +1 -1
@@ -5,6 +5,7 @@
5
5
  import { Component, ComponentFactoryResolver, Injector, Input, ViewContainerRef } from '@angular/core';
6
6
  import { ACTIVITY_DATA } from '../../activity';
7
7
  import { InteractionContext } from '../../interaction-context';
8
+ import { assert } from '@coolon/pectin';
8
9
  /**
9
10
  * ActivityOutletComponent creates and displays an activity and delegates the interaction context functionality to an
10
11
  * external service.
@@ -29,9 +30,17 @@ export class ActivityOutletComponent {
29
30
  * @return {?}
30
31
  */
31
32
  set activityContext(activityContext) {
33
+ assert.isNil(this._activityContext);
34
+ this._activityContext = activityContext;
32
35
  this.loadActivity(activityContext);
33
36
  }
34
37
  ;
38
+ /**
39
+ * @return {?}
40
+ */
41
+ get activityContext() {
42
+ return this._activityContext;
43
+ }
35
44
  /**
36
45
  * @return {?}
37
46
  */
@@ -47,7 +56,7 @@ export class ActivityOutletComponent {
47
56
  providers: [
48
57
  {
49
58
  provide: InteractionContext,
50
- useValue: this
59
+ useValue: this.interactionContext
51
60
  },
52
61
  { provide: ACTIVITY_DATA, useValue: activityContext.activityData }
53
62
  ],
@@ -58,6 +67,9 @@ export class ActivityOutletComponent {
58
67
  this.viewContainerRef.clear();
59
68
  this.activityComponentRef = this.viewContainerRef.createComponent(componentFactory, 0, injector);
60
69
  this.activityComponentRef.instance.initialise(activityContext);
70
+ if (this.activityContext.componentReady) {
71
+ this.activityContext.componentReady(this.component);
72
+ }
61
73
  }
62
74
  /**
63
75
  * @return {?}
@@ -65,47 +77,6 @@ export class ActivityOutletComponent {
65
77
  get component() {
66
78
  return this.activityComponentRef.instance;
67
79
  }
68
- /**
69
- * @param {?} alert
70
- * @return {?}
71
- */
72
- alert(alert) {
73
- return this.interactionContext.alert(alert);
74
- }
75
- /**
76
- * @param {?} confirm
77
- * @return {?}
78
- */
79
- confirm(confirm) {
80
- return this.interactionContext.confirm(confirm);
81
- }
82
- /**
83
- * @template D1, R1, E1
84
- * @param {?} confirm
85
- * @param {?} activityType
86
- * @param {?=} data
87
- * @return {?}
88
- */
89
- confirmThen(confirm, activityType, data) {
90
- return this.interactionContext.confirmThen(confirm, activityType, data);
91
- }
92
- /**
93
- * @template D1, R1, E1
94
- * @param {?} activityType
95
- * @param {?=} data
96
- * @return {?}
97
- */
98
- startActivity(activityType, data) {
99
- return this.interactionContext.startActivity(activityType, data);
100
- }
101
- /**
102
- * @return {?}
103
- */
104
- notifyReady() {
105
- if (this.activityComponentRef.instance['onActivityReady']) {
106
- this.activityComponentRef.instance['onActivityReady']();
107
- }
108
- }
109
80
  }
110
81
  ActivityOutletComponent.decorators = [
111
82
  { type: Component, args: [{
@@ -127,6 +98,11 @@ ActivityOutletComponent.propDecorators = {
127
98
  if (false) {
128
99
  /** @type {?} */
129
100
  ActivityOutletComponent.prototype.interactionContext;
101
+ /**
102
+ * @type {?}
103
+ * @private
104
+ */
105
+ ActivityOutletComponent.prototype._activityContext;
130
106
  /**
131
107
  * @type {?}
132
108
  * @private
@@ -149,4 +125,4 @@ if (false) {
149
125
  ActivityOutletComponent.prototype.injector;
150
126
  /* Skipping unhandled member: ;*/
151
127
  }
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHdCQUF3QixFQUV4QixRQUFRLEVBQ1IsS0FBSyxFQUVMLGdCQUFnQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQVksYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7OztBQWUvRCxNQUFNLE9BQU8sdUJBQXVCOzs7Ozs7SUFZbEMsWUFDVSx3QkFBa0QsRUFDbEQsZ0JBQWtDLEVBQ2xDLFFBQWtCO1FBRmxCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBRTVCLENBQUM7Ozs7O0lBWkQsSUFDSSxlQUFlLENBQUMsZUFBK0M7UUFDakUsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQUEsQ0FBQzs7OztJQVdGLFFBQVE7SUFDUixDQUFDOzs7OztJQUVELFlBQVksQ0FBQyxlQUErQzs7Y0FDcEQsUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDL0IsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxrQkFBa0I7b0JBQzNCLFFBQVEsRUFBRSxJQUFJO2lCQUNmO2dCQUNELEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsZUFBZSxDQUFDLFlBQVksRUFBRTthQUNuRTtZQUNELE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN0QixDQUFDOztjQUNJLGdCQUFnQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO1FBQzdHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDakcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakUsQ0FBQzs7OztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQztJQUM1QyxDQUFDOzs7OztJQUVELEtBQUssQ0FBQyxLQUFZO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7OztJQUVELE9BQU8sQ0FBQyxPQUFnQjtRQUN0QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7Ozs7Ozs7SUFFRCxXQUFXLENBQWEsT0FBZ0IsRUFBRSxZQUFpRCxFQUFFLElBQVM7UUFDcEcsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUUsQ0FBQzs7Ozs7OztJQUVELGFBQWEsQ0FBYSxZQUFpRCxFQUFFLElBQVM7UUFDcEYsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRSxDQUFDOzs7O0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQ3pELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQzs7O1lBcEVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUscUNBQXFDO2dCQUMvQyxRQUFRLEVBQUUsRUFBRTs7YUFFYjs7OztZQXpCQyx3QkFBd0I7WUFLeEIsZ0JBQWdCO1lBSGhCLFFBQVE7OztpQ0EwQlAsS0FBSzs4QkFHTCxLQUFLOzs7O0lBSE4scURBQ3VDOzs7OztJQU92Qyx1REFBOEQ7Ozs7O0lBRzVELDJEQUEwRDs7Ozs7SUFDMUQsbURBQTBDOzs7OztJQUMxQywyQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnN0cnVjdGFibGUsIGxhbmcsIFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgQWN0aXZpdHksIEFDVElWSVRZX0RBVEEgfSBmcm9tICcuLi8uLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4uLy4uL2FsZXJ0JztcbmltcG9ydCB7IENvbmZpcm0gfSBmcm9tICcuLi8uLi9jb25maXJtJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHsgQWN0aXZpdHlPdXRsZXRDb250ZXh0IH0gZnJvbSAnLi9hY3Rpdml0eS1vdXRsZXQtY29udGV4dCc7XG5cbi8qKlxuICogQWN0aXZpdHlPdXRsZXRDb21wb25lbnQgY3JlYXRlcyBhbmQgZGlzcGxheXMgYW4gYWN0aXZpdHkgYW5kIGRlbGVnYXRlcyB0aGUgaW50ZXJhY3Rpb24gY29udGV4dCBmdW5jdGlvbmFsaXR5IHRvIGFuXG4gKiBleHRlcm5hbCBzZXJ2aWNlLlxuICpcbiAqIEl0IG1pZ2h0IGJlIG5pY2UgdG8gaGF2ZSB3cmFwcGVyIGNvbXBvbmVudCB0aGF0IGFsbG93cyBtb3JlIGRlY2xhcmF0aXZlIHVzZSwgaS5lLlxuICogPGFjdGl2aXR5LXZpZXcgW2FjdGl2aXR5Q2xhc3NdPVwiLi4uXCIsIFthY3Rpdml0eURhdGFdPVwiLi4uXCIgKGRvbmUpPVwiLi5cIiAoY2FuY2VsKT1cIi4uLlwiPjwvYWN0aXZpdHktdmlldz5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci11aS1wb3dlcnVwcy1hY3Rpdml0eS1vdXRsZXQnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogWycuL2FjdGl2aXR5LW91dGxldC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5T3V0bGV0Q29tcG9uZW50PEQsIFIsIEU+IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBpbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dDtcblxuICBASW5wdXQoKVxuICBzZXQgYWN0aXZpdHlDb250ZXh0KGFjdGl2aXR5Q29udGV4dDogQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+KSB7XG4gICAgdGhpcy5sb2FkQWN0aXZpdHkoYWN0aXZpdHlDb250ZXh0KTtcbiAgfTtcblxuICBwcml2YXRlIGFjdGl2aXR5Q29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8QWN0aXZpdHk8RCwgUiwgRT4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBsb2FkQWN0aXZpdHkoYWN0aXZpdHlDb250ZXh0OiBBY3Rpdml0eU91dGxldENvbnRleHQ8RCwgUiwgRT4pIHtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEludGVyYWN0aW9uQ29udGV4dCxcbiAgICAgICAgICB1c2VWYWx1ZTogdGhpc1xuICAgICAgICB9LFxuICAgICAgICB7IHByb3ZpZGU6IEFDVElWSVRZX0RBVEEsIHVzZVZhbHVlOiBhY3Rpdml0eUNvbnRleHQuYWN0aXZpdHlEYXRhIH1cbiAgICAgIF0sXG4gICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3JcbiAgICB9KTtcbiAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoYWN0aXZpdHlDb250ZXh0LmFjdGl2aXR5Q2xhc3MpO1xuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgIHRoaXMuYWN0aXZpdHlDb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnksIDAsIGluamVjdG9yKTtcbiAgICB0aGlzLmFjdGl2aXR5Q29tcG9uZW50UmVmLmluc3RhbmNlLmluaXRpYWxpc2UoYWN0aXZpdHlDb250ZXh0KTtcbiAgfVxuXG4gIGdldCBjb21wb25lbnQoKTpBY3Rpdml0eTxELFIsRT4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5Q29tcG9uZW50UmVmLmluc3RhbmNlO1xuICB9XG5cbiAgYWxlcnQoYWxlcnQ6IEFsZXJ0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0LmFsZXJ0KGFsZXJ0KTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmludGVyYWN0aW9uQ29udGV4dC5jb25maXJtKGNvbmZpcm0pO1xuICB9XG5cbiAgY29uZmlybVRoZW48RDEsIFIxLCBFMT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YT86IEQxKTogUHJvbWlzZTxSMT4ge1xuICAgIHJldHVybiB0aGlzLmludGVyYWN0aW9uQ29udGV4dC5jb25maXJtVGhlbihjb25maXJtLCBhY3Rpdml0eVR5cGUsIGRhdGEpO1xuICB9XG5cbiAgc3RhcnRBY3Rpdml0eTxEMSwgUjEsIEUxPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RDEsIFIxLCBFMT4+LCBkYXRhPzogRDEpOiBQcm9taXNlPFIxPiB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0LnN0YXJ0QWN0aXZpdHkoYWN0aXZpdHlUeXBlLCBkYXRhKTtcbiAgfVxuXG4gIG5vdGlmeVJlYWR5KCkge1xuICAgIGlmICh0aGlzLmFjdGl2aXR5Q29tcG9uZW50UmVmLmluc3RhbmNlWydvbkFjdGl2aXR5UmVhZHknXSkge1xuICAgICAgdGhpcy5hY3Rpdml0eUNvbXBvbmVudFJlZi5pbnN0YW5jZVsnb25BY3Rpdml0eVJlYWR5J10oKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBY3Rpdml0eU91dGxldENvbXBvbmVudCB7XG5cbiAgLy8gZXhwb3J0IGNsYXNzIE91dGxldEludGVyYWN0aW9uQ29udGV4dDxELCBSLCBFPiBpbXBsZW1lbnRzIEludGVyYWN0aW9uQ29udGV4dCB7XG4gIC8vXG4gIC8vICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjb250ZXh0OiBBY3Rpdml0eU91dGxldENvbnRleHQ8RCwgUiwgRT4pIHtcbiAgLy8gICB9XG4gIC8vXG4gIC8vICAgYWxlcnQoYWxlcnQ6IEFsZXJ0KTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vICAgICByZXR1cm4gbGFuZy5ub3RJbXBsZW1lbnRlZCgpO1xuICAvLyAgIH1cbiAgLy9cbiAgLy8gICBjb25maXJtKGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgLy8gICAgIHJldHVybiBsYW5nLm5vdEltcGxlbWVudGVkKCk7XG4gIC8vICAgfVxuICAvL1xuICAvLyAgIGNvbmZpcm1UaGVuPEQxLCBSMSwgRTE+KGNvbmZpcm06IENvbmZpcm0sIGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxEMSwgUjEsIEUxPj4sIGRhdGE/OiBEMSk6IFByb21pc2U8UjE+IHtcbiAgLy8gICAgIHJldHVybiBsYW5nLm5vdEltcGxlbWVudGVkKCk7XG4gIC8vICAgfVxuICAvL1xuICAvL1xuICAvLyAgIHN0YXJ0QWN0aXZpdHk8RDEsIFIxLCBFMT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YT86IEQxKTogUHJvbWlzZTxSMT4ge1xuICAvLyAgICAgcmV0dXJuIGxhbmcubm90SW1wbGVtZW50ZWQoKTtcbiAgLy8gICB9XG4gIC8vIH1cblxufVxuIl19
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHdCQUF3QixFQUV4QixRQUFRLEVBQ1IsS0FBSyxFQUVMLGdCQUFnQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQVksYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFjeEMsTUFBTSxPQUFPLHVCQUF1Qjs7Ozs7O0lBbUJsQyxZQUNVLHdCQUFrRCxFQUNsRCxnQkFBa0MsRUFDbEMsUUFBa0I7UUFGbEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQVU7SUFFNUIsQ0FBQzs7Ozs7SUFsQkQsSUFDSSxlQUFlLENBQUMsZUFBK0M7UUFDakUsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUFBLENBQUM7Ozs7SUFDRixJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQzs7OztJQVlELFFBQVE7SUFDUixDQUFDOzs7OztJQUVELFlBQVksQ0FBQyxlQUErQzs7Y0FDcEQsUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDL0IsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxrQkFBa0I7b0JBQzNCLFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCO2lCQUNsQztnQkFDRCxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLGVBQWUsQ0FBQyxZQUFZLEVBQUU7YUFDbkU7WUFDRCxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDdEIsQ0FBQzs7Y0FDSSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQztRQUM3RyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2pHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQy9ELElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQzs7OztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQztJQUM1QyxDQUFDOzs7WUF4REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQ0FBcUM7Z0JBQy9DLFFBQVEsRUFBRSxFQUFFOzthQUViOzs7O1lBdkJDLHdCQUF3QjtZQUt4QixnQkFBZ0I7WUFIaEIsUUFBUTs7O2lDQXdCUCxLQUFLOzhCQUlMLEtBQUs7Ozs7SUFKTixxREFDdUM7Ozs7O0lBQ3ZDLG1EQUF5RDs7Ozs7SUFhekQsdURBQThEOzs7OztJQUc1RCwyREFBMEQ7Ozs7O0lBQzFELG1EQUEwQzs7Ozs7SUFDMUMsMkNBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIENvbXBvbmVudFJlZixcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpdml0eSwgQUNUSVZJVFlfREFUQSB9IGZyb20gJy4uLy4uL2FjdGl2aXR5JztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHsgQWN0aXZpdHlPdXRsZXRDb250ZXh0IH0gZnJvbSAnLi9hY3Rpdml0eS1vdXRsZXQtY29udGV4dCc7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5cbi8qKlxuICogQWN0aXZpdHlPdXRsZXRDb21wb25lbnQgY3JlYXRlcyBhbmQgZGlzcGxheXMgYW4gYWN0aXZpdHkgYW5kIGRlbGVnYXRlcyB0aGUgaW50ZXJhY3Rpb24gY29udGV4dCBmdW5jdGlvbmFsaXR5IHRvIGFuXG4gKiBleHRlcm5hbCBzZXJ2aWNlLlxuICpcbiAqIEl0IG1pZ2h0IGJlIG5pY2UgdG8gaGF2ZSB3cmFwcGVyIGNvbXBvbmVudCB0aGF0IGFsbG93cyBtb3JlIGRlY2xhcmF0aXZlIHVzZSwgaS5lLlxuICogPGFjdGl2aXR5LXZpZXcgW2FjdGl2aXR5Q2xhc3NdPVwiLi4uXCIsIFthY3Rpdml0eURhdGFdPVwiLi4uXCIgKGRvbmUpPVwiLi5cIiAoY2FuY2VsKT1cIi4uLlwiPjwvYWN0aXZpdHktdmlldz5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci11aS1wb3dlcnVwcy1hY3Rpdml0eS1vdXRsZXQnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogWycuL2FjdGl2aXR5LW91dGxldC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5T3V0bGV0Q29tcG9uZW50PEQsIFIsIEU+IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBpbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dDtcbiAgcHJpdmF0ZSBfYWN0aXZpdHlDb250ZXh0OiBBY3Rpdml0eU91dGxldENvbnRleHQ8RCwgUiwgRT47XG5cbiAgQElucHV0KClcbiAgc2V0IGFjdGl2aXR5Q29udGV4dChhY3Rpdml0eUNvbnRleHQ6IEFjdGl2aXR5T3V0bGV0Q29udGV4dDxELCBSLCBFPikge1xuICAgIGFzc2VydC5pc05pbCh0aGlzLl9hY3Rpdml0eUNvbnRleHQpO1xuICAgIHRoaXMuX2FjdGl2aXR5Q29udGV4dCA9IGFjdGl2aXR5Q29udGV4dDtcbiAgICB0aGlzLmxvYWRBY3Rpdml0eShhY3Rpdml0eUNvbnRleHQpO1xuICB9O1xuICBnZXQgYWN0aXZpdHlDb250ZXh0KCk6QWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsUixFPiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2aXR5Q29udGV4dDtcbiAgfVxuXG5cbiAgcHJpdmF0ZSBhY3Rpdml0eUNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPEFjdGl2aXR5PEQsIFIsIEU+PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgbG9hZEFjdGl2aXR5KGFjdGl2aXR5Q29udGV4dDogQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+KSB7XG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBJbnRlcmFjdGlvbkNvbnRleHQsXG4gICAgICAgICAgdXNlVmFsdWU6IHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0XG4gICAgICAgIH0sXG4gICAgICAgIHsgcHJvdmlkZTogQUNUSVZJVFlfREFUQSwgdXNlVmFsdWU6IGFjdGl2aXR5Q29udGV4dC5hY3Rpdml0eURhdGEgfVxuICAgICAgXSxcbiAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvclxuICAgIH0pO1xuICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShhY3Rpdml0eUNvbnRleHQuYWN0aXZpdHlDbGFzcyk7XG4gICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgdGhpcy5hY3Rpdml0eUNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSwgMCwgaW5qZWN0b3IpO1xuICAgIHRoaXMuYWN0aXZpdHlDb21wb25lbnRSZWYuaW5zdGFuY2UuaW5pdGlhbGlzZShhY3Rpdml0eUNvbnRleHQpO1xuICAgIGlmICh0aGlzLmFjdGl2aXR5Q29udGV4dC5jb21wb25lbnRSZWFkeSkge1xuICAgICAgdGhpcy5hY3Rpdml0eUNvbnRleHQuY29tcG9uZW50UmVhZHkodGhpcy5jb21wb25lbnQpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBjb21wb25lbnQoKTogQWN0aXZpdHk8RCwgUiwgRT4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5Q29tcG9uZW50UmVmLmluc3RhbmNlO1xuICB9XG5cbn1cbiJdfQ==
@@ -6,7 +6,7 @@
6
6
  * @file Automatically generated by barrelsby.
7
7
  */
8
8
  export { AbstractActivity } from "./abstract-activity";
9
- export { ACTIVITY_DATA } from "./activity";
9
+ export { ACTIVITY_DATA, Activity } from "./activity";
10
10
  export {} from "./alert";
11
11
  export {} from "./confirm";
12
12
  export { InteractionContext } from "./interaction-context";
@@ -20,4 +20,4 @@ export { ConfirmThenDialogComponent } from "./components/confirm-then-dialog/con
20
20
  export { ConfirmationDialogComponent } from "./components/confirmation-dialog/confirmation-dialog.component";
21
21
  export { CloseInteractionGuard } from "./guards/close-interaction.guard";
22
22
  export { DIALOG_INTERACTION_SERVICE_DEFAULTS, DialogInteractionService } from "./services/dialog-interaction.service";
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGlDQUFjLHFCQUFxQixDQUFDO0FBQ3BDLDhCQUFjLFlBQVksQ0FBQztBQUMzQixlQUFjLFNBQVMsQ0FBQztBQUN4QixlQUFjLFdBQVcsQ0FBQztBQUMxQixtQ0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxrQ0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxlQUFjLFVBQVUsQ0FBQztBQUN6QiwyQ0FBYyw4REFBOEQsQ0FBQztBQUM3RSxlQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLHdDQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLHFDQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLDJDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLDRDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLHNDQUFjLGtDQUFrQyxDQUFDO0FBQ2pELDhFQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZSBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBiYXJyZWxzYnkuXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vYWJzdHJhY3QtYWN0aXZpdHlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FjdGl2aXR5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hbGVydFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlybVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24tY29udGV4dFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24ubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXN1bHRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktb3V0bGV0L2FjdGl2aXR5LW91dGxldC1jb250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3VhcmRzL2Nsb3NlLWludGVyYWN0aW9uLmd1YXJkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZXJ2aWNlcy9kaWFsb2ctaW50ZXJhY3Rpb24uc2VydmljZVwiO1xuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGlDQUFjLHFCQUFxQixDQUFDO0FBQ3BDLHdDQUFjLFlBQVksQ0FBQztBQUMzQixlQUFjLFNBQVMsQ0FBQztBQUN4QixlQUFjLFdBQVcsQ0FBQztBQUMxQixtQ0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxrQ0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxlQUFjLFVBQVUsQ0FBQztBQUN6QiwyQ0FBYyw4REFBOEQsQ0FBQztBQUM3RSxlQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLHdDQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLHFDQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLDJDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLDRDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLHNDQUFjLGtDQUFrQyxDQUFDO0FBQ2pELDhFQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZSBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBiYXJyZWxzYnkuXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vYWJzdHJhY3QtYWN0aXZpdHlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FjdGl2aXR5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hbGVydFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlybVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24tY29udGV4dFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24ubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXN1bHRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktb3V0bGV0L2FjdGl2aXR5LW91dGxldC1jb250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3VhcmRzL2Nsb3NlLWludGVyYWN0aW9uLmd1YXJkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZXJ2aWNlcy9kaWFsb2ctaW50ZXJhY3Rpb24uc2VydmljZVwiO1xuIl19
@@ -3,34 +3,39 @@
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
5
  import { GarbageCollector } from '@coolon/pectin';
6
+ import * as _ from 'lodash';
6
7
  /**
7
8
  * @abstract
8
9
  */
9
10
  export class InteractionContext extends GarbageCollector {
11
+ /**
12
+ * @protected
13
+ */
10
14
  constructor() {
11
15
  super();
12
16
  }
13
17
  /**
14
- * Returns true if an activity is currently running.
18
+ * Returns the activity that is currently active.
19
+ * This model is only updated in the next tick after the view has been updated.
15
20
  * @return {?}
16
21
  */
17
- isActive() {
18
- return this.activityList.length > 0;
22
+ get currentActivity() {
23
+ return _.last(this.activityList.value);
19
24
  }
20
25
  }
21
26
  if (false) {
22
- /**
23
- * Returns the activity that is currently active.
24
- * This model is only updated in the next tick after the view has been updated.
25
- * @type {?}
26
- */
27
- InteractionContext.prototype.currentActivity;
28
27
  /**
29
28
  * Returns the current list of activities that are in progress.
30
29
  * This model is only updated in the next tick after the view has been updated.
31
30
  * @type {?}
32
31
  */
33
32
  InteractionContext.prototype.activityList;
33
+ /**
34
+ * Returns true if an activity is currently running.
35
+ * @abstract
36
+ * @return {?}
37
+ */
38
+ InteractionContext.prototype.isActive = function () { };
34
39
  /**
35
40
  * @abstract
36
41
  * @template D, R, E
@@ -62,4 +67,4 @@ if (false) {
62
67
  */
63
68
  InteractionContext.prototype.alert = function (alert) { };
64
69
  }
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQWlCLGdCQUFnQixFQUF5QixNQUFNLGdCQUFnQixDQUFDOzs7O0FBS3hGLE1BQU0sT0FBZ0Isa0JBQW1CLFNBQVEsZ0JBQWdCO0lBYy9EO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDOzs7OztJQUtELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBZ0JGOzs7Ozs7O0lBakNDLDZDQUFrRTs7Ozs7O0lBTWxFLDBDQUE4RDs7Ozs7Ozs7SUFhOUQsK0VBQXNHOzs7Ozs7SUFFdEcsOERBQWtEOzs7Ozs7Ozs7O0lBUWxELHNGQUFzSDs7Ozs7O0lBRXRILDBEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdGFibGUsIEdhcmJhZ2VDb2xsZWN0b3IsIExpc3RNb2RlbCwgVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4vYWxlcnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4vY29uZmlybSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbnRlcmFjdGlvbkNvbnRleHQgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIHtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYWN0aXZpdHkgdGhhdCBpcyBjdXJyZW50bHkgYWN0aXZlLlxuICAgKiBUaGlzIG1vZGVsIGlzIG9ubHkgdXBkYXRlZCBpbiB0aGUgbmV4dCB0aWNrIGFmdGVyIHRoZSB2aWV3IGhhcyBiZWVuIHVwZGF0ZWQuXG4gICAqL1xuICBhYnN0cmFjdCByZWFkb25seSBjdXJyZW50QWN0aXZpdHk6IFZhbHVlTW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+PjtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY3VycmVudCBsaXN0IG9mIGFjdGl2aXRpZXMgdGhhdCBhcmUgaW4gcHJvZ3Jlc3MuXG4gICAqIFRoaXMgbW9kZWwgaXMgb25seSB1cGRhdGVkIGluIHRoZSBuZXh0IHRpY2sgYWZ0ZXIgdGhlIHZpZXcgaGFzIGJlZW4gdXBkYXRlZC5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IGFjdGl2aXR5TGlzdDogTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55Pj47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgYW4gYWN0aXZpdHkgaXMgY3VycmVudGx5IHJ1bm5pbmcuXG4gICAqL1xuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eUxpc3QubGVuZ3RoID4gMDtcbiAgfVxuXG4gIGFic3RyYWN0IHN0YXJ0QWN0aXZpdHk8RCwgUiwgRT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+O1xuXG4gIGFic3RyYWN0IGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIFByZXNlbnRzIHRoZSBjb25maXJtYXRpb24gdG8gdGhlIHVzZXIgYW5kIHJ1bnMgdGhlIGFjdGl2aXR5IG9ubHkgaWYgdGhlIHVzZXIgY29uZmlybXMuXG4gICAqIEBwYXJhbSBjb25maXJtOkNvbmZpcm0gdGhlIGNvbmZpcm1hdGlvbiB0byBkaXNwbGF5LlxuICAgKiBAcGFyYW0gYWN0aXZpdHlUeXBlIHRoZSBhY3Rpdml0eSB0byBydW4gaWYgY29uZmlybWVkLlxuICAgKiBAcGFyYW0gZGF0YSB0aGUgYWN0aXZpdHkgZGF0YS5cbiAgICovXG4gIGFic3RyYWN0IGNvbmZpcm1UaGVuPEQsIFIsIEU+KGNvbmZpcm06IENvbmZpcm0sIGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE/OiBEKTogUHJvbWlzZTxSPjtcblxuICBhYnN0cmFjdCBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+O1xuXG59XG5cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQWlCLGdCQUFnQixFQUFnQyxNQUFNLGdCQUFnQixDQUFDO0FBSS9GLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7O0FBRTVCLE1BQU0sT0FBZ0Isa0JBQW1CLFNBQVEsZ0JBQWdCOzs7O0lBUS9EO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDOzs7Ozs7SUFNRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztDQXFCRjs7Ozs7OztJQWpDQywwQ0FBOEQ7Ozs7OztJQWlCOUQsd0RBQTZCOzs7Ozs7OztJQUU3QiwrRUFBc0c7Ozs7OztJQUV0Ryw4REFBa0Q7Ozs7Ozs7Ozs7SUFRbEQsc0ZBQXNIOzs7Ozs7SUFFdEgsMERBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgR2FyYmFnZUNvbGxlY3RvciwgTGlzdE1vZGVsLCBUcmFjZSwgVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4vYWxlcnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4vY29uZmlybSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbnRlcmFjdGlvbkNvbnRleHQgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIHtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY3VycmVudCBsaXN0IG9mIGFjdGl2aXRpZXMgdGhhdCBhcmUgaW4gcHJvZ3Jlc3MuXG4gICAqIFRoaXMgbW9kZWwgaXMgb25seSB1cGRhdGVkIGluIHRoZSBuZXh0IHRpY2sgYWZ0ZXIgdGhlIHZpZXcgaGFzIGJlZW4gdXBkYXRlZC5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IGFjdGl2aXR5TGlzdDogTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55Pj47XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYWN0aXZpdHkgdGhhdCBpcyBjdXJyZW50bHkgYWN0aXZlLlxuICAgKiBUaGlzIG1vZGVsIGlzIG9ubHkgdXBkYXRlZCBpbiB0aGUgbmV4dCB0aWNrIGFmdGVyIHRoZSB2aWV3IGhhcyBiZWVuIHVwZGF0ZWQuXG4gICAqL1xuICBnZXQgY3VycmVudEFjdGl2aXR5KCk6IEFjdGl2aXR5PGFueSwgYW55PiB7XG4gICAgcmV0dXJuIF8ubGFzdCh0aGlzLmFjdGl2aXR5TGlzdC52YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIGFuIGFjdGl2aXR5IGlzIGN1cnJlbnRseSBydW5uaW5nLlxuICAgKi9cbiAgYWJzdHJhY3QgaXNBY3RpdmUoKTogYm9vbGVhbjtcblxuICBhYnN0cmFjdCBzdGFydEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE/OiBEKTogUHJvbWlzZTxSPjtcblxuICBhYnN0cmFjdCBjb25maXJtKGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBQcmVzZW50cyB0aGUgY29uZmlybWF0aW9uIHRvIHRoZSB1c2VyIGFuZCBydW5zIHRoZSBhY3Rpdml0eSBvbmx5IGlmIHRoZSB1c2VyIGNvbmZpcm1zLlxuICAgKiBAcGFyYW0gY29uZmlybTpDb25maXJtIHRoZSBjb25maXJtYXRpb24gdG8gZGlzcGxheS5cbiAgICogQHBhcmFtIGFjdGl2aXR5VHlwZSB0aGUgYWN0aXZpdHkgdG8gcnVuIGlmIGNvbmZpcm1lZC5cbiAgICogQHBhcmFtIGRhdGEgdGhlIGFjdGl2aXR5IGRhdGEuXG4gICAqL1xuICBhYnN0cmFjdCBjb25maXJtVGhlbjxELCBSLCBFPihjb25maXJtOiBDb25maXJtLCBhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj47XG5cbiAgYWJzdHJhY3QgYWxlcnQoYWxlcnQ6IEFsZXJ0KTogUHJvbWlzZTx2b2lkPjtcblxufVxuXG4iXX0=
@@ -5,9 +5,9 @@
5
5
  import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
6
6
  import { MatDialog } from '@angular/material';
7
7
  import { MAT_DIALOG_DEFAULT_OPTIONS, MatDialogConfig } from '@angular/material/dialog';
8
- import { Router } from '@angular/router';
9
- import { DelegatingListModel, Dsl, lang } from '@coolon/pectin';
8
+ import { DelegatingListModel, lang, ValueModel } from '@coolon/pectin';
10
9
  import { assert } from '@coolon/typescript-utilities';
10
+ import * as uuid from 'uuid';
11
11
  import { ActivityContainerComponent } from '../components/activity-container/activity-container.component';
12
12
  import { AlertDialogComponent } from '../components/alert-dialog/alert-dialog.component';
13
13
  import { ConfirmThenDialogComponent } from '../components/confirm-then-dialog/confirm-then-dialog.component';
@@ -15,55 +15,68 @@ import { ConfirmationDialogComponent } from '../components/confirmation-dialog/c
15
15
  import { InteractionContext } from '../interaction-context';
16
16
  import * as i0 from "@angular/core";
17
17
  import * as i1 from "@angular/material/dialog";
18
- import * as i2 from "@angular/router";
19
18
  /** @type {?} */
20
19
  export const DIALOG_INTERACTION_SERVICE_DEFAULTS = new InjectionToken('DIALOG_INTERACTION_SERVICE_DEFAULTS');
20
+ class Guard extends ValueModel {
21
+ constructor() {
22
+ super({ initialValue: false });
23
+ }
24
+ /**
25
+ * @return {?}
26
+ */
27
+ get value() {
28
+ return this.store.read();
29
+ }
30
+ /**
31
+ * @template R
32
+ * @param {?} fun
33
+ * @return {?}
34
+ */
35
+ whileTrue(fun) {
36
+ this.startTransaction().commit(true);
37
+ try {
38
+ return fun();
39
+ }
40
+ finally {
41
+ this.startTransaction().commit(false);
42
+ }
43
+ }
44
+ /**
45
+ * @template R
46
+ * @param {?} fun
47
+ * @param {?=} defaultValue
48
+ * @return {?}
49
+ */
50
+ runIfFalse(fun, defaultValue = null) {
51
+ return !this.value ? fun() : defaultValue;
52
+ }
53
+ }
21
54
  export class DialogInteractionService extends InteractionContext {
22
55
  /**
23
56
  * @param {?} dialogService
24
- * @param {?} router
25
57
  * @param {?} dialogServiceDefaults
26
58
  * @param {?} matDialogDefaultConfig
27
59
  */
28
- constructor(dialogService, router, dialogServiceDefaults, matDialogDefaultConfig) {
60
+ constructor(dialogService, dialogServiceDefaults, matDialogDefaultConfig) {
29
61
  super();
30
62
  this.dialogService = dialogService;
31
- this.router = router;
32
63
  this.dialogServiceDefaults = dialogServiceDefaults;
33
64
  this.matDialogDefaultConfig = matDialogDefaultConfig;
34
65
  this._activityList = new DelegatingListModel();
35
- this._active = false;
66
+ this.startingGuard = new Guard();
36
67
  assert.notNil(dialogService);
37
- const { chain, observe } = Dsl.disposeWith(this);
38
- this.currentActivity = chain(this.activityList).last();
39
- // observe.valuesFrom(this.router.events)
40
- // .tap((event:RouterEvent) => {
41
- // const nav = router.getCurrentNavigation();
42
- // console.log({
43
- // previousUrl: nav.previousNavigation && nav.previousNavigation.finalUrl,
44
- // initialUrl: nav.initialUrl,
45
- // finalUrl: nav.finalUrl,
46
- // });
47
- //
48
- // })
49
- // .filter(event => event instanceof NavigationStart)
50
- // .subscribe((event: NavigationStart) => {
51
- // console.log(event.navigationTrigger);
52
- // if (event.navigationTrigger === 'popstate' && this.isActive()) {
53
- // const prev = router.getCurrentNavigation().previousNavigation.finalUrl;
54
- // // this.router.navigateByUrl(prev.toString(), {
55
- // // replaceUrl: true,
56
- // // skipLocationChange: false
57
- // // });
58
- // // this.cancelActivity();
59
- // }
60
- // });
68
+ }
69
+ /**
70
+ * @return {?}
71
+ */
72
+ isActive() {
73
+ return !!this.currentActivityId;
61
74
  }
62
75
  /**
63
76
  * @return {?}
64
77
  */
65
78
  cancelActivity() {
66
- this.currentActivity.value.cancel(null);
79
+ this.currentActivity.cancel(null);
67
80
  }
68
81
  /**
69
82
  * @return {?}
@@ -96,56 +109,59 @@ export class DialogInteractionService extends InteractionContext {
96
109
  */
97
110
  a => a.constructor.name)).join(', ')}`);
98
111
  }
99
- this._active = true;
100
- /** @type {?} */
101
- const self = this;
102
- /** @type {?} */
103
- const config = Object.assign({ autoFocus: false, hasBackdrop: true, closeOnNavigation: false }, this.matDialogDefaultConfig, this.dialogServiceDefaults, {
104
- data,
105
- disableClose,
106
- panelClass: 'dialog-interaction-service'
107
- });
108
- /** @type {?} */
109
- const matDialogRef = (/** @type {?} */ (this.dialogService.open(ActivityContainerComponent, config)));
110
- return new Promise((/**
111
- * @param {?} resolve
112
- * @param {?} reject
112
+ return this.startingGuard.whileTrue((/**
113
113
  * @return {?}
114
114
  */
115
- (resolve, reject) => {
115
+ () => {
116
+ this.currentActivityId = uuid.v1();
116
117
  /** @type {?} */
117
- const activityContainer = matDialogRef.componentInstance;
118
- activityContainer.parentInteractionContext = this;
119
- self.safelyUpdateActivityListDelegate(activityContainer.activityList);
120
- activityContainer.initialise({
121
- activityClass: activityType,
122
- activityData: data,
123
- /**
124
- * @param {?} result
125
- * @return {?}
126
- */
127
- onDone(result) {
128
- // TODO: should I be calling resolve after close?
129
- resolve(result);
130
- matDialogRef.close(result);
131
- },
132
- /**
133
- * @param {?} error
134
- * @return {?}
135
- */
136
- onCancel(error) {
137
- // TODO: should I be calling reject after close?
138
- reject(error);
139
- matDialogRef.close(error);
140
- }
118
+ const self = this;
119
+ /** @type {?} */
120
+ const config = Object.assign({ autoFocus: false, hasBackdrop: true, closeOnNavigation: false }, this.matDialogDefaultConfig, this.dialogServiceDefaults, {
121
+ data,
122
+ disableClose,
123
+ panelClass: 'dialog-interaction-service'
141
124
  });
142
- matDialogRef.updateSize();
143
- })).finally((/**
144
- * @return {?}
145
- */
146
- () => {
147
- self.safelyUpdateActivityListDelegate(null);
148
- self._active = false;
125
+ /** @type {?} */
126
+ const matDialogRef = (/** @type {?} */ (this.dialogService.open(ActivityContainerComponent, config)));
127
+ return new Promise((/**
128
+ * @param {?} resolve
129
+ * @param {?} reject
130
+ * @return {?}
131
+ */
132
+ (resolve, reject) => {
133
+ /** @type {?} */
134
+ const activityContainer = matDialogRef.componentInstance;
135
+ activityContainer.parentInteractionContext = this;
136
+ self.safelyUpdateActivityListDelegate(activityContainer.activityList);
137
+ activityContainer.initialActivityOutletContext = {
138
+ activityClass: activityType,
139
+ activityData: data,
140
+ /**
141
+ * @param {?} result
142
+ * @return {?}
143
+ */
144
+ onDone(result) {
145
+ resolve(result);
146
+ matDialogRef.close(result);
147
+ },
148
+ /**
149
+ * @param {?} error
150
+ * @return {?}
151
+ */
152
+ onCancel(error) {
153
+ reject(error);
154
+ matDialogRef.close(error);
155
+ }
156
+ };
157
+ matDialogRef.updateSize();
158
+ })).finally((/**
159
+ * @return {?}
160
+ */
161
+ () => {
162
+ this.currentActivityId = null;
163
+ self.safelyUpdateActivityListDelegate(null);
164
+ }));
149
165
  }));
150
166
  }
151
167
  /**
@@ -196,14 +212,11 @@ DialogInteractionService.decorators = [
196
212
  /** @nocollapse */
197
213
  DialogInteractionService.ctorParameters = () => [
198
214
  { type: MatDialog },
199
- { type: Router },
200
215
  { type: MatDialogConfig, decorators: [{ type: Optional }, { type: Inject, args: [DIALOG_INTERACTION_SERVICE_DEFAULTS,] }] },
201
216
  { type: MatDialogConfig, decorators: [{ type: Optional }, { type: Inject, args: [MAT_DIALOG_DEFAULT_OPTIONS,] }] }
202
217
  ];
203
- /** @nocollapse */ DialogInteractionService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function DialogInteractionService_Factory() { return new DialogInteractionService(i0.ɵɵinject(i1.MatDialog), i0.ɵɵinject(i2.Router), i0.ɵɵinject(DIALOG_INTERACTION_SERVICE_DEFAULTS, 8), i0.ɵɵinject(i1.MAT_DIALOG_DEFAULT_OPTIONS, 8)); }, token: DialogInteractionService, providedIn: "root" });
218
+ /** @nocollapse */ DialogInteractionService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function DialogInteractionService_Factory() { return new DialogInteractionService(i0.ɵɵinject(i1.MatDialog), i0.ɵɵinject(DIALOG_INTERACTION_SERVICE_DEFAULTS, 8), i0.ɵɵinject(i1.MAT_DIALOG_DEFAULT_OPTIONS, 8)); }, token: DialogInteractionService, providedIn: "root" });
204
219
  if (false) {
205
- /** @type {?} */
206
- DialogInteractionService.prototype.currentActivity;
207
220
  /**
208
221
  * @type {?}
209
222
  * @private
@@ -213,20 +226,20 @@ if (false) {
213
226
  * @type {?}
214
227
  * @private
215
228
  */
216
- DialogInteractionService.prototype._active;
229
+ DialogInteractionService.prototype.startingGuard;
217
230
  /**
218
231
  * @type {?}
219
232
  * @private
220
233
  */
221
- DialogInteractionService.prototype.dialogService;
234
+ DialogInteractionService.prototype.currentActivityId;
222
235
  /**
223
236
  * @type {?}
224
237
  * @private
225
238
  */
226
- DialogInteractionService.prototype.router;
239
+ DialogInteractionService.prototype.dialogService;
227
240
  /** @type {?} */
228
241
  DialogInteractionService.prototype.dialogServiceDefaults;
229
242
  /** @type {?} */
230
243
  DialogInteractionService.prototype.matDialogDefaultConfig;
231
244
  }
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBaUIsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBeUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHdEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDM0csT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDekYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDN0csT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFFOUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBRTVELE1BQU0sT0FBTyxtQ0FBbUMsR0FBRyxJQUFJLGNBQWMsQ0FBdUIscUNBQXFDLENBQUM7QUFLbEksTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtCQUFrQjs7Ozs7OztJQU05RCxZQUE2QixhQUF3QixFQUN4QixNQUFjLEVBQ21DLHFCQUEyQyxFQUNwRCxzQkFBNEM7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LENBQUMsQ0FBQztJQUNYLENBQUM7OztZQXhIRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFsQlEsU0FBUztZQUVULE1BQU07WUFEc0IsZUFBZSx1QkEwQnJDLFFBQVEsWUFBSSxNQUFNLFNBQUMsbUNBQW1DO1lBMUJoQyxlQUFlLHVCQTJCckMsUUFBUSxZQUFJLE1BQU0sU0FBQywwQkFBMEI7Ozs7O0lBUDFELG1EQUF5RDs7Ozs7SUFDekQsaURBQStFOzs7OztJQUMvRSwyQ0FBd0I7Ozs7O0lBRVosaURBQXlDOzs7OztJQUN6QywwQ0FBK0I7O0lBQy9CLHlEQUE2Rzs7SUFDN0csMERBQXFHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMsIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgRGVsZWdhdGluZ0xpc3RNb2RlbCwgRHNsLCBsYW5nLCBMaXN0TW9kZWwsIFZhbHVlTW9kZWwgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHknO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICcuLi9hbGVydCc7XG5pbXBvcnQgeyBBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWxlcnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25maXJtLXRoZW4tZGlhbG9nL2NvbmZpcm0tdGhlbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi4vY29uZmlybSc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuLi9pbnRlcmFjdGlvbi1jb250ZXh0JztcblxuZXhwb3J0IGNvbnN0IERJQUxPR19JTlRFUkFDVElPTl9TRVJWSUNFX0RFRkFVTFRTID0gbmV3IEluamVjdGlvblRva2VuPE1hdERpYWxvZ0NvbmZpZzxhbnk+PignRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMnKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nSW50ZXJhY3Rpb25TZXJ2aWNlIGV4dGVuZHMgSW50ZXJhY3Rpb25Db250ZXh0IHtcblxuICByZWFkb25seSBjdXJyZW50QWN0aXZpdHk6IFZhbHVlTW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+PjtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZpdHlMaXN0ID0gbmV3IERlbGVnYXRpbmdMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+PigpO1xuICBwcml2YXRlIF9hY3RpdmUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2U6IE1hdERpYWxvZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUykgcmVhZG9ubHkgZGlhbG9nU2VydmljZURlZmF1bHRzOiBNYXREaWFsb2dDb25maWc8YW55PixcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfRElBTE9HX0RFRkFVTFRfT1BUSU9OUykgcmVhZG9ubHkgbWF0RGlhbG9nRGVmYXVsdENvbmZpZzogTWF0RGlhbG9nQ29uZmlnPGFueT5cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICBhc3NlcnQubm90TmlsKGRpYWxvZ1NlcnZpY2UpO1xuICAgIGNvbnN0IHsgY2hhaW4sIG9ic2VydmUgfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLmN1cnJlbnRBY3Rpdml0eSA9IGNoYWluKHRoaXMuYWN0aXZpdHlMaXN0KS5sYXN0KCk7XG4gICAgLy8gb2JzZXJ2ZS52YWx1ZXNGcm9tKHRoaXMucm91dGVyLmV2ZW50cylcbiAgICAvLyAgIC50YXAoKGV2ZW50OlJvdXRlckV2ZW50KSA9PiB7XG4gICAgLy8gICAgIGNvbnN0IG5hdiA9IHJvdXRlci5nZXRDdXJyZW50TmF2aWdhdGlvbigpO1xuICAgIC8vICAgICBjb25zb2xlLmxvZyh7XG4gICAgLy8gICAgICAgcHJldmlvdXNVcmw6IG5hdi5wcmV2aW91c05hdmlnYXRpb24gJiYgbmF2LnByZXZpb3VzTmF2aWdhdGlvbi5maW5hbFVybCxcbiAgICAvLyAgICAgICBpbml0aWFsVXJsOiBuYXYuaW5pdGlhbFVybCxcbiAgICAvLyAgICAgICBmaW5hbFVybDogbmF2LmZpbmFsVXJsLFxuICAgIC8vICAgICB9KTtcbiAgICAvL1xuICAgIC8vICAgfSlcbiAgICAvLyAgIC5maWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpXG4gICAgLy8gICAuc3Vic2NyaWJlKChldmVudDogTmF2aWdhdGlvblN0YXJ0KSA9PiB7XG4gICAgLy8gICAgIGNvbnNvbGUubG9nKGV2ZW50Lm5hdmlnYXRpb25UcmlnZ2VyKTtcbiAgICAvLyAgICAgaWYgKGV2ZW50Lm5hdmlnYXRpb25UcmlnZ2VyID09PSAncG9wc3RhdGUnICYmIHRoaXMuaXNBY3RpdmUoKSkge1xuICAgIC8vICAgICAgIGNvbnN0IHByZXYgPSByb3V0ZXIuZ2V0Q3VycmVudE5hdmlnYXRpb24oKS5wcmV2aW91c05hdmlnYXRpb24uZmluYWxVcmw7XG4gICAgLy8gICAgICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChwcmV2LnRvU3RyaW5nKCksIHtcbiAgICAvLyAgICAgICAvLyAgIHJlcGxhY2VVcmw6IHRydWUsXG4gICAgLy8gICAgICAgLy8gICBza2lwTG9jYXRpb25DaGFuZ2U6IGZhbHNlXG4gICAgLy8gICAgICAgLy8gfSk7XG4gICAgLy8gICAgICAgLy8gdGhpcy5jYW5jZWxBY3Rpdml0eSgpO1xuICAgIC8vICAgICB9XG4gICAgLy8gICB9KTtcbiAgfVxuXG4gIGNhbmNlbEFjdGl2aXR5KCkge1xuICAgIHRoaXMuY3VycmVudEFjdGl2aXR5LnZhbHVlLmNhbmNlbChudWxsKTtcbiAgfVxuXG4gIGdldCBhY3Rpdml0eUxpc3QoKTogTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55Pj4ge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpdml0eUxpc3QucmVhZG9ubHk7XG4gIH1cblxuICBzdGFydEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE/OiBEKTogUHJvbWlzZTxSPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0QWN0aXZpdHkoYWN0aXZpdHlUeXBlLCBkYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N0YXJ0QWN0aXZpdHk8RCwgUiwgRT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YTogRCwgZGlzYWJsZUNsb3NlOiBib29sZWFuID0gdHJ1ZSkge1xuICAgIGlmICh0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKGBBY3Rpdml0eSBhbHJlYWR5IGluIHByb2dyZXNzOiAke3RoaXMuYWN0aXZpdHlMaXN0LnZhbHVlLm1hcChhID0+IGEuY29uc3RydWN0b3IubmFtZSkuam9pbignLCAnKX1gKTtcbiAgICB9XG4gICAgdGhpcy5fYWN0aXZlID0gdHJ1ZTtcblxuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIGNvbnN0IGNvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0ge1xuICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxuICAgICAgLi4udGhpcy5tYXREaWFsb2dEZWZhdWx0Q29uZmlnLFxuICAgICAgLi4udGhpcy5kaWFsb2dTZXJ2aWNlRGVmYXVsdHMsXG4gICAgICAuLi57XG4gICAgICAgIGRhdGEsXG4gICAgICAgIGRpc2FibGVDbG9zZSxcbiAgICAgICAgcGFuZWxDbGFzczogJ2RpYWxvZy1pbnRlcmFjdGlvbi1zZXJ2aWNlJ1xuICAgICAgfVxuICAgIH07XG4gICAgY29uc3QgbWF0RGlhbG9nUmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQsIGNvbmZpZykgYXMgTWF0RGlhbG9nUmVmPEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PjtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8Uj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgYWN0aXZpdHlDb250YWluZXIgPSBtYXREaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgICBhY3Rpdml0eUNvbnRhaW5lci5wYXJlbnRJbnRlcmFjdGlvbkNvbnRleHQgPSB0aGlzO1xuICAgICAgc2VsZi5zYWZlbHlVcGRhdGVBY3Rpdml0eUxpc3REZWxlZ2F0ZShhY3Rpdml0eUNvbnRhaW5lci5hY3Rpdml0eUxpc3QpO1xuICAgICAgYWN0aXZpdHlDb250YWluZXIuaW5pdGlhbGlzZSh7XG4gICAgICAgIGFjdGl2aXR5Q2xhc3M6IGFjdGl2aXR5VHlwZSxcbiAgICAgICAgYWN0aXZpdHlEYXRhOiBkYXRhLFxuICAgICAgICBvbkRvbmUocmVzdWx0KSB7XG4gICAgICAgICAgLy8gVE9ETzogc2hvdWxkIEkgYmUgY2FsbGluZyByZXNvbHZlIGFmdGVyIGNsb3NlP1xuICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICBtYXREaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcbiAgICAgICAgfSxcbiAgICAgICAgb25DYW5jZWwoZXJyb3IpIHtcbiAgICAgICAgICAvLyBUT0RPOiBzaG91bGQgSSBiZSBjYWxsaW5nIHJlamVjdCBhZnRlciBjbG9zZT9cbiAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgIG1hdERpYWxvZ1JlZi5jbG9zZShlcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgbWF0RGlhbG9nUmVmLnVwZGF0ZVNpemUoKTtcbiAgICB9KS5maW5hbGx5KCgpID0+IHtcbiAgICAgIHNlbGYuc2FmZWx5VXBkYXRlQWN0aXZpdHlMaXN0RGVsZWdhdGUobnVsbCk7XG4gICAgICBzZWxmLl9hY3RpdmUgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogVXBkYXRlcyB0ZWggZGVsZWdhdGUgb24gdGhlIG5leHQgdGljayB0byBhdm9pZCBtb2RpZnlpbmcgc3RhdGUgZHVyaW5nIHRoZSBjdXJyZW50IGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUuXG4gICAqIEBwYXJhbSBkZWxlZ2F0ZVxuICAgKi9cbiAgc2FmZWx5VXBkYXRlQWN0aXZpdHlMaXN0RGVsZWdhdGUoZGVsZWdhdGU6IExpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9hY3Rpdml0eUxpc3Quc2V0RGVsZWdhdGUoZGVsZWdhdGUpKTtcbiAgfVxuXG4gIGFsZXJ0KGFsZXJ0OiBBbGVydCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KEFsZXJ0RGlhbG9nQ29tcG9uZW50LCBhbGVydCwgZmFsc2UpO1xuICB9XG5cbiAgY29uZmlybShjb25maXJtOiBDb25maXJtKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0QWN0aXZpdHkoQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LCBjb25maXJtLCB0cnVlKTtcbiAgfVxuXG4gIGNvbmZpcm1UaGVuPEQsIFIsIEU+KGNvbmZpcm06IENvbmZpcm0sIGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE/OiBEKTogUHJvbWlzZTxSPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0QWN0aXZpdHk8Q29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQuRGF0YTxELCBSLCBFPiwgUiwgRT4oQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGNvbmZpcm0sXG4gICAgICBhY3Rpdml0eVR5cGU6IGFjdGl2aXR5VHlwZSxcbiAgICAgIGRhdGE6IGRhdGFcbiAgICB9LCB0cnVlKTtcbiAgfVxuXG59XG4iXX0=
245
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkYsT0FBTyxFQUFpQixtQkFBbUIsRUFBRSxJQUFJLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RELE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRzdCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBRTlHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBRTVELE1BQU0sT0FBTyxtQ0FBbUMsR0FBRyxJQUFJLGNBQWMsQ0FBdUIscUNBQXFDLENBQUM7QUFFbEksTUFBTSxLQUFNLFNBQVEsVUFBbUI7SUFFckM7UUFDRSxLQUFLLENBQUMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDOzs7O0lBRUQsSUFB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QUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekUsQ0FBQzs7Ozs7Ozs7SUFFRCxXQUFXLENBQVUsT0FBZ0IsRUFBRSxZQUE4QyxFQUFFLElBQVE7UUFDN0YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFpRCwwQkFBMEIsRUFBRTtZQUNyRyxPQUFPO1lBQ1AsWUFBWSxFQUFFLFlBQVk7WUFDMUIsSUFBSSxFQUFFLElBQUk7U0FDWCxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7O1lBckdGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQTNDUSxTQUFTO1lBQ21CLGVBQWUsdUJBa0RyQyxRQUFRLFlBQUksTUFBTSxTQUFDLG1DQUFtQztZQWxEaEMsZUFBZSx1QkFtRHJDLFFBQVEsWUFBSSxNQUFNLFNBQUMsMEJBQTBCOzs7Ozs7OztJQU4xRCxpREFBK0U7Ozs7O0lBQy9FLGlEQUFvQzs7Ozs7SUFDcEMscURBQWtDOzs7OztJQUV0QixpREFBeUM7O0lBQ3pDLHlEQUE2Rzs7SUFDN0csMERBQXFHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMsIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlLCBEZWxlZ2F0aW5nTGlzdE1vZGVsLCBsYW5nLCBMaXN0TW9kZWwsIFZhbHVlTW9kZWwgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uL2FjdGl2aXR5JztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi4vYWxlcnQnO1xuaW1wb3J0IHsgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFsZXJ0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hbGVydC1kaWFsb2cvYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29uZmlybS10aGVuLWRpYWxvZy9jb25maXJtLXRoZW4tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4uL2NvbmZpcm0nO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5cbmV4cG9ydCBjb25zdCBESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNYXREaWFsb2dDb25maWc8YW55Pj4oJ0RJQUxPR19JTlRFUkFDVElPTl9TRVJWSUNFX0RFRkFVTFRTJyk7XG5cbmNsYXNzIEd1YXJkIGV4dGVuZHMgVmFsdWVNb2RlbDxib29sZWFuPiB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoeyBpbml0aWFsVmFsdWU6IGZhbHNlIH0pO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnJlYWQoKTtcbiAgfVxuXG4gIHdoaWxlVHJ1ZTxSPihmdW46ICgpID0+IFIpOiBSIHtcbiAgICB0aGlzLnN0YXJ0VHJhbnNhY3Rpb24oKS5jb21taXQodHJ1ZSk7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBmdW4oKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGFydFRyYW5zYWN0aW9uKCkuY29tbWl0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBydW5JZkZhbHNlPFI+KGZ1bjogKCkgPT4gUiwgZGVmYXVsdFZhbHVlOiBSID0gbnVsbCk6IFIge1xuICAgIHJldHVybiAhdGhpcy52YWx1ZSA/IGZ1bigpIDogZGVmYXVsdFZhbHVlO1xuICB9XG59XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nSW50ZXJhY3Rpb25TZXJ2aWNlIGV4dGVuZHMgSW50ZXJhY3Rpb25Db250ZXh0IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9hY3Rpdml0eUxpc3QgPSBuZXcgRGVsZWdhdGluZ0xpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KCk7XG4gIHByaXZhdGUgc3RhcnRpbmdHdWFyZCA9IG5ldyBHdWFyZCgpO1xuICBwcml2YXRlIGN1cnJlbnRBY3Rpdml0eUlkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBNYXREaWFsb2csXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMpIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2VEZWZhdWx0czogTWF0RGlhbG9nQ29uZmlnPGFueT4sXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMpIHJlYWRvbmx5IG1hdERpYWxvZ0RlZmF1bHRDb25maWc6IE1hdERpYWxvZ0NvbmZpZzxhbnk+XG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgYXNzZXJ0Lm5vdE5pbChkaWFsb2dTZXJ2aWNlKTtcbiAgfVxuXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuY3VycmVudEFjdGl2aXR5SWQ7XG4gIH1cblxuICBjYW5jZWxBY3Rpdml0eSgpIHtcbiAgICB0aGlzLmN1cnJlbnRBY3Rpdml0eS5jYW5jZWwobnVsbCk7XG4gIH1cblxuICBnZXQgYWN0aXZpdHlMaXN0KCk6IExpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZpdHlMaXN0LnJlYWRvbmx5O1xuICB9XG5cbiAgc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KGFjdGl2aXR5VHlwZSwgZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIF9zdGFydEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE6IEQsIGRpc2FibGVDbG9zZTogYm9vbGVhbiA9IHRydWUpIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSgpKSB7XG4gICAgICBsYW5nLmlsbGVnYWxTdGF0ZShgQWN0aXZpdHkgYWxyZWFkeSBpbiBwcm9ncmVzczogJHt0aGlzLmFjdGl2aXR5TGlzdC52YWx1ZS5tYXAoYSA9PiBhLmNvbnN0cnVjdG9yLm5hbWUpLmpvaW4oJywgJyl9YCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnN0YXJ0aW5nR3VhcmQud2hpbGVUcnVlKCgpID0+IHtcbiAgICAgIHRoaXMuY3VycmVudEFjdGl2aXR5SWQgPSB1dWlkLnYxKCk7XG5cbiAgICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgICAgY29uc3QgY29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB7XG4gICAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICBjbG9zZU9uTmF2aWdhdGlvbjogZmFsc2UsXG4gICAgICAgIC4uLnRoaXMubWF0RGlhbG9nRGVmYXVsdENvbmZpZyxcbiAgICAgICAgLi4udGhpcy5kaWFsb2dTZXJ2aWNlRGVmYXVsdHMsXG4gICAgICAgIC4uLntcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIGRpc2FibGVDbG9zZSxcbiAgICAgICAgICBwYW5lbENsYXNzOiAnZGlhbG9nLWludGVyYWN0aW9uLXNlcnZpY2UnXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBjb25zdCBtYXREaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCwgY29uZmlnKSBhcyBNYXREaWFsb2dSZWY8QWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ8RCxSLEU+PjtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxSPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IGFjdGl2aXR5Q29udGFpbmVyID0gbWF0RGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgICAgICBhY3Rpdml0eUNvbnRhaW5lci5wYXJlbnRJbnRlcmFjdGlvbkNvbnRleHQgPSB0aGlzO1xuICAgICAgICBzZWxmLnNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdERlbGVnYXRlKGFjdGl2aXR5Q29udGFpbmVyLmFjdGl2aXR5TGlzdCk7XG5cbiAgICAgICAgYWN0aXZpdHlDb250YWluZXIuaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCA9IHtcbiAgICAgICAgICBhY3Rpdml0eUNsYXNzOiBhY3Rpdml0eVR5cGUsXG4gICAgICAgICAgYWN0aXZpdHlEYXRhOiBkYXRhLFxuICAgICAgICAgIG9uRG9uZShyZXN1bHQpIHtcbiAgICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICAgIG1hdERpYWxvZ1JlZi5jbG9zZShyZXN1bHQpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgb25DYW5jZWwoZXJyb3IpIHtcbiAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICBtYXREaWFsb2dSZWYuY2xvc2UoZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgbWF0RGlhbG9nUmVmLnVwZGF0ZVNpemUoKTtcbiAgICAgIH0pLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICB0aGlzLmN1cnJlbnRBY3Rpdml0eUlkID0gbnVsbDtcbiAgICAgICAgc2VsZi5zYWZlbHlVcGRhdGVBY3Rpdml0eUxpc3REZWxlZ2F0ZShudWxsKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGVoIGRlbGVnYXRlIG9uIHRoZSBuZXh0IHRpY2sgdG8gYXZvaWQgbW9kaWZ5aW5nIHN0YXRlIGR1cmluZyB0aGUgY3VycmVudCBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLlxuICAgKiBAcGFyYW0gZGVsZWdhdGVcbiAgICovXG4gIHNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdERlbGVnYXRlKGRlbGVnYXRlOiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+Pikge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fYWN0aXZpdHlMaXN0LnNldERlbGVnYXRlKGRlbGVnYXRlKSk7XG4gIH1cblxuICBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShBbGVydERpYWxvZ0NvbXBvbmVudCwgYWxlcnQsIGZhbHNlKTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwgY29uZmlybSwgdHJ1ZSk7XG4gIH1cblxuICBjb25maXJtVGhlbjxELCBSLCBFPihjb25maXJtOiBDb25maXJtLCBhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5PENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LkRhdGE8RCwgUiwgRT4sIFIsIEU+KENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICBjb25maXJtLFxuICAgICAgYWN0aXZpdHlUeXBlOiBhY3Rpdml0eVR5cGUsXG4gICAgICBkYXRhOiBkYXRhXG4gICAgfSwgdHJ1ZSk7XG4gIH1cbn1cbiJdfQ==