@ohioepa/oepa-ui-lib 1.2.6 → 1.2.7
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/esm2022/lib/oepa-user-account/oepa-user-account.service.mjs +16 -1
- package/fesm2022/ohioepa-oepa-ui-lib.mjs +15 -0
- package/fesm2022/ohioepa-oepa-ui-lib.mjs.map +1 -1
- package/lib/oepa-user-account/oepa-user-account.service.d.ts +2 -0
- package/ohioepa-oepa-ui-lib-1.2.7.tgz +0 -0
- package/package.json +1 -1
- package/ohioepa-oepa-ui-lib-1.2.6.tgz +0 -0
|
@@ -18,6 +18,7 @@ export class OepaUserAccountService {
|
|
|
18
18
|
personID = '';
|
|
19
19
|
sessionID = '';
|
|
20
20
|
webappsRootURL = '';
|
|
21
|
+
ebizVersion = '';
|
|
21
22
|
logoutPath = '';
|
|
22
23
|
idleTimerRunning = false;
|
|
23
24
|
idleTime = 0;
|
|
@@ -177,6 +178,20 @@ export class OepaUserAccountService {
|
|
|
177
178
|
}));
|
|
178
179
|
}
|
|
179
180
|
}
|
|
181
|
+
getEBizVersion() {
|
|
182
|
+
if (this.ebizVersion) {
|
|
183
|
+
return of(this.ebizVersion);
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
const url = this.hostUrl + '/api/v1/gateway/gatewayConfig';
|
|
187
|
+
return this.http.get(url).pipe(map((gatewayConfig) => {
|
|
188
|
+
if (gatewayConfig) {
|
|
189
|
+
this.ebizVersion = gatewayConfig.versionNumber;
|
|
190
|
+
}
|
|
191
|
+
return this.ebizVersion;
|
|
192
|
+
}));
|
|
193
|
+
}
|
|
194
|
+
}
|
|
180
195
|
/**
|
|
181
196
|
* Return array of ProgramPrivileges matching programPrivilegeRequest.
|
|
182
197
|
* @param programPrivilegeRequest
|
|
@@ -298,4 +313,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
298
313
|
type: Inject,
|
|
299
314
|
args: ['env']
|
|
300
315
|
}] }] });
|
|
301
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2VwYS11c2VyLWFjY291bnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29lcGEtdWktbGliL3NyYy9saWIvb2VwYS11c2VyLWFjY291bnQvb2VwYS11c2VyLWFjY291bnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFLMUI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sc0JBQXNCO0lBZ0JiO0lBQXlDO0lBZnJELE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDbEIsV0FBVyxHQUFHLHNCQUFzQixDQUFDO0lBQ3JDLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQztJQUNyQyxjQUFjLEdBQUcsaUJBQWlCLENBQUM7SUFDbkMsT0FBTyxDQUFtQjtJQUMxQixRQUFRLEdBQVcsRUFBRSxDQUFDO0lBQ3RCLFNBQVMsR0FBVyxFQUFFLENBQUM7SUFDdkIsY0FBYyxHQUFXLEVBQUUsQ0FBQztJQUM1QixVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUN6QixRQUFRLEdBQVUsQ0FBQyxDQUFDO0lBQ3BCLGFBQWEsR0FBRyxDQUFDLEVBQUUsR0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHlDQUF5QztJQUNsRSxXQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUNwQyxTQUFTLENBQU07SUFFdkIsWUFBb0IsSUFBZ0IsRUFBeUIsV0FBbUI7UUFBNUQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUF5QixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUM5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QWtCLENBQUMsT0FBZ0I7UUFDeEMsTUFBTSxlQUFlLEdBQVE7WUFDM0IsUUFBUSxFQUFFLE9BQU87U0FDbEIsQ0FBQTtRQUNELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUM7UUFDOUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxHQUFHLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDbkQsQ0FBQzt3R0EzU1Esc0JBQXNCLDRDQWdCYSxLQUFLOzRHQWhCeEMsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVOzswQkFpQjhCLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IE9lcGFVc2VyQWNjb3VudCwgUHJvZ3JhbVByaXZpbGVnZSwgUHJvZ3JhbVByaXZpbGVnZVJlcXVlc3QsIERlbGVnYXRpb24sIE9FUEFSb2xlLCBPZXBhUHJpdmlsZWdlIH0gZnJvbSAnQG9oaW9lcGEvb2VwYS1jb21tb24tbGliJztcblxuLyoqXG4gKiBPZXBhVXNlckFjY291bnRTZXJ2aWNlIC0gQSBjb2xsZWN0aW9uIG9mIG1ldGhvZHMgZm9yIGFjY2Vzc2luZyBhbmQgbWFuaXB1bGF0aW5nIHVzZXIgYWNjb3VudHMuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPZXBhVXNlckFjY291bnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBob3N0VXJsID0gJy9lYml6JztcbiAgcHJpdmF0ZSBhY2NvdW50c1VybCA9ICcvYXBpL3YxL3VzZXJBY2NvdW50cyc7XG4gIHByaXZhdGUgZWJpekFjY291bnRzVXJsID0gJy9hcGkvdjEvYWNjb3VudHMnO1xuICBwcml2YXRlIGViaXpTZXNzaW9uVXJsID0gJy9hcGkvdjEvc2Vzc2lvbic7XG4gIHByaXZhdGUgYWNjb3VudCE6IE9lcGFVc2VyQWNjb3VudDtcbiAgcHJpdmF0ZSBwZXJzb25JRDogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgc2Vzc2lvbklEOiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSB3ZWJhcHBzUm9vdFVSTDogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgbG9nb3V0UGF0aDogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgaWRsZVRpbWVyUnVubmluZyA9IGZhbHNlO1xuICBwcml2YXRlIGlkbGVUaW1lOm51bWJlciA9IDA7XG4gIHByaXZhdGUgaWRsZVRocmVzaG9sZCA9ICgyOSo2MCk7IC8vIDI5IG1pbnV0ZSB0aW1lb3V0IHRocmVzaG9sZCBieSBkZWZhdWx0XG4gIHByaXZhdGUgaWRsZVN1YmplY3QgPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG4gIHByaXZhdGUgdGltZW91dElEOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGViaXpSb290VVJMOiBzdHJpbmcpIHtcbiAgICB0aGlzLmhvc3RVcmwgPSBlYml6Um9vdFVSTCArIHRoaXMuaG9zdFVybDtcbiAgICB0aGlzLmxvZ291dFBhdGggPSAnL2pzcC9sb2dvdXQuanNwJztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0aGUgVXNlciBBY2NvdW50IGZvciB0aGUgdXNlciB1c2VyaWQuXG4gICAqIEBwYXJhbSB1c2VyaWRcbiAgICovXG4gIHB1YmxpYyByZXRyaWV2ZUFjY291bnRGb3JVc2VyKHVzZXJpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxPZXBhVXNlckFjY291bnQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxPZXBhVXNlckFjY291bnQ+KHRoaXMuaG9zdFVybCArIHRoaXMuYWNjb3VudHNVcmwgKyAnLycgKyB1c2VyaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIHRoZSB1c2VyIGFjY291bnQgZm9yIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIuXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8T2VwYVVzZXJBY2NvdW50PlxuICAgKi9cbiAgcHVibGljIHJldHJpZXZlQWNjb3VudEZvckN1cnJlbnRVc2VyKCk6IE9ic2VydmFibGU8T2VwYVVzZXJBY2NvdW50PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8T2VwYVVzZXJBY2NvdW50Pih0aGlzLmhvc3RVcmwgKyB0aGlzLmFjY291bnRzVXJsICsgJy9sb2dpbicpLnBpcGUobWFwKChhY2NvdW50OiBPZXBhVXNlckFjY291bnQpID0+IHtcbiAgICAgIGlmICghYWNjb3VudCkge1xuICAgICAgICBpZiAodGhpcy5wZXJzb25JRCAmJiB0aGlzLnNlc3Npb25JRCkge1xuICAgICAgICAgIHRoaXMucmV0cmlldmVBY2NvdW50Rm9ySW50ZXJuYWxTZXNzaW9uKHRoaXMucGVyc29uSUQsIHRoaXMuc2Vzc2lvbklEKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogaW50ZXJuYWxBY2NvdW50ID0+IHtcbiAgICAgICAgICAgIGlmIChpbnRlcm5hbEFjY291bnQpIHtcbiAgICAgICAgICAgICAgdGhpcy5hY2NvdW50ID0gaW50ZXJuYWxBY2NvdW50XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmxvZ01lc3NhZ2VPblNlcnZlcigncmV0cmlldmVBY2NvdW50Rm9yQ3VycmVudFVzZXIgLSBubyBhY2NvdW50LCByZWRpcmVjdGluZyB0byBsb2dvdXQnKTtcbiAgICAgICAgICAgICAgdGhpcy5yZWRpcmVjdFRvTG9nb3V0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSwgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ01lc3NhZ2VPblNlcnZlcignRmFpbGVkIHJldHJpZXZpbmcgaW50ZXJuYWwgYWNjb3VudDogJyArIGVycik7XG4gICAgICAgICAgICB0aGlzLnJlZGlyZWN0VG9Mb2dvdXQoKTtcbiAgICAgICAgICB9fSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5sb2dNZXNzYWdlT25TZXJ2ZXIoJ3JldHJpZXZlQWNjb3VudEZvckN1cnJlbnRVc2VyIC0gbm8gYWNjb3VudCwgcmVkaXJlY3RpbmcgdG8gbG9nb3V0Jyk7XG4gICAgICAgICAgdGhpcy5yZWRpcmVjdFRvTG9nb3V0KCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWNjb3VudCA9IGFjY291bnQ7XG4gICAgICAgIGNvbnNvbGUubG9nKCdyZXRyaWV2ZUFjY291bnRGb3JDdXJyZW50VXNlcjogJyArIHRoaXMuYWNjb3VudD8ubG9naW5OYW1lIHx8ICc8dW5rbm93bj4nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmFjY291bnQ7XG4gICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZGlyZWN0IHRvIGxvZ291dCBzY3JlZW4gaWYgdXNlciBpcyBub3QgZm91bmRcbiAgICovXG4gIHB1YmxpYyByZWRpcmVjdFRvTG9nb3V0KG1zZyA/OiBzdHJpbmcpIHtcbiAgICBsZXQgbG9nb3V0VXJsID0gdGhpcy5sb2dvdXRQYXRoO1xuICAgIGlmICh0aGlzLndlYmFwcHNSb290VVJMKSB7XG4gICAgICBsb2dvdXRVcmwgPSB0aGlzLndlYmFwcHNSb290VVJMICsgKHRoaXMubG9nb3V0UGF0aCB8fCAnJyk7XG4gICAgfVxuICAgIGFsZXJ0KG1zZyB8fCAnQ29ubmVjdGlvbiBsb3N0LiBZb3Ugd2lsbCBiZSByZWRpcmVjdGVkIHRvIHRoZSBsb2dpbiBwYWdlLicpO1xuICAgIGNvbnNvbGUubG9nKCdyZWRpcmVjdGluZyB0byBsb2dvdXRVcmw6JyArIGxvZ291dFVybCk7XG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBsb2dvdXRVcmw7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgdGhlIHVzZXIgYWNjb3VudCBmb3IgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlci5cbiAgICogQHBhcmFtIHNlc3Npb25JRCBwZXJzb24gSUQgZm9yIGludGVybmFsIHVzZXJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxPZXBhVXNlckFjY291bnQ+XG4gICAqL1xuICBwdWJsaWMgcmV0cmlldmVBY2NvdW50Rm9ySW50ZXJuYWxTZXNzaW9uKHBlcnNvbklEOiBzdHJpbmcsIHNlc3Npb25JRDogc3RyaW5nKTogT2JzZXJ2YWJsZTxPZXBhVXNlckFjY291bnQ+IHtcbiAgICB0aGlzLmFjY291bnQgPSB7fTtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmhvc3RVcmwgKyB0aGlzLmFjY291bnRzVXJsICsgJy9pbnRlcm5hbC9wZXJzb25JRC8nICsgcGVyc29uSUQgKyAnL3Nlc3Npb25JRC8nICsgc2Vzc2lvbklEO1xuICAgIGNvbnNvbGUubG9nKCdyZXRyaWV2ZUFjY291bnRGb3JJbnRlcm5hbFNlc3Npb246ICcgKyB1cmwpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE9lcGFVc2VyQWNjb3VudD4odXJsKS5waXBlKG1hcCgoYWNjb3VudDogT2VwYVVzZXJBY2NvdW50KSA9PiB7XG4gICAgICB0aGlzLmFjY291bnQgPSBhY2NvdW50O1xuICAgICAgdGhpcy5wZXJzb25JRCA9IHBlcnNvbklEO1xuICAgICAgdGhpcy5zZXNzaW9uSUQgPSBzZXNzaW9uSUQ7XG4gICAgICBjb25zb2xlLmxvZygncmV0cmlldmVBY2NvdW50Rm9ySW50ZXJuYWxTZXNzaW9uOiAnICsgdGhpcy5hY2NvdW50Py5sb2dpbk5hbWUgfHwgJzx1bmtub3duPicpO1xuICAgICAgcmV0dXJuIGFjY291bnQ7XG4gICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZSB3aGV0aGVyIGFjY291bnQgaGFzIHRoZSByb2xlIHJvbGVOYW1lLlxuICAgKiBAcGFyYW0gYWNjb3VudFxuICAgKiBAcGFyYW0gcm9sZU5hbWVcbiAgICovXG4gIHB1YmxpYyBhY2NvdW50SGFzUm9sZShhY2NvdW50OiBPZXBhVXNlckFjY291bnQsIHJvbGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBsZXQgaGFzUm9sZSA9IGZhbHNlO1xuICAgIGNvbnN0IHJvbGVMaXN0ID0gdGhpcy5nZXRSb2xlTGlzdChhY2NvdW50KTtcbiAgICBpZiAocm9sZUxpc3QgJiYgcm9sZUxpc3QubGVuZ3RoKSB7XG4gICAgICBoYXNSb2xlID0gKHJvbGVMaXN0LmluZGV4T2Yocm9sZU5hbWUpID4gLTEpO1xuICAgIH1cbiAgICByZXR1cm4gaGFzUm9sZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Um9sZUxpc3QoYWNjb3VudDogT2VwYVVzZXJBY2NvdW50KTogQXJyYXk8c3RyaW5nPiB7XG4gICAgY29uc3Qgcm9sZUxpc3Q6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgICBpZiAoYWNjb3VudC5yb2xlTGlzdCAmJiBhY2NvdW50LnJvbGVMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIGFjY291bnQucm9sZUxpc3QuZm9yRWFjaCgocm9sZTogT0VQQVJvbGUpID0+IHtcbiAgICAgICAgcm9sZUxpc3QucHVzaChyb2xlLm5hbWUgfHwgJycpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByb2xlTGlzdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmUgd2hldGhlciBhY2NvdW50IGhhcyB0aGUgcHJpdmlsZWdlIHByaXZpbGVnZVR5cGUuXG4gICAqIEBwYXJhbSBhY2NvdW50XG4gICAqIEBwYXJhbSBwcml2aWxlZ2VUeXBlXG4gICAqL1xuICBwdWJsaWMgYWNjb3VudEhhc1ByaXZpbGVnZShhY2NvdW50OiBPZXBhVXNlckFjY291bnQsIHByaXZpbGVnZVR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGxldCBoYXNQcml2aWxlZ2UgPSBmYWxzZTtcbiAgICBjb25zdCBwcml2aWxlZ2VMaXN0ID0gdGhpcy5nZXRQcml2aWxlZ2VMaXN0KGFjY291bnQpO1xuICAgIGlmIChwcml2aWxlZ2VMaXN0ICYmIHByaXZpbGVnZUxpc3QubGVuZ3RoKSB7XG4gICAgICBoYXNQcml2aWxlZ2UgPSAocHJpdmlsZWdlTGlzdC5pbmRleE9mKHByaXZpbGVnZVR5cGUpID4gLTEpO1xuICAgIH1cbiAgICByZXR1cm4gaGFzUHJpdmlsZWdlO1xuICB9XG5cbiAgcHVibGljIGdldFByaXZpbGVnZUxpc3QoYWNjb3VudDogT2VwYVVzZXJBY2NvdW50KTogQXJyYXk8c3RyaW5nPiB7XG4gICAgY29uc3QgcHJpdmlsZWdlTGlzdDogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgIGlmIChhY2NvdW50LnJvbGVMaXN0ICYmIGFjY291bnQucm9sZUxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgYWNjb3VudC5yb2xlTGlzdC5mb3JFYWNoKChyb2xlOiBPRVBBUm9sZSkgPT4ge1xuICAgICAgICBpZiAocm9sZS5wcml2aWxlZ2VMaXN0ICYmIHJvbGUucHJpdmlsZWdlTGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcm9sZS5wcml2aWxlZ2VMaXN0LmZvckVhY2goKHByaXZpbGVnZTogT2VwYVByaXZpbGVnZSkgPT4ge1xuICAgICAgICAgICAgcHJpdmlsZWdlTGlzdC5wdXNoKHByaXZpbGVnZS50eXBlIHx8ICcnKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBwcml2aWxlZ2VMaXN0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIHRoZSB1c2VyQWNjb3VudCBvZiB0aGUgY3VycmVudCB1c2VyLiBUaGUgcmV0cmlldmVBY2NvdW50Rm9yQ3VycmVudFVzZXIgbWV0aG9kXG4gICAqIG11c3QgYmUgaW52b2tlZCBwcmlvciB0byBpbnZva2luZyB0aGlzIG1ldGhvZC5cbiAgICovXG4gIHB1YmxpYyBnZXRDdXJyZW50VXNlckFjY291bnQoKTogT2VwYVVzZXJBY2NvdW50IHtcbiAgICBjb25zb2xlLmxvZygnZ2V0Q3VycmVudFVzZXJBY2NvdW50OiAnICsgdGhpcy5hY2NvdW50Py5sb2dpbk5hbWUgfHwgJzx1bmtub3duPicpO1xuICAgIHJldHVybiB0aGlzLmFjY291bnQ7XG4gIH1cblxuICAvKipcbiAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAqIEVCSVogTUVUSE9EUzpcbiAgICogVGhlIG1ldGhvZHMgYmVsb3cgY3VycmVudGx5IGFwcGx5IG9ubHkgdG8gZUJpei5cbiAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAqL1xuXG4gIHB1YmxpYyBnZXRXZWJhcHBzUm9vdFVSTCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGlmICh0aGlzLndlYmFwcHNSb290VVJMKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy53ZWJhcHBzUm9vdFVSTCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMuaG9zdFVybCArICcvYXBpL3YxL2dhdGV3YXkvZ2F0ZXdheUNvbmZpZyc7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KHVybCkucGlwZShtYXAoKGdhdGV3YXlDb25maWc6YW55KSA9PiB7XG4gICAgICAgIGlmIChnYXRld2F5Q29uZmlnKSB7XG4gICAgICAgICAgdGhpcy53ZWJhcHBzUm9vdFVSTCA9IGdhdGV3YXlDb25maWcud2ViYXBwc1Jvb3RVUkw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMud2ViYXBwc1Jvb3RVUkw7XG4gICAgICB9KSk7XG4gICAgfVxuICAgIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFycmF5IG9mIFByb2dyYW1Qcml2aWxlZ2VzIG1hdGNoaW5nIHByb2dyYW1Qcml2aWxlZ2VSZXF1ZXN0LlxuICAgKiBAcGFyYW0gcHJvZ3JhbVByaXZpbGVnZVJlcXVlc3RcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxBcnJheTxQcm9ncmFtUHJpdmlsZWdlPj5cbiAgICovXG4gIHB1YmxpYyBzZWFyY2hQcml2aWxlZ2VzKHByb2dyYW1Qcml2aWxlZ2VSZXF1ZXN0OiBQcm9ncmFtUHJpdmlsZWdlUmVxdWVzdCwgYWx0VXNlcklEPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxBcnJheTxQcm9ncmFtUHJpdmlsZWdlPj4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuaG9zdFVybCArIHRoaXMuZWJpekFjY291bnRzVXJsICsgJy9wcm9ncmFtUHJpdmlsZWdlcy9zZWFyY2gnICsgKGFsdFVzZXJJRCA/ICc/dXNlcmlkPScgKyBhbHRVc2VySUQgOiAnJyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFycmF5PFByb2dyYW1Qcml2aWxlZ2U+Pih1cmwsIHByb2dyYW1Qcml2aWxlZ2VSZXF1ZXN0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgUHJvZ3JhbVByaXZpbGVnZSBiYXNlZCBvbiBjb250ZW50cyBvZiBQcm9ncmFtUHJpdmlsZWdlUmVxdWVzdC5cbiAgICogQHBhcmFtIHByb2dyYW1Qcml2aWxlZ2VSZXF1ZXN0XG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8UHJvZ3JhbVByaXZpbGVnZT9cbiAgICovXG4gIHB1YmxpYyBjcmVhdGVQcm9ncmFtUHJpdmlsZWdlKHByb2dyYW1Qcml2aWxlZ2VSZXF1ZXN0OiBQcm9ncmFtUHJpdmlsZWdlUmVxdWVzdCwgYWx0VXNlcklEPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcm9ncmFtUHJpdmlsZWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFByb2dyYW1Qcml2aWxlZ2U+KHRoaXMuaG9zdFVybCArIHRoaXMuZWJpekFjY291bnRzVXJsICsgJy9wcm9ncmFtUHJpdmlsZWdlcycrIChhbHRVc2VySUQgPyAnP3VzZXJpZD0nICsgYWx0VXNlcklEIDogJycpLCBcbiAgICBwcm9ncmFtUHJpdmlsZWdlUmVxdWVzdCk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIHRoZSBQcm9ncmFtUHJpdmlsZWdlIGlkZW50aWZpZWQgYnkgcHJvZ3JhbVByaXZpbGVnZUlELlxuICAgKiBAcGFyYW0gcHJvZ3JhbVByaXZpbGVnZUlEXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8dm9pZD5cbiAgICovXG4gIHB1YmxpYyBkZWxldGVQcm9ncmFtUHJpdmlsZWdlKHByb2dyYW1Qcml2aWxlZ2VJRDogc3RyaW5nLCBhbHRVc2VySUQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHRoaXMuaG9zdFVybCArIHRoaXMuZWJpekFjY291bnRzVXJsICsgJy9wcm9ncmFtUHJpdmlsZWdlcy8nICsgcHJvZ3JhbVByaXZpbGVnZUlEICsgKGFsdFVzZXJJRCA/ICc/dXNlcmlkPScgKyBhbHRVc2VySUQgOiAnJyksIFxuICAgIHsgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZWdhdGUgYSBwcm9ncmFtIHByaXZpbGVnZSBiYXNlZCBvbiBpbmZvcm1hdGlvbiBpbiBkZWxlZ2F0aW9uLlxuICAgKiBAcGFyYW0gZGVsZWdhdGlvblxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPHZvaWQ+XG4gICAqL1xuICBwdWJsaWMgZGVsZWdhdGVQcm9ncmFtUHJpdmlsZWdlKGRlbGVnYXRpb246IERlbGVnYXRpb24sIGFsdFVzZXJJRD86IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuaG9zdFVybCArIHRoaXMuZWJpekFjY291bnRzVXJsICsgJy9wcm9ncmFtUHJpdmlsZWdlcy9kZWxlZ2F0aW9uJyArIChhbHRVc2VySUQgPyAnP3VzZXJpZD0nICsgYWx0VXNlcklEIDogJycpLFxuICAgIGRlbGVnYXRpb24sIHsgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSk7XG4gIH1cblxuIC8qKlxuICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICogSGVscGVyIE1FVEhPRFM6XG4gICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgKi9cblxuICAgLyoqXG4gICAgKiBTZXQgdGhlIHVzZXIgYWNjb3VudCB0byBiZSB1c2VkIGZvciBcImxpdmUgcmVsb2FkIG1vZGVcIlxuICAgICogQHBhcmFtIHVzZXJBY2NvdW50IFxuICAgICovXG4gICAgcHVibGljIHNldExpdmVSZWxvYWRVc2VyKHVzZXJBY2NvdW50OiBPZXBhVXNlckFjY291bnQpOiBPYnNlcnZhYmxlPE9lcGFVc2VyQWNjb3VudD4ge1xuICAgICAgdGhpcy5hY2NvdW50ID0gdXNlckFjY291bnQ7XG4gICAgICBjb25zb2xlLmxvZygnc2V0TGl2ZVJlbG9hZFVzZXI6ICcgKyB0aGlzLmFjY291bnQ/LmxvZ2luTmFtZSB8fCAnPHVua25vd24+Jyk7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8T2VwYVVzZXJBY2NvdW50Pih0aGlzLmhvc3RVcmwgKyB0aGlzLmViaXpBY2NvdW50c1VybCArICcvbGl2ZVJlbG9hZCcsIHVzZXJBY2NvdW50KTtcbiAgICB9XG5cbiAgIC8qKlxuICAgICogU3RvcmVzIHRoZSBnaXZlbiB1c2VyIGluIHRoZSBlQml6IHNlc3Npb24uXG4gICAgKiBAcGFyYW0gYWNjb3VudFVzZXJJRCBcbiAgICAqL1xuICAgcHVibGljIHN0b3JlVXNlckluU2Vzc2lvbihhY2NvdW50VXNlcklEOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE9lcGFVc2VyQWNjb3VudD4ge1xuICAgICBsZXQgYWNjdCA9IHt9IGFzIE9lcGFVc2VyQWNjb3VudDtcbiAgICAgYWNjdC5hY2NvdW50SUQgPSBhY2NvdW50VXNlcklEO1xuICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8T2VwYVVzZXJBY2NvdW50Pih0aGlzLmhvc3RVcmwgKyB0aGlzLmViaXpTZXNzaW9uVXJsICsgJy9zdG9yZVVzZXIvJyArIGFjY291bnRVc2VySUQsIG51bGwpO1xuICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VlIGlmIHRoZSBjdXJyZW50IHVzZXIgc2hvdWxkIGJlIGFsbG93ZWQgdG8gc2VlIFwiZGVtb1wiIGNhcGFiaWxpdGllc1xuICAgICAqL1xuICAgIHB1YmxpYyBkZW1vQ2FwYWJpbGl0aWVzQWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICAgIGxldCBkZW1vQWxsb3dlZCA9IGZhbHNlO1xuICAgICAgaWYgKHRoaXMuYWNjb3VudCAmJiB0aGlzLmFjY291bnQucm9sZUxpc3QpIHtcbiAgICAgICAgdGhpcy5hY2NvdW50LnJvbGVMaXN0LmZvckVhY2gocm9sZSA9PiB7XG4gICAgICAgICAgaWYgKHJvbGUubmFtZSA9PT0gJ0FsbG93RGVtbycpIHtcbiAgICAgICAgICAgIGRlbW9BbGxvd2VkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGRlbW9BbGxvd2VkO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGFydElkbGVUaW1lcih0aHJlc2hvbGQ/OiBudW1iZXIpIHtcbiAgICAgIGlmICh0aGlzLnRpbWVvdXRJRCkge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0SUQpO1xuICAgICAgfVxuICAgICAgdGhpcy5pZGxlVGhyZXNob2xkID0gdGhyZXNob2xkIHx8IHRoaXMuaWRsZVRocmVzaG9sZDtcbiAgICAgIGlmICghdGhpcy5pZGxlVGltZXJSdW5uaW5nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdUaGUgaWRsZSB0aW1lb3V0IHN0YXJ0ZWQgd2l0aCB0aHJlc2hvbGQ6ICcgKyB0aGlzLmlkbGVUaHJlc2hvbGQpO1xuICAgICAgICB0aGlzLmlkbGVUaW1lclJ1bm5pbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmNoZWNrVGltZW91dCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZXNldElkbGVUaW1lKCkge1xuICAgICAgY29uc29sZS5sb2coJ2lkbGUgdGltZXIgcmVzZXQnKTtcbiAgICAgIHRoaXMuaWRsZVRpbWUgPSAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tUaW1lb3V0KCkge1xuICAgICAgdGhpcy50aW1lb3V0SUQgPSBzZXRUaW1lb3V0KCgpPT4ge1xuICAgICAgICB0aGlzLmlkbGVUaW1lICs9IDYwO1xuICAgICAgICBjb25zb2xlLmxvZygnaWRsZSB0aW1lID0gJyArIHRoaXMuaWRsZVRpbWUgKyBcIiwgdGhyZXNob2xkID0gXCIgKyB0aGlzLmlkbGVUaHJlc2hvbGQpO1xuICAgICAgICBpZiAodGhpcy5pZGxlVGltZSA+PSB0aGlzLmlkbGVUaHJlc2hvbGQpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnZmlyaW5nIG5leHQgaWRsZVN1YmplY3QuLi4nKTtcbiAgICAgICAgICB0aGlzLmlkbGVUaW1lclJ1bm5pbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmlkbGVTdWJqZWN0Lm5leHQodGhpcy5pZGxlVGltZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHRoaXMudGltZW91dElEKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0SUQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmNoZWNrVGltZW91dCgpO1xuICAgICAgICB9XG4gICAgICB9LCA2MDAwMCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldElkbGVUaW1lb3V0KCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICByZXR1cm4gdGhpcy5pZGxlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgXG4gICAgcHVibGljIGxvZ01lc3NhZ2VPblNlcnZlcihtZXNzYWdlPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2VSZXNwb25zZTogYW55ID0ge1xuICAgICAgICByZXNwb25zZTogbWVzc2FnZVxuICAgICAgfVxuICAgICAgY29uc3QgdXJsID0gdGhpcy5ob3N0VXJsICsgdGhpcy5hY2NvdW50c1VybCArICcvbG9ncy9tZXNzYWdlJztcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgbWVzc2FnZVJlc3BvbnNlKTtcbiAgICB9XG59XG4iXX0=
|
|
316
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2VwYS11c2VyLWFjY291bnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29lcGEtdWktbGliL3NyYy9saWIvb2VwYS11c2VyLWFjY291bnQvb2VwYS11c2VyLWFjY291bnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFLMUI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sc0JBQXNCO0lBaUJiO0lBQXlDO0lBaEJyRCxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ2xCLFdBQVcsR0FBRyxzQkFBc0IsQ0FBQztJQUNyQyxlQUFlLEdBQUcsa0JBQWtCLENBQUM7SUFDckMsY0FBYyxHQUFHLGlCQUFpQixDQUFDO0lBQ25DLE9BQU8sQ0FBbUI7SUFDMUIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixTQUFTLEdBQVcsRUFBRSxDQUFDO0lBQ3ZCLGNBQWMsR0FBVyxFQUFFLENBQUM7SUFDNUIsV0FBVyxHQUFXLEVBQUUsQ0FBQztJQUN6QixVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUN6QixRQUFRLEdBQVUsQ0FBQyxDQUFDO0lBQ3BCLGFBQWEsR0FBRyxDQUFDLEVBQUUsR0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHlDQUF5QztJQUNsRSxXQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUNwQyxTQUFTLENBQU07SUFFdkIsWUFBb0IsSUFBZ0IsRUFBeUIsV0FBbUI7UUFBNUQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUF5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QUMsUUFBUSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO2dCQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUNuQixZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUMvQixDQUFDO2dCQUNELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixDQUFDO1FBQ0gsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxPQUFnQjtRQUN4QyxNQUFNLGVBQWUsR0FBUTtZQUMzQixRQUFRLEVBQUUsT0FBTztTQUNsQixDQUFBO1FBQ0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQztRQUM5RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLEdBQUcsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUNuRCxDQUFDO3dHQTFUUSxzQkFBc0IsNENBaUJhLEtBQUs7NEdBakJ4QyxzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVU7OzBCQWtCOEIsTUFBTTsyQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgT2VwYVVzZXJBY2NvdW50LCBQcm9ncmFtUHJpdmlsZWdlLCBQcm9ncmFtUHJpdmlsZWdlUmVxdWVzdCwgRGVsZWdhdGlvbiwgT0VQQVJvbGUsIE9lcGFQcml2aWxlZ2UgfSBmcm9tICdAb2hpb2VwYS9vZXBhLWNvbW1vbi1saWInO1xuXG4vKipcbiAqIE9lcGFVc2VyQWNjb3VudFNlcnZpY2UgLSBBIGNvbGxlY3Rpb24gb2YgbWV0aG9kcyBmb3IgYWNjZXNzaW5nIGFuZCBtYW5pcHVsYXRpbmcgdXNlciBhY2NvdW50cy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9lcGFVc2VyQWNjb3VudFNlcnZpY2Uge1xuICBwcml2YXRlIGhvc3RVcmwgPSAnL2ViaXonO1xuICBwcml2YXRlIGFjY291bnRzVXJsID0gJy9hcGkvdjEvdXNlckFjY291bnRzJztcbiAgcHJpdmF0ZSBlYml6QWNjb3VudHNVcmwgPSAnL2FwaS92MS9hY2NvdW50cyc7XG4gIHByaXZhdGUgZWJpelNlc3Npb25VcmwgPSAnL2FwaS92MS9zZXNzaW9uJztcbiAgcHJpdmF0ZSBhY2NvdW50ITogT2VwYVVzZXJBY2NvdW50O1xuICBwcml2YXRlIHBlcnNvbklEOiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBzZXNzaW9uSUQ6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIHdlYmFwcHNSb290VVJMOiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBlYml6VmVyc2lvbjogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgbG9nb3V0UGF0aDogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgaWRsZVRpbWVyUnVubmluZyA9IGZhbHNlO1xuICBwcml2YXRlIGlkbGVUaW1lOm51bWJlciA9IDA7XG4gIHByaXZhdGUgaWRsZVRocmVzaG9sZCA9ICgyOSo2MCk7IC8vIDI5IG1pbnV0ZSB0aW1lb3V0IHRocmVzaG9sZCBieSBkZWZhdWx0XG4gIHByaXZhdGUgaWRsZVN1YmplY3QgPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG4gIHByaXZhdGUgdGltZW91dElEOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGViaXpSb290VVJMOiBzdHJpbmcpIHtcbiAgICB0aGlzLmhvc3RVcmwgPSBlYml6Um9vdFVSTCArIHRoaXMuaG9zdFVybDtcbiAgICB0aGlzLmxvZ291dFBhdGggPSAnL2pzcC9sb2dvdXQuanNwJztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0aGUgVXNlciBBY2NvdW50IGZvciB0aGUgdXNlciB1c2VyaWQuXG4gICAqIEBwYXJhbSB1c2VyaWRcbiAgICovXG4gIHB1YmxpYyByZXRyaWV2ZUFjY291bnRGb3JVc2VyKHVzZXJpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxPZXBhVXNlckFjY291bnQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxPZXBhVXNlckFjY291bnQ+KHRoaXMuaG9zdFVybCArIHRoaXMuYWNjb3VudHNVcmwgKyAnLycgKyB1c2VyaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIHRoZSB1c2VyIGFjY291bnQgZm9yIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXIuXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8T2VwYVVzZXJBY2NvdW50PlxuICAgKi9cbiAgcHVibGljIHJldHJpZXZlQWNjb3VudEZvckN1cnJlbnRVc2VyKCk6IE9ic2VydmFibGU8T2VwYVVzZXJBY2NvdW50PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8T2VwYVVzZXJBY2NvdW50Pih0aGlzLmhvc3RVcmwgKyB0aGlzLmFjY291bnRzVXJsICsgJy9sb2dpbicpLnBpcGUobWFwKChhY2NvdW50OiBPZXBhVXNlckFjY291bnQpID0+IHtcbiAgICAgIGlmICghYWNjb3VudCkge1xuICAgICAgICBpZiAodGhpcy5wZXJzb25JRCAmJiB0aGlzLnNlc3Npb25JRCkge1xuICAgICAgICAgIHRoaXMucmV0cmlldmVBY2NvdW50Rm9ySW50ZXJuYWxTZXNzaW9uKHRoaXMucGVyc29uSUQsIHRoaXMuc2Vzc2lvbklEKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogaW50ZXJuYWxBY2NvdW50ID0+IHtcbiAgICAgICAgICAgIGlmIChpbnRlcm5hbEFjY291bnQpIHtcbiAgICAgICAgICAgICAgdGhpcy5hY2NvdW50ID0gaW50ZXJuYWxBY2NvdW50XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmxvZ01lc3NhZ2VPblNlcnZlcigncmV0cmlldmVBY2NvdW50Rm9yQ3VycmVudFVzZXIgLSBubyBhY2NvdW50LCByZWRpcmVjdGluZyB0byBsb2dvdXQnKTtcbiAgICAgICAgICAgICAgdGhpcy5yZWRpcmVjdFRvTG9nb3V0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSwgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ01lc3NhZ2VPblNlcnZlcignRmFpbGVkIHJldHJpZXZpbmcgaW50ZXJuYWwgYWNjb3VudDogJyArIGVycik7XG4gICAgICAgICAgICB0aGlzLnJlZGlyZWN0VG9Mb2dvdXQoKTtcbiAgICAgICAgICB9fSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5sb2dNZXNzYWdlT25TZXJ2ZXIoJ3JldHJpZXZlQWNjb3VudEZvckN1cnJlbnRVc2VyIC0gbm8gYWNjb3VudCwgcmVkaXJlY3RpbmcgdG8gbG9nb3V0Jyk7XG4gICAgICAgICAgdGhpcy5yZWRpcmVjdFRvTG9nb3V0KCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWNjb3VudCA9IGFjY291bnQ7XG4gICAgICAgIGNvbnNvbGUubG9nKCdyZXRyaWV2ZUFjY291bnRGb3JDdXJyZW50VXNlcjogJyArIHRoaXMuYWNjb3VudD8ubG9naW5OYW1lIHx8ICc8dW5rbm93bj4nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmFjY291bnQ7XG4gICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZGlyZWN0IHRvIGxvZ291dCBzY3JlZW4gaWYgdXNlciBpcyBub3QgZm91bmRcbiAgICovXG4gIHB1YmxpYyByZWRpcmVjdFRvTG9nb3V0KG1zZyA/OiBzdHJpbmcpIHtcbiAgICBsZXQgbG9nb3V0VXJsID0gdGhpcy5sb2dvdXRQYXRoO1xuICAgIGlmICh0aGlzLndlYmFwcHNSb290VVJMKSB7XG4gICAgICBsb2dvdXRVcmwgPSB0aGlzLndlYmFwcHNSb290VVJMICsgKHRoaXMubG9nb3V0UGF0aCB8fCAnJyk7XG4gICAgfVxuICAgIGFsZXJ0KG1zZyB8fCAnQ29ubmVjdGlvbiBsb3N0LiBZb3Ugd2lsbCBiZSByZWRpcmVjdGVkIHRvIHRoZSBsb2dpbiBwYWdlLicpO1xuICAgIGNvbnNvbGUubG9nKCdyZWRpcmVjdGluZyB0byBsb2dvdXRVcmw6JyArIGxvZ291dFVybCk7XG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBsb2dvdXRVcmw7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgdGhlIHVzZXIgYWNjb3VudCBmb3IgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlci5cbiAgICogQHBhcmFtIHNlc3Npb25JRCBwZXJzb24gSUQgZm9yIGludGVybmFsIHVzZXJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxPZXBhVXNlckFjY291bnQ+XG4gICAqL1xuICBwdWJsaWMgcmV0cmlldmVBY2NvdW50Rm9ySW50ZXJuYWxTZXNzaW9uKHBlcnNvbklEOiBzdHJpbmcsIHNlc3Npb25JRDogc3RyaW5nKTogT2JzZXJ2YWJsZTxPZXBhVXNlckFjY291bnQ+IHtcbiAgICB0aGlzLmFjY291bnQgPSB7fTtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmhvc3RVcmwgKyB0aGlzLmFjY291bnRzVXJsICsgJy9pbnRlcm5hbC9wZXJzb25JRC8nICsgcGVyc29uSUQgKyAnL3Nlc3Npb25JRC8nICsgc2Vzc2lvbklEO1xuICAgIGNvbnNvbGUubG9nKCdyZXRyaWV2ZUFjY291bnRGb3JJbnRlcm5hbFNlc3Npb246ICcgKyB1cmwpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE9lcGFVc2VyQWNjb3VudD4odXJsKS5waXBlKG1hcCgoYWNjb3VudDogT2VwYVVzZXJBY2NvdW50KSA9PiB7XG4gICAgICB0aGlzLmFjY291bnQgPSBhY2NvdW50O1xuICAgICAgdGhpcy5wZXJzb25JRCA9IHBlcnNvbklEO1xuICAgICAgdGhpcy5zZXNzaW9uSUQgPSBzZXNzaW9uSUQ7XG4gICAgICBjb25zb2xlLmxvZygncmV0cmlldmVBY2NvdW50Rm9ySW50ZXJuYWxTZXNzaW9uOiAnICsgdGhpcy5hY2NvdW50Py5sb2dpbk5hbWUgfHwgJzx1bmtub3duPicpO1xuICAgICAgcmV0dXJuIGFjY291bnQ7XG4gICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZSB3aGV0aGVyIGFjY291bnQgaGFzIHRoZSByb2xlIHJvbGVOYW1lLlxuICAgKiBAcGFyYW0gYWNjb3VudFxuICAgKiBAcGFyYW0gcm9sZU5hbWVcbiAgICovXG4gIHB1YmxpYyBhY2NvdW50SGFzUm9sZShhY2NvdW50OiBPZXBhVXNlckFjY291bnQsIHJvbGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBsZXQgaGFzUm9sZSA9IGZhbHNlO1xuICAgIGNvbnN0IHJvbGVMaXN0ID0gdGhpcy5nZXRSb2xlTGlzdChhY2NvdW50KTtcbiAgICBpZiAocm9sZUxpc3QgJiYgcm9sZUxpc3QubGVuZ3RoKSB7XG4gICAgICBoYXNSb2xlID0gKHJvbGVMaXN0LmluZGV4T2Yocm9sZU5hbWUpID4gLTEpO1xuICAgIH1cbiAgICByZXR1cm4gaGFzUm9sZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Um9sZUxpc3QoYWNjb3VudDogT2VwYVVzZXJBY2NvdW50KTogQXJyYXk8c3RyaW5nPiB7XG4gICAgY29uc3Qgcm9sZUxpc3Q6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgICBpZiAoYWNjb3VudC5yb2xlTGlzdCAmJiBhY2NvdW50LnJvbGVMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIGFjY291bnQucm9sZUxpc3QuZm9yRWFjaCgocm9sZTogT0VQQVJvbGUpID0+IHtcbiAgICAgICAgcm9sZUxpc3QucHVzaChyb2xlLm5hbWUgfHwgJycpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByb2xlTGlzdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmUgd2hldGhlciBhY2NvdW50IGhhcyB0aGUgcHJpdmlsZWdlIHByaXZpbGVnZVR5cGUuXG4gICAqIEBwYXJhbSBhY2NvdW50XG4gICAqIEBwYXJhbSBwcml2aWxlZ2VUeXBlXG4gICAqL1xuICBwdWJsaWMgYWNjb3VudEhhc1ByaXZpbGVnZShhY2NvdW50OiBPZXBhVXNlckFjY291bnQsIHByaXZpbGVnZVR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGxldCBoYXNQcml2aWxlZ2UgPSBmYWxzZTtcbiAgICBjb25zdCBwcml2aWxlZ2VMaXN0ID0gdGhpcy5nZXRQcml2aWxlZ2VMaXN0KGFjY291bnQpO1xuICAgIGlmIChwcml2aWxlZ2VMaXN0ICYmIHByaXZpbGVnZUxpc3QubGVuZ3RoKSB7XG4gICAgICBoYXNQcml2aWxlZ2UgPSAocHJpdmlsZWdlTGlzdC5pbmRleE9mKHByaXZpbGVnZVR5cGUpID4gLTEpO1xuICAgIH1cbiAgICByZXR1cm4gaGFzUHJpdmlsZWdlO1xuICB9XG5cbiAgcHVibGljIGdldFByaXZpbGVnZUxpc3QoYWNjb3VudDogT2VwYVVzZXJBY2NvdW50KTogQXJyYXk8c3RyaW5nPiB7XG4gICAgY29uc3QgcHJpdmlsZWdlTGlzdDogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgIGlmIChhY2NvdW50LnJvbGVMaXN0ICYmIGFjY291bnQucm9sZUxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgYWNjb3VudC5yb2xlTGlzdC5mb3JFYWNoKChyb2xlOiBPRVBBUm9sZSkgPT4ge1xuICAgICAgICBpZiAocm9sZS5wcml2aWxlZ2VMaXN0ICYmIHJvbGUucHJpdmlsZWdlTGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcm9sZS5wcml2aWxlZ2VMaXN0LmZvckVhY2goKHByaXZpbGVnZTogT2VwYVByaXZpbGVnZSkgPT4ge1xuICAgICAgICAgICAgcHJpdmlsZWdlTGlzdC5wdXNoKHByaXZpbGVnZS50eXBlIHx8ICcnKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBwcml2aWxlZ2VMaXN0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIHRoZSB1c2VyQWNjb3VudCBvZiB0aGUgY3VycmVudCB1c2VyLiBUaGUgcmV0cmlldmVBY2NvdW50Rm9yQ3VycmVudFVzZXIgbWV0aG9kXG4gICAqIG11c3QgYmUgaW52b2tlZCBwcmlvciB0byBpbnZva2luZyB0aGlzIG1ldGhvZC5cbiAgICovXG4gIHB1YmxpYyBnZXRDdXJyZW50VXNlckFjY291bnQoKTogT2VwYVVzZXJBY2NvdW50IHtcbiAgICBjb25zb2xlLmxvZygnZ2V0Q3VycmVudFVzZXJBY2NvdW50OiAnICsgdGhpcy5hY2NvdW50Py5sb2dpbk5hbWUgfHwgJzx1bmtub3duPicpO1xuICAgIHJldHVybiB0aGlzLmFjY291bnQ7XG4gIH1cblxuICAvKipcbiAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAqIEVCSVogTUVUSE9EUzpcbiAgICogVGhlIG1ldGhvZHMgYmVsb3cgY3VycmVudGx5IGFwcGx5IG9ubHkgdG8gZUJpei5cbiAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAqL1xuXG4gIHB1YmxpYyBnZXRXZWJhcHBzUm9vdFVSTCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGlmICh0aGlzLndlYmFwcHNSb290VVJMKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy53ZWJhcHBzUm9vdFVSTCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMuaG9zdFVybCArICcvYXBpL3YxL2dhdGV3YXkvZ2F0ZXdheUNvbmZpZyc7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KHVybCkucGlwZShtYXAoKGdhdGV3YXlDb25maWc6YW55KSA9PiB7XG4gICAgICAgIGlmIChnYXRld2F5Q29uZmlnKSB7XG4gICAgICAgICAgdGhpcy53ZWJhcHBzUm9vdFVSTCA9IGdhdGV3YXlDb25maWcud2ViYXBwc1Jvb3RVUkw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMud2ViYXBwc1Jvb3RVUkw7XG4gICAgICB9KSk7XG4gICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFQml6VmVyc2lvbigpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgaWYgKHRoaXMuZWJpelZlcnNpb24pIHtcbiAgICAgICAgcmV0dXJuIG9mKHRoaXMuZWJpelZlcnNpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5ob3N0VXJsICsgJy9hcGkvdjEvZ2F0ZXdheS9nYXRld2F5Q29uZmlnJztcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55Pih1cmwpLnBpcGUobWFwKChnYXRld2F5Q29uZmlnOmFueSkgPT4ge1xuICAgICAgICAgIGlmIChnYXRld2F5Q29uZmlnKSB7XG4gICAgICAgICAgICB0aGlzLmViaXpWZXJzaW9uID0gZ2F0ZXdheUNvbmZpZy52ZXJzaW9uTnVtYmVyO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdGhpcy5lYml6VmVyc2lvbjtcbiAgICAgICAgfSkpO1xuICAgICAgfVxuICAgICAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYXJyYXkgb2YgUHJvZ3JhbVByaXZpbGVnZXMgbWF0Y2hpbmcgcHJvZ3JhbVByaXZpbGVnZVJlcXVlc3QuXG4gICAqIEBwYXJhbSBwcm9ncmFtUHJpdmlsZWdlUmVxdWVzdFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEFycmF5PFByb2dyYW1Qcml2aWxlZ2U+PlxuICAgKi9cbiAgcHVibGljIHNlYXJjaFByaXZpbGVnZXMocHJvZ3JhbVByaXZpbGVnZVJlcXVlc3Q6IFByb2dyYW1Qcml2aWxlZ2VSZXF1ZXN0LCBhbHRVc2VySUQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFycmF5PFByb2dyYW1Qcml2aWxlZ2U+PiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5ob3N0VXJsICsgdGhpcy5lYml6QWNjb3VudHNVcmwgKyAnL3Byb2dyYW1Qcml2aWxlZ2VzL3NlYXJjaCcgKyAoYWx0VXNlcklEID8gJz91c2VyaWQ9JyArIGFsdFVzZXJJRCA6ICcnKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXJyYXk8UHJvZ3JhbVByaXZpbGVnZT4+KHVybCwgcHJvZ3JhbVByaXZpbGVnZVJlcXVlc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBQcm9ncmFtUHJpdmlsZWdlIGJhc2VkIG9uIGNvbnRlbnRzIG9mIFByb2dyYW1Qcml2aWxlZ2VSZXF1ZXN0LlxuICAgKiBAcGFyYW0gcHJvZ3JhbVByaXZpbGVnZVJlcXVlc3RcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxQcm9ncmFtUHJpdmlsZWdlP1xuICAgKi9cbiAgcHVibGljIGNyZWF0ZVByb2dyYW1Qcml2aWxlZ2UocHJvZ3JhbVByaXZpbGVnZVJlcXVlc3Q6IFByb2dyYW1Qcml2aWxlZ2VSZXF1ZXN0LCBhbHRVc2VySUQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByb2dyYW1Qcml2aWxlZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UHJvZ3JhbVByaXZpbGVnZT4odGhpcy5ob3N0VXJsICsgdGhpcy5lYml6QWNjb3VudHNVcmwgKyAnL3Byb2dyYW1Qcml2aWxlZ2VzJysgKGFsdFVzZXJJRCA/ICc/dXNlcmlkPScgKyBhbHRVc2VySUQgOiAnJyksIFxuICAgIHByb2dyYW1Qcml2aWxlZ2VSZXF1ZXN0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgdGhlIFByb2dyYW1Qcml2aWxlZ2UgaWRlbnRpZmllZCBieSBwcm9ncmFtUHJpdmlsZWdlSUQuXG4gICAqIEBwYXJhbSBwcm9ncmFtUHJpdmlsZWdlSURcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTx2b2lkPlxuICAgKi9cbiAgcHVibGljIGRlbGV0ZVByb2dyYW1Qcml2aWxlZ2UocHJvZ3JhbVByaXZpbGVnZUlEOiBzdHJpbmcsIGFsdFVzZXJJRD86IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodGhpcy5ob3N0VXJsICsgdGhpcy5lYml6QWNjb3VudHNVcmwgKyAnL3Byb2dyYW1Qcml2aWxlZ2VzLycgKyBwcm9ncmFtUHJpdmlsZWdlSUQgKyAoYWx0VXNlcklEID8gJz91c2VyaWQ9JyArIGFsdFVzZXJJRCA6ICcnKSwgXG4gICAgeyByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxlZ2F0ZSBhIHByb2dyYW0gcHJpdmlsZWdlIGJhc2VkIG9uIGluZm9ybWF0aW9uIGluIGRlbGVnYXRpb24uXG4gICAqIEBwYXJhbSBkZWxlZ2F0aW9uXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8dm9pZD5cbiAgICovXG4gIHB1YmxpYyBkZWxlZ2F0ZVByb2dyYW1Qcml2aWxlZ2UoZGVsZWdhdGlvbjogRGVsZWdhdGlvbiwgYWx0VXNlcklEPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5ob3N0VXJsICsgdGhpcy5lYml6QWNjb3VudHNVcmwgKyAnL3Byb2dyYW1Qcml2aWxlZ2VzL2RlbGVnYXRpb24nICsgKGFsdFVzZXJJRCA/ICc/dXNlcmlkPScgKyBhbHRVc2VySUQgOiAnJyksXG4gICAgZGVsZWdhdGlvbiwgeyByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KTtcbiAgfVxuXG4gLyoqXG4gICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgKiBIZWxwZXIgTUVUSE9EUzpcbiAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAqL1xuXG4gICAvKipcbiAgICAqIFNldCB0aGUgdXNlciBhY2NvdW50IHRvIGJlIHVzZWQgZm9yIFwibGl2ZSByZWxvYWQgbW9kZVwiXG4gICAgKiBAcGFyYW0gdXNlckFjY291bnQgXG4gICAgKi9cbiAgICBwdWJsaWMgc2V0TGl2ZVJlbG9hZFVzZXIodXNlckFjY291bnQ6IE9lcGFVc2VyQWNjb3VudCk6IE9ic2VydmFibGU8T2VwYVVzZXJBY2NvdW50PiB7XG4gICAgICB0aGlzLmFjY291bnQgPSB1c2VyQWNjb3VudDtcbiAgICAgIGNvbnNvbGUubG9nKCdzZXRMaXZlUmVsb2FkVXNlcjogJyArIHRoaXMuYWNjb3VudD8ubG9naW5OYW1lIHx8ICc8dW5rbm93bj4nKTtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxPZXBhVXNlckFjY291bnQ+KHRoaXMuaG9zdFVybCArIHRoaXMuZWJpekFjY291bnRzVXJsICsgJy9saXZlUmVsb2FkJywgdXNlckFjY291bnQpO1xuICAgIH1cblxuICAgLyoqXG4gICAgKiBTdG9yZXMgdGhlIGdpdmVuIHVzZXIgaW4gdGhlIGVCaXogc2Vzc2lvbi5cbiAgICAqIEBwYXJhbSBhY2NvdW50VXNlcklEIFxuICAgICovXG4gICBwdWJsaWMgc3RvcmVVc2VySW5TZXNzaW9uKGFjY291bnRVc2VySUQ6IHN0cmluZyk6IE9ic2VydmFibGU8T2VwYVVzZXJBY2NvdW50PiB7XG4gICAgIGxldCBhY2N0ID0ge30gYXMgT2VwYVVzZXJBY2NvdW50O1xuICAgICBhY2N0LmFjY291bnRJRCA9IGFjY291bnRVc2VySUQ7XG4gICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxPZXBhVXNlckFjY291bnQ+KHRoaXMuaG9zdFVybCArIHRoaXMuZWJpelNlc3Npb25VcmwgKyAnL3N0b3JlVXNlci8nICsgYWNjb3VudFVzZXJJRCwgbnVsbCk7XG4gICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWUgaWYgdGhlIGN1cnJlbnQgdXNlciBzaG91bGQgYmUgYWxsb3dlZCB0byBzZWUgXCJkZW1vXCIgY2FwYWJpbGl0aWVzXG4gICAgICovXG4gICAgcHVibGljIGRlbW9DYXBhYmlsaXRpZXNBbGxvd2VkKCk6IGJvb2xlYW4ge1xuICAgICAgbGV0IGRlbW9BbGxvd2VkID0gZmFsc2U7XG4gICAgICBpZiAodGhpcy5hY2NvdW50ICYmIHRoaXMuYWNjb3VudC5yb2xlTGlzdCkge1xuICAgICAgICB0aGlzLmFjY291bnQucm9sZUxpc3QuZm9yRWFjaChyb2xlID0+IHtcbiAgICAgICAgICBpZiAocm9sZS5uYW1lID09PSAnQWxsb3dEZW1vJykge1xuICAgICAgICAgICAgZGVtb0FsbG93ZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZGVtb0FsbG93ZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXJ0SWRsZVRpbWVyKHRocmVzaG9sZD86IG51bWJlcikge1xuICAgICAgaWYgKHRoaXMudGltZW91dElEKSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRJRCk7XG4gICAgICB9XG4gICAgICB0aGlzLmlkbGVUaHJlc2hvbGQgPSB0aHJlc2hvbGQgfHwgdGhpcy5pZGxlVGhyZXNob2xkO1xuICAgICAgaWYgKCF0aGlzLmlkbGVUaW1lclJ1bm5pbmcpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ1RoZSBpZGxlIHRpbWVvdXQgc3RhcnRlZCB3aXRoIHRocmVzaG9sZDogJyArIHRoaXMuaWRsZVRocmVzaG9sZCk7XG4gICAgICAgIHRoaXMuaWRsZVRpbWVyUnVubmluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuY2hlY2tUaW1lb3V0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlc2V0SWRsZVRpbWUoKSB7XG4gICAgICBjb25zb2xlLmxvZygnaWRsZSB0aW1lciByZXNldCcpO1xuICAgICAgdGhpcy5pZGxlVGltZSA9IDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja1RpbWVvdXQoKSB7XG4gICAgICB0aGlzLnRpbWVvdXRJRCA9IHNldFRpbWVvdXQoKCk9PiB7XG4gICAgICAgIHRoaXMuaWRsZVRpbWUgKz0gNjA7XG4gICAgICAgIGNvbnNvbGUubG9nKCdpZGxlIHRpbWUgPSAnICsgdGhpcy5pZGxlVGltZSArIFwiLCB0aHJlc2hvbGQgPSBcIiArIHRoaXMuaWRsZVRocmVzaG9sZCk7XG4gICAgICAgIGlmICh0aGlzLmlkbGVUaW1lID49IHRoaXMuaWRsZVRocmVzaG9sZCkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdmaXJpbmcgbmV4dCBpZGxlU3ViamVjdC4uLicpO1xuICAgICAgICAgIHRoaXMuaWRsZVRpbWVyUnVubmluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaWRsZVN1YmplY3QubmV4dCh0aGlzLmlkbGVUaW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGhpcy50aW1lb3V0SUQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRJRCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuY2hlY2tUaW1lb3V0KCk7XG4gICAgICAgIH1cbiAgICAgIH0sIDYwMDAwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SWRsZVRpbWVvdXQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgIHJldHVybiB0aGlzLmlkbGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBcbiAgICBwdWJsaWMgbG9nTWVzc2FnZU9uU2VydmVyKG1lc3NhZ2U/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgY29uc3QgbWVzc2FnZVJlc3BvbnNlOiBhbnkgPSB7XG4gICAgICAgIHJlc3BvbnNlOiBtZXNzYWdlXG4gICAgICB9XG4gICAgICBjb25zdCB1cmwgPSB0aGlzLmhvc3RVcmwgKyB0aGlzLmFjY291bnRzVXJsICsgJy9sb2dzL21lc3NhZ2UnO1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsLCBtZXNzYWdlUmVzcG9uc2UpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -7184,6 +7184,7 @@ class OepaUserAccountService {
|
|
|
7184
7184
|
personID = '';
|
|
7185
7185
|
sessionID = '';
|
|
7186
7186
|
webappsRootURL = '';
|
|
7187
|
+
ebizVersion = '';
|
|
7187
7188
|
logoutPath = '';
|
|
7188
7189
|
idleTimerRunning = false;
|
|
7189
7190
|
idleTime = 0;
|
|
@@ -7343,6 +7344,20 @@ class OepaUserAccountService {
|
|
|
7343
7344
|
}));
|
|
7344
7345
|
}
|
|
7345
7346
|
}
|
|
7347
|
+
getEBizVersion() {
|
|
7348
|
+
if (this.ebizVersion) {
|
|
7349
|
+
return of(this.ebizVersion);
|
|
7350
|
+
}
|
|
7351
|
+
else {
|
|
7352
|
+
const url = this.hostUrl + '/api/v1/gateway/gatewayConfig';
|
|
7353
|
+
return this.http.get(url).pipe(map((gatewayConfig) => {
|
|
7354
|
+
if (gatewayConfig) {
|
|
7355
|
+
this.ebizVersion = gatewayConfig.versionNumber;
|
|
7356
|
+
}
|
|
7357
|
+
return this.ebizVersion;
|
|
7358
|
+
}));
|
|
7359
|
+
}
|
|
7360
|
+
}
|
|
7346
7361
|
/**
|
|
7347
7362
|
* Return array of ProgramPrivileges matching programPrivilegeRequest.
|
|
7348
7363
|
* @param programPrivilegeRequest
|