http-request-manager 18.0.1 → 18.0.2

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 (36) hide show
  1. package/esm2022/lib/http-request-manager.module.mjs +4 -4
  2. package/esm2022/lib/http-request-services-demo/database-data-demo/database-data-demo.component.mjs +4 -4
  3. package/esm2022/lib/http-request-services-demo/http-request-services-demo.component.mjs +5 -5
  4. package/esm2022/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.mjs +6 -6
  5. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.mjs +4 -4
  6. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.mjs +4 -4
  7. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.mjs +5 -5
  8. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.mjs +5 -5
  9. package/esm2022/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.mjs +5 -5
  10. package/esm2022/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.mjs +5 -5
  11. package/esm2022/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.mjs +4 -4
  12. package/esm2022/lib/interceptors/credentials.interceptor.mjs +4 -4
  13. package/esm2022/lib/interceptors/proxy-debugger.interceptor.mjs +6 -6
  14. package/esm2022/lib/interceptors/request-error.interceptor.mjs +4 -4
  15. package/esm2022/lib/interceptors/request-header.interceptor.mjs +5 -5
  16. package/esm2022/lib/services/database-manager-services/database.manager.service.mjs +5 -5
  17. package/esm2022/lib/services/database-manager-services/db.storage.service.mjs +5 -5
  18. package/esm2022/lib/services/local-storage-manager-service/local-storage-manager.service.mjs +6 -6
  19. package/esm2022/lib/services/request-manager-services/http-manager.service.mjs +6 -6
  20. package/esm2022/lib/services/request-manager-services/request.service.mjs +4 -4
  21. package/esm2022/lib/services/request-manager-services/rxjs-operators/request-streaming.mjs +1 -1
  22. package/esm2022/lib/services/request-manager-state-service/http-manager-state.store.mjs +6 -6
  23. package/esm2022/lib/services/utils/app.service.mjs +5 -5
  24. package/esm2022/lib/services/utils/encryption/asymmetrical-encryption.service.mjs +6 -6
  25. package/esm2022/lib/services/utils/encryption/encryption-test.service.mjs +5 -5
  26. package/esm2022/lib/services/utils/encryption/random.mjs +1 -1
  27. package/esm2022/lib/services/utils/encryption/symmetrical-encryption.service.mjs +5 -5
  28. package/esm2022/lib/services/utils/headers.service.mjs +3 -3
  29. package/esm2022/lib/services/utils/object-merger.service.mjs +5 -5
  30. package/esm2022/lib/services/utils/path-query.service.mjs +4 -4
  31. package/esm2022/lib/services/utils/utils.service.mjs +5 -5
  32. package/fesm2022/http-request-manager.mjs +119 -119
  33. package/fesm2022/http-request-manager.mjs.map +1 -1
  34. package/http-request-manager-18.0.2.tgz +0 -0
  35. package/package.json +1 -1
  36. package/http-request-manager-18.0.1.tgz +0 -0
@@ -33,18 +33,18 @@ export class ObjectMergerService {
33
33
  mergedOptions.encrypted = (options && !options.encrypted) ? configForRootOptions?.encrypted || false : options.encrypted;
34
34
  return mergedOptions;
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ObjectMergerService, deps: [{ token: CONFIG_SETTINGS_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ObjectMergerService, providedIn: 'root' }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectMergerService, deps: [{ token: CONFIG_SETTINGS_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectMergerService, providedIn: 'root' }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ObjectMergerService, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectMergerService, decorators: [{
40
40
  type: Injectable,
41
41
  args: [{
42
42
  providedIn: 'root'
43
43
  }]
44
- }], ctorParameters: function () { return [{ type: i1.ConfigOptions, decorators: [{
44
+ }], ctorParameters: () => [{ type: i1.ConfigOptions, decorators: [{
45
45
  type: Inject,
46
46
  args: [CONFIG_SETTINGS_TOKEN]
47
47
  }, {
48
48
  type: Optional
49
- }] }]; } });
49
+ }] }] });
50
50
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1lcmdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy91dGlscy9vYmplY3QtbWVyZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFLcEcsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixZQUErRCxhQUE2QjtRQUE3QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFDeEYsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO1lBQUUsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDdEUsQ0FBQztJQUVGLFlBQVksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLEtBQUssRUFBRTtRQUV2QyxNQUFNLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDbEksTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUUvQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFBO1FBRXhHLGFBQWEsQ0FBQyxJQUFJLEdBQUcsQ0FBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLEdBQUcsYUFBYSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUUsQ0FBQTtRQUU1RSxhQUFhLENBQUMsT0FBTyxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxHQUFHLGFBQWEsRUFBRSxPQUFPLElBQUksRUFBRSxFQUFFLENBQUE7UUFFckYsYUFBYSxDQUFDLEtBQUssR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxLQUFLLENBQUMsSUFBSSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFFakssYUFBYSxDQUFDLE9BQU8sR0FBRyxDQUFDLE9BQU8sSUFBSSxPQUFPLEVBQUUsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQztRQUU1RyxhQUFhLENBQUMsWUFBWSxHQUFHLENBQUMsT0FBTyxJQUFJLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLFlBQVksSUFBSSxLQUFLLENBQUM7UUFFOUgsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLE9BQU8sSUFBSSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxNQUFNLElBQUksS0FBSyxDQUFDO1FBRXRHLE9BQU8sYUFBYSxDQUFDO0lBRXZCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRTtRQUVsRCxNQUFNLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDdEksTUFBTSxvQkFBb0IsR0FBRyxhQUFhLENBQUMsT0FBTyxJQUFJLG1CQUFtQixDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQTtRQUV6RixNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRW5ELGFBQWEsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQTtRQUVqSCxhQUFhLENBQUMsT0FBTyxHQUFHLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUE7UUFFakgsYUFBYSxDQUFDLFNBQVMsR0FBRyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFBO1FBRTNILGFBQWEsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLFNBQVMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUE7UUFFeEgsT0FBTyxhQUFhLENBQUM7SUFFdkIsQ0FBQzsrR0E5Q1UsbUJBQW1CLGtCQUVWLHFCQUFxQjttSEFGOUIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdjLE1BQU07MkJBQUMscUJBQXFCOzswQkFBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBcGlSZXF1ZXN0IH0gZnJvbSAnLi4vcmVxdWVzdC1tYW5hZ2VyLXN0YXRlLXNlcnZpY2UvbW9kZWxzJztcbmltcG9ydCB7IFNldHRpbmdPcHRpb25zIH0gZnJvbSAnLi4vbG9jYWwtc3RvcmFnZS1tYW5hZ2VyLXNlcnZpY2UnO1xuXG5pbXBvcnQgeyBDT05GSUdfU0VUVElOR1NfVE9LRU4gfSBmcm9tICcuLi8uLi9tb2RlbHMvY29uZmlnLXRva2VuLm1vZGVsJztcbmltcG9ydCB7IENvbmZpZ0hUVFBPcHRpb25zLCBDb25maWdPcHRpb25zLCBMb2NhbFN0b3JhZ2VPcHRpb25zIH0gZnJvbSAnLi4vcmVxdWVzdC1tYW5hZ2VyLXNlcnZpY2VzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgT2JqZWN0TWVyZ2VyU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChDT05GSUdfU0VUVElOR1NfVE9LRU4pIEBPcHRpb25hbCgpIHByaXZhdGUgY29uZmlnT3B0aW9ucz86IENvbmZpZ09wdGlvbnMpIHtcbiAgICAgIGlmICghdGhpcy5jb25maWdPcHRpb25zKSB0aGlzLmNvbmZpZ09wdGlvbnMgPSBDb25maWdPcHRpb25zLmFkYXB0KClcbiAgIH1cblxuICBtZXJnZU9wdGlvbnMob3B0aW9ucyA9IEFwaVJlcXVlc3QuYWRhcHQoKSkge1xuXG4gICAgY29uc3QgY29uZmlnRm9yUm9vdCA9ICh0aGlzLmNvbmZpZ09wdGlvbnM/Lmh0dHBSZXF1ZXN0T3B0aW9ucykgPyB0aGlzLmNvbmZpZ09wdGlvbnMuaHR0cFJlcXVlc3RPcHRpb25zIDogQ29uZmlnSFRUUE9wdGlvbnMuYWRhcHQoKVxuICAgIGNvbnN0IG1lcmdlZE9wdGlvbnMgPSBBcGlSZXF1ZXN0LmFkYXB0KG9wdGlvbnMpXG5cbiAgICBtZXJnZWRPcHRpb25zLnNlcnZlciA9IChvcHRpb25zICYmIG9wdGlvbnMuc2VydmVyID09PSAnJykgPyBjb25maWdGb3JSb290Py5zZXJ2ZXIgfHwgJycgOiBvcHRpb25zLnNlcnZlclxuXG4gICAgbWVyZ2VkT3B0aW9ucy5wYXRoID0gWyAuLi5vcHRpb25zLnBhdGggfHwgW10sIC4uLmNvbmZpZ0ZvclJvb3Q/LnBhdGggfHwgW10gXVxuXG4gICAgbWVyZ2VkT3B0aW9ucy5oZWFkZXJzID0geyAuLi5vcHRpb25zLmhlYWRlcnMgfHwge30sIC4uLmNvbmZpZ0ZvclJvb3Q/LmhlYWRlcnMgfHwge30gfVxuXG4gICAgbWVyZ2VkT3B0aW9ucy5yZXRyeSA9IChvcHRpb25zICYmIChvcHRpb25zPy5yZXRyeT8udGltZXMgIT09IDAgfHwgb3B0aW9ucz8ucmV0cnk/LmRlbGF5ICE9PSAzKSkgPyBvcHRpb25zLnJldHJ5IDogY29uZmlnRm9yUm9vdD8ucmV0cnkgfHwgeyB0aW1lczogMCwgZGVsYXk6IDMgfTtcblxuICAgIG1lcmdlZE9wdGlvbnMucG9sbGluZyA9IChvcHRpb25zICYmIG9wdGlvbnM/LnBvbGxpbmcgIT09IDApID8gb3B0aW9ucy5wb2xsaW5nIDogY29uZmlnRm9yUm9vdD8ucG9sbGluZyB8fCAwO1xuXG4gICAgbWVyZ2VkT3B0aW9ucy5kaXNwbGF5RXJyb3IgPSAob3B0aW9ucyAmJiBvcHRpb25zPy5kaXNwbGF5RXJyb3IpID8gb3B0aW9ucy5kaXNwbGF5RXJyb3IgOiBjb25maWdGb3JSb290Py5kaXNwbGF5RXJyb3IgfHwgZmFsc2U7XG5cbiAgICBtZXJnZWRPcHRpb25zLnN0cmVhbSA9IChvcHRpb25zICYmIG9wdGlvbnM/LnN0cmVhbSkgPyBvcHRpb25zLnN0cmVhbSA6IGNvbmZpZ0ZvclJvb3Q/LnN0cmVhbSB8fCBmYWxzZTtcblxuICAgIHJldHVybiBtZXJnZWRPcHRpb25zO1xuXG4gIH1cblxuICBtZXJnZVN0b3JhZ2VPcHRpb25zKG9wdGlvbnMgPSBTZXR0aW5nT3B0aW9ucy5hZGFwdCgpKSB7XG5cbiAgICBjb25zdCBjb25maWdGb3JSb290ID0gKHRoaXMuY29uZmlnT3B0aW9ucz8uTG9jYWxTdG9yYWdlT3B0aW9ucykgPyB0aGlzLmNvbmZpZ09wdGlvbnMuTG9jYWxTdG9yYWdlT3B0aW9ucyA6IExvY2FsU3RvcmFnZU9wdGlvbnMuYWRhcHQoKVxuICAgIGNvbnN0IGNvbmZpZ0ZvclJvb3RPcHRpb25zID0gY29uZmlnRm9yUm9vdC5vcHRpb25zIHx8IExvY2FsU3RvcmFnZU9wdGlvbnMuYWRhcHQoKS5vcHRpb25zXG5cbiAgICBjb25zdCBtZXJnZWRPcHRpb25zID0gU2V0dGluZ09wdGlvbnMuYWRhcHQob3B0aW9ucylcblxuICAgIG1lcmdlZE9wdGlvbnMuc3RvcmFnZSA9IChvcHRpb25zICYmIG9wdGlvbnMuc3RvcmFnZSA9PT0gMCkgPyBjb25maWdGb3JSb290T3B0aW9ucz8uc3RvcmFnZSB8fCAwIDogb3B0aW9ucy5zdG9yYWdlXG5cbiAgICBtZXJnZWRPcHRpb25zLmV4cGlyZXMgPSAob3B0aW9ucyAmJiBvcHRpb25zLmV4cGlyZXMgPT09IDApID8gY29uZmlnRm9yUm9vdE9wdGlvbnM/LmV4cGlyZXMgfHwgMCA6IG9wdGlvbnMuZXhwaXJlc1xuXG4gICAgbWVyZ2VkT3B0aW9ucy5leHBpcmVzSW4gPSAob3B0aW9ucyAmJiBvcHRpb25zLmV4cGlyZXNJbiA9PT0gJycpID8gY29uZmlnRm9yUm9vdE9wdGlvbnM/LmV4cGlyZXNJbiB8fCAnJyA6IG9wdGlvbnMuZXhwaXJlc0luXG5cbiAgICBtZXJnZWRPcHRpb25zLmVuY3J5cHRlZCA9IChvcHRpb25zICYmICFvcHRpb25zLmVuY3J5cHRlZCkgPyBjb25maWdGb3JSb290T3B0aW9ucz8uZW5jcnlwdGVkIHx8IGZhbHNlIDogb3B0aW9ucy5lbmNyeXB0ZWRcblxuICAgIHJldHVybiBtZXJnZWRPcHRpb25zO1xuXG4gIH1cblxufVxuIl19
@@ -42,13 +42,13 @@ export class PathQueryService {
42
42
  isObject(val) {
43
43
  return (val === null) ? false : ((typeof val === 'function') || (typeof val === 'object'));
44
44
  }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PathQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
46
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PathQueryService, providedIn: 'root' }); }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PathQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
46
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PathQueryService, providedIn: 'root' }); }
47
47
  }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PathQueryService, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PathQueryService, decorators: [{
49
49
  type: Injectable,
50
50
  args: [{
51
51
  providedIn: 'root'
52
52
  }]
53
53
  }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC1xdWVyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy91dGlscy9wYXRoLXF1ZXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUg3QjtRQXlEVSxzQkFBaUIsR0FBRyxDQUFDLEdBQVEsRUFBdUIsRUFBRSxDQUM1RCxNQUFNLENBQUMsV0FBVyxDQUNoQixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQzthQUNoQixHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQ3BCLENBQUMsR0FBRyxFQUFFLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQ2xGO2FBQ0EsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUMvRCxDQUFBO0tBRUo7SUE3REMsWUFBWSxDQUFDLE1BQXVCLEVBQUUsTUFBa0I7UUFFdEQsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7UUFFNUQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVEsRUFB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QUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQyxPQUFPLEdBQUcsS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUFFLENBQUE7SUFDOUYsQ0FBQzsrR0FwRFUsZ0JBQWdCO21IQUFoQixnQkFBZ0IsY0FGZixNQUFNOzs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQYXRoUXVlcnlTZXJ2aWNlIHtcblxuICBidWlsZEFQSVBhdGgoc2VydmVyOiBzdHJpbmd8c3RyaW5nW10sIHBhcmFtcz86IGFueVtdfGFueSkge1xuXG4gICAgc2VydmVyID0gKEFycmF5LmlzQXJyYXkoc2VydmVyKSkgPyBzZXJ2ZXIuam9pbignLycpIDogc2VydmVyXG5cbiAgICBjb25zdCBwYXRoT2JqZWN0cyA9IChwYXJhbXMpID8gcGFyYW1zLmZpbHRlcigocGF0aDphbnkpID0+ICghdGhpcy5pc09iamVjdChwYXRoKSkpIDogW11cbiAgICBjb25zdCBxdWVyeU9iamVjdHMgPSAocGFyYW1zKSA/IHBhcmFtcy5maWx0ZXIoKHBhdGg6YW55KSA9PiAodGhpcy5pc09iamVjdChwYXRoKSkpIDogW11cblxuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5yZW1vdmVFbXB0eVBhcmFtcyhxdWVyeU9iamVjdHMucmVkdWNlKChyOiBhbnksIGM6IGFueSkgPT4ge1xuICAgICAgT2JqZWN0LmVudHJpZXMoYykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIHJba2V5XSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUuam9pbignLCcpIDogdmFsdWVcbiAgICAgIH0pXG4gICAgICByZXR1cm4gclxuICAgIH0sIHt9KSlcblxuICAgIGxldCBwYXRoID0gdGhpcy5idWlsZFJlc3RQYXRoKHNlcnZlciwgcGF0aE9iamVjdHMpXG5cbiAgICByZXR1cm4oT2JqZWN0LmtleXMocXVlcnkpLmxlbmd0aCA+IDApID8gcGF0aCArICc/JyArIHRoaXMuYnVpbGRRdWVyeVBhdGgocXVlcnkpIDogcGF0aFxuXG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUmVzdFBhdGgoc2VydmVyOiBzdHJpbmcsIHBhcmFtczogYW55W10pOiBzdHJpbmcge1xuICAgIHNlcnZlciA9IChzZXJ2ZXIpID8gc2VydmVyIDogJydcbiAgICBzZXJ2ZXIgPSAoc2VydmVyLmNoYXJBdCgwKSA9PT0gJy8nKSA/IHNlcnZlci5zdWJzdHJpbmcoMSkgOiBzZXJ2ZXJcbiAgICByZXR1cm4gdGhpcy5jbGVhblVybFBhdGgoc2VydmVyICsnLycrIHBhcmFtcy5qb2luKCcvJykpXG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUXVlcnlQYXRoKHBhcmFtczogYW55KTogc3RyaW5nIHtcblxuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKVxuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gcGFyYW1zKSB7XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHBhcmFtc1trZXldKSkge1xuICAgICAgICBwYXJhbXNba2V5XS5mb3JFYWNoKCh2YWx1ZTogYW55KSA9PiBzZWFyY2hQYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlYXJjaFBhcmFtcy5hcHBlbmQoa2V5LCBwYXJhbXNba2V5XSk7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICByZXR1cm4gc2VhcmNoUGFyYW1zLnRvU3RyaW5nKClcblxuICB9XG5cbiAgcHJpdmF0ZSBjbGVhblVybFBhdGgoc3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyhbXjpdXFwvKVxcLysvZywgXCIkMVwiKS5yZXBsYWNlKC9cXC8kLywnJylcbiAgfVxuXG4gIHByaXZhdGUgaXNPYmplY3QodmFsOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHZhbCA9PT0gbnVsbCkgPyBmYWxzZSA6ICggKHR5cGVvZiB2YWwgPT09ICdmdW5jdGlvbicpIHx8ICh0eXBlb2YgdmFsID09PSAnb2JqZWN0JykgKVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVFbXB0eVBhcmFtcyA9IChvYmo6IGFueSk6IFJlY29yZDxzdHJpbmcsIGFueT4gPT5cbiAgICBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QuZW50cmllcyhvYmopXG4gICAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT5cbiAgICAgICAgICBba2V5LCB2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnID8gdGhpcy5yZW1vdmVFbXB0eVBhcmFtcyh2YWx1ZSkgOiB2YWx1ZV1cbiAgICAgICAgKVxuICAgICAgICAuZmlsdGVyKChbXywgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBcIlwiKVxuICAgIClcblxufVxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC1xdWVyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy91dGlscy9wYXRoLXF1ZXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUg3QjtRQXlEVSxzQkFBaUIsR0FBRyxDQUFDLEdBQVEsRUFBdUIsRUFBRSxDQUM1RCxNQUFNLENBQUMsV0FBVyxDQUNoQixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQzthQUNoQixHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQ3BCLENBQUMsR0FBRyxFQUFFLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQ2xGO2FBQ0EsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUMvRCxDQUFBO0tBRUo7SUE3REMsWUFBWSxDQUFDLE1BQXVCLEVBQUUsTUFBa0I7UUFFdEQsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7UUFFNUQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVEsRUFB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QUMsR0FBUTtRQUN2QixPQUFPLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQyxPQUFPLEdBQUcsS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUFFLENBQUE7SUFDOUYsQ0FBQzsrR0FwRFUsZ0JBQWdCO21IQUFoQixnQkFBZ0IsY0FGZixNQUFNOzs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQYXRoUXVlcnlTZXJ2aWNlIHtcblxuICBidWlsZEFQSVBhdGgoc2VydmVyOiBzdHJpbmd8c3RyaW5nW10sIHBhcmFtcz86IGFueVtdfGFueSkge1xuXG4gICAgc2VydmVyID0gKEFycmF5LmlzQXJyYXkoc2VydmVyKSkgPyBzZXJ2ZXIuam9pbignLycpIDogc2VydmVyXG5cbiAgICBjb25zdCBwYXRoT2JqZWN0cyA9IChwYXJhbXMpID8gcGFyYW1zLmZpbHRlcigocGF0aDphbnkpID0+ICghdGhpcy5pc09iamVjdChwYXRoKSkpIDogW11cbiAgICBjb25zdCBxdWVyeU9iamVjdHMgPSAocGFyYW1zKSA/IHBhcmFtcy5maWx0ZXIoKHBhdGg6YW55KSA9PiAodGhpcy5pc09iamVjdChwYXRoKSkpIDogW11cblxuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5yZW1vdmVFbXB0eVBhcmFtcyhxdWVyeU9iamVjdHMucmVkdWNlKChyOiBhbnksIGM6IGFueSkgPT4ge1xuICAgICAgT2JqZWN0LmVudHJpZXMoYykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIHJba2V5XSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUuam9pbignLCcpIDogdmFsdWVcbiAgICAgIH0pXG4gICAgICByZXR1cm4gclxuICAgIH0sIHt9KSlcblxuICAgIGxldCBwYXRoID0gdGhpcy5idWlsZFJlc3RQYXRoKHNlcnZlciwgcGF0aE9iamVjdHMpXG5cbiAgICByZXR1cm4oT2JqZWN0LmtleXMocXVlcnkpLmxlbmd0aCA+IDApID8gcGF0aCArICc/JyArIHRoaXMuYnVpbGRRdWVyeVBhdGgocXVlcnkpIDogcGF0aFxuXG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUmVzdFBhdGgoc2VydmVyOiBzdHJpbmcsIHBhcmFtczogYW55W10pOiBzdHJpbmcge1xuICAgIHNlcnZlciA9IChzZXJ2ZXIpID8gc2VydmVyIDogJydcbiAgICBzZXJ2ZXIgPSAoc2VydmVyLmNoYXJBdCgwKSA9PT0gJy8nKSA/IHNlcnZlci5zdWJzdHJpbmcoMSkgOiBzZXJ2ZXJcbiAgICByZXR1cm4gdGhpcy5jbGVhblVybFBhdGgoc2VydmVyICsnLycrIHBhcmFtcy5qb2luKCcvJykpXG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUXVlcnlQYXRoKHBhcmFtczogYW55KTogc3RyaW5nIHtcblxuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKVxuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gcGFyYW1zKSB7XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHBhcmFtc1trZXldKSkge1xuICAgICAgICBwYXJhbXNba2V5XS5mb3JFYWNoKCh2YWx1ZTogYW55KSA9PiBzZWFyY2hQYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlYXJjaFBhcmFtcy5hcHBlbmQoa2V5LCBwYXJhbXNba2V5XSk7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICByZXR1cm4gc2VhcmNoUGFyYW1zLnRvU3RyaW5nKClcblxuICB9XG5cbiAgcHJpdmF0ZSBjbGVhblVybFBhdGgoc3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyhbXjpdXFwvKVxcLysvZywgXCIkMVwiKS5yZXBsYWNlKC9cXC8kLywnJylcbiAgfVxuXG4gIHByaXZhdGUgaXNPYmplY3QodmFsOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHZhbCA9PT0gbnVsbCkgPyBmYWxzZSA6ICggKHR5cGVvZiB2YWwgPT09ICdmdW5jdGlvbicpIHx8ICh0eXBlb2YgdmFsID09PSAnb2JqZWN0JykgKVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVFbXB0eVBhcmFtcyA9IChvYmo6IGFueSk6IFJlY29yZDxzdHJpbmcsIGFueT4gPT5cbiAgICBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QuZW50cmllcyhvYmopXG4gICAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT5cbiAgICAgICAgICBba2V5LCB2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnID8gdGhpcy5yZW1vdmVFbXB0eVBhcmFtcyh2YWx1ZSkgOiB2YWx1ZV1cbiAgICAgICAgKVxuICAgICAgICAuZmlsdGVyKChbXywgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBcIlwiKVxuICAgIClcblxufVxuIl19
@@ -143,13 +143,13 @@ export class UtilsService {
143
143
  }
144
144
  return result.join(', ');
145
145
  }
146
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
147
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UtilsService, providedIn: 'root' }); }
146
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
147
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UtilsService, providedIn: 'root' }); }
148
148
  }
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UtilsService, decorators: [{
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UtilsService, decorators: [{
150
150
  type: Injectable,
151
151
  args: [{
152
152
  providedIn: 'root'
153
153
  }]
154
- }], ctorParameters: function () { return []; } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvdXRpbHMvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS25ELE1BQU0sT0FBTyxZQUFZO0lBSXZCO1FBRkEsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQW9MekIsT0FBRSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBbExwRSxDQUFDO0lBRWpCLFFBQVEsQ0FBQyxDQUFrQjtRQUN6QixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxpQkFBaUIsQ0FBQTtJQUNoRSxDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQVE7UUFDZixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxpQkFBaUIsQ0FBQTtJQUNsRSxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO0lBQy9ELENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixPQUFPLENBQUMsSUFB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QUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFO1lBQ2hDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFO1lBQy9CLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO1lBQzlCLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQzdCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQzdCLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO1NBQzVCLENBQUM7UUFFRixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFFaEIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7WUFDdEIsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDckIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQzthQUMvRDtTQUNKO1FBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBcExVLFlBQVk7bUhBQVosWUFBWSxjQUZYLE1BQU07OzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFV0aWxzU2VydmljZSB7XG5cbiAgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KVxuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgaXNTdHJpbmcoeDogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4KSA9PT0gJ1tvYmplY3QgU3RyaW5nXSdcbiAgfVxuXG4gIGlzT2JqZWN0KG9iajogYW55KSB7XG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopID09PSAnW29iamVjdCBPYmplY3RdJ1xuICB9XG5cbiAgSlNPTlRvU3RyaW5nKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gKHRoaXMuaXNPYmplY3QodmFsdWUpKSA/IEpTT04uc3RyaW5naWZ5KHZhbHVlKSA6IHZhbHVlXG4gIH1cblxuICBzdHJpbmdUb0pTT04odmFsdWU6IHN0cmluZykge1xuICAgIHJldHVybiAodGhpcy5pc0pTT04odmFsdWUpKSA/IEpTT04ucGFyc2UodmFsdWUpIDogdmFsdWVcbiAgfVxuXG4gIGlzSlNPTihzdHI6IGFueSkge1xuICAgIHRyeSB7XG4gICAgICBKU09OLnBhcnNlKHN0cilcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIGdldFZhbHVlQnlQcm9wKG9iajogYW55LCBwcm9wOiBzdHJpbmcpIHtcbiAgICBpZih0eXBlb2Ygb2JqID09PSAndW5kZWZpbmVkJykgcmV0dXJuIGZhbHNlXG4gICAgcmV0dXJuIG9ialtwcm9wXVxuICB9XG5cbiAgb2JqZWN0c0VxdWFsKHg6IGFueSwgeTogYW55KTogYm9vbGVhbiB7XG5cbiAgICBjb25zdCBvayA9IE9iamVjdC5rZXlzLCB0eCA9IHR5cGVvZiB4LCB0eSA9IHR5cGVvZiB5XG5cbiAgICByZXR1cm4geCAmJiB5ICYmIHR4ID09PSAnb2JqZWN0JyAmJiB0eCA9PT0gdHkgPyAoXG4gICAgICBvayh4KS5sZW5ndGggPT09IG9rKHkpLmxlbmd0aCAmJlxuICAgICAgICBvayh4KS5ldmVyeSgoa2V5OiBhbnkpID0+IHRoaXMub2JqZWN0c0VxdWFsKHhba2V5XSwgeVtrZXldKSlcbiAgICApIDogKHggPT09IHkpXG5cbiAgfVxuXG4gIGdldEpTT04oZmlsZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYGFzc2V0cy9kYXRhLyR7ZmlsZX1gKVxuICB9XG5cbiAgZ2V0IHRvZGF5KCkge1xuICAgIHJldHVybiBuZXcgRGF0ZSgpLmdldE1pbGxpc2Vjb25kcygpIC8gMTAwMFxuICB9XG5cbiAgYmFzZTMyVG9IZXgoYmFzZTMyOiBzdHJpbmcpOiBzdHJpbmcge1xuXG4gICAgY29uc3QgYmFzZTMyY2hhcnMgPSBcIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMjM0NTY3XCJcblxuICAgIGNvbnN0IGNoYXJUb1ZhbHVlID0gKGNoYXI6IHN0cmluZykgPT4gYmFzZTMyY2hhcnMuaW5kZXhPZihjaGFyLnRvVXBwZXJDYXNlKCkpXG5cbiAgICBsZXQgYml0cyA9ICcnXG4gICAgbGV0IGhleCA9ICcnXG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGJhc2UzMi5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgdmFsID0gY2hhclRvVmFsdWUoYmFzZTMyLmNoYXJBdChpKSlcbiAgICAgIGJpdHMgKz0gdmFsLnRvU3RyaW5nKDIpLnBhZFN0YXJ0KDUsICcwJylcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSArIDQgPD0gYml0cy5sZW5ndGg7IGkgKz0gNCkge1xuICAgICAgY29uc3QgY2h1bmsgPSBiaXRzLnN1YnN0cihpLCA0KVxuICAgICAgaGV4ICs9IHBhcnNlSW50KGNodW5rLCAyKS50b1N0cmluZygxNilcbiAgICB9XG5cbiAgICByZXR1cm4gaGV4LnRvVXBwZXJDYXNlKClcbiAgfVxuXG4gIGJpbmFyeVRvSGV4KGJpbmFyeTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgaGV4ID0gJyc7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBiaW5hcnkubGVuZ3RoOyBpICs9IDgpIHtcbiAgICAgIGNvbnN0IGJ5dGUgPSBiaW5hcnkuc3Vic3RyKGksIDgpO1xuICAgICAgY29uc3QgZGVjaW1hbCA9IHBhcnNlSW50KGJ5dGUsIDIpO1xuICAgICAgaGV4ICs9IGRlY2ltYWwudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgfVxuICAgIHJldHVybiBoZXgucGFkU3RhcnQoMzIsICcwJykuc3Vic3RyKDAsIDMyKTtcbiAgfVxuXG4gIC8vIHkgPSB5ZWFycywgbSA9IG1vbnRocywgdyA9IHdlZWtzLCBkID0gZGF5cywgaHIgPSBob3VycywgbW4gPSBtaW51dGVzIGVsc2Ugc2Vjb25kc1xuICAvLyByZXR1cm5zIGVwb2NoIHRpbWUgY29ycmVzcG9uZGluZyB0byB0aGUgZXhwaXJ5IHR5cGVcbiAgZXhwaXJlcyhzdHI/OiBzdHJpbmcpIHtcblxuICAgIGlmKCFzdHIpIHJldHVyblxuXG4gICAgY29uc3QgbWF0Y2ggPSBzdHIubWF0Y2goL1teMC05XSskLylcblxuICAgIGNvbnN0IHR5cGUgPSAobWF0Y2gpID8gc3RyLnNsaWNlKC1tYXRjaFswXS5sZW5ndGgpIDogMFxuXG4gICAgY29uc3Qgbm93ID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApXG5cbiAgICBsZXQgdmFsdWUgPSAwO1xuXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlXG4gICAgICAneSc6XG4gICAgICAgIGNvbnN0IHllYXJzID0gcGFyc2VJbnQoc3RyLnNsaWNlKDAsIC0xKSlcbiAgICAgICAgdmFsdWUgPSBub3cgKyAoeWVhcnMgKiAzMTU1NjkyNilcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlXG4gICAgICAnbSc6XG4gICAgICAgIGNvbnN0IG1vbnRocyA9IHBhcnNlSW50KHN0ci5zbGljZSgwLCAtMSkpXG4gICAgICAgIHZhbHVlID0gbm93ICsgKG1vbnRocyAqIDI2Mjk3NDMpXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZVxuICAgICAgJ3cnOlxuICAgICAgICBjb25zdCB3ZWVrcyA9IHBhcnNlSW50KHN0ci5zbGljZSgwLCAtMSkpXG4gICAgICAgIHZhbHVlID0gbm93ICsgKHdlZWtzICogNjA0ODAwKVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2VcbiAgICAgICdkJzpcbiAgICAgICAgY29uc3QgZGF5cyA9IHBhcnNlSW50KHN0ci5zbGljZSgwLCAtMSkpXG4gICAgICAgIHZhbHVlID0gbm93ICsgKGRheXMgKiA4NjQwMClcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlXG4gICAgICAnaHInOlxuICAgICAgICBjb25zdCBocnMgPSBwYXJzZUludChzdHIuc2xpY2UoMCwgLTIpKVxuICAgICAgICB2YWx1ZSA9IG5vdyArIChocnMgKiAzNjAwKVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2VcbiAgICAgICdtbic6XG4gICAgICAgIGNvbnN0IG1pbiA9IHBhcnNlSW50KHN0ci5zbGljZSgwLCAtMikpXG4gICAgICAgIHZhbHVlID0gbm93ICsgKG1pbiAqIDYwKVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6IC8vc2Vjb25kc1xuICAgICAgICBjb25zdCBzZWMgPSBwYXJzZUludChzdHIuc2xpY2UoMCwgLTEpKVxuICAgICAgICB2YWx1ZSA9IG5vdyArIChzZWMpXG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBoYXNFeHBpcmVkKGV4cGlyeURhdGU6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGlmICghZXhwaXJ5RGF0ZSB8fCBleHBpcnlEYXRlID09PSAwKSByZXR1cm4gZmFsc2VcbiAgICBjb25zdCBjdXJyZW50VGltZSA9IE1hdGguZmxvb3IobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwKVxuICAgIHJldHVybiBleHBpcnlEYXRlIDwgY3VycmVudFRpbWVcbiAgfVxuXG4gIGhhc0V4cGlyeShzZXR0aW5nOiBhbnkpIHtcbiAgICByZXR1cm4gKHNldHRpbmc/LmV4cGlyZXMpID8gdHJ1ZSA6IGZhbHNlXG4gIH1cblxuICBleHBpcmVzSW4oZXhwaXJ5RGF0ZTogbnVtYmVyKSB7XG5cbiAgICBpZiAoIWV4cGlyeURhdGUpIHJldHVybjtcblxuICAgIGNvbnN0IG5vdyA9IE1hdGguZmxvb3IobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwKTtcbiAgICBsZXQgZGlmZiA9IGV4cGlyeURhdGUgLSBub3c7XG5cbiAgICBpZiAoZGlmZiA8PSAwKSByZXR1cm4gXCJFeHBpcmVkXCI7XG5cbiAgICBjb25zdCB1bml0cyA9IFtcbiAgICAgICAgeyBsYWJlbDogJ3knLCBzZWNvbmRzOiAzMTUzNjAwMCB9LFxuICAgICAgICB7IGxhYmVsOiAnbScsIHNlY29uZHM6IDI1OTIwMDAgfSxcbiAgICAgICAgeyBsYWJlbDogJ3cnLCBzZWNvbmRzOiA2MDQ4MDAgfSxcbiAgICAgICAgeyBsYWJlbDogJ2QnLCBzZWNvbmRzOiA4NjQwMCB9LFxuICAgICAgICB7IGxhYmVsOiAnaCcsIHNlY29uZHM6IDM2MDAgfSxcbiAgICAgICAgeyBsYWJlbDogJ21pbicsIHNlY29uZHM6IDYwIH0sXG4gICAgICAgIHsgbGFiZWw6ICcnLCBzZWNvbmRzOiAxIH0sXG4gICAgXTtcblxuICAgIGxldCByZXN1bHQgPSBbXTtcblxuICAgIGZvciAoY29uc3QgdW5pdCBvZiB1bml0cykge1xuICAgICAgICBpZiAoZGlmZiA+PSB1bml0LnNlY29uZHMpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gTWF0aC5mbG9vcihkaWZmIC8gdW5pdC5zZWNvbmRzKTtcbiAgICAgICAgICAgIGRpZmYgJT0gdW5pdC5zZWNvbmRzO1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goYCR7dmFsdWV9JHt1bml0LmxhYmVsfSR7dmFsdWUgPiAxID8gJ3MnIDogJyd9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0LmpvaW4oJywgJyk7XG4gIH1cblxuICBsYyA9IChzdHI6IHN0cmluZykgPT4gc3RyLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvW15cXHdcXHNdL2csICcnKS5yZXBsYWNlKC9cXHMrL2csICdfJylcblxufVxuIl19
154
+ }], ctorParameters: () => [] });
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvdXRpbHMvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS25ELE1BQU0sT0FBTyxZQUFZO0lBSXZCO1FBRkEsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQW9MekIsT0FBRSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBbExwRSxDQUFDO0lBRWpCLFFBQVEsQ0FBQyxDQUFrQjtRQUN6QixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxpQkFBaUIsQ0FBQTtJQUNoRSxDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQVE7UUFDZixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxpQkFBaUIsQ0FBQTtJQUNsRSxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO0lBQy9ELENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixPQUFPLENBQUMsSUFB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LCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXRpbHNTZXJ2aWNlIHtcblxuICBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpXG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBpc1N0cmluZyh4OiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgpID09PSAnW29iamVjdCBTdHJpbmddJ1xuICB9XG5cbiAgaXNPYmplY3Qob2JqOiBhbnkpIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikgPT09ICdbb2JqZWN0IE9iamVjdF0nXG4gIH1cblxuICBKU09OVG9TdHJpbmcodmFsdWU6IGFueSkge1xuICAgIHJldHVybiAodGhpcy5pc09iamVjdCh2YWx1ZSkpID8gSlNPTi5zdHJpbmdpZnkodmFsdWUpIDogdmFsdWVcbiAgfVxuXG4gIHN0cmluZ1RvSlNPTih2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuICh0aGlzLmlzSlNPTih2YWx1ZSkpID8gSlNPTi5wYXJzZSh2YWx1ZSkgOiB2YWx1ZVxuICB9XG5cbiAgaXNKU09OKHN0cjogYW55KSB7XG4gICAgdHJ5IHtcbiAgICAgIEpTT04ucGFyc2Uoc3RyKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgZ2V0VmFsdWVCeVByb3Aob2JqOiBhbnksIHByb3A6IHN0cmluZykge1xuICAgIGlmKHR5cGVvZiBvYmogPT09ICd1bmRlZmluZWQnKSByZXR1cm4gZmFsc2VcbiAgICByZXR1cm4gb2JqW3Byb3BdXG4gIH1cblxuICBvYmplY3RzRXF1YWwoeDogYW55LCB5OiBhbnkpOiBib29sZWFuIHtcblxuICAgIGNvbnN0IG9rID0gT2JqZWN0LmtleXMsIHR4ID0gdHlwZW9mIHgsIHR5ID0gdHlwZW9mIHlcblxuICAgIHJldHVybiB4ICYmIHkgJiYgdHggPT09ICdvYmplY3QnICYmIHR4ID09PSB0eSA/IChcbiAgICAgIG9rKHgpLmxlbmd0aCA9PT0gb2soeSkubGVuZ3RoICYmXG4gICAgICAgIG9rKHgpLmV2ZXJ5KChrZXk6IGFueSkgPT4gdGhpcy5vYmplY3RzRXF1YWwoeFtrZXldLCB5W2tleV0pKVxuICAgICkgOiAoeCA9PT0geSlcblxuICB9XG5cbiAgZ2V0SlNPTihmaWxlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgYXNzZXRzL2RhdGEvJHtmaWxlfWApXG4gIH1cblxuICBnZXQgdG9kYXkoKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKCkuZ2V0TWlsbGlzZWNvbmRzKCkgLyAxMDAwXG4gIH1cblxuICBiYXNlMzJUb0hleChiYXNlMzI6IHN0cmluZyk6IHN0cmluZyB7XG5cbiAgICBjb25zdCBiYXNlMzJjaGFycyA9IFwiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoyMzQ1NjdcIlxuXG4gICAgY29uc3QgY2hhclRvVmFsdWUgPSAoY2hhcjogc3RyaW5nKSA9PiBiYXNlMzJjaGFycy5pbmRleE9mKGNoYXIudG9VcHBlckNhc2UoKSlcblxuICAgIGxldCBiaXRzID0gJydcbiAgICBsZXQgaGV4ID0gJydcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYmFzZTMyLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCB2YWwgPSBjaGFyVG9WYWx1ZShiYXNlMzIuY2hhckF0KGkpKVxuICAgICAgYml0cyArPSB2YWwudG9TdHJpbmcoMikucGFkU3RhcnQoNSwgJzAnKVxuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSAwOyBpICsgNCA8PSBiaXRzLmxlbmd0aDsgaSArPSA0KSB7XG4gICAgICBjb25zdCBjaHVuayA9IGJpdHMuc3Vic3RyKGksIDQpXG4gICAgICBoZXggKz0gcGFyc2VJbnQoY2h1bmssIDIpLnRvU3RyaW5nKDE2KVxuICAgIH1cblxuICAgIHJldHVybiBoZXgudG9VcHBlckNhc2UoKVxuICB9XG5cbiAgYmluYXJ5VG9IZXgoYmluYXJ5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCBoZXggPSAnJztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGJpbmFyeS5sZW5ndGg7IGkgKz0gOCkge1xuICAgICAgY29uc3QgYnl0ZSA9IGJpbmFyeS5zdWJzdHIoaSwgOCk7XG4gICAgICBjb25zdCBkZWNpbWFsID0gcGFyc2VJbnQoYnl0ZSwgMik7XG4gICAgICBoZXggKz0gZGVjaW1hbC50b1N0cmluZygxNikucGFkU3RhcnQoMiwgJzAnKTtcbiAgICB9XG4gICAgcmV0dXJuIGhleC5wYWRTdGFydCgzMiwgJzAnKS5zdWJzdHIoMCwgMzIpO1xuICB9XG5cbiAgLy8geSA9IHllYXJzLCBtID0gbW9udGhzLCB3ID0gd2Vla3MsIGQgPSBkYXlzLCBociA9IGhvdXJzLCBtbiA9IG1pbnV0ZXMgZWxzZSBzZWNvbmRzXG4gIC8vIHJldHVybnMgZXBvY2ggdGltZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBleHBpcnkgdHlwZVxuICBleHBpcmVzKHN0cj86IHN0cmluZykge1xuXG4gICAgaWYoIXN0cikgcmV0dXJuXG5cbiAgICBjb25zdCBtYXRjaCA9IHN0ci5tYXRjaCgvW14wLTldKyQvKVxuXG4gICAgY29uc3QgdHlwZSA9IChtYXRjaCkgPyBzdHIuc2xpY2UoLW1hdGNoWzBdLmxlbmd0aCkgOiAwXG5cbiAgICBjb25zdCBub3cgPSBNYXRoLmZsb29yKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMClcblxuICAgIGxldCB2YWx1ZSA9IDA7XG5cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2VcbiAgICAgICd5JzpcbiAgICAgICAgY29uc3QgeWVhcnMgPSBwYXJzZUludChzdHIuc2xpY2UoMCwgLTEpKVxuICAgICAgICB2YWx1ZSA9IG5vdyArICh5ZWFycyAqIDMxNTU2OTI2KVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2VcbiAgICAgICdtJzpcbiAgICAgICAgY29uc3QgbW9udGhzID0gcGFyc2VJbnQoc3RyLnNsaWNlKDAsIC0xKSlcbiAgICAgICAgdmFsdWUgPSBub3cgKyAobW9udGhzICogMjYyOTc0MylcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlXG4gICAgICAndyc6XG4gICAgICAgIGNvbnN0IHdlZWtzID0gcGFyc2VJbnQoc3RyLnNsaWNlKDAsIC0xKSlcbiAgICAgICAgdmFsdWUgPSBub3cgKyAod2Vla3MgKiA2MDQ4MDApXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZVxuICAgICAgJ2QnOlxuICAgICAgICBjb25zdCBkYXlzID0gcGFyc2VJbnQoc3RyLnNsaWNlKDAsIC0xKSlcbiAgICAgICAgdmFsdWUgPSBub3cgKyAoZGF5cyAqIDg2NDAwKVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2VcbiAgICAgICdocic6XG4gICAgICAgIGNvbnN0IGhycyA9IHBhcnNlSW50KHN0ci5zbGljZSgwLCAtMikpXG4gICAgICAgIHZhbHVlID0gbm93ICsgKGhycyAqIDM2MDApXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZVxuICAgICAgJ21uJzpcbiAgICAgICAgY29uc3QgbWluID0gcGFyc2VJbnQoc3RyLnNsaWNlKDAsIC0yKSlcbiAgICAgICAgdmFsdWUgPSBub3cgKyAobWluICogNjApXG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDogLy9zZWNvbmRzXG4gICAgICAgIGNvbnN0IHNlYyA9IHBhcnNlSW50KHN0ci5zbGljZSgwLCAtMSkpXG4gICAgICAgIHZhbHVlID0gbm93ICsgKHNlYylcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGhhc0V4cGlyZWQoZXhwaXJ5RGF0ZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgaWYgKCFleHBpcnlEYXRlIHx8IGV4cGlyeURhdGUgPT09IDApIHJldHVybiBmYWxzZVxuICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApXG4gICAgcmV0dXJuIGV4cGlyeURhdGUgPCBjdXJyZW50VGltZVxuICB9XG5cbiAgaGFzRXhwaXJ5KHNldHRpbmc6IGFueSkge1xuICAgIHJldHVybiAoc2V0dGluZz8uZXhwaXJlcykgPyB0cnVlIDogZmFsc2VcbiAgfVxuXG4gIGV4cGlyZXNJbihleHBpcnlEYXRlOiBudW1iZXIpIHtcblxuICAgIGlmICghZXhwaXJ5RGF0ZSkgcmV0dXJuO1xuXG4gICAgY29uc3Qgbm93ID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApO1xuICAgIGxldCBkaWZmID0gZXhwaXJ5RGF0ZSAtIG5vdztcblxuICAgIGlmIChkaWZmIDw9IDApIHJldHVybiBcIkV4cGlyZWRcIjtcblxuICAgIGNvbnN0IHVuaXRzID0gW1xuICAgICAgICB7IGxhYmVsOiAneScsIHNlY29uZHM6IDMxNTM2MDAwIH0sXG4gICAgICAgIHsgbGFiZWw6ICdtJywgc2Vjb25kczogMjU5MjAwMCB9LFxuICAgICAgICB7IGxhYmVsOiAndycsIHNlY29uZHM6IDYwNDgwMCB9LFxuICAgICAgICB7IGxhYmVsOiAnZCcsIHNlY29uZHM6IDg2NDAwIH0sXG4gICAgICAgIHsgbGFiZWw6ICdoJywgc2Vjb25kczogMzYwMCB9LFxuICAgICAgICB7IGxhYmVsOiAnbWluJywgc2Vjb25kczogNjAgfSxcbiAgICAgICAgeyBsYWJlbDogJycsIHNlY29uZHM6IDEgfSxcbiAgICBdO1xuXG4gICAgbGV0IHJlc3VsdCA9IFtdO1xuXG4gICAgZm9yIChjb25zdCB1bml0IG9mIHVuaXRzKSB7XG4gICAgICAgIGlmIChkaWZmID49IHVuaXQuc2Vjb25kcykge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBNYXRoLmZsb29yKGRpZmYgLyB1bml0LnNlY29uZHMpO1xuICAgICAgICAgICAgZGlmZiAlPSB1bml0LnNlY29uZHM7XG4gICAgICAgICAgICByZXN1bHQucHVzaChgJHt2YWx1ZX0ke3VuaXQubGFiZWx9JHt2YWx1ZSA+IDEgPyAncycgOiAnJ31gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQuam9pbignLCAnKTtcbiAgfVxuXG4gIGxjID0gKHN0cjogc3RyaW5nKSA9PiBzdHIudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bXlxcd1xcc10vZywgJycpLnJlcGxhY2UoL1xccysvZywgJ18nKVxuXG59XG4iXX0=