@coolon/angular-ui-powerups 0.0.101 → 0.0.102

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +896 -620
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  5. package/coolon-angular-ui-powerups.metadata.json +1 -1
  6. package/esm2015/coolon-angular-ui-powerups.js +2 -2
  7. package/esm2015/index.js +2 -2
  8. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +2 -1
  9. package/esm2015/lib/interaction/interaction-context-base.js +21 -8
  10. package/esm2015/lib/interaction/interaction-context.js +56 -3
  11. package/esm2015/lib/interaction/services/interaction.service.js +11 -7
  12. package/esm2015/lib/place/guards/navigation-state.js +216 -135
  13. package/esm2015/lib/place/guards/place-component-deactivation-handler.js +63 -28
  14. package/esm2015/lib/place/guards/place.guard.js +215 -0
  15. package/esm2015/lib/place/index.js +2 -3
  16. package/esm2015/lib/place/place-router.js +34 -36
  17. package/esm2015/lib/place/url-snapshot.js +69 -53
  18. package/esm2015/public_api.js +2 -2
  19. package/esm5/coolon-angular-ui-powerups.js +2 -2
  20. package/esm5/index.js +2 -2
  21. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +2 -1
  22. package/esm5/lib/interaction/interaction-context-base.js +25 -8
  23. package/esm5/lib/interaction/interaction-context.js +88 -10
  24. package/esm5/lib/interaction/services/interaction.service.js +17 -8
  25. package/esm5/lib/place/guards/navigation-state.js +280 -162
  26. package/esm5/lib/place/guards/place-component-deactivation-handler.js +73 -27
  27. package/esm5/lib/place/guards/place.guard.js +300 -0
  28. package/esm5/lib/place/index.js +2 -3
  29. package/esm5/lib/place/place-router.js +52 -39
  30. package/esm5/lib/place/url-snapshot.js +85 -58
  31. package/esm5/public_api.js +2 -2
  32. package/fesm2015/coolon-angular-ui-powerups.js +661 -519
  33. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  34. package/fesm5/coolon-angular-ui-powerups.js +896 -619
  35. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  36. package/lib/interaction/interaction-context-base.d.ts +3 -1
  37. package/lib/interaction/interaction-context.d.ts +9 -2
  38. package/lib/interaction/services/interaction.service.d.ts +2 -2
  39. package/lib/place/guards/navigation-state.d.ts +44 -38
  40. package/lib/place/guards/place-component-deactivation-handler.d.ts +7 -4
  41. package/lib/place/guards/{abstract-place.guard.d.ts → place.guard.d.ts} +8 -3
  42. package/lib/place/index.d.ts +1 -2
  43. package/lib/place/place-router.d.ts +2 -0
  44. package/lib/place/url-snapshot.d.ts +14 -9
  45. package/package.json +1 -1
  46. package/schematics/place-routes/place-def.js +1 -0
  47. package/schematics/place-routes/place-def.js.map +1 -1
  48. package/schematics/place-routes/templates/place-routes.ts.template +10 -11
  49. package/esm2015/lib/place/guards/abstract-place.guard.js +0 -166
  50. package/esm2015/lib/place/guards/interaction.guard.js +0 -121
  51. package/esm5/lib/place/guards/abstract-place.guard.js +0 -213
  52. package/esm5/lib/place/guards/interaction.guard.js +0 -133
  53. package/lib/place/guards/interaction.guard.d.ts +0 -17
@@ -283,6 +283,7 @@ var ActivityContainerComponent = /** @class */ (function (_super) {
283
283
  * @return {?}
284
284
  */
285
285
  function () {
286
+ this.updateActivityList();
286
287
  this._initialActivityOutletContext.value = null;
287
288
  this.initialActivityOutletContextEvent.emit(null);
288
289
  };
@@ -459,4 +460,4 @@ if (false) {
459
460
  */
460
461
  ActivityContainerComponent.prototype._activityList;
461
462
  }
462
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUNMLE1BQU0sRUFFTixHQUFHLEVBQ0gsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixpQkFBaUIsRUFFbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUl4QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7OztBQU92Rjs7Ozs7OztJQUtFLG9CQUFxQixZQUFlLEVBQ2YsYUFBK0MsRUFDL0Msa0JBQXNDLEVBQ3RDLGlCQUEyQztRQUgzQyxpQkFBWSxHQUFaLFlBQVksQ0FBRztRQUNmLGtCQUFhLEdBQWIsYUFBYSxDQUFrQztRQUMvQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBMEI7UUFOeEQsY0FBUyxHQUFHLEtBQUssQ0FBQztJQU8xQixDQUFDOzs7O0lBRUQsd0NBQW1COzs7SUFBbkI7UUFDRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7Ozs7SUFFRCwrQkFBVTs7O0lBQVY7UUFDRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFD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QUM7Ozs7O0lBRU8sdURBQWtCOzs7O0lBQTFCO1FBQ0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTTs7OztRQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLG1CQUFtQixFQUFFLEVBQTFDLENBQTBDLEVBQUMsQ0FBQyxHQUFHOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsU0FBUyxFQUFYLENBQVcsRUFBQyxDQUFDO0lBQ25JLENBQUM7Ozs7O0lBRU8sc0RBQWlCOzs7O0lBQXpCO1FBQ0UsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekQsQ0FBQzs7Z0JBL0lGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyw4VEFBa0Q7O2lCQUVuRDs7Ozs7K0NBT0UsS0FBSztvREE0QkwsTUFBTSxTQUFDLDhCQUE4QjtnQ0FHckMsS0FBSzt1QkFHTCxTQUFTLFNBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTswQkFHbEMsWUFBWSxTQUFDLHVCQUF1Qjs7SUFnR3ZDLGlDQUFDO0NBQUEsQUFoSkQsQ0FLeUQsc0JBQXNCLEdBMkk5RTtTQTNJWSwwQkFBMEI7Ozs7OztJQUVyQyx5RUFBZ0Y7Ozs7O0lBRWhGLG1FQUF5Rzs7SUE4QnpHLHVFQUN1Rjs7SUFFdkYsbURBQ3NCOztJQUV0QiwwQ0FDa0I7O0lBRWxCLDZDQUMyRDs7SUFFM0Qsa0RBQTBFOztJQUUxRSw0Q0FBb0M7Ozs7O0lBRXBDLG1EQUE0RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW5cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRUYWJHcm91cCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7XG4gIGFzc2VydCxcbiAgQ29uc3RydWN0YWJsZSxcbiAgRHNsLFxuICBNdXRhYmxlTGlzdE1vZGVsLFxuICBNdXRhYmxlU3RyZWFtLFxuICBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbFxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5cbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vLi4vYWN0aXZpdHknO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHRCYXNlIH0gZnJvbSAnLi4vLi4vaW50ZXJhY3Rpb24tY29udGV4dC1iYXNlJztcbmltcG9ydCB7IEFjdGl2aXR5T3V0bGV0Q29udGV4dCB9IGZyb20gJy4uL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQtY29udGV4dCc7XG5pbXBvcnQgeyBBY3Rpdml0eU91dGxldENvbXBvbmVudCB9IGZyb20gJy4uL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50JztcblxuLyoqXG4gKiBOb3RlOiB0aGlzIGNsYXNzIGlzIG11dGFibGUgYW5kIGlzIHN0b3JlZCBpbiBhIGxpc3QgbW9kZWwuICBUaGlzIGlzIG5vcm1hbGx5IGEgYmlnIG5vIG5vIGJ1dFxuICogIHdlJ3JlIG1hbnVhbGx5IGRlcml2aW5nIG90aGVyIG1vZGVscyBmcm9tIHRoZSBsaXN0IGFmdGVyIHZpZXcgc3RhdGUgY2hhbmdlcy4gIEkuZS4gd2Ugbm90XG4gKiAgdXNpbmcgcGVjdGluIGNoYWlucyBvbiBhbnkgb2YgdGhlIG11dGFibGUgZmllbGRzLlxuICovXG5jbGFzcyBUYWJDb250ZXh0PEQsIFIsIEU+IGltcGxlbWVudHMgQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+IHtcblxuICBwcml2YXRlIF9jb21wbGV0ZSA9IGZhbHNlO1xuICBwcml2YXRlIF9jb21wb25lbnQ6IEFjdGl2aXR5PEQsIFIsIEU+O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGFjdGl2aXR5RGF0YTogRCxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgYWN0aXZpdHlDbGFzczogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0LFxuICAgICAgICAgICAgICByZWFkb25seSBhY3Rpdml0eUNhbGxiYWNrczogQWN0aXZpdHkuQ2FsbGJhY2tzPFIsIEU+KSB7XG4gIH1cblxuICBpc0NvbXBvbmVudFJlYWxpc2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2NvbXBvbmVudDtcbiAgfVxuXG4gIGlzQ29tcGxldGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBsZXRlO1xuICB9XG5cbiAgY29tcG9uZW50UmVhZHkoY29tcG9uZW50OiBBY3Rpdml0eTxELCBSLCBFPikge1xuICAgIGFzc2VydC5pc05pbCh0aGlzLl9jb21wb25lbnQpO1xuICAgIHRoaXMuX2NvbXBvbmVudCA9IGNvbXBvbmVudDtcbiAgfVxuXG4gIGdldCBjb21wb25lbnQoKTogQWN0aXZpdHk8RCwgUiwgRT4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnQ7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbkRvbmUocmVzdWx0OiBSKTogdm9pZCB7XG4gICAgdGhpcy5fY29tcGxldGUgPSB0cnVlO1xuICAgIHRoaXMuYWN0aXZpdHlDYWxsYmFja3Mub25Eb25lKHJlc3VsdCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbkNhbmNlbChlcnJvcjogRSk6IHZvaWQge1xuICAgIHRoaXMuX2NvbXBsZXRlID0gdHJ1ZTtcbiAgICB0aGlzLmFjdGl2aXR5Q2FsbGJhY2tzLm9uQ2FuY2VsKGVycm9yKTtcbiAgfVxuXG4gIGRpc3Bvc2UoKSB7XG4gICAgdGhpcy5jb21wb25lbnQuZGlzcG9zZSgpO1xuICB9XG5cbn1cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtYWN0aXZpdHktY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PEQsIFIsIEU+IGV4dGVuZHMgSW50ZXJhY3Rpb25Db250ZXh0QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB0aHJvdHRsZWROZXN0ZWRBY3Rpdml0eUZpbmlzaEV2ZW50cyA9IG5ldyBNdXRhYmxlU3RyZWFtPGFueT4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0ID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPEFjdGl2aXR5T3V0bGV0Q29udGV4dDxELCBSLCBFPj4oKTtcblxuICBASW5wdXQoKVxuICBzZXQgaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dChpbml0aWFsQ29udGV4dDogQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+KSB7XG4gICAgYXNzZXJ0LmlzTmlsKHRoaXMuX2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQudmFsdWUpO1xuICAgIC8vIHdlIGNsZWFuIHVwIGF0IHRoZSBzdGFydCBhcyB3ZSBsZWF2ZSB0aGUgaW5pdGlhbCBhY3Rpdml0eSBpbiBwbGFjZSBhZnRlciBpdCBmaW5pc2hlc1xuICAgIC8vIHNvIHRoYXQgdGhlIGFjdGl2aXR5IHJlbWFpbnMgdmlzaWJsZSBkdXJpbmcgdGhlIGlucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dCBhbmltYXRpb25zLlxuICAgIHRoaXMuYWN0aXZpdHlUYWJzLnZhbHVlID0gW107XG4gICAgdGhpcy5fYWN0aXZpdHlMaXN0LnZhbHVlID0gW107XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgaWYgKGluaXRpYWxDb250ZXh0KSB7XG4gICAgICB0aGlzLl9pbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0LnZhbHVlID0gaW5pdGlhbENvbnRleHQ7XG4gICAgICB0aGlzLmFjdGl2aXR5VGFicy5wdXNoKG5ldyBUYWJDb250ZXh0KGluaXRpYWxDb250ZXh0LmFjdGl2aXR5RGF0YSwgaW5pdGlhbENvbnRleHQuYWN0aXZpdHlDbGFzcywgdGhpcywge1xuICAgICAgICBvbkRvbmU6IChyZXN1bHQ6IFIpID0+IHtcbiAgICAgICAgICBzZWxmLmZpbmlzaEluaXRpYWxBY3Rpdml0eSgpO1xuICAgICAgICAgIGluaXRpYWxDb250ZXh0Lm9uRG9uZShyZXN1bHQpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNhbmNlbDogKGVycm9yOiBFKSA9PiB7XG4gICAgICAgICAgc2VsZi5maW5pc2hJbml0aWFsQWN0aXZpdHkoKTtcbiAgICAgICAgICBpbml0aWFsQ29udGV4dC5vbkNhbmNlbChlcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgICB9XG4gIH1cblxuICBnZXQgaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dC52YWx1ZTtcbiAgfVxuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1vdXRwdXQtcmVuYW1lXG4gIEBPdXRwdXQoJ2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQnKVxuICBpbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2aXR5T3V0bGV0Q29udGV4dDxELCBSLCBFPj4oKTtcblxuICBASW5wdXQoKVxuICBkeW5hbWljSGVpZ2h0ID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgndGFicycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHRhYnM6IE1hdFRhYkdyb3VwO1xuXG4gIEBWaWV3Q2hpbGRyZW4oQWN0aXZpdHlPdXRsZXRDb21wb25lbnQpXG4gIG91dGxldHM6IFF1ZXJ5TGlzdDxBY3Rpdml0eU91dGxldENvbXBvbmVudDxhbnksIGFueSwgYW55Pj47XG5cbiAgcmVhZG9ubHkgYWN0aXZpdHlUYWJzID0gbmV3IE11dGFibGVMaXN0TW9kZWw8VGFiQ29udGV4dDxhbnksIGFueSwgYW55Pj4oKTtcblxuICByZWFkb25seSBhY3RpdmU6VmFsdWVNb2RlbDxib29sZWFuPjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9hY3Rpdml0eUxpc3QgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIGNoYWluKHRoaXMudGhyb3R0bGVkTmVzdGVkQWN0aXZpdHlGaW5pc2hFdmVudHMpLnRocm90dGxlKDUwKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbk5lc3RlZEFjdGl2aXR5RmluaXNoZWQoKSk7XG4gICAgdGhpcy5zZXRBY3Rpdml0eUxpc3QodGhpcy5fYWN0aXZpdHlMaXN0LnJlYWRvbmx5KTtcbiAgICB0aGlzLmFjdGl2ZSA9IGNoYWluKHRoaXMuX2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQpLmlzTm90TmlsKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGNoYWluLCBvYnNlcnZlIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgb2JzZXJ2ZS52YWx1ZXNGcm9tKHRoaXMub3V0bGV0cy5jaGFuZ2VzKS5zdWJzY3JpYmUoKCkgPT4gc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZUFjdGl2aXR5TGlzdCgpKSk7XG4gICAgb2JzZXJ2ZS52YWx1ZXNGcm9tKHRoaXMudGFicy5hbmltYXRpb25Eb25lKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkFuaW1hdGlvbkZpbmlzaGVkKCkpO1xuICAgIHRoaXMudXBkYXRlQWN0aXZpdHlMaXN0KCk7XG4gIH1cblxuICBfc3RhcnRBY3Rpdml0eTxEMSwgUjEsIEUxPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RDEsIFIxLCBFMT4+LCBkYXRhPzogRDEpOiBQcm9taXNlPFIxPiB7XG4gICAgdGhpcy5jbGVhbnVwU3RhbGVOZXN0ZWRBY3Rpdml0aWVzKCk7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFIxPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBjb250ZXh0ID0gbmV3IFRhYkNvbnRleHQoZGF0YSwgYWN0aXZpdHlUeXBlLCBzZWxmLCB7XG4gICAgICAgIG9uRG9uZTogZnVuY3Rpb24ocmVzdWx0OiBSMSkge1xuICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICBzZWxmLnRocm90dGxlZE5lc3RlZEFjdGl2aXR5RmluaXNoRXZlbnRzLnB1Ymxpc2goe30pO1xuICAgICAgICB9LFxuICAgICAgICBvbkNhbmNlbDogZnVuY3Rpb24oZXJyb3I6IEUxKSB7XG4gICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICBzZWxmLnRocm90dGxlZE5lc3RlZEFjdGl2aXR5RmluaXNoRXZlbnRzLnB1Ymxpc2goe30pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHNlbGYuYWN0aXZpdHlUYWJzLnB1c2goY29udGV4dCk7XG4gICAgICBzZWxmLnRhYnMuc2VsZWN0ZWRJbmRleCA9IHRoaXMuYWN0aXZpdHlUYWJzLmxlbmd0aDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmluaXNoSW5pdGlhbEFjdGl2aXR5KCkge1xuICAgIHRoaXMuX2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQudmFsdWUgPSBudWxsO1xuICAgIHRoaXMuaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dEV2ZW50LmVtaXQobnVsbCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIG9uTmVzdGVkQWN0aXZpdHlGaW5pc2hlZCgpIHtcbiAgICB0aGlzLnN5bmNocm9uaXNlU2VsZWN0ZWRUYWJJbmRleCgpO1xuICAgIHRoaXMudXBkYXRlQWN0aXZpdHlMaXN0KCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIGNsZWFudXBTdGFsZU5lc3RlZEFjdGl2aXRpZXMoKSB7XG4gICAgaWYgKHRoaXMudGFicy5zZWxlY3RlZEluZGV4IDwgdGhpcy5hY3Rpdml0eVRhYnMubGVuZ3RoIC0gMSkge1xuICAgICAgY29uc3QgdGFicyA9IHRoaXMuYWN0aXZpdHlUYWJzLnZhbHVlO1xuICAgICAgY29uc3QgcmVtYWluaW5nQWN0aXZpdGllcyA9IHRhYnMuc2xpY2UoMCwgMSArIHRoaXMudGFicy5zZWxlY3RlZEluZGV4KTtcbiAgICAgIGNvbnN0IGZpbmlzaGVkQWN0aXZpdHlUYWJzID0gdGFicy5zbGljZSgxICsgdGhpcy50YWJzLnNlbGVjdGVkSW5kZXgpO1xuICAgICAgZmluaXNoZWRBY3Rpdml0eVRhYnMuZm9yRWFjaChhID0+IGEuZGlzcG9zZSgpKTtcbiAgICAgIHRoaXMuYWN0aXZpdHlUYWJzLnJ1bkluVHJhbnNhY3Rpb24oZHJhZnQgPT4ge1xuXG4gICAgICAgIGRyYWZ0LnZhbHVlID0gcmVtYWluaW5nQWN0aXZpdGllcztcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTeW5jaHJvbmlzZXMgdGhlIHNlbGVjdGVkIHRhYiBpbmRleC4gIFJldHVybnMgdHJ1ZSBpZiB0aGVyZSB3YXMgbm8gY2hhbmdlIHRvIHRoZSBzZWxlY3RlZCBpbmRleC5cbiAgICovXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgc3luY2hyb25pc2VTZWxlY3RlZFRhYkluZGV4KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHByZXZpb3VzSW5kZXggPSB0aGlzLnRhYnMuc2VsZWN0ZWRJbmRleDtcbiAgICBjb25zdCBuZXdJbmRleCA9IHRoaXMuYWN0aXZpdHlUYWJzLnF1ZXJ5KCkuZmluZEluZGV4KHQgPT4gdC5pc0NvbXBsZXRlKCkpIC0gMTtcbiAgICB0aGlzLnRhYnMuc2VsZWN0ZWRJbmRleCA9IG5ld0luZGV4O1xuICAgIHJldHVybiBwcmV2aW91c0luZGV4ID09PSBuZXdJbmRleDtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgb25BbmltYXRpb25GaW5pc2hlZCgpIHtcbiAgICB0aGlzLmdldFNlbGVjdGVkT3V0bGV0KCkuY29tcG9uZW50Lm9uQWN0aXZpdHlSZWFkeSgpO1xuICAgIHRoaXMuY2xlYW51cFN0YWxlTmVzdGVkQWN0aXZpdGllcygpO1xuICAgIHRoaXMudXBkYXRlQWN0aXZpdHlMaXN0KCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUFjdGl2aXR5TGlzdCgpIHtcbiAgICB0aGlzLl9hY3Rpdml0eUxpc3QudmFsdWUgPSB0aGlzLmFjdGl2aXR5VGFicy52YWx1ZS5maWx0ZXIodCA9PiAhdC5pc0NvbXBsZXRlKCkgJiYgdC5pc0NvbXBvbmVudFJlYWxpc2VkKCkpLm1hcCh0ID0+IHQuY29tcG9uZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZWN0ZWRPdXRsZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMub3V0bGV0cy50b0FycmF5KClbdGhpcy50YWJzLnNlbGVjdGVkSW5kZXhdO1xuICB9XG59XG4iXX0=
463
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUNMLE1BQU0sRUFFTixHQUFHLEVBQ0gsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixpQkFBaUIsRUFFbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUl4QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7OztBQU92Rjs7Ozs7OztJQUtFLG9CQUFxQixZQUFlLEVBQ2YsYUFBK0MsRUFDL0Msa0JBQXNDLEVBQ3RDLGlCQUEyQztRQUgzQyxpQkFBWSxHQUFaLFlBQVksQ0FBRztRQUNmLGtCQUFhLEdBQWIsYUFBYSxDQUFrQztRQUMvQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBMEI7UUFOeEQsY0FBUyxHQUFHLEtBQUssQ0FBQztJQU8xQixDQUFDOzs7O0lBRUQsd0NBQW1COzs7SUFBbkI7UUFDRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7Ozs7SUFFRCwrQkFBVTs7O0lBQVY7UUFDRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFD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QUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7Ozs7O0lBRU8sdURBQWtCOzs7O0lBQTFCO1FBQ0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTTs7OztRQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLG1CQUFtQixFQUFFLEVBQTFDLENBQTBDLEVBQUMsQ0FBQyxHQUFHOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsU0FBUyxFQUFYLENBQVcsRUFBQyxDQUFDO0lBQ25JLENBQUM7Ozs7O0lBRU8sc0RBQWlCOzs7O0lBQXpCO1FBQ0UsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekQsQ0FBQzs7Z0JBaEpGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyw4VEFBa0Q7O2lCQUVuRDs7Ozs7K0NBT0UsS0FBSztvREE0QkwsTUFBTSxTQUFDLDhCQUE4QjtnQ0FHckMsS0FBSzt1QkFHTCxTQUFTLFNBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTswQkFHbEMsWUFBWSxTQUFDLHVCQUF1Qjs7SUFpR3ZDLGlDQUFDO0NBQUEsQUFqSkQsQ0FLeUQsc0JBQXNCLEdBNEk5RTtTQTVJWSwwQkFBMEI7Ozs7OztJQUVyQyx5RUFBZ0Y7Ozs7O0lBRWhGLG1FQUF5Rzs7SUE4QnpHLHVFQUN1Rjs7SUFFdkYsbURBQ3NCOztJQUV0QiwwQ0FDa0I7O0lBRWxCLDZDQUMyRDs7SUFFM0Qsa0RBQTBFOztJQUUxRSw0Q0FBb0M7Ozs7O0lBRXBDLG1EQUE0RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW5cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRUYWJHcm91cCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7XG4gIGFzc2VydCxcbiAgQ29uc3RydWN0YWJsZSxcbiAgRHNsLFxuICBNdXRhYmxlTGlzdE1vZGVsLFxuICBNdXRhYmxlU3RyZWFtLFxuICBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbFxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5cbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vLi4vYWN0aXZpdHknO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHRCYXNlIH0gZnJvbSAnLi4vLi4vaW50ZXJhY3Rpb24tY29udGV4dC1iYXNlJztcbmltcG9ydCB7IEFjdGl2aXR5T3V0bGV0Q29udGV4dCB9IGZyb20gJy4uL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQtY29udGV4dCc7XG5pbXBvcnQgeyBBY3Rpdml0eU91dGxldENvbXBvbmVudCB9IGZyb20gJy4uL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50JztcblxuLyoqXG4gKiBOb3RlOiB0aGlzIGNsYXNzIGlzIG11dGFibGUgYW5kIGlzIHN0b3JlZCBpbiBhIGxpc3QgbW9kZWwuICBUaGlzIGlzIG5vcm1hbGx5IGEgYmlnIG5vIG5vIGJ1dFxuICogIHdlJ3JlIG1hbnVhbGx5IGRlcml2aW5nIG90aGVyIG1vZGVscyBmcm9tIHRoZSBsaXN0IGFmdGVyIHZpZXcgc3RhdGUgY2hhbmdlcy4gIEkuZS4gd2Ugbm90XG4gKiAgdXNpbmcgcGVjdGluIGNoYWlucyBvbiBhbnkgb2YgdGhlIG11dGFibGUgZmllbGRzLlxuICovXG5jbGFzcyBUYWJDb250ZXh0PEQsIFIsIEU+IGltcGxlbWVudHMgQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+IHtcblxuICBwcml2YXRlIF9jb21wbGV0ZSA9IGZhbHNlO1xuICBwcml2YXRlIF9jb21wb25lbnQ6IEFjdGl2aXR5PEQsIFIsIEU+O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGFjdGl2aXR5RGF0YTogRCxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgYWN0aXZpdHlDbGFzczogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0LFxuICAgICAgICAgICAgICByZWFkb25seSBhY3Rpdml0eUNhbGxiYWNrczogQWN0aXZpdHkuQ2FsbGJhY2tzPFIsIEU+KSB7XG4gIH1cblxuICBpc0NvbXBvbmVudFJlYWxpc2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2NvbXBvbmVudDtcbiAgfVxuXG4gIGlzQ29tcGxldGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBsZXRlO1xuICB9XG5cbiAgY29tcG9uZW50UmVhZHkoY29tcG9uZW50OiBBY3Rpdml0eTxELCBSLCBFPikge1xuICAgIGFzc2VydC5pc05pbCh0aGlzLl9jb21wb25lbnQpO1xuICAgIHRoaXMuX2NvbXBvbmVudCA9IGNvbXBvbmVudDtcbiAgfVxuXG4gIGdldCBjb21wb25lbnQoKTogQWN0aXZpdHk8RCwgUiwgRT4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnQ7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbkRvbmUocmVzdWx0OiBSKTogdm9pZCB7XG4gICAgdGhpcy5fY29tcGxldGUgPSB0cnVlO1xuICAgIHRoaXMuYWN0aXZpdHlDYWxsYmFja3Mub25Eb25lKHJlc3VsdCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbkNhbmNlbChlcnJvcjogRSk6IHZvaWQge1xuICAgIHRoaXMuX2NvbXBsZXRlID0gdHJ1ZTtcbiAgICB0aGlzLmFjdGl2aXR5Q2FsbGJhY2tzLm9uQ2FuY2VsKGVycm9yKTtcbiAgfVxuXG4gIGRpc3Bvc2UoKSB7XG4gICAgdGhpcy5jb21wb25lbnQuZGlzcG9zZSgpO1xuICB9XG5cbn1cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtYWN0aXZpdHktY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PEQsIFIsIEU+IGV4dGVuZHMgSW50ZXJhY3Rpb25Db250ZXh0QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB0aHJvdHRsZWROZXN0ZWRBY3Rpdml0eUZpbmlzaEV2ZW50cyA9IG5ldyBNdXRhYmxlU3RyZWFtPGFueT4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0ID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPEFjdGl2aXR5T3V0bGV0Q29udGV4dDxELCBSLCBFPj4oKTtcblxuICBASW5wdXQoKVxuICBzZXQgaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dChpbml0aWFsQ29udGV4dDogQWN0aXZpdHlPdXRsZXRDb250ZXh0PEQsIFIsIEU+KSB7XG4gICAgYXNzZXJ0LmlzTmlsKHRoaXMuX2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQudmFsdWUpO1xuICAgIC8vIHdlIGNsZWFuIHVwIGF0IHRoZSBzdGFydCBhcyB3ZSBsZWF2ZSB0aGUgaW5pdGlhbCBhY3Rpdml0eSBpbiBwbGFjZSBhZnRlciBpdCBmaW5pc2hlc1xuICAgIC8vIHNvIHRoYXQgdGhlIGFjdGl2aXR5IHJlbWFpbnMgdmlzaWJsZSBkdXJpbmcgdGhlIGlucGxhY2UtaW50ZXJhY3Rpb24tY29udGV4dCBhbmltYXRpb25zLlxuICAgIHRoaXMuYWN0aXZpdHlUYWJzLnZhbHVlID0gW107XG4gICAgdGhpcy5fYWN0aXZpdHlMaXN0LnZhbHVlID0gW107XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgaWYgKGluaXRpYWxDb250ZXh0KSB7XG4gICAgICB0aGlzLl9pbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0LnZhbHVlID0gaW5pdGlhbENvbnRleHQ7XG4gICAgICB0aGlzLmFjdGl2aXR5VGFicy5wdXNoKG5ldyBUYWJDb250ZXh0KGluaXRpYWxDb250ZXh0LmFjdGl2aXR5RGF0YSwgaW5pdGlhbENvbnRleHQuYWN0aXZpdHlDbGFzcywgdGhpcywge1xuICAgICAgICBvbkRvbmU6IChyZXN1bHQ6IFIpID0+IHtcbiAgICAgICAgICBzZWxmLmZpbmlzaEluaXRpYWxBY3Rpdml0eSgpO1xuICAgICAgICAgIGluaXRpYWxDb250ZXh0Lm9uRG9uZShyZXN1bHQpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNhbmNlbDogKGVycm9yOiBFKSA9PiB7XG4gICAgICAgICAgc2VsZi5maW5pc2hJbml0aWFsQWN0aXZpdHkoKTtcbiAgICAgICAgICBpbml0aWFsQ29udGV4dC5vbkNhbmNlbChlcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgICB9XG4gIH1cblxuICBnZXQgaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dC52YWx1ZTtcbiAgfVxuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1vdXRwdXQtcmVuYW1lXG4gIEBPdXRwdXQoJ2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQnKVxuICBpbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2aXR5T3V0bGV0Q29udGV4dDxELCBSLCBFPj4oKTtcblxuICBASW5wdXQoKVxuICBkeW5hbWljSGVpZ2h0ID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgndGFicycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHRhYnM6IE1hdFRhYkdyb3VwO1xuXG4gIEBWaWV3Q2hpbGRyZW4oQWN0aXZpdHlPdXRsZXRDb21wb25lbnQpXG4gIG91dGxldHM6IFF1ZXJ5TGlzdDxBY3Rpdml0eU91dGxldENvbXBvbmVudDxhbnksIGFueSwgYW55Pj47XG5cbiAgcmVhZG9ubHkgYWN0aXZpdHlUYWJzID0gbmV3IE11dGFibGVMaXN0TW9kZWw8VGFiQ29udGV4dDxhbnksIGFueSwgYW55Pj4oKTtcblxuICByZWFkb25seSBhY3RpdmU6VmFsdWVNb2RlbDxib29sZWFuPjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9hY3Rpdml0eUxpc3QgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIGNoYWluKHRoaXMudGhyb3R0bGVkTmVzdGVkQWN0aXZpdHlGaW5pc2hFdmVudHMpLnRocm90dGxlKDUwKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbk5lc3RlZEFjdGl2aXR5RmluaXNoZWQoKSk7XG4gICAgdGhpcy5zZXRBY3Rpdml0eUxpc3QodGhpcy5fYWN0aXZpdHlMaXN0LnJlYWRvbmx5KTtcbiAgICB0aGlzLmFjdGl2ZSA9IGNoYWluKHRoaXMuX2luaXRpYWxBY3Rpdml0eU91dGxldENvbnRleHQpLmlzTm90TmlsKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGNoYWluLCBvYnNlcnZlIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgb2JzZXJ2ZS52YWx1ZXNGcm9tKHRoaXMub3V0bGV0cy5jaGFuZ2VzKS5zdWJzY3JpYmUoKCkgPT4gc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZUFjdGl2aXR5TGlzdCgpKSk7XG4gICAgb2JzZXJ2ZS52YWx1ZXNGcm9tKHRoaXMudGFicy5hbmltYXRpb25Eb25lKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkFuaW1hdGlvbkZpbmlzaGVkKCkpO1xuICAgIHRoaXMudXBkYXRlQWN0aXZpdHlMaXN0KCk7XG4gIH1cblxuICBfc3RhcnRBY3Rpdml0eTxEMSwgUjEsIEUxPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RDEsIFIxLCBFMT4+LCBkYXRhPzogRDEpOiBQcm9taXNlPFIxPiB7XG4gICAgdGhpcy5jbGVhbnVwU3RhbGVOZXN0ZWRBY3Rpdml0aWVzKCk7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFIxPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBjb250ZXh0ID0gbmV3IFRhYkNvbnRleHQoZGF0YSwgYWN0aXZpdHlUeXBlLCBzZWxmLCB7XG4gICAgICAgIG9uRG9uZTogZnVuY3Rpb24ocmVzdWx0OiBSMSkge1xuICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICBzZWxmLnRocm90dGxlZE5lc3RlZEFjdGl2aXR5RmluaXNoRXZlbnRzLnB1Ymxpc2goe30pO1xuICAgICAgICB9LFxuICAgICAgICBvbkNhbmNlbDogZnVuY3Rpb24oZXJyb3I6IEUxKSB7XG4gICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICBzZWxmLnRocm90dGxlZE5lc3RlZEFjdGl2aXR5RmluaXNoRXZlbnRzLnB1Ymxpc2goe30pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHNlbGYuYWN0aXZpdHlUYWJzLnB1c2goY29udGV4dCk7XG4gICAgICBzZWxmLnRhYnMuc2VsZWN0ZWRJbmRleCA9IHRoaXMuYWN0aXZpdHlUYWJzLmxlbmd0aDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmluaXNoSW5pdGlhbEFjdGl2aXR5KCkge1xuICAgIHRoaXMudXBkYXRlQWN0aXZpdHlMaXN0KCk7XG4gICAgdGhpcy5faW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dC52YWx1ZSA9IG51bGw7XG4gICAgdGhpcy5pbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0RXZlbnQuZW1pdChudWxsKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgb25OZXN0ZWRBY3Rpdml0eUZpbmlzaGVkKCkge1xuICAgIHRoaXMuc3luY2hyb25pc2VTZWxlY3RlZFRhYkluZGV4KCk7XG4gICAgdGhpcy51cGRhdGVBY3Rpdml0eUxpc3QoKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgY2xlYW51cFN0YWxlTmVzdGVkQWN0aXZpdGllcygpIHtcbiAgICBpZiAodGhpcy50YWJzLnNlbGVjdGVkSW5kZXggPCB0aGlzLmFjdGl2aXR5VGFicy5sZW5ndGggLSAxKSB7XG4gICAgICBjb25zdCB0YWJzID0gdGhpcy5hY3Rpdml0eVRhYnMudmFsdWU7XG4gICAgICBjb25zdCByZW1haW5pbmdBY3Rpdml0aWVzID0gdGFicy5zbGljZSgwLCAxICsgdGhpcy50YWJzLnNlbGVjdGVkSW5kZXgpO1xuICAgICAgY29uc3QgZmluaXNoZWRBY3Rpdml0eVRhYnMgPSB0YWJzLnNsaWNlKDEgKyB0aGlzLnRhYnMuc2VsZWN0ZWRJbmRleCk7XG4gICAgICBmaW5pc2hlZEFjdGl2aXR5VGFicy5mb3JFYWNoKGEgPT4gYS5kaXNwb3NlKCkpO1xuICAgICAgdGhpcy5hY3Rpdml0eVRhYnMucnVuSW5UcmFuc2FjdGlvbihkcmFmdCA9PiB7XG5cbiAgICAgICAgZHJhZnQudmFsdWUgPSByZW1haW5pbmdBY3Rpdml0aWVzO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN5bmNocm9uaXNlcyB0aGUgc2VsZWN0ZWQgdGFiIGluZGV4LiAgUmV0dXJucyB0cnVlIGlmIHRoZXJlIHdhcyBubyBjaGFuZ2UgdG8gdGhlIHNlbGVjdGVkIGluZGV4LlxuICAgKi9cbiAgLy8gQFRyYWNlKClcbiAgcHJpdmF0ZSBzeW5jaHJvbmlzZVNlbGVjdGVkVGFiSW5kZXgoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcHJldmlvdXNJbmRleCA9IHRoaXMudGFicy5zZWxlY3RlZEluZGV4O1xuICAgIGNvbnN0IG5ld0luZGV4ID0gdGhpcy5hY3Rpdml0eVRhYnMucXVlcnkoKS5maW5kSW5kZXgodCA9PiB0LmlzQ29tcGxldGUoKSkgLSAxO1xuICAgIHRoaXMudGFicy5zZWxlY3RlZEluZGV4ID0gbmV3SW5kZXg7XG4gICAgcmV0dXJuIHByZXZpb3VzSW5kZXggPT09IG5ld0luZGV4O1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgcHJpdmF0ZSBvbkFuaW1hdGlvbkZpbmlzaGVkKCkge1xuICAgIHRoaXMuZ2V0U2VsZWN0ZWRPdXRsZXQoKS5jb21wb25lbnQub25BY3Rpdml0eVJlYWR5KCk7XG4gICAgdGhpcy5jbGVhbnVwU3RhbGVOZXN0ZWRBY3Rpdml0aWVzKCk7XG4gICAgdGhpcy51cGRhdGVBY3Rpdml0eUxpc3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQWN0aXZpdHlMaXN0KCkge1xuICAgIHRoaXMuX2FjdGl2aXR5TGlzdC52YWx1ZSA9IHRoaXMuYWN0aXZpdHlUYWJzLnZhbHVlLmZpbHRlcih0ID0+ICF0LmlzQ29tcGxldGUoKSAmJiB0LmlzQ29tcG9uZW50UmVhbGlzZWQoKSkubWFwKHQgPT4gdC5jb21wb25lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZWxlY3RlZE91dGxldCgpIHtcbiAgICByZXR1cm4gdGhpcy5vdXRsZXRzLnRvQXJyYXkoKVt0aGlzLnRhYnMuc2VsZWN0ZWRJbmRleF07XG4gIH1cbn1cbiJdfQ==
@@ -4,7 +4,6 @@
4
4
  */
5
5
  import * as tslib_1 from "tslib";
6
6
  import { Deferred, DelegatingListModel, Dsl } from '@coolon/pectin';
7
- import * as _ from 'lodash';
8
7
  import { AlertDialogComponent } from './components/alert-dialog/alert-dialog.component';
9
8
  import { ConfirmThenDialogComponent } from './components/confirm-then-dialog/confirm-then-dialog.component';
10
9
  import { ConfirmationDialogComponent } from './components/confirmation-dialog/confirmation-dialog.component';
@@ -25,13 +24,14 @@ InteractionContextBase = /** @class */ (function (_super) {
25
24
  */
26
25
  _this._activityListDelegate = new DelegatingListModel();
27
26
  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;
28
- when.listOf(_this.activityList).becomesPopulated((/**
29
- * @param {?} activities
27
+ _this._currentActivity = chain(_this.activityList).last();
28
+ when.valueOf(_this._currentActivity).becomesTruthy((/**
29
+ * @param {?} activity
30
30
  * @return {?}
31
31
  */
32
- function (activities) {
32
+ function (activity) {
33
33
  if (_this.deferredGetCurrentActivity) {
34
- _this.deferredGetCurrentActivity.resolve(_.last(activities));
34
+ _this.deferredGetCurrentActivity.resolve(activity);
35
35
  _this.deferredGetCurrentActivity = null;
36
36
  }
37
37
  }));
@@ -60,6 +60,16 @@ InteractionContextBase = /** @class */ (function (_super) {
60
60
  enumerable: true,
61
61
  configurable: true
62
62
  });
63
+ Object.defineProperty(InteractionContextBase.prototype, "activeActivity", {
64
+ get: /**
65
+ * @return {?}
66
+ */
67
+ function () {
68
+ return this._currentActivity;
69
+ },
70
+ enumerable: true,
71
+ configurable: true
72
+ });
63
73
  /**
64
74
  * Returns the activity that is currently active.
65
75
  * This model is only updated in the next tick after the view has been updated.
@@ -86,12 +96,14 @@ InteractionContextBase = /** @class */ (function (_super) {
86
96
  return [2 /*return*/, this.deferredGetCurrentActivity.promise];
87
97
  }
88
98
  else {
89
- if (this.activityList.length < 1) {
99
+ if (!this._currentActivity.value) {
100
+ // we'be been asked before we've got any activities, create a deferred promise
101
+ // that we resolve when the list populates.
90
102
  this.deferredGetCurrentActivity = Deferred.defer();
91
103
  return [2 /*return*/, this.deferredGetCurrentActivity.promise];
92
104
  }
93
105
  else {
94
- return [2 /*return*/, _.last(this.activityList.value)];
106
+ return [2 /*return*/, this._currentActivity.value];
95
107
  }
96
108
  }
97
109
  }
@@ -197,6 +209,11 @@ if (false) {
197
209
  * @private
198
210
  */
199
211
  InteractionContextBase.prototype.deferredGetCurrentActivity;
212
+ /**
213
+ * @type {?}
214
+ * @private
215
+ */
216
+ InteractionContextBase.prototype._currentActivity;
200
217
  /**
201
218
  * @abstract
202
219
  * @protected
@@ -208,4 +225,4 @@ if (false) {
208
225
  */
209
226
  InteractionContextBase.prototype._startActivity = function (activityType, data, disableClose) { };
210
227
  }
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC1iYXNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL2ludGVyYWN0aW9uL2ludGVyYWN0aW9uLWNvbnRleHQtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFFTCxRQUFRLEVBQ1IsbUJBQW1CLEVBQ25CLEdBQUcsRUFJSixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRzVCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBRTdHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBRTNEOzs7O0lBQXFELGtEQUFrQjtJQVVyRTtRQUFBLFlBQ0UsaUJBQU8sU0FRUjs7Ozs7UUFiZ0IsMkJBQXFCLEdBQUcsSUFBSSxtQkFBbUIsRUFBc0IsQ0FBQztRQU0vRSxJQUFBLDJCQUFrRixFQUFoRixnQkFBSyxFQUFFLG9CQUFPLEVBQUUsa0JBQU0sRUFBRSxjQUFJLEVBQUUsZ0JBQUssRUFBRSxvQkFBTyxFQUFFLHNCQUFrQztRQUN4RixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxnQkFBZ0I7Ozs7UUFBQyxVQUFDLFVBQVU7WUFDekQsSUFBSSxLQUFJLENBQUMsMEJBQTBCLEVBQUU7Z0JBQ25DLEtBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUM1RCxLQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO2FBQ3hDO1FBQ0gsQ0FBQyxFQUFDLENBQUM7O0lBQ0wsQ0FBQzs7Ozs7O0lBRVMsZ0RBQWU7Ozs7O0lBQXpCLFVBQTBCLFlBQTJDO1FBQ25FLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELHNCQUFJLGdEQUFZOzs7O1FBQWhCO1lBQ0UsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDO1FBQzdDLENBQUM7OztPQUFBO0lBRUQ7OztPQUdHOzs7Ozs7SUFDRyxtREFBa0I7Ozs7O0lBQXhCOzs7Z0JBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDcEIsc0JBQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxFQUFDO2lCQUNsRDtxQkFBTTtvQkFDTCxJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRTt3QkFDbkMsMERBQTBEO3dCQUMxRCxzQkFBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsT0FBTyxFQUFDO3FCQUNoRDt5QkFBTTt3QkFDTCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTs0QkFDaEMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzs0QkFDbkQsc0JBQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sRUFBQzt5QkFDaEQ7NkJBQU07NEJBQ0wsc0JBQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFDO3lCQUN4QztxQkFDRjtpQkFDRjs7OztLQUNGOzs7Ozs7O0lBR0QsOENBQWE7Ozs7OztJQUFiLFVBQXVCLFlBQThDLEVBQUUsSUFBUTtRQUM3RSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7Ozs7O0lBRUQsd0NBQU87Ozs7SUFBUCxVQUFRLE9BQWdCO1FBQ3RCLDBFQUEwRTtRQUMxRSx5RUFBeUU7UUFDekUsMENBQTBDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJOzs7UUFBQyxjQUFNLE9BQUEsSUFBSSxFQUFKLENBQUksRUFBQyxDQUFDLEtBQUs7OztRQUFDLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxFQUFDLENBQUM7SUFDM0UsQ0FBQzs7Ozs7SUFFRCxzQ0FBSzs7OztJQUFMLFVBQU0sS0FBWTtRQUNoQixvQ0FBb0M7UUFDcEMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDOzs7OztJQUVELGdEQUFlOzs7O0lBQWYsVUFBZ0IsT0FBZ0I7UUFDOUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLDJCQUEyQixFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6RSxDQUFDOzs7Ozs7OztJQUVELDRDQUFXOzs7Ozs7O0lBQVgsVUFBcUIsT0FBZ0IsRUFBRSxZQUE4QyxFQUFFLElBQVE7UUFDN0YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFpRCwwQkFBMEIsRUFBRTtZQUNyRyxPQUFPLFNBQUE7WUFDUCxZQUFZLEVBQUUsWUFBWTtZQUMxQixJQUFJLEVBQUUsSUFBSTtTQUNYLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUgsNkJBQUM7QUFBRCxDQUFDLEFBaEZELENBQXFELGtCQUFrQixHQWdGdEU7Ozs7Ozs7Ozs7OztJQTFFQyx1REFBdUY7Ozs7O0lBRXZGLDREQUFzRTs7Ozs7Ozs7OztJQTBDdEUsa0dBQXdJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29uc3RydWN0YWJsZSxcbiAgRGVmZXJyZWQsXG4gIERlbGVnYXRpbmdMaXN0TW9kZWwsIERpc3Bvc2FibGUsXG4gIERzbCxcbiAgRXZlbnRMaXN0ZW5lckxpc3QsXG4gIEdhcmJhZ2VDb2xsZWN0b3IsXG4gIExpc3RNb2RlbFxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4vYWN0aXZpdHknO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICcuL2FsZXJ0JztcbmltcG9ydCB7IEFsZXJ0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4vY29uZmlybSc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSW50ZXJhY3Rpb25Db250ZXh0QmFzZSBleHRlbmRzIEludGVyYWN0aW9uQ29udGV4dCB7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgbGlzdCBvZiBhY3Rpdml0aWVzIHRoYXQgYXJlIGluIHByb2dyZXNzLlxuICAgKiBUaGlzIG1vZGVsIGlzIG9ubHkgdXBkYXRlZCBpbiB0aGUgbmV4dCB0aWNrIGFmdGVyIHRoZSB2aWV3IGhhcyBiZWVuIHVwZGF0ZWQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY3Rpdml0eUxpc3REZWxlZ2F0ZSA9IG5ldyBEZWxlZ2F0aW5nTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55Pj4oKTtcblxuICBwcml2YXRlIGRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5OiBEZWZlcnJlZDxBY3Rpdml0eTxhbnksIGFueSwgYW55Pj47XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB3aGVuLmxpc3RPZih0aGlzLmFjdGl2aXR5TGlzdCkuYmVjb21lc1BvcHVsYXRlZCgoYWN0aXZpdGllcykgPT4ge1xuICAgICAgaWYgKHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkpIHtcbiAgICAgICAgdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eS5yZXNvbHZlKF8ubGFzdChhY3Rpdml0aWVzKSk7XG4gICAgICAgIHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkgPSBudWxsO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldEFjdGl2aXR5TGlzdChhY3Rpdml0eUxpc3Q6IExpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KSB7XG4gICAgdGhpcy5fYWN0aXZpdHlMaXN0RGVsZWdhdGUuc2V0RGVsZWdhdGUoYWN0aXZpdHlMaXN0KTtcbiAgfVxuXG4gIGdldCBhY3Rpdml0eUxpc3QoKTogTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55LCBhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2aXR5TGlzdERlbGVnYXRlLnJlYWRvbmx5O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFjdGl2aXR5IHRoYXQgaXMgY3VycmVudGx5IGFjdGl2ZS5cbiAgICogVGhpcyBtb2RlbCBpcyBvbmx5IHVwZGF0ZWQgaW4gdGhlIG5leHQgdGljayBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiB1cGRhdGVkLlxuICAgKi9cbiAgYXN5bmMgZ2V0Q3VycmVudEFjdGl2aXR5KCk6IFByb21pc2U8QWN0aXZpdHk8YW55LCBhbnk+PiB7XG4gICAgaWYgKCF0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgnbm8gYWN0aXZpdHkgaW4gcHJvZ3Jlc3MnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkpIHtcbiAgICAgICAgLy8gd2UncmUgYWxyZWFkeSB3YWl0aW5nIHRoZW4ganVzdCByZXR1cm4gdGhlIHNhbWUgcHJvbWlzZVxuICAgICAgICByZXR1cm4gdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eS5wcm9taXNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZpdHlMaXN0Lmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICB0aGlzLmRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5ID0gRGVmZXJyZWQuZGVmZXIoKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eS5wcm9taXNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBfLmxhc3QodGhpcy5hY3Rpdml0eUxpc3QudmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBfc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCwgZGlzYWJsZUNsb3NlPzpib29sZWFuKTogUHJvbWlzZTxSPjtcblxuICBzdGFydEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE/OiBEKTogUHJvbWlzZTxSPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0QWN0aXZpdHkoYWN0aXZpdHlUeXBlLCBkYXRhKTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIC8vIEltcG9ydGFudDogd2UgaGF2ZSB0byBpbXBsZW1lbnQgY29uZmlybU9yUmVqZWN0IGFzIHRoZSBtYWluIGVudHJ5IHBvaW50XG4gICAgLy8gYXMgdGhlIGNhbkRlYWN0aXZhdGlvbiBndWFyZHMgbmVlZCB0byBiZSBhYmxlIHRvIGNhbmNlbCBhbiBpbnRlcmFjdGlvblxuICAgIC8vIHdpdGhvdXQgY2FyaW5nIGFib3V0IHJldHVybmluZyBhIHZhbHVlLlxuICAgIHJldHVybiB0aGlzLmNvbmZpcm1PclJlamVjdChjb25maXJtKS50aGVuKCgpID0+IHRydWUpLmNhdGNoKCgpID0+IGZhbHNlKTtcbiAgfVxuXG4gIGFsZXJ0KGFsZXJ0OiBBbGVydCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIFRPRE86IFRlc3QgZGlzYWJsZUNsb3NlID09PSBmYWxzZVxuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KEFsZXJ0RGlhbG9nQ29tcG9uZW50LCBhbGVydCwgZmFsc2UpO1xuICB9XG5cbiAgY29uZmlybU9yUmVqZWN0KGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIGNvbmZpcm0sIHRydWUpO1xuICB9XG5cbiAgY29uZmlybVRoZW48RCwgUiwgRT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eTxDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudC5EYXRhPEQsIFIsIEU+LCBSLCBFPihDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgY29uZmlybSxcbiAgICAgIGFjdGl2aXR5VHlwZTogYWN0aXZpdHlUeXBlLFxuICAgICAgZGF0YTogZGF0YVxuICAgIH0sIHRydWUpO1xuICB9XG5cbn1cblxuIl19
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC1iYXNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL2ludGVyYWN0aW9uL2ludGVyYWN0aW9uLWNvbnRleHQtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFFTCxRQUFRLEVBQ1IsbUJBQW1CLEVBQ25CLEdBQUcsRUFJSixNQUFNLGdCQUFnQixDQUFDO0FBSXhCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBRTdHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBRTNEOzs7O0lBQXFELGtEQUFrQjtJQVdyRTtRQUFBLFlBQ0UsaUJBQU8sU0FTUjs7Ozs7UUFmZ0IsMkJBQXFCLEdBQUcsSUFBSSxtQkFBbUIsRUFBc0IsQ0FBQztRQU8vRSxJQUFBLDJCQUFrRixFQUFoRixnQkFBSyxFQUFFLG9CQUFPLEVBQUUsa0JBQU0sRUFBRSxjQUFJLEVBQUUsZ0JBQUssRUFBRSxvQkFBTyxFQUFFLHNCQUFrQztRQUN4RixLQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLEtBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4RCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGFBQWE7Ozs7UUFBQyxVQUFDLFFBQVE7WUFDekQsSUFBSSxLQUFJLENBQUMsMEJBQTBCLEVBQUU7Z0JBQ25DLEtBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2xELEtBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUM7YUFDeEM7UUFDSCxDQUFDLEVBQUMsQ0FBQzs7SUFDTCxDQUFDOzs7Ozs7SUFFUyxnREFBZTs7Ozs7SUFBekIsVUFBMEIsWUFBMkM7UUFDbkUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsc0JBQUksZ0RBQVk7Ozs7UUFBaEI7WUFDRSxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUM7UUFDN0MsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSxrREFBYzs7OztRQUFsQjtZQUNFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQy9CLENBQUM7OztPQUFBO0lBRUQ7OztPQUdHOzs7Ozs7SUFDRyxtREFBa0I7Ozs7O0lBQXhCOzs7Z0JBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDcEIsc0JBQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxFQUFDO2lCQUNsRDtxQkFBTTtvQkFDTCxJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRTt3QkFDbkMsMERBQTBEO3dCQUMxRCxzQkFBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsT0FBTyxFQUFDO3FCQUNoRDt5QkFBTTt3QkFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRTs0QkFDaEMsOEVBQThFOzRCQUM5RSwyQ0FBMkM7NEJBQzNDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7NEJBQ25ELHNCQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLEVBQUM7eUJBQ2hEOzZCQUFNOzRCQUNMLHNCQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUM7eUJBQ3BDO3FCQUNGO2lCQUNGOzs7O0tBQ0Y7Ozs7Ozs7SUFHRCw4Q0FBYTs7Ozs7O0lBQWIsVUFBdUIsWUFBOEMsRUFBRSxJQUFRO1FBQzdFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQzs7Ozs7SUFFRCx3Q0FBTzs7OztJQUFQLFVBQVEsT0FBZ0I7UUFDdEIsMEVBQTBFO1FBQzFFLHlFQUF5RTtRQUN6RSwwQ0FBMEM7UUFDMUMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUk7OztRQUFDLGNBQU0sT0FBQSxJQUFJLEVBQUosQ0FBSSxFQUFDLENBQUMsS0FBSzs7O1FBQUMsY0FBTSxPQUFBLEtBQUssRUFBTCxDQUFLLEVBQUMsQ0FBQztJQUMzRSxDQUFDOzs7OztJQUVELHNDQUFLOzs7O0lBQUwsVUFBTSxLQUFZO1FBQ2hCLG9DQUFvQztRQUNwQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Ozs7O0lBRUQsZ0RBQWU7Ozs7SUFBZixVQUFnQixPQUFnQjtRQUM5QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsMkJBQTJCLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Ozs7Ozs7O0lBRUQsNENBQVc7Ozs7Ozs7SUFBWCxVQUFxQixPQUFnQixFQUFFLFlBQThDLEVBQUUsSUFBUTtRQUM3RixPQUFPLElBQUksQ0FBQyxjQUFjLENBQWlELDBCQUEwQixFQUFFO1lBQ3JHLE9BQU8sU0FBQTtZQUNQLFlBQVksRUFBRSxZQUFZO1lBQzFCLElBQUksRUFBRSxJQUFJO1NBQ1gsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFSCw2QkFBQztBQUFELENBQUMsQUF4RkQsQ0FBcUQsa0JBQWtCLEdBd0Z0RTs7Ozs7Ozs7Ozs7O0lBbEZDLHVEQUF1Rjs7Ozs7SUFFdkYsNERBQXNFOzs7OztJQUN0RSxrREFBbUU7Ozs7Ozs7Ozs7SUFpRG5FLGtHQUF3SSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbnN0cnVjdGFibGUsXG4gIERlZmVycmVkLFxuICBEZWxlZ2F0aW5nTGlzdE1vZGVsLCBEaXNwb3NhYmxlLFxuICBEc2wsXG4gIEV2ZW50TGlzdGVuZXJMaXN0LFxuICBHYXJiYWdlQ29sbGVjdG9yLFxuICBMaXN0TW9kZWwsIFZhbHVlTW9kZWwsIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4vYWN0aXZpdHknO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICcuL2FsZXJ0JztcbmltcG9ydCB7IEFsZXJ0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4vY29uZmlybSc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSW50ZXJhY3Rpb25Db250ZXh0QmFzZSBleHRlbmRzIEludGVyYWN0aW9uQ29udGV4dCB7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgbGlzdCBvZiBhY3Rpdml0aWVzIHRoYXQgYXJlIGluIHByb2dyZXNzLlxuICAgKiBUaGlzIG1vZGVsIGlzIG9ubHkgdXBkYXRlZCBpbiB0aGUgbmV4dCB0aWNrIGFmdGVyIHRoZSB2aWV3IGhhcyBiZWVuIHVwZGF0ZWQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY3Rpdml0eUxpc3REZWxlZ2F0ZSA9IG5ldyBEZWxlZ2F0aW5nTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55Pj4oKTtcblxuICBwcml2YXRlIGRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5OiBEZWZlcnJlZDxBY3Rpdml0eTxhbnksIGFueSwgYW55Pj47XG4gIHByaXZhdGUgX2N1cnJlbnRBY3Rpdml0eTogVmFsdWVNb2RlbENoYWluPEFjdGl2aXR5PGFueSwgYW55LCBhbnk+PjtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHRoaXMuX2N1cnJlbnRBY3Rpdml0eSA9IGNoYWluKHRoaXMuYWN0aXZpdHlMaXN0KS5sYXN0KCk7XG4gICAgd2hlbi52YWx1ZU9mKHRoaXMuX2N1cnJlbnRBY3Rpdml0eSkuYmVjb21lc1RydXRoeSgoYWN0aXZpdHkpID0+IHtcbiAgICAgIGlmICh0aGlzLmRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5KSB7XG4gICAgICAgIHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkucmVzb2x2ZShhY3Rpdml0eSk7XG4gICAgICAgIHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkgPSBudWxsO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldEFjdGl2aXR5TGlzdChhY3Rpdml0eUxpc3Q6IExpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KSB7XG4gICAgdGhpcy5fYWN0aXZpdHlMaXN0RGVsZWdhdGUuc2V0RGVsZWdhdGUoYWN0aXZpdHlMaXN0KTtcbiAgfVxuXG4gIGdldCBhY3Rpdml0eUxpc3QoKTogTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55LCBhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2aXR5TGlzdERlbGVnYXRlLnJlYWRvbmx5O1xuICB9XG5cbiAgZ2V0IGFjdGl2ZUFjdGl2aXR5KCk6VmFsdWVNb2RlbDxBY3Rpdml0eTxhbnksIGFueSxhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRBY3Rpdml0eTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBhY3Rpdml0eSB0aGF0IGlzIGN1cnJlbnRseSBhY3RpdmUuXG4gICAqIFRoaXMgbW9kZWwgaXMgb25seSB1cGRhdGVkIGluIHRoZSBuZXh0IHRpY2sgYWZ0ZXIgdGhlIHZpZXcgaGFzIGJlZW4gdXBkYXRlZC5cbiAgICovXG4gIGFzeW5jIGdldEN1cnJlbnRBY3Rpdml0eSgpOiBQcm9taXNlPEFjdGl2aXR5PGFueSwgYW55Pj4ge1xuICAgIGlmICghdGhpcy5pc0FjdGl2ZSgpKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoJ25vIGFjdGl2aXR5IGluIHByb2dyZXNzJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5KSB7XG4gICAgICAgIC8vIHdlJ3JlIGFscmVhZHkgd2FpdGluZyB0aGVuIGp1c3QgcmV0dXJuIHRoZSBzYW1lIHByb21pc2VcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkucHJvbWlzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghdGhpcy5fY3VycmVudEFjdGl2aXR5LnZhbHVlKSB7XG4gICAgICAgICAgLy8gd2UnYmUgYmVlbiBhc2tlZCBiZWZvcmUgd2UndmUgZ290IGFueSBhY3Rpdml0aWVzLCBjcmVhdGUgYSBkZWZlcnJlZCBwcm9taXNlXG4gICAgICAgICAgLy8gdGhhdCB3ZSByZXNvbHZlIHdoZW4gdGhlIGxpc3QgcG9wdWxhdGVzLlxuICAgICAgICAgIHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkgPSBEZWZlcnJlZC5kZWZlcigpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5LnByb21pc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRBY3Rpdml0eS52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgX3N0YXJ0QWN0aXZpdHk8RCwgUiwgRT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQsIGRpc2FibGVDbG9zZT86Ym9vbGVhbik6IFByb21pc2U8Uj47XG5cbiAgc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KGFjdGl2aXR5VHlwZSwgZGF0YSk7XG4gIH1cblxuICBjb25maXJtKGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAvLyBJbXBvcnRhbnQ6IHdlIGhhdmUgdG8gaW1wbGVtZW50IGNvbmZpcm1PclJlamVjdCBhcyB0aGUgbWFpbiBlbnRyeSBwb2ludFxuICAgIC8vIGFzIHRoZSBjYW5EZWFjdGl2YXRpb24gZ3VhcmRzIG5lZWQgdG8gYmUgYWJsZSB0byBjYW5jZWwgYW4gaW50ZXJhY3Rpb25cbiAgICAvLyB3aXRob3V0IGNhcmluZyBhYm91dCByZXR1cm5pbmcgYSB2YWx1ZS5cbiAgICByZXR1cm4gdGhpcy5jb25maXJtT3JSZWplY3QoY29uZmlybSkudGhlbigoKSA9PiB0cnVlKS5jYXRjaCgoKSA9PiBmYWxzZSk7XG4gIH1cblxuICBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBUT0RPOiBUZXN0IGRpc2FibGVDbG9zZSA9PT0gZmFsc2VcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShBbGVydERpYWxvZ0NvbXBvbmVudCwgYWxlcnQsIGZhbHNlKTtcbiAgfVxuXG4gIGNvbmZpcm1PclJlamVjdChjb25maXJtOiBDb25maXJtKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0QWN0aXZpdHkoQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LCBjb25maXJtLCB0cnVlKTtcbiAgfVxuXG4gIGNvbmZpcm1UaGVuPEQsIFIsIEU+KGNvbmZpcm06IENvbmZpcm0sIGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE/OiBEKTogUHJvbWlzZTxSPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0QWN0aXZpdHk8Q29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQuRGF0YTxELCBSLCBFPiwgUiwgRT4oQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGNvbmZpcm0sXG4gICAgICBhY3Rpdml0eVR5cGU6IGFjdGl2aXR5VHlwZSxcbiAgICAgIGRhdGE6IGRhdGFcbiAgICB9LCB0cnVlKTtcbiAgfVxuXG59XG5cbiJdfQ==
@@ -3,14 +3,11 @@
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, assert } from '@coolon/pectin';
6
+ import { assert, Dsl, GarbageCollector, Trace } from '@coolon/pectin';
7
7
  /**
8
8
  * @abstract
9
9
  */
10
- var /**
11
- * @abstract
12
- */
13
- InteractionContext = /** @class */ (function (_super) {
10
+ var InteractionContext = /** @class */ (function (_super) {
14
11
  tslib_1.__extends(InteractionContext, _super);
15
12
  function InteractionContext() {
16
13
  return _super !== null && _super.apply(this, arguments) || this;
@@ -41,21 +38,102 @@ InteractionContext = /** @class */ (function (_super) {
41
38
  assert.isFalsey(this.isActive());
42
39
  _super.prototype.dispose.call(this);
43
40
  };
41
+ /**
42
+ * Cancels the current activity and returns true the context is no longer active, false if
43
+ * there is still another activity running.
44
+ */
45
+ /**
46
+ * Cancels the current activity and returns true the context is no longer active, false if
47
+ * there is still another activity running.
48
+ * @return {?}
49
+ */
50
+ InteractionContext.prototype.cancelCurrentActivity = /**
51
+ * Cancels the current activity and returns true the context is no longer active, false if
52
+ * there is still another activity running.
53
+ * @return {?}
54
+ */
55
+ function () {
56
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
57
+ var when, activity;
58
+ var _this = this;
59
+ return tslib_1.__generator(this, function (_a) {
60
+ switch (_a.label) {
61
+ case 0:
62
+ when = Dsl.disposeWith(this).when;
63
+ return [4 /*yield*/, this.getCurrentActivity()];
64
+ case 1:
65
+ activity = _a.sent();
66
+ return [2 /*return*/, new Promise((/**
67
+ * @param {?} resolve
68
+ * @return {?}
69
+ */
70
+ function (resolve) {
71
+ when.valueOf(_this.activeActivity)
72
+ .changes((/**
73
+ * @param {?} nextActivity
74
+ * @return {?}
75
+ */
76
+ function (nextActivity) {
77
+ resolve(!nextActivity);
78
+ }), { once: true });
79
+ activity.cancel();
80
+ }))];
81
+ }
82
+ });
83
+ });
84
+ };
85
+ /**
86
+ * @return {?}
87
+ */
88
+ InteractionContext.prototype.abort = /**
89
+ * @return {?}
90
+ */
91
+ function () {
92
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
93
+ var count;
94
+ return tslib_1.__generator(this, function (_a) {
95
+ switch (_a.label) {
96
+ case 0:
97
+ assert.isTruthy(this.isActive());
98
+ count = 1;
99
+ return [4 /*yield*/, this.cancelCurrentActivity()];
100
+ case 1:
101
+ _a.sent();
102
+ console.log("aborted -> " + count++);
103
+ _a.label = 2;
104
+ case 2:
105
+ if (!this.isActive()) return [3 /*break*/, 4];
106
+ return [4 /*yield*/, this.cancelCurrentActivity()];
107
+ case 3:
108
+ _a.sent();
109
+ console.log("aborted -> " + count++);
110
+ return [3 /*break*/, 2];
111
+ case 4: return [2 /*return*/];
112
+ }
113
+ });
114
+ });
115
+ };
116
+ tslib_1.__decorate([
117
+ Trace(),
118
+ tslib_1.__metadata("design:type", Function),
119
+ tslib_1.__metadata("design:paramtypes", []),
120
+ tslib_1.__metadata("design:returntype", Promise)
121
+ ], InteractionContext.prototype, "abort", null);
44
122
  return InteractionContext;
45
123
  }(GarbageCollector));
46
- /**
47
- * @abstract
48
- */
49
124
  export { InteractionContext };
50
125
  if (false) {
126
+ /** @type {?} */
127
+ InteractionContext.prototype.active;
51
128
  /** @type {?} */
52
129
  InteractionContext.prototype.activityList;
53
130
  /** @type {?} */
54
- InteractionContext.prototype.active;
131
+ InteractionContext.prototype.activeActivity;
55
132
  /**
56
133
  * Returns the activity that is currently active.
57
134
  * This model is only updated in the next tick after the view has been updated.
58
135
  * @abstract
136
+ * @protected
59
137
  * @return {?}
60
138
  */
61
139
  InteractionContext.prototype.getCurrentActivity = function () { };
@@ -96,4 +174,4 @@ if (false) {
96
174
  */
97
175
  InteractionContext.prototype.confirmThen = function (confirm, activityType, data) { };
98
176
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFnRCxnQkFBZ0IsRUFBeUIsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFLL0g7Ozs7SUFBaUQsOENBQWdCO0lBQWpFOztJQXlDQSxDQUFDO0lBcENDOztPQUVHOzs7OztJQUNILHFDQUFROzs7O0lBQVI7UUFDRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7Ozs7SUFFRCxvQ0FBTzs7O0lBQVA7UUFDRSx5RUFBeUU7UUFDekUsdURBQXVEO1FBQ3ZELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDakMsaUJBQU0sT0FBTyxXQUFFLENBQUM7SUFDbEIsQ0FBQztJQXdCSCx5QkFBQztBQUFELENBQUMsQUF6Q0QsQ0FBaUQsZ0JBQWdCLEdBeUNoRTs7Ozs7OztJQXZDQywwQ0FBbUU7O0lBQ25FLG9DQUE4Qzs7Ozs7OztJQW9COUMsa0VBQWlFOzs7Ozs7OztJQUVqRSwrRUFBc0c7Ozs7OztJQUV0RywwREFBNEM7Ozs7OztJQUU1Qyw4REFBcUQ7Ozs7OztJQUVyRCxzRUFBZ0U7Ozs7Ozs7Ozs7SUFRaEUsc0ZBQXNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgRGlzcG9zYWJsZSwgRXZlbnRMaXN0ZW5lckxpc3QsIEdhcmJhZ2VDb2xsZWN0b3IsIExpc3RNb2RlbCwgVmFsdWVNb2RlbCwgYXNzZXJ0IH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuL2FjdGl2aXR5JztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi9hbGVydCc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi9jb25maXJtJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEludGVyYWN0aW9uQ29udGV4dCBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG4gIGFic3RyYWN0IHJlYWRvbmx5IGFjdGl2aXR5TGlzdDogTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55LCBhbnk+PjtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgYWN0aXZlOiBWYWx1ZU1vZGVsPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgYW4gYWN0aXZpdHkgaXMgY3VycmVudGx5IHJ1bm5pbmcuXG4gICAqL1xuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmUudmFsdWU7XG4gIH1cblxuICBkaXNwb3NlKCk6IHZvaWQge1xuICAgIC8vIFRPRE86IHRoaW5rIGFib3V0IGF1dG8gY2FuY2VsbGluZyBhbnkgb3V0c3RhbmRpbmcgYWN0aXZpdHkgb24gZGlzcG9zZS5cbiAgICAvLyAgICAgICBTZWUgTmF2aWdhdGlvblN0YXRlLk5hdmlnYXRpbmcgZm9yIGEgdXNlLWNhc2UuXG4gICAgYXNzZXJ0LmlzRmFsc2V5KHRoaXMuaXNBY3RpdmUoKSk7XG4gICAgc3VwZXIuZGlzcG9zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFjdGl2aXR5IHRoYXQgaXMgY3VycmVudGx5IGFjdGl2ZS5cbiAgICogVGhpcyBtb2RlbCBpcyBvbmx5IHVwZGF0ZWQgaW4gdGhlIG5leHQgdGljayBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiB1cGRhdGVkLlxuICAgKi9cbiAgYWJzdHJhY3QgYXN5bmMgZ2V0Q3VycmVudEFjdGl2aXR5KCk6IFByb21pc2U8QWN0aXZpdHk8YW55LCBhbnk+PjtcblxuICBhYnN0cmFjdCBzdGFydEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE/OiBEKTogUHJvbWlzZTxSPjtcblxuICBhYnN0cmFjdCBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIGFic3RyYWN0IGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8Ym9vbGVhbj47XG5cbiAgYWJzdHJhY3QgYXN5bmMgY29uZmlybU9yUmVqZWN0KGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBQcmVzZW50cyB0aGUgY29uZmlybWF0aW9uIHRvIHRoZSB1c2VyIGFuZCBydW5zIHRoZSBhY3Rpdml0eSBvbmx5IGlmIHRoZSB1c2VyIGNvbmZpcm1zLlxuICAgKiBAcGFyYW0gY29uZmlybTpDb25maXJtIHRoZSBjb25maXJtYXRpb24gdG8gZGlzcGxheS5cbiAgICogQHBhcmFtIGFjdGl2aXR5VHlwZSB0aGUgYWN0aXZpdHkgdG8gcnVuIGlmIGNvbmZpcm1lZC5cbiAgICogQHBhcmFtIGRhdGEgdGhlIGFjdGl2aXR5IGRhdGEuXG4gICAqL1xuICBhYnN0cmFjdCBjb25maXJtVGhlbjxELCBSLCBFPihjb25maXJtOiBDb25maXJtLCBhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj47XG5cbn1cbiJdfQ==
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBaUIsR0FBRyxFQUFFLGdCQUFnQixFQUFhLEtBQUssRUFBYyxNQUFNLGdCQUFnQixDQUFDOzs7O0FBSzVHO0lBQWlELDhDQUFnQjtJQUFqRTs7SUFxRUEsQ0FBQztJQS9EQzs7T0FFRzs7Ozs7SUFDSCxxQ0FBUTs7OztJQUFSO1FBQ0UsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDOzs7O0lBRUQsb0NBQU87OztJQUFQO1FBQ0UseUVBQXlFO1FBQ3pFLHVEQUF1RDtRQUN2RCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLGlCQUFNLE9BQU8sV0FBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7O09BR0c7Ozs7OztJQUNHLGtEQUFxQjs7Ozs7SUFBM0I7Ozs7Ozs7d0JBQ1UsSUFBSSxHQUFLLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQTFCO3dCQUNLLHFCQUFNLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFBOzt3QkFBMUMsUUFBUSxHQUFHLFNBQStCO3dCQUNoRCxzQkFBTyxJQUFJLE9BQU87Ozs7NEJBQUMsVUFBQSxPQUFPO2dDQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUksQ0FBQyxjQUFjLENBQUM7cUNBQzlCLE9BQU87Ozs7Z0NBQUMsVUFBQSxZQUFZO29DQUNuQixPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQ0FDekIsQ0FBQyxHQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7Z0NBQ3JCLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQzs0QkFDcEIsQ0FBQyxFQUFDLEVBQUM7Ozs7S0FDSjs7OztJQXlCSyxrQ0FBSzs7O0lBQVg7Ozs7Ozt3QkFDRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO3dCQUM3QixLQUFLLEdBQUcsQ0FBQzt3QkFDYixxQkFBTSxJQUFJLENBQUMscUJBQXFCLEVBQUUsRUFBQTs7d0JBQWxDLFNBQWtDLENBQUM7d0JBQ25DLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWMsS0FBSyxFQUFJLENBQUMsQ0FBQzs7OzZCQUM5QixJQUFJLENBQUMsUUFBUSxFQUFFO3dCQUNwQixxQkFBTSxJQUFJLENBQUMscUJBQXFCLEVBQUUsRUFBQTs7d0JBQWxDLFNBQWtDLENBQUM7d0JBQ25DLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWMsS0FBSyxFQUFJLENBQUMsQ0FBQzs7Ozs7O0tBRXhDO0lBVEQ7UUFEQyxLQUFLLEVBQUU7Ozs7bURBVVA7SUFDSCx5QkFBQztDQUFBLEFBckVELENBQWlELGdCQUFnQixHQXFFaEU7U0FyRXFCLGtCQUFrQjs7O0lBRXRDLG9DQUE4Qzs7SUFDOUMsMENBQW1FOztJQUNuRSw0Q0FBc0U7Ozs7Ozs7O0lBb0N0RSxrRUFBMkU7Ozs7Ozs7O0lBRTNFLCtFQUFzRzs7Ozs7O0lBRXRHLDBEQUE0Qzs7Ozs7O0lBRTVDLDhEQUFxRDs7Ozs7O0lBRXJELHNFQUFnRTs7Ozs7Ozs7OztJQVFoRSxzRkFBc0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3NlcnQsIENvbnN0cnVjdGFibGUsIERzbCwgR2FyYmFnZUNvbGxlY3RvciwgTGlzdE1vZGVsLCBUcmFjZSwgVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4vYWxlcnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4vY29uZmlybSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbnRlcmFjdGlvbkNvbnRleHQgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIHtcblxuICBhYnN0cmFjdCByZWFkb25seSBhY3RpdmU6IFZhbHVlTW9kZWw8Ym9vbGVhbj47XG4gIGFic3RyYWN0IHJlYWRvbmx5IGFjdGl2aXR5TGlzdDogTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55LCBhbnk+PjtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgYWN0aXZlQWN0aXZpdHk6IFZhbHVlTW9kZWw8QWN0aXZpdHk8YW55LCBhbnksIGFueT4+O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgYW4gYWN0aXZpdHkgaXMgY3VycmVudGx5IHJ1bm5pbmcuXG4gICAqL1xuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmUudmFsdWU7XG4gIH1cblxuICBkaXNwb3NlKCk6IHZvaWQge1xuICAgIC8vIFRPRE86IHRoaW5rIGFib3V0IGF1dG8gY2FuY2VsbGluZyBhbnkgb3V0c3RhbmRpbmcgYWN0aXZpdHkgb24gZGlzcG9zZS5cbiAgICAvLyAgICAgICBTZWUgTmF2aWdhdGlvblN0YXRlLk5hdmlnYXRpbmcgZm9yIGEgdXNlLWNhc2UuXG4gICAgYXNzZXJ0LmlzRmFsc2V5KHRoaXMuaXNBY3RpdmUoKSk7XG4gICAgc3VwZXIuZGlzcG9zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbmNlbHMgdGhlIGN1cnJlbnQgYWN0aXZpdHkgYW5kIHJldHVybnMgdHJ1ZSB0aGUgY29udGV4dCBpcyBubyBsb25nZXIgYWN0aXZlLCBmYWxzZSBpZlxuICAgKiB0aGVyZSBpcyBzdGlsbCBhbm90aGVyIGFjdGl2aXR5IHJ1bm5pbmcuXG4gICAqL1xuICBhc3luYyBjYW5jZWxDdXJyZW50QWN0aXZpdHkoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyB3aGVuIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgY29uc3QgYWN0aXZpdHkgPSBhd2FpdCB0aGlzLmdldEN1cnJlbnRBY3Rpdml0eSgpO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgIHdoZW4udmFsdWVPZih0aGlzLmFjdGl2ZUFjdGl2aXR5KVxuICAgICAgICAuY2hhbmdlcyhuZXh0QWN0aXZpdHkgPT4ge1xuICAgICAgICAgIHJlc29sdmUoIW5leHRBY3Rpdml0eSk7XG4gICAgICAgIH0sIHsgb25jZTogdHJ1ZSB9KTtcbiAgICAgIGFjdGl2aXR5LmNhbmNlbCgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFjdGl2aXR5IHRoYXQgaXMgY3VycmVudGx5IGFjdGl2ZS5cbiAgICogVGhpcyBtb2RlbCBpcyBvbmx5IHVwZGF0ZWQgaW4gdGhlIG5leHQgdGljayBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiB1cGRhdGVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGFzeW5jIGdldEN1cnJlbnRBY3Rpdml0eSgpOiBQcm9taXNlPEFjdGl2aXR5PGFueSwgYW55Pj47XG5cbiAgYWJzdHJhY3Qgc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj47XG5cbiAgYWJzdHJhY3QgYWxlcnQoYWxlcnQ6IEFsZXJ0KTogUHJvbWlzZTx2b2lkPjtcblxuICBhYnN0cmFjdCBjb25maXJtKGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIGFic3RyYWN0IGFzeW5jIGNvbmZpcm1PclJlamVjdChjb25maXJtOiBDb25maXJtKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogUHJlc2VudHMgdGhlIGNvbmZpcm1hdGlvbiB0byB0aGUgdXNlciBhbmQgcnVucyB0aGUgYWN0aXZpdHkgb25seSBpZiB0aGUgdXNlciBjb25maXJtcy5cbiAgICogQHBhcmFtIGNvbmZpcm06Q29uZmlybSB0aGUgY29uZmlybWF0aW9uIHRvIGRpc3BsYXkuXG4gICAqIEBwYXJhbSBhY3Rpdml0eVR5cGUgdGhlIGFjdGl2aXR5IHRvIHJ1biBpZiBjb25maXJtZWQuXG4gICAqIEBwYXJhbSBkYXRhIHRoZSBhY3Rpdml0eSBkYXRhLlxuICAgKi9cbiAgYWJzdHJhY3QgY29uZmlybVRoZW48RCwgUiwgRT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+O1xuXG4gIEBUcmFjZSgpXG4gIGFzeW5jIGFib3J0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGFzc2VydC5pc1RydXRoeSh0aGlzLmlzQWN0aXZlKCkpO1xuICAgIGxldCBjb3VudCA9IDE7XG4gICAgYXdhaXQgdGhpcy5jYW5jZWxDdXJyZW50QWN0aXZpdHkoKTtcbiAgICBjb25zb2xlLmxvZyhgYWJvcnRlZCAtPiAke2NvdW50Kyt9YCk7XG4gICAgd2hpbGUgKHRoaXMuaXNBY3RpdmUoKSkge1xuICAgICAgYXdhaXQgdGhpcy5jYW5jZWxDdXJyZW50QWN0aXZpdHkoKTtcbiAgICAgIGNvbnNvbGUubG9nKGBhYm9ydGVkIC0+ICR7Y291bnQrK31gKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -41,6 +41,15 @@ var InteractionService = /** @class */ (function () {
41
41
  function () {
42
42
  return this.active.value;
43
43
  };
44
+ /**
45
+ * @return {?}
46
+ */
47
+ InteractionService.prototype.isModalActive = /**
48
+ * @return {?}
49
+ */
50
+ function () {
51
+ return this.modelInteractionActive.value;
52
+ };
44
53
  /**
45
54
  * @param {?} disposable
46
55
  * @return {?}
@@ -66,19 +75,19 @@ var InteractionService = /** @class */ (function () {
66
75
  function (interactionContext) {
67
76
  interactionContext.registerDisposable(new InteractionService.Monitor("ip" + ++inplaceMonitorCount, interactionContext, this._activeInlineInteractionContextModel, this.exclusiveContext));
68
77
  };
78
+ // @Trace()
79
+ // @Trace()
69
80
  /**
70
81
  * @return {?}
71
82
  */
72
- InteractionService.prototype.getCurrentActivity = /**
83
+ InteractionService.prototype.getActiveContext =
84
+ // @Trace()
85
+ /**
73
86
  * @return {?}
74
87
  */
75
88
  function () {
76
- return tslib_1.__awaiter(this, void 0, void 0, function () {
77
- return tslib_1.__generator(this, function (_a) {
78
- assert.isTruthy(this.isActive());
79
- return [2 /*return*/, this._activeInteractionContext.value.getCurrentActivity()];
80
- });
81
- });
89
+ assert.isTruthy(this.isActive());
90
+ return this._activeInteractionContext.value;
82
91
  };
83
92
  /**
84
93
  * Creates an interaction context that will prevent any other contexts from starting an
@@ -268,4 +277,4 @@ if (false) {
268
277
  Monitor.prototype.exclusiveContext;
269
278
  }
270
279
  })(InteractionService || (InteractionService = {}));
271
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBR0wsR0FBRyxFQUNILGdCQUFnQixFQUNoQixJQUFJLEVBRUosZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUdsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUl0RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7OztJQUVqRixtQkFBbUIsR0FBRyxDQUFDO0FBRTNCO0lBaUJFLDRCQUFxQiw4QkFBOEQ7UUFBOUQsbUNBQThCLEdBQTlCLDhCQUE4QixDQUFnQztRQVpsRSxZQUFPLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBRWpDLHFCQUFnQixHQUFHLElBQUksaUJBQWlCLEVBQXNCLENBQUM7UUFFL0Qsd0NBQW1DLEdBQUcsSUFBSSxpQkFBaUIsRUFBOEIsQ0FBQztRQUMxRix5Q0FBb0MsR0FBRyxJQUFJLGlCQUFpQixFQUE4QixDQUFDO1FBUXBHLElBQUEsa0NBQTBGLEVBQXhGLGdCQUFLLEVBQUUsb0JBQU8sRUFBRSxrQkFBTSxFQUFFLGNBQUksRUFBRSxnQkFBSyxFQUFFLG9CQUFPLEVBQUUsc0JBQTBDO1FBRWhHLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxDQUFDO2FBQzdFLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0NBQW9DLENBQUM7YUFDcEQsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFL0IsSUFBSSxDQUFDLE1BQU0sR0FB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QUFDO2FBQzdLO1FBQ0gsQ0FBQzs7Ozs7UUFFUyw0QkFBVTs7OztRQUFwQjtZQUNFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3pDLENBQUM7Ozs7O1FBRU8sdUNBQXFCOzs7O1FBQTdCO1lBQ0UsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFDSCxjQUFDO0lBQUQsQ0FBQyxBQWhDRCxDQUE2QixnQkFBZ0IsR0FnQzVDO0lBaENZLDBCQUFPLFVBZ0NuQixDQUFBOzs7UUEvQmEscUJBQW1COztRQUNuQixxQ0FBK0M7O1FBQy9DLHVDQUF5RDs7UUFDekQsbUNBQXlEOztBQTZCekUsQ0FBQyxFQXpDZ0Isa0JBQWtCLEtBQWxCLGtCQUFrQixRQXlDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCb29sZWFuVmFsdWVNb2RlbENoYWluLFxuICBEaXNwb3NhYmxlLFxuICBEc2wsXG4gIEdhcmJhZ2VDb2xsZWN0b3IsXG4gIGxhbmcsXG4gIExpc3RNb2RlbENoYWluLFxuICBNdXRhYmxlTGlzdE1vZGVsLFxuICBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbENoYWluXG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IGFzc2VydCB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuLi9pbnRlcmFjdGlvbi1jb250ZXh0JztcblxuaW1wb3J0IHsgTW9kYWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5IH0gZnJvbSAnLi9tb2RhbC1pbnRlcmFjdGlvbi1jb250ZXh0LmZhY3RvcnknO1xuXG5sZXQgaW5wbGFjZU1vbml0b3JDb3VudCA9IDA7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEludGVyYWN0aW9uU2VydmljZSAge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZ2FyYmFnZSA9IG5ldyBHYXJiYWdlQ29sbGVjdG9yKCk7XG4gIHJlYWRvbmx5IGFjdGl2ZTogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcbiAgcHJpdmF0ZSByZWFkb25seSBleGNsdXNpdmVDb250ZXh0ID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPEludGVyYWN0aW9uQ29udGV4dD4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmVNb2RhbEludGVyYWN0aW9uQ29udGV4dE1vZGVsID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPEludGVyYWN0aW9uU2VydmljZS5Nb25pdG9yPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmVJbmxpbmVJbnRlcmFjdGlvbkNvbnRleHRNb2RlbCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxJbnRlcmFjdGlvblNlcnZpY2UuTW9uaXRvcj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0OiBWYWx1ZU1vZGVsQ2hhaW48SW50ZXJhY3Rpb25Db250ZXh0PjtcblxuICByZWFkb25seSBhY3RpdmVJbnRlcmFjdGlvbkNvbnRleHRJZHM6IExpc3RNb2RlbENoYWluPHN0cmluZz47XG4gIHJlYWRvbmx5IG1vZGVsSW50ZXJhY3Rpb25BY3RpdmU6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHJlYWRvbmx5IGlubGluZUludGVyYWN0aW9uQWN0aXZlOiBCb29sZWFuVmFsdWVNb2RlbENoYWluO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IG1vZGVsSW50ZXJhY3Rpb25Db250ZXh0RmFjdG9yeTogTW9kYWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5KSB7XG4gICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzLmdhcmJhZ2UpO1xuXG4gICAgdGhpcy5fYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0ID0gY2hhaW4odGhpcy5fYWN0aXZlTW9kYWxJbnRlcmFjdGlvbkNvbnRleHRNb2RlbClcbiAgICAgIC5vdGhlcndpc2UodGhpcy5fYWN0aXZlSW5saW5lSW50ZXJhY3Rpb25Db250ZXh0TW9kZWwpXG4gICAgICAucGx1Y2soJ2ludGVyYWN0aW9uQ29udGV4dCcpO1xuXG4gICAgdGhpcy5hY3RpdmUgPSBjaGFpbih0aGlzLl9hY3RpdmVJbnRlcmFjdGlvbkNvbnRleHQpLmlzTm90TmlsKCk7XG4gICAgdGhpcy5tb2RlbEludGVyYWN0aW9uQWN0aXZlID0gY2hhaW4odGhpcy5fYWN0aXZlTW9kYWxJbnRlcmFjdGlvbkNvbnRleHRNb2RlbCkuaXNOb3ROaWwoKTtcbiAgICB0aGlzLmlubGluZUludGVyYWN0aW9uQWN0aXZlID0gY2hhaW4odGhpcy5fYWN0aXZlSW5saW5lSW50ZXJhY3Rpb25Db250ZXh0TW9kZWwpLmlzTm90TmlsKCk7XG5cbiAgICAvLyBUT0RPOiBjaGFpbi5jb25jYXQobGlzdE9yVmFsdWVNb2RlbHMpIHdvdWxkIGJlIG5pY2UuXG4gICAgdGhpcy5hY3RpdmVJbnRlcmFjdGlvbkNvbnRleHRJZHMgPSBjaGFpbihuZXcgTXV0YWJsZUxpc3RNb2RlbDxJbnRlcmFjdGlvblNlcnZpY2UuTW9uaXRvcj4oKSlcbiAgICAgIC5hcHBlbmQodGhpcy5fYWN0aXZlSW5saW5lSW50ZXJhY3Rpb25Db250ZXh0TW9kZWwpXG4gICAgICAuYXBwZW5kKHRoaXMuX2FjdGl2ZU1vZGFsSW50ZXJhY3Rpb25Db250ZXh0TW9kZWwpXG4gICAgICAucmVqZWN0TmlsKClcbiAgICAgIC5wbHVjaygnaWQnKTtcblxuICB9XG5cbiAgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlLnZhbHVlO1xuICB9XG5cbiAgY3JlYXRlTW9kYWxJbnRlcmFjdGlvbkNvbnRleHRGb3IoZGlzcG9zYWJsZTogRGlzcG9zYWJsZS5Db2xsZWN0b3IpOiBJbnRlcmFjdGlvbkNvbnRleHQge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLm1vZGVsSW50ZXJhY3Rpb25Db250ZXh0RmFjdG9yeS5jcmVhdGVJbnRlcmFjdGlvbkNvbnRleHQoKTtcbiAgICBkaXNwb3NhYmxlLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgSW50ZXJhY3Rpb25TZXJ2aWNlLk1vbml0b3IoJ21vZGFsJywgY29udGV4dCwgdGhpcy5fYWN0aXZlTW9kYWxJbnRlcmFjdGlvbkNvbnRleHRNb2RlbCwgdGhpcy5leGNsdXNpdmVDb250ZXh0KSk7XG4gICAgcmV0dXJuIGNvbnRleHQ7XG4gIH1cblxuICBfcmVnaXN0ZXJJbnBsYWNlSW50ZXJhY3Rpb25Db250ZXh0KGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0KSB7XG4gICAgaW50ZXJhY3Rpb25Db250ZXh0LnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgSW50ZXJhY3Rpb25TZXJ2aWNlLk1vbml0b3IoYGlwJHsrK2lucGxhY2VNb25pdG9yQ291bnR9YCwgaW50ZXJhY3Rpb25Db250ZXh0LCB0aGlzLl9hY3RpdmVJbmxpbmVJbnRlcmFjdGlvbkNvbnRleHRNb2RlbCwgdGhpcy5leGNsdXNpdmVDb250ZXh0KSk7XG4gIH1cblxuICBhc3luYyBnZXRDdXJyZW50QWN0aXZpdHkoKTogUHJvbWlzZTxBY3Rpdml0eTxhbnksIGFueSwgYW55Pj4ge1xuICAgIGFzc2VydC5pc1RydXRoeSh0aGlzLmlzQWN0aXZlKCkpO1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVJbnRlcmFjdGlvbkNvbnRleHQudmFsdWUuZ2V0Q3VycmVudEFjdGl2aXR5KCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbnRlcmFjdGlvbiBjb250ZXh0IHRoYXQgd2lsbCBwcmV2ZW50IGFueSBvdGhlciBjb250ZXh0cyBmcm9tIHN0YXJ0aW5nIGFuXG4gICAqIGFjdGl2aXR5IHVudGlsIGl0IGlzIGRpc3Bvc2VkLiAgVGhpcyBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IHRoZSByb3V0ZXIgZm9yIHBhc3NpbmdcbiAgICogdG8gUGxhY2VDb21wb25lbnQuY2FuRGVhY3RpdmF0ZShpbnRlcmFjdGlvbkNvbnRleHQpLiAgVGhpcyBlbnN1cmVzIGNvbXBvbmVudHMgZG9uJ3RcbiAgICogdHJ5IGFuZCBpbnRlcmFjdCBpbiBhIHdheSB0aGF0IHdlIGNhbid0IHRyYWNrIGFuZCBzeW5jaHJvbmlzZSB3aXRoIHRoZSBicm93c2VyIGJhY2tcbiAgICogYnV0dG9uLlxuICAgKi9cbiAgX2NyZWF0ZUV4Y2x1c2l2ZU1vZGFsSW50ZXJhY3Rpb25Db250ZXh0KCk6IEludGVyYWN0aW9uQ29udGV4dCB7XG4gICAgdGhpcy5leGNsdXNpdmVDb250ZXh0LnZhbHVlID0gdGhpcy5tb2RlbEludGVyYWN0aW9uQ29udGV4dEZhY3RvcnkuY3JlYXRlSW50ZXJhY3Rpb25Db250ZXh0KCk7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgdGhpcy5leGNsdXNpdmVDb250ZXh0LnZhbHVlLnJlZ2lzdGVyRGlzcG9zYWJsZSh7XG4gICAgICBkaXNwb3NlKCk6IHZvaWQge1xuICAgICAgICBzZWxmLmV4Y2x1c2l2ZUNvbnRleHQudmFsdWUgPSBudWxsO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLmV4Y2x1c2l2ZUNvbnRleHQudmFsdWU7XG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBJbnRlcmFjdGlvblNlcnZpY2Uge1xuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQ2FsbGJhY2sge1xuICAgIG9uU3RhcnRlZChtb25pdG9yOiBNb25pdG9yKTtcblxuICAgIG9uRmluaXNoZWQobW9uaXRvcjogTW9uaXRvcik7XG4gIH1cblxuICBleHBvcnQgY2xhc3MgTW9uaXRvciBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGlkOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgcmVhZG9ubHkgaW50ZXJhY3Rpb25Db250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQsXG4gICAgICAgICAgICAgICAgcmVhZG9ubHkgY3VycmVudEFjdGl2ZU1vbml0b3I6IE11dGFibGVWYWx1ZU1vZGVsPE1vbml0b3I+LFxuICAgICAgICAgICAgICAgIHJlYWRvbmx5IGV4Y2x1c2l2ZUNvbnRleHQ6IFZhbHVlTW9kZWw8SW50ZXJhY3Rpb25Db250ZXh0Pikge1xuICAgICAgc3VwZXIoKTtcbiAgICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgICB3aGVuLnZhbHVlT2YoaW50ZXJhY3Rpb25Db250ZXh0LmFjdGl2ZSkuYmVjb21lc1RydXRoeSgoKSA9PiB0aGlzLm9uU3RhcnRlZCgpKTtcbiAgICAgIHdoZW4udmFsdWVPZihpbnRlcmFjdGlvbkNvbnRleHQuYWN0aXZlKS5iZWNvbWVzRmFsc2V5KCgpID0+IHRoaXMub25GaW5pc2hlZCgpKTtcbiAgICAgIGludGVyYWN0aW9uQ29udGV4dC5yZWdpc3RlckRpc3Bvc2FibGUodGhpcyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uU3RhcnRlZCgpIHtcbiAgICAgIHRoaXMuYXNzZXJ0Q2FuU3RhcnQoKTtcbiAgICAgIHRoaXMuY3VycmVudEFjdGl2ZU1vbml0b3IudmFsdWUgPSB0aGlzO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXNzZXJ0Q2FuU3RhcnQoKSB7XG4gICAgICBhc3NlcnQuaXNGYWxzZXkodGhpcy5jdXJyZW50QWN0aXZlTW9uaXRvci52YWx1ZSk7XG4gICAgICBpZiAodGhpcy5leGNsdXNpdmVDb250ZXh0LnZhbHVlICYmIHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0ICE9PSB0aGlzLmV4Y2x1c2l2ZUNvbnRleHQudmFsdWUpIHtcbiAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoJ0ludGVyYWN0aW9uIHN0YXJ0ZWQgd2hpbGUgZXhjbHVzaXZlIGxvY2sgYWN0aXZlLiAgVGhpcyBpcyB1c3VhbGx5IGJlY2F1c2UgeW91IHVzaW5nIGEgZGlmZmVyZW50IGNvbnRleHQgZHVyaW5nIHBsYWNlLmNhbkRlYWN0aXZhdGUoaW50ZXJhY3Rpb25Db250ZXh0KScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkZpbmlzaGVkKCkge1xuICAgICAgdGhpcy5hc3NlcnRDdXJyZW50bHlBY3RpdmUoKTtcbiAgICAgIHRoaXMuY3VycmVudEFjdGl2ZU1vbml0b3IudmFsdWUgPSBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXNzZXJ0Q3VycmVudGx5QWN0aXZlKCkge1xuICAgICAgYXNzZXJ0LmlzVHJ1dGh5KHRoaXMuY3VycmVudEFjdGl2ZU1vbml0b3IudmFsdWUgPT09IHRoaXMpO1xuICAgIH1cbiAgfVxufVxuIl19
280
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBR0wsR0FBRyxFQUNILGdCQUFnQixFQUNoQixJQUFJLEVBRUosZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUdsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUd0RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7OztJQUVqRixtQkFBbUIsR0FBRyxDQUFDO0FBRTNCO0lBaUJFLDRCQUFxQiw4QkFBOEQ7UUFBOUQsbUNBQThCLEdBQTlCLDhCQUE4QixDQUFnQztRQVpsRSxZQUFPLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBRWpDLHFCQUFnQixHQUFHLElBQUksaUJBQWlCLEVBQXNCLENBQUM7UUFFL0Qsd0NBQW1DLEdBQUcsSUFBSSxpQkFBaUIsRUFBOEIsQ0FBQztRQUMxRix5Q0FBb0MsR0FBRyxJQUFJLGlCQUFpQixFQUE4QixDQUFDO1FBUXBHLElBQUEsa0NBQTBGLEVBQXhGLGdCQUFLLEVBQUUsb0JBQU8sRUFBRSxrQkFBTSxFQUFFLGNBQUksRUFBRSxnQkFBSyxFQUFFLG9CQUFPLEVBQUUsc0JBQTBDO1FBRWhHLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxDQUFDO2FBQzdFLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0NBQW9DLENBQUM7YUFDcEQsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFL0IsSUFBSSxDQUFDLE1BQU0sR0FB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LENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFO2dCQUMxRixJQUFJLENBQUMsWUFBWSxDQUFDLHdKQUF3SixDQUFDLENBQUM7YUFDN0s7UUFDSCxDQUFDOzs7OztRQUVTLDRCQUFVOzs7O1FBQXBCO1lBQ0UsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDekMsQ0FBQzs7Ozs7UUFFTyx1Q0FBcUI7Ozs7UUFBN0I7WUFDRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUNILGNBQUM7SUFBRCxDQUFDLEFBaENELENBQTZCLGdCQUFnQixHQWdDNUM7SUFoQ1ksMEJBQU8sVUFnQ25CLENBQUE7OztRQS9CYSxxQkFBbUI7O1FBQ25CLHFDQUErQzs7UUFDL0MsdUNBQXlEOztRQUN6RCxtQ0FBeUQ7O0FBNkJ6RSxDQUFDLEVBekNnQixrQkFBa0IsS0FBbEIsa0JBQWtCLFFBeUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW4sXG4gIERpc3Bvc2FibGUsXG4gIERzbCxcbiAgR2FyYmFnZUNvbGxlY3RvcixcbiAgbGFuZyxcbiAgTGlzdE1vZGVsQ2hhaW4sXG4gIE11dGFibGVMaXN0TW9kZWwsXG4gIE11dGFibGVWYWx1ZU1vZGVsLFxuICBWYWx1ZU1vZGVsLFxuICBWYWx1ZU1vZGVsQ2hhaW5cbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuLi9pbnRlcmFjdGlvbi1jb250ZXh0JztcblxuaW1wb3J0IHsgTW9kYWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5IH0gZnJvbSAnLi9tb2RhbC1pbnRlcmFjdGlvbi1jb250ZXh0LmZhY3RvcnknO1xuXG5sZXQgaW5wbGFjZU1vbml0b3JDb3VudCA9IDA7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEludGVyYWN0aW9uU2VydmljZSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBnYXJiYWdlID0gbmV3IEdhcmJhZ2VDb2xsZWN0b3IoKTtcbiAgcmVhZG9ubHkgYWN0aXZlOiBCb29sZWFuVmFsdWVNb2RlbENoYWluO1xuICBwcml2YXRlIHJlYWRvbmx5IGV4Y2x1c2l2ZUNvbnRleHQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8SW50ZXJhY3Rpb25Db250ZXh0PigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZU1vZGFsSW50ZXJhY3Rpb25Db250ZXh0TW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8SW50ZXJhY3Rpb25TZXJ2aWNlLk1vbml0b3I+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZUlubGluZUludGVyYWN0aW9uQ29udGV4dE1vZGVsID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPEludGVyYWN0aW9uU2VydmljZS5Nb25pdG9yPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmVJbnRlcmFjdGlvbkNvbnRleHQ6IFZhbHVlTW9kZWxDaGFpbjxJbnRlcmFjdGlvbkNvbnRleHQ+O1xuXG4gIHJlYWRvbmx5IGFjdGl2ZUludGVyYWN0aW9uQ29udGV4dElkczogTGlzdE1vZGVsQ2hhaW48c3RyaW5nPjtcbiAgcmVhZG9ubHkgbW9kZWxJbnRlcmFjdGlvbkFjdGl2ZTogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcbiAgcmVhZG9ubHkgaW5saW5lSW50ZXJhY3Rpb25BY3RpdmU6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgbW9kZWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5OiBNb2RhbEludGVyYWN0aW9uQ29udGV4dEZhY3RvcnkpIHtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMuZ2FyYmFnZSk7XG5cbiAgICB0aGlzLl9hY3RpdmVJbnRlcmFjdGlvbkNvbnRleHQgPSBjaGFpbih0aGlzLl9hY3RpdmVNb2RhbEludGVyYWN0aW9uQ29udGV4dE1vZGVsKVxuICAgICAgLm90aGVyd2lzZSh0aGlzLl9hY3RpdmVJbmxpbmVJbnRlcmFjdGlvbkNvbnRleHRNb2RlbClcbiAgICAgIC5wbHVjaygnaW50ZXJhY3Rpb25Db250ZXh0Jyk7XG5cbiAgICB0aGlzLmFjdGl2ZSA9IGNoYWluKHRoaXMuX2FjdGl2ZUludGVyYWN0aW9uQ29udGV4dCkuaXNOb3ROaWwoKTtcbiAgICB0aGlzLm1vZGVsSW50ZXJhY3Rpb25BY3RpdmUgPSBjaGFpbih0aGlzLl9hY3RpdmVNb2RhbEludGVyYWN0aW9uQ29udGV4dE1vZGVsKS5pc05vdE5pbCgpO1xuICAgIHRoaXMuaW5saW5lSW50ZXJhY3Rpb25BY3RpdmUgPSBjaGFpbih0aGlzLl9hY3RpdmVJbmxpbmVJbnRlcmFjdGlvbkNvbnRleHRNb2RlbCkuaXNOb3ROaWwoKTtcblxuICAgIC8vIFRPRE86IGNoYWluLmNvbmNhdChsaXN0T3JWYWx1ZU1vZGVscykgd291bGQgYmUgbmljZS5cbiAgICB0aGlzLmFjdGl2ZUludGVyYWN0aW9uQ29udGV4dElkcyA9IGNoYWluKG5ldyBNdXRhYmxlTGlzdE1vZGVsPEludGVyYWN0aW9uU2VydmljZS5Nb25pdG9yPigpKVxuICAgICAgLmFwcGVuZCh0aGlzLl9hY3RpdmVJbmxpbmVJbnRlcmFjdGlvbkNvbnRleHRNb2RlbClcbiAgICAgIC5hcHBlbmQodGhpcy5fYWN0aXZlTW9kYWxJbnRlcmFjdGlvbkNvbnRleHRNb2RlbClcbiAgICAgIC5yZWplY3ROaWwoKVxuICAgICAgLnBsdWNrKCdpZCcpO1xuXG4gIH1cblxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmUudmFsdWU7XG4gIH1cblxuICBpc01vZGFsQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1vZGVsSW50ZXJhY3Rpb25BY3RpdmUudmFsdWU7XG4gIH1cblxuICBjcmVhdGVNb2RhbEludGVyYWN0aW9uQ29udGV4dEZvcihkaXNwb3NhYmxlOiBEaXNwb3NhYmxlLkNvbGxlY3Rvcik6IEludGVyYWN0aW9uQ29udGV4dCB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMubW9kZWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5LmNyZWF0ZUludGVyYWN0aW9uQ29udGV4dCgpO1xuICAgIGRpc3Bvc2FibGUucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBJbnRlcmFjdGlvblNlcnZpY2UuTW9uaXRvcignbW9kYWwnLCBjb250ZXh0LCB0aGlzLl9hY3RpdmVNb2RhbEludGVyYWN0aW9uQ29udGV4dE1vZGVsLCB0aGlzLmV4Y2x1c2l2ZUNvbnRleHQpKTtcbiAgICByZXR1cm4gY29udGV4dDtcbiAgfVxuXG4gIF9yZWdpc3RlcklucGxhY2VJbnRlcmFjdGlvbkNvbnRleHQoaW50ZXJhY3Rpb25Db250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQpIHtcbiAgICBpbnRlcmFjdGlvbkNvbnRleHQucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBJbnRlcmFjdGlvblNlcnZpY2UuTW9uaXRvcihgaXAkeysraW5wbGFjZU1vbml0b3JDb3VudH1gLCBpbnRlcmFjdGlvbkNvbnRleHQsIHRoaXMuX2FjdGl2ZUlubGluZUludGVyYWN0aW9uQ29udGV4dE1vZGVsLCB0aGlzLmV4Y2x1c2l2ZUNvbnRleHQpKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGdldEFjdGl2ZUNvbnRleHQoKTogSW50ZXJhY3Rpb25Db250ZXh0IHtcbiAgICBhc3NlcnQuaXNUcnV0aHkodGhpcy5pc0FjdGl2ZSgpKTtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0LnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW50ZXJhY3Rpb24gY29udGV4dCB0aGF0IHdpbGwgcHJldmVudCBhbnkgb3RoZXIgY29udGV4dHMgZnJvbSBzdGFydGluZyBhblxuICAgKiBhY3Rpdml0eSB1bnRpbCBpdCBpcyBkaXNwb3NlZC4gIFRoaXMgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSB0aGUgcm91dGVyIGZvciBwYXNzaW5nXG4gICAqIHRvIFBsYWNlQ29tcG9uZW50LmNhbkRlYWN0aXZhdGUoaW50ZXJhY3Rpb25Db250ZXh0KS4gIFRoaXMgZW5zdXJlcyBjb21wb25lbnRzIGRvbid0XG4gICAqIHRyeSBhbmQgaW50ZXJhY3QgaW4gYSB3YXkgdGhhdCB3ZSBjYW4ndCB0cmFjayBhbmQgc3luY2hyb25pc2Ugd2l0aCB0aGUgYnJvd3NlciBiYWNrXG4gICAqIGJ1dHRvbi5cbiAgICovXG4gIF9jcmVhdGVFeGNsdXNpdmVNb2RhbEludGVyYWN0aW9uQ29udGV4dCgpOiBJbnRlcmFjdGlvbkNvbnRleHQge1xuICAgIHRoaXMuZXhjbHVzaXZlQ29udGV4dC52YWx1ZSA9IHRoaXMubW9kZWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5LmNyZWF0ZUludGVyYWN0aW9uQ29udGV4dCgpO1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHRoaXMuZXhjbHVzaXZlQ29udGV4dC52YWx1ZS5yZWdpc3RlckRpc3Bvc2FibGUoe1xuICAgICAgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICAgICAgc2VsZi5leGNsdXNpdmVDb250ZXh0LnZhbHVlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5leGNsdXNpdmVDb250ZXh0LnZhbHVlO1xuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgSW50ZXJhY3Rpb25TZXJ2aWNlIHtcblxuICBleHBvcnQgaW50ZXJmYWNlIENhbGxiYWNrIHtcbiAgICBvblN0YXJ0ZWQobW9uaXRvcjogTW9uaXRvcik7XG5cbiAgICBvbkZpbmlzaGVkKG1vbml0b3I6IE1vbml0b3IpO1xuICB9XG5cbiAgZXhwb3J0IGNsYXNzIE1vbml0b3IgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIHtcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBpZDogc3RyaW5nLFxuICAgICAgICAgICAgICAgIHJlYWRvbmx5IGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0LFxuICAgICAgICAgICAgICAgIHJlYWRvbmx5IGN1cnJlbnRBY3RpdmVNb25pdG9yOiBNdXRhYmxlVmFsdWVNb2RlbDxNb25pdG9yPixcbiAgICAgICAgICAgICAgICByZWFkb25seSBleGNsdXNpdmVDb250ZXh0OiBWYWx1ZU1vZGVsPEludGVyYWN0aW9uQ29udGV4dD4pIHtcbiAgICAgIHN1cGVyKCk7XG4gICAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgICAgd2hlbi52YWx1ZU9mKGludGVyYWN0aW9uQ29udGV4dC5hY3RpdmUpLmJlY29tZXNUcnV0aHkoKCkgPT4gdGhpcy5vblN0YXJ0ZWQoKSk7XG4gICAgICB3aGVuLnZhbHVlT2YoaW50ZXJhY3Rpb25Db250ZXh0LmFjdGl2ZSkuYmVjb21lc0ZhbHNleSgoKSA9PiB0aGlzLm9uRmluaXNoZWQoKSk7XG4gICAgICBpbnRlcmFjdGlvbkNvbnRleHQucmVnaXN0ZXJEaXNwb3NhYmxlKHRoaXMpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblN0YXJ0ZWQoKSB7XG4gICAgICB0aGlzLmFzc2VydENhblN0YXJ0KCk7XG4gICAgICB0aGlzLmN1cnJlbnRBY3RpdmVNb25pdG9yLnZhbHVlID0gdGhpcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzc2VydENhblN0YXJ0KCkge1xuICAgICAgYXNzZXJ0LmlzRmFsc2V5KHRoaXMuY3VycmVudEFjdGl2ZU1vbml0b3IudmFsdWUpO1xuICAgICAgaWYgKHRoaXMuZXhjbHVzaXZlQ29udGV4dC52YWx1ZSAmJiB0aGlzLmludGVyYWN0aW9uQ29udGV4dCAhPT0gdGhpcy5leGNsdXNpdmVDb250ZXh0LnZhbHVlKSB7XG4gICAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKCdJbnRlcmFjdGlvbiBzdGFydGVkIHdoaWxlIGV4Y2x1c2l2ZSBsb2NrIGFjdGl2ZS4gIFRoaXMgaXMgdXN1YWxseSBiZWNhdXNlIHlvdSB1c2luZyBhIGRpZmZlcmVudCBjb250ZXh0IGR1cmluZyBwbGFjZS5jYW5EZWFjdGl2YXRlKGludGVyYWN0aW9uQ29udGV4dCknKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25GaW5pc2hlZCgpIHtcbiAgICAgIHRoaXMuYXNzZXJ0Q3VycmVudGx5QWN0aXZlKCk7XG4gICAgICB0aGlzLmN1cnJlbnRBY3RpdmVNb25pdG9yLnZhbHVlID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzc2VydEN1cnJlbnRseUFjdGl2ZSgpIHtcbiAgICAgIGFzc2VydC5pc1RydXRoeSh0aGlzLmN1cnJlbnRBY3RpdmVNb25pdG9yLnZhbHVlID09PSB0aGlzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==