@eui/core 18.2.2-snapshot-1730891326869 → 18.2.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.
- package/docs/dependencies.html +19 -19
- package/docs/js/search/search_index.js +2 -2
- package/esm2022/lib/eui-core.module.mjs +5 -5
- package/esm2022/lib/interceptors/add-lang-param.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/cache-prevention.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/cors-security.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/csrf-prevention.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/eu-login-session-timeout-handling.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/ux-request-error-model.interceptor.mjs +4 -4
- package/esm2022/lib/services/dynamic-component/dynamic-component.service.mjs +4 -4
- package/esm2022/lib/services/dynamic-menu/dynamic-menu.service.mjs +4 -4
- package/esm2022/lib/services/errors/global-error-handler.mjs +4 -4
- package/esm2022/lib/services/errors/http-error-handler.interceptor.mjs +4 -4
- package/esm2022/lib/services/eui-app-shell.service.mjs +4 -4
- package/esm2022/lib/services/eui-theme.service.mjs +4 -4
- package/esm2022/lib/services/eui-timezone.service.mjs +4 -4
- package/esm2022/lib/services/growl/eui-growl.service.mjs +4 -4
- package/esm2022/lib/services/i18n/i18n.loader.mjs +4 -4
- package/esm2022/lib/services/i18n/i18n.service.mjs +4 -4
- package/esm2022/lib/services/loader/eui-loader.service.mjs +4 -4
- package/esm2022/lib/services/locale/locale.service.mjs +4 -4
- package/esm2022/lib/services/locale/locale.service.mock.mjs +4 -4
- package/esm2022/lib/services/log/log.module.mjs +5 -5
- package/esm2022/lib/services/log/log.service.mjs +4 -4
- package/esm2022/lib/services/permission/permission.service.mjs +4 -4
- package/esm2022/lib/services/queue/api-queue.service.mjs +4 -4
- package/esm2022/lib/services/storage/local-forage.service.mjs +4 -4
- package/esm2022/lib/services/storage/local-storage.service.mjs +4 -4
- package/esm2022/lib/services/storage/session-storage.service.mjs +4 -4
- package/esm2022/lib/services/store/effects/app.effects.mjs +4 -4
- package/esm2022/lib/services/store/store.service.mjs +4 -4
- package/esm2022/lib/services/store/store.service.mock.mjs +4 -4
- package/esm2022/lib/services/user/user.service.mjs +4 -4
- package/esm2022/lib/services/user/user.service.mock.mjs +4 -4
- package/fesm2022/eui-core.mjs +98 -98
- package/fesm2022/eui-core.mjs.map +1 -1
- package/package.json +3 -3
|
@@ -28,11 +28,11 @@ export class LogModule {
|
|
|
28
28
|
],
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
32
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
33
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: LogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
32
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.10", ngImport: i0, type: LogModule }); }
|
|
33
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: LogModule }); }
|
|
34
34
|
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: LogModule, decorators: [{
|
|
36
36
|
type: NgModule
|
|
37
37
|
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvbG9nL2xvZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUV6RCxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUFZLFlBQVksQ0FBQyxDQUFDO0FBRTVFOztHQUVHO0FBRUgsTUFBTSxPQUFPLFNBQVM7SUFDbEIsa0VBQWtFO0lBQ2xFLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBb0Isa0JBQWtCO1FBQ2pELE9BQU87WUFDSCxRQUFRLEVBQUUsU0FBUztZQUNuQixTQUFTLEVBQUU7Z0JBQ1AsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtnQkFDdEQsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsRUFBRTthQUNwRztTQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsK0dBQStHO0lBQy9HLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBb0Isa0JBQWtCO1FBQ2xELE9BQU87WUFDSCxRQUFRLEVBQUUsU0FBUztZQUNuQixTQUFTLEVBQUU7Z0JBQ1AsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtnQkFDdEQsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsRUFBRTthQUNwRztTQUNKLENBQUM7SUFDTixDQUFDOytHQXJCUSxTQUFTO2dIQUFULFNBQVM7Z0hBQVQsU0FBUzs7NEZBQVQsU0FBUztrQkFEckIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvZ0NvbmZpZyB9IGZyb20gJ0BldWkvYmFzZSc7XG5cbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuL2xvZy5zZXJ2aWNlJztcbmltcG9ydCB7IERFRkFVTFRfTE9HX0NPTkZJRyB9IGZyb20gJy4uL2NvbmZpZy9kZWZhdWx0cyc7XG5pbXBvcnQgeyBsb2dTZXJ2aWNlRmFjdG9yeSB9IGZyb20gJy4uL2FwcC9mYWN0b3JpZXMvbG9nJztcblxuY29uc3QgTE9HX01PRFVMRV9DT05GSUdfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48TG9nQ29uZmlnPignTE9HX0NPTkZJRycpO1xuXG4vKipcbiAqIExvZyBNb2R1bGVcbiAqL1xuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBMb2dNb2R1bGUge1xuICAgIC8qKiBtZXRob2QgY2FsbGVkIGluIHlvdXIgcm9vdCBtb2R1bGUgdG8gcHJvdmlkZSB0aGUgTG9nU2VydmljZSAqL1xuICAgIHN0YXRpYyBmb3JSb290KGNvbmZpZzogTG9nQ29uZmlnID0gREVGQVVMVF9MT0dfQ09ORklHKTogTW9kdWxlV2l0aFByb3ZpZGVyczxMb2dNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBMb2dNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IExPR19NT0RVTEVfQ09ORklHX1RPS0VOLCB1c2VWYWx1ZTogY29uZmlnIH0sXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBMb2dTZXJ2aWNlLCB1c2VGYWN0b3J5OiBsb2dTZXJ2aWNlRmFjdG9yeSwgZGVwczogW0xPR19NT0RVTEVfQ09ORklHX1RPS0VOLCBJbmplY3Rvcl0gfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqIG1ldGhvZCBjYWxsZWQgaW4geW91ciBvdGhlciAobm9uIHJvb3QsIGxhenkgbG9hZGVkKSBtb2R1bGVzIHRvIGltcG9ydCBhIGRpZmZlcmVudCBpbnN0YW5jZSBvZiBMb2dTZXJ2aWNlICovXG4gICAgc3RhdGljIGZvckNoaWxkKGNvbmZpZzogTG9nQ29uZmlnID0gREVGQVVMVF9MT0dfQ09ORklHKTogTW9kdWxlV2l0aFByb3ZpZGVyczxMb2dNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBMb2dNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IExPR19NT0RVTEVfQ09ORklHX1RPS0VOLCB1c2VWYWx1ZTogY29uZmlnIH0sXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBMb2dTZXJ2aWNlLCB1c2VGYWN0b3J5OiBsb2dTZXJ2aWNlRmFjdG9yeSwgZGVwczogW0xPR19NT0RVTEVfQ09ORklHX1RPS0VOLCBJbmplY3Rvcl0gfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
|
|
@@ -33,10 +33,10 @@ export class LogService extends Logger {
|
|
|
33
33
|
}
|
|
34
34
|
return logger;
|
|
35
35
|
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
37
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: LogService, deps: [{ token: BASE_LOGGER_NAME_TOKEN }, { token: LOG_LEVEL_TOKEN }, { token: LOG_APPENDERS_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
37
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: LogService }); }
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: LogService, decorators: [{
|
|
40
40
|
type: Injectable
|
|
41
41
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
42
42
|
type: Inject,
|
|
@@ -48,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
48
48
|
type: Inject,
|
|
49
49
|
args: [LOG_APPENDERS_TOKEN]
|
|
50
50
|
}] }] });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvZy9sb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFlLE1BQU0sRUFBWSxNQUFNLFdBQVcsQ0FBQzs7O0FBRTFELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUFTLGtCQUFrQixDQUFDLENBQUM7QUFDckYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFXLFdBQVcsQ0FBQyxDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFnQixlQUFlLENBQUMsQ0FBQztBQUV0Rjs7R0FFRztBQUVILE1BQU0sT0FBTyxVQUFXLFNBQVEsTUFBTTtJQUlsQyxZQUN1RCxJQUFZLEVBQ25CLEtBQWUsRUFDWCxTQUF3QjtRQUV4RSxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUpxQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ25CLFVBQUssR0FBTCxLQUFLLENBQVU7UUFDWCxjQUFTLEdBQVQsU0FBUyxDQUFlO1FBTjVFLHFDQUFxQztRQUMzQixZQUFPLEdBQUcsRUFBRSxDQUFDO0lBUXZCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxTQUFTLENBQUMsVUFBa0IsRUFBRSxPQUFPLEdBQUcsS0FBSztRQUN6QyxrQ0FBa0M7UUFDbEMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxPQUFPLElBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVuSCx3RUFBd0U7UUFDeEUsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ3RDLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDOytHQTdCUSxVQUFVLGtCQUtQLHNCQUFzQixhQUN0QixlQUFlLGFBQ2YsbUJBQW1CO21IQVB0QixVQUFVOzs0RkFBVixVQUFVO2tCQUR0QixVQUFVOzswQkFNRixNQUFNOzJCQUFDLHNCQUFzQjs7MEJBQzdCLE1BQU07MkJBQUMsZUFBZTs7MEJBQ3RCLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9nQXBwZW5kZXIsIExvZ2dlciwgTG9nTGV2ZWwgfSBmcm9tICdAZXVpL2Jhc2UnO1xuXG5leHBvcnQgY29uc3QgQkFTRV9MT0dHRVJfTkFNRV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdCQVNFX0xPR0dFUl9OQU1FJyk7XG5leHBvcnQgY29uc3QgTE9HX0xFVkVMX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPExvZ0xldmVsPignTE9HX0xFVkVMJyk7XG5leHBvcnQgY29uc3QgTE9HX0FQUEVOREVSU19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxMb2dBcHBlbmRlcltdPignTE9HX0FQUEVOREVSUycpO1xuXG4vKipcbiAqIExvZyBzZXJ2aWNlLCByZXNwb25zaWJsZSBmb3IgZ2V0dGluZyBvciBjcmVhdGluZyBsb2dnZXJzLiBJdCBpdHNlbGYgYWN0cyBhcyBhIGJhc2UgbG9nZ2VyXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMb2dTZXJ2aWNlIGV4dGVuZHMgTG9nZ2VyIHtcbiAgICAvKiogdGhlIGxpc3Qgb2YgcGVyc2lzdGVudCBsb2dnZXJzICovXG4gICAgcHJvdGVjdGVkIGxvZ2dlcnMgPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEJBU0VfTE9HR0VSX05BTUVfVE9LRU4pIHByb3RlY3RlZCBvdmVycmlkZSBuYW1lOiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoTE9HX0xFVkVMX1RPS0VOKSBwcm90ZWN0ZWQgb3ZlcnJpZGUgbGV2ZWw6IExvZ0xldmVsLFxuICAgICAgICBASW5qZWN0KExPR19BUFBFTkRFUlNfVE9LRU4pIHByb3RlY3RlZCBvdmVycmlkZSBhcHBlbmRlcnM6IExvZ0FwcGVuZGVyW10sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKG5hbWUsIGxldmVsLCBhcHBlbmRlcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBsb2dnZXIgYnkgbmFtZS4gSWYgdGhlIGxvZ2dlciBkb2VzIG5vdCBleGlzdCwgaXQgaXMgY3JlYXRlZFxuICAgICAqXG4gICAgICogQHBhcmFtIGxvZ2dlck5hbWUgbG9nZ2VyIG5hbWVcbiAgICAgKiBAcGFyYW0gcGVyc2lzdCBvcHRpb25hbCBwYXJhbWV0ZXIuIFNldCBpdCB0byB0cnVlIGlmIHlvdSB3YW50IHRvIHJldXNlIHRoZSBsb2dnZXIuIEJ5IGRlZmF1bHQsIGl0IGlzIHNldCB0byBmYWxzZVxuICAgICAqIEByZXR1cm5zIHRoZSBsb2dnZXJcbiAgICAgKi9cbiAgICBnZXRMb2dnZXIobG9nZ2VyTmFtZTogc3RyaW5nLCBwZXJzaXN0ID0gZmFsc2UpOiBMb2dnZXIge1xuICAgICAgICAvLyBjcmVhdGUgdGhlIGxvZ2dlciwgaWYgbmVjZXNzYXJ5XG4gICAgICAgIGNvbnN0IGxvZ2dlciA9IChwZXJzaXN0ICYmIDxMb2dnZXI+dGhpcy5sb2dnZXJzW2xvZ2dlck5hbWVdKSB8fCBuZXcgTG9nZ2VyKGxvZ2dlck5hbWUsIHRoaXMubGV2ZWwsIHRoaXMuYXBwZW5kZXJzKTtcblxuICAgICAgICAvLyBpZiB0aGUgbG9nZ2VyIGlzIHBlcnNpc3RlbnQsIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBwZXJzaXN0ZW50IGxvZ2dlcnNcbiAgICAgICAgaWYgKHBlcnNpc3QpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2Vyc1tsb2dnZXJOYW1lXSA9IGxvZ2dlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBsb2dnZXI7XG4gICAgfVxufVxuIl19
|
|
@@ -231,10 +231,10 @@ export class EuiPermissionService extends EuiService {
|
|
|
231
231
|
}
|
|
232
232
|
return rights.every((right) => this.userRights.find((uRight) => uRight.id === right.id));
|
|
233
233
|
}
|
|
234
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
235
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
234
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: EuiPermissionService, deps: [{ token: i1.LogService, optional: true }, { token: i2.StoreService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
235
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: EuiPermissionService, providedIn: 'root' }); }
|
|
236
236
|
}
|
|
237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
237
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: EuiPermissionService, decorators: [{
|
|
238
238
|
type: Injectable,
|
|
239
239
|
args: [{
|
|
240
240
|
providedIn: 'root',
|
|
@@ -242,4 +242,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
242
242
|
}], ctorParameters: () => [{ type: i1.LogService, decorators: [{
|
|
243
243
|
type: Optional
|
|
244
244
|
}] }, { type: i2.StoreService }] });
|
|
245
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9uL3Blcm1pc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFvQixhQUFhLEVBQXdCLE1BQU0sV0FBVyxDQUFDO0FBQzlGLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFnQixzQkFBc0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRTFDOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBSUgsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFVBQTBCO0lBR2hFLFlBQ3dCLEdBQWUsRUFDekIsS0FBbUI7UUFFN0IsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBSFUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBRzdCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUMxRCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTZCRztJQUNILElBQUksQ0FBQyxNQUFzQjtRQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QixPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVB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Q0FBQyxDQUFDLE1BQW9CLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekgsQ0FBQzs4R0EvTlEsb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FGakIsTUFBTTs7MkZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBS1EsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdWlTZXJ2aWNlLCBFdWlTZXJ2aWNlU3RhdHVzLCBnZXRVc2VyUmlnaHRzLCBFdWlVc2VyUmlnaHQsIExvZ2dlciB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZyc7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2UsIFVwZGF0ZVVzZXJSaWdodHNBY3Rpb24gfSBmcm9tICcuLi9zdG9yZSc7XG5pbXBvcnQgeyBpc0RlZmluZWQgfSBmcm9tICcuLi8uLi9oZWxwZXJzJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBtYW5hZ2luZyB1c2VyIHBlcm1pc3Npb25zIHdpdGhpbiB0aGUgYXBwbGljYXRpb24uXG4gKiBUaGlzIGNsYXNzIGV4dGVuZHMgYEV1aVNlcnZpY2VgIGFuZCBpcyByZXNwb25zaWJsZSBmb3IgaGFuZGxpbmcgdXNlciByaWdodHMgYW5kIHBlcm1pc3Npb25zLlxuICogSXQgcHJvdmlkZXMgbWV0aG9kcyB0byBpbml0aWFsaXplIHRoZSBzZXJ2aWNlIHdpdGggdXNlciByaWdodHMsIGNoZWNrIHNwZWNpZmljIHJpZ2h0cyBhbmQgcGVybWlzc2lvbnMsXG4gKiBhbmQgc3Vic2NyaWJlIHRvIGNoYW5nZXMgaW4gdGhlIHVzZXIgcmlnaHRzIHN0YXRlLlxuICpcbiAqIEBleHRlbmRzIHtFdWlTZXJ2aWNlPEV1aVVzZXJSaWdodFtdPn1cbiAqIEBzZWUgRXVpU2VydmljZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBFeGFtcGxlIG9mIHVzaW5nIHRoZSBFdWlQZXJtaXNzaW9uU2VydmljZSBpbiBhbiBhcHBsaWNhdGlvblxuICogY29uc3QgcGVybWlzc2lvblNlcnZpY2UgPSBuZXcgRXVpUGVybWlzc2lvblNlcnZpY2UoKTtcbiAqIHBlcm1pc3Npb25TZXJ2aWNlLmluaXQoW3sgaWQ6ICdBRE1JTicsIHBlcm1pc3Npb25zOiBbJ0NSRUFURScsICdSRUFEJywgJ1VQREFURScsICdERUxFVEUnXSB9XSk7XG4gKiBpZiAocGVybWlzc2lvblNlcnZpY2UuY2hlY2tSaWdodCgnQURNSU4nKSkge1xuICogICBjb25zb2xlLmxvZygnVXNlciBoYXMgQURNSU4gcmlnaHRzJyk7XG4gKiB9XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEV1aVBlcm1pc3Npb25TZXJ2aWNlIGV4dGVuZHMgRXVpU2VydmljZTxFdWlVc2VyUmlnaHRbXT4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBsb2c6IExvZ1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBzdG9yZTogU3RvcmVTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBzdXBlcihbXSk7XG4gICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyID0gbG9nLmdldExvZ2dlcignY29yZS5QZXJtaXNzaW9uU2VydmljZScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZXMgdGhlIHBlcm1pc3Npb24gc2VydmljZSB3aXRoIGEgc2V0IG9mIHVzZXIgcmlnaHRzLlxuICAgICAqIFRoaXMgbWV0aG9kIHNldHMgdXAgdGhlIGluaXRpYWwgc3RhdGUgb2YgdGhlIHNlcnZpY2UgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHVzZXIgcmlnaHRzLlxuICAgICAqIEl0IHNob3VsZCBiZSBjYWxsZWQgYmVmb3JlIHVzaW5nIG90aGVyIG1ldGhvZHMgb2YgdGhlIHNlcnZpY2UgdG8gZW5zdXJlIGl0IGlzIHByb3Blcmx5IGNvbmZpZ3VyZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0V1aVVzZXJSaWdodFtdfSByaWdodHMgLSBBbiBhcnJheSBvZiB1c2VyIHJpZ2h0cyB0byBpbml0aWFsaXplIHRoZSBzZXJ2aWNlIHdpdGguXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWFjaCBgRXVpVXNlclJpZ2h0YCBvYmplY3Qgc2hvdWxkIGNvbnRhaW4gYXQgbGVhc3QgYW4gYGlkYCBwcm9wZXJ0eSxcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgb3B0aW9uYWxseSBhIGBwZXJtaXNzaW9uc2AgcHJvcGVydHkgd2hpY2ggaXMgYW4gYXJyYXkgb2Ygc3RyaW5ncy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+fSBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHN0YXR1cyBvZiB0aGUgaW5pdGlhbGl6YXRpb24uXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBzdGF0dXMgb2JqZWN0IGluY2x1ZGVzIGEgYHN1Y2Nlc3NgIGJvb2xlYW4gaW5kaWNhdGluZ1xuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGV0aGVyIHRoZSBpbml0aWFsaXphdGlvbiB3YXMgc3VjY2Vzc2Z1bCwgYW5kIGFuIGBlcnJvcmAgcHJvcGVydHlcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBhIG1lc3NhZ2UgaW4gY2FzZSBvZiBmYWlsdXJlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIG9mIGluaXRpYWxpemluZyB0aGUgc2VydmljZSB3aXRoIHR3byB1c2VyIHJpZ2h0c1xuICAgICAqIGNvbnN0IHVzZXJSaWdodHMgPSBbXG4gICAgICogICB7IGlkOiAnQURNSU4nLCBwZXJtaXNzaW9uczogWydDUkVBVEUnLCAnUkVBRCcsICdVUERBVEUnLCAnREVMRVRFJ10gfSxcbiAgICAgKiAgIHsgaWQ6ICdVU0VSJywgcGVybWlzc2lvbnM6IFsnUkVBRCddIH1cbiAgICAgKiBdO1xuICAgICAqIHBlcm1pc3Npb25TZXJ2aWNlLmluaXQodXNlclJpZ2h0cykuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XG4gICAgICogICBpZiAoc3RhdHVzLnN1Y2Nlc3MpIHtcbiAgICAgKiAgICAgY29uc29sZS5sb2coJ0luaXRpYWxpemF0aW9uIHN1Y2Nlc3NmdWwnKTtcbiAgICAgKiAgIH0gZWxzZSB7XG4gICAgICogICAgIGNvbnNvbGUuZXJyb3IoJ0luaXRpYWxpemF0aW9uIGZhaWxlZDonLCBzdGF0dXMuZXJyb3IpO1xuICAgICAqICAgfVxuICAgICAqIH0pO1xuICAgICAqXG4gICAgICogQHRocm93cyB7RXJyb3J9IFRocm93cyBhbiBlcnJvciBpZiB0aGUgYHJpZ2h0c2AgcGFyYW1ldGVyIGlzIG5vdCBhbiBhcnJheSBvZiBgRXVpVXNlclJpZ2h0YCBvYmplY3RzLlxuICAgICAqL1xuICAgIGluaXQocmlnaHRzOiBFdWlVc2VyUmlnaHRbXSk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBzdXBlci5pbml0RXVpU2VydmljZSgpO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyaWdodHMpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHJpZ2h0cyk7XG4gICAgICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiB0cnVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubG9nZ2VyKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignSW5pdCBvYmplY3Qgc2hvdWxkIGJlIGluc3RhbmNlIG9mIEJhc2VVc2VyU3RhdGUnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6ICdJbml0IG9iamVjdCBzaG91bGQgYmUgaW5zdGFuY2Ugb2YgQmFzZVVzZXJTdGF0ZScgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBjdXJyZW50IHVzZXIgcmlnaHRzIGZyb20gdGhlIHNlcnZpY2UncyBzdGF0ZS5cbiAgICAgKiBUaGlzIGdldHRlciBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIGFycmF5IG9mIGBFdWlVc2VyUmlnaHRgIG9iamVjdHMgdGhhdCByZXByZXNlbnQgdGhlIGN1cnJlbnQgcmlnaHRzXG4gICAgICogb2YgdGhlIHVzZXIuIEl0IGlzIGEgcHJvdGVjdGVkIG1ldGhvZCwgaW50ZW5kZWQgZm9yIGludGVybmFsIHVzZSB3aXRoaW4gdGhlIHNlcnZpY2Ugb3IgYnkgc3ViY2xhc3Nlcy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtFdWlVc2VyUmlnaHRbXX0gQW4gYXJyYXkgb2YgYEV1aVVzZXJSaWdodGAgb2JqZWN0cyByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgdXNlciByaWdodHMuXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIGBFdWlVc2VyUmlnaHRgIG9iamVjdCB0eXBpY2FsbHkgY29udGFpbnMgYW4gYGlkYCBwcm9wZXJ0eSwgYW5kIG1heVxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxzbyBpbmNsdWRlIGEgYHBlcm1pc3Npb25zYCBwcm9wZXJ0eSB3aGljaCBpcyBhbiBhcnJheSBvZiBzdHJpbmdzLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIG9mIGFjY2Vzc2luZyB1c2VyIHJpZ2h0cyB3aXRoaW4gYSBzdWJjbGFzcyBvciB3aXRoaW4gdGhlIHNlcnZpY2VcbiAgICAgKiBjb25zdCBjdXJyZW50UmlnaHRzID0gdGhpcy51c2VyUmlnaHRzO1xuICAgICAqIGN1cnJlbnRSaWdodHMuZm9yRWFjaChyaWdodCA9PiB7XG4gICAgICogICBjb25zb2xlLmxvZyhgUmlnaHQgSUQ6ICR7cmlnaHQuaWR9LCBQZXJtaXNzaW9uczogJHtyaWdodC5wZXJtaXNzaW9ucy5qb2luKCcsICcpfWApO1xuICAgICAqIH0pO1xuICAgICAqXG4gICAgICogQHByb3RlY3RlZFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXQgdXNlclJpZ2h0cygpOiBFdWlVc2VyUmlnaHRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlSW5zdGFuY2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHVzZXIgcmlnaHRzIGJ5IHN1YnNjcmliaW5nIHRvIGNoYW5nZXMuXG4gICAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byBhY2Nlc3MgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdXNlciByaWdodHMgaW4gdGhlIHNlcnZpY2UuIEl0IHJldHVybnMgYW4gT2JzZXJ2YWJsZVxuICAgICAqIHRoYXQgZW1pdHMgdGhlIGN1cnJlbnQgdXNlciByaWdodHMuIFRoZSBtZXRob2QgaXMgZ2VuZXJpYyBhbmQgY2FuIGJlIHBhcmFtZXRlcml6ZWQgdG8gcmV0dXJuIGEgc3BlY2lmaWNcbiAgICAgKiB0eXBlIHRoYXQgZXh0ZW5kcyBmcm9tIGBFdWlVc2VyUmlnaHRbXWAuXG4gICAgICpcbiAgICAgKiBAdGVtcGxhdGUgSyAtIFRoZSB0eXBlIG9mIHRoZSB1c2VyIHJpZ2h0cyBzdGF0ZSB0byBiZSByZXR1cm5lZC4gRGVmYXVsdHMgdG8gYEV1aVVzZXJSaWdodFtdYCBpZiBub3Qgc3BlY2lmaWVkLlxuICAgICAqXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8Sz59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgY3VycmVudCBzdGF0ZSBvZiB1c2VyIHJpZ2h0cy5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHR5cGUgb2YgdGhlIGVtaXR0ZWQgdmFsdWUgaXMgYEtgLCB3aGljaCBpcyBgRXVpVXNlclJpZ2h0W11gIGJ5IGRlZmF1bHQuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgb2Ygc3Vic2NyaWJpbmcgdG8gdGhlIHVzZXIgcmlnaHRzIHN0YXRlXG4gICAgICogcGVybWlzc2lvblNlcnZpY2UuZ2V0U3RhdGUoKS5zdWJzY3JpYmUoY3VycmVudFJpZ2h0cyA9PiB7XG4gICAgICogICBjb25zb2xlLmxvZygnQ3VycmVudCBVc2VyIFJpZ2h0czonLCBjdXJyZW50UmlnaHRzKTtcbiAgICAgKiB9KTtcbiAgICAgKlxuICAgICAqIC8vIEV4YW1wbGUgd2l0aCBhIHNwZWNpZmljIHR5cGVcbiAgICAgKiBwZXJtaXNzaW9uU2VydmljZS5nZXRTdGF0ZTxDdXN0b21Vc2VyUmlnaHRUeXBlW10+KCkuc3Vic2NyaWJlKGN1c3RvbVJpZ2h0cyA9PiB7XG4gICAgICogICBjb25zb2xlLmxvZygnQ3VzdG9tIFVzZXIgUmlnaHRzOicsIGN1c3RvbVJpZ2h0cyk7XG4gICAgICogfSk7XG4gICAgICovXG4gICAgZ2V0U3RhdGU8SyA9IEV1aVVzZXJSaWdodFtdPigpOiBPYnNlcnZhYmxlPEs+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldFVzZXJSaWdodHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgdGhlIHN0YXRlIG9mIHRoZSBzZXJ2aWNlIHdpdGggYSBuZXcgc2V0IG9mIHVzZXIgcmlnaHRzLlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gbW9kaWZ5IHRoZSBjdXJyZW50IHVzZXIgcmlnaHRzIGluIHRoZSBzZXJ2aWNlLiBJdCB0YWtlcyBhbiBhcnJheSBvZiBgRXVpVXNlclJpZ2h0YFxuICAgICAqIG9iamVjdHMgYW5kIHVwZGF0ZXMgdGhlIHNlcnZpY2UncyBzdGF0ZS4gVGhpcyBjaGFuZ2UgaXMgdGhlbiBwcm9wYWdhdGVkIHRvIGFsbCBzdWJzY3JpYmVycyBvZiB0aGUgc3RhdGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0V1aVVzZXJSaWdodFtdfSByaWdodHMgLSBBbiBhcnJheSBvZiBgRXVpVXNlclJpZ2h0YCBvYmplY3RzIHRvIHVwZGF0ZSB0aGUgc2VydmljZSdzIHN0YXRlIHdpdGguXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWFjaCBgRXVpVXNlclJpZ2h0YCBvYmplY3Qgc2hvdWxkIGNvbnRhaW4gYW4gYGlkYCBwcm9wZXJ0eSxcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgb3B0aW9uYWxseSBhIGBwZXJtaXNzaW9uc2AgcHJvcGVydHkgd2hpY2ggaXMgYW4gYXJyYXkgb2Ygc3RyaW5ncy5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSBvZiB1cGRhdGluZyB0aGUgc2VydmljZSdzIHN0YXRlIHdpdGggbmV3IHVzZXIgcmlnaHRzXG4gICAgICogY29uc3QgbmV3VXNlclJpZ2h0cyA9IFtcbiAgICAgKiAgIHsgaWQ6ICdVU0VSJywgcGVybWlzc2lvbnM6IFsnUkVBRCcsICdDT01NRU5UJ10gfSxcbiAgICAgKiAgIHsgaWQ6ICdNT0RFUkFUT1InLCBwZXJtaXNzaW9uczogWydSRUFEJywgJ1dSSVRFJywgJ0RFTEVURSddIH1cbiAgICAgKiBdO1xuICAgICAqIHBlcm1pc3Npb25TZXJ2aWNlLnVwZGF0ZVN0YXRlKG5ld1VzZXJSaWdodHMpO1xuICAgICAqL1xuICAgIHVwZGF0ZVN0YXRlKHJpZ2h0czogRXVpVXNlclJpZ2h0W10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlVXNlclJpZ2h0c0FjdGlvbihyaWdodHMgfHwgW10pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIHVzZXIgaGFzIHRoZSBzcGVjaWZpZWQgYXR0cmlidXRlIHBlcm1pc3Npb24uXG4gICAgICogVGhpcyBtZXRob2QgaW50ZXJwcmV0cyBhIHN0cmluZyB0aGF0IHJlcHJlc2VudHMgYSBjb21iaW5hdGlvbiBvZiByaWdodHMgYW5kL29yIHBlcm1pc3Npb25zXG4gICAgICogYW5kIGRldGVybWluZXMgd2hldGhlciB0aGUgdXNlciBoYXMgdGhlIHNwZWNpZmllZCBwZXJtaXNzaW9ucy4gVGhlIHN0cmluZyBmb3JtYXQgY2FuIGJlXG4gICAgICogJ1JJR0hULlBFUk1JU1NJT04nIG9yIGp1c3QgJ1JJR0hUJy4gRm9yIG11bHRpcGxlIHJpZ2h0cywgaXQgY2FuIGJlICdSSUdIVDEuUklHSFQyLlBFUk1JU1NJT04nLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHJpZ2h0c0FuZFBlcm1pc3Npb24gLSBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHJpZ2h0cyBhbmQvb3IgcGVybWlzc2lvbnMgdG8gY2hlY2suXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3JtYXQgY2FuIGJlICdSSUdIVCcsICdSSUdIVC5QRVJNSVNTSU9OJywgb3IgJ1JJR0hUMS5SSUdIVDIuUEVSTUlTU0lPTicuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgdXNlciBoYXMgdGhlIHNwZWNpZmllZCBhdHRyaWJ1dGUgcGVybWlzc2lvbiwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBDaGVjayBhIHNpbmdsZSByaWdodFxuICAgICAqIGNvbnN0IGhhc1JpZ2h0ID0gcGVybWlzc2lvblNlcnZpY2UuY2hlY2tBdHRyaWJ1dGVQZXJtaXNzaW9uKCdWSUVXJyk7XG4gICAgICpcbiAgICAgKiAvLyBDaGVjayBhIHJpZ2h0IHdpdGggYSBzcGVjaWZpYyBwZXJtaXNzaW9uXG4gICAgICogY29uc3QgaGFzUmlnaHRXaXRoUGVybWlzc2lvbiA9IHBlcm1pc3Npb25TZXJ2aWNlLmNoZWNrQXR0cmlidXRlUGVybWlzc2lvbignRURJVC5BUFBST1ZFJyk7XG4gICAgICpcbiAgICAgKiAvLyBDaGVjayBtdWx0aXBsZSByaWdodHMgd2l0aCBhIHNwZWNpZmljIHBlcm1pc3Npb25cbiAgICAgKiBjb25zdCBoYXNNdWx0aXBsZVJpZ2h0cyA9IHBlcm1pc3Npb25TZXJ2aWNlLmNoZWNrQXR0cmlidXRlUGVybWlzc2lvbignQURNSU4uVklFVy5BUFBST1ZFJyk7XG4gICAgICovXG4gICAgY2hlY2tBdHRyaWJ1dGVQZXJtaXNzaW9uKHJpZ2h0c0FuZFBlcm1pc3Npb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBwZXJtUHJvcHMgPSByaWdodHNBbmRQZXJtaXNzaW9uLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IHJpZ2h0SWQgPSBwZXJtUHJvcHNbMF07XG4gICAgICAgIGNvbnN0IGhhc1JpZ2h0ID0gdGhpcy5jaGVja1JpZ2h0KHJpZ2h0SWQpO1xuXG4gICAgICAgIGlmIChoYXNSaWdodCkge1xuICAgICAgICAgICAgaWYgKHBlcm1Qcm9wcy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgICAgICAvLyBpbiBjYXNlIG9mICdSSUdIVC5QRVJNSVNTSU9OJ1xuICAgICAgICAgICAgICAgIGNvbnN0IHBlcm1pc3Npb24gPSBwZXJtUHJvcHNbMV07XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tQZXJtaXNzaW9uKHJpZ2h0SWQsIHBlcm1pc3Npb24pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwZXJtUHJvcHMubGVuZ3RoID4gMikge1xuICAgICAgICAgICAgICAgIC8vIGluIGNhc2Ugb2YgJ1JJR0hUMS5SSUdIVDIuLi4uLlBFUk1JU1NJT04nIHN0cmluZyBjYWxsIHJlY3Vyc2l2ZWx5XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tBdHRyaWJ1dGVQZXJtaXNzaW9uKHJpZ2h0c0FuZFBlcm1pc3Npb24uc2xpY2UocmlnaHRJZC5sZW5ndGggKyAxKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaGFzUmlnaHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSB1c2VyIGhhcyBhIHNwZWNpZmljIHJpZ2h0LlxuICAgICAqIFRoaXMgbWV0aG9kIGRldGVybWluZXMgd2hldGhlciB0aGUgdXNlciBwb3NzZXNzZXMgYSBwYXJ0aWN1bGFyIHJpZ2h0IGlkZW50aWZpZWQgYnkgaXRzIElELlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHJpZ2h0SWQgLSBUaGUgSUQgb2YgdGhlIHJpZ2h0IHRvIGNoZWNrLlxuICAgICAqXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIHVzZXIgaGFzIHRoZSBzcGVjaWZpZWQgcmlnaHQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gQ2hlY2sgaWYgdGhlIHVzZXIgaGFzIHRoZSAnQURNSU4nIHJpZ2h0XG4gICAgICogY29uc3QgaXNBZG1pbiA9IHBlcm1pc3Npb25TZXJ2aWNlLmNoZWNrUmlnaHQoJ0FETUlOJyk7XG4gICAgICovXG4gICAgY2hlY2tSaWdodChyaWdodElkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlclJpZ2h0cy5zb21lKChyaWdodCkgPT4gcmlnaHQgJiYgcmlnaHQuaWQgPT09IHJpZ2h0SWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgdXNlciBoYXMgYSBzcGVjaWZpYyBwZXJtaXNzaW9uIHdpdGhpbiBhIHJpZ2h0LlxuICAgICAqIFRoaXMgbWV0aG9kIGRldGVybWluZXMgd2hldGhlciB0aGUgdXNlciBoYXMgYSBzcGVjaWZpYyBwZXJtaXNzaW9uIGFzc29jaWF0ZWQgd2l0aCBhIGdpdmVuIHJpZ2h0LlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHJpZ2h0SWQgLSBUaGUgSUQgb2YgdGhlIHJpZ2h0LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwZXJtaXNzaW9uIC0gVGhlIHBlcm1pc3Npb24gdG8gY2hlY2sgd2l0aGluIHRoZSByaWdodC5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSB1c2VyIGhhcyB0aGUgc3BlY2lmaWVkIHBlcm1pc3Npb24gaW4gdGhlIGdpdmVuIHJpZ2h0LCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIENoZWNrIGlmIHRoZSB1c2VyIGhhcyAnQVBQUk9WRScgcGVybWlzc2lvbiBpbiB0aGUgJ0VESVQnIHJpZ2h0XG4gICAgICogY29uc3QgY2FuQXBwcm92ZUVkaXQgPSBwZXJtaXNzaW9uU2VydmljZS5jaGVja1Blcm1pc3Npb24oJ0VESVQnLCAnQVBQUk9WRScpO1xuICAgICAqL1xuICAgIGNoZWNrUGVybWlzc2lvbihyaWdodElkOiBzdHJpbmcsIHBlcm1pc3Npb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICAvLyB0aGUgdXNlciBoYXMgdG8gaGF2ZSB0aGF0IHJpZ2h0IGFuZCB0aGF0IHJpZ2h0IGhhcyB0byBoYXZlIHRoZSBnaXZlbiBwZXJtaXNzaW9uXG4gICAgICAgIHJldHVybiB0aGlzLnVzZXJSaWdodHMuc29tZShcbiAgICAgICAgICAgIChyaWdodCkgPT4gcmlnaHQgJiYgcmlnaHQuaWQgPT09IHJpZ2h0SWQgJiYgcmlnaHQucGVybWlzc2lvbnMgJiYgcmlnaHQucGVybWlzc2lvbnMuaW5jbHVkZXMocGVybWlzc2lvbiksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSB1c2VyIGhhcyBhbGwgdGhlIHNwZWNpZmllZCByaWdodHMuXG4gICAgICogVGhpcyBwcml2YXRlIG1ldGhvZCBkZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHVzZXIgcG9zc2Vzc2VzIGFsbCB0aGUgcmlnaHRzIHByb3ZpZGVkIGluIHRoZSBhcnJheS5cbiAgICAgKiBFYWNoIHJpZ2h0IGluIHRoZSBhcnJheSBpcyBjaGVja2VkIGFnYWluc3QgdGhlIHVzZXIncyBjdXJyZW50IHJpZ2h0cy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RXVpVXNlclJpZ2h0W119IHJpZ2h0cyAtIEFuIGFycmF5IG9mIHJpZ2h0cyB0byBjaGVjayBhZ2FpbnN0IHRoZSB1c2VyJ3MgcmlnaHRzLlxuICAgICAqXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIHVzZXIgaGFzIGFsbCB0aGUgc3BlY2lmaWVkIHJpZ2h0cywgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIHVzYWdlIHdpdGhpbiB0aGUgc2VydmljZVxuICAgICAqIGNvbnN0IHJlcXVpcmVkUmlnaHRzID0gW3sgaWQ6ICdWSUVXJyB9LCB7IGlkOiAnRURJVCcgfV07XG4gICAgICogY29uc3QgaGFzQWxsUmVxdWlyZWRSaWdodHMgPSB0aGlzLmhhdmVBbGxSaWdodHMocmVxdWlyZWRSaWdodHMpO1xuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGhhdmVBbGxSaWdodHMocmlnaHRzOiBFdWlVc2VyUmlnaHRbXSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIWlzRGVmaW5lZChyaWdodHMpKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignVGhlIHJpZ2h0cyBzaG91bGQgYmUgYW4gYXJyYXkgYnV0IGluc3RlYWQgaXRcXCdzIG5vdCBkZWZpbmVkIScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJpZ2h0cy5ldmVyeSgocmlnaHQ6IEV1aVVzZXJSaWdodCkgPT4gdGhpcy51c2VyUmlnaHRzLmZpbmQoKHVSaWdodDogRXVpVXNlclJpZ2h0KSA9PiB1UmlnaHQuaWQgPT09IHJpZ2h0LmlkKSk7XG4gICAgfVxufVxuIl19
|
|
245
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9uL3Blcm1pc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFvQixhQUFhLEVBQXdCLE1BQU0sV0FBVyxDQUFDO0FBQzlGLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFnQixzQkFBc0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRTFDOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBSUgsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFVBQTBCO0lBR2hFLFlBQ3dCLEdBQWUsRUFDekIsS0FBbUI7UUFFN0IsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBSFUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBRzdCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUMxRCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTZCRztJQUNILElBQUksQ0FBQyxNQUFzQjtRQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QixPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVB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Q0FBQyxDQUFDLE1BQW9CLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekgsQ0FBQzsrR0EvTlEsb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGakIsTUFBTTs7NEZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBS1EsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdWlTZXJ2aWNlLCBFdWlTZXJ2aWNlU3RhdHVzLCBnZXRVc2VyUmlnaHRzLCBFdWlVc2VyUmlnaHQsIExvZ2dlciB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZyc7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2UsIFVwZGF0ZVVzZXJSaWdodHNBY3Rpb24gfSBmcm9tICcuLi9zdG9yZSc7XG5pbXBvcnQgeyBpc0RlZmluZWQgfSBmcm9tICcuLi8uLi9oZWxwZXJzJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBtYW5hZ2luZyB1c2VyIHBlcm1pc3Npb25zIHdpdGhpbiB0aGUgYXBwbGljYXRpb24uXG4gKiBUaGlzIGNsYXNzIGV4dGVuZHMgYEV1aVNlcnZpY2VgIGFuZCBpcyByZXNwb25zaWJsZSBmb3IgaGFuZGxpbmcgdXNlciByaWdodHMgYW5kIHBlcm1pc3Npb25zLlxuICogSXQgcHJvdmlkZXMgbWV0aG9kcyB0byBpbml0aWFsaXplIHRoZSBzZXJ2aWNlIHdpdGggdXNlciByaWdodHMsIGNoZWNrIHNwZWNpZmljIHJpZ2h0cyBhbmQgcGVybWlzc2lvbnMsXG4gKiBhbmQgc3Vic2NyaWJlIHRvIGNoYW5nZXMgaW4gdGhlIHVzZXIgcmlnaHRzIHN0YXRlLlxuICpcbiAqIEBleHRlbmRzIHtFdWlTZXJ2aWNlPEV1aVVzZXJSaWdodFtdPn1cbiAqIEBzZWUgRXVpU2VydmljZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBFeGFtcGxlIG9mIHVzaW5nIHRoZSBFdWlQZXJtaXNzaW9uU2VydmljZSBpbiBhbiBhcHBsaWNhdGlvblxuICogY29uc3QgcGVybWlzc2lvblNlcnZpY2UgPSBuZXcgRXVpUGVybWlzc2lvblNlcnZpY2UoKTtcbiAqIHBlcm1pc3Npb25TZXJ2aWNlLmluaXQoW3sgaWQ6ICdBRE1JTicsIHBlcm1pc3Npb25zOiBbJ0NSRUFURScsICdSRUFEJywgJ1VQREFURScsICdERUxFVEUnXSB9XSk7XG4gKiBpZiAocGVybWlzc2lvblNlcnZpY2UuY2hlY2tSaWdodCgnQURNSU4nKSkge1xuICogICBjb25zb2xlLmxvZygnVXNlciBoYXMgQURNSU4gcmlnaHRzJyk7XG4gKiB9XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEV1aVBlcm1pc3Npb25TZXJ2aWNlIGV4dGVuZHMgRXVpU2VydmljZTxFdWlVc2VyUmlnaHRbXT4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBsb2c6IExvZ1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBzdG9yZTogU3RvcmVTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBzdXBlcihbXSk7XG4gICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyID0gbG9nLmdldExvZ2dlcignY29yZS5QZXJtaXNzaW9uU2VydmljZScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZXMgdGhlIHBlcm1pc3Npb24gc2VydmljZSB3aXRoIGEgc2V0IG9mIHVzZXIgcmlnaHRzLlxuICAgICAqIFRoaXMgbWV0aG9kIHNldHMgdXAgdGhlIGluaXRpYWwgc3RhdGUgb2YgdGhlIHNlcnZpY2UgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHVzZXIgcmlnaHRzLlxuICAgICAqIEl0IHNob3VsZCBiZSBjYWxsZWQgYmVmb3JlIHVzaW5nIG90aGVyIG1ldGhvZHMgb2YgdGhlIHNlcnZpY2UgdG8gZW5zdXJlIGl0IGlzIHByb3Blcmx5IGNvbmZpZ3VyZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0V1aVVzZXJSaWdodFtdfSByaWdodHMgLSBBbiBhcnJheSBvZiB1c2VyIHJpZ2h0cyB0byBpbml0aWFsaXplIHRoZSBzZXJ2aWNlIHdpdGguXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWFjaCBgRXVpVXNlclJpZ2h0YCBvYmplY3Qgc2hvdWxkIGNvbnRhaW4gYXQgbGVhc3QgYW4gYGlkYCBwcm9wZXJ0eSxcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgb3B0aW9uYWxseSBhIGBwZXJtaXNzaW9uc2AgcHJvcGVydHkgd2hpY2ggaXMgYW4gYXJyYXkgb2Ygc3RyaW5ncy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+fSBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHN0YXR1cyBvZiB0aGUgaW5pdGlhbGl6YXRpb24uXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBzdGF0dXMgb2JqZWN0IGluY2x1ZGVzIGEgYHN1Y2Nlc3NgIGJvb2xlYW4gaW5kaWNhdGluZ1xuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGV0aGVyIHRoZSBpbml0aWFsaXphdGlvbiB3YXMgc3VjY2Vzc2Z1bCwgYW5kIGFuIGBlcnJvcmAgcHJvcGVydHlcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBhIG1lc3NhZ2UgaW4gY2FzZSBvZiBmYWlsdXJlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIG9mIGluaXRpYWxpemluZyB0aGUgc2VydmljZSB3aXRoIHR3byB1c2VyIHJpZ2h0c1xuICAgICAqIGNvbnN0IHVzZXJSaWdodHMgPSBbXG4gICAgICogICB7IGlkOiAnQURNSU4nLCBwZXJtaXNzaW9uczogWydDUkVBVEUnLCAnUkVBRCcsICdVUERBVEUnLCAnREVMRVRFJ10gfSxcbiAgICAgKiAgIHsgaWQ6ICdVU0VSJywgcGVybWlzc2lvbnM6IFsnUkVBRCddIH1cbiAgICAgKiBdO1xuICAgICAqIHBlcm1pc3Npb25TZXJ2aWNlLmluaXQodXNlclJpZ2h0cykuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XG4gICAgICogICBpZiAoc3RhdHVzLnN1Y2Nlc3MpIHtcbiAgICAgKiAgICAgY29uc29sZS5sb2coJ0luaXRpYWxpemF0aW9uIHN1Y2Nlc3NmdWwnKTtcbiAgICAgKiAgIH0gZWxzZSB7XG4gICAgICogICAgIGNvbnNvbGUuZXJyb3IoJ0luaXRpYWxpemF0aW9uIGZhaWxlZDonLCBzdGF0dXMuZXJyb3IpO1xuICAgICAqICAgfVxuICAgICAqIH0pO1xuICAgICAqXG4gICAgICogQHRocm93cyB7RXJyb3J9IFRocm93cyBhbiBlcnJvciBpZiB0aGUgYHJpZ2h0c2AgcGFyYW1ldGVyIGlzIG5vdCBhbiBhcnJheSBvZiBgRXVpVXNlclJpZ2h0YCBvYmplY3RzLlxuICAgICAqL1xuICAgIGluaXQocmlnaHRzOiBFdWlVc2VyUmlnaHRbXSk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBzdXBlci5pbml0RXVpU2VydmljZSgpO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyaWdodHMpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHJpZ2h0cyk7XG4gICAgICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiB0cnVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubG9nZ2VyKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignSW5pdCBvYmplY3Qgc2hvdWxkIGJlIGluc3RhbmNlIG9mIEJhc2VVc2VyU3RhdGUnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6ICdJbml0IG9iamVjdCBzaG91bGQgYmUgaW5zdGFuY2Ugb2YgQmFzZVVzZXJTdGF0ZScgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBjdXJyZW50IHVzZXIgcmlnaHRzIGZyb20gdGhlIHNlcnZpY2UncyBzdGF0ZS5cbiAgICAgKiBUaGlzIGdldHRlciBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIGFycmF5IG9mIGBFdWlVc2VyUmlnaHRgIG9iamVjdHMgdGhhdCByZXByZXNlbnQgdGhlIGN1cnJlbnQgcmlnaHRzXG4gICAgICogb2YgdGhlIHVzZXIuIEl0IGlzIGEgcHJvdGVjdGVkIG1ldGhvZCwgaW50ZW5kZWQgZm9yIGludGVybmFsIHVzZSB3aXRoaW4gdGhlIHNlcnZpY2Ugb3IgYnkgc3ViY2xhc3Nlcy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtFdWlVc2VyUmlnaHRbXX0gQW4gYXJyYXkgb2YgYEV1aVVzZXJSaWdodGAgb2JqZWN0cyByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgdXNlciByaWdodHMuXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIGBFdWlVc2VyUmlnaHRgIG9iamVjdCB0eXBpY2FsbHkgY29udGFpbnMgYW4gYGlkYCBwcm9wZXJ0eSwgYW5kIG1heVxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxzbyBpbmNsdWRlIGEgYHBlcm1pc3Npb25zYCBwcm9wZXJ0eSB3aGljaCBpcyBhbiBhcnJheSBvZiBzdHJpbmdzLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIG9mIGFjY2Vzc2luZyB1c2VyIHJpZ2h0cyB3aXRoaW4gYSBzdWJjbGFzcyBvciB3aXRoaW4gdGhlIHNlcnZpY2VcbiAgICAgKiBjb25zdCBjdXJyZW50UmlnaHRzID0gdGhpcy51c2VyUmlnaHRzO1xuICAgICAqIGN1cnJlbnRSaWdodHMuZm9yRWFjaChyaWdodCA9PiB7XG4gICAgICogICBjb25zb2xlLmxvZyhgUmlnaHQgSUQ6ICR7cmlnaHQuaWR9LCBQZXJtaXNzaW9uczogJHtyaWdodC5wZXJtaXNzaW9ucy5qb2luKCcsICcpfWApO1xuICAgICAqIH0pO1xuICAgICAqXG4gICAgICogQHByb3RlY3RlZFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXQgdXNlclJpZ2h0cygpOiBFdWlVc2VyUmlnaHRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlSW5zdGFuY2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHVzZXIgcmlnaHRzIGJ5IHN1YnNjcmliaW5nIHRvIGNoYW5nZXMuXG4gICAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byBhY2Nlc3MgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdXNlciByaWdodHMgaW4gdGhlIHNlcnZpY2UuIEl0IHJldHVybnMgYW4gT2JzZXJ2YWJsZVxuICAgICAqIHRoYXQgZW1pdHMgdGhlIGN1cnJlbnQgdXNlciByaWdodHMuIFRoZSBtZXRob2QgaXMgZ2VuZXJpYyBhbmQgY2FuIGJlIHBhcmFtZXRlcml6ZWQgdG8gcmV0dXJuIGEgc3BlY2lmaWNcbiAgICAgKiB0eXBlIHRoYXQgZXh0ZW5kcyBmcm9tIGBFdWlVc2VyUmlnaHRbXWAuXG4gICAgICpcbiAgICAgKiBAdGVtcGxhdGUgSyAtIFRoZSB0eXBlIG9mIHRoZSB1c2VyIHJpZ2h0cyBzdGF0ZSB0byBiZSByZXR1cm5lZC4gRGVmYXVsdHMgdG8gYEV1aVVzZXJSaWdodFtdYCBpZiBub3Qgc3BlY2lmaWVkLlxuICAgICAqXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8Sz59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgY3VycmVudCBzdGF0ZSBvZiB1c2VyIHJpZ2h0cy5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHR5cGUgb2YgdGhlIGVtaXR0ZWQgdmFsdWUgaXMgYEtgLCB3aGljaCBpcyBgRXVpVXNlclJpZ2h0W11gIGJ5IGRlZmF1bHQuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgb2Ygc3Vic2NyaWJpbmcgdG8gdGhlIHVzZXIgcmlnaHRzIHN0YXRlXG4gICAgICogcGVybWlzc2lvblNlcnZpY2UuZ2V0U3RhdGUoKS5zdWJzY3JpYmUoY3VycmVudFJpZ2h0cyA9PiB7XG4gICAgICogICBjb25zb2xlLmxvZygnQ3VycmVudCBVc2VyIFJpZ2h0czonLCBjdXJyZW50UmlnaHRzKTtcbiAgICAgKiB9KTtcbiAgICAgKlxuICAgICAqIC8vIEV4YW1wbGUgd2l0aCBhIHNwZWNpZmljIHR5cGVcbiAgICAgKiBwZXJtaXNzaW9uU2VydmljZS5nZXRTdGF0ZTxDdXN0b21Vc2VyUmlnaHRUeXBlW10+KCkuc3Vic2NyaWJlKGN1c3RvbVJpZ2h0cyA9PiB7XG4gICAgICogICBjb25zb2xlLmxvZygnQ3VzdG9tIFVzZXIgUmlnaHRzOicsIGN1c3RvbVJpZ2h0cyk7XG4gICAgICogfSk7XG4gICAgICovXG4gICAgZ2V0U3RhdGU8SyA9IEV1aVVzZXJSaWdodFtdPigpOiBPYnNlcnZhYmxlPEs+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldFVzZXJSaWdodHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgdGhlIHN0YXRlIG9mIHRoZSBzZXJ2aWNlIHdpdGggYSBuZXcgc2V0IG9mIHVzZXIgcmlnaHRzLlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gbW9kaWZ5IHRoZSBjdXJyZW50IHVzZXIgcmlnaHRzIGluIHRoZSBzZXJ2aWNlLiBJdCB0YWtlcyBhbiBhcnJheSBvZiBgRXVpVXNlclJpZ2h0YFxuICAgICAqIG9iamVjdHMgYW5kIHVwZGF0ZXMgdGhlIHNlcnZpY2UncyBzdGF0ZS4gVGhpcyBjaGFuZ2UgaXMgdGhlbiBwcm9wYWdhdGVkIHRvIGFsbCBzdWJzY3JpYmVycyBvZiB0aGUgc3RhdGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0V1aVVzZXJSaWdodFtdfSByaWdodHMgLSBBbiBhcnJheSBvZiBgRXVpVXNlclJpZ2h0YCBvYmplY3RzIHRvIHVwZGF0ZSB0aGUgc2VydmljZSdzIHN0YXRlIHdpdGguXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWFjaCBgRXVpVXNlclJpZ2h0YCBvYmplY3Qgc2hvdWxkIGNvbnRhaW4gYW4gYGlkYCBwcm9wZXJ0eSxcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgb3B0aW9uYWxseSBhIGBwZXJtaXNzaW9uc2AgcHJvcGVydHkgd2hpY2ggaXMgYW4gYXJyYXkgb2Ygc3RyaW5ncy5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSBvZiB1cGRhdGluZyB0aGUgc2VydmljZSdzIHN0YXRlIHdpdGggbmV3IHVzZXIgcmlnaHRzXG4gICAgICogY29uc3QgbmV3VXNlclJpZ2h0cyA9IFtcbiAgICAgKiAgIHsgaWQ6ICdVU0VSJywgcGVybWlzc2lvbnM6IFsnUkVBRCcsICdDT01NRU5UJ10gfSxcbiAgICAgKiAgIHsgaWQ6ICdNT0RFUkFUT1InLCBwZXJtaXNzaW9uczogWydSRUFEJywgJ1dSSVRFJywgJ0RFTEVURSddIH1cbiAgICAgKiBdO1xuICAgICAqIHBlcm1pc3Npb25TZXJ2aWNlLnVwZGF0ZVN0YXRlKG5ld1VzZXJSaWdodHMpO1xuICAgICAqL1xuICAgIHVwZGF0ZVN0YXRlKHJpZ2h0czogRXVpVXNlclJpZ2h0W10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlVXNlclJpZ2h0c0FjdGlvbihyaWdodHMgfHwgW10pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIHVzZXIgaGFzIHRoZSBzcGVjaWZpZWQgYXR0cmlidXRlIHBlcm1pc3Npb24uXG4gICAgICogVGhpcyBtZXRob2QgaW50ZXJwcmV0cyBhIHN0cmluZyB0aGF0IHJlcHJlc2VudHMgYSBjb21iaW5hdGlvbiBvZiByaWdodHMgYW5kL29yIHBlcm1pc3Npb25zXG4gICAgICogYW5kIGRldGVybWluZXMgd2hldGhlciB0aGUgdXNlciBoYXMgdGhlIHNwZWNpZmllZCBwZXJtaXNzaW9ucy4gVGhlIHN0cmluZyBmb3JtYXQgY2FuIGJlXG4gICAgICogJ1JJR0hULlBFUk1JU1NJT04nIG9yIGp1c3QgJ1JJR0hUJy4gRm9yIG11bHRpcGxlIHJpZ2h0cywgaXQgY2FuIGJlICdSSUdIVDEuUklHSFQyLlBFUk1JU1NJT04nLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHJpZ2h0c0FuZFBlcm1pc3Npb24gLSBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHJpZ2h0cyBhbmQvb3IgcGVybWlzc2lvbnMgdG8gY2hlY2suXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3JtYXQgY2FuIGJlICdSSUdIVCcsICdSSUdIVC5QRVJNSVNTSU9OJywgb3IgJ1JJR0hUMS5SSUdIVDIuUEVSTUlTU0lPTicuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgdXNlciBoYXMgdGhlIHNwZWNpZmllZCBhdHRyaWJ1dGUgcGVybWlzc2lvbiwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBDaGVjayBhIHNpbmdsZSByaWdodFxuICAgICAqIGNvbnN0IGhhc1JpZ2h0ID0gcGVybWlzc2lvblNlcnZpY2UuY2hlY2tBdHRyaWJ1dGVQZXJtaXNzaW9uKCdWSUVXJyk7XG4gICAgICpcbiAgICAgKiAvLyBDaGVjayBhIHJpZ2h0IHdpdGggYSBzcGVjaWZpYyBwZXJtaXNzaW9uXG4gICAgICogY29uc3QgaGFzUmlnaHRXaXRoUGVybWlzc2lvbiA9IHBlcm1pc3Npb25TZXJ2aWNlLmNoZWNrQXR0cmlidXRlUGVybWlzc2lvbignRURJVC5BUFBST1ZFJyk7XG4gICAgICpcbiAgICAgKiAvLyBDaGVjayBtdWx0aXBsZSByaWdodHMgd2l0aCBhIHNwZWNpZmljIHBlcm1pc3Npb25cbiAgICAgKiBjb25zdCBoYXNNdWx0aXBsZVJpZ2h0cyA9IHBlcm1pc3Npb25TZXJ2aWNlLmNoZWNrQXR0cmlidXRlUGVybWlzc2lvbignQURNSU4uVklFVy5BUFBST1ZFJyk7XG4gICAgICovXG4gICAgY2hlY2tBdHRyaWJ1dGVQZXJtaXNzaW9uKHJpZ2h0c0FuZFBlcm1pc3Npb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBwZXJtUHJvcHMgPSByaWdodHNBbmRQZXJtaXNzaW9uLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IHJpZ2h0SWQgPSBwZXJtUHJvcHNbMF07XG4gICAgICAgIGNvbnN0IGhhc1JpZ2h0ID0gdGhpcy5jaGVja1JpZ2h0KHJpZ2h0SWQpO1xuXG4gICAgICAgIGlmIChoYXNSaWdodCkge1xuICAgICAgICAgICAgaWYgKHBlcm1Qcm9wcy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgICAgICAvLyBpbiBjYXNlIG9mICdSSUdIVC5QRVJNSVNTSU9OJ1xuICAgICAgICAgICAgICAgIGNvbnN0IHBlcm1pc3Npb24gPSBwZXJtUHJvcHNbMV07XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tQZXJtaXNzaW9uKHJpZ2h0SWQsIHBlcm1pc3Npb24pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwZXJtUHJvcHMubGVuZ3RoID4gMikge1xuICAgICAgICAgICAgICAgIC8vIGluIGNhc2Ugb2YgJ1JJR0hUMS5SSUdIVDIuLi4uLlBFUk1JU1NJT04nIHN0cmluZyBjYWxsIHJlY3Vyc2l2ZWx5XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tBdHRyaWJ1dGVQZXJtaXNzaW9uKHJpZ2h0c0FuZFBlcm1pc3Npb24uc2xpY2UocmlnaHRJZC5sZW5ndGggKyAxKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaGFzUmlnaHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSB1c2VyIGhhcyBhIHNwZWNpZmljIHJpZ2h0LlxuICAgICAqIFRoaXMgbWV0aG9kIGRldGVybWluZXMgd2hldGhlciB0aGUgdXNlciBwb3NzZXNzZXMgYSBwYXJ0aWN1bGFyIHJpZ2h0IGlkZW50aWZpZWQgYnkgaXRzIElELlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHJpZ2h0SWQgLSBUaGUgSUQgb2YgdGhlIHJpZ2h0IHRvIGNoZWNrLlxuICAgICAqXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIHVzZXIgaGFzIHRoZSBzcGVjaWZpZWQgcmlnaHQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gQ2hlY2sgaWYgdGhlIHVzZXIgaGFzIHRoZSAnQURNSU4nIHJpZ2h0XG4gICAgICogY29uc3QgaXNBZG1pbiA9IHBlcm1pc3Npb25TZXJ2aWNlLmNoZWNrUmlnaHQoJ0FETUlOJyk7XG4gICAgICovXG4gICAgY2hlY2tSaWdodChyaWdodElkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlclJpZ2h0cy5zb21lKChyaWdodCkgPT4gcmlnaHQgJiYgcmlnaHQuaWQgPT09IHJpZ2h0SWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgdXNlciBoYXMgYSBzcGVjaWZpYyBwZXJtaXNzaW9uIHdpdGhpbiBhIHJpZ2h0LlxuICAgICAqIFRoaXMgbWV0aG9kIGRldGVybWluZXMgd2hldGhlciB0aGUgdXNlciBoYXMgYSBzcGVjaWZpYyBwZXJtaXNzaW9uIGFzc29jaWF0ZWQgd2l0aCBhIGdpdmVuIHJpZ2h0LlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHJpZ2h0SWQgLSBUaGUgSUQgb2YgdGhlIHJpZ2h0LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwZXJtaXNzaW9uIC0gVGhlIHBlcm1pc3Npb24gdG8gY2hlY2sgd2l0aGluIHRoZSByaWdodC5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSB1c2VyIGhhcyB0aGUgc3BlY2lmaWVkIHBlcm1pc3Npb24gaW4gdGhlIGdpdmVuIHJpZ2h0LCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIENoZWNrIGlmIHRoZSB1c2VyIGhhcyAnQVBQUk9WRScgcGVybWlzc2lvbiBpbiB0aGUgJ0VESVQnIHJpZ2h0XG4gICAgICogY29uc3QgY2FuQXBwcm92ZUVkaXQgPSBwZXJtaXNzaW9uU2VydmljZS5jaGVja1Blcm1pc3Npb24oJ0VESVQnLCAnQVBQUk9WRScpO1xuICAgICAqL1xuICAgIGNoZWNrUGVybWlzc2lvbihyaWdodElkOiBzdHJpbmcsIHBlcm1pc3Npb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICAvLyB0aGUgdXNlciBoYXMgdG8gaGF2ZSB0aGF0IHJpZ2h0IGFuZCB0aGF0IHJpZ2h0IGhhcyB0byBoYXZlIHRoZSBnaXZlbiBwZXJtaXNzaW9uXG4gICAgICAgIHJldHVybiB0aGlzLnVzZXJSaWdodHMuc29tZShcbiAgICAgICAgICAgIChyaWdodCkgPT4gcmlnaHQgJiYgcmlnaHQuaWQgPT09IHJpZ2h0SWQgJiYgcmlnaHQucGVybWlzc2lvbnMgJiYgcmlnaHQucGVybWlzc2lvbnMuaW5jbHVkZXMocGVybWlzc2lvbiksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSB1c2VyIGhhcyBhbGwgdGhlIHNwZWNpZmllZCByaWdodHMuXG4gICAgICogVGhpcyBwcml2YXRlIG1ldGhvZCBkZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHVzZXIgcG9zc2Vzc2VzIGFsbCB0aGUgcmlnaHRzIHByb3ZpZGVkIGluIHRoZSBhcnJheS5cbiAgICAgKiBFYWNoIHJpZ2h0IGluIHRoZSBhcnJheSBpcyBjaGVja2VkIGFnYWluc3QgdGhlIHVzZXIncyBjdXJyZW50IHJpZ2h0cy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RXVpVXNlclJpZ2h0W119IHJpZ2h0cyAtIEFuIGFycmF5IG9mIHJpZ2h0cyB0byBjaGVjayBhZ2FpbnN0IHRoZSB1c2VyJ3MgcmlnaHRzLlxuICAgICAqXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIHVzZXIgaGFzIGFsbCB0aGUgc3BlY2lmaWVkIHJpZ2h0cywgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIHVzYWdlIHdpdGhpbiB0aGUgc2VydmljZVxuICAgICAqIGNvbnN0IHJlcXVpcmVkUmlnaHRzID0gW3sgaWQ6ICdWSUVXJyB9LCB7IGlkOiAnRURJVCcgfV07XG4gICAgICogY29uc3QgaGFzQWxsUmVxdWlyZWRSaWdodHMgPSB0aGlzLmhhdmVBbGxSaWdodHMocmVxdWlyZWRSaWdodHMpO1xuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGhhdmVBbGxSaWdodHMocmlnaHRzOiBFdWlVc2VyUmlnaHRbXSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIWlzRGVmaW5lZChyaWdodHMpKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignVGhlIHJpZ2h0cyBzaG91bGQgYmUgYW4gYXJyYXkgYnV0IGluc3RlYWQgaXRcXCdzIG5vdCBkZWZpbmVkIScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJpZ2h0cy5ldmVyeSgocmlnaHQ6IEV1aVVzZXJSaWdodCkgPT4gdGhpcy51c2VyUmlnaHRzLmZpbmQoKHVSaWdodDogRXVpVXNlclJpZ2h0KSA9PiB1UmlnaHQuaWQgPT09IHJpZ2h0LmlkKSk7XG4gICAgfVxufVxuIl19
|
|
@@ -323,10 +323,10 @@ export class ApiQueueService {
|
|
|
323
323
|
buildHttpRequest(id, item) {
|
|
324
324
|
return this.http[item.method.toLowerCase()](item.uri, item.payload).pipe(tap(() => this.removeQueueItem(id)));
|
|
325
325
|
}
|
|
326
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
327
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
326
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ApiQueueService, deps: [{ token: i1.StoreService }, { token: i2.HttpClient }, { token: i3.LogService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
327
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ApiQueueService, providedIn: 'root' }); }
|
|
328
328
|
}
|
|
329
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
329
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ApiQueueService, decorators: [{
|
|
330
330
|
type: Injectable,
|
|
331
331
|
args: [{
|
|
332
332
|
providedIn: 'root',
|
|
@@ -334,4 +334,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
334
334
|
}], ctorParameters: () => [{ type: i1.StoreService }, { type: i2.HttpClient }, { type: i3.LogService, decorators: [{
|
|
335
335
|
type: Optional
|
|
336
336
|
}] }] });
|
|
337
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXF1ZXVlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3F1ZXVlL2FwaS1xdWV1ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBa0MsTUFBTSxXQUFXLENBQUM7QUFHekYsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7QUFFOUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDRztBQUlILE1BQU0sT0FBTyxlQUFlO0lBR3hCLFlBQ2MsS0FBbUIsRUFDbkIsSUFBZ0IsRUFDSixVQUFzQjtRQUZsQyxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVk7UUFDSixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRTVDLElBQUksVUFBVSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FxQkc7SUFDSCxZQUFZLENBQUMsRUFBVSxFQUFFLElBQWtCO1FBQ3ZDLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUU5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QUFNOzsyRkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBT1EsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIGZvcmtKb2luLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAsIHN3aXRjaE1hcCwgdGFrZSwgbWFwLCBjYXRjaEVycm9yLCBjb25jYXRNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBnZXRBcGlRdWV1ZSwgZ2V0QXBpUXVldWVJdGVtLCBBcGlRdWV1ZSwgQXBpUXVldWVJdGVtLCBMb2dnZXIgfSBmcm9tICdAZXVpL2Jhc2UnO1xuXG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSwgQWRkQXBpUXVldWVJdGVtQWN0aW9uLCBSZW1vdmVBcGlRdWV1ZUl0ZW1BY3Rpb24sIEVtcHR5QXBpUXVldWVBY3Rpb24gfSBmcm9tICcuLi9zdG9yZSc7XG5cbi8qKlxuICogU2VydmljZSBjbGFzcyBmb3IgbWFuYWdpbmcgYW5kIHByb2Nlc3NpbmcgYSBxdWV1ZSBvZiBBUEkgcmVxdWVzdHMuXG4gKlxuICogVGhpcyBzZXJ2aWNlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgdG8gYWRkLCByZW1vdmUsIHByb2Nlc3MsIGFuZCBtYW5hZ2UgSFRUUCByZXF1ZXN0cyBzdG9yZWQgaW4gYSBxdWV1ZS5cbiAqIEl0IGVuYWJsZXMgc2VxdWVudGlhbCBvciBidWxrIHByb2Nlc3Npbmcgb2YgcmVxdWVzdHMsIGVuc3VyaW5nIGNvbnRyb2xsZWQgZXhlY3V0aW9uIGFuZCBoYW5kbGluZyBvZiBBUEkgY2FsbHMuXG4gKiBUaGUgc2VydmljZSBtZXRob2RzIG9mZmVyIGZlYXR1cmVzIGxpa2UgcHJvY2Vzc2luZyBpbmRpdmlkdWFsIGl0ZW1zLCBwcm9jZXNzaW5nIGFsbCBpdGVtcyBpbiB0aGUgcXVldWUgZWl0aGVyXG4gKiBzZXF1ZW50aWFsbHkgb3IgYWxsIGF0IG9uY2UsIGFuZCByZW1vdmluZyBpdGVtcyBmcm9tIHRoZSBxdWV1ZS4gRWFjaCBtZXRob2QgaXMgZGVzaWduZWQgdG8gaGFuZGxlIHNwZWNpZmljIGFzcGVjdHNcbiAqIG9mIHF1ZXVlIG1hbmFnZW1lbnQgYW5kIHByb2Nlc3NpbmcsIHdpdGggYXR0ZW50aW9uIHRvIGRldGFpbHMgbGlrZSBvcmRlciBvZiBleGVjdXRpb24gYW5kIGVycm9yIGhhbmRsaW5nLlxuICpcbiAqIFVzYWdlIG9mIHRoaXMgc2VydmljZSBpcyBpZGVhbCBpbiBzY2VuYXJpb3Mgd2hlcmUgQVBJIHJlcXVlc3RzIG5lZWQgdG8gYmUgbWFuYWdlZCBpbiBhIHF1ZXVlIHN0cnVjdHVyZSwgYWxsb3dpbmdcbiAqIGZvciBjb250cm9sbGVkIGV4ZWN1dGlvbiBhbmQgbW9uaXRvcmluZyBvZiB0aGVzZSByZXF1ZXN0cy5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQWRkaW5nIGEgbmV3IGl0ZW0gdG8gdGhlIHF1ZXVlXG4gKiBhcGlRdWV1ZVNlcnZpY2UuYWRkUXVldWVJdGVtKHsgaWQ6ICdpdGVtMTI0JywgbWV0aG9kOiAnUE9TVCcsIHVyaTogJy9hcGkvZGF0YScsIHBheWxvYWQ6IHsuLi59IH0pO1xuICpcbiAqIC8vIFByb2Nlc3NpbmcgYSBzaW5nbGUgaXRlbSBmcm9tIHRoZSBxdWV1ZVxuICogYXBpUXVldWVTZXJ2aWNlLnByb2Nlc3NRdWV1ZUl0ZW0oJ2l0ZW0xMjMnKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAqICAgY29uc29sZS5sb2coJ1Byb2Nlc3NlZCBpdGVtIDEyMyB3aXRoIHJlc3VsdDonLCByZXN1bHQpO1xuICogfSk7XG4gKlxuICogLy8gUHJvY2Vzc2luZyBhbGwgaXRlbXMgaW4gdGhlIHF1ZXVlIGluIHNlcXVlbnRpYWwgb3JkZXJcbiAqIGFwaVF1ZXVlU2VydmljZS5wcm9jZXNzQWxsUXVldWVJdGVtc1NlcXVlbnRpYWwoZmFsc2UpLnN1YnNjcmliZShyZXN1bHRzID0+IHtcbiAqICAgY29uc29sZS5sb2coJ1Byb2Nlc3NlZCBhbGwgaXRlbXMgaW4gZGVzY2VuZGluZyBvcmRlciBvZiB0aGVpciB0aW1lc3RhbXA6JywgcmVzdWx0cyk7XG4gKiB9KTtcbiAqXG4gKiAvLyBSZW1vdmluZyBhbiBpdGVtIGZyb20gdGhlIHF1ZXVlXG4gKiBhcGlRdWV1ZVNlcnZpY2UucmVtb3ZlUXVldWVJdGVtKCdpdGVtMTIzJyk7XG4gKlxuICogLy8gUHJvY2Vzc2luZyBhbGwgaXRlbXMgaW4gdGhlIHF1ZXVlIGFuZCBjb250aW51aW5nIG9uIGVycm9yXG4gKiBhcGlRdWV1ZVNlcnZpY2UucHJvY2Vzc0FsbFF1ZXVlSXRlbXModHJ1ZSkuc3Vic2NyaWJlKHJlc3VsdHMgPT4ge1xuICogICBjb25zb2xlLmxvZygnUHJvY2Vzc2VkIGFsbCBpdGVtcyBpbiB0aGUgcXVldWUgd2l0aCBjb250aW51YXRpb24gb24gZXJyb3JzOicsIHJlc3VsdHMpO1xuICogfSk7XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwaVF1ZXVlU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlcjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgc3RvcmU6IFN0b3JlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBsb2dTZXJ2aWNlOiBMb2dTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBpZiAobG9nU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIgPSBsb2dTZXJ2aWNlLmdldExvZ2dlcignY29yZS5BcGlRdWV1ZVNlcnZpY2UnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgYW4gaXRlbSB0byB0aGUgcXVldWUgYnkgZGlzcGF0Y2hpbmcgYW4gYWN0aW9uIHRvIHRoZSBzdG9yZS5cbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIHNwZWNpZmljYWxseSBkZXNpZ25lZCB0byBlbnF1ZXVlIEFQSSBjYWxsIHJlcXVlc3RzIHJlcHJlc2VudGVkIGJ5IGBBcGlRdWV1ZUl0ZW1gIG9iamVjdHMuXG4gICAgICogRWFjaCBpdGVtIGlzIGlkZW50aWZpZWQgYnkgYSB1bmlxdWUgYGlkYCwgd2hpY2ggaXMgdXNlZCB0byBtYW5hZ2UgdGhlIHF1ZXVlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgcXVldWUgaXRlbS4gSXQncyBjcnVjaWFsIHRvIGVuc3VyZSB0aGF0IHRoaXMgSUQgaXMgdW5pcXVlIHdpdGhpbiB0aGUgcXVldWUuXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgSWYgYW4gaXRlbSB3aXRoIHRoZSBzYW1lIElEIGFscmVhZHkgZXhpc3RzLCB0aGUgbmV3IGl0ZW0gd2lsbCBvdmVyd3JpdGUgdGhlIGV4aXN0aW5nIG9uZS5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICBXQVJOSU5HOiBEdXBsaWNhdGUgSURzIHdpbGwgbGVhZCB0byBvdmVyd3JpdGluZyBvZiBxdWV1ZSBpdGVtcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7QXBpUXVldWVJdGVtfSBpdGVtIC0gVGhlIGl0ZW0gdG8gYmUgZW5xdWV1ZWQuIFRoaXMgc2hvdWxkIGJlIGFuIG9iamVjdCBvZiB0eXBlIGBBcGlRdWV1ZUl0ZW1gLlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGBtZXRob2RgIHByb3BlcnR5IG9mIHRoZSBpdGVtIG11c3QgYmUgb25lIG9mIHRoZSBhbGxvd2VkIG1ldGhvZHMgKCdwb3N0JywgJ3B1dCcsICdnZXQnKS5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIGFuIHVuc3VwcG9ydGVkIG1ldGhvZCBpcyBwcm92aWRlZCwgdGhlIGZ1bmN0aW9uIHdpbGwgdGhyb3cgYW4gZXJyb3IuXG4gICAgICpcbiAgICAgKiBAdGhyb3dzIHtFcnJvcn0gVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBgbWV0aG9kYCBwcm9wZXJ0eSBvZiB0aGUgYGl0ZW1gIGlzIG5vdCBvbmUgb2YgdGhlIGFsbG93ZWQgbWV0aG9kcy5cbiAgICAgKiAgICAgICAgICAgICAgICAgVGhlIGVycm9yIG1lc3NhZ2UgaXM6IGBbQXBpUXVldWVdIG1ldGhvZCBcIiR7aXRlbS5tZXRob2R9XCIgaXMgbm90IGFsbG93ZWRgLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIG9mIGFkZGluZyBhbiBpdGVtIHRvIHRoZSBBUEkgcXVldWVcbiAgICAgKiBhZGRRdWV1ZUl0ZW0oJzEyMzQ1JywgeyBtZXRob2Q6ICdwb3N0JywgdXJsOiAnL2FwaS9kYXRhJywgcGF5bG9hZDogey4uLn0gfSk7XG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7dm9pZH0gVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCByZXR1cm4gYSB2YWx1ZS4gSXQgYWRkcyB0aGUgaXRlbSB0byB0aGUgcXVldWUgdmlhIGEgZGlzcGF0Y2ggYWN0aW9uLlxuICAgICAqL1xuICAgIGFkZFF1ZXVlSXRlbShpZDogc3RyaW5nLCBpdGVtOiBBcGlRdWV1ZUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWxsb3dlZE1ldGhvZHMgPSBbJ3Bvc3QnLCAncHV0JywgJ2dldCddO1xuXG4gICAgICAgIGlmIChhbGxvd2VkTWV0aG9kcy5pbmRleE9mKGl0ZW0ubWV0aG9kKSA8IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgW0FwaVF1ZXVlXSBtZXRob2QgXCIke2l0ZW0ubWV0aG9kfVwiIGlzIG5vdCBhbGxvd2VkYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBBZGRBcGlRdWV1ZUl0ZW1BY3Rpb24oeyBpZCwgaXRlbSB9KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBBUEkgcXVldWUgYW5kIGNvbnZlcnRzIGl0IGludG8gYW4gYXJyYXkgb2YgT2JzZXJ2YWJsZXMuXG4gICAgICpcbiAgICAgKiBUaGlzIG1ldGhvZCBzdWJzY3JpYmVzIHRvIHRoZSBzdG9yZSB0byBhY2Nlc3MgdGhlIEFQSSBxdWV1ZS4gSXQgdGhlbiBtYXBzIHRoZSBxdWV1ZSBvYmplY3QsXG4gICAgICogd2hpY2ggaXMgYW4gYXNzb2NpYXRpdmUgYXJyYXksIGludG8gYSBsaW5lYXIgYXJyYXkgb2YgQXBpUXVldWVJdGVtIGluc3RhbmNlcy4gSWYgdGhlIHF1ZXVlIGlzIGVtcHR5LFxuICAgICAqIGEgd2FybmluZyBpcyBsb2dnZWQuIFRoaXMgbWV0aG9kIGlzIHVzZWZ1bCBmb3IgdHJhY2tpbmcgdGhlIHN0YXRlIGFuZCBjb250ZW50cyBvZiB0aGUgQVBJIHF1ZXVlXG4gICAgICogYXQgYSBnaXZlbiBtb21lbnQuXG4gICAgICpcbiAgICAgKiBOb3RlOiBUaGlzIG1ldGhvZCB0YWtlcyBhIHNuYXBzaG90IG9mIHRoZSBxdWV1ZSBhdCB0aGUgdGltZSBvZiBzdWJzY3JpcHRpb24uIEl0IGRvZXMgbm90IHByb3ZpZGVcbiAgICAgKiBhIGNvbnRpbnVvdXMgc3RyZWFtIG9mIHF1ZXVlIHVwZGF0ZXMuIFRvIGdldCByZWFsLXRpbWUgdXBkYXRlcywgY29uc2lkZXIgc3Vic2NyaWJpbmcgZGlyZWN0bHlcbiAgICAgKiB0byB0aGUgc3RvcmUncyBvYnNlcnZhYmxlLlxuICAgICAqXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8QXBpUXVldWVJdGVtW10+fSBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gYXJyYXkgb2YgQXBpUXVldWVJdGVtLlxuICAgICAqIFRoZSBhcnJheSByZXByZXNlbnRzIGFsbCBpdGVtcyBjdXJyZW50bHkgaW4gdGhlIHF1ZXVlLiBJZiB0aGUgcXVldWUgaXMgZW1wdHksIGl0IGVtaXRzIGFuIGVtcHR5IGFycmF5LlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIHVzYWdlXG4gICAgICogdGhpcy5nZXRRdWV1ZSgpLnN1YnNjcmliZShxdWV1ZUl0ZW1zID0+IHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKCdDdXJyZW50IHF1ZXVlIGl0ZW1zOicsIHF1ZXVlSXRlbXMpO1xuICAgICAqIH0pO1xuICAgICAqL1xuICAgIGdldFF1ZXVlKCk6IE9ic2VydmFibGU8QXBpUXVldWVJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwaVF1ZXVlKS5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIG1hcCgocXVldWU6IEFwaVF1ZXVlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcXVldWVBcnJheSA9IHF1ZXVlICYmIE9iamVjdC52YWx1ZXM8QXBpUXVldWVJdGVtPihxdWV1ZSk7XG4gICAgICAgICAgICAgICAgaWYgKCFxdWV1ZUFycmF5IHx8IHF1ZXVlQXJyYXkubGVuZ3RoIDwgMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlcj8ud2FybignTm8gaXRlbXMgaW4gdGhlIHF1ZXVlIGV4aXN0LicpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBxdWV1ZUFycmF5O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIGEgc3BlY2lmaWMgaXRlbSBmcm9tIHRoZSBBUEkgcXVldWUgYnkgaXRzIElELlxuICAgICAqXG4gICAgICogVGhpcyBtZXRob2Qgc3Vic2NyaWJlcyB0byB0aGUgc3RvcmUgYW5kIHNlbGVjdHMgYSBzaW5nbGUgaXRlbSBmcm9tIHRoZSBBUEkgcXVldWUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIElELlxuICAgICAqIEl0IGVtcGxveXMgYSBwaXBlbGluZSB0byBmZXRjaCB0aGUgaXRlbTogdGhlIGBnZXRBcGlRdWV1ZUl0ZW1gIHNlbGVjdG9yIGlzIHVzZWQgdG8gcmV0cmlldmUgdGhlIGl0ZW0sXG4gICAgICogYW5kIGEgYG1hcGAgb3BlcmF0b3IgcHJvY2Vzc2VzIHRoZSByZXN1bHQuIElmIHRoZSBpdGVtIHdpdGggdGhlIHNwZWNpZmllZCBJRCBkb2VzIG5vdCBleGlzdCBpbiB0aGUgcXVldWUsXG4gICAgICogYSB3YXJuaW5nIGlzIGxvZ2dlZCwgYW5kIGBudWxsYCBpcyByZXR1cm5lZC5cbiAgICAgKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGlkZWFsIGZvciBhY2Nlc3NpbmcgYSBzcGVjaWZpYyBxdWV1ZSBpdGVtIHdoZW4gaXRzIElEIGlzIGtub3duLCBhbGxvd2luZyBmb3IgdGFyZ2V0ZWRcbiAgICAgKiBvcGVyYXRpb25zIG9yIGNoZWNrcyBvbiB0aGF0IHBhcnRpY3VsYXIgaXRlbS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaXRlbSB3aXRoaW4gdGhlIHF1ZXVlLlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEFwaVF1ZXVlSXRlbSB8IG51bGw+fSBBbiBPYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSByZXF1ZXN0ZWQgQXBpUXVldWVJdGVtLlxuICAgICAqIElmIG5vIGl0ZW0gd2l0aCB0aGUgZ2l2ZW4gSUQgZXhpc3RzIGluIHRoZSBxdWV1ZSwgdGhlIE9ic2VydmFibGUgZW1pdHMgYG51bGxgLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIHVzYWdlXG4gICAgICogdGhpcy5nZXRRdWV1ZUl0ZW0oJ2l0ZW0xMjMnKS5zdWJzY3JpYmUoaXRlbSA9PiB7XG4gICAgICogICBpZiAoaXRlbSkge1xuICAgICAqICAgICBjb25zb2xlLmxvZygnRm91bmQgaXRlbTonLCBpdGVtKTtcbiAgICAgKiAgIH0gZWxzZSB7XG4gICAgICogICAgIGNvbnNvbGUubG9nKCdJdGVtIG5vdCBmb3VuZCBpbiB0aGUgcXVldWUnKTtcbiAgICAgKiAgIH1cbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICBnZXRRdWV1ZUl0ZW0oaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QXBpUXVldWVJdGVtPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRBcGlRdWV1ZUl0ZW0oaWQpKS5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIG1hcCgocXVldWU6IEFwaVF1ZXVlSXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcXVldWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXI/Lndhcm4oYFF1ZXVlIGl0ZW0gd2l0aCBpZCBcIiR7aWR9XCIgZG9lcyBub3QgZXhpc3RgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBxdWV1ZTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYSBzcGVjaWZpYyBpdGVtIGZyb20gdGhlIEFQSSBxdWV1ZSB1c2luZyBpdHMgSUQuXG4gICAgICpcbiAgICAgKiBUaGlzIG1ldGhvZCBkaXNwYXRjaGVzIGFuIGFjdGlvbiB0byByZW1vdmUgYW4gaXRlbSBmcm9tIHRoZSBxdWV1ZSwgaWRlbnRpZmllZCBieSB0aGUgcHJvdmlkZWQgSUQuXG4gICAgICogSXQgaXMgZXNzZW50aWFsIGZvciBtYW5hZ2luZyB0aGUgcXVldWUgYnkgZWxpbWluYXRpbmcgaXRlbXMgdGhhdCBhcmUgbm8gbG9uZ2VyIG5lZWRlZCBvciBoYXZlIGJlZW4gcHJvY2Vzc2VkLlxuICAgICAqIFRoZSBmdW5jdGlvbiBkb2VzIG5vdCByZXR1cm4gYW55IHZhbHVlLCBhcyBpdCBwcmltYXJpbHkgdHJpZ2dlcnMgYW4gYWN0aW9uIHdpdGhpbiB0aGUgc3RvcmUuXG4gICAgICpcbiAgICAgKiBOb3RlOiBUaGlzIG1ldGhvZCBhc3N1bWVzIHRoZSBleGlzdGVuY2Ugb2YgdGhlIGl0ZW0gaW4gdGhlIHF1ZXVlLiBJdCBkb2VzIG5vdCBwZXJmb3JtIGEgY2hlY2tcbiAgICAgKiB0byBjb25maXJtIHRoZSBwcmVzZW5jZSBvZiB0aGUgaXRlbSBiZWZvcmUgYXR0ZW1wdGluZyB0byByZW1vdmUgaXQuIFRoZXJlZm9yZSwgaXQncyByZWNvbW1lbmRlZFxuICAgICAqIHRvIHZlcmlmeSB0aGUgaXRlbSdzIGV4aXN0ZW5jZSBpbiB0aGUgcXVldWUgaWYgdW5jZXJ0YWludHkgZXhpc3RzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBpdGVtIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgcXVldWUuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgdXNhZ2VcbiAgICAgKiB0aGlzLnJlbW92ZVF1ZXVlSXRlbSgnaXRlbTEyMycpO1xuICAgICAqIC8vIFRoZSBpdGVtIHdpdGggSUQgJ2l0ZW0xMjMnIHdpbGwgYmUgZGlzcGF0Y2hlZCBmb3IgcmVtb3ZhbCBmcm9tIHRoZSBxdWV1ZS5cbiAgICAgKi9cbiAgICByZW1vdmVRdWV1ZUl0ZW0oaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBSZW1vdmVBcGlRdWV1ZUl0ZW1BY3Rpb24oaWQpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbGVhcnMgYWxsIGl0ZW1zIGZyb20gdGhlIEFQSSBxdWV1ZS5cbiAgICAgKlxuICAgICAqIFRoaXMgbWV0aG9kIGRpc3BhdGNoZXMgYW4gYWN0aW9uIHRvIGVtcHR5IHRoZSBlbnRpcmUgQVBJIHF1ZXVlLCBlZmZlY3RpdmVseSByZW1vdmluZyBhbGwgaXRlbXMgdGhhdCBhcmUgY3VycmVudGx5IHF1ZXVlZC5cbiAgICAgKiBJdCBpcyB1c2VmdWwgZm9yIHNjZW5hcmlvcyB3aGVyZSBhIGNvbXBsZXRlIHJlc2V0IG9mIHRoZSBxdWV1ZSBpcyByZXF1aXJlZCwgc3VjaCBhcyBkdXJpbmcgaW5pdGlhbGl6YXRpb24gb3IgYWZ0ZXIgcHJvY2Vzc2luZ1xuICAgICAqIGEgYmF0Y2ggb2YgaXRlbXMuIFRoZSBmdW5jdGlvbiBkb2VzIG5vdCByZXR1cm4gYW55IHZhbHVlLCBhcyBpdHMgcHJpbWFyeSBwdXJwb3NlIGlzIHRvIHRyaWdnZXIgYSBzdGF0ZSBjaGFuZ2UgaW4gdGhlIHN0b3JlLlxuICAgICAqXG4gICAgICogTm90ZTogVXNlIHRoaXMgbWV0aG9kIHdpdGggY2F1dGlvbiBhcyBpdCB3aWxsIGlycmV2ZXJzaWJseSBjbGVhciBhbGwgaXRlbXMgaW4gdGhlIHF1ZXVlLiBFbnN1cmUgdGhhdCB0aGlzIGFjdGlvbiBkb2VzIG5vdFxuICAgICAqIGRpc3J1cHQgYW55IG9uZ29pbmcgcHJvY2Vzc2VzIHRoYXQgcmVseSBvbiB0aGUgcXVldWUncyBjb250ZW50cy5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSB1c2FnZVxuICAgICAqIHRoaXMucmVtb3ZlQWxsUXVldWVJdGVtKCk7XG4gICAgICogLy8gVGhpcyB3aWxsIGRpc3BhdGNoIGFuIGFjdGlvbiB0byBlbXB0eSB0aGUgZW50aXJlIEFQSSBxdWV1ZS5cbiAgICAgKi9cbiAgICByZW1vdmVBbGxRdWV1ZUl0ZW0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IEVtcHR5QXBpUXVldWVBY3Rpb24obnVsbCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyBhbiBpdGVtIGZyb20gdGhlIEFQSSBxdWV1ZSBpZGVudGlmaWVkIGJ5IGl0cyBJRC5cbiAgICAgKlxuICAgICAqIFJldHJpZXZlcyB0aGUgc3BlY2lmaWVkIGl0ZW0gZnJvbSB0aGUgcXVldWUgYW5kIGFwcGxpZXMgcHJvY2Vzc2luZyBsb2dpYyBhcyBkZWZpbmVkIGluIGBidWlsZEh0dHBSZXF1ZXN0YC5cbiAgICAgKiBJZiB0aGUgaXRlbSBpcyBub3QgZm91bmQsIGxvZ3MgYSB3YXJuaW5nIGFuZCByZXR1cm5zIGFuIE9ic2VydmFibGUgZW1pdHRpbmcgYG51bGxgLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBpdGVtIHdpdGhpbiB0aGUgcXVldWUgdG8gYmUgcHJvY2Vzc2VkLlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPGFueT59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzdWx0IG9mIHByb2Nlc3NpbmcgdGhlIHF1ZXVlIGl0ZW0uXG4gICAgICogSWYgdGhlIGl0ZW0gZG9lcyBub3QgZXhpc3QsIHRoZSBPYnNlcnZhYmxlIGVtaXRzIGBudWxsYC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSB1c2FnZVxuICAgICAqIHRoaXMucHJvY2Vzc1F1ZXVlSXRlbSgnaXRlbTEyMycpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAqICAgaWYgKHJlc3VsdCkge1xuICAgICAqICAgICBjb25zb2xlLmxvZygnUHJvY2Vzc2luZyByZXN1bHQ6JywgcmVzdWx0KTtcbiAgICAgKiAgIH0gZWxzZSB7XG4gICAgICogICAgIGNvbnNvbGUubG9nKCdJdGVtIG5vdCBmb3VuZCBpbiB0aGUgcXVldWUnKTtcbiAgICAgKiAgIH1cbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBSZXBsYWNlIGBhbnlgIHdpdGggYSBtb3JlIHNwZWNpZmljIHR5cGUgb3IgbWFrZSB0aGUgbWV0aG9kIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJvY2Vzc1F1ZXVlSXRlbShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwaVF1ZXVlSXRlbShpZCkpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChxdWV1ZTogQXBpUXVldWVJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFxdWV1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlcj8ud2FybihgUXVldWUgaXRlbSB3aXRoIGlkIFwiJHtpZH1cIiBkb2VzIG5vdCBleGlzdGApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRIdHRwUmVxdWVzdChpZCwgcXVldWUpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvY2Vzc2VzIGFsbCBpdGVtcyBpbiB0aGUgQVBJIHF1ZXVlIGFuZCBjb2xsZWN0cyB0aGVpciByZXNwb25zZXMuXG4gICAgICpcbiAgICAgKiBJdGVyYXRlcyBvdmVyIGVhY2ggaXRlbSBpbiB0aGUgcXVldWUgYW5kIHByb2Nlc3NlcyB0aGVtIHVzaW5nIGBidWlsZEh0dHBSZXF1ZXN0YC4gSWYgYSByZXF1ZXN0IGZhaWxzLFxuICAgICAqIHRoZSBtZXRob2QgY2FuIGVpdGhlciBjb250aW51ZSBwcm9jZXNzaW5nIHRoZSByZW1haW5pbmcgaXRlbXMgb3Igc3RvcCwgYmFzZWQgb24gdGhlIGBjb250aW51ZU9uRXJyb3JgIHBhcmFtZXRlci5cbiAgICAgKiBJdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBhbiBhcnJheSBjb250YWluaW5nIHRoZSByZXNwb25zZXMgb3IgZXJyb3JzIGZyb20gYWxsIHRoZSBwcm9jZXNzZWQgaXRlbXMuXG4gICAgICpcbiAgICAgKiBUaGUgZnVuY3Rpb24gY3VycmVudGx5IHJldHVybnMgYE9ic2VydmFibGU8YW55W10+YCBpbmRpY2F0aW5nIGFuIGFycmF5IG9mIGFueSB0eXBlLiBGdXR1cmUgaW1wcm92ZW1lbnRzXG4gICAgICogc2hvdWxkIGFpbSB0byBzcGVjaWZ5IGEgbW9yZSBhY2N1cmF0ZSByZXR1cm4gdHlwZSBvciB1dGlsaXplIGdlbmVyaWNzIGZvciBpbmNyZWFzZWQgdHlwZSBzYWZldHkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtjb250aW51ZU9uRXJyb3I9dHJ1ZV0gLSBEZXRlcm1pbmVzIHdoZXRoZXIgdG8gY29udGludWUgd2l0aCB0aGUgbmV4dCBpdGVtIGluIHRoZSBxdWV1ZVxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyIGEgcmVxdWVzdCBmYWlsdXJlLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8YW55W10+fSBBbiBPYnNlcnZhYmxlIGVtaXR0aW5nIGFuIGFycmF5IG9mIGVpdGhlciByZXNwb25zZXMgb3IgZXJyb3JzIGZyb20gdGhlIHByb2Nlc3NlZFxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVldWUgaXRlbXMuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIHRoaXMucHJvY2Vzc0FsbFF1ZXVlSXRlbXMoKS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XG4gICAgICogICAvLyBIYW5kbGUgdGhlIGFycmF5IG9mIHJlc3BvbnNlcyBvciBlcnJvcnNcbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBSZWZpbmUgdGhlIHJldHVybiB0eXBlIHRvIGJlIG1vcmUgc3BlY2lmaWMgb3IgaW1wbGVtZW50IGdlbmVyaWNzLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByb2Nlc3NBbGxRdWV1ZUl0ZW1zPFQgPSBhbnk+KGNvbnRpbnVlT25FcnJvciA9IHRydWUpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoZ2V0QXBpUXVldWUpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHF1ZXVlOiBBcGlRdWV1ZSkgPT5cbiAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhxdWV1ZSkubWFwKChba2V5LCB2YWx1ZV0pID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnVpbGRIdHRwUmVxdWVzdChrZXksIHZhbHVlKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXI/LmVycm9yKGBRdWV1ZSBJdGVtIHdpdGggaWQgJHtrZXl9IGZhaWxlZC5gLCBlcnJvci5tZXNzYWdlLCBlcnJvci5zdGFjayk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbnRpbnVlT25FcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKG9ic1F1ZXVlOiBPYnNlcnZhYmxlPFQ+W10pID0+IGZvcmtKb2luKEFycmF5LmZyb20ob2JzUXVldWUpKSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvY2Vzc2VzIGFsbCBpdGVtcyBpbiB0aGUgcXVldWUgc2VxdWVudGlhbGx5LCBiYXNlZCBvbiB0aGVpciB0aW1lc3RhbXAgb3JkZXJpbmcuXG4gICAgICpcbiAgICAgKiBUaGlzIG1ldGhvZCBmaXJzdCBvcmRlcnMgdGhlIGl0ZW1zIGluIHRoZSBBUEkgcXVldWUgYnkgdGhlaXIgdGltZXN0YW1wLCBlaXRoZXIgaW4gYXNjZW5kaW5nIG9yIGRlc2NlbmRpbmdcbiAgICAgKiBvcmRlciBhcyBzcGVjaWZpZWQgYnkgdGhlIGBhc2NlbmRpbmdgIHBhcmFtZXRlci4gSXQgdGhlbiBwcm9jZXNzZXMgZWFjaCBpdGVtIHVzaW5nIGBidWlsZEh0dHBSZXF1ZXN0YCwgZW5zdXJpbmdcbiAgICAgKiB0aGF0IGVhY2ggcmVxdWVzdCBpcyBjb21wbGV0ZWQgYmVmb3JlIHRoZSBuZXh0IGJlZ2lucy4gVGhpcyBzZXF1ZW50aWFsIHByb2Nlc3NpbmcgaXMgY3J1Y2lhbCB3aGVuIHRoZSBvcmRlciBvZlxuICAgICAqIGV4ZWN1dGlvbiBtYXR0ZXJzIGZvciBIVFRQIHJlcXVlc3RzIGluIHRoZSBxdWV1ZS4gVGhlIG1ldGhvZCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzcG9uc2VzXG4gICAgICogZm9sbG93aW5nIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBxdWV1ZSBpdGVtcyB3ZXJlIHByb2Nlc3NlZC5cbiAgICAgKlxuICAgICAqIFRoZSBmdW5jdGlvbiBjdXJyZW50bHkgcmV0dXJucyBgT2JzZXJ2YWJsZTxhbnk+YCwgaW5kaWNhdGluZyBhIGJyb2FkIHR5cGUuIEZ1dHVyZSBpbXByb3ZlbWVudHMgc2hvdWxkIGZvY3VzIG9uXG4gICAgICogc3BlY2lmeWluZyBhIG1vcmUgYWNjdXJhdGUgcmV0dXJuIHR5cGUgb3IgdXRpbGl6aW5nIGdlbmVyaWNzIGZvciBpbmNyZWFzZWQgdHlwZSBzYWZldHkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFthc2NlbmRpbmc9dHJ1ZV0gLSBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHF1ZXVlIGl0ZW1zIGFyZSBwcm9jZXNzZWQgaW4gYXNjZW5kaW5nIG9yZGVyIG9mIHRoZWlyXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8YW55Pn0gQW4gT2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgcmVzcG9uc2VzIG9mIHRoZSBIVFRQIHJlcXVlc3RzIGluIHRoZSBvcmRlciB0aGV5IHdlcmUgcHJvY2Vzc2VkLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiB0aGlzLnByb2Nlc3NBbGxRdWV1ZUl0ZW1zU2VxdWVudGlhbCgpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICogICAvLyBIYW5kbGUgZWFjaCByZXNwb25zZSBpbiB0aGUgb3JkZXIgb2YgcXVldWUgcHJvY2Vzc2luZ1xuICAgICAqIH0pO1xuICAgICAqL1xuICAgIC8vIFRPRE86IFJlZmluZSB0aGUgcmV0dXJuIHR5cGUgZm9yIG1vcmUgc3BlY2lmaWMgb3IgaW1wbGVtZW50IGdlbmVyaWNzLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByb2Nlc3NBbGxRdWV1ZUl0ZW1zU2VxdWVudGlhbChhc2NlbmRpbmcgPSB0cnVlKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwaVF1ZXVlKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChxdWV1ZTogQXBpUXVldWUpID0+XG4gICAgICAgICAgICAgICAgZnJvbShPYmplY3QuZW50cmllcyhxdWV1ZSlcbiAgICAgICAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IChhc2NlbmRpbmcgPyB0aGlzLnNvcnRPblRpbWVzdGFtcChhLCBiKSA6IHRoaXMuc29ydE9uVGltZXN0YW1wKGIsIGEpKSlcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoW2lkLCBpdGVtXSkgPT4gdGhpcy5idWlsZEh0dHBSZXF1ZXN0KGlkLCBpdGVtKSkpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKGNvbmNhdE1hcCh4ID0+IHgpKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29tcGFyZXMgdHdvIHF1ZXVlIGl0ZW1zIGJhc2VkIG9uIHRoZWlyIHRpbWVzdGFtcCBhbmQgZGV0ZXJtaW5lcyB0aGVpciBvcmRlci5cbiAgICAgKlxuICAgICAqIFRoaXMgcHJvdGVjdGVkIG1ldGhvZCBpcyB1c2VkIHRvIHNvcnQgcXVldWUgaXRlbXMuIEl0IHRha2VzIHR3byBxdWV1ZSBpdGVtcyBhcyBpbnB1dCwgZWFjaCByZXByZXNlbnRlZFxuICAgICAqIGFzIGEgdHVwbGUgY29udGFpbmluZyBhbiBpdGVtIElEIGFuZCB0aGUgYEFwaVF1ZXVlSXRlbWAgb2JqZWN0LiBUaGUgbWV0aG9kIGNvbXBhcmVzIHRoZXNlIGl0ZW1zIGJhc2VkIG9uXG4gICAgICogdGhlIGB0aW1lc3RhbXBgIHByb3BlcnR5IG9mIHRoZSBgQXBpUXVldWVJdGVtYCBvYmplY3RzLiBJdCByZXR1cm5zIGEgbnVtYmVyIGluZGljYXRpbmcgdGhlIG9yZGVyIGluIHdoaWNoXG4gICAgICogdGhlc2UgaXRlbXMgc2hvdWxkIGJlIHNvcnRlZC5cbiAgICAgKlxuICAgICAqIEEgcG9zaXRpdmUgcmV0dXJuIHZhbHVlIGluZGljYXRlcyB0aGF0IHRoZSBmaXJzdCBpdGVtIHNob3VsZCBjb21lIGFmdGVyIHRoZSBzZWNvbmQsIGEgbmVnYXRpdmUgdmFsdWVcbiAgICAgKiBpbmRpY2F0ZXMgdGhlIG9wcG9zaXRlLCBhbmQgemVybyBpbmRpY2F0ZXMgdGhhdCB0aGV5IGFyZSBlcXVhbCBpbiB0ZXJtcyBvZiB0aW1lc3RhbXAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1tzdHJpbmcsIEFwaVF1ZXVlSXRlbV19IGEgLSBUaGUgZmlyc3QgcXVldWUgaXRlbSB0dXBsZSBmb3IgY29tcGFyaXNvbi5cbiAgICAgKiBAcGFyYW0ge1tzdHJpbmcsIEFwaVF1ZXVlSXRlbV19IGIgLSBUaGUgc2Vjb25kIHF1ZXVlIGl0ZW0gdHVwbGUgZm9yIGNvbXBhcmlzb24uXG4gICAgICogQHJldHVybnMge251bWJlcn0gQSBudW1iZXIgaW5kaWNhdGluZyB0aGUgb3JkZXIgb2YgdGhlIGl0ZW1zOiBuZWdhdGl2ZSBpZiBgYWAgaXMgZWFybGllciB0aGFuIGBiYCxcbiAgICAgKiAgICAgICAgICAgICAgICAgIHBvc2l0aXZlIGlmIGBhYCBpcyBsYXRlciB0aGFuIGBiYCwgYW5kIHplcm8gaWYgdGhleSBhcmUgZXF1YWwuXG4gICAgICogQGJldGFcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc29ydE9uVGltZXN0YW1wKGE6IFtzdHJpbmcsIEFwaVF1ZXVlSXRlbV0sIGI6IFtzdHJpbmcsIEFwaVF1ZXVlSXRlbV0pOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gK25ldyBEYXRlKGFbMV0udGltZXN0YW1wKSAtICtuZXcgRGF0ZShiWzFdLnRpbWVzdGFtcCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0cyBhbmQgZXhlY3V0ZXMgYW4gSFRUUCByZXF1ZXN0IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWV1ZSBpdGVtIGRldGFpbHMuXG4gICAgICpcbiAgICAgKiBUaGlzIHByaXZhdGUgbWV0aG9kIHRha2VzIGFuIElEIGFuZCBhbiBgQXBpUXVldWVJdGVtYCBvYmplY3QgdG8gYnVpbGQgYW5kIGV4ZWN1dGUgYW4gSFRUUCByZXF1ZXN0LlxuICAgICAqIEl0IGRldGVybWluZXMgdGhlIEhUVFAgbWV0aG9kIChsaWtlIEdFVCwgUE9TVCwgZXRjLikgZnJvbSB0aGUgYG1ldGhvZGAgcHJvcGVydHkgb2YgdGhlIGBBcGlRdWV1ZUl0ZW1gLFxuICAgICAqIGFuZCB1c2VzIHRoZSBgdXJpYCBhbmQgYHBheWxvYWRgIHByb3BlcnRpZXMgZm9yIHRoZSByZXF1ZXN0J3MgVVJMIGFuZCBib2R5LCByZXNwZWN0aXZlbHkuIEFmdGVyIHRoZVxuICAgICAqIHJlcXVlc3QgaXMgZXhlY3V0ZWQsIHRoZSBjb3JyZXNwb25kaW5nIHF1ZXVlIGl0ZW0gaXMgcmVtb3ZlZCBmcm9tIHRoZSBxdWV1ZS5cbiAgICAgKlxuICAgICAqIFRoZSBtZXRob2QgaXMgZ2VuZXJpYywgYWxsb3dpbmcgdGhlIGNhbGxlciB0byBzcGVjaWZ5IHRoZSBleHBlY3RlZCByZXNwb25zZSB0eXBlIGBUYC4gQnkgZGVmYXVsdCxcbiAgICAgKiBpdCB1c2VzIGBhbnlgIHR5cGUsIGJ1dCBzcGVjaWZ5aW5nIGEgbW9yZSBjb25jcmV0ZSB0eXBlIGVuaGFuY2VzIHR5cGUgc2FmZXR5IGFuZCBjbGFyaXR5IGluIHVzYWdlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGlkIC0gVGhlIElEIG9mIHRoZSBxdWV1ZSBpdGVtIGJlaW5nIHByb2Nlc3NlZC5cbiAgICAgKiBAcGFyYW0ge0FwaVF1ZXVlSXRlbX0gaXRlbSAtIFRoZSBxdWV1ZSBpdGVtIGNvbnRhaW5pbmcgZGV0YWlscyBmb3IgdGhlIEhUVFAgcmVxdWVzdC5cbiAgICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxUPn0gQW4gT2JzZXJ2YWJsZSBvZiB0eXBlIFQsIHJlcHJlc2VudGluZyB0aGUgcmVzcG9uc2Ugb2YgdGhlIEhUVFAgcmVxdWVzdC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSB1c2FnZSBmb3IgYSBzcGVjaWZpYyByZXNwb25zZSB0eXBlXG4gICAgICogdGhpcy5idWlsZEh0dHBSZXF1ZXN0PE15UmVzcG9uc2VUeXBlPignaXRlbTEyMycsIHF1ZXVlSXRlbSlcbiAgICAgKiAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICogICAgICAgICAvLyBIYW5kbGUgdGhlIHJlc3BvbnNlXG4gICAgICogICAgIH0pO1xuICAgICAqXG4gICAgICogQHRlbXBsYXRlIFQgLSBUaGUgZXhwZWN0ZWQgdHlwZSBvZiB0aGUgSFRUUCByZXNwb25zZS4gRGVmYXVsdHMgdG8gYGFueWAuXG4gICAgICovXG4gICAgLy8gVE9ETzogYWRkIHR5cGUgZm9yIFQgYW5kIGRlcHJlY2F0ZSBvbGQgZnVuY3Rpb25cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIGJ1aWxkSHR0cFJlcXVlc3Q8VCA9IGFueT4oaWQ6IHN0cmluZywgaXRlbTogQXBpUXVldWVJdGVtKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBbaXRlbS5tZXRob2QudG9Mb3dlckNhc2UoKV08VD4oaXRlbS51cmksIGl0ZW0ucGF5bG9hZCkucGlwZSh0YXAoKCkgPT4gdGhpcy5yZW1vdmVRdWV1ZUl0ZW0oaWQpKSk7XG4gICAgfVxufVxuIl19
|
|
337
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXF1ZXVlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3F1ZXVlL2FwaS1xdWV1ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBa0MsTUFBTSxXQUFXLENBQUM7QUFHekYsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7QUFFOUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDRztBQUlILE1BQU0sT0FBTyxlQUFlO0lBR3hCLFlBQ2MsS0FBbUIsRUFDbkIsSUFBZ0IsRUFDSixVQUFzQjtRQUZsQyxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVk7UUFDSixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRTVDLElBQUksVUFBVSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FxQkc7SUFDSCxZQUFZLENBQUMsRUFBVSxFQUFFLElBQWtCO1FBQ3ZDLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUU5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QUFNOzs0RkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBT1EsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIGZvcmtKb2luLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAsIHN3aXRjaE1hcCwgdGFrZSwgbWFwLCBjYXRjaEVycm9yLCBjb25jYXRNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBnZXRBcGlRdWV1ZSwgZ2V0QXBpUXVldWVJdGVtLCBBcGlRdWV1ZSwgQXBpUXVldWVJdGVtLCBMb2dnZXIgfSBmcm9tICdAZXVpL2Jhc2UnO1xuXG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSwgQWRkQXBpUXVldWVJdGVtQWN0aW9uLCBSZW1vdmVBcGlRdWV1ZUl0ZW1BY3Rpb24sIEVtcHR5QXBpUXVldWVBY3Rpb24gfSBmcm9tICcuLi9zdG9yZSc7XG5cbi8qKlxuICogU2VydmljZSBjbGFzcyBmb3IgbWFuYWdpbmcgYW5kIHByb2Nlc3NpbmcgYSBxdWV1ZSBvZiBBUEkgcmVxdWVzdHMuXG4gKlxuICogVGhpcyBzZXJ2aWNlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgdG8gYWRkLCByZW1vdmUsIHByb2Nlc3MsIGFuZCBtYW5hZ2UgSFRUUCByZXF1ZXN0cyBzdG9yZWQgaW4gYSBxdWV1ZS5cbiAqIEl0IGVuYWJsZXMgc2VxdWVudGlhbCBvciBidWxrIHByb2Nlc3Npbmcgb2YgcmVxdWVzdHMsIGVuc3VyaW5nIGNvbnRyb2xsZWQgZXhlY3V0aW9uIGFuZCBoYW5kbGluZyBvZiBBUEkgY2FsbHMuXG4gKiBUaGUgc2VydmljZSBtZXRob2RzIG9mZmVyIGZlYXR1cmVzIGxpa2UgcHJvY2Vzc2luZyBpbmRpdmlkdWFsIGl0ZW1zLCBwcm9jZXNzaW5nIGFsbCBpdGVtcyBpbiB0aGUgcXVldWUgZWl0aGVyXG4gKiBzZXF1ZW50aWFsbHkgb3IgYWxsIGF0IG9uY2UsIGFuZCByZW1vdmluZyBpdGVtcyBmcm9tIHRoZSBxdWV1ZS4gRWFjaCBtZXRob2QgaXMgZGVzaWduZWQgdG8gaGFuZGxlIHNwZWNpZmljIGFzcGVjdHNcbiAqIG9mIHF1ZXVlIG1hbmFnZW1lbnQgYW5kIHByb2Nlc3NpbmcsIHdpdGggYXR0ZW50aW9uIHRvIGRldGFpbHMgbGlrZSBvcmRlciBvZiBleGVjdXRpb24gYW5kIGVycm9yIGhhbmRsaW5nLlxuICpcbiAqIFVzYWdlIG9mIHRoaXMgc2VydmljZSBpcyBpZGVhbCBpbiBzY2VuYXJpb3Mgd2hlcmUgQVBJIHJlcXVlc3RzIG5lZWQgdG8gYmUgbWFuYWdlZCBpbiBhIHF1ZXVlIHN0cnVjdHVyZSwgYWxsb3dpbmdcbiAqIGZvciBjb250cm9sbGVkIGV4ZWN1dGlvbiBhbmQgbW9uaXRvcmluZyBvZiB0aGVzZSByZXF1ZXN0cy5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQWRkaW5nIGEgbmV3IGl0ZW0gdG8gdGhlIHF1ZXVlXG4gKiBhcGlRdWV1ZVNlcnZpY2UuYWRkUXVldWVJdGVtKHsgaWQ6ICdpdGVtMTI0JywgbWV0aG9kOiAnUE9TVCcsIHVyaTogJy9hcGkvZGF0YScsIHBheWxvYWQ6IHsuLi59IH0pO1xuICpcbiAqIC8vIFByb2Nlc3NpbmcgYSBzaW5nbGUgaXRlbSBmcm9tIHRoZSBxdWV1ZVxuICogYXBpUXVldWVTZXJ2aWNlLnByb2Nlc3NRdWV1ZUl0ZW0oJ2l0ZW0xMjMnKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAqICAgY29uc29sZS5sb2coJ1Byb2Nlc3NlZCBpdGVtIDEyMyB3aXRoIHJlc3VsdDonLCByZXN1bHQpO1xuICogfSk7XG4gKlxuICogLy8gUHJvY2Vzc2luZyBhbGwgaXRlbXMgaW4gdGhlIHF1ZXVlIGluIHNlcXVlbnRpYWwgb3JkZXJcbiAqIGFwaVF1ZXVlU2VydmljZS5wcm9jZXNzQWxsUXVldWVJdGVtc1NlcXVlbnRpYWwoZmFsc2UpLnN1YnNjcmliZShyZXN1bHRzID0+IHtcbiAqICAgY29uc29sZS5sb2coJ1Byb2Nlc3NlZCBhbGwgaXRlbXMgaW4gZGVzY2VuZGluZyBvcmRlciBvZiB0aGVpciB0aW1lc3RhbXA6JywgcmVzdWx0cyk7XG4gKiB9KTtcbiAqXG4gKiAvLyBSZW1vdmluZyBhbiBpdGVtIGZyb20gdGhlIHF1ZXVlXG4gKiBhcGlRdWV1ZVNlcnZpY2UucmVtb3ZlUXVldWVJdGVtKCdpdGVtMTIzJyk7XG4gKlxuICogLy8gUHJvY2Vzc2luZyBhbGwgaXRlbXMgaW4gdGhlIHF1ZXVlIGFuZCBjb250aW51aW5nIG9uIGVycm9yXG4gKiBhcGlRdWV1ZVNlcnZpY2UucHJvY2Vzc0FsbFF1ZXVlSXRlbXModHJ1ZSkuc3Vic2NyaWJlKHJlc3VsdHMgPT4ge1xuICogICBjb25zb2xlLmxvZygnUHJvY2Vzc2VkIGFsbCBpdGVtcyBpbiB0aGUgcXVldWUgd2l0aCBjb250aW51YXRpb24gb24gZXJyb3JzOicsIHJlc3VsdHMpO1xuICogfSk7XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwaVF1ZXVlU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlcjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgc3RvcmU6IFN0b3JlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBsb2dTZXJ2aWNlOiBMb2dTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBpZiAobG9nU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIgPSBsb2dTZXJ2aWNlLmdldExvZ2dlcignY29yZS5BcGlRdWV1ZVNlcnZpY2UnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgYW4gaXRlbSB0byB0aGUgcXVldWUgYnkgZGlzcGF0Y2hpbmcgYW4gYWN0aW9uIHRvIHRoZSBzdG9yZS5cbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIHNwZWNpZmljYWxseSBkZXNpZ25lZCB0byBlbnF1ZXVlIEFQSSBjYWxsIHJlcXVlc3RzIHJlcHJlc2VudGVkIGJ5IGBBcGlRdWV1ZUl0ZW1gIG9iamVjdHMuXG4gICAgICogRWFjaCBpdGVtIGlzIGlkZW50aWZpZWQgYnkgYSB1bmlxdWUgYGlkYCwgd2hpY2ggaXMgdXNlZCB0byBtYW5hZ2UgdGhlIHF1ZXVlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgcXVldWUgaXRlbS4gSXQncyBjcnVjaWFsIHRvIGVuc3VyZSB0aGF0IHRoaXMgSUQgaXMgdW5pcXVlIHdpdGhpbiB0aGUgcXVldWUuXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgSWYgYW4gaXRlbSB3aXRoIHRoZSBzYW1lIElEIGFscmVhZHkgZXhpc3RzLCB0aGUgbmV3IGl0ZW0gd2lsbCBvdmVyd3JpdGUgdGhlIGV4aXN0aW5nIG9uZS5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICBXQVJOSU5HOiBEdXBsaWNhdGUgSURzIHdpbGwgbGVhZCB0byBvdmVyd3JpdGluZyBvZiBxdWV1ZSBpdGVtcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7QXBpUXVldWVJdGVtfSBpdGVtIC0gVGhlIGl0ZW0gdG8gYmUgZW5xdWV1ZWQuIFRoaXMgc2hvdWxkIGJlIGFuIG9iamVjdCBvZiB0eXBlIGBBcGlRdWV1ZUl0ZW1gLlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGBtZXRob2RgIHByb3BlcnR5IG9mIHRoZSBpdGVtIG11c3QgYmUgb25lIG9mIHRoZSBhbGxvd2VkIG1ldGhvZHMgKCdwb3N0JywgJ3B1dCcsICdnZXQnKS5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIGFuIHVuc3VwcG9ydGVkIG1ldGhvZCBpcyBwcm92aWRlZCwgdGhlIGZ1bmN0aW9uIHdpbGwgdGhyb3cgYW4gZXJyb3IuXG4gICAgICpcbiAgICAgKiBAdGhyb3dzIHtFcnJvcn0gVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBgbWV0aG9kYCBwcm9wZXJ0eSBvZiB0aGUgYGl0ZW1gIGlzIG5vdCBvbmUgb2YgdGhlIGFsbG93ZWQgbWV0aG9kcy5cbiAgICAgKiAgICAgICAgICAgICAgICAgVGhlIGVycm9yIG1lc3NhZ2UgaXM6IGBbQXBpUXVldWVdIG1ldGhvZCBcIiR7aXRlbS5tZXRob2R9XCIgaXMgbm90IGFsbG93ZWRgLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIG9mIGFkZGluZyBhbiBpdGVtIHRvIHRoZSBBUEkgcXVldWVcbiAgICAgKiBhZGRRdWV1ZUl0ZW0oJzEyMzQ1JywgeyBtZXRob2Q6ICdwb3N0JywgdXJsOiAnL2FwaS9kYXRhJywgcGF5bG9hZDogey4uLn0gfSk7XG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7dm9pZH0gVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCByZXR1cm4gYSB2YWx1ZS4gSXQgYWRkcyB0aGUgaXRlbSB0byB0aGUgcXVldWUgdmlhIGEgZGlzcGF0Y2ggYWN0aW9uLlxuICAgICAqL1xuICAgIGFkZFF1ZXVlSXRlbShpZDogc3RyaW5nLCBpdGVtOiBBcGlRdWV1ZUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWxsb3dlZE1ldGhvZHMgPSBbJ3Bvc3QnLCAncHV0JywgJ2dldCddO1xuXG4gICAgICAgIGlmIChhbGxvd2VkTWV0aG9kcy5pbmRleE9mKGl0ZW0ubWV0aG9kKSA8IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgW0FwaVF1ZXVlXSBtZXRob2QgXCIke2l0ZW0ubWV0aG9kfVwiIGlzIG5vdCBhbGxvd2VkYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBBZGRBcGlRdWV1ZUl0ZW1BY3Rpb24oeyBpZCwgaXRlbSB9KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBBUEkgcXVldWUgYW5kIGNvbnZlcnRzIGl0IGludG8gYW4gYXJyYXkgb2YgT2JzZXJ2YWJsZXMuXG4gICAgICpcbiAgICAgKiBUaGlzIG1ldGhvZCBzdWJzY3JpYmVzIHRvIHRoZSBzdG9yZSB0byBhY2Nlc3MgdGhlIEFQSSBxdWV1ZS4gSXQgdGhlbiBtYXBzIHRoZSBxdWV1ZSBvYmplY3QsXG4gICAgICogd2hpY2ggaXMgYW4gYXNzb2NpYXRpdmUgYXJyYXksIGludG8gYSBsaW5lYXIgYXJyYXkgb2YgQXBpUXVldWVJdGVtIGluc3RhbmNlcy4gSWYgdGhlIHF1ZXVlIGlzIGVtcHR5LFxuICAgICAqIGEgd2FybmluZyBpcyBsb2dnZWQuIFRoaXMgbWV0aG9kIGlzIHVzZWZ1bCBmb3IgdHJhY2tpbmcgdGhlIHN0YXRlIGFuZCBjb250ZW50cyBvZiB0aGUgQVBJIHF1ZXVlXG4gICAgICogYXQgYSBnaXZlbiBtb21lbnQuXG4gICAgICpcbiAgICAgKiBOb3RlOiBUaGlzIG1ldGhvZCB0YWtlcyBhIHNuYXBzaG90IG9mIHRoZSBxdWV1ZSBhdCB0aGUgdGltZSBvZiBzdWJzY3JpcHRpb24uIEl0IGRvZXMgbm90IHByb3ZpZGVcbiAgICAgKiBhIGNvbnRpbnVvdXMgc3RyZWFtIG9mIHF1ZXVlIHVwZGF0ZXMuIFRvIGdldCByZWFsLXRpbWUgdXBkYXRlcywgY29uc2lkZXIgc3Vic2NyaWJpbmcgZGlyZWN0bHlcbiAgICAgKiB0byB0aGUgc3RvcmUncyBvYnNlcnZhYmxlLlxuICAgICAqXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8QXBpUXVldWVJdGVtW10+fSBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gYXJyYXkgb2YgQXBpUXVldWVJdGVtLlxuICAgICAqIFRoZSBhcnJheSByZXByZXNlbnRzIGFsbCBpdGVtcyBjdXJyZW50bHkgaW4gdGhlIHF1ZXVlLiBJZiB0aGUgcXVldWUgaXMgZW1wdHksIGl0IGVtaXRzIGFuIGVtcHR5IGFycmF5LlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIHVzYWdlXG4gICAgICogdGhpcy5nZXRRdWV1ZSgpLnN1YnNjcmliZShxdWV1ZUl0ZW1zID0+IHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKCdDdXJyZW50IHF1ZXVlIGl0ZW1zOicsIHF1ZXVlSXRlbXMpO1xuICAgICAqIH0pO1xuICAgICAqL1xuICAgIGdldFF1ZXVlKCk6IE9ic2VydmFibGU8QXBpUXVldWVJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwaVF1ZXVlKS5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIG1hcCgocXVldWU6IEFwaVF1ZXVlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcXVldWVBcnJheSA9IHF1ZXVlICYmIE9iamVjdC52YWx1ZXM8QXBpUXVldWVJdGVtPihxdWV1ZSk7XG4gICAgICAgICAgICAgICAgaWYgKCFxdWV1ZUFycmF5IHx8IHF1ZXVlQXJyYXkubGVuZ3RoIDwgMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlcj8ud2FybignTm8gaXRlbXMgaW4gdGhlIHF1ZXVlIGV4aXN0LicpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBxdWV1ZUFycmF5O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIGEgc3BlY2lmaWMgaXRlbSBmcm9tIHRoZSBBUEkgcXVldWUgYnkgaXRzIElELlxuICAgICAqXG4gICAgICogVGhpcyBtZXRob2Qgc3Vic2NyaWJlcyB0byB0aGUgc3RvcmUgYW5kIHNlbGVjdHMgYSBzaW5nbGUgaXRlbSBmcm9tIHRoZSBBUEkgcXVldWUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIElELlxuICAgICAqIEl0IGVtcGxveXMgYSBwaXBlbGluZSB0byBmZXRjaCB0aGUgaXRlbTogdGhlIGBnZXRBcGlRdWV1ZUl0ZW1gIHNlbGVjdG9yIGlzIHVzZWQgdG8gcmV0cmlldmUgdGhlIGl0ZW0sXG4gICAgICogYW5kIGEgYG1hcGAgb3BlcmF0b3IgcHJvY2Vzc2VzIHRoZSByZXN1bHQuIElmIHRoZSBpdGVtIHdpdGggdGhlIHNwZWNpZmllZCBJRCBkb2VzIG5vdCBleGlzdCBpbiB0aGUgcXVldWUsXG4gICAgICogYSB3YXJuaW5nIGlzIGxvZ2dlZCwgYW5kIGBudWxsYCBpcyByZXR1cm5lZC5cbiAgICAgKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGlkZWFsIGZvciBhY2Nlc3NpbmcgYSBzcGVjaWZpYyBxdWV1ZSBpdGVtIHdoZW4gaXRzIElEIGlzIGtub3duLCBhbGxvd2luZyBmb3IgdGFyZ2V0ZWRcbiAgICAgKiBvcGVyYXRpb25zIG9yIGNoZWNrcyBvbiB0aGF0IHBhcnRpY3VsYXIgaXRlbS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaXRlbSB3aXRoaW4gdGhlIHF1ZXVlLlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEFwaVF1ZXVlSXRlbSB8IG51bGw+fSBBbiBPYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSByZXF1ZXN0ZWQgQXBpUXVldWVJdGVtLlxuICAgICAqIElmIG5vIGl0ZW0gd2l0aCB0aGUgZ2l2ZW4gSUQgZXhpc3RzIGluIHRoZSBxdWV1ZSwgdGhlIE9ic2VydmFibGUgZW1pdHMgYG51bGxgLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIHVzYWdlXG4gICAgICogdGhpcy5nZXRRdWV1ZUl0ZW0oJ2l0ZW0xMjMnKS5zdWJzY3JpYmUoaXRlbSA9PiB7XG4gICAgICogICBpZiAoaXRlbSkge1xuICAgICAqICAgICBjb25zb2xlLmxvZygnRm91bmQgaXRlbTonLCBpdGVtKTtcbiAgICAgKiAgIH0gZWxzZSB7XG4gICAgICogICAgIGNvbnNvbGUubG9nKCdJdGVtIG5vdCBmb3VuZCBpbiB0aGUgcXVldWUnKTtcbiAgICAgKiAgIH1cbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICBnZXRRdWV1ZUl0ZW0oaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QXBpUXVldWVJdGVtPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRBcGlRdWV1ZUl0ZW0oaWQpKS5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIG1hcCgocXVldWU6IEFwaVF1ZXVlSXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcXVldWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXI/Lndhcm4oYFF1ZXVlIGl0ZW0gd2l0aCBpZCBcIiR7aWR9XCIgZG9lcyBub3QgZXhpc3RgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBxdWV1ZTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYSBzcGVjaWZpYyBpdGVtIGZyb20gdGhlIEFQSSBxdWV1ZSB1c2luZyBpdHMgSUQuXG4gICAgICpcbiAgICAgKiBUaGlzIG1ldGhvZCBkaXNwYXRjaGVzIGFuIGFjdGlvbiB0byByZW1vdmUgYW4gaXRlbSBmcm9tIHRoZSBxdWV1ZSwgaWRlbnRpZmllZCBieSB0aGUgcHJvdmlkZWQgSUQuXG4gICAgICogSXQgaXMgZXNzZW50aWFsIGZvciBtYW5hZ2luZyB0aGUgcXVldWUgYnkgZWxpbWluYXRpbmcgaXRlbXMgdGhhdCBhcmUgbm8gbG9uZ2VyIG5lZWRlZCBvciBoYXZlIGJlZW4gcHJvY2Vzc2VkLlxuICAgICAqIFRoZSBmdW5jdGlvbiBkb2VzIG5vdCByZXR1cm4gYW55IHZhbHVlLCBhcyBpdCBwcmltYXJpbHkgdHJpZ2dlcnMgYW4gYWN0aW9uIHdpdGhpbiB0aGUgc3RvcmUuXG4gICAgICpcbiAgICAgKiBOb3RlOiBUaGlzIG1ldGhvZCBhc3N1bWVzIHRoZSBleGlzdGVuY2Ugb2YgdGhlIGl0ZW0gaW4gdGhlIHF1ZXVlLiBJdCBkb2VzIG5vdCBwZXJmb3JtIGEgY2hlY2tcbiAgICAgKiB0byBjb25maXJtIHRoZSBwcmVzZW5jZSBvZiB0aGUgaXRlbSBiZWZvcmUgYXR0ZW1wdGluZyB0byByZW1vdmUgaXQuIFRoZXJlZm9yZSwgaXQncyByZWNvbW1lbmRlZFxuICAgICAqIHRvIHZlcmlmeSB0aGUgaXRlbSdzIGV4aXN0ZW5jZSBpbiB0aGUgcXVldWUgaWYgdW5jZXJ0YWludHkgZXhpc3RzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBpdGVtIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgcXVldWUuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgdXNhZ2VcbiAgICAgKiB0aGlzLnJlbW92ZVF1ZXVlSXRlbSgnaXRlbTEyMycpO1xuICAgICAqIC8vIFRoZSBpdGVtIHdpdGggSUQgJ2l0ZW0xMjMnIHdpbGwgYmUgZGlzcGF0Y2hlZCBmb3IgcmVtb3ZhbCBmcm9tIHRoZSBxdWV1ZS5cbiAgICAgKi9cbiAgICByZW1vdmVRdWV1ZUl0ZW0oaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBSZW1vdmVBcGlRdWV1ZUl0ZW1BY3Rpb24oaWQpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbGVhcnMgYWxsIGl0ZW1zIGZyb20gdGhlIEFQSSBxdWV1ZS5cbiAgICAgKlxuICAgICAqIFRoaXMgbWV0aG9kIGRpc3BhdGNoZXMgYW4gYWN0aW9uIHRvIGVtcHR5IHRoZSBlbnRpcmUgQVBJIHF1ZXVlLCBlZmZlY3RpdmVseSByZW1vdmluZyBhbGwgaXRlbXMgdGhhdCBhcmUgY3VycmVudGx5IHF1ZXVlZC5cbiAgICAgKiBJdCBpcyB1c2VmdWwgZm9yIHNjZW5hcmlvcyB3aGVyZSBhIGNvbXBsZXRlIHJlc2V0IG9mIHRoZSBxdWV1ZSBpcyByZXF1aXJlZCwgc3VjaCBhcyBkdXJpbmcgaW5pdGlhbGl6YXRpb24gb3IgYWZ0ZXIgcHJvY2Vzc2luZ1xuICAgICAqIGEgYmF0Y2ggb2YgaXRlbXMuIFRoZSBmdW5jdGlvbiBkb2VzIG5vdCByZXR1cm4gYW55IHZhbHVlLCBhcyBpdHMgcHJpbWFyeSBwdXJwb3NlIGlzIHRvIHRyaWdnZXIgYSBzdGF0ZSBjaGFuZ2UgaW4gdGhlIHN0b3JlLlxuICAgICAqXG4gICAgICogTm90ZTogVXNlIHRoaXMgbWV0aG9kIHdpdGggY2F1dGlvbiBhcyBpdCB3aWxsIGlycmV2ZXJzaWJseSBjbGVhciBhbGwgaXRlbXMgaW4gdGhlIHF1ZXVlLiBFbnN1cmUgdGhhdCB0aGlzIGFjdGlvbiBkb2VzIG5vdFxuICAgICAqIGRpc3J1cHQgYW55IG9uZ29pbmcgcHJvY2Vzc2VzIHRoYXQgcmVseSBvbiB0aGUgcXVldWUncyBjb250ZW50cy5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSB1c2FnZVxuICAgICAqIHRoaXMucmVtb3ZlQWxsUXVldWVJdGVtKCk7XG4gICAgICogLy8gVGhpcyB3aWxsIGRpc3BhdGNoIGFuIGFjdGlvbiB0byBlbXB0eSB0aGUgZW50aXJlIEFQSSBxdWV1ZS5cbiAgICAgKi9cbiAgICByZW1vdmVBbGxRdWV1ZUl0ZW0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IEVtcHR5QXBpUXVldWVBY3Rpb24obnVsbCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyBhbiBpdGVtIGZyb20gdGhlIEFQSSBxdWV1ZSBpZGVudGlmaWVkIGJ5IGl0cyBJRC5cbiAgICAgKlxuICAgICAqIFJldHJpZXZlcyB0aGUgc3BlY2lmaWVkIGl0ZW0gZnJvbSB0aGUgcXVldWUgYW5kIGFwcGxpZXMgcHJvY2Vzc2luZyBsb2dpYyBhcyBkZWZpbmVkIGluIGBidWlsZEh0dHBSZXF1ZXN0YC5cbiAgICAgKiBJZiB0aGUgaXRlbSBpcyBub3QgZm91bmQsIGxvZ3MgYSB3YXJuaW5nIGFuZCByZXR1cm5zIGFuIE9ic2VydmFibGUgZW1pdHRpbmcgYG51bGxgLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBpdGVtIHdpdGhpbiB0aGUgcXVldWUgdG8gYmUgcHJvY2Vzc2VkLlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPGFueT59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzdWx0IG9mIHByb2Nlc3NpbmcgdGhlIHF1ZXVlIGl0ZW0uXG4gICAgICogSWYgdGhlIGl0ZW0gZG9lcyBub3QgZXhpc3QsIHRoZSBPYnNlcnZhYmxlIGVtaXRzIGBudWxsYC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSB1c2FnZVxuICAgICAqIHRoaXMucHJvY2Vzc1F1ZXVlSXRlbSgnaXRlbTEyMycpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAqICAgaWYgKHJlc3VsdCkge1xuICAgICAqICAgICBjb25zb2xlLmxvZygnUHJvY2Vzc2luZyByZXN1bHQ6JywgcmVzdWx0KTtcbiAgICAgKiAgIH0gZWxzZSB7XG4gICAgICogICAgIGNvbnNvbGUubG9nKCdJdGVtIG5vdCBmb3VuZCBpbiB0aGUgcXVldWUnKTtcbiAgICAgKiAgIH1cbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBSZXBsYWNlIGBhbnlgIHdpdGggYSBtb3JlIHNwZWNpZmljIHR5cGUgb3IgbWFrZSB0aGUgbWV0aG9kIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJvY2Vzc1F1ZXVlSXRlbShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwaVF1ZXVlSXRlbShpZCkpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChxdWV1ZTogQXBpUXVldWVJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFxdWV1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlcj8ud2FybihgUXVldWUgaXRlbSB3aXRoIGlkIFwiJHtpZH1cIiBkb2VzIG5vdCBleGlzdGApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRIdHRwUmVxdWVzdChpZCwgcXVldWUpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvY2Vzc2VzIGFsbCBpdGVtcyBpbiB0aGUgQVBJIHF1ZXVlIGFuZCBjb2xsZWN0cyB0aGVpciByZXNwb25zZXMuXG4gICAgICpcbiAgICAgKiBJdGVyYXRlcyBvdmVyIGVhY2ggaXRlbSBpbiB0aGUgcXVldWUgYW5kIHByb2Nlc3NlcyB0aGVtIHVzaW5nIGBidWlsZEh0dHBSZXF1ZXN0YC4gSWYgYSByZXF1ZXN0IGZhaWxzLFxuICAgICAqIHRoZSBtZXRob2QgY2FuIGVpdGhlciBjb250aW51ZSBwcm9jZXNzaW5nIHRoZSByZW1haW5pbmcgaXRlbXMgb3Igc3RvcCwgYmFzZWQgb24gdGhlIGBjb250aW51ZU9uRXJyb3JgIHBhcmFtZXRlci5cbiAgICAgKiBJdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBhbiBhcnJheSBjb250YWluaW5nIHRoZSByZXNwb25zZXMgb3IgZXJyb3JzIGZyb20gYWxsIHRoZSBwcm9jZXNzZWQgaXRlbXMuXG4gICAgICpcbiAgICAgKiBUaGUgZnVuY3Rpb24gY3VycmVudGx5IHJldHVybnMgYE9ic2VydmFibGU8YW55W10+YCBpbmRpY2F0aW5nIGFuIGFycmF5IG9mIGFueSB0eXBlLiBGdXR1cmUgaW1wcm92ZW1lbnRzXG4gICAgICogc2hvdWxkIGFpbSB0byBzcGVjaWZ5IGEgbW9yZSBhY2N1cmF0ZSByZXR1cm4gdHlwZSBvciB1dGlsaXplIGdlbmVyaWNzIGZvciBpbmNyZWFzZWQgdHlwZSBzYWZldHkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtjb250aW51ZU9uRXJyb3I9dHJ1ZV0gLSBEZXRlcm1pbmVzIHdoZXRoZXIgdG8gY29udGludWUgd2l0aCB0aGUgbmV4dCBpdGVtIGluIHRoZSBxdWV1ZVxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyIGEgcmVxdWVzdCBmYWlsdXJlLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8YW55W10+fSBBbiBPYnNlcnZhYmxlIGVtaXR0aW5nIGFuIGFycmF5IG9mIGVpdGhlciByZXNwb25zZXMgb3IgZXJyb3JzIGZyb20gdGhlIHByb2Nlc3NlZFxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVldWUgaXRlbXMuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIHRoaXMucHJvY2Vzc0FsbFF1ZXVlSXRlbXMoKS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XG4gICAgICogICAvLyBIYW5kbGUgdGhlIGFycmF5IG9mIHJlc3BvbnNlcyBvciBlcnJvcnNcbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBSZWZpbmUgdGhlIHJldHVybiB0eXBlIHRvIGJlIG1vcmUgc3BlY2lmaWMgb3IgaW1wbGVtZW50IGdlbmVyaWNzLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByb2Nlc3NBbGxRdWV1ZUl0ZW1zPFQgPSBhbnk+KGNvbnRpbnVlT25FcnJvciA9IHRydWUpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoZ2V0QXBpUXVldWUpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHF1ZXVlOiBBcGlRdWV1ZSkgPT5cbiAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhxdWV1ZSkubWFwKChba2V5LCB2YWx1ZV0pID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnVpbGRIdHRwUmVxdWVzdChrZXksIHZhbHVlKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXI/LmVycm9yKGBRdWV1ZSBJdGVtIHdpdGggaWQgJHtrZXl9IGZhaWxlZC5gLCBlcnJvci5tZXNzYWdlLCBlcnJvci5zdGFjayk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbnRpbnVlT25FcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKG9ic1F1ZXVlOiBPYnNlcnZhYmxlPFQ+W10pID0+IGZvcmtKb2luKEFycmF5LmZyb20ob2JzUXVldWUpKSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvY2Vzc2VzIGFsbCBpdGVtcyBpbiB0aGUgcXVldWUgc2VxdWVudGlhbGx5LCBiYXNlZCBvbiB0aGVpciB0aW1lc3RhbXAgb3JkZXJpbmcuXG4gICAgICpcbiAgICAgKiBUaGlzIG1ldGhvZCBmaXJzdCBvcmRlcnMgdGhlIGl0ZW1zIGluIHRoZSBBUEkgcXVldWUgYnkgdGhlaXIgdGltZXN0YW1wLCBlaXRoZXIgaW4gYXNjZW5kaW5nIG9yIGRlc2NlbmRpbmdcbiAgICAgKiBvcmRlciBhcyBzcGVjaWZpZWQgYnkgdGhlIGBhc2NlbmRpbmdgIHBhcmFtZXRlci4gSXQgdGhlbiBwcm9jZXNzZXMgZWFjaCBpdGVtIHVzaW5nIGBidWlsZEh0dHBSZXF1ZXN0YCwgZW5zdXJpbmdcbiAgICAgKiB0aGF0IGVhY2ggcmVxdWVzdCBpcyBjb21wbGV0ZWQgYmVmb3JlIHRoZSBuZXh0IGJlZ2lucy4gVGhpcyBzZXF1ZW50aWFsIHByb2Nlc3NpbmcgaXMgY3J1Y2lhbCB3aGVuIHRoZSBvcmRlciBvZlxuICAgICAqIGV4ZWN1dGlvbiBtYXR0ZXJzIGZvciBIVFRQIHJlcXVlc3RzIGluIHRoZSBxdWV1ZS4gVGhlIG1ldGhvZCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzcG9uc2VzXG4gICAgICogZm9sbG93aW5nIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBxdWV1ZSBpdGVtcyB3ZXJlIHByb2Nlc3NlZC5cbiAgICAgKlxuICAgICAqIFRoZSBmdW5jdGlvbiBjdXJyZW50bHkgcmV0dXJucyBgT2JzZXJ2YWJsZTxhbnk+YCwgaW5kaWNhdGluZyBhIGJyb2FkIHR5cGUuIEZ1dHVyZSBpbXByb3ZlbWVudHMgc2hvdWxkIGZvY3VzIG9uXG4gICAgICogc3BlY2lmeWluZyBhIG1vcmUgYWNjdXJhdGUgcmV0dXJuIHR5cGUgb3IgdXRpbGl6aW5nIGdlbmVyaWNzIGZvciBpbmNyZWFzZWQgdHlwZSBzYWZldHkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFthc2NlbmRpbmc9dHJ1ZV0gLSBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHF1ZXVlIGl0ZW1zIGFyZSBwcm9jZXNzZWQgaW4gYXNjZW5kaW5nIG9yZGVyIG9mIHRoZWlyXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8YW55Pn0gQW4gT2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgcmVzcG9uc2VzIG9mIHRoZSBIVFRQIHJlcXVlc3RzIGluIHRoZSBvcmRlciB0aGV5IHdlcmUgcHJvY2Vzc2VkLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiB0aGlzLnByb2Nlc3NBbGxRdWV1ZUl0ZW1zU2VxdWVudGlhbCgpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICogICAvLyBIYW5kbGUgZWFjaCByZXNwb25zZSBpbiB0aGUgb3JkZXIgb2YgcXVldWUgcHJvY2Vzc2luZ1xuICAgICAqIH0pO1xuICAgICAqL1xuICAgIC8vIFRPRE86IFJlZmluZSB0aGUgcmV0dXJuIHR5cGUgZm9yIG1vcmUgc3BlY2lmaWMgb3IgaW1wbGVtZW50IGdlbmVyaWNzLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByb2Nlc3NBbGxRdWV1ZUl0ZW1zU2VxdWVudGlhbChhc2NlbmRpbmcgPSB0cnVlKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwaVF1ZXVlKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChxdWV1ZTogQXBpUXVldWUpID0+XG4gICAgICAgICAgICAgICAgZnJvbShPYmplY3QuZW50cmllcyhxdWV1ZSlcbiAgICAgICAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IChhc2NlbmRpbmcgPyB0aGlzLnNvcnRPblRpbWVzdGFtcChhLCBiKSA6IHRoaXMuc29ydE9uVGltZXN0YW1wKGIsIGEpKSlcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoW2lkLCBpdGVtXSkgPT4gdGhpcy5idWlsZEh0dHBSZXF1ZXN0KGlkLCBpdGVtKSkpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKGNvbmNhdE1hcCh4ID0+IHgpKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29tcGFyZXMgdHdvIHF1ZXVlIGl0ZW1zIGJhc2VkIG9uIHRoZWlyIHRpbWVzdGFtcCBhbmQgZGV0ZXJtaW5lcyB0aGVpciBvcmRlci5cbiAgICAgKlxuICAgICAqIFRoaXMgcHJvdGVjdGVkIG1ldGhvZCBpcyB1c2VkIHRvIHNvcnQgcXVldWUgaXRlbXMuIEl0IHRha2VzIHR3byBxdWV1ZSBpdGVtcyBhcyBpbnB1dCwgZWFjaCByZXByZXNlbnRlZFxuICAgICAqIGFzIGEgdHVwbGUgY29udGFpbmluZyBhbiBpdGVtIElEIGFuZCB0aGUgYEFwaVF1ZXVlSXRlbWAgb2JqZWN0LiBUaGUgbWV0aG9kIGNvbXBhcmVzIHRoZXNlIGl0ZW1zIGJhc2VkIG9uXG4gICAgICogdGhlIGB0aW1lc3RhbXBgIHByb3BlcnR5IG9mIHRoZSBgQXBpUXVldWVJdGVtYCBvYmplY3RzLiBJdCByZXR1cm5zIGEgbnVtYmVyIGluZGljYXRpbmcgdGhlIG9yZGVyIGluIHdoaWNoXG4gICAgICogdGhlc2UgaXRlbXMgc2hvdWxkIGJlIHNvcnRlZC5cbiAgICAgKlxuICAgICAqIEEgcG9zaXRpdmUgcmV0dXJuIHZhbHVlIGluZGljYXRlcyB0aGF0IHRoZSBmaXJzdCBpdGVtIHNob3VsZCBjb21lIGFmdGVyIHRoZSBzZWNvbmQsIGEgbmVnYXRpdmUgdmFsdWVcbiAgICAgKiBpbmRpY2F0ZXMgdGhlIG9wcG9zaXRlLCBhbmQgemVybyBpbmRpY2F0ZXMgdGhhdCB0aGV5IGFyZSBlcXVhbCBpbiB0ZXJtcyBvZiB0aW1lc3RhbXAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1tzdHJpbmcsIEFwaVF1ZXVlSXRlbV19IGEgLSBUaGUgZmlyc3QgcXVldWUgaXRlbSB0dXBsZSBmb3IgY29tcGFyaXNvbi5cbiAgICAgKiBAcGFyYW0ge1tzdHJpbmcsIEFwaVF1ZXVlSXRlbV19IGIgLSBUaGUgc2Vjb25kIHF1ZXVlIGl0ZW0gdHVwbGUgZm9yIGNvbXBhcmlzb24uXG4gICAgICogQHJldHVybnMge251bWJlcn0gQSBudW1iZXIgaW5kaWNhdGluZyB0aGUgb3JkZXIgb2YgdGhlIGl0ZW1zOiBuZWdhdGl2ZSBpZiBgYWAgaXMgZWFybGllciB0aGFuIGBiYCxcbiAgICAgKiAgICAgICAgICAgICAgICAgIHBvc2l0aXZlIGlmIGBhYCBpcyBsYXRlciB0aGFuIGBiYCwgYW5kIHplcm8gaWYgdGhleSBhcmUgZXF1YWwuXG4gICAgICogQGJldGFcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc29ydE9uVGltZXN0YW1wKGE6IFtzdHJpbmcsIEFwaVF1ZXVlSXRlbV0sIGI6IFtzdHJpbmcsIEFwaVF1ZXVlSXRlbV0pOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gK25ldyBEYXRlKGFbMV0udGltZXN0YW1wKSAtICtuZXcgRGF0ZShiWzFdLnRpbWVzdGFtcCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0cyBhbmQgZXhlY3V0ZXMgYW4gSFRUUCByZXF1ZXN0IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWV1ZSBpdGVtIGRldGFpbHMuXG4gICAgICpcbiAgICAgKiBUaGlzIHByaXZhdGUgbWV0aG9kIHRha2VzIGFuIElEIGFuZCBhbiBgQXBpUXVldWVJdGVtYCBvYmplY3QgdG8gYnVpbGQgYW5kIGV4ZWN1dGUgYW4gSFRUUCByZXF1ZXN0LlxuICAgICAqIEl0IGRldGVybWluZXMgdGhlIEhUVFAgbWV0aG9kIChsaWtlIEdFVCwgUE9TVCwgZXRjLikgZnJvbSB0aGUgYG1ldGhvZGAgcHJvcGVydHkgb2YgdGhlIGBBcGlRdWV1ZUl0ZW1gLFxuICAgICAqIGFuZCB1c2VzIHRoZSBgdXJpYCBhbmQgYHBheWxvYWRgIHByb3BlcnRpZXMgZm9yIHRoZSByZXF1ZXN0J3MgVVJMIGFuZCBib2R5LCByZXNwZWN0aXZlbHkuIEFmdGVyIHRoZVxuICAgICAqIHJlcXVlc3QgaXMgZXhlY3V0ZWQsIHRoZSBjb3JyZXNwb25kaW5nIHF1ZXVlIGl0ZW0gaXMgcmVtb3ZlZCBmcm9tIHRoZSBxdWV1ZS5cbiAgICAgKlxuICAgICAqIFRoZSBtZXRob2QgaXMgZ2VuZXJpYywgYWxsb3dpbmcgdGhlIGNhbGxlciB0byBzcGVjaWZ5IHRoZSBleHBlY3RlZCByZXNwb25zZSB0eXBlIGBUYC4gQnkgZGVmYXVsdCxcbiAgICAgKiBpdCB1c2VzIGBhbnlgIHR5cGUsIGJ1dCBzcGVjaWZ5aW5nIGEgbW9yZSBjb25jcmV0ZSB0eXBlIGVuaGFuY2VzIHR5cGUgc2FmZXR5IGFuZCBjbGFyaXR5IGluIHVzYWdlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGlkIC0gVGhlIElEIG9mIHRoZSBxdWV1ZSBpdGVtIGJlaW5nIHByb2Nlc3NlZC5cbiAgICAgKiBAcGFyYW0ge0FwaVF1ZXVlSXRlbX0gaXRlbSAtIFRoZSBxdWV1ZSBpdGVtIGNvbnRhaW5pbmcgZGV0YWlscyBmb3IgdGhlIEhUVFAgcmVxdWVzdC5cbiAgICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxUPn0gQW4gT2JzZXJ2YWJsZSBvZiB0eXBlIFQsIHJlcHJlc2VudGluZyB0aGUgcmVzcG9uc2Ugb2YgdGhlIEhUVFAgcmVxdWVzdC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSB1c2FnZSBmb3IgYSBzcGVjaWZpYyByZXNwb25zZSB0eXBlXG4gICAgICogdGhpcy5idWlsZEh0dHBSZXF1ZXN0PE15UmVzcG9uc2VUeXBlPignaXRlbTEyMycsIHF1ZXVlSXRlbSlcbiAgICAgKiAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICogICAgICAgICAvLyBIYW5kbGUgdGhlIHJlc3BvbnNlXG4gICAgICogICAgIH0pO1xuICAgICAqXG4gICAgICogQHRlbXBsYXRlIFQgLSBUaGUgZXhwZWN0ZWQgdHlwZSBvZiB0aGUgSFRUUCByZXNwb25zZS4gRGVmYXVsdHMgdG8gYGFueWAuXG4gICAgICovXG4gICAgLy8gVE9ETzogYWRkIHR5cGUgZm9yIFQgYW5kIGRlcHJlY2F0ZSBvbGQgZnVuY3Rpb25cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIGJ1aWxkSHR0cFJlcXVlc3Q8VCA9IGFueT4oaWQ6IHN0cmluZywgaXRlbTogQXBpUXVldWVJdGVtKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBbaXRlbS5tZXRob2QudG9Mb3dlckNhc2UoKV08VD4oaXRlbS51cmksIGl0ZW0ucGF5bG9hZCkucGlwZSh0YXAoKCkgPT4gdGhpcy5yZW1vdmVRdWV1ZUl0ZW0oaWQpKSk7XG4gICAgfVxufVxuIl19
|
|
@@ -102,10 +102,10 @@ export class LocalForageService extends AsyncStorageService {
|
|
|
102
102
|
},
|
|
103
103
|
}));
|
|
104
104
|
}
|
|
105
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
106
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
105
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: LocalForageService, deps: [{ token: LOCAL_FORAGE_SERVICE_CONFIG_TOKEN, optional: true }, { token: i1.LogService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
106
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: LocalForageService }); }
|
|
107
107
|
}
|
|
108
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: LocalForageService, decorators: [{
|
|
109
109
|
type: Injectable
|
|
110
110
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
111
111
|
type: Inject,
|
|
@@ -115,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
115
115
|
}] }, { type: i1.LogService, decorators: [{
|
|
116
116
|
type: Optional
|
|
117
117
|
}] }] });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtZm9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3N0b3JhZ2UvbG9jYWwtZm9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUc5RCxnQkFBZ0I7QUFDaEIsbUhBQW1IO0FBQ25ILDhEQUE4RDtBQUM5RCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQVEsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDMUUsbUhBQW1IO0FBQ25ILDhEQUE4RDtBQUM5RCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxJQUFJLGNBQWMsQ0FBTSw2QkFBNkIsQ0FBQyxDQUFDO0FBRXhHOzs7R0FHRztBQUVILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxtQkFBbUI7YUFDaEQsU0FBSSxHQUFHLG9CQUFvQixBQUF2QixDQUF3QjtJQUVuQztJQUNJLG1IQUFtSDtJQUNuSCw4REFBOEQ7SUFDRyxNQUFXLEVBQ3RELEdBQWU7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFIeUQsV0FBTSxHQUFOLE1BQU0sQ0FBSztRQUN0RCxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBR3JDLHNDQUFzQztRQUN0QyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSTtRQUNBLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxtSEFBbUg7SUFDbkgsOERBQThEO0lBQzlELEtBQUs7UUFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ2pDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQUM7WUFDQSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQWUsQ0FBQztZQUMzQixLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDWCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUM5QyxDQUFDO1lBQ0wsQ0FBQztTQUNKLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtSEFBbUg7SUFDbkgsOERBQThEO0lBQzlELEdBQUcsQ0FBQyxHQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDdEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FDQyxHQUFHLEVBQUUsR0FBZSxDQUFDLEVBQ3JCLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDSixJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLENBQUM7UUFDTCxDQUFDLENBQ0osQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsbUhBQW1IO0lBQ25ILDhEQUE4RDtJQUM5RCxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQVU7UUFDdkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzdDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQUM7WUFDQSxJQUFJLEVBQUUsR0FBRyxFQUFFO1lBQ1gsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNYLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUNYLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQzVDLENBQUM7WUFDTCxDQUFDO1NBQ0osQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1IQUFtSDtJQUNuSCw4REFBOEQ7SUFDOUQsTUFBTSxDQUFDLEdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN6QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUFDO1lBQ0EsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFlLENBQUM7WUFDM0IsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDL0MsQ0FBQztZQUNMLENBQUM7U0FDSixDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7OEdBMUdRLGtCQUFrQixrQkFNZixpQ0FBaUM7a0hBTnBDLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVTs7MEJBT0YsTUFBTTsyQkFBQyxpQ0FBaUM7OzBCQUFHLFFBQVE7OzBCQUNuRCxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCAqIGFzIGxmIGZyb20gJ2xvY2FsZm9yYWdlJztcbmltcG9ydCB7IEFzeW5jU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL2FzeW5jLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nJztcblxuLyoqIEBpbnRlcm5hbCAqL1xuLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCBjb25zdCBsb2NhbEZvcmFnZTogYW55ID0gJ2RlZmluZURyaXZlcicgaW4gbGYgPyBsZiA6IGxmWydkZWZhdWx0J107XG4vLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuZXhwb3J0IGNvbnN0IExPQ0FMX0ZPUkFHRV9TRVJWSUNFX0NPTkZJR19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdMT0NBTF9GT1JBR0VfU0VSVklDRV9DT05GSUcnKTtcblxuLyoqXG4gKiBsb2NhbGZvcmFnZSBzZXJ2aWNlLCB1c2luZyB0aGUgbG9jYWxGb3JhZ2UgamF2YXNjcmlwdCBsaWJyYXJ5XG4gKiBodHRwczovL2xvY2FsZm9yYWdlLmdpdGh1Yi5pby9sb2NhbEZvcmFnZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTG9jYWxGb3JhZ2VTZXJ2aWNlIGV4dGVuZHMgQXN5bmNTdG9yYWdlU2VydmljZSB7XG4gICAgc3RhdGljIE5BTUUgPSAnTG9jYWxGb3JhZ2VTZXJ2aWNlJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIEBJbmplY3QoTE9DQUxfRk9SQUdFX1NFUlZJQ0VfQ09ORklHX1RPS0VOKSBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgY29uZmlnOiBhbnksXG4gICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBsb2c6IExvZ1NlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIC8vIGNvbmZpZ3VyZSBsb2NhbGZvcmFnZSwgaWYgc3BlY2lmaWVkXG4gICAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgICAgIGxvY2FsRm9yYWdlLmNvbmZpZyhjb25maWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdGhlIG5hbWUgb2YgdGhlIHN0b3JhZ2Ugc2VydmljZVxuICAgICAqL1xuICAgIG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIExvY2FsRm9yYWdlU2VydmljZS5OQU1FO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJlZmxlY3RzIHRoZSByZWFkaW5lc3Mgb2YgdGhlIHN0b3JhZ2VcbiAgICAgKiBAcmV0dXJucyBvbmUgdGltZSBlbWlzc2lvbiBPYnNlcnZhYmxlPHZvaWQ+XG4gICAgICovXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcmVhZHkoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGZyb20obG9jYWxGb3JhZ2UucmVhZHkoKSkucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICB0YXAoe1xuICAgICAgICAgICAgICAgIG5leHQ6ICgpID0+IHsgLyogZW1wdHkgKi8gfSxcbiAgICAgICAgICAgICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nLmVycm9yKHRoaXMubmFtZSgpLCAncmVhZHknLCBlcnIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHJpZXZlIGFuIG9iamVjdCBmcm9tIGxvY2FsZm9yYWdlXG4gICAgICogQHBhcmFtIGtleSB0aGUgYXNzb2NpYXRlZCBrZXlcbiAgICAgKiBAcmV0dXJucyBvbmUgdGltZSBlbWlzc2lvbiBPYnNlcnZhYmxlIG9mIHZhbHVlXG4gICAgICovXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGZyb20obG9jYWxGb3JhZ2UuZ2V0SXRlbShrZXkpKS5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIHRhcChcbiAgICAgICAgICAgICAgICAoKSA9PiB7IC8qIGVtcHR5ICovIH0sXG4gICAgICAgICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nLmVycm9yKHRoaXMubmFtZSgpLCAnZ2V0JywgZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHNldHMgYW4gb2JqZWN0IGluIGxvY2FsZm9yYWdlXG4gICAgICogQHBhcmFtIGtleSB0aGUgYXNzb2NpYXRlZCBrZXlcbiAgICAgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHRvIHNldFxuICAgICAqIEByZXR1cm5zIG9uZSB0aW1lIGVtaXNzaW9uIE9ic2VydmFibGVcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gZnJvbShsb2NhbEZvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWUpKS5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIHRhcCh7XG4gICAgICAgICAgICAgICAgbmV4dDogKCkgPT4geyAvKiBlbXB0eSAqL1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcih0aGlzLm5hbWUoKSwgJ3NldCcsIGVycik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmVtb3ZlcyBhbiBvYmplY3QgZnJvbSBsb2NhbGZvcmFnZVxuICAgICAqIEBwYXJhbSBrZXkgdGhlIGFzc29jaWF0ZWQga2V5XG4gICAgICogQHJldHVybnMgb25lIHRpbWUgZW1pc3Npb24gT2JzZXJ2YWJsZVxuICAgICAqL1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHJlbW92ZShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiBmcm9tKGxvY2FsRm9yYWdlLnJlbW92ZUl0ZW0oa2V5KSkucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICB0YXAoe1xuICAgICAgICAgICAgICAgIG5leHQ6ICgpID0+IHsgLyogZW1wdHkgKi8gfSxcbiAgICAgICAgICAgICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nLmVycm9yKHRoaXMubmFtZSgpLCAncmVtb3ZlJywgZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtZm9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3N0b3JhZ2UvbG9jYWwtZm9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUc5RCxnQkFBZ0I7QUFDaEIsbUhBQW1IO0FBQ25ILDhEQUE4RDtBQUM5RCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQVEsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDMUUsbUhBQW1IO0FBQ25ILDhEQUE4RDtBQUM5RCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxJQUFJLGNBQWMsQ0FBTSw2QkFBNkIsQ0FBQyxDQUFDO0FBRXhHOzs7R0FHRztBQUVILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxtQkFBbUI7YUFDaEQsU0FBSSxHQUFHLG9CQUFvQixBQUF2QixDQUF3QjtJQUVuQztJQUNJLG1IQUFtSDtJQUNuSCw4REFBOEQ7SUFDRyxNQUFXLEVBQ3RELEdBQWU7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFIeUQsV0FBTSxHQUFOLE1BQU0sQ0FBSztRQUN0RCxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBR3JDLHNDQUFzQztRQUN0QyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsV0FB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TUFBTTsyQkFBQyxpQ0FBaUM7OzBCQUFHLFFBQVE7OzBCQUNuRCxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCAqIGFzIGxmIGZyb20gJ2xvY2FsZm9yYWdlJztcbmltcG9ydCB7IEFzeW5jU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL2FzeW5jLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nJztcblxuLyoqIEBpbnRlcm5hbCAqL1xuLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCBjb25zdCBsb2NhbEZvcmFnZTogYW55ID0gJ2RlZmluZURyaXZlcicgaW4gbGYgPyBsZiA6IGxmWydkZWZhdWx0J107XG4vLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuZXhwb3J0IGNvbnN0IExPQ0FMX0ZPUkFHRV9TRVJWSUNFX0NPTkZJR19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdMT0NBTF9GT1JBR0VfU0VSVklDRV9DT05GSUcnKTtcblxuLyoqXG4gKiBsb2NhbGZvcmFnZSBzZXJ2aWNlLCB1c2luZyB0aGUgbG9jYWxGb3JhZ2UgamF2YXNjcmlwdCBsaWJyYXJ5XG4gKiBodHRwczovL2xvY2FsZm9yYWdlLmdpdGh1Yi5pby9sb2NhbEZvcmFnZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTG9jYWxGb3JhZ2VTZXJ2aWNlIGV4dGVuZHMgQXN5bmNTdG9yYWdlU2VydmljZSB7XG4gICAgc3RhdGljIE5BTUUgPSAnTG9jYWxGb3JhZ2VTZXJ2aWNlJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIEBJbmplY3QoTE9DQUxfRk9SQUdFX1NFUlZJQ0VfQ09ORklHX1RPS0VOKSBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgY29uZmlnOiBhbnksXG4gICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBsb2c6IExvZ1NlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIC8vIGNvbmZpZ3VyZSBsb2NhbGZvcmFnZSwgaWYgc3BlY2lmaWVkXG4gICAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgICAgIGxvY2FsRm9yYWdlLmNvbmZpZyhjb25maWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdGhlIG5hbWUgb2YgdGhlIHN0b3JhZ2Ugc2VydmljZVxuICAgICAqL1xuICAgIG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIExvY2FsRm9yYWdlU2VydmljZS5OQU1FO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJlZmxlY3RzIHRoZSByZWFkaW5lc3Mgb2YgdGhlIHN0b3JhZ2VcbiAgICAgKiBAcmV0dXJucyBvbmUgdGltZSBlbWlzc2lvbiBPYnNlcnZhYmxlPHZvaWQ+XG4gICAgICovXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcmVhZHkoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGZyb20obG9jYWxGb3JhZ2UucmVhZHkoKSkucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICB0YXAoe1xuICAgICAgICAgICAgICAgIG5leHQ6ICgpID0+IHsgLyogZW1wdHkgKi8gfSxcbiAgICAgICAgICAgICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nLmVycm9yKHRoaXMubmFtZSgpLCAncmVhZHknLCBlcnIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHJpZXZlIGFuIG9iamVjdCBmcm9tIGxvY2FsZm9yYWdlXG4gICAgICogQHBhcmFtIGtleSB0aGUgYXNzb2NpYXRlZCBrZXlcbiAgICAgKiBAcmV0dXJucyBvbmUgdGltZSBlbWlzc2lvbiBPYnNlcnZhYmxlIG9mIHZhbHVlXG4gICAgICovXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGZyb20obG9jYWxGb3JhZ2UuZ2V0SXRlbShrZXkpKS5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIHRhcChcbiAgICAgICAgICAgICAgICAoKSA9PiB7IC8qIGVtcHR5ICovIH0sXG4gICAgICAgICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nLmVycm9yKHRoaXMubmFtZSgpLCAnZ2V0JywgZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHNldHMgYW4gb2JqZWN0IGluIGxvY2FsZm9yYWdlXG4gICAgICogQHBhcmFtIGtleSB0aGUgYXNzb2NpYXRlZCBrZXlcbiAgICAgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHRvIHNldFxuICAgICAqIEByZXR1cm5zIG9uZSB0aW1lIGVtaXNzaW9uIE9ic2VydmFibGVcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gZnJvbShsb2NhbEZvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWUpKS5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIHRhcCh7XG4gICAgICAgICAgICAgICAgbmV4dDogKCkgPT4geyAvKiBlbXB0eSAqL1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcih0aGlzLm5hbWUoKSwgJ3NldCcsIGVycik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmVtb3ZlcyBhbiBvYmplY3QgZnJvbSBsb2NhbGZvcmFnZVxuICAgICAqIEBwYXJhbSBrZXkgdGhlIGFzc29jaWF0ZWQga2V5XG4gICAgICogQHJldHVybnMgb25lIHRpbWUgZW1pc3Npb24gT2JzZXJ2YWJsZVxuICAgICAqL1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHJlbW92ZShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiBmcm9tKGxvY2FsRm9yYWdlLnJlbW92ZUl0ZW0oa2V5KSkucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICB0YXAoe1xuICAgICAgICAgICAgICAgIG5leHQ6ICgpID0+IHsgLyogZW1wdHkgKi8gfSxcbiAgICAgICAgICAgICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nLmVycm9yKHRoaXMubmFtZSgpLCAncmVtb3ZlJywgZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -76,10 +76,10 @@ export class LocalStorageService extends StorageService {
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
80
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
79
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: LocalStorageService, deps: [{ token: i1.LogService, optional: true }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
80
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: LocalStorageService }); }
|
|
81
81
|
}
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: LocalStorageService, decorators: [{
|
|
83
83
|
type: Injectable
|
|
84
84
|
}], ctorParameters: () => [{ type: i1.LogService, decorators: [{
|
|
85
85
|
type: Optional
|
|
@@ -87,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
87
87
|
type: Inject,
|
|
88
88
|
args: [PLATFORM_ID]
|
|
89
89
|
}] }] });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9zdG9yYWdlL2xvY2FsLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBR25EOztHQUVHO0FBRUgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGNBQWM7YUFDNUMsU0FBSSxHQUFHLHFCQUFxQixBQUF4QixDQUF5QjtJQUVwQyxZQUFrQyxHQUFlLEVBQStCLFVBQW1CO1FBQy9GLEtBQUssRUFBRSxDQUFDO1FBRHNCLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFBK0IsZUFBVSxHQUFWLFVBQVUsQ0FBUztJQUVuRyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJO1FBQ0EsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtSEFBbUg7SUFDbkgsOERBQThEO0lBQzlELEdBQUcsQ0FBQyxHQUFXO1FBQ1gsSUFBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUM7Z0JBQ0QsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDN0MsT0FBTyxVQUFVLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNoRCxDQUFDO1lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDWCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUM1QyxDQUFDO2dCQUNELE9BQU8sU0FBUyxDQUFDO1lBQ3JCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtSEFBbUg7SUFDbkgsOERBQThEO0lBQzlELEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBVTtRQUN2QixJQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQztnQkFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6QyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUMxQyxDQUFDO1lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDWCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUM1QyxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEdBQVc7UUFDZCxJQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQztnQkFDRCxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7WUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUNYLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUNYLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQy9DLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7K0dBckVRLG1CQUFtQiw0REFHK0IsV0FBVzttSEFIN0QsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVOzswQkFJTSxRQUFROzswQkFBK0IsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZy9sb2cuc2VydmljZSc7XG5cbi8qKlxuICogbG9jYWxTdG9yYWdlIHNlcnZpY2VcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvY2FsU3RvcmFnZVNlcnZpY2UgZXh0ZW5kcyBTdG9yYWdlU2VydmljZSB7XG4gICAgc3RhdGljIE5BTUUgPSAnTG9jYWxTdG9yYWdlU2VydmljZSc7XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgbG9nOiBMb2dTZXJ2aWNlLCBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IHVua25vd24pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB0aGUgbmFtZSBvZiB0aGUgc3RvcmFnZSBzZXJ2aWNlXG4gICAgICovXG4gICAgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gTG9jYWxTdG9yYWdlU2VydmljZS5OQU1FO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHJpZXZlIGFuIG9iamVjdCBmcm9tIGxvY2FsIHN0b3JhZ2VcbiAgICAgKiBAcGFyYW0ga2V5IHRoZSBhc3NvY2lhdGVkIGtleVxuICAgICAqIEByZXR1cm5zIHRoZSB2YWx1ZSBvciB1bmRlZmluZWQsIGlmIGNhc2Ugb2YgZXJyb3JcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBnZXQoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgICAgICBpZihpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICAgICAgICAgIHJldHVybiBzZXJpYWxpemVkICYmIEpTT04ucGFyc2Uoc2VyaWFsaXplZCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2cuZXJyb3IodGhpcy5uYW1lKCksICdnZXQnLCBlcnIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogc2V0cyBhbiBvYmplY3QgaW4gbG9jYWwgc3RvcmFnZVxuICAgICAqIEBwYXJhbSBrZXkgdGhlIGFzc29jaWF0ZWQga2V5XG4gICAgICogQHBhcmFtIHZhbHVlIHRoZSB2YWx1ZSB0byBzZXRcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZXJpYWxpemVkID0gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgc2VyaWFsaXplZCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2cuZXJyb3IodGhpcy5uYW1lKCksICdzZXQnLCBlcnIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJlbW92ZXMgYW4gb2JqZWN0IGZyb20gbG9jYWwgc3RvcmFnZVxuICAgICAqIEBwYXJhbSBrZXkgdGhlIGFzc29jaWF0ZWQga2V5XG4gICAgICovXG4gICAgcmVtb3ZlKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmxvZykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcih0aGlzLm5hbWUoKSwgJ3JlbW92ZScsIGVycik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -68,12 +68,12 @@ export class SessionStorageService extends StorageService {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
72
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
71
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: SessionStorageService, deps: [{ token: i1.LogService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
72
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: SessionStorageService }); }
|
|
73
73
|
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: SessionStorageService, decorators: [{
|
|
75
75
|
type: Injectable
|
|
76
76
|
}], ctorParameters: () => [{ type: i1.LogService, decorators: [{
|
|
77
77
|
type: Optional
|
|
78
78
|
}] }] });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3N0b3JhZ2Uvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFHbkQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsY0FBYzthQUM5QyxTQUFJLEdBQUcsdUJBQXVCLEFBQTFCLENBQTJCO0lBRXRDLFlBQWtDLEdBQWU7UUFDN0MsS0FBSyxFQUFFLENBQUM7UUFEc0IsUUFBRyxHQUFILEdBQUcsQ0FBWTtJQUVqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJO1FBQ0EsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtSEFBbUg7SUFDbkgsOERBQThEO0lBQzlELEdBQUcsQ0FBQyxHQUFXO1FBQ1gsSUFBSSxDQUFDO1lBQ0QsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMvQyxPQUFPLFVBQVUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ1gsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztZQUM1QyxDQUFDO1lBQ0QsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsbUhBQW1IO0lBQ25ILDhEQUE4RDtJQUM5RCxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQVU7UUFDdkIsSUFBSSxDQUFDO1lBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNYLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNYLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDNUMsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEdBQVc7UUFDZCxJQUFJLENBQUM7WUFDRCxjQUFjLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ1gsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7K0dBL0RRLHFCQUFxQjttSEFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVOzswQkFJTSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZy9sb2cuc2VydmljZSc7XG5cbi8qKlxuICogc2Vzc2lvblN0b3JhZ2Ugc2VydmljZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIGV4dGVuZHMgU3RvcmFnZVNlcnZpY2Uge1xuICAgIHN0YXRpYyBOQU1FID0gJ1Nlc3Npb25TdG9yYWdlU2VydmljZSc7XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgbG9nOiBMb2dTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdGhlIG5hbWUgb2YgdGhlIHN0b3JhZ2Ugc2VydmljZVxuICAgICAqL1xuICAgIG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFNlc3Npb25TdG9yYWdlU2VydmljZS5OQU1FO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHJpZXZlIGFuIG9iamVjdCBmcm9tIHNlc3Npb24gc3RvcmFnZVxuICAgICAqIEBwYXJhbSBrZXkgdGhlIGFzc29jaWF0ZWQga2V5XG4gICAgICogQHJldHVybnMgdGhlIHZhbHVlIG9yIHVuZGVmaW5lZCwgaWYgY2FzZSBvZiBlcnJvclxuICAgICAqL1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGdldChrZXk6IHN0cmluZyk6IGFueSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBzZXJpYWxpemVkID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZWQgJiYgSlNPTi5wYXJzZShzZXJpYWxpemVkKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcih0aGlzLm5hbWUoKSwgJ2dldCcsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogc2V0cyBhbiBvYmplY3QgaW4gc2Vzc2lvbiBzdG9yYWdlXG4gICAgICogQHBhcmFtIGtleSB0aGUgYXNzb2NpYXRlZCBrZXlcbiAgICAgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHRvIHNldFxuICAgICAqL1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHNldChrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3Qgc2VyaWFsaXplZCA9IEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oa2V5LCBzZXJpYWxpemVkKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcih0aGlzLm5hbWUoKSwgJ3NldCcsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZW1vdmVzIGFuIG9iamVjdCBmcm9tIHNlc3Npb24gc3RvcmFnZVxuICAgICAqIEBwYXJhbSBrZXkgdGhlIGFzc29jaWF0ZWQga2V5XG4gICAgICovXG4gICAgcmVtb3ZlKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2cuZXJyb3IodGhpcy5uYW1lKCksICdyZW1vdmUnLCBlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -51,10 +51,10 @@ export class CoreAppEffects {
|
|
|
51
51
|
}
|
|
52
52
|
})), { dispatch: false });
|
|
53
53
|
}
|
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
55
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
54
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: CoreAppEffects, deps: [{ token: i1.Actions }, { token: SHOW_CONNECTION_STATUS_TOKEN }, { token: i2.TranslateService }, { token: i3.EuiGrowlService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
55
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: CoreAppEffects }); }
|
|
56
56
|
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: CoreAppEffects, decorators: [{
|
|
58
58
|
type: Injectable
|
|
59
59
|
}], ctorParameters: () => [{ type: i1.Actions }, { type: undefined, decorators: [{
|
|
60
60
|
type: Inject,
|
|
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
63
63
|
type: Inject,
|
|
64
64
|
args: [PLATFORM_ID]
|
|
65
65
|
}] }] });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3N0b3JlL2VmZmVjdHMvYXBwLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2hFLE9BQU8sRUFBVyxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBYyxTQUFTLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQXdCLHlCQUF5QixFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHeEksT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBR3BELE1BQU0sT0FBTyxjQUFjO0lBK0R2QixZQUNjLE9BQWdCO0lBQzFCLHlCQUF5QjtJQUN1QixvQkFBc0MsRUFDNUUsZ0JBQWtDLEVBQ2xDLFNBQTBCLEVBQ0wsVUFBbUI7UUFMeEMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUVzQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQWtCO1FBQzVFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFDTCxlQUFVLEdBQVYsVUFBVSxDQUFTO1FBcEV0RCxnQ0FBMkIsR0FBdUIsWUFBWSxDQUFDLEdBQUcsRUFBRTtZQUM1RCxJQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUNwQyxPQUFP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Q0wsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQ3RCLENBQUM7SUFTQyxDQUFDOytHQXRFSyxjQUFjLHlDQWtFWCw0QkFBNEIsNEVBRzVCLFdBQVc7bUhBckVkLGNBQWM7OzRGQUFkLGNBQWM7a0JBRDFCLFVBQVU7OzBCQW1FRixNQUFNOzJCQUFDLDRCQUE0Qjs7MEJBR25DLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIG9mVHlwZSwgY3JlYXRlRWZmZWN0IH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tRXZlbnQsIG1lcmdlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBtZXJnZU1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDb3JlQXBwQWN0aW9uVHlwZXMsIEFjdGl2YXRlZFJvdXRlQWN0aW9uLCBVcGRhdGVDdXJyZW50TW9kdWxlQWN0aW9uLCBVcGRhdGVBcHBDb25uZWN0aW9uQWN0aW9uIH0gZnJvbSAnLi4vYWN0aW9ucy9hcHAuYWN0aW9ucyc7XG5cbmltcG9ydCB7IEV1aUdyb3dsU2VydmljZSB9IGZyb20gJy4uLy4uL2dyb3dsL2V1aS1ncm93bC5zZXJ2aWNlJztcbmltcG9ydCB7IFNIT1dfQ09OTkVDVElPTl9TVEFUVVNfVE9LRU4gfSBmcm9tICcuLi8uLi9jb25maWcvdG9rZW5zJztcbmltcG9ydCB7IENvbm5lY3Rpb25TdGF0dXMgfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29yZUFwcEVmZmVjdHMge1xuICAgIGdldEFwcENvbm5lY3Rpb25JbmZvcm1hdGlvbjogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGlmKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgIGZyb21FdmVudCh3aW5kb3csICdvbmxpbmUnKS5waXBlKG1hcCgoKSA9PiB0cnVlKSksXG4gICAgICAgICAgICAgICAgICAgIGZyb21FdmVudCh3aW5kb3csICdvZmZsaW5lJykucGlwZShtYXAoKCkgPT4gZmFsc2UpKSxcbiAgICAgICAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoY29ubmVjdGVkKSA9PiBuZXcgVXBkYXRlQXBwQ29ubmVjdGlvbkFjdGlvbihjb25uZWN0ZWQpKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBvZihuZXcgVXBkYXRlQXBwQ29ubmVjdGlvbkFjdGlvbihmYWxzZSkpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgKTtcblxuICAgIGFjdGl2YXRlZFJvdXRlOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICAgICAgdGhpcy5hY3Rpb25zLnBpcGUoXG4gICAgICAgICAgICBvZlR5cGUoQ29yZUFwcEFjdGlvblR5cGVzLkFDVElWQVRFRF9ST1VURSksXG4gICAgICAgICAgICBtYXAoKGFjdGlvbjogQWN0aXZhdGVkUm91dGVBY3Rpb24pID0+IGFjdGlvbi5wYXlsb2FkKSxcbiAgICAgICAgICAgIG1lcmdlTWFwKChyb3V0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGV4dHJhY3QgdGhlIG1vZHVsZSBuYW1lLCBpZiBkZWZpbmVkXG4gICAgICAgICAgICAgICAgY29uc3QgbW9kdWxlID0gcm91dGUuc25hcHNob3QuZGF0YVsnbW9kdWxlJ10gfHwgJ3VuZGVmaW5lZCc7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtuZXcgVXBkYXRlQ3VycmVudE1vZHVsZUFjdGlvbihtb2R1bGUpXTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICB1cGRhdGVBcHBDb25uZWN0aW9uID0gY3JlYXRlRWZmZWN0KFxuICAgICAgICAoKSA9PlxuICAgICAgICAgICAgdGhpcy5hY3Rpb25zLnBpcGUoXG4gICAgICAgICAgICAgICAgb2ZUeXBlKENvcmVBcHBBY3Rpb25UeXBlcy5VUERBVEVfQVBQX0NPTk5FQ1RJT04pLFxuICAgICAgICAgICAgICAgIG1hcCgoYWN0aW9uOiBVcGRhdGVBcHBDb25uZWN0aW9uQWN0aW9uKSA9PiBhY3Rpb24ucGF5bG9hZCksXG4gICAgICAgICAgICAgICAgdGFwKChjb25uZWN0ZWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgZmVhdHVyZSBpcyBlbmFibGVkXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzRmVhdHVyZUVuYWJsZWQgPSB0aGlzLnNob3dDb25uZWN0aW9uU3RhdHVzPy5lbmFibGVkO1xuICAgICAgICAgICAgICAgICAgICAvLyBleHRyYWN0IGxpZmVzcGFuIGlmIGFueVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWZlc3BhbiA9IHRoaXMuc2hvd0Nvbm5lY3Rpb25TdGF0dXM/Lm1lc3NhZ2VCb3g/LmxpZmVzcGFuIHx8IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgdGhlIHVzZXIgbmVlZHMgdG8gYmUgaW5mb3JtZWQgYWJvdXQgdGhlIGNvbm5lY3Rpb24gc3RhdHVzXG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0ZlYXR1cmVFbmFibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29ubmVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldCgnZXVpLkNPTk5FQ1RFRCcpLnN1YnNjcmliZSgodHJhbnNsYXRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hc1NlcnZpY2UuZ3Jvd2woXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHNldmVyaXR5OiAnc3VjY2VzcycsIHN1bW1hcnk6ICdNRVNTQUdFJywgZGV0YWlsOiB0cmFuc2xhdGlvbiwgbGlmZTogbGlmZXNwYW4gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpZmVzcGFuIDwgMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KCdldWkuTk9UQ09OTkVDVEVEJykuc3Vic2NyaWJlKCh0cmFuc2xhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFzU2VydmljZS5ncm93bChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgc2V2ZXJpdHk6ICdkYW5nZXInLCBzdW1tYXJ5OiAnRVJST1InLCBkZXRhaWw6IHRyYW5zbGF0aW9uLCBsaWZlOiBsaWZlc3BhbiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlmZXNwYW4gPCAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgIHsgZGlzcGF0Y2g6IGZhbHNlIH0sXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgYWN0aW9uczogQWN0aW9ucyxcbiAgICAgICAgLy8gVE9ETzogcmVtb3ZlIG9uIGVVSSAxNFxuICAgICAgICBASW5qZWN0KFNIT1dfQ09OTkVDVElPTl9TVEFUVVNfVE9LRU4pIHByb3RlY3RlZCBzaG93Q29ubmVjdGlvblN0YXR1czogQ29ubmVjdGlvblN0YXR1cyxcbiAgICAgICAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBhc1NlcnZpY2U6IEV1aUdyb3dsU2VydmljZSxcbiAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJvdGVjdGVkIHBsYXRmb3JtSWQ6IHVua25vd24sXG4gICAgKSB7fVxufVxuIl19
|