@stemy/ngx-utils 17.1.0 → 17.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -50,6 +50,9 @@ export class StateService {
50
50
  get routerConfig() {
51
51
  return this.router.config;
52
52
  }
53
+ get $observable() {
54
+ return this.$snapshot.pipe(skipWhile(snapshot => snapshot === emptySnapshot), debounceTime(25));
55
+ }
53
56
  constructor(injector, zone, universal, router = null, contexts = null) {
54
57
  this.injector = injector;
55
58
  this.zone = zone;
@@ -140,7 +143,7 @@ export class StateService {
140
143
  });
141
144
  }
142
145
  subscribe(osOrNext) {
143
- return this.$snapshot.pipe(skipWhile(snapshot => snapshot === emptySnapshot), debounceTime(25)).subscribe(osOrNext);
146
+ return this.$observable.subscribe(osOrNext);
144
147
  }
145
148
  openInNewWindow(tree, target) {
146
149
  if (!this.universal.isBrowser)
@@ -179,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
179
182
  }] }, { type: i2.ChildrenOutletContexts, decorators: [{
180
183
  type: Optional
181
184
  }] }] });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvc2VydmljZXMvc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsc0JBQXNCLEVBRXRCLGFBQWEsRUFNYixNQUFNLEVBQ04sTUFBTSxFQUdULE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUF5QixNQUFNLE1BQU0sQ0FBQztBQUN6RixPQUFPLEVBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxHQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0YsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRWxELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7O0FBRXJELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLHNCQUFzQixFQUFFLENBQUM7QUFDMUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFTLEVBQUMsRUFBRSxFQUFFLEVBQUUsRUFBQyxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBVyxFQUFFLENBQUM7QUFDdEMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFpQixFQUFFLENBQUM7QUFDOUMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFVLEVBQUUsQ0FBQztBQVN6QyxNQUFNLE9BQU8sWUFBWTtJQVFyQixNQUFNLENBQUMsTUFBTSxDQUFDLEtBQVksRUFBRSxNQUFXO1FBQ25DLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzVCLFdB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QyxFQUFFLENBQUM7WUFDNUIsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pCLENBQUM7K0dBMUxRLFlBQVk7bUhBQVosWUFBWTs7NEZBQVosWUFBWTtrQkFEeEIsVUFBVTs7MEJBNERNLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIEluamVjdG9yLCBOZ1pvbmUsIE9wdGlvbmFsfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1xyXG4gICAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICAgIENoaWxkcmVuT3V0bGV0Q29udGV4dHMsXHJcbiAgICBEYXRhLFxyXG4gICAgTmF2aWdhdGlvbkVuZCxcclxuICAgIE5hdmlnYXRpb25FeHRyYXMsXHJcbiAgICBPdXRsZXRDb250ZXh0LFxyXG4gICAgUGFyYW1zLFxyXG4gICAgUmVzb2x2ZSxcclxuICAgIFJvdXRlLFxyXG4gICAgUm91dGVyLFxyXG4gICAgU2Nyb2xsLFxyXG4gICAgVXJsU2VnbWVudCxcclxuICAgIFVybFRyZWVcclxufSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIsIFN1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgc2tpcFdoaWxlLH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuaW1wb3J0IHtJUm91dGUsIE5hdmlnYXRpb25VcmxQYXJhbX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge1VuaXZlcnNhbFNlcnZpY2V9IGZyb20gXCIuL3VuaXZlcnNhbC5zZXJ2aWNlXCI7XHJcblxyXG5leHBvcnQgY29uc3QgZW1wdHlTbmFwc2hvdCA9IG5ldyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KCk7XHJcbmV4cG9ydCBjb25zdCBlbXB0eURhdGE6IERhdGEgPSB7aWQ6IFwiXCJ9O1xyXG5leHBvcnQgY29uc3QgZW1wdHlQYXJhbXM6IFBhcmFtcyA9IHt9O1xyXG5leHBvcnQgY29uc3QgZW1wdHlTZWdtZW50czogVXJsU2VnbWVudFtdID0gW107XHJcbmV4cG9ydCBjb25zdCBlbXB0eUNvbXBvbmVudHM6IGFueVtdID0gW107XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElTdGF0ZUluZm8ge1xyXG4gICAgdXJsOiBzdHJpbmc7XHJcbiAgICBzZWdtZW50czogVXJsU2VnbWVudFtdO1xyXG4gICAgY29tcG9uZW50czogYW55W107XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFN0YXRlU2VydmljZSB7XHJcblxyXG4gICAgcmVhZG9ubHkgZ2xvYmFsRXh0cmFzOiBOYXZpZ2F0aW9uRXh0cmFzO1xyXG5cclxuICAgIHByb3RlY3RlZCAkc25hcHNob3Q6IEJlaGF2aW9yU3ViamVjdDxBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90PjtcclxuICAgIHByb3RlY3RlZCAkY29tcG9uZW50OiBCZWhhdmlvclN1YmplY3Q8YW55PjtcclxuICAgIHByb3RlY3RlZCBzdGF0ZUluZm86IElTdGF0ZUluZm87XHJcblxyXG4gICAgc3RhdGljIHRvUGF0aChyb3V0ZTogUm91dGUsIHBhcmFtczogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgcGF0aCA9IHJvdXRlLnBhdGggfHwgXCJcIjtcclxuICAgICAgICBPYmplY3RVdGlscy5pdGVyYXRlKHBhcmFtcywgKHZhbHVlOiBhbnksIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoYDoke2tleX1gLCBgJHt2YWx1ZX1gKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gcGF0aDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgc25hcHNob3QoKTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuJHNuYXBzaG90LnZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBjb21wb25lbnQoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy4kY29tcG9uZW50LnZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCByb3V0ZSgpOiBJUm91dGUge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNuYXBzaG90LnJvdXRlQ29uZmlnO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkYXRhKCk6IERhdGEge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNuYXBzaG90LmRhdGEgfHwgZW1wdHlEYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBwYXJhbXMoKTogUGFyYW1zIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zbmFwc2hvdC5wYXJhbXMgfHwgZW1wdHlQYXJhbXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHF1ZXJ5UGFyYW1zKCk6IFBhcmFtcyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc25hcHNob3QucXVlcnlQYXJhbXMgfHwgZW1wdHlQYXJhbXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHVybCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlSW5mby51cmwgfHwgXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgdXJsU2VnbWVudHMoKTogVXJsU2VnbWVudFtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZUluZm8uc2VnbWVudHMgfHwgZW1wdHlTZWdtZW50cztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29tcG9uZW50cygpOiBhbnlbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVJbmZvLmNvbXBvbmVudHMgfHwgZW1wdHlDb21wb25lbnRzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCByb3V0ZXJDb25maWcoKTogSVJvdXRlW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5jb25maWc7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgICAgICAgICAgcmVhZG9ubHkgem9uZTogTmdab25lLFxyXG4gICAgICAgICAgICAgICAgcmVhZG9ubHkgdW5pdmVyc2FsOiBVbml2ZXJzYWxTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIgPSBudWxsLFxyXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcmVhZG9ubHkgY29udGV4dHM6IENoaWxkcmVuT3V0bGV0Q29udGV4dHMgPSBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5nbG9iYWxFeHRyYXMgPSB7XHJcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6IFwibWVyZ2VcIlxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy4kc25hcHNob3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGVtcHR5U25hcHNob3QpO1xyXG4gICAgICAgIHRoaXMuJGNvbXBvbmVudCA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XHJcbiAgICAgICAgdGhpcy5zdGF0ZUluZm8gPSB7XHJcbiAgICAgICAgICAgIHVybDogXCJcIixcclxuICAgICAgICAgICAgc2VnbWVudHM6IFtdLFxyXG4gICAgICAgICAgICBjb21wb25lbnRzOiBbXVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5yb3V0ZXI/LmV2ZW50c1xyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgICAgICAgICBtYXAoZXZlbnQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIFNjcm9sbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXZlbnQucm91dGVyRXZlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudDtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgcm91dGVyU3RhdGVTbmFwc2hvdCA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90O1xyXG4gICAgICAgICAgICAgICAgbGV0IHNuYXBzaG90ID0gcm91dGVyU3RhdGVTbmFwc2hvdC5yb290O1xyXG4gICAgICAgICAgICAgICAgbGV0IGNvbnRleHQ6IE91dGxldENvbnRleHQgPSB0aGlzLmNvbnRleHRzPy5nZXRDb250ZXh0KFwicHJpbWFyeVwiKTtcclxuICAgICAgICAgICAgICAgIGxldCBzZWdtZW50cyA9IHNuYXBzaG90LnVybDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudHM6IGFueVtdID0gW107XHJcbiAgICAgICAgICAgICAgICBjb25zdCBzbmFwc2hvdHM6IEFjdGl2YXRlZFJvdXRlU25hcHNob3RbXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgd2hpbGUgKHNuYXBzaG90KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc25hcHNob3RzLnB1c2goc25hcHNob3QpO1xyXG4gICAgICAgICAgICAgICAgICAgIHNlZ21lbnRzID0gc2VnbWVudHMuY29uY2F0KHNuYXBzaG90LnVybCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRleHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRleHQub3V0bGV0ICYmIGNvbnRleHQub3V0bGV0LmNvbXBvbmVudClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudHMucHVzaChjb250ZXh0Lm91dGxldC5jb21wb25lbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0ID0gY29udGV4dC5jaGlsZHJlbi5nZXRDb250ZXh0KFwicHJpbWFyeVwiKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgc25hcHNob3QgPSBzbmFwc2hvdC5maXJzdENoaWxkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZUluZm8gPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdXJsOiByb3V0ZXJTdGF0ZVNuYXBzaG90LnVybCxcclxuICAgICAgICAgICAgICAgICAgICBzZWdtZW50czogc2VnbWVudHMsXHJcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50czogY29tcG9uZW50c1xyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIHRoaXMuJHNuYXBzaG90Lm5leHQoc25hcHNob3RzW3NuYXBzaG90cy5sZW5ndGggLSAxXSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiRjb21wb25lbnQubmV4dChjb21wb25lbnRzW2NvbXBvbmVudHMubGVuZ3RoIC0gMV0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyByZWxvYWQoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBjb25zdCByb3V0ZXJTdGF0ZVNuYXBzaG90ID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3Q7XHJcbiAgICAgICAgY29uc3QgcmVzb2x2ZXJzID0gdGhpcy5yb3V0ZS5yZXNvbHZlIHx8IHt9O1xyXG4gICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhyZXNvbHZlcnMpO1xyXG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcclxuICAgICAgICAgICAgY29uc3QgcmVzb2x2ZXIgPSB0aGlzLmluamVjdG9yLmdldChyZXNvbHZlcnNba2V5XSkgYXMgUmVzb2x2ZTxhbnk+O1xyXG4gICAgICAgICAgICBsZXQgcmVzb2x2ZWQgPSByZXNvbHZlci5yZXNvbHZlKHRoaXMuc25hcHNob3QsIHJvdXRlclN0YXRlU25hcHNob3QpO1xyXG4gICAgICAgICAgICBpZiAocmVzb2x2ZWQgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlZCA9IGZpcnN0VmFsdWVGcm9tKHJlc29sdmVkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAocmVzb2x2ZWQgaW5zdGFuY2VvZiBQcm9taXNlKSB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlZCA9IGF3YWl0IHJlc29sdmVkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVtrZXldID0gcmVzb2x2ZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG5hdmlnYXRlQnlVcmwodXJsOiBzdHJpbmcgfCBVcmxUcmVlLCBuYXZpZ2F0aW9uRXh0cmFzOiBOYXZpZ2F0aW9uRXh0cmFzID0ge30pOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0ZSh1cmwsIG5hdmlnYXRpb25FeHRyYXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG5hdmlnYXRlKHVybDogTmF2aWdhdGlvblVybFBhcmFtLCBuYXZpZ2F0aW9uRXh0cmFzOiBOYXZpZ2F0aW9uRXh0cmFzID0ge30pOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICBpZiAoIXRoaXMucm91dGVyKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgY29uc3QgW3RyZWUsIGV4dHJhc10gPSB0aGlzLmNyZWF0ZVVybFRyZWUodXJsLCBuYXZpZ2F0aW9uRXh0cmFzKTtcclxuICAgICAgICByZXR1cm4gdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRyZWUsIGV4dHJhcyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgb3Blbih1cmw6IE5hdmlnYXRpb25VcmxQYXJhbSwgdGFyZ2V0ID0gXCJfYmxhbmtcIiwgbmF2aWdhdGlvbkV4dHJhczogTmF2aWdhdGlvbkV4dHJhcyA9IHt9KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnJvdXRlcikgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IFt0cmVlLCBleHRyYXNdID0gdGhpcy5jcmVhdGVVcmxUcmVlKHVybCwgbmF2aWdhdGlvbkV4dHJhcyk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vcGVuSW5OZXdXaW5kb3codHJlZSwgdGFyZ2V0KSB8fCB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRyZWUsIGV4dHJhcyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3Vic2NyaWJlSW1tZWRpYXRlbHkoXHJcbiAgICAgICAgbmV4dD86ICh2YWx1ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkgPT4gdm9pZCxcclxuICAgICAgICBlcnJvcj86IChlcnJvcjogYW55KSA9PiB2b2lkXHJcbiAgICApOiBTdWJzY3JpcHRpb24ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgIG5leHQsIGVycm9yXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3Vic2NyaWJlKG9zT3JOZXh0PzogUGFydGlhbDxPYnNlcnZlcjxBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90Pj4gfCAoKHZhbHVlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KSA9PiB2b2lkKSk6IFN1YnNjcmlwdGlvbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuJHNuYXBzaG90LnBpcGUoXHJcbiAgICAgICAgICAgIHNraXBXaGlsZShzbmFwc2hvdCA9PiBzbmFwc2hvdCA9PT0gZW1wdHlTbmFwc2hvdCksXHJcbiAgICAgICAgICAgIGRlYm91bmNlVGltZSgyNSlcclxuICAgICAgICApLnN1YnNjcmliZShvc09yTmV4dCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIG9wZW5Jbk5ld1dpbmRvdyh0cmVlOiBVcmxUcmVlLCB0YXJnZXQ6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghdGhpcy51bml2ZXJzYWwuaXNCcm93c2VyKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgY29uc3QgYmFzZVVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnJlcGxhY2UodGhpcy5yb3V0ZXIudXJsLCBcIlwiKTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBzZXJpYWxpemVkID0gdGhpcy5yb3V0ZXIuc2VyaWFsaXplVXJsKHRyZWUpO1xyXG4gICAgICAgICAgICBjb25zdCBzZXBhcmF0b3IgPSBzZXJpYWxpemVkLnN0YXJ0c1dpdGgoXCIvXCIpID8gXCJcIiA6IFwiL1wiO1xyXG4gICAgICAgICAgICB3aW5kb3cub3BlbihiYXNlVXJsICsgc2VwYXJhdG9yICsgc2VyaWFsaXplZCwgdGFyZ2V0KTtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQ2FuJ3Qgb3BlbiBuZXcgd2luZG93OiAke2V9YCk7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVVybFRyZWUodXJsOiBOYXZpZ2F0aW9uVXJsUGFyYW0sIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMpOiBbVXJsVHJlZSwgTmF2aWdhdGlvbkV4dHJhc10ge1xyXG4gICAgICAgIGlmICghdGhpcy5yb3V0ZXIpIHJldHVybiBudWxsO1xyXG4gICAgICAgIGV4dHJhcyA9IE9iamVjdC5hc3NpZ24oZXh0cmFzLCB0aGlzLmdsb2JhbEV4dHJhcywgZXh0cmFzIHx8IHt9KTtcclxuICAgICAgICBpZiAoT2JqZWN0VXRpbHMuaXNBcnJheSh1cmwpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZSh1cmwsIGV4dHJhcyksIGV4dHJhc11cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKE9iamVjdFV0aWxzLmlzU3RyaW5nKHVybCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFt0aGlzLnJvdXRlci5wYXJzZVVybCh1cmwpLCBleHRyYXNdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gW3VybCwgZXh0cmFzXTtcclxuICAgIH1cclxufVxyXG4iXX0=
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvc2VydmljZXMvc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsc0JBQXNCLEVBRXRCLGFBQWEsRUFNYixNQUFNLEVBQ04sTUFBTSxFQUdULE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUF5QixNQUFNLE1BQU0sQ0FBQztBQUN6RixPQUFPLEVBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxHQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0YsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRWxELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7O0FBRXJELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLHNCQUFzQixFQUFFLENBQUM7QUFDMUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFTLEVBQUMsRUFBRSxFQUFFLEVBQUUsRUFBQyxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBVyxFQUFFLENBQUM7QUFDdEMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFpQixFQUFFLENBQUM7QUFDOUMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFVLEVBQUUsQ0FBQztBQVN6QyxNQUFNLE9BQU8sWUFBWTtJQVFyQixNQUFNLENBQUMsTUFBTSxDQUFDLEtBQVksRUFBRSxNQUFXO1FBQ25DLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzVCLFdB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LENBQUE7UUFDM0QsQ0FBQztRQUNELElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBQ0QsT0FBTyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN6QixDQUFDOytHQTlMUSxZQUFZO21IQUFaLFlBQVk7OzRGQUFaLFlBQVk7a0JBRHhCLFVBQVU7OzBCQW1FTSxRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBJbmplY3RvciwgTmdab25lLCBPcHRpb25hbH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtcclxuICAgIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgICBDaGlsZHJlbk91dGxldENvbnRleHRzLFxyXG4gICAgRGF0YSxcclxuICAgIE5hdmlnYXRpb25FbmQsXHJcbiAgICBOYXZpZ2F0aW9uRXh0cmFzLFxyXG4gICAgT3V0bGV0Q29udGV4dCxcclxuICAgIFBhcmFtcyxcclxuICAgIFJlc29sdmUsXHJcbiAgICBSb3V0ZSxcclxuICAgIFJvdXRlcixcclxuICAgIFNjcm9sbCxcclxuICAgIFVybFNlZ21lbnQsXHJcbiAgICBVcmxUcmVlXHJcbn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIE9ic2VydmVyLCBTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHNraXBXaGlsZSx9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcbmltcG9ydCB7SVJvdXRlLCBOYXZpZ2F0aW9uVXJsUGFyYW19IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtVbml2ZXJzYWxTZXJ2aWNlfSBmcm9tIFwiLi91bml2ZXJzYWwuc2VydmljZVwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IGVtcHR5U25hcHNob3QgPSBuZXcgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCgpO1xyXG5leHBvcnQgY29uc3QgZW1wdHlEYXRhOiBEYXRhID0ge2lkOiBcIlwifTtcclxuZXhwb3J0IGNvbnN0IGVtcHR5UGFyYW1zOiBQYXJhbXMgPSB7fTtcclxuZXhwb3J0IGNvbnN0IGVtcHR5U2VnbWVudHM6IFVybFNlZ21lbnRbXSA9IFtdO1xyXG5leHBvcnQgY29uc3QgZW1wdHlDb21wb25lbnRzOiBhbnlbXSA9IFtdO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJU3RhdGVJbmZvIHtcclxuICAgIHVybDogc3RyaW5nO1xyXG4gICAgc2VnbWVudHM6IFVybFNlZ21lbnRbXTtcclxuICAgIGNvbXBvbmVudHM6IGFueVtdO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTdGF0ZVNlcnZpY2Uge1xyXG5cclxuICAgIHJlYWRvbmx5IGdsb2JhbEV4dHJhczogTmF2aWdhdGlvbkV4dHJhcztcclxuXHJcbiAgICBwcm90ZWN0ZWQgJHNuYXBzaG90OiBCZWhhdmlvclN1YmplY3Q8QWN0aXZhdGVkUm91dGVTbmFwc2hvdD47XHJcbiAgICBwcm90ZWN0ZWQgJGNvbXBvbmVudDogQmVoYXZpb3JTdWJqZWN0PGFueT47XHJcbiAgICBwcm90ZWN0ZWQgc3RhdGVJbmZvOiBJU3RhdGVJbmZvO1xyXG5cclxuICAgIHN0YXRpYyB0b1BhdGgocm91dGU6IFJvdXRlLCBwYXJhbXM6IGFueSk6IHN0cmluZyB7XHJcbiAgICAgICAgbGV0IHBhdGggPSByb3V0ZS5wYXRoIHx8IFwiXCI7XHJcbiAgICAgICAgT2JqZWN0VXRpbHMuaXRlcmF0ZShwYXJhbXMsICh2YWx1ZTogYW55LCBrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKGA6JHtrZXl9YCwgYCR7dmFsdWV9YCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHBhdGg7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHNuYXBzaG90KCk6IEFjdGl2YXRlZFJvdXRlU25hcHNob3Qge1xyXG4gICAgICAgIHJldHVybiB0aGlzLiRzbmFwc2hvdC52YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29tcG9uZW50KCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuJGNvbXBvbmVudC52YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcm91dGUoKTogSVJvdXRlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zbmFwc2hvdC5yb3V0ZUNvbmZpZztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZGF0YSgpOiBEYXRhIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zbmFwc2hvdC5kYXRhIHx8IGVtcHR5RGF0YTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcGFyYW1zKCk6IFBhcmFtcyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc25hcHNob3QucGFyYW1zIHx8IGVtcHR5UGFyYW1zO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBxdWVyeVBhcmFtcygpOiBQYXJhbXMge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNuYXBzaG90LnF1ZXJ5UGFyYW1zIHx8IGVtcHR5UGFyYW1zO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCB1cmwoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZUluZm8udXJsIHx8IFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHVybFNlZ21lbnRzKCk6IFVybFNlZ21lbnRbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVJbmZvLnNlZ21lbnRzIHx8IGVtcHR5U2VnbWVudHM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGNvbXBvbmVudHMoKTogYW55W10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlSW5mby5jb21wb25lbnRzIHx8IGVtcHR5Q29tcG9uZW50cztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcm91dGVyQ29uZmlnKCk6IElSb3V0ZVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIuY29uZmlnO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCAkb2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy4kc25hcHNob3QucGlwZShcclxuICAgICAgICAgICAgc2tpcFdoaWxlKHNuYXBzaG90ID0+IHNuYXBzaG90ID09PSBlbXB0eVNuYXBzaG90KSxcclxuICAgICAgICAgICAgZGVib3VuY2VUaW1lKDI1KVxyXG4gICAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgICAgICAgICByZWFkb25seSB6b25lOiBOZ1pvbmUsXHJcbiAgICAgICAgICAgICAgICByZWFkb25seSB1bml2ZXJzYWw6IFVuaXZlcnNhbFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSByZWFkb25seSByb3V0ZXI6IFJvdXRlciA9IG51bGwsXHJcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSByZWFkb25seSBjb250ZXh0czogQ2hpbGRyZW5PdXRsZXRDb250ZXh0cyA9IG51bGwpIHtcclxuICAgICAgICB0aGlzLmdsb2JhbEV4dHJhcyA9IHtcclxuICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogXCJtZXJnZVwiXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLiRzbmFwc2hvdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZW1wdHlTbmFwc2hvdCk7XHJcbiAgICAgICAgdGhpcy4kY29tcG9uZW50ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcclxuICAgICAgICB0aGlzLnN0YXRlSW5mbyA9IHtcclxuICAgICAgICAgICAgdXJsOiBcIlwiLFxyXG4gICAgICAgICAgICBzZWdtZW50czogW10sXHJcbiAgICAgICAgICAgIGNvbXBvbmVudHM6IFtdXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLnJvdXRlcj8uZXZlbnRzXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICAgICAgICAgIG1hcChldmVudCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgU2Nyb2xsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudC5yb3V0ZXJFdmVudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGV2ZW50O1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByb3V0ZXJTdGF0ZVNuYXBzaG90ID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3Q7XHJcbiAgICAgICAgICAgICAgICBsZXQgc25hcHNob3QgPSByb3V0ZXJTdGF0ZVNuYXBzaG90LnJvb3Q7XHJcbiAgICAgICAgICAgICAgICBsZXQgY29udGV4dDogT3V0bGV0Q29udGV4dCA9IHRoaXMuY29udGV4dHM/LmdldENvbnRleHQoXCJwcmltYXJ5XCIpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHNlZ21lbnRzID0gc25hcHNob3QudXJsO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50czogYW55W10gPSBbXTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHNuYXBzaG90czogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFtdID0gW107XHJcbiAgICAgICAgICAgICAgICB3aGlsZSAoc25hcHNob3QpIHtcclxuICAgICAgICAgICAgICAgICAgICBzbmFwc2hvdHMucHVzaChzbmFwc2hvdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VnbWVudHMgPSBzZWdtZW50cy5jb25jYXQoc25hcHNob3QudXJsKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoY29udGV4dCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29udGV4dC5vdXRsZXQgJiYgY29udGV4dC5vdXRsZXQuY29tcG9uZW50KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50cy5wdXNoKGNvbnRleHQub3V0bGV0LmNvbXBvbmVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNoaWxkcmVuLmdldENvbnRleHQoXCJwcmltYXJ5XCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBzbmFwc2hvdCA9IHNuYXBzaG90LmZpcnN0Q2hpbGQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlSW5mbyA9IHtcclxuICAgICAgICAgICAgICAgICAgICB1cmw6IHJvdXRlclN0YXRlU25hcHNob3QudXJsLFxyXG4gICAgICAgICAgICAgICAgICAgIHNlZ21lbnRzOiBzZWdtZW50cyxcclxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRzOiBjb21wb25lbnRzXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kc25hcHNob3QubmV4dChzbmFwc2hvdHNbc25hcHNob3RzLmxlbmd0aCAtIDFdKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuJGNvbXBvbmVudC5uZXh0KGNvbXBvbmVudHNbY29tcG9uZW50cy5sZW5ndGggLSAxXSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHJlbG9hZCgpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IHJvdXRlclN0YXRlU25hcHNob3QgPSB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdDtcclxuICAgICAgICBjb25zdCByZXNvbHZlcnMgPSB0aGlzLnJvdXRlLnJlc29sdmUgfHwge307XHJcbiAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHJlc29sdmVycyk7XHJcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xyXG4gICAgICAgICAgICBjb25zdCByZXNvbHZlciA9IHRoaXMuaW5qZWN0b3IuZ2V0KHJlc29sdmVyc1trZXldKSBhcyBSZXNvbHZlPGFueT47XHJcbiAgICAgICAgICAgIGxldCByZXNvbHZlZCA9IHJlc29sdmVyLnJlc29sdmUodGhpcy5zbmFwc2hvdCwgcm91dGVyU3RhdGVTbmFwc2hvdCk7XHJcbiAgICAgICAgICAgIGlmIChyZXNvbHZlZCBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmVkID0gZmlyc3RWYWx1ZUZyb20ocmVzb2x2ZWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChyZXNvbHZlZCBpbnN0YW5jZW9mIFByb21pc2UpIHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmVkID0gYXdhaXQgcmVzb2x2ZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5kYXRhW2tleV0gPSByZXNvbHZlZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgbmF2aWdhdGVCeVVybCh1cmw6IHN0cmluZyB8IFVybFRyZWUsIG5hdmlnYXRpb25FeHRyYXM6IE5hdmlnYXRpb25FeHRyYXMgPSB7fSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5hdmlnYXRlKHVybCwgbmF2aWdhdGlvbkV4dHJhcyk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgbmF2aWdhdGUodXJsOiBOYXZpZ2F0aW9uVXJsUGFyYW0sIG5hdmlnYXRpb25FeHRyYXM6IE5hdmlnYXRpb25FeHRyYXMgPSB7fSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGlmICghdGhpcy5yb3V0ZXIpIHJldHVybiBmYWxzZTtcclxuICAgICAgICBjb25zdCBbdHJlZSwgZXh0cmFzXSA9IHRoaXMuY3JlYXRlVXJsVHJlZSh1cmwsIG5hdmlnYXRpb25FeHRyYXMpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodHJlZSwgZXh0cmFzKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBvcGVuKHVybDogTmF2aWdhdGlvblVybFBhcmFtLCB0YXJnZXQgPSBcIl9ibGFua1wiLCBuYXZpZ2F0aW9uRXh0cmFzOiBOYXZpZ2F0aW9uRXh0cmFzID0ge30pOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICBpZiAoIXRoaXMucm91dGVyKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgY29uc3QgW3RyZWUsIGV4dHJhc10gPSB0aGlzLmNyZWF0ZVVybFRyZWUodXJsLCBuYXZpZ2F0aW9uRXh0cmFzKTtcclxuICAgICAgICByZXR1cm4gdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9wZW5Jbk5ld1dpbmRvdyh0cmVlLCB0YXJnZXQpIHx8IHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodHJlZSwgZXh0cmFzKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzdWJzY3JpYmVJbW1lZGlhdGVseShcclxuICAgICAgICBuZXh0PzogKHZhbHVlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KSA9PiB2b2lkLFxyXG4gICAgICAgIGVycm9yPzogKGVycm9yOiBhbnkpID0+IHZvaWRcclxuICAgICk6IFN1YnNjcmlwdGlvbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dCwgZXJyb3JcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzdWJzY3JpYmUob3NPck5leHQ/OiBQYXJ0aWFsPE9ic2VydmVyPEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+PiB8ICgodmFsdWU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpID0+IHZvaWQpKTogU3Vic2NyaXB0aW9uIHtcclxuICAgICAgICByZXR1cm4gdGhpcy4kb2JzZXJ2YWJsZS5zdWJzY3JpYmUob3NPck5leHQpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBvcGVuSW5OZXdXaW5kb3codHJlZTogVXJsVHJlZSwgdGFyZ2V0OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXRoaXMudW5pdmVyc2FsLmlzQnJvd3NlcikgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGJhc2VVcmwgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5yZXBsYWNlKHRoaXMucm91dGVyLnVybCwgXCJcIik7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3Qgc2VyaWFsaXplZCA9IHRoaXMucm91dGVyLnNlcmlhbGl6ZVVybCh0cmVlKTtcclxuICAgICAgICAgICAgY29uc3Qgc2VwYXJhdG9yID0gc2VyaWFsaXplZC5zdGFydHNXaXRoKFwiL1wiKSA/IFwiXCIgOiBcIi9cIjtcclxuICAgICAgICAgICAgd2luZG93Lm9wZW4oYmFzZVVybCArIHNlcGFyYXRvciArIHNlcmlhbGl6ZWQsIHRhcmdldCk7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coYENhbid0IG9wZW4gbmV3IHdpbmRvdzogJHtlfWApO1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBjcmVhdGVVcmxUcmVlKHVybDogTmF2aWdhdGlvblVybFBhcmFtLCBleHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzKTogW1VybFRyZWUsIE5hdmlnYXRpb25FeHRyYXNdIHtcclxuICAgICAgICBpZiAoIXRoaXMucm91dGVyKSByZXR1cm4gbnVsbDtcclxuICAgICAgICBleHRyYXMgPSBPYmplY3QuYXNzaWduKGV4dHJhcywgdGhpcy5nbG9iYWxFeHRyYXMsIGV4dHJhcyB8fCB7fSk7XHJcbiAgICAgICAgaWYgKE9iamVjdFV0aWxzLmlzQXJyYXkodXJsKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gW3RoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUodXJsLCBleHRyYXMpLCBleHRyYXNdXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChPYmplY3RVdGlscy5pc1N0cmluZyh1cmwpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbdGhpcy5yb3V0ZXIucGFyc2VVcmwodXJsKSwgZXh0cmFzXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFt1cmwsIGV4dHJhc107XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -4,7 +4,7 @@ import 'reflect-metadata';
4
4
  import * as i2 from '@angular/router';
5
5
  import { ActivatedRouteSnapshot, Scroll, NavigationEnd, DefaultUrlSerializer, UrlTree, UrlSegmentGroup, UrlSegment, UrlSerializer } from '@angular/router';
6
6
  import { BehaviorSubject, Observable, firstValueFrom, Subject, Subscription, from, TimeoutError, combineLatest } from 'rxjs';
7
- import { distinctUntilChanged, map, filter, skipWhile, debounceTime, first, mergeMap, timeout } from 'rxjs/operators';
7
+ import { skipWhile, debounceTime, distinctUntilChanged, map, filter, first, mergeMap, timeout } from 'rxjs/operators';
8
8
  import * as i1$3 from '@angular/common';
9
9
  import { isPlatformBrowser, isPlatformServer, DOCUMENT, APP_BASE_HREF, CommonModule } from '@angular/common';
10
10
  import * as i1 from 'ngx-device-detector';
@@ -755,6 +755,9 @@ class StateService {
755
755
  get routerConfig() {
756
756
  return this.router.config;
757
757
  }
758
+ get $observable() {
759
+ return this.$snapshot.pipe(skipWhile(snapshot => snapshot === emptySnapshot), debounceTime(25));
760
+ }
758
761
  constructor(injector, zone, universal, router = null, contexts = null) {
759
762
  this.injector = injector;
760
763
  this.zone = zone;
@@ -845,7 +848,7 @@ class StateService {
845
848
  });
846
849
  }
847
850
  subscribe(osOrNext) {
848
- return this.$snapshot.pipe(skipWhile(snapshot => snapshot === emptySnapshot), debounceTime(25)).subscribe(osOrNext);
851
+ return this.$observable.subscribe(osOrNext);
849
852
  }
850
853
  openInNewWindow(tree, target) {
851
854
  if (!this.universal.isBrowser)