@stemy/ngx-utils 12.0.1 → 12.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/stemy-ngx-utils.umd.js +194 -144
- package/bundles/stemy-ngx-utils.umd.js.map +1 -1
- package/esm2015/ngx-utils/common-types.js +1 -1
- package/esm2015/ngx-utils/services/state.service.js +53 -15
- package/esm2015/public_api.js +1 -1
- package/fesm2015/stemy-ngx-utils.js +124 -87
- package/fesm2015/stemy-ngx-utils.js.map +1 -1
- package/ngx-utils/common-types.d.ts +2 -1
- package/ngx-utils/ngx-utils.module.d.ts +1 -1
- package/ngx-utils/services/state.service.d.ts +11 -6
- package/package.json +1 -1
- package/public_api.d.ts +1 -1
- package/stemy-ngx-utils.metadata.json +1 -1
|
@@ -112,4 +112,4 @@ export const ERROR_HANDLER = new InjectionToken("error-handler-callback");
|
|
|
112
112
|
// --- Valued promise ---
|
|
113
113
|
export class ValuedPromise extends Promise {
|
|
114
114
|
}
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25neC11dGlscy9jb21tb24tdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGNBQWMsRUFBOEIsV0FBVyxFQUFPLE1BQU0sZUFBZSxDQUFDO0FBSTFHLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFTakQsTUFBTSxPQUFPLFdBQVc7SUFDcEIsWUFBbUIsQ0FBUyxFQUFTLENBQVMsRUFBUyxDQUFTLEVBQVMsSUFBWSxHQUFHO1FBQXJFLE1BQUMsR0FBRCxDQUFDLENBQVE7UUFBUyxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQVMsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUFTLE1BQUMsR0FBRCxDQUFDLENBQWM7SUFFeEYsQ0FBQztDQUNKO0FBU0QsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFpQyxJQUFJLGNBQWMsQ0FBZSxjQUFjLENBQUMsQ0FBQztBQW9DM0csTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQXFDLElBQUksY0FBYyxDQUFtQixrQkFBa0IsQ0FBQyxDQUFDO0FBb0IzSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWlDLElBQUksY0FBYyxDQUFlLGNBQWMsQ0FBQyxDQUFDO0FBZ0IzRywwQkFBMEI7QUFDMUIsTUFBTSxDQUFOLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNuQiwrQ0FBSyxDQUFBO0lBQ0wsbURBQU8sQ0FBQTtBQUNYLENBQUMsRUFIVyxXQUFXLEtBQVgsV0FBVyxRQUd0QjtBQVVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBb0MsSUFBSSxjQUFjLENBQWtCLGlCQUFpQixDQUFDLENBQUM7QUFjdkgsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFrQixpQkFBaUIsQ0FBQyxDQUFD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QUFXLEdBQUcsSUFBSSxjQUFjLENBQWlCLGFBQWEsQ0FBQyxDQUFDO0FBRTdFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBTSxlQUFlLENBQUMsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWdDLElBQUksY0FBYyxDQUFjLGtCQUFrQixDQUFDLENBQUM7QUFLN0csTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUF1Qix3QkFBd0IsQ0FBQyxDQUFDO0FBZ0JoRyx5QkFBeUI7QUFDekIsTUFBTSxPQUFPLGFBQWlCLFNBQVEsT0FBVTtDQUUvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZlbnRFbWl0dGVyLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0b3IsIE5nWm9uZSwgUHJvdmlkZXIsIFRlbXBsYXRlUmVmLCBUeXBlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0h0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGVhZGVyc30gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7QWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgRGF0YSwgUm91dGV9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtSZXF1ZXN0fSBmcm9tIFwiZXhwcmVzc1wiO1xyXG5pbXBvcnQge1JlZmxlY3RVdGlsc30gZnJvbSBcIi4vdXRpbHMvcmVmbGVjdC51dGlsc1wiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuXHJcbi8vIC0tLSBVdGlsc1xyXG5leHBvcnQgaW50ZXJmYWNlIElSZXNvbHZlRmFjdG9yeSB7XHJcbiAgICBmdW5jOiBGdW5jdGlvbjtcclxuICAgIHR5cGU/OiBhbnk7XHJcbiAgICBwYXJhbXM/OiBhbnlbXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENhbnZhc0NvbG9yIHtcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyByOiBudW1iZXIsIHB1YmxpYyBnOiBudW1iZXIsIHB1YmxpYyBiOiBudW1iZXIsIHB1YmxpYyBhOiBudW1iZXIgPSAyNTUpIHtcclxuXHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBJY29uIHNlcnZpY2UgLS0tXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUljb25TZXJ2aWNlIHtcclxuICAgIGlzRGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBpY29uc0xvYWRlZDogRXZlbnRFbWl0dGVyPGFueT47XHJcbiAgICBnZXRJY29uKGljb246IHN0cmluZywgYWN0aXZlSWNvbjogc3RyaW5nLCBhY3RpdmU6IGJvb2xlYW4pOiBQcm9taXNlPHN0cmluZz47XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBJQ09OX1NFUlZJQ0U6IEluamVjdGlvblRva2VuPElJY29uU2VydmljZT4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SUljb25TZXJ2aWNlPihcImljb24tc2VydmljZVwiKTtcclxuXHJcbi8vIC0tLSBMYW5ndWFnZSBzZXJ2aWNlIC0tLVxyXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2xhdGlvbiB7XHJcbiAgICBsYW5nOiBzdHJpbmc7XHJcbiAgICB0cmFuc2xhdGlvbjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2xhdGlvbnMge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElMYW5ndWFnZVNldHRpbmdzIHtcclxuICAgIGxhbmd1YWdlczogc3RyaW5nW107XHJcbiAgICBkZXZMYW5ndWFnZXM6IHN0cmluZ1tdO1xyXG4gICAgZGVmYXVsdExhbmd1YWdlOiBzdHJpbmc7XHJcbiAgICBzZXR0aW5ncz86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTGFuZ3VhZ2VTZXJ2aWNlIHtcclxuICAgIGN1cnJlbnRMYW5ndWFnZTogc3RyaW5nO1xyXG4gICAgZWRpdExhbmd1YWdlOiBzdHJpbmc7XHJcbiAgICBkaXNhYmxlVHJhbnNsYXRpb25zOiBib29sZWFuO1xyXG4gICAgZGVmYXVsdExhbmd1YWdlOiBzdHJpbmc7XHJcbiAgICBkaWN0aW9uYXJ5OiBJVHJhbnNsYXRpb25zO1xyXG4gICAgcmVhZG9ubHkgbGFuZ3VhZ2VzOiBSZWFkb25seUFycmF5PHN0cmluZz47XHJcbiAgICByZWFkb25seSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50O1xyXG4gICAgcmVwbGFjZUxhbmd1YWdlcyhsYW5ndWFnZXM6IHN0cmluZ1tdKTogdm9pZDtcclxuICAgIGFkZExhbmd1YWdlcyhsYW5ndWFnZXM6IHN0cmluZ1tdKTogdm9pZDtcclxuICAgIGdldFRyYW5zbGF0aW9uU3luYyhrZXk6IHN0cmluZywgcGFyYW1zPzogYW55KTogc3RyaW5nO1xyXG4gICAgZ2V0VHJhbnNsYXRpb24oa2V5OiBzdHJpbmcsIHBhcmFtcz86IGFueSk6IFByb21pc2U8c3RyaW5nPjtcclxuICAgIGdldFRyYW5zbGF0aW9ucyguLi5rZXlzOiBzdHJpbmdbXSk6IFByb21pc2U8SVRyYW5zbGF0aW9ucz47XHJcbiAgICBnZXRUcmFuc2xhdGlvbkZyb21PYmplY3QodHJhbnNsYXRpb25zOiBJVHJhbnNsYXRpb25zLCBwYXJhbXM/OiBhbnksIGxhbmc/OiBzdHJpbmcpOiBzdHJpbmc7XHJcbiAgICBnZXRUcmFuc2xhdGlvbkZyb21BcnJheSh0cmFuc2xhdGlvbnM6IElUcmFuc2xhdGlvbltdLCBwYXJhbXM/OiBhbnksIGxhbmc/OiBzdHJpbmcpOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBMQU5HVUFHRV9TRVJWSUNFOiBJbmplY3Rpb25Ub2tlbjxJTGFuZ3VhZ2VTZXJ2aWNlPiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJTGFuZ3VhZ2VTZXJ2aWNlPihcImxhbmd1YWdlLXNlcnZpY2VcIik7XHJcblxyXG4vLyAtLS0gQXV0aCBTZXJ2aWNlIC0tLVxyXG5leHBvcnQgaW50ZXJmYWNlIElBdXRoU2VydmljZSB7XHJcbiAgICBpc0F1dGhlbnRpY2F0ZWQ6IGJvb2xlYW47XHJcbiAgICB1c2VyQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT47XHJcbiAgICBjaGVja0F1dGhlbnRpY2F0ZWQoKTogUHJvbWlzZTxib29sZWFuPjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUm91dGVWYWxpZGF0b3IgPSAoYXV0aDogSUF1dGhTZXJ2aWNlLCByb3V0ZT86IElSb3V0ZSwgbmV4dD86IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpID0+IFByb21pc2U8Ym9vbGVhbj47XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElSb3V0ZURhdGEgZXh0ZW5kcyBEYXRhIHtcclxuICAgIHJldHVyblN0YXRlPzogc3RyaW5nW107XHJcbiAgICBndWFyZHM/OiBBcnJheTxJUmVzb2x2ZUZhY3RvcnkgfCBSb3V0ZVZhbGlkYXRvcj47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVJvdXRlIGV4dGVuZHMgUm91dGUge1xyXG4gICAgZGF0YT86IElSb3V0ZURhdGE7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBBVVRIX1NFUlZJQ0U6IEluamVjdGlvblRva2VuPElBdXRoU2VydmljZT4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SUF1dGhTZXJ2aWNlPihcImF1dGgtc2VydmljZVwiKTtcclxuXHJcbi8vIC0tLSBBY2wgU2VydmljZSAtLS1cclxuZXhwb3J0IGludGVyZmFjZSBJQWNsQ29tcG9uZW50IHtcclxuICAgIG9uVXNlckluaXRpYWxpemVkKCk6IHZvaWQ7XHJcbiAgICBvblVzZXJDaGFuZ2VkKCk6IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVJvdXRlU3RhdGVJbmZvIHtcclxuICAgIHJvdXRlOiBJUm91dGU7XHJcbiAgICBndWFyZDogYW55O1xyXG4gICAgZGlydHk6IGJvb2xlYW47XHJcbiAgICBmaXJzdDogYm9vbGVhbjtcclxuICAgIGNvbXBvbmVudD86IGFueTtcclxufVxyXG5cclxuLy8gLS0tIFN0b3JhZ2UgU2VydmljZSAtLS1cclxuZXhwb3J0IGVudW0gU3RvcmFnZU1vZGUge1xyXG4gICAgTG9jYWwsXHJcbiAgICBTZXNzaW9uXHJcbn1cclxuXHJcbi8vIC0tLSBUb2FzdGVyIFNlcnZpY2UgLS0tXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRvYXN0ZXJTZXJ2aWNlIHtcclxuICAgIGVycm9yKG1lc3NhZ2U6IHN0cmluZywgcGFyYW1zPzogYW55LCB0aXRsZT86IHN0cmluZyk6IHZvaWQ7XHJcbiAgICBpbmZvKG1lc3NhZ2U6IHN0cmluZywgcGFyYW1zPzogYW55LCB0aXRsZT86IHN0cmluZyk6IHZvaWQ7XHJcbiAgICBzdWNjZXNzKG1lc3NhZ2U6IHN0cmluZywgcGFyYW1zPzogYW55LCB0aXRsZT86IHN0cmluZyk6IHZvaWQ7XHJcbiAgICB3YXJuaW5nKG1lc3NhZ2U6IHN0cmluZywgcGFyYW1zPzogYW55LCB0aXRsZT86IHN0cmluZyk6IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBUT0FTVEVSX1NFUlZJQ0U6IEluamVjdGlvblRva2VuPElUb2FzdGVyU2VydmljZT4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SVRvYXN0ZXJTZXJ2aWNlPihcInRvYXN0ZXItc2VydmljZVwiKTtcclxuXHJcbi8vIC0tLSBQcm9taXNlIFNlcnZpY2UgLS0tXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQcm9taXNlU2VydmljZSB7XHJcbiAgICB6b25lOiBOZ1pvbmU7XHJcbiAgICBjb3VudDogbnVtYmVyO1xyXG4gICAgb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPjtcclxuICAgIGNyZWF0ZTxUPihleGVjdXRvcjogKHJlc29sdmU6ICh2YWx1ZT86IFQgfCBQcm9taXNlTGlrZTxUPikgPT4gdm9pZCwgcmVqZWN0OiAocmVhc29uPzogYW55KSA9PiB2b2lkKSA9PiB2b2lkKTogUHJvbWlzZTxUPjtcclxuICAgIGFsbChwcm9taXNlczogUHJvbWlzZTxhbnk+W10pOiBQcm9taXNlPGFueT47XHJcbiAgICByZXNvbHZlPFQ+KHZhbHVlOiBUIHwgUHJvbWlzZUxpa2U8VD4pOiBQcm9taXNlPFQ+O1xyXG4gICAgcmVqZWN0PFQ+KHZhbHVlOiBUIHwgUHJvbWlzZUxpa2U8VD4pOiBQcm9taXNlPFQ+O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgUFJPTUlTRV9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPElQcm9taXNlU2VydmljZT4oXCJwcm9taXNlLXNlcnZpY2VcIik7XHJcblxyXG4vLyAtLS0gQXN5bmMgbWV0aG9kIC0tLVxyXG5leHBvcnQgaW50ZXJmYWNlIElBc3luY01lc3NhZ2Uge1xyXG4gICAgbWVzc2FnZTogc3RyaW5nO1xyXG4gICAgY29udGV4dD86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQXN5bmNNZXRob2QgPSAoY29udGV4dD86IGFueSkgPT4gUHJvbWlzZTxJQXN5bmNNZXNzYWdlPjtcclxuXHJcbi8vIC0tLSBVbm9yZGVyZWQgbGlzdCAtLS1cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFVub3JlZGVyZWRMaXN0VGVtcGxhdGUgZXh0ZW5kcyBUZW1wbGF0ZVJlZjxhbnk+IHtcclxuICAgIGFic3RyYWN0IHR5cGU6IHN0cmluZztcclxuICAgIGFic3RyYWN0IHNlbGVjdG9yOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVW5vcmRlcmVkTGlzdFRlbXBsYXRlcyB7XHJcbiAgICBbdHlwZTogc3RyaW5nXTogVGVtcGxhdGVSZWY8YW55PjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVW5vcmRlcmVkTGlzdFN0eWxlID0gXCJ0YWJsZVwiIHwgXCJsaXN0XCI7XHJcblxyXG4vLyAtLS0gQWpheCByZXF1ZXN0ICAtLS1cclxuZXhwb3J0IGludGVyZmFjZSBJQWpheFJlcXVlc3REZXRhaWxzIHtcclxuICAgIHJlcXVlc3Q6IFhNTEh0dHBSZXF1ZXN0LFxyXG4gICAgbWV0aG9kOiBzdHJpbmc7XHJcbiAgICB1cmw6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQWpheFJlcXVlc3RDYWxsYmFjayA9IChkZXRhaWxzOiBJQWpheFJlcXVlc3REZXRhaWxzLCBwYXJhbXM6IGFueSkgPT4gdm9pZDtcclxuXHJcbi8vIC0tLSBMb2FkZXIgdXRpbHMgLS0tXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVNjcmlwdFByb21pc2VzIHtcclxuICAgIFtzcmM6IHN0cmluZ106IFByb21pc2U8SFRNTFNjcmlwdEVsZW1lbnQ+O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgSVN0eWxlUHJvbWlzZXMge1xyXG4gICAgW3NyYzogc3RyaW5nXTogUHJvbWlzZTxIVE1MTGlua0VsZW1lbnQ+O1xyXG59XHJcblxyXG4vLyAtLS0gT2JzZXJ2YWJsZSB1dGlscyAtLS1cclxuZXhwb3J0IGludGVyZmFjZSBJU2VhcmNoT2JzZXJ2YWJsZSB7XHJcbiAgICBzZWFyY2g6IHN0cmluZztcclxuICAgIGdldFNlYXJjaFJlc3VsdHModG9rZW46IHN0cmluZyk6IFByb21pc2U8YW55W10+O1xyXG59XHJcblxyXG4vLyAtLS0gUmVmbGVjdCB1dGlscyAtLS1cclxuZXhwb3J0IGZ1bmN0aW9uIEZhY3RvcnlEZXBlbmRlbmNpZXMoLi4uZGVwZW5kZW5jaWVzOiBBcnJheTxJbmplY3Rpb25Ub2tlbjxhbnk+IHwgUHJvdmlkZXI+KTogTWV0aG9kRGVjb3JhdG9yIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBhbnksIG1ldGhvZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgUmVmbGVjdFV0aWxzLmRlZmluZU1ldGFkYXRhKFwiZmFjdG9yeURlcGVuZGVuY2llc1wiLCBkZXBlbmRlbmNpZXMsIHRhcmdldCwgbWV0aG9kKTtcclxuICAgIH07XHJcbn1cclxuXHJcbi8vIC0tLSBUaW1lciB1dGlscyAtLS1cclxuZXhwb3J0IGludGVyZmFjZSBJVGltZXIge1xyXG4gICAgaWQ/OiBhbnk7XHJcbiAgICBmdW5jPzogRnVuY3Rpb247XHJcbiAgICB0aW1lPzogbnVtYmVyO1xyXG4gICAgcnVuPzogKCkgPT4gdm9pZDtcclxuICAgIHNldD86IChmdW5jOiBGdW5jdGlvbiwgdGltZTogbnVtYmVyKSA9PiB2b2lkO1xyXG4gICAgY2xlYXI/OiAoKSA9PiB2b2lkO1xyXG59XHJcblxyXG4vLyAtLS0gRXh0cmFJdGVtUHJvcGVydGllcyAtLS1cclxuZXhwb3J0IGludGVyZmFjZSBJRXh0cmFQcm9wZXJ0aWVzIHtcclxuICAgIFtwcm9wOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbi8vIC0tLSBHcm91cCBieSAtLS1cclxuZXhwb3J0IGludGVyZmFjZSBJR3JvdXBNYXAge1xyXG4gICAgW2NvbHVtbjogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG4vLyAtLS0gVHJhbnNsYXRlIC0tLVxyXG5leHBvcnQgdHlwZSBUcmFuc2xhdGlvblF1ZXJ5ID0gc3RyaW5nIHwgSVRyYW5zbGF0aW9ucyB8IElUcmFuc2xhdGlvbltdO1xyXG5cclxuLy8gLS0tIFBhZ2luYXRpb24gLS0tXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBhZ2VJbmZvIHtcclxuICAgIHRleHQ6IHN0cmluZztcclxuICAgIG51bWJlcjogbnVtYmVyO1xyXG4gICAgYWN0aXZlOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQYWdpbmF0aW9uRGF0YSB7XHJcbiAgICB0b3RhbDogbnVtYmVyO1xyXG4gICAgaXRlbXM6IGFueVtdO1xyXG4gICAgbWV0YT86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUGFnaW5hdGlvbkRhdGFMb2FkZXIgPSAocGFnZTogbnVtYmVyLCBpdGVtc1BlclBhZ2U6IG51bWJlcikgPT4gUHJvbWlzZTxJUGFnaW5hdGlvbkRhdGE+O1xyXG5cclxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25JdGVtQ29udGV4dCB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIGl0ZW06IGFueSwgcHVibGljIHBhcmFsbGVsSXRlbTogYW55LCBwdWJsaWMgY291bnQ6IG51bWJlciwgcHVibGljIGluZGV4OiBudW1iZXIsIHB1YmxpYyBkYXRhSW5kZXg6IG51bWJlcikge1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBmaXJzdCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbmRleCA9PT0gMDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgbGFzdCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbmRleCA9PT0gdGhpcy5jb3VudCAtIDE7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGV2ZW4oKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXggJSAyID09PSAwO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBvZGQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmV2ZW47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3VwcG9ydCBmb3Igb2xkIGR5bmFtaWMgdGFibGUgaW1wbGVtZW50YXRpb25cclxuICAgIGdldCByb3coKTogYW55IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIkR5bmFtaWNUYWJsZSByb3cgaXMgZGVwcmVjYXRlZCB1c2UgaXRlbSBpbnN0ZWFkXCIpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLml0ZW07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3VwcG9ydCBmb3Igb2xkIGR5bmFtaWMgdGFibGUgaW1wbGVtZW50YXRpb25cclxuICAgIGdldCBwYXJhbGxlbFJvdygpOiBhbnkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiRHluYW1pY1RhYmxlIHBhcmFsbGVsUm93IGlzIGRlcHJlY2F0ZWQgdXNlIHBhcmFsbGVsSXRlbSBpbnN0ZWFkXCIpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBhcmFsbGVsSXRlbTtcclxuICAgIH1cclxuXHJcbiAgICBmaWx0ZXIoZmlsdGVyUng6IFJlZ0V4cCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyh0aGlzLml0ZW0pO1xyXG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLml0ZW1ba2V5XTtcclxuICAgICAgICAgICAgaWYgKE9iamVjdFV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSB8fCBPYmplY3RVdGlscy5pc09iamVjdCh2YWx1ZSkpIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICBjb25zdCB0ZXN0VmFsdWUgPSBPYmplY3RVdGlscy5pc1N0cmluZyh2YWx1ZSkgPyB2YWx1ZSA6IHZhbHVlLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgIGlmICh0ZXN0VmFsdWUubWF0Y2goZmlsdGVyUngpKSByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gSHR0cCBzZXJ2aWNlIC0tLVxyXG5leHBvcnQgaW50ZXJmYWNlIElIdHRwSGVhZGVycyB7XHJcbiAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSHR0cFBhcmFtcyB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVJlcXVlc3RPcHRpb25zIHtcclxuICAgIG1ldGhvZD86IHN0cmluZztcclxuICAgIGJvZHk/OiBhbnk7XHJcbiAgICBoZWFkZXJzPzogSUh0dHBIZWFkZXJzIHwgSHR0cEhlYWRlcnM7XHJcbiAgICBvcmlnaW5hbEhlYWRlcnM/OiBJSHR0cEhlYWRlcnM7XHJcbiAgICBwYXJhbXM/OiBJSHR0cFBhcmFtcztcclxuICAgIG9ic2VydmU/OiBcImJvZHlcIjtcclxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcclxuICAgIHJlc3BvbnNlVHlwZT86IFwiYXJyYXlidWZmZXJcIiB8IFwiYmxvYlwiIHwgXCJqc29uXCIgfCBcInRleHRcIjtcclxuICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XHJcbiAgICB0aW1lb3V0PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElJc3N1ZUNvbnRleHQge1xyXG4gICAgdXJsOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVByb2dyZXNzIHtcclxuICAgIHBlcmNlbnRhZ2U/OiBudW1iZXI7XHJcbiAgICBsb2FkZWQ/OiBudW1iZXI7XHJcbiAgICB0b3RhbD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJvZ3Jlc3NMaXN0ZW5lciA9IChwcm9ncmVzczogSVByb2dyZXNzKSA9PiB2b2lkO1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvbWlzZUV4ZWN1dG9yID0gKHJlc29sdmU6ICh2YWx1ZT86IGFueSB8IFByb21pc2VMaWtlPGFueT4pID0+IHZvaWQsIHJlamVjdDogKHJlYXNvbj86IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcclxuXHJcbmV4cG9ydCBjbGFzcyBIdHRwUHJvbWlzZSBleHRlbmRzIFByb21pc2U8YW55PiB7XHJcblxyXG4gICAgcHJvdGVjdGVkIHJlamVjdEhhbmRsZXI6IChyZWFzb24/OiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gdm9pZDtcclxuICAgIHByb3RlY3RlZCBoYXNSZWplY3RIYW5kbGVyOiBib29sZWFuO1xyXG4gICAgcHJvdGVjdGVkIGF0dGFjaENvdW50OiBudW1iZXI7XHJcbiAgICBwcm90ZWN0ZWQgcnVuQ291bnQ6IG51bWJlcjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWplY3RIYW5kbGVyOiAocmVhc29uPzogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQsIGV4ZWN1dG9yOiBQcm9taXNlRXhlY3V0b3IpIHtcclxuICAgICAgICBzdXBlcihleGVjdXRvcik7XHJcbiAgICAgICAgdGhpcy5yZWplY3RIYW5kbGVyID0gcmVqZWN0SGFuZGxlcjtcclxuICAgICAgICB0aGlzLmF0dGFjaENvdW50ID0gMDtcclxuICAgICAgICB0aGlzLnJ1bkNvdW50ID0gMDtcclxuICAgIH1cclxuXHJcbiAgICB0aGVuPFRSZXN1bHQxLCBUUmVzdWx0Mj4ob25GdWxmaWxsZWQ/OiAoKHZhbHVlOiBhbnkpID0+IChQcm9taXNlTGlrZTxUUmVzdWx0MT4gfCBUUmVzdWx0MSkpIHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblJlamVjdGVkPzogKChyZWFzb246IEh0dHBFcnJvclJlc3BvbnNlKSA9PiAoUHJvbWlzZUxpa2U8VFJlc3VsdDI+IHwgVFJlc3VsdDIpKSB8IG51bGwgfCB1bmRlZmluZWQpOiBQcm9taXNlPFRSZXN1bHQxIHwgVFJlc3VsdDI+IHtcclxuICAgICAgICB0aGlzLmF0dGFjaENvdW50Kys7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLnRoZW4odmFsdWUgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJ1bkNvdW50Kys7XHJcbiAgICAgICAgICAgIHJldHVybiBvbkZ1bGZpbGxlZCA/IG9uRnVsZmlsbGVkKHZhbHVlKSA6IG51bGw7XHJcbiAgICAgICAgfSwgKHJlYXNvbjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBhbnkgPSBvblJlamVjdGVkID8gb25SZWplY3RlZChyZWFzb24pIDogbnVsbDtcclxuICAgICAgICAgICAgdGhpcy5oYXNSZWplY3RIYW5kbGVyID0gdGhpcy5oYXNSZWplY3RIYW5kbGVyIHx8IChvblJlamVjdGVkICYmIHJlc3VsdCAhPT0gZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLnJ1bkNvdW50Kys7XHJcbiAgICAgICAgICAgIHRoaXMucmVqZWN0SGFuZGxlcih0aGlzLnJ1bkNvdW50ID09IHRoaXMuYXR0YWNoQ291bnQgJiYgIXRoaXMuaGFzUmVqZWN0SGFuZGxlciA/IHJlYXNvbiA6IG51bGwpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNhdGNoPFRSZXN1bHQgPSBuZXZlcj4ob25SZWplY3RlZD86ICgocmVhc29uOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gKFByb21pc2VMaWtlPFRSZXN1bHQ+IHwgVFJlc3VsdCkpIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFByb21pc2U8YW55IHwgVFJlc3VsdD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRoZW4obnVsbCwgb25SZWplY3RlZCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUh0dHBTZXJ2aWNlIHtcclxuICAgIGxhbmd1YWdlOiBJTGFuZ3VhZ2VTZXJ2aWNlO1xyXG4gICAgdXJsKHVybDogc3RyaW5nKTogc3RyaW5nO1xyXG4gICAgbWFrZUxpc3RQYXJhbXMocGFnZTogbnVtYmVyLCBpdGVtc1BlclBhZ2U6IG51bWJlciwgb3JkZXJCeT86IHN0cmluZywgb3JkZXJEZXNjZW5kaW5nPzogYm9vbGVhbiwgZmlsdGVyPzogc3RyaW5nKTogSUh0dHBQYXJhbXM7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBFWFBSRVNTX1JFUVVFU1QgPSBuZXcgSW5qZWN0aW9uVG9rZW48UmVxdWVzdD4oXCJleHByZXNzLXJlcXVlc3RcIik7XHJcblxyXG4vLyAtLS0gQXBpIHNlcnZpY2UgLS0tXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElBcGlTZXJ2aWNlIGV4dGVuZHMgSUh0dHBTZXJ2aWNlIHtcclxuICAgIGNhY2hlOiBhbnk7XHJcbiAgICBjbGllbnQ6IEh0dHBDbGllbnQ7XHJcbiAgICBnZXQodXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPGFueT47XHJcbiAgICBkZWxldGUodXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPGFueT47XHJcbiAgICBwb3N0KHVybDogc3RyaW5nLCBib2R5PzogYW55LCBvcHRpb25zPzogSVJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xyXG4gICAgcHV0KHVybDogc3RyaW5nLCBib2R5PzogYW55LCBvcHRpb25zPzogSVJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xyXG4gICAgcGF0Y2godXJsOiBzdHJpbmcsIGJvZHk/OiBhbnksIG9wdGlvbnM/OiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPGFueT47XHJcbiAgICB1cGxvYWQodXJsOiBzdHJpbmcsIGJvZHk6IGFueSwgbGlzdGVuZXI/OiBQcm9ncmVzc0xpc3RlbmVyLCBvcHRpb25zPzogSVJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xyXG4gICAgbGlzdCh1cmw6IHN0cmluZywgcGFyYW1zOiBJSHR0cFBhcmFtcyk6IFByb21pc2U8SVBhZ2luYXRpb25EYXRhPjtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IEFQSV9TRVJWSUNFOiBJbmplY3Rpb25Ub2tlbjxJQXBpU2VydmljZT4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SUFwaVNlcnZpY2U+KFwiYXBpLXNlcnZpY2VcIik7XHJcblxyXG4vLyAtLS0gT3BlbkFwaSBzZXJ2aWNlIC0tLVxyXG5leHBvcnQgaW50ZXJmYWNlIElPcGVuQXBpU2NoZW1hUHJvcGVydHkge1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIHR5cGU/OiBzdHJpbmc7XHJcbiAgICBmb3JtYXQ/OiBzdHJpbmc7XHJcbiAgICBjb2x1bW4/OiBib29sZWFuO1xyXG4gICAgYWRkaXRpb25hbFByb3BlcnRpZXM/OiBhbnk7XHJcbiAgICAkcmVmPzogc3RyaW5nO1xyXG4gICAgaXRlbXM/OiBJT3BlbkFwaVNjaGVtYVByb3BlcnR5O1xyXG4gICAgZW51bT86IHN0cmluZ1tdO1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElPcGVuQXBpU2NoZW1hIHtcclxuICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgICBbbmFtZTogc3RyaW5nXTogSU9wZW5BcGlTY2hlbWFQcm9wZXJ0eTtcclxuICAgIH07XHJcbiAgICByZXF1aXJlZDogc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU9wZW5BcGlTY2hlbWFzIHtcclxuICAgIFtuYW1lOiBzdHJpbmddOiBJT3BlbkFwaVNjaGVtYTtcclxufVxyXG5cclxuLy8gLS0tIER5bmFtaWMgdGFibGUgLS0tXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlQ29sdW1ucyB7XHJcbiAgICBbY29sdW1uOiBzdHJpbmddOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlVGVtcGxhdGUge1xyXG4gICAgY29sdW1uOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgIHB1cmU6IGJvb2xlYW47XHJcbiAgICByZWY6IFRlbXBsYXRlUmVmPGFueT47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlVGVtcGxhdGVzIHtcclxuICAgIFtjb2x1bW46IHN0cmluZ106IElUYWJsZVRlbXBsYXRlO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBUYWJsZURhdGFMb2FkZXIgPSAocGFnZTogbnVtYmVyLCByb3dzUGVyUGFnZTogbnVtYmVyLCBvcmRlckJ5OiBzdHJpbmcsIG9yZGVyRGVzY2VuZGluZzogYm9vbGVhbiwgZmlsdGVyOiBzdHJpbmcpID0+IFByb21pc2U8SVBhZ2luYXRpb25EYXRhPjtcclxuXHJcbi8vIC0tLSBSZXNvdXJjZSBpZiAtLS1cclxuZXhwb3J0IGNsYXNzIFJlc291cmNlSWZDb250ZXh0IHtcclxuICAgIHJlc291cmNlOiBzdHJpbmc7XHJcbiAgICB1cmw6IHN0cmluZztcclxufVxyXG5cclxuLy8gLS0tIENvbmZpZ1NlcnZpY2UgLS0tXHJcbmV4cG9ydCBjbGFzcyBJQ29uZmlndXJhdGlvbiB7XHJcbiAgICBiYXNlVXJsPzogc3RyaW5nO1xyXG4gICAgYmFzZURvbWFpbj86IHN0cmluZztcclxuICAgIHRyYW5zbGF0aW9uVXJsPzogc3RyaW5nO1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDb25maWdTZXJ2aWNlIHtcclxuICAgIGNvbmZpZzogSUNvbmZpZ3VyYXRpb247XHJcbiAgICByZWFkb25seSBsb2FkOiAoKSA9PiBQcm9taXNlPElDb25maWd1cmF0aW9uPjtcclxuICAgIHByZXBhcmVVcmwodXJsOiBzdHJpbmcsIGVuZGluZzogc3RyaW5nKTogc3RyaW5nO1xyXG4gICAgZ2V0Q29uZmlnVmFsdWUoa2V5OiBzdHJpbmcpOiBhbnk7XHJcbiAgICBnZXRRdWVyeVBhcmFtZXRlcihuYW1lOiBzdHJpbmcsIHVybD86IHN0cmluZyk6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IENPTkZJR19TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPElDb25maWdTZXJ2aWNlPihcImNvbmZpZy1zZXJ2aWNlXCIpO1xyXG5cclxuZXhwb3J0IGNvbnN0IEJBU0VfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPElDb25maWd1cmF0aW9uPihcImJhc2UtY29uZmlnXCIpO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNDUklQVF9QQVJBTVMgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PihcInNjcmlwdC1wYXJhbXNcIik7XHJcblxyXG5leHBvcnQgY29uc3QgUk9PVF9FTEVNRU5UOiBJbmplY3Rpb25Ub2tlbjxIVE1MRWxlbWVudD4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SFRNTEVsZW1lbnQ+KFwiYXBwLXJvb3QtZWxlbWVudFwiKTtcclxuXHJcbi8vIC0tLSBFcnJvciBoYW5kbGVyIHNlcnZpY2UgLS0tXHJcbmV4cG9ydCB0eXBlIEVycm9ySGFuZGxlckNhbGxiYWNrID0gKGVycm9yOiBzdHJpbmcpID0+IGFueTtcclxuXHJcbmV4cG9ydCBjb25zdCBFUlJPUl9IQU5ETEVSID0gbmV3IEluamVjdGlvblRva2VuPEVycm9ySGFuZGxlckNhbGxiYWNrPihcImVycm9yLWhhbmRsZXItY2FsbGJhY2tcIik7XHJcblxyXG4vLyAtLS0gTW9kdWxlIC0tLVxyXG5leHBvcnQgdHlwZSBBcHBJbml0aWFsaXplckZ1bmMgPSAoKSA9PiBQcm9taXNlPHZvaWQ+IHwgdm9pZDtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU1vZHVsZUNvbmZpZyB7XHJcbiAgICBhcGlTZXJ2aWNlPzogVHlwZTxJQXBpU2VydmljZT5cclxuICAgIGF1dGhTZXJ2aWNlPzogVHlwZTxJQXV0aFNlcnZpY2U+O1xyXG4gICAgaWNvblNlcnZpY2U/OiBUeXBlPElJY29uU2VydmljZT47XHJcbiAgICBsYW5ndWFnZVNlcnZpY2U/OiBUeXBlPElMYW5ndWFnZVNlcnZpY2U+O1xyXG4gICAgdG9hc3RlclNlcnZpY2U/OiBUeXBlPElUb2FzdGVyU2VydmljZT47XHJcbiAgICBwcm9taXNlU2VydmljZT86IFR5cGU8SVByb21pc2VTZXJ2aWNlPjtcclxuICAgIGNvbmZpZ1NlcnZpY2U/OiBUeXBlPElDb25maWdTZXJ2aWNlPjtcclxuICAgIGluaXRpYWxpemVBcHA/OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBBcHBJbml0aWFsaXplckZ1bmM7XHJcbn1cclxuXHJcbi8vIC0tLSBWYWx1ZWQgcHJvbWlzZSAtLS1cclxuZXhwb3J0IGNsYXNzIFZhbHVlZFByb21pc2U8VD4gZXh0ZW5kcyBQcm9taXNlPFQ+IHtcclxuICAgIHZhbHVlOiBUO1xyXG59XHJcbiJdfQ==
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25neC11dGlscy9jb21tb24tdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGNBQWMsRUFBOEIsV0FBVyxFQUFPLE1BQU0sZUFBZSxDQUFDO0FBSTFHLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFTakQsTUFBTSxPQUFPLFdBQVc7SUFDcEIsWUFBbUIsQ0FBUyxFQUFTLENBQVMsRUFBUyxDQUFTLEVBQVMsSUFBWSxHQUFHO1FBQXJFLE1BQUMsR0FBRCxDQUFDLENBQVE7UUFBUyxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQVMsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUFTLE1BQUMsR0FBRCxDQUFDLENBQWM7SUFFeEYsQ0FBQztDQUNKO0FBU0QsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFpQyxJQUFJLGNBQWMsQ0FBZSxjQUFjLENBQUMsQ0FBQztBQW9DM0csTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQXFDLElBQUksY0FBYyxDQUFtQixrQkFBa0IsQ0FBQyxDQUFDO0FBb0IzSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWlDLElBQUksY0FBYyxDQUFlLGNBQWMsQ0FBQyxDQUFDO0FBbUIzRywwQkFBMEI7QUFDMUIsTUFBTSxDQUFOLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNuQiwrQ0FBSyxDQUFBO0lBQ0wsbURBQU8sQ0FBQTtBQUNYLENBQUMsRUFIVyxXQUFXLEtBQVgsV0FBVyxRQUd0QjtBQVVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBb0MsSUFBSSxjQUFjLENBQWtCLGlCQUFpQixDQUFDLENBQUM7QUFjdkgsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFrQixpQkFBaUIsQ0FBQyxDQUFD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QUFXLEdBQUcsSUFBSSxjQUFjLENBQWlCLGFBQWEsQ0FBQyxDQUFDO0FBRTdFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBTSxlQUFlLENBQUMsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWdDLElBQUksY0FBYyxDQUFjLGtCQUFrQixDQUFDLENBQUM7QUFLN0csTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUF1Qix3QkFBd0IsQ0FBQyxDQUFDO0FBZ0JoRyx5QkFBeUI7QUFDekIsTUFBTSxPQUFPLGFBQWlCLFNBQVEsT0FBVTtDQUUvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZlbnRFbWl0dGVyLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0b3IsIE5nWm9uZSwgUHJvdmlkZXIsIFRlbXBsYXRlUmVmLCBUeXBlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0h0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGVhZGVyc30gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7QWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgRGF0YSwgUm91dGUsIFVybFRyZWV9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtSZXF1ZXN0fSBmcm9tIFwiZXhwcmVzc1wiO1xyXG5pbXBvcnQge1JlZmxlY3RVdGlsc30gZnJvbSBcIi4vdXRpbHMvcmVmbGVjdC51dGlsc1wiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuXHJcbi8vIC0tLSBVdGlsc1xyXG5leHBvcnQgaW50ZXJmYWNlIElSZXNvbHZlRmFjdG9yeSB7XHJcbiAgICBmdW5jOiBGdW5jdGlvbjtcclxuICAgIHR5cGU/OiBhbnk7XHJcbiAgICBwYXJhbXM/OiBhbnlbXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENhbnZhc0NvbG9yIHtcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyByOiBudW1iZXIsIHB1YmxpYyBnOiBudW1iZXIsIHB1YmxpYyBiOiBudW1iZXIsIHB1YmxpYyBhOiBudW1iZXIgPSAyNTUpIHtcclxuXHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBJY29uIHNlcnZpY2UgLS0tXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUljb25TZXJ2aWNlIHtcclxuICAgIGlzRGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBpY29uc0xvYWRlZDogRXZlbnRFbWl0dGVyPGFueT47XHJcbiAgICBnZXRJY29uKGljb246IHN0cmluZywgYWN0aXZlSWNvbjogc3RyaW5nLCBhY3RpdmU6IGJvb2xlYW4pOiBQcm9taXNlPHN0cmluZz47XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBJQ09OX1NFUlZJQ0U6IEluamVjdGlvblRva2VuPElJY29uU2VydmljZT4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SUljb25TZXJ2aWNlPihcImljb24tc2VydmljZVwiKTtcclxuXHJcbi8vIC0tLSBMYW5ndWFnZSBzZXJ2aWNlIC0tLVxyXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2xhdGlvbiB7XHJcbiAgICBsYW5nOiBzdHJpbmc7XHJcbiAgICB0cmFuc2xhdGlvbjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2xhdGlvbnMge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElMYW5ndWFnZVNldHRpbmdzIHtcclxuICAgIGxhbmd1YWdlczogc3RyaW5nW107XHJcbiAgICBkZXZMYW5ndWFnZXM6IHN0cmluZ1tdO1xyXG4gICAgZGVmYXVsdExhbmd1YWdlOiBzdHJpbmc7XHJcbiAgICBzZXR0aW5ncz86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTGFuZ3VhZ2VTZXJ2aWNlIHtcclxuICAgIGN1cnJlbnRMYW5ndWFnZTogc3RyaW5nO1xyXG4gICAgZWRpdExhbmd1YWdlOiBzdHJpbmc7XHJcbiAgICBkaXNhYmxlVHJhbnNsYXRpb25zOiBib29sZWFuO1xyXG4gICAgZGVmYXVsdExhbmd1YWdlOiBzdHJpbmc7XHJcbiAgICBkaWN0aW9uYXJ5OiBJVHJhbnNsYXRpb25zO1xyXG4gICAgcmVhZG9ubHkgbGFuZ3VhZ2VzOiBSZWFkb25seUFycmF5PHN0cmluZz47XHJcbiAgICByZWFkb25seSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50O1xyXG4gICAgcmVwbGFjZUxhbmd1YWdlcyhsYW5ndWFnZXM6IHN0cmluZ1tdKTogdm9pZDtcclxuICAgIGFkZExhbmd1YWdlcyhsYW5ndWFnZXM6IHN0cmluZ1tdKTogdm9pZDtcclxuICAgIGdldFRyYW5zbGF0aW9uU3luYyhrZXk6IHN0cmluZywgcGFyYW1zPzogYW55KTogc3RyaW5nO1xyXG4gICAgZ2V0VHJhbnNsYXRpb24oa2V5OiBzdHJpbmcsIHBhcmFtcz86IGFueSk6IFByb21pc2U8c3RyaW5nPjtcclxuICAgIGdldFRyYW5zbGF0aW9ucyguLi5rZXlzOiBzdHJpbmdbXSk6IFByb21pc2U8SVRyYW5zbGF0aW9ucz47XHJcbiAgICBnZXRUcmFuc2xhdGlvbkZyb21PYmplY3QodHJhbnNsYXRpb25zOiBJVHJhbnNsYXRpb25zLCBwYXJhbXM/OiBhbnksIGxhbmc/OiBzdHJpbmcpOiBzdHJpbmc7XHJcbiAgICBnZXRUcmFuc2xhdGlvbkZyb21BcnJheSh0cmFuc2xhdGlvbnM6IElUcmFuc2xhdGlvbltdLCBwYXJhbXM/OiBhbnksIGxhbmc/OiBzdHJpbmcpOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBMQU5HVUFHRV9TRVJWSUNFOiBJbmplY3Rpb25Ub2tlbjxJTGFuZ3VhZ2VTZXJ2aWNlPiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJTGFuZ3VhZ2VTZXJ2aWNlPihcImxhbmd1YWdlLXNlcnZpY2VcIik7XHJcblxyXG4vLyAtLS0gQXV0aCBTZXJ2aWNlIC0tLVxyXG5leHBvcnQgaW50ZXJmYWNlIElBdXRoU2VydmljZSB7XHJcbiAgICBpc0F1dGhlbnRpY2F0ZWQ6IGJvb2xlYW47XHJcbiAgICB1c2VyQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT47XHJcbiAgICBjaGVja0F1dGhlbnRpY2F0ZWQoKTogUHJvbWlzZTxib29sZWFuPjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUm91dGVWYWxpZGF0b3IgPSAoYXV0aDogSUF1dGhTZXJ2aWNlLCByb3V0ZT86IElSb3V0ZSwgbmV4dD86IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpID0+IFByb21pc2U8Ym9vbGVhbj47XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElSb3V0ZURhdGEgZXh0ZW5kcyBEYXRhIHtcclxuICAgIHJldHVyblN0YXRlPzogc3RyaW5nW107XHJcbiAgICBndWFyZHM/OiBBcnJheTxJUmVzb2x2ZUZhY3RvcnkgfCBSb3V0ZVZhbGlkYXRvcj47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVJvdXRlIGV4dGVuZHMgUm91dGUge1xyXG4gICAgZGF0YT86IElSb3V0ZURhdGE7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBBVVRIX1NFUlZJQ0U6IEluamVjdGlvblRva2VuPElBdXRoU2VydmljZT4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SUF1dGhTZXJ2aWNlPihcImF1dGgtc2VydmljZVwiKTtcclxuXHJcbi8vIC0tLSBBY2wgU2VydmljZSAtLS1cclxuZXhwb3J0IGludGVyZmFjZSBJQWNsQ29tcG9uZW50IHtcclxuICAgIG9uVXNlckluaXRpYWxpemVkKCk6IHZvaWQ7XHJcbiAgICBvblVzZXJDaGFuZ2VkKCk6IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVJvdXRlU3RhdGVJbmZvIHtcclxuICAgIHJvdXRlOiBJUm91dGU7XHJcbiAgICBndWFyZDogYW55O1xyXG4gICAgZGlydHk6IGJvb2xlYW47XHJcbiAgICBmaXJzdDogYm9vbGVhbjtcclxuICAgIGNvbXBvbmVudD86IGFueTtcclxufVxyXG5cclxuLy8gLS0tIFN0YXRlIFNlcnZpY2UgLS0tXHJcbmV4cG9ydCB0eXBlIE5hdmlnYXRpb25VcmxQYXJhbSA9IGFueVtdIHwgc3RyaW5nIHwgVXJsVHJlZTtcclxuXHJcbi8vIC0tLSBTdG9yYWdlIFNlcnZpY2UgLS0tXHJcbmV4cG9ydCBlbnVtIFN0b3JhZ2VNb2RlIHtcclxuICAgIExvY2FsLFxyXG4gICAgU2Vzc2lvblxyXG59XHJcblxyXG4vLyAtLS0gVG9hc3RlciBTZXJ2aWNlIC0tLVxyXG5leHBvcnQgaW50ZXJmYWNlIElUb2FzdGVyU2VydmljZSB7XHJcbiAgICBlcnJvcihtZXNzYWdlOiBzdHJpbmcsIHBhcmFtcz86IGFueSwgdGl0bGU/OiBzdHJpbmcpOiB2b2lkO1xyXG4gICAgaW5mbyhtZXNzYWdlOiBzdHJpbmcsIHBhcmFtcz86IGFueSwgdGl0bGU/OiBzdHJpbmcpOiB2b2lkO1xyXG4gICAgc3VjY2VzcyhtZXNzYWdlOiBzdHJpbmcsIHBhcmFtcz86IGFueSwgdGl0bGU/OiBzdHJpbmcpOiB2b2lkO1xyXG4gICAgd2FybmluZyhtZXNzYWdlOiBzdHJpbmcsIHBhcmFtcz86IGFueSwgdGl0bGU/OiBzdHJpbmcpOiB2b2lkO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgVE9BU1RFUl9TRVJWSUNFOiBJbmplY3Rpb25Ub2tlbjxJVG9hc3RlclNlcnZpY2U+ID0gbmV3IEluamVjdGlvblRva2VuPElUb2FzdGVyU2VydmljZT4oXCJ0b2FzdGVyLXNlcnZpY2VcIik7XHJcblxyXG4vLyAtLS0gUHJvbWlzZSBTZXJ2aWNlIC0tLVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUHJvbWlzZVNlcnZpY2Uge1xyXG4gICAgem9uZTogTmdab25lO1xyXG4gICAgY291bnQ6IG51bWJlcjtcclxuICAgIG9uQ2hhbmdlZDogRXZlbnRFbWl0dGVyPG51bWJlcj47XHJcbiAgICBjcmVhdGU8VD4oZXhlY3V0b3I6IChyZXNvbHZlOiAodmFsdWU/OiBUIHwgUHJvbWlzZUxpa2U8VD4pID0+IHZvaWQsIHJlamVjdDogKHJlYXNvbj86IGFueSkgPT4gdm9pZCkgPT4gdm9pZCk6IFByb21pc2U8VD47XHJcbiAgICBhbGwocHJvbWlzZXM6IFByb21pc2U8YW55PltdKTogUHJvbWlzZTxhbnk+O1xyXG4gICAgcmVzb2x2ZTxUPih2YWx1ZTogVCB8IFByb21pc2VMaWtlPFQ+KTogUHJvbWlzZTxUPjtcclxuICAgIHJlamVjdDxUPih2YWx1ZTogVCB8IFByb21pc2VMaWtlPFQ+KTogUHJvbWlzZTxUPjtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IFBST01JU0VfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJUHJvbWlzZVNlcnZpY2U+KFwicHJvbWlzZS1zZXJ2aWNlXCIpO1xyXG5cclxuLy8gLS0tIEFzeW5jIG1ldGhvZCAtLS1cclxuZXhwb3J0IGludGVyZmFjZSBJQXN5bmNNZXNzYWdlIHtcclxuICAgIG1lc3NhZ2U6IHN0cmluZztcclxuICAgIGNvbnRleHQ/OiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEFzeW5jTWV0aG9kID0gKGNvbnRleHQ/OiBhbnkpID0+IFByb21pc2U8SUFzeW5jTWVzc2FnZT47XHJcblxyXG4vLyAtLS0gVW5vcmRlcmVkIGxpc3QgLS0tXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBVbm9yZWRlcmVkTGlzdFRlbXBsYXRlIGV4dGVuZHMgVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICBhYnN0cmFjdCB0eXBlOiBzdHJpbmc7XHJcbiAgICBhYnN0cmFjdCBzZWxlY3Rvcjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVub3JkZXJlZExpc3RUZW1wbGF0ZXMge1xyXG4gICAgW3R5cGU6IHN0cmluZ106IFRlbXBsYXRlUmVmPGFueT47XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFVub3JkZXJlZExpc3RTdHlsZSA9IFwidGFibGVcIiB8IFwibGlzdFwiO1xyXG5cclxuLy8gLS0tIEFqYXggcmVxdWVzdCAgLS0tXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFqYXhSZXF1ZXN0RGV0YWlscyB7XHJcbiAgICByZXF1ZXN0OiBYTUxIdHRwUmVxdWVzdCxcclxuICAgIG1ldGhvZDogc3RyaW5nO1xyXG4gICAgdXJsOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEFqYXhSZXF1ZXN0Q2FsbGJhY2sgPSAoZGV0YWlsczogSUFqYXhSZXF1ZXN0RGV0YWlscywgcGFyYW1zOiBhbnkpID0+IHZvaWQ7XHJcblxyXG4vLyAtLS0gTG9hZGVyIHV0aWxzIC0tLVxyXG5leHBvcnQgaW50ZXJmYWNlIElTY3JpcHRQcm9taXNlcyB7XHJcbiAgICBbc3JjOiBzdHJpbmddOiBQcm9taXNlPEhUTUxTY3JpcHRFbGVtZW50PjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIElTdHlsZVByb21pc2VzIHtcclxuICAgIFtzcmM6IHN0cmluZ106IFByb21pc2U8SFRNTExpbmtFbGVtZW50PjtcclxufVxyXG5cclxuLy8gLS0tIE9ic2VydmFibGUgdXRpbHMgLS0tXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVNlYXJjaE9ic2VydmFibGUge1xyXG4gICAgc2VhcmNoOiBzdHJpbmc7XHJcbiAgICBnZXRTZWFyY2hSZXN1bHRzKHRva2VuOiBzdHJpbmcpOiBQcm9taXNlPGFueVtdPjtcclxufVxyXG5cclxuLy8gLS0tIFJlZmxlY3QgdXRpbHMgLS0tXHJcbmV4cG9ydCBmdW5jdGlvbiBGYWN0b3J5RGVwZW5kZW5jaWVzKC4uLmRlcGVuZGVuY2llczogQXJyYXk8SW5qZWN0aW9uVG9rZW48YW55PiB8IFByb3ZpZGVyPik6IE1ldGhvZERlY29yYXRvciB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogYW55LCBtZXRob2Q6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIFJlZmxlY3RVdGlscy5kZWZpbmVNZXRhZGF0YShcImZhY3RvcnlEZXBlbmRlbmNpZXNcIiwgZGVwZW5kZW5jaWVzLCB0YXJnZXQsIG1ldGhvZCk7XHJcbiAgICB9O1xyXG59XHJcblxyXG4vLyAtLS0gVGltZXIgdXRpbHMgLS0tXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRpbWVyIHtcclxuICAgIGlkPzogYW55O1xyXG4gICAgZnVuYz86IEZ1bmN0aW9uO1xyXG4gICAgdGltZT86IG51bWJlcjtcclxuICAgIHJ1bj86ICgpID0+IHZvaWQ7XHJcbiAgICBzZXQ/OiAoZnVuYzogRnVuY3Rpb24sIHRpbWU6IG51bWJlcikgPT4gdm9pZDtcclxuICAgIGNsZWFyPzogKCkgPT4gdm9pZDtcclxufVxyXG5cclxuLy8gLS0tIEV4dHJhSXRlbVByb3BlcnRpZXMgLS0tXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUV4dHJhUHJvcGVydGllcyB7XHJcbiAgICBbcHJvcDogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG4vLyAtLS0gR3JvdXAgYnkgLS0tXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUdyb3VwTWFwIHtcclxuICAgIFtjb2x1bW46IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuLy8gLS0tIFRyYW5zbGF0ZSAtLS1cclxuZXhwb3J0IHR5cGUgVHJhbnNsYXRpb25RdWVyeSA9IHN0cmluZyB8IElUcmFuc2xhdGlvbnMgfCBJVHJhbnNsYXRpb25bXTtcclxuXHJcbi8vIC0tLSBQYWdpbmF0aW9uIC0tLVxyXG5leHBvcnQgaW50ZXJmYWNlIElQYWdlSW5mbyB7XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgICBudW1iZXI6IG51bWJlcjtcclxuICAgIGFjdGl2ZTogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUGFnaW5hdGlvbkRhdGEge1xyXG4gICAgdG90YWw6IG51bWJlcjtcclxuICAgIGl0ZW1zOiBhbnlbXTtcclxuICAgIG1ldGE/OiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFBhZ2luYXRpb25EYXRhTG9hZGVyID0gKHBhZ2U6IG51bWJlciwgaXRlbXNQZXJQYWdlOiBudW1iZXIpID0+IFByb21pc2U8SVBhZ2luYXRpb25EYXRhPjtcclxuXHJcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uSXRlbUNvbnRleHQge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBpdGVtOiBhbnksIHB1YmxpYyBwYXJhbGxlbEl0ZW06IGFueSwgcHVibGljIGNvdW50OiBudW1iZXIsIHB1YmxpYyBpbmRleDogbnVtYmVyLCBwdWJsaWMgZGF0YUluZGV4OiBudW1iZXIpIHtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZmlyc3QoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXggPT09IDA7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGxhc3QoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXggPT09IHRoaXMuY291bnQgLSAxO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBldmVuKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmluZGV4ICUgMiA9PT0gMDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgb2RkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhdGhpcy5ldmVuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFN1cHBvcnQgZm9yIG9sZCBkeW5hbWljIHRhYmxlIGltcGxlbWVudGF0aW9uXHJcbiAgICBnZXQgcm93KCk6IGFueSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJEeW5hbWljVGFibGUgcm93IGlzIGRlcHJlY2F0ZWQgdXNlIGl0ZW0gaW5zdGVhZFwiKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pdGVtO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFN1cHBvcnQgZm9yIG9sZCBkeW5hbWljIHRhYmxlIGltcGxlbWVudGF0aW9uXHJcbiAgICBnZXQgcGFyYWxsZWxSb3coKTogYW55IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIkR5bmFtaWNUYWJsZSBwYXJhbGxlbFJvdyBpcyBkZXByZWNhdGVkIHVzZSBwYXJhbGxlbEl0ZW0gaW5zdGVhZFwiKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5wYXJhbGxlbEl0ZW07XHJcbiAgICB9XHJcblxyXG4gICAgZmlsdGVyKGZpbHRlclJ4OiBSZWdFeHApOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModGhpcy5pdGVtKTtcclxuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5pdGVtW2tleV07XHJcbiAgICAgICAgICAgIGlmIChPYmplY3RVdGlscy5pc051bGxPclVuZGVmaW5lZCh2YWx1ZSkgfHwgT2JqZWN0VXRpbHMuaXNPYmplY3QodmFsdWUpKSBjb250aW51ZTtcclxuICAgICAgICAgICAgY29uc3QgdGVzdFZhbHVlID0gT2JqZWN0VXRpbHMuaXNTdHJpbmcodmFsdWUpID8gdmFsdWUgOiB2YWx1ZS50b1N0cmluZygpO1xyXG4gICAgICAgICAgICBpZiAodGVzdFZhbHVlLm1hdGNoKGZpbHRlclJ4KSkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIEh0dHAgc2VydmljZSAtLS1cclxuZXhwb3J0IGludGVyZmFjZSBJSHR0cEhlYWRlcnMge1xyXG4gICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUh0dHBQYXJhbXMge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElSZXF1ZXN0T3B0aW9ucyB7XHJcbiAgICBtZXRob2Q/OiBzdHJpbmc7XHJcbiAgICBib2R5PzogYW55O1xyXG4gICAgaGVhZGVycz86IElIdHRwSGVhZGVycyB8IEh0dHBIZWFkZXJzO1xyXG4gICAgb3JpZ2luYWxIZWFkZXJzPzogSUh0dHBIZWFkZXJzO1xyXG4gICAgcGFyYW1zPzogSUh0dHBQYXJhbXM7XHJcbiAgICBvYnNlcnZlPzogXCJib2R5XCI7XHJcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XHJcbiAgICByZXNwb25zZVR5cGU/OiBcImFycmF5YnVmZmVyXCIgfCBcImJsb2JcIiB8IFwianNvblwiIHwgXCJ0ZXh0XCI7XHJcbiAgICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xyXG4gICAgdGltZW91dD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSXNzdWVDb250ZXh0IHtcclxuICAgIHVybDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQcm9ncmVzcyB7XHJcbiAgICBwZXJjZW50YWdlPzogbnVtYmVyO1xyXG4gICAgbG9hZGVkPzogbnVtYmVyO1xyXG4gICAgdG90YWw/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFByb2dyZXNzTGlzdGVuZXIgPSAocHJvZ3Jlc3M6IElQcm9ncmVzcykgPT4gdm9pZDtcclxuXHJcbmV4cG9ydCB0eXBlIFByb21pc2VFeGVjdXRvciA9IChyZXNvbHZlOiAodmFsdWU/OiBhbnkgfCBQcm9taXNlTGlrZTxhbnk+KSA9PiB2b2lkLCByZWplY3Q6IChyZWFzb24/OiBhbnkpID0+IHZvaWQpID0+IHZvaWQ7XHJcblxyXG5leHBvcnQgY2xhc3MgSHR0cFByb21pc2UgZXh0ZW5kcyBQcm9taXNlPGFueT4ge1xyXG5cclxuICAgIHByb3RlY3RlZCByZWplY3RIYW5kbGVyOiAocmVhc29uPzogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQ7XHJcbiAgICBwcm90ZWN0ZWQgaGFzUmVqZWN0SGFuZGxlcjogYm9vbGVhbjtcclxuICAgIHByb3RlY3RlZCBhdHRhY2hDb3VudDogbnVtYmVyO1xyXG4gICAgcHJvdGVjdGVkIHJ1bkNvdW50OiBudW1iZXI7XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVqZWN0SGFuZGxlcjogKHJlYXNvbj86IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB2b2lkLCBleGVjdXRvcjogUHJvbWlzZUV4ZWN1dG9yKSB7XHJcbiAgICAgICAgc3VwZXIoZXhlY3V0b3IpO1xyXG4gICAgICAgIHRoaXMucmVqZWN0SGFuZGxlciA9IHJlamVjdEhhbmRsZXI7XHJcbiAgICAgICAgdGhpcy5hdHRhY2hDb3VudCA9IDA7XHJcbiAgICAgICAgdGhpcy5ydW5Db3VudCA9IDA7XHJcbiAgICB9XHJcblxyXG4gICAgdGhlbjxUUmVzdWx0MSwgVFJlc3VsdDI+KG9uRnVsZmlsbGVkPzogKCh2YWx1ZTogYW55KSA9PiAoUHJvbWlzZUxpa2U8VFJlc3VsdDE+IHwgVFJlc3VsdDEpKSB8IG51bGwgfCB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25SZWplY3RlZD86ICgocmVhc29uOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gKFByb21pc2VMaWtlPFRSZXN1bHQyPiB8IFRSZXN1bHQyKSkgfCBudWxsIHwgdW5kZWZpbmVkKTogUHJvbWlzZTxUUmVzdWx0MSB8IFRSZXN1bHQyPiB7XHJcbiAgICAgICAgdGhpcy5hdHRhY2hDb3VudCsrO1xyXG4gICAgICAgIHJldHVybiBzdXBlci50aGVuKHZhbHVlID0+IHtcclxuICAgICAgICAgICAgdGhpcy5ydW5Db3VudCsrO1xyXG4gICAgICAgICAgICByZXR1cm4gb25GdWxmaWxsZWQgPyBvbkZ1bGZpbGxlZCh2YWx1ZSkgOiBudWxsO1xyXG4gICAgICAgIH0sIChyZWFzb246IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0gb25SZWplY3RlZCA/IG9uUmVqZWN0ZWQocmVhc29uKSA6IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMuaGFzUmVqZWN0SGFuZGxlciA9IHRoaXMuaGFzUmVqZWN0SGFuZGxlciB8fCAob25SZWplY3RlZCAmJiByZXN1bHQgIT09IGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5ydW5Db3VudCsrO1xyXG4gICAgICAgICAgICB0aGlzLnJlamVjdEhhbmRsZXIodGhpcy5ydW5Db3VudCA9PSB0aGlzLmF0dGFjaENvdW50ICYmICF0aGlzLmhhc1JlamVjdEhhbmRsZXIgPyByZWFzb24gOiBudWxsKTtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjYXRjaDxUUmVzdWx0ID0gbmV2ZXI+KG9uUmVqZWN0ZWQ/OiAoKHJlYXNvbjogSHR0cEVycm9yUmVzcG9uc2UpID0+IChQcm9taXNlTGlrZTxUUmVzdWx0PiB8IFRSZXN1bHQpKSB8IG51bGwgfCB1bmRlZmluZWQpOiBQcm9taXNlPGFueSB8IFRSZXN1bHQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy50aGVuKG51bGwsIG9uUmVqZWN0ZWQpO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElIdHRwU2VydmljZSB7XHJcbiAgICBsYW5ndWFnZTogSUxhbmd1YWdlU2VydmljZTtcclxuICAgIHVybCh1cmw6IHN0cmluZyk6IHN0cmluZztcclxuICAgIG1ha2VMaXN0UGFyYW1zKHBhZ2U6IG51bWJlciwgaXRlbXNQZXJQYWdlOiBudW1iZXIsIG9yZGVyQnk/OiBzdHJpbmcsIG9yZGVyRGVzY2VuZGluZz86IGJvb2xlYW4sIGZpbHRlcj86IHN0cmluZyk6IElIdHRwUGFyYW1zO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgRVhQUkVTU19SRVFVRVNUID0gbmV3IEluamVjdGlvblRva2VuPFJlcXVlc3Q+KFwiZXhwcmVzcy1yZXF1ZXN0XCIpO1xyXG5cclxuLy8gLS0tIEFwaSBzZXJ2aWNlIC0tLVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQXBpU2VydmljZSBleHRlbmRzIElIdHRwU2VydmljZSB7XHJcbiAgICBjYWNoZTogYW55O1xyXG4gICAgY2xpZW50OiBIdHRwQ2xpZW50O1xyXG4gICAgZ2V0KHVybDogc3RyaW5nLCBvcHRpb25zPzogSVJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xyXG4gICAgZGVsZXRlKHVybDogc3RyaW5nLCBvcHRpb25zPzogSVJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xyXG4gICAgcG9zdCh1cmw6IHN0cmluZywgYm9keT86IGFueSwgb3B0aW9ucz86IElSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8YW55PjtcclxuICAgIHB1dCh1cmw6IHN0cmluZywgYm9keT86IGFueSwgb3B0aW9ucz86IElSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8YW55PjtcclxuICAgIHBhdGNoKHVybDogc3RyaW5nLCBib2R5PzogYW55LCBvcHRpb25zPzogSVJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xyXG4gICAgdXBsb2FkKHVybDogc3RyaW5nLCBib2R5OiBhbnksIGxpc3RlbmVyPzogUHJvZ3Jlc3NMaXN0ZW5lciwgb3B0aW9ucz86IElSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8YW55PjtcclxuICAgIGxpc3QodXJsOiBzdHJpbmcsIHBhcmFtczogSUh0dHBQYXJhbXMpOiBQcm9taXNlPElQYWdpbmF0aW9uRGF0YT47XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBBUElfU0VSVklDRTogSW5qZWN0aW9uVG9rZW48SUFwaVNlcnZpY2U+ID0gbmV3IEluamVjdGlvblRva2VuPElBcGlTZXJ2aWNlPihcImFwaS1zZXJ2aWNlXCIpO1xyXG5cclxuLy8gLS0tIE9wZW5BcGkgc2VydmljZSAtLS1cclxuZXhwb3J0IGludGVyZmFjZSBJT3BlbkFwaVNjaGVtYVByb3BlcnR5IHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICB0eXBlPzogc3RyaW5nO1xyXG4gICAgZm9ybWF0Pzogc3RyaW5nO1xyXG4gICAgY29sdW1uPzogYm9vbGVhbjtcclxuICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzPzogYW55O1xyXG4gICAgJHJlZj86IHN0cmluZztcclxuICAgIGl0ZW1zPzogSU9wZW5BcGlTY2hlbWFQcm9wZXJ0eTtcclxuICAgIGVudW0/OiBzdHJpbmdbXTtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJT3BlbkFwaVNjaGVtYSB7XHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICAgICAgW25hbWU6IHN0cmluZ106IElPcGVuQXBpU2NoZW1hUHJvcGVydHk7XHJcbiAgICB9O1xyXG4gICAgcmVxdWlyZWQ6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElPcGVuQXBpU2NoZW1hcyB7XHJcbiAgICBbbmFtZTogc3RyaW5nXTogSU9wZW5BcGlTY2hlbWE7XHJcbn1cclxuXHJcbi8vIC0tLSBEeW5hbWljIHRhYmxlIC0tLVxyXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZUNvbHVtbnMge1xyXG4gICAgW2NvbHVtbjogc3RyaW5nXTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZVRlbXBsYXRlIHtcclxuICAgIGNvbHVtbjogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgICBwdXJlOiBib29sZWFuO1xyXG4gICAgcmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZVRlbXBsYXRlcyB7XHJcbiAgICBbY29sdW1uOiBzdHJpbmddOiBJVGFibGVUZW1wbGF0ZTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVGFibGVEYXRhTG9hZGVyID0gKHBhZ2U6IG51bWJlciwgcm93c1BlclBhZ2U6IG51bWJlciwgb3JkZXJCeTogc3RyaW5nLCBvcmRlckRlc2NlbmRpbmc6IGJvb2xlYW4sIGZpbHRlcjogc3RyaW5nKSA9PiBQcm9taXNlPElQYWdpbmF0aW9uRGF0YT47XHJcblxyXG4vLyAtLS0gUmVzb3VyY2UgaWYgLS0tXHJcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZUlmQ29udGV4dCB7XHJcbiAgICByZXNvdXJjZTogc3RyaW5nO1xyXG4gICAgdXJsOiBzdHJpbmc7XHJcbn1cclxuXHJcbi8vIC0tLSBDb25maWdTZXJ2aWNlIC0tLVxyXG5leHBvcnQgY2xhc3MgSUNvbmZpZ3VyYXRpb24ge1xyXG4gICAgYmFzZVVybD86IHN0cmluZztcclxuICAgIGJhc2VEb21haW4/OiBzdHJpbmc7XHJcbiAgICB0cmFuc2xhdGlvblVybD86IHN0cmluZztcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQ29uZmlnU2VydmljZSB7XHJcbiAgICBjb25maWc6IElDb25maWd1cmF0aW9uO1xyXG4gICAgcmVhZG9ubHkgbG9hZDogKCkgPT4gUHJvbWlzZTxJQ29uZmlndXJhdGlvbj47XHJcbiAgICBwcmVwYXJlVXJsKHVybDogc3RyaW5nLCBlbmRpbmc6IHN0cmluZyk6IHN0cmluZztcclxuICAgIGdldENvbmZpZ1ZhbHVlKGtleTogc3RyaW5nKTogYW55O1xyXG4gICAgZ2V0UXVlcnlQYXJhbWV0ZXIobmFtZTogc3RyaW5nLCB1cmw/OiBzdHJpbmcpOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBDT05GSUdfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJQ29uZmlnU2VydmljZT4oXCJjb25maWctc2VydmljZVwiKTtcclxuXHJcbmV4cG9ydCBjb25zdCBCQVNFX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJQ29uZmlndXJhdGlvbj4oXCJiYXNlLWNvbmZpZ1wiKTtcclxuXHJcbmV4cG9ydCBjb25zdCBTQ1JJUFRfUEFSQU1TID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oXCJzY3JpcHQtcGFyYW1zXCIpO1xyXG5cclxuZXhwb3J0IGNvbnN0IFJPT1RfRUxFTUVOVDogSW5qZWN0aW9uVG9rZW48SFRNTEVsZW1lbnQ+ID0gbmV3IEluamVjdGlvblRva2VuPEhUTUxFbGVtZW50PihcImFwcC1yb290LWVsZW1lbnRcIik7XHJcblxyXG4vLyAtLS0gRXJyb3IgaGFuZGxlciBzZXJ2aWNlIC0tLVxyXG5leHBvcnQgdHlwZSBFcnJvckhhbmRsZXJDYWxsYmFjayA9IChlcnJvcjogc3RyaW5nKSA9PiBhbnk7XHJcblxyXG5leHBvcnQgY29uc3QgRVJST1JfSEFORExFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxFcnJvckhhbmRsZXJDYWxsYmFjaz4oXCJlcnJvci1oYW5kbGVyLWNhbGxiYWNrXCIpO1xyXG5cclxuLy8gLS0tIE1vZHVsZSAtLS1cclxuZXhwb3J0IHR5cGUgQXBwSW5pdGlhbGl6ZXJGdW5jID0gKCkgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElNb2R1bGVDb25maWcge1xyXG4gICAgYXBpU2VydmljZT86IFR5cGU8SUFwaVNlcnZpY2U+XHJcbiAgICBhdXRoU2VydmljZT86IFR5cGU8SUF1dGhTZXJ2aWNlPjtcclxuICAgIGljb25TZXJ2aWNlPzogVHlwZTxJSWNvblNlcnZpY2U+O1xyXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlPzogVHlwZTxJTGFuZ3VhZ2VTZXJ2aWNlPjtcclxuICAgIHRvYXN0ZXJTZXJ2aWNlPzogVHlwZTxJVG9hc3RlclNlcnZpY2U+O1xyXG4gICAgcHJvbWlzZVNlcnZpY2U/OiBUeXBlPElQcm9taXNlU2VydmljZT47XHJcbiAgICBjb25maWdTZXJ2aWNlPzogVHlwZTxJQ29uZmlnU2VydmljZT47XHJcbiAgICBpbml0aWFsaXplQXBwPzogKGluamVjdG9yOiBJbmplY3RvcikgPT4gQXBwSW5pdGlhbGl6ZXJGdW5jO1xyXG59XHJcblxyXG4vLyAtLS0gVmFsdWVkIHByb21pc2UgLS0tXHJcbmV4cG9ydCBjbGFzcyBWYWx1ZWRQcm9taXNlPFQ+IGV4dGVuZHMgUHJvbWlzZTxUPiB7XHJcbiAgICB2YWx1ZTogVDtcclxufVxyXG4iXX0=
|
|
@@ -4,16 +4,18 @@ import { ActivatedRouteSnapshot, NavigationEnd, Router } from "@angular/router";
|
|
|
4
4
|
import { BehaviorSubject, Observable } from "rxjs";
|
|
5
5
|
import { skipWhile } from "rxjs/operators";
|
|
6
6
|
import { ObjectUtils } from "../utils/object.utils";
|
|
7
|
+
import { UniversalService } from "./universal.service";
|
|
7
8
|
export const emptySnapshot = new ActivatedRouteSnapshot();
|
|
8
9
|
export const emptyData = { id: "" };
|
|
9
10
|
export const emptyParams = {};
|
|
10
11
|
export const emptySegments = [];
|
|
11
12
|
export const emptyComponents = [];
|
|
12
13
|
export class StateService extends BehaviorSubject {
|
|
13
|
-
constructor(injector, zone, router = null) {
|
|
14
|
+
constructor(injector, zone, universal, router = null) {
|
|
14
15
|
super(null);
|
|
15
16
|
this.injector = injector;
|
|
16
17
|
this.zone = zone;
|
|
18
|
+
this.universal = universal;
|
|
17
19
|
this.router = router;
|
|
18
20
|
this.handleRouterEvent = (event) => {
|
|
19
21
|
if (!(event instanceof NavigationEnd))
|
|
@@ -111,26 +113,61 @@ export class StateService extends BehaviorSubject {
|
|
|
111
113
|
}
|
|
112
114
|
});
|
|
113
115
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
return
|
|
117
|
-
|
|
118
|
-
const tree = this.router.createUrlTree(commands, extras);
|
|
119
|
-
return this.navigateByUrl(tree, extras);
|
|
116
|
+
navigateByUrl(url, navigationExtras = {}) {
|
|
117
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
118
|
+
return this.navigate(url, navigationExtras);
|
|
119
|
+
});
|
|
120
120
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
this.zone.run(() => {
|
|
127
|
-
this.router.navigateByUrl(
|
|
121
|
+
navigate(url, navigationExtras = {}) {
|
|
122
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
123
|
+
if (!this.router)
|
|
124
|
+
return false;
|
|
125
|
+
const [tree, extras] = this.createUrlTree(url, navigationExtras);
|
|
126
|
+
return this.zone.run(() => {
|
|
127
|
+
return this.router.navigateByUrl(tree, extras);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
open(url, target = "_blank", navigationExtras = {}) {
|
|
132
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
+
if (!this.router)
|
|
134
|
+
return false;
|
|
135
|
+
const [tree, extras] = this.createUrlTree(url, navigationExtras);
|
|
136
|
+
return this.zone.run(() => {
|
|
137
|
+
return this.openInNewWindow(tree, target) || this.router.navigateByUrl(tree, extras);
|
|
128
138
|
});
|
|
129
139
|
});
|
|
130
140
|
}
|
|
131
141
|
subscribeImmediately(next, error, complete) {
|
|
132
142
|
return this.pipe(skipWhile(v => v == null)).subscribe(next, error, complete);
|
|
133
143
|
}
|
|
144
|
+
openInNewWindow(tree, target) {
|
|
145
|
+
if (!this.universal.isBrowser)
|
|
146
|
+
return false;
|
|
147
|
+
const baseUrl = window.location.href.replace(this.router.url, "");
|
|
148
|
+
try {
|
|
149
|
+
const serialized = this.router.serializeUrl(tree);
|
|
150
|
+
const separator = serialized.startsWith("/") ? "" : "/";
|
|
151
|
+
window.open(baseUrl + separator + serialized, target);
|
|
152
|
+
return true;
|
|
153
|
+
}
|
|
154
|
+
catch (e) {
|
|
155
|
+
console.log(`Can't open new window: ${e}`);
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
createUrlTree(url, extras) {
|
|
160
|
+
if (!this.router)
|
|
161
|
+
return null;
|
|
162
|
+
extras = Object.assign(extras, this.globalExtras, extras || {});
|
|
163
|
+
if (ObjectUtils.isArray(url)) {
|
|
164
|
+
return [this.router.createUrlTree(url, extras), extras];
|
|
165
|
+
}
|
|
166
|
+
if (ObjectUtils.isString(url)) {
|
|
167
|
+
return [this.router.parseUrl(url), extras];
|
|
168
|
+
}
|
|
169
|
+
return [url, extras];
|
|
170
|
+
}
|
|
134
171
|
}
|
|
135
172
|
StateService.decorators = [
|
|
136
173
|
{ type: Injectable }
|
|
@@ -138,6 +175,7 @@ StateService.decorators = [
|
|
|
138
175
|
StateService.ctorParameters = () => [
|
|
139
176
|
{ type: Injector },
|
|
140
177
|
{ type: NgZone },
|
|
178
|
+
{ type: UniversalService },
|
|
141
179
|
{ type: Router, decorators: [{ type: Optional }] }
|
|
142
180
|
];
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvc2VydmljZXMvc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQ0gsc0JBQXNCLEVBSXRCLGFBQWEsRUFNYixNQUFNLEVBR1QsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUMsZUFBZSxFQUFFLFVBQVUsRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBR2xELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBMkIsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBUyxFQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUMsQ0FBQztBQUN4QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQVcsRUFBRSxDQUFDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBaUIsRUFBRSxDQUFDO0FBQzlDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBVSxFQUFFLENBQUM7QUFTekMsTUFBTSxPQUFPLFlBQWEsU0FBUSxlQUFvQjtJQXlEbEQsWUFBcUIsUUFBa0IsRUFBVyxJQUFZLEVBQXVCLFNBQWlCLElBQUk7UUFDdEcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBREssYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFXLFNBQUksR0FBSixJQUFJLENBQVE7UUFBdUIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQXFEbEcsc0JBQWlCLEdBQUcsQ0FBQyxLQUFZLEVBQVEsRUFBRTtZQUMvQyxJQUFJLENBQUMsQ0FB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QWEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMvRSxDQUFDLENBQUMsQ0FBQTtRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQThDLEVBQUUsS0FBNEIsRUFBRSxRQUFxQjtRQUNwSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDakYsQ0FBQzs7O1lBN0dKLFVBQVU7OztZQWpDUyxRQUFRO1lBQUUsTUFBTTtZQVloQyxNQUFNLHVCQStFMkQsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgSW5qZWN0b3IsIE5nWm9uZSwgT3B0aW9uYWx9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxyXG4gICAgQ2hpbGRyZW5PdXRsZXRDb250ZXh0cyxcclxuICAgIERhdGEsXHJcbiAgICBFdmVudCxcclxuICAgIE5hdmlnYXRpb25FbmQsXHJcbiAgICBOYXZpZ2F0aW9uRXh0cmFzLFxyXG4gICAgT3V0bGV0Q29udGV4dCxcclxuICAgIFBhcmFtcyxcclxuICAgIFJlc29sdmUsXHJcbiAgICBSb3V0ZSxcclxuICAgIFJvdXRlcixcclxuICAgIFVybFNlZ21lbnQsXHJcbiAgICBVcmxUcmVlXHJcbn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge3NraXBXaGlsZX0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuaW1wb3J0IHtJUm91dGV9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBlbXB0eVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90ID0gbmV3IEFjdGl2YXRlZFJvdXRlU25hcHNob3QoKTtcclxuZXhwb3J0IGNvbnN0IGVtcHR5RGF0YTogRGF0YSA9IHtpZDogXCJcIn07XHJcbmV4cG9ydCBjb25zdCBlbXB0eVBhcmFtczogUGFyYW1zID0ge307XHJcbmV4cG9ydCBjb25zdCBlbXB0eVNlZ21lbnRzOiBVcmxTZWdtZW50W10gPSBbXTtcclxuZXhwb3J0IGNvbnN0IGVtcHR5Q29tcG9uZW50czogYW55W10gPSBbXTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVN0YXRlSW5mbyB7XHJcbiAgICB1cmw6IHN0cmluZztcclxuICAgIHNlZ21lbnRzOiBVcmxTZWdtZW50W107XHJcbiAgICBjb21wb25lbnRzOiBhbnlbXTtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3RhdGVTZXJ2aWNlIGV4dGVuZHMgQmVoYXZpb3JTdWJqZWN0PGFueT4ge1xyXG5cclxuICAgIHJlYWRvbmx5IGdsb2JhbEV4dHJhczogTmF2aWdhdGlvbkV4dHJhcztcclxuXHJcbiAgICBwcml2YXRlIHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3Q7XHJcbiAgICBwcml2YXRlIGNvbXA6IGFueTtcclxuICAgIHByaXZhdGUgc3RhdGVJbmZvOiBJU3RhdGVJbmZvO1xyXG4gICAgcHJpdmF0ZSBjb250ZXh0czogQ2hpbGRyZW5PdXRsZXRDb250ZXh0cztcclxuXHJcbiAgICBzdGF0aWMgdG9QYXRoKHJvdXRlOiBSb3V0ZSwgcGFyYW1zOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBwYXRoID0gcm91dGUucGF0aCB8fCBcIlwiO1xyXG4gICAgICAgIE9iamVjdFV0aWxzLml0ZXJhdGUocGFyYW1zLCAodmFsdWU6IGFueSwga2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZShgOiR7a2V5fWAsIGAke3ZhbHVlfWApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBwYXRoO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBjb21wb25lbnQoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb21wO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzbmFwc2hvdCgpOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zaG90IHx8IGVtcHR5U25hcHNob3Q7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHJvdXRlKCk6IElSb3V0ZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc25hcHNob3Qucm91dGVDb25maWc7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGRhdGEoKTogRGF0YSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc25hcHNob3QuZGF0YSB8fCBlbXB0eURhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHBhcmFtcygpOiBQYXJhbXMge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNuYXBzaG90LnBhcmFtcyB8fCBlbXB0eVBhcmFtcztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcXVlcnlQYXJhbXMoKTogUGFyYW1zIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zbmFwc2hvdC5xdWVyeVBhcmFtcyB8fCBlbXB0eVBhcmFtcztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgdXJsKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVJbmZvLnVybCB8fCBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCB1cmxTZWdtZW50cygpOiBVcmxTZWdtZW50W10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlSW5mby5zZWdtZW50cyB8fCBlbXB0eVNlZ21lbnRzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBjb21wb25lbnRzKCk6IGFueVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZUluZm8uY29tcG9uZW50cyB8fCBlbXB0eUNvbXBvbmVudHM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHJvdXRlckNvbmZpZygpOiBJUm91dGVbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLmNvbmZpZztcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsIHJlYWRvbmx5IHpvbmU6IE5nWm9uZSwgQE9wdGlvbmFsKCkgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIgPSBudWxsKSB7XHJcbiAgICAgICAgc3VwZXIobnVsbCk7XHJcbiAgICAgICAgaWYgKCF0aGlzLnJvdXRlcikgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuZ2xvYmFsRXh0cmFzID0ge1xyXG4gICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiBcIm1lcmdlXCJcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUodGhpcy5oYW5kbGVSb3V0ZXJFdmVudCk7XHJcbiAgICAgICAgdGhpcy5zdGF0ZUluZm8gPSB7XHJcbiAgICAgICAgICAgIHVybDogXCJcIixcclxuICAgICAgICAgICAgc2VnbWVudHM6IFtdLFxyXG4gICAgICAgICAgICBjb21wb25lbnRzOiBbXVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5jb250ZXh0cyA9ICg8YW55PnJvdXRlcikucm9vdENvbnRleHRzO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHJlbG9hZCgpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IHJvdXRlclN0YXRlU25hcHNob3QgPSB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdDtcclxuICAgICAgICBjb25zdCByZXNvbHZlcnMgPSB0aGlzLnJvdXRlLnJlc29sdmUgfHwge307XHJcbiAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHJlc29sdmVycyk7XHJcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xyXG4gICAgICAgICAgICBjb25zdCByZXNvbHZlciA9IHRoaXMuaW5qZWN0b3IuZ2V0KHJlc29sdmVyc1trZXldKSBhcyBSZXNvbHZlPGFueT47XHJcbiAgICAgICAgICAgIGxldCByZXNvbHZlZCA9IHJlc29sdmVyLnJlc29sdmUodGhpcy5zbmFwc2hvdCwgcm91dGVyU3RhdGVTbmFwc2hvdCk7XHJcbiAgICAgICAgICAgIGlmIChyZXNvbHZlZCBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmVkID0gcmVzb2x2ZWQudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHJlc29sdmVkIGluc3RhbmNlb2YgUHJvbWlzZSkge1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZWQgPSBhd2FpdCByZXNvbHZlZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmRhdGFba2V5XSA9IHJlc29sdmVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuYXZpZ2F0ZShjb21tYW5kczogYW55W10sIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICBpZiAoIXRoaXMucm91dGVyKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcclxuICAgICAgICBleHRyYXMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmdsb2JhbEV4dHJhcywgZXh0cmFzIHx8IHt9KTtcclxuICAgICAgICBjb25zdCB0cmVlID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShjb21tYW5kcywgZXh0cmFzKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0ZUJ5VXJsKHRyZWUsIGV4dHJhcyk7XHJcbiAgICB9XHJcblxyXG4gICAgbmF2aWdhdGVCeVVybCh1cmw6IHN0cmluZyB8IFVybFRyZWUsIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICBpZiAoIXRoaXMucm91dGVyKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcclxuICAgICAgICBleHRyYXMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmdsb2JhbEV4dHJhcywgZXh0cmFzIHx8IHt9KTtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8Ym9vbGVhbj4ocmVzb2x2ZSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh1cmwsIGV4dHJhcykudGhlbihyZXNvbHZlLCAoKSA9PiByZXNvbHZlKGZhbHNlKSk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3Vic2NyaWJlSW1tZWRpYXRlbHkobmV4dD86ICh2YWx1ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkgPT4gdm9pZCwgZXJyb3I/OiAoZXJyb3I6IGFueSkgPT4gdm9pZCwgY29tcGxldGU/OiAoKSA9PiB2b2lkKTogU3Vic2NyaXB0aW9uIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5waXBlKHNraXBXaGlsZSh2ID0+IHYgPT0gbnVsbCkpLnN1YnNjcmliZShuZXh0LCBlcnJvciwgY29tcGxldGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlUm91dGVyRXZlbnQgPSAoZXZlbnQ6IEV2ZW50KTogdm9pZCA9PiB7XHJcbiAgICAgICAgaWYgKCEoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSkgcmV0dXJuO1xyXG4gICAgICAgIGNvbnN0IHJvdXRlclN0YXRlU25hcHNob3QgPSB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdDtcclxuICAgICAgICBsZXQgc25hcHNob3QgPSByb3V0ZXJTdGF0ZVNuYXBzaG90LnJvb3Q7XHJcbiAgICAgICAgbGV0IGNvbnRleHQ6IE91dGxldENvbnRleHQgPSB0aGlzLmNvbnRleHRzLmdldENvbnRleHQoXCJwcmltYXJ5XCIpO1xyXG4gICAgICAgIGxldCBzZWdtZW50cyA9IHNuYXBzaG90LnVybDtcclxuICAgICAgICBjb25zdCBjb21wb25lbnRzOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IHNuYXBzaG90czogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFtdID0gW107XHJcbiAgICAgICAgd2hpbGUgKHNuYXBzaG90KSB7XHJcbiAgICAgICAgICAgIHNuYXBzaG90cy5wdXNoKHNuYXBzaG90KTtcclxuICAgICAgICAgICAgc2VnbWVudHMgPSBzZWdtZW50cy5jb25jYXQoc25hcHNob3QudXJsKTtcclxuICAgICAgICAgICAgaWYgKGNvbnRleHQpIHtcclxuICAgICAgICAgICAgICAgIGlmIChjb250ZXh0Lm91dGxldCAmJiBjb250ZXh0Lm91dGxldC5pc0FjdGl2YXRlZClcclxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRzLnB1c2goY29udGV4dC5vdXRsZXQuY29tcG9uZW50KTtcclxuICAgICAgICAgICAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNoaWxkcmVuLmdldENvbnRleHQoXCJwcmltYXJ5XCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNuYXBzaG90ID0gc25hcHNob3QuZmlyc3RDaGlsZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jb21wID0gY29tcG9uZW50c1tjb21wb25lbnRzLmxlbmd0aCAtIDFdO1xyXG4gICAgICAgIHRoaXMuc2hvdCA9IHNuYXBzaG90c1tzbmFwc2hvdHMubGVuZ3RoIC0gMV07XHJcbiAgICAgICAgdGhpcy5zdGF0ZUluZm8gPSB7XHJcbiAgICAgICAgICAgIHVybDogcm91dGVyU3RhdGVTbmFwc2hvdC51cmwsXHJcbiAgICAgICAgICAgIHNlZ21lbnRzOiBzZWdtZW50cyxcclxuICAgICAgICAgICAgY29tcG9uZW50czogY29tcG9uZW50c1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5uZXh0KHRoaXMuc2hvdCk7XHJcbiAgICB9O1xyXG59XHJcbiJdfQ==
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvc2VydmljZXMvc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQ0gsc0JBQXNCLEVBSXRCLGFBQWEsRUFNYixNQUFNLEVBR1QsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUMsZUFBZSxFQUFFLFVBQVUsRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRWxELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXJELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBMkIsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBUyxFQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUMsQ0FBQztBQUN4QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQVcsRUFBRSxDQUFDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBaUIsRUFBRSxDQUFDO0FBQzlDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBVSxFQUFFLENBQUM7QUFTekMsTUFBTSxPQUFPLFlBQWEsU0FBUSxlQUFvQjtJQXlEbEQsWUFBcUIsUUFBa0IsRUFDbEIsSUFBWSxFQUNaLFNBQTJCLEVBQ2YsU0FBaUIsSUFBSTtRQUNsRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFKSyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixjQUFTLEdBQVQsU0FBUyxDQUFrQjtR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QUM7WUFDdEQsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMzQyxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUM7SUFFUyxhQUFhLENBQUMsR0FBdUIsRUFBRSxNQUF5QjtRQUN0RSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQztRQUM5QixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEUsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUE7U0FDMUQ7UUFDRCxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsT0FBTyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN6QixDQUFDOzs7WUE3SUosVUFBVTs7O1lBbENTLFFBQVE7WUFBRSxNQUFNO1lBb0I1QixnQkFBZ0I7WUFScEIsTUFBTSx1QkFtRk8sUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgSW5qZWN0b3IsIE5nWm9uZSwgT3B0aW9uYWx9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxyXG4gICAgQ2hpbGRyZW5PdXRsZXRDb250ZXh0cyxcclxuICAgIERhdGEsXHJcbiAgICBFdmVudCxcclxuICAgIE5hdmlnYXRpb25FbmQsXHJcbiAgICBOYXZpZ2F0aW9uRXh0cmFzLFxyXG4gICAgT3V0bGV0Q29udGV4dCxcclxuICAgIFBhcmFtcyxcclxuICAgIFJlc29sdmUsXHJcbiAgICBSb3V0ZSxcclxuICAgIFJvdXRlcixcclxuICAgIFVybFNlZ21lbnQsIFVybFNlcmlhbGl6ZXIsXHJcbiAgICBVcmxUcmVlXHJcbn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge3NraXBXaGlsZX0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuaW1wb3J0IHtJUm91dGUsIE5hdmlnYXRpb25VcmxQYXJhbX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge1VuaXZlcnNhbFNlcnZpY2V9IGZyb20gXCIuL3VuaXZlcnNhbC5zZXJ2aWNlXCI7XHJcblxyXG5leHBvcnQgY29uc3QgZW1wdHlTbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCA9IG5ldyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KCk7XHJcbmV4cG9ydCBjb25zdCBlbXB0eURhdGE6IERhdGEgPSB7aWQ6IFwiXCJ9O1xyXG5leHBvcnQgY29uc3QgZW1wdHlQYXJhbXM6IFBhcmFtcyA9IHt9O1xyXG5leHBvcnQgY29uc3QgZW1wdHlTZWdtZW50czogVXJsU2VnbWVudFtdID0gW107XHJcbmV4cG9ydCBjb25zdCBlbXB0eUNvbXBvbmVudHM6IGFueVtdID0gW107XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElTdGF0ZUluZm8ge1xyXG4gICAgdXJsOiBzdHJpbmc7XHJcbiAgICBzZWdtZW50czogVXJsU2VnbWVudFtdO1xyXG4gICAgY29tcG9uZW50czogYW55W107XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFN0YXRlU2VydmljZSBleHRlbmRzIEJlaGF2aW9yU3ViamVjdDxhbnk+IHtcclxuXHJcbiAgICByZWFkb25seSBnbG9iYWxFeHRyYXM6IE5hdmlnYXRpb25FeHRyYXM7XHJcblxyXG4gICAgcHJpdmF0ZSBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90O1xyXG4gICAgcHJpdmF0ZSBjb21wOiBhbnk7XHJcbiAgICBwcml2YXRlIHN0YXRlSW5mbzogSVN0YXRlSW5mbztcclxuICAgIHByaXZhdGUgY29udGV4dHM6IENoaWxkcmVuT3V0bGV0Q29udGV4dHM7XHJcblxyXG4gICAgc3RhdGljIHRvUGF0aChyb3V0ZTogUm91dGUsIHBhcmFtczogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgcGF0aCA9IHJvdXRlLnBhdGggfHwgXCJcIjtcclxuICAgICAgICBPYmplY3RVdGlscy5pdGVyYXRlKHBhcmFtcywgKHZhbHVlOiBhbnksIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoYDoke2tleX1gLCBgJHt2YWx1ZX1gKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gcGF0aDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29tcG9uZW50KCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgc25hcHNob3QoKTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvdCB8fCBlbXB0eVNuYXBzaG90O1xyXG4gICAgfVxyXG5cclxuICAgIGdldCByb3V0ZSgpOiBJUm91dGUge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNuYXBzaG90LnJvdXRlQ29uZmlnO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkYXRhKCk6IERhdGEge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNuYXBzaG90LmRhdGEgfHwgZW1wdHlEYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBwYXJhbXMoKTogUGFyYW1zIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zbmFwc2hvdC5wYXJhbXMgfHwgZW1wdHlQYXJhbXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHF1ZXJ5UGFyYW1zKCk6IFBhcmFtcyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc25hcHNob3QucXVlcnlQYXJhbXMgfHwgZW1wdHlQYXJhbXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHVybCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlSW5mby51cmwgfHwgXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgdXJsU2VnbWVudHMoKTogVXJsU2VnbWVudFtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZUluZm8uc2VnbWVudHMgfHwgZW1wdHlTZWdtZW50cztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29tcG9uZW50cygpOiBhbnlbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVJbmZvLmNvbXBvbmVudHMgfHwgZW1wdHlDb21wb25lbnRzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCByb3V0ZXJDb25maWcoKTogSVJvdXRlW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5jb25maWc7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgICAgICAgICAgcmVhZG9ubHkgem9uZTogTmdab25lLFxyXG4gICAgICAgICAgICAgICAgcmVhZG9ubHkgdW5pdmVyc2FsOiBVbml2ZXJzYWxTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIgPSBudWxsKSB7XHJcbiAgICAgICAgc3VwZXIobnVsbCk7XHJcbiAgICAgICAgaWYgKCF0aGlzLnJvdXRlcikgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuZ2xvYmFsRXh0cmFzID0ge1xyXG4gICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiBcIm1lcmdlXCJcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUodGhpcy5oYW5kbGVSb3V0ZXJFdmVudCk7XHJcbiAgICAgICAgdGhpcy5zdGF0ZUluZm8gPSB7XHJcbiAgICAgICAgICAgIHVybDogXCJcIixcclxuICAgICAgICAgICAgc2VnbWVudHM6IFtdLFxyXG4gICAgICAgICAgICBjb21wb25lbnRzOiBbXVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5jb250ZXh0cyA9ICg8YW55PnJvdXRlcikucm9vdENvbnRleHRzO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHJlbG9hZCgpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IHJvdXRlclN0YXRlU25hcHNob3QgPSB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdDtcclxuICAgICAgICBjb25zdCByZXNvbHZlcnMgPSB0aGlzLnJvdXRlLnJlc29sdmUgfHwge307XHJcbiAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHJlc29sdmVycyk7XHJcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xyXG4gICAgICAgICAgICBjb25zdCByZXNvbHZlciA9IHRoaXMuaW5qZWN0b3IuZ2V0KHJlc29sdmVyc1trZXldKSBhcyBSZXNvbHZlPGFueT47XHJcbiAgICAgICAgICAgIGxldCByZXNvbHZlZCA9IHJlc29sdmVyLnJlc29sdmUodGhpcy5zbmFwc2hvdCwgcm91dGVyU3RhdGVTbmFwc2hvdCk7XHJcbiAgICAgICAgICAgIGlmIChyZXNvbHZlZCBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmVkID0gcmVzb2x2ZWQudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHJlc29sdmVkIGluc3RhbmNlb2YgUHJvbWlzZSkge1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZWQgPSBhd2FpdCByZXNvbHZlZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmRhdGFba2V5XSA9IHJlc29sdmVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBuYXZpZ2F0ZUJ5VXJsKHVybDogc3RyaW5nIHwgVXJsVHJlZSwgbmF2aWdhdGlvbkV4dHJhczogTmF2aWdhdGlvbkV4dHJhcyA9IHt9KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGUodXJsLCBuYXZpZ2F0aW9uRXh0cmFzKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBuYXZpZ2F0ZSh1cmw6IE5hdmlnYXRpb25VcmxQYXJhbSwgbmF2aWdhdGlvbkV4dHJhczogTmF2aWdhdGlvbkV4dHJhcyA9IHt9KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnJvdXRlcikgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IFt0cmVlLCBleHRyYXNdID0gdGhpcy5jcmVhdGVVcmxUcmVlKHVybCwgbmF2aWdhdGlvbkV4dHJhcyk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0cmVlLCBleHRyYXMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG9wZW4odXJsOiBOYXZpZ2F0aW9uVXJsUGFyYW0sIHRhcmdldCA9IFwiX2JsYW5rXCIsIG5hdmlnYXRpb25FeHRyYXM6IE5hdmlnYXRpb25FeHRyYXMgPSB7fSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGlmICghdGhpcy5yb3V0ZXIpIHJldHVybiBmYWxzZTtcclxuICAgICAgICBjb25zdCBbdHJlZSwgZXh0cmFzXSA9IHRoaXMuY3JlYXRlVXJsVHJlZSh1cmwsIG5hdmlnYXRpb25FeHRyYXMpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMub3BlbkluTmV3V2luZG93KHRyZWUsIHRhcmdldCkgfHwgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0cmVlLCBleHRyYXMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN1YnNjcmliZUltbWVkaWF0ZWx5KG5leHQ/OiAodmFsdWU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpID0+IHZvaWQsIGVycm9yPzogKGVycm9yOiBhbnkpID0+IHZvaWQsIGNvbXBsZXRlPzogKCkgPT4gdm9pZCk6IFN1YnNjcmlwdGlvbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucGlwZShza2lwV2hpbGUodiA9PiB2ID09IG51bGwpKS5zdWJzY3JpYmUobmV4dCwgZXJyb3IsIGNvbXBsZXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgb3BlbkluTmV3V2luZG93KHRyZWU6IFVybFRyZWUsIHRhcmdldDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnVuaXZlcnNhbC5pc0Jyb3dzZXIpIHJldHVybiBmYWxzZTtcclxuICAgICAgICBjb25zdCBiYXNlVXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWYucmVwbGFjZSh0aGlzLnJvdXRlci51cmwsIFwiXCIpO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSB0aGlzLnJvdXRlci5zZXJpYWxpemVVcmwodHJlZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHNlcGFyYXRvciA9IHNlcmlhbGl6ZWQuc3RhcnRzV2l0aChcIi9cIikgPyBcIlwiIDogXCIvXCI7XHJcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuKGJhc2VVcmwgKyBzZXBhcmF0b3IgKyBzZXJpYWxpemVkLCB0YXJnZXQpO1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBDYW4ndCBvcGVuIG5ldyB3aW5kb3c6ICR7ZX1gKTtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgY3JlYXRlVXJsVHJlZSh1cmw6IE5hdmlnYXRpb25VcmxQYXJhbSwgZXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcyk6IFtVcmxUcmVlLCBOYXZpZ2F0aW9uRXh0cmFzXSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnJvdXRlcikgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgZXh0cmFzID0gT2JqZWN0LmFzc2lnbihleHRyYXMsIHRoaXMuZ2xvYmFsRXh0cmFzLCBleHRyYXMgfHwge30pO1xyXG4gICAgICAgIGlmIChPYmplY3RVdGlscy5pc0FycmF5KHVybCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFt0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKHVybCwgZXh0cmFzKSwgZXh0cmFzXVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoT2JqZWN0VXRpbHMuaXNTdHJpbmcodXJsKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gW3RoaXMucm91dGVyLnBhcnNlVXJsKHVybCksIGV4dHJhc107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBbdXJsLCBleHRyYXNdO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBoYW5kbGVSb3V0ZXJFdmVudCA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHtcclxuICAgICAgICBpZiAoIShldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKSByZXR1cm47XHJcbiAgICAgICAgY29uc3Qgcm91dGVyU3RhdGVTbmFwc2hvdCA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90O1xyXG4gICAgICAgIGxldCBzbmFwc2hvdCA9IHJvdXRlclN0YXRlU25hcHNob3Qucm9vdDtcclxuICAgICAgICBsZXQgY29udGV4dDogT3V0bGV0Q29udGV4dCA9IHRoaXMuY29udGV4dHMuZ2V0Q29udGV4dChcInByaW1hcnlcIik7XHJcbiAgICAgICAgbGV0IHNlZ21lbnRzID0gc25hcHNob3QudXJsO1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudHM6IGFueVtdID0gW107XHJcbiAgICAgICAgY29uc3Qgc25hcHNob3RzOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90W10gPSBbXTtcclxuICAgICAgICB3aGlsZSAoc25hcHNob3QpIHtcclxuICAgICAgICAgICAgc25hcHNob3RzLnB1c2goc25hcHNob3QpO1xyXG4gICAgICAgICAgICBzZWdtZW50cyA9IHNlZ21lbnRzLmNvbmNhdChzbmFwc2hvdC51cmwpO1xyXG4gICAgICAgICAgICBpZiAoY29udGV4dCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGNvbnRleHQub3V0bGV0ICYmIGNvbnRleHQub3V0bGV0LmlzQWN0aXZhdGVkKVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudHMucHVzaChjb250ZXh0Lm91dGxldC5jb21wb25lbnQpO1xyXG4gICAgICAgICAgICAgICAgY29udGV4dCA9IGNvbnRleHQuY2hpbGRyZW4uZ2V0Q29udGV4dChcInByaW1hcnlcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc25hcHNob3QgPSBzbmFwc2hvdC5maXJzdENoaWxkO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNvbXAgPSBjb21wb25lbnRzW2NvbXBvbmVudHMubGVuZ3RoIC0gMV07XHJcbiAgICAgICAgdGhpcy5zaG90ID0gc25hcHNob3RzW3NuYXBzaG90cy5sZW5ndGggLSAxXTtcclxuICAgICAgICB0aGlzLnN0YXRlSW5mbyA9IHtcclxuICAgICAgICAgICAgdXJsOiByb3V0ZXJTdGF0ZVNuYXBzaG90LnVybCxcclxuICAgICAgICAgICAgc2VnbWVudHM6IHNlZ21lbnRzLFxyXG4gICAgICAgICAgICBjb21wb25lbnRzOiBjb21wb25lbnRzXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLm5leHQodGhpcy5zaG90KTtcclxuICAgIH07XHJcbn1cclxuIl19
|
package/esm2015/public_api.js
CHANGED
|
@@ -80,4 +80,4 @@ export { UnorderedListComponent } from "./ngx-utils/components/unordered-list/un
|
|
|
80
80
|
export { DynamicTableComponent } from "./ngx-utils/components/dynamic-table/dynamic-table.component";
|
|
81
81
|
export { PaginationMenuComponent } from "./ngx-utils/components/pagination-menu/pagination-menu.component";
|
|
82
82
|
export { NgxUtilsModule } from "./ngx-utils/ngx-utils.module";
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxXQUFXLEVBRVgsWUFBWSxFQUtaLGdCQUFnQixFQUtoQixZQUFZLEVBR1osZUFBZSxFQUVmLFdBQVcsRUFFWCxlQUFlLEVBR2Ysc0JBQXNCLEVBUXRCLG1CQUFtQixFQVFuQixxQkFBcUIsRUFRckIsV0FBVyxFQUVYLGVBQWUsRUFFZixXQUFXLEVBUVgsaUJBQWlCLEVBQ2pCLGNBQWMsRUFFZCxjQUFjLEVBQ2QsV0FBVyxFQUNYLGFBQWEsRUFDYixZQUFZLEVBRVosYUFBYSxFQUdiLGFBQWEsRUFDaEIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBUyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sOEJB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QyxNQUFNLDhDQUE4QyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNoRyxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUV4RyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUN0RyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUNuRyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUV6RyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xyXG4gICAgSVJlc29sdmVGYWN0b3J5LFxyXG4gICAgQ2FudmFzQ29sb3IsXHJcbiAgICBJSWNvblNlcnZpY2UsXHJcbiAgICBJQ09OX1NFUlZJQ0UsXHJcbiAgICBJVHJhbnNsYXRpb24sXHJcbiAgICBJVHJhbnNsYXRpb25zLFxyXG4gICAgSUxhbmd1YWdlU2V0dGluZ3MsXHJcbiAgICBJTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgTEFOR1VBR0VfU0VSVklDRSxcclxuICAgIElBdXRoU2VydmljZSxcclxuICAgIFJvdXRlVmFsaWRhdG9yLFxyXG4gICAgSVJvdXRlRGF0YSxcclxuICAgIElSb3V0ZSxcclxuICAgIEFVVEhfU0VSVklDRSxcclxuICAgIElBY2xDb21wb25lbnQsXHJcbiAgICBJUHJvbWlzZVNlcnZpY2UsXHJcbiAgICBQUk9NSVNFX1NFUlZJQ0UsXHJcbiAgICBJUm91dGVTdGF0ZUluZm8sXHJcbiAgICBTdG9yYWdlTW9kZSxcclxuICAgIElUb2FzdGVyU2VydmljZSxcclxuICAgIFRPQVNURVJfU0VSVklDRSxcclxuICAgIElBc3luY01lc3NhZ2UsXHJcbiAgICBBc3luY01ldGhvZCxcclxuICAgIFVub3JlZGVyZWRMaXN0VGVtcGxhdGUsXHJcbiAgICBVbm9yZGVyZWRMaXN0VGVtcGxhdGVzLFxyXG4gICAgVW5vcmRlcmVkTGlzdFN0eWxlLFxyXG4gICAgSUFqYXhSZXF1ZXN0RGV0YWlscyxcclxuICAgIEFqYXhSZXF1ZXN0Q2FsbGJhY2ssXHJcbiAgICBJU2NyaXB0UHJvbWlzZXMsXHJcbiAgICBJU3R5bGVQcm9taXNlcyxcclxuICAgIElTZWFyY2hPYnNlcnZhYmxlLFxyXG4gICAgRmFjdG9yeURlcGVuZGVuY2llcyxcclxuICAgIElUaW1lcixcclxuICAgIElFeHRyYVByb3BlcnRpZXMsXHJcbiAgICBJR3JvdXBNYXAsXHJcbiAgICBUcmFuc2xhdGlvblF1ZXJ5LFxyXG4gICAgSVBhZ2VJbmZvLFxyXG4gICAgSVBhZ2luYXRpb25EYXRhLFxyXG4gICAgUGFnaW5hdGlvbkRhdGFMb2FkZXIsXHJcbiAgICBQYWdpbmF0aW9uSXRlbUNvbnRleHQsXHJcbiAgICBJSHR0cEhlYWRlcnMsXHJcbiAgICBJSHR0cFBhcmFtcyxcclxuICAgIElSZXF1ZXN0T3B0aW9ucyxcclxuICAgIElJc3N1ZUNvbnRleHQsXHJcbiAgICBJUHJvZ3Jlc3MsXHJcbiAgICBQcm9ncmVzc0xpc3RlbmVyLFxyXG4gICAgUHJvbWlzZUV4ZWN1dG9yLFxyXG4gICAgSHR0cFByb21pc2UsXHJcbiAgICBJSHR0cFNlcnZpY2UsXHJcbiAgICBFWFBSRVNTX1JFUVVFU1QsXHJcbiAgICBJQXBpU2VydmljZSxcclxuICAgIEFQSV9TRVJWSUNFLFxyXG4gICAgSU9wZW5BcGlTY2hlbWFQcm9wZXJ0eSxcclxuICAgIElPcGVuQXBpU2NoZW1hLFxyXG4gICAgSU9wZW5BcGlTY2hlbWFzLFxyXG4gICAgSVRhYmxlQ29sdW1ucyxcclxuICAgIElUYWJsZVRlbXBsYXRlLFxyXG4gICAgSVRhYmxlVGVtcGxhdGVzLFxyXG4gICAgVGFibGVEYXRhTG9hZGVyLFxyXG4gICAgUmVzb3VyY2VJZkNvbnRleHQsXHJcbiAgICBJQ29uZmlndXJhdGlvbixcclxuICAgIElDb25maWdTZXJ2aWNlLFxyXG4gICAgQ09ORklHX1NFUlZJQ0UsXHJcbiAgICBCQVNFX0NPTkZJRyxcclxuICAgIFNDUklQVF9QQVJBTVMsXHJcbiAgICBST09UX0VMRU1FTlQsXHJcbiAgICBFcnJvckhhbmRsZXJDYWxsYmFjayxcclxuICAgIEVSUk9SX0hBTkRMRVIsXHJcbiAgICBBcHBJbml0aWFsaXplckZ1bmMsXHJcbiAgICBJTW9kdWxlQ29uZmlnLFxyXG4gICAgVmFsdWVkUHJvbWlzZVxyXG59IGZyb20gXCIuL25neC11dGlscy9jb21tb24tdHlwZXNcIjtcclxuXHJcbmV4cG9ydCB7QWpheFJlcXVlc3RIYW5kbGVyfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvYWpheC1yZXF1ZXN0LWhhbmRsZXJcIjtcclxuZXhwb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5leHBvcnQge0RhdGVVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2RhdGUudXRpbHNcIjtcclxuZXhwb3J0IHtDYW52YXNVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2NhbnZhcy51dGlsc1wiO1xyXG5leHBvcnQge0ZpbGVVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2ZpbGUudXRpbHNcIjtcclxuZXhwb3J0IHtHZW5lcmljVmFsdWV9IGZyb20gXCIuL25neC11dGlscy91dGlscy9nZW5lcmljLXZhbHVlXCI7XHJcbmV4cG9ydCB7SVNoYXBlLCBSZWN0LCBDaXJjbGUsIFBvaW50fSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvZ2VvbWV0cnlcIjtcclxuZXhwb3J0IHtJbml0aWFsaXplcn0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2luaXRpYWxpemVyXCI7XHJcbmV4cG9ydCB7UmVmbGVjdFV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvcmVmbGVjdC51dGlsc1wiO1xyXG5leHBvcnQge0xvYWRlclV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvbG9hZGVyLnV0aWxzXCI7XHJcbmV4cG9ydCB7TWF0aFV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvbWF0aC51dGlsc1wiO1xyXG5leHBvcnQge0F1dGhHdWFyZH0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2F1dGguZ3VhcmRcIjtcclxuZXhwb3J0IHtPYnNlcnZhYmxlVXRpbHMsIElTdWJzY3JpYmVySW5mb30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL29ic2VydmFibGUudXRpbHNcIjtcclxuZXhwb3J0IHtTdHJpbmdVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3N0cmluZy51dGlsc1wiO1xyXG5leHBvcnQge0FycmF5VXRpbHN9IGZyb20gXCIuL25neC11dGlscy91dGlscy9hcnJheS51dGlsc1wiO1xyXG5leHBvcnQge1NldFV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvc2V0LnV0aWxzXCI7XHJcbmV4cG9ydCB7VGltZXJVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3RpbWVyLnV0aWxzXCI7XHJcbmV4cG9ydCB7VW5pcXVlVXRpbHN9IGZyb20gXCIuL25neC11dGlscy91dGlscy91bmlxdWUudXRpbHNcIjtcclxuZXhwb3J0IHtWZWN0b3J9IGZyb20gXCIuL25neC11dGlscy91dGlscy92ZWN0b3JcIjtcclxuXHJcbmV4cG9ydCB7VW5pdmVyc2FsU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL3VuaXZlcnNhbC5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7QWNsU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2FjbC5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7QXBpU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2FwaS5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7U3RhdGljQXV0aFNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9hdXRoLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtCYXNlSHR0cENsaWVudH0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2Jhc2UtaHR0cC5jbGllbnRcIjtcclxuZXhwb3J0IHtCYXNlSHR0cFNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9iYXNlLWh0dHAuc2VydmljZVwiO1xyXG5leHBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9jb25maWcuc2VydmljZVwiO1xyXG5leHBvcnQge0Vycm9ySGFuZGxlclNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9lcnJvci1oYW5kbGVyLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtFdmVudHNTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvZXZlbnRzLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtGb3JtYXR0ZXJTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvZm9ybWF0dGVyLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtHbG9iYWxUZW1wbGF0ZVNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9nbG9iYWwtdGVtcGxhdGUuc2VydmljZVwiO1xyXG5leHBvcnQge0ljb25TZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvaWNvbi5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7TGFuZ3VhZ2VTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvbGFuZ3VhZ2Uuc2VydmljZVwiO1xyXG5leHBvcnQge09wZW5BcGlTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvb3Blbi1hcGkuc2VydmljZVwiO1xyXG5leHBvcnQge0lTdGF0ZUluZm8sIFN0YXRlU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL3N0YXRlLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtTdGF0aWNMYW5ndWFnZVNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9zdGF0aWMtbGFuZ3VhZ2Uuc2VydmljZVwiO1xyXG5leHBvcnQge1N0b3JhZ2VTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7Q29uc29sZVRvYXN0ZXJTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvdG9hc3Rlci5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7SVVybERpY3Rpb25hcnksIFRyYW5zbGF0ZWRVcmxTZXJpYWxpemVyfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvdHJhbnNsYXRlZC11cmwuc2VyaWFsaXplclwiO1xyXG5leHBvcnQge1Byb21pc2VTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvcHJvbWlzZS5zZXJ2aWNlXCI7XHJcblxyXG5leHBvcnQge1Jlc2l6ZUV2ZW50UGx1Z2lufSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGx1Z2lucy9yZXNpemUtZXZlbnQucGx1Z2luXCI7XHJcbmV4cG9ydCB7U2Nyb2xsRXZlbnRQbHVnaW59IGZyb20gXCIuL25neC11dGlscy9wbHVnaW5zL3Njcm9sbC1ldmVudC5wbHVnaW5cIjtcclxuXHJcbmV4cG9ydCB7Q2h1bmtQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvY2h1bmsucGlwZVwiO1xyXG5leHBvcnQge0VudHJpZXNQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvZW50cmllcy5waXBlXCI7XHJcbmV4cG9ydCB7RXh0cmFJdGVtUHJvcGVydGllc1BpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9leHRyYS1pdGVtLXByb3BlcnRpZXMucGlwZVwiO1xyXG5leHBvcnQge0ZpbHRlclBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9maWx0ZXIucGlwZVwiO1xyXG5leHBvcnQge0ZpbmRQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvZmluZC5waXBlXCI7XHJcbmV4cG9ydCB7Rm9ybWF0TnVtYmVyUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2Zvcm1hdC1udW1iZXIucGlwZVwiO1xyXG5leHBvcnQge0dldE9mZnNldFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9nZXQtb2Zmc2V0LnBpcGVcIjtcclxuZXhwb3J0IHtHZXRUeXBlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2dldC10eXBlLnBpcGVcIjtcclxuZXhwb3J0IHtHbG9iYWxUZW1wbGF0ZVBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9nbG9iYWwtdGVtcGxhdGUucGlwZVwiO1xyXG5leHBvcnQge0dyb3VwQnlQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvZ3JvdXAtYnkucGlwZVwiO1xyXG5leHBvcnQge0lzVHlwZVBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9pcy10eXBlLnBpcGVcIjtcclxuZXhwb3J0IHtKb2luUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2pvaW4ucGlwZVwiO1xyXG5leHBvcnQge0tleXNQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMva2V5cy5waXBlXCI7XHJcbmV4cG9ydCB7TWFwUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL21hcC5waXBlXCI7XHJcbmV4cG9ydCB7TWF4UGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL21heC5waXBlXCI7XHJcbmV4cG9ydCB7TWluUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL21pbi5waXBlXCI7XHJcbmV4cG9ydCB7UmVkdWNlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3JlZHVjZS5waXBlXCI7XHJcbmV4cG9ydCB7UmVtYXBQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvcmVtYXAucGlwZVwiO1xyXG5leHBvcnQge1JlcGxhY2VQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvcmVwbGFjZS5waXBlXCI7XHJcbmV4cG9ydCB7UmV2ZXJzZVBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9yZXZlcnNlLnBpcGVcIjtcclxuZXhwb3J0IHtSb3VuZFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9yb3VuZC5waXBlXCI7XHJcbmV4cG9ydCB7U2FmZUh0bWxQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvc2FmZS1odG1sLnBpcGVcIjtcclxuZXhwb3J0IHtUcmFuc2xhdGVQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvdHJhbnNsYXRlLnBpcGVcIjtcclxuZXhwb3J0IHtWYWx1ZXNQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvdmFsdWVzLnBpcGVcIjtcclxuXHJcbmV4cG9ydCB7QXN5bmNNZXRob2REaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL2FzeW5jLW1ldGhvZC5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtCYWNrZ3JvdW5kRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9iYWNrZ3JvdW5kLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge0R5bmFtaWNUYWJsZVRlbXBsYXRlRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9keW5hbWljLXRhYmxlLXRlbXBsYXRlLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge0dsb2JhbFRlbXBsYXRlRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9nbG9iYWwtdGVtcGxhdGUuZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7SWNvbkRpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvaWNvbi5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtOZ3hUZW1wbGF0ZU91dGxldERpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvbmd4LXRlbXBsYXRlLW91dGxldC5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtQYWdpbmF0aW9uRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9wYWdpbmF0aW9uLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge1BhZ2luYXRpb25JdGVtRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9wYWdpbmF0aW9uLWl0ZW0uZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7UmVzb3VyY2VJZkRpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvcmVzb3VyY2UtaWYuZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7U3RpY2t5RGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9zdGlja3kuZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7VW5vcmRlcmVkTGlzdEl0ZW1EaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL3Vub3JkZXJlZC1saXN0LWl0ZW0uZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7VW5vcmRlcmVkTGlzdFRlbXBsYXRlRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy91bm9yZGVyZWQtbGlzdC10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuXHJcbmV4cG9ydCB7VW5vcmRlcmVkTGlzdENvbXBvbmVudH0gZnJvbSBcIi4vbmd4LXV0aWxzL2NvbXBvbmVudHMvdW5vcmRlcmVkLWxpc3QvdW5vcmRlcmVkLWxpc3QuY29tcG9uZW50XCI7XHJcbmV4cG9ydCB7RHluYW1pY1RhYmxlQ29tcG9uZW50fSBmcm9tIFwiLi9uZ3gtdXRpbHMvY29tcG9uZW50cy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50XCI7XHJcbmV4cG9ydCB7UGFnaW5hdGlvbk1lbnVDb21wb25lbnR9IGZyb20gXCIuL25neC11dGlscy9jb21wb25lbnRzL3BhZ2luYXRpb24tbWVudS9wYWdpbmF0aW9uLW1lbnUuY29tcG9uZW50XCI7XHJcblxyXG5leHBvcnQge05neFV0aWxzTW9kdWxlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvbmd4LXV0aWxzLm1vZHVsZVwiO1xyXG4iXX0=
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxXQUFXLEVBRVgsWUFBWSxFQUtaLGdCQUFnQixFQUtoQixZQUFZLEVBR1osZUFBZSxFQUdmLFdBQVcsRUFFWCxlQUFlLEVBR2Ysc0JBQXNCLEVBUXRCLG1CQUFtQixFQVFuQixxQkFBcUIsRUFRckIsV0FBVyxFQUVYLGVBQWUsRUFFZixXQUFXLEVBUVgsaUJBQWlCLEVBQ2pCLGNBQWMsRUFFZCxjQUFjLEVBQ2QsV0FBVyxFQUNYLGFBQWEsRUFDYixZQUFZLEVBRVosYUFBYSxFQUdiLGFBQWEsRUFDaEIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBUyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sOEJB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QyxNQUFNLDhDQUE4QyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNoRyxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUV4RyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUN0RyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUNuRyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUV6RyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xyXG4gICAgSVJlc29sdmVGYWN0b3J5LFxyXG4gICAgQ2FudmFzQ29sb3IsXHJcbiAgICBJSWNvblNlcnZpY2UsXHJcbiAgICBJQ09OX1NFUlZJQ0UsXHJcbiAgICBJVHJhbnNsYXRpb24sXHJcbiAgICBJVHJhbnNsYXRpb25zLFxyXG4gICAgSUxhbmd1YWdlU2V0dGluZ3MsXHJcbiAgICBJTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgTEFOR1VBR0VfU0VSVklDRSxcclxuICAgIElBdXRoU2VydmljZSxcclxuICAgIFJvdXRlVmFsaWRhdG9yLFxyXG4gICAgSVJvdXRlRGF0YSxcclxuICAgIElSb3V0ZSxcclxuICAgIEFVVEhfU0VSVklDRSxcclxuICAgIElBY2xDb21wb25lbnQsXHJcbiAgICBJUHJvbWlzZVNlcnZpY2UsXHJcbiAgICBQUk9NSVNFX1NFUlZJQ0UsXHJcbiAgICBJUm91dGVTdGF0ZUluZm8sXHJcbiAgICBOYXZpZ2F0aW9uVXJsUGFyYW0sXHJcbiAgICBTdG9yYWdlTW9kZSxcclxuICAgIElUb2FzdGVyU2VydmljZSxcclxuICAgIFRPQVNURVJfU0VSVklDRSxcclxuICAgIElBc3luY01lc3NhZ2UsXHJcbiAgICBBc3luY01ldGhvZCxcclxuICAgIFVub3JlZGVyZWRMaXN0VGVtcGxhdGUsXHJcbiAgICBVbm9yZGVyZWRMaXN0VGVtcGxhdGVzLFxyXG4gICAgVW5vcmRlcmVkTGlzdFN0eWxlLFxyXG4gICAgSUFqYXhSZXF1ZXN0RGV0YWlscyxcclxuICAgIEFqYXhSZXF1ZXN0Q2FsbGJhY2ssXHJcbiAgICBJU2NyaXB0UHJvbWlzZXMsXHJcbiAgICBJU3R5bGVQcm9taXNlcyxcclxuICAgIElTZWFyY2hPYnNlcnZhYmxlLFxyXG4gICAgRmFjdG9yeURlcGVuZGVuY2llcyxcclxuICAgIElUaW1lcixcclxuICAgIElFeHRyYVByb3BlcnRpZXMsXHJcbiAgICBJR3JvdXBNYXAsXHJcbiAgICBUcmFuc2xhdGlvblF1ZXJ5LFxyXG4gICAgSVBhZ2VJbmZvLFxyXG4gICAgSVBhZ2luYXRpb25EYXRhLFxyXG4gICAgUGFnaW5hdGlvbkRhdGFMb2FkZXIsXHJcbiAgICBQYWdpbmF0aW9uSXRlbUNvbnRleHQsXHJcbiAgICBJSHR0cEhlYWRlcnMsXHJcbiAgICBJSHR0cFBhcmFtcyxcclxuICAgIElSZXF1ZXN0T3B0aW9ucyxcclxuICAgIElJc3N1ZUNvbnRleHQsXHJcbiAgICBJUHJvZ3Jlc3MsXHJcbiAgICBQcm9ncmVzc0xpc3RlbmVyLFxyXG4gICAgUHJvbWlzZUV4ZWN1dG9yLFxyXG4gICAgSHR0cFByb21pc2UsXHJcbiAgICBJSHR0cFNlcnZpY2UsXHJcbiAgICBFWFBSRVNTX1JFUVVFU1QsXHJcbiAgICBJQXBpU2VydmljZSxcclxuICAgIEFQSV9TRVJWSUNFLFxyXG4gICAgSU9wZW5BcGlTY2hlbWFQcm9wZXJ0eSxcclxuICAgIElPcGVuQXBpU2NoZW1hLFxyXG4gICAgSU9wZW5BcGlTY2hlbWFzLFxyXG4gICAgSVRhYmxlQ29sdW1ucyxcclxuICAgIElUYWJsZVRlbXBsYXRlLFxyXG4gICAgSVRhYmxlVGVtcGxhdGVzLFxyXG4gICAgVGFibGVEYXRhTG9hZGVyLFxyXG4gICAgUmVzb3VyY2VJZkNvbnRleHQsXHJcbiAgICBJQ29uZmlndXJhdGlvbixcclxuICAgIElDb25maWdTZXJ2aWNlLFxyXG4gICAgQ09ORklHX1NFUlZJQ0UsXHJcbiAgICBCQVNFX0NPTkZJRyxcclxuICAgIFNDUklQVF9QQVJBTVMsXHJcbiAgICBST09UX0VMRU1FTlQsXHJcbiAgICBFcnJvckhhbmRsZXJDYWxsYmFjayxcclxuICAgIEVSUk9SX0hBTkRMRVIsXHJcbiAgICBBcHBJbml0aWFsaXplckZ1bmMsXHJcbiAgICBJTW9kdWxlQ29uZmlnLFxyXG4gICAgVmFsdWVkUHJvbWlzZVxyXG59IGZyb20gXCIuL25neC11dGlscy9jb21tb24tdHlwZXNcIjtcclxuXHJcbmV4cG9ydCB7QWpheFJlcXVlc3RIYW5kbGVyfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvYWpheC1yZXF1ZXN0LWhhbmRsZXJcIjtcclxuZXhwb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5leHBvcnQge0RhdGVVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2RhdGUudXRpbHNcIjtcclxuZXhwb3J0IHtDYW52YXNVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2NhbnZhcy51dGlsc1wiO1xyXG5leHBvcnQge0ZpbGVVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2ZpbGUudXRpbHNcIjtcclxuZXhwb3J0IHtHZW5lcmljVmFsdWV9IGZyb20gXCIuL25neC11dGlscy91dGlscy9nZW5lcmljLXZhbHVlXCI7XHJcbmV4cG9ydCB7SVNoYXBlLCBSZWN0LCBDaXJjbGUsIFBvaW50fSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvZ2VvbWV0cnlcIjtcclxuZXhwb3J0IHtJbml0aWFsaXplcn0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2luaXRpYWxpemVyXCI7XHJcbmV4cG9ydCB7UmVmbGVjdFV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvcmVmbGVjdC51dGlsc1wiO1xyXG5leHBvcnQge0xvYWRlclV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvbG9hZGVyLnV0aWxzXCI7XHJcbmV4cG9ydCB7TWF0aFV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvbWF0aC51dGlsc1wiO1xyXG5leHBvcnQge0F1dGhHdWFyZH0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2F1dGguZ3VhcmRcIjtcclxuZXhwb3J0IHtPYnNlcnZhYmxlVXRpbHMsIElTdWJzY3JpYmVySW5mb30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL29ic2VydmFibGUudXRpbHNcIjtcclxuZXhwb3J0IHtTdHJpbmdVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3N0cmluZy51dGlsc1wiO1xyXG5leHBvcnQge0FycmF5VXRpbHN9IGZyb20gXCIuL25neC11dGlscy91dGlscy9hcnJheS51dGlsc1wiO1xyXG5leHBvcnQge1NldFV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvc2V0LnV0aWxzXCI7XHJcbmV4cG9ydCB7VGltZXJVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3RpbWVyLnV0aWxzXCI7XHJcbmV4cG9ydCB7VW5pcXVlVXRpbHN9IGZyb20gXCIuL25neC11dGlscy91dGlscy91bmlxdWUudXRpbHNcIjtcclxuZXhwb3J0IHtWZWN0b3J9IGZyb20gXCIuL25neC11dGlscy91dGlscy92ZWN0b3JcIjtcclxuXHJcbmV4cG9ydCB7VW5pdmVyc2FsU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL3VuaXZlcnNhbC5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7QWNsU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2FjbC5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7QXBpU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2FwaS5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7U3RhdGljQXV0aFNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9hdXRoLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtCYXNlSHR0cENsaWVudH0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2Jhc2UtaHR0cC5jbGllbnRcIjtcclxuZXhwb3J0IHtCYXNlSHR0cFNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9iYXNlLWh0dHAuc2VydmljZVwiO1xyXG5leHBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9jb25maWcuc2VydmljZVwiO1xyXG5leHBvcnQge0Vycm9ySGFuZGxlclNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9lcnJvci1oYW5kbGVyLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtFdmVudHNTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvZXZlbnRzLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtGb3JtYXR0ZXJTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvZm9ybWF0dGVyLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtHbG9iYWxUZW1wbGF0ZVNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9nbG9iYWwtdGVtcGxhdGUuc2VydmljZVwiO1xyXG5leHBvcnQge0ljb25TZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvaWNvbi5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7TGFuZ3VhZ2VTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvbGFuZ3VhZ2Uuc2VydmljZVwiO1xyXG5leHBvcnQge09wZW5BcGlTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvb3Blbi1hcGkuc2VydmljZVwiO1xyXG5leHBvcnQge0lTdGF0ZUluZm8sIFN0YXRlU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL3N0YXRlLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtTdGF0aWNMYW5ndWFnZVNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9zdGF0aWMtbGFuZ3VhZ2Uuc2VydmljZVwiO1xyXG5leHBvcnQge1N0b3JhZ2VTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7Q29uc29sZVRvYXN0ZXJTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvdG9hc3Rlci5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7SVVybERpY3Rpb25hcnksIFRyYW5zbGF0ZWRVcmxTZXJpYWxpemVyfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvdHJhbnNsYXRlZC11cmwuc2VyaWFsaXplclwiO1xyXG5leHBvcnQge1Byb21pc2VTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvcHJvbWlzZS5zZXJ2aWNlXCI7XHJcblxyXG5leHBvcnQge1Jlc2l6ZUV2ZW50UGx1Z2lufSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGx1Z2lucy9yZXNpemUtZXZlbnQucGx1Z2luXCI7XHJcbmV4cG9ydCB7U2Nyb2xsRXZlbnRQbHVnaW59IGZyb20gXCIuL25neC11dGlscy9wbHVnaW5zL3Njcm9sbC1ldmVudC5wbHVnaW5cIjtcclxuXHJcbmV4cG9ydCB7Q2h1bmtQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvY2h1bmsucGlwZVwiO1xyXG5leHBvcnQge0VudHJpZXNQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvZW50cmllcy5waXBlXCI7XHJcbmV4cG9ydCB7RXh0cmFJdGVtUHJvcGVydGllc1BpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9leHRyYS1pdGVtLXByb3BlcnRpZXMucGlwZVwiO1xyXG5leHBvcnQge0ZpbHRlclBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9maWx0ZXIucGlwZVwiO1xyXG5leHBvcnQge0ZpbmRQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvZmluZC5waXBlXCI7XHJcbmV4cG9ydCB7Rm9ybWF0TnVtYmVyUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2Zvcm1hdC1udW1iZXIucGlwZVwiO1xyXG5leHBvcnQge0dldE9mZnNldFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9nZXQtb2Zmc2V0LnBpcGVcIjtcclxuZXhwb3J0IHtHZXRUeXBlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2dldC10eXBlLnBpcGVcIjtcclxuZXhwb3J0IHtHbG9iYWxUZW1wbGF0ZVBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9nbG9iYWwtdGVtcGxhdGUucGlwZVwiO1xyXG5leHBvcnQge0dyb3VwQnlQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvZ3JvdXAtYnkucGlwZVwiO1xyXG5leHBvcnQge0lzVHlwZVBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9pcy10eXBlLnBpcGVcIjtcclxuZXhwb3J0IHtKb2luUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2pvaW4ucGlwZVwiO1xyXG5leHBvcnQge0tleXNQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMva2V5cy5waXBlXCI7XHJcbmV4cG9ydCB7TWFwUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL21hcC5waXBlXCI7XHJcbmV4cG9ydCB7TWF4UGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL21heC5waXBlXCI7XHJcbmV4cG9ydCB7TWluUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL21pbi5waXBlXCI7XHJcbmV4cG9ydCB7UmVkdWNlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3JlZHVjZS5waXBlXCI7XHJcbmV4cG9ydCB7UmVtYXBQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvcmVtYXAucGlwZVwiO1xyXG5leHBvcnQge1JlcGxhY2VQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvcmVwbGFjZS5waXBlXCI7XHJcbmV4cG9ydCB7UmV2ZXJzZVBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9yZXZlcnNlLnBpcGVcIjtcclxuZXhwb3J0IHtSb3VuZFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9yb3VuZC5waXBlXCI7XHJcbmV4cG9ydCB7U2FmZUh0bWxQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvc2FmZS1odG1sLnBpcGVcIjtcclxuZXhwb3J0IHtUcmFuc2xhdGVQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvdHJhbnNsYXRlLnBpcGVcIjtcclxuZXhwb3J0IHtWYWx1ZXNQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvdmFsdWVzLnBpcGVcIjtcclxuXHJcbmV4cG9ydCB7QXN5bmNNZXRob2REaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL2FzeW5jLW1ldGhvZC5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtCYWNrZ3JvdW5kRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9iYWNrZ3JvdW5kLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge0R5bmFtaWNUYWJsZVRlbXBsYXRlRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9keW5hbWljLXRhYmxlLXRlbXBsYXRlLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge0dsb2JhbFRlbXBsYXRlRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9nbG9iYWwtdGVtcGxhdGUuZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7SWNvbkRpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvaWNvbi5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtOZ3hUZW1wbGF0ZU91dGxldERpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvbmd4LXRlbXBsYXRlLW91dGxldC5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtQYWdpbmF0aW9uRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9wYWdpbmF0aW9uLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge1BhZ2luYXRpb25JdGVtRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9wYWdpbmF0aW9uLWl0ZW0uZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7UmVzb3VyY2VJZkRpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvcmVzb3VyY2UtaWYuZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7U3RpY2t5RGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9zdGlja3kuZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7VW5vcmRlcmVkTGlzdEl0ZW1EaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL3Vub3JkZXJlZC1saXN0LWl0ZW0uZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7VW5vcmRlcmVkTGlzdFRlbXBsYXRlRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy91bm9yZGVyZWQtbGlzdC10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuXHJcbmV4cG9ydCB7VW5vcmRlcmVkTGlzdENvbXBvbmVudH0gZnJvbSBcIi4vbmd4LXV0aWxzL2NvbXBvbmVudHMvdW5vcmRlcmVkLWxpc3QvdW5vcmRlcmVkLWxpc3QuY29tcG9uZW50XCI7XHJcbmV4cG9ydCB7RHluYW1pY1RhYmxlQ29tcG9uZW50fSBmcm9tIFwiLi9uZ3gtdXRpbHMvY29tcG9uZW50cy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50XCI7XHJcbmV4cG9ydCB7UGFnaW5hdGlvbk1lbnVDb21wb25lbnR9IGZyb20gXCIuL25neC11dGlscy9jb21wb25lbnRzL3BhZ2luYXRpb24tbWVudS9wYWdpbmF0aW9uLW1lbnUuY29tcG9uZW50XCI7XHJcblxyXG5leHBvcnQge05neFV0aWxzTW9kdWxlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvbmd4LXV0aWxzLm1vZHVsZVwiO1xyXG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InjectionToken, TemplateRef, Injectable,
|
|
1
|
+
import { InjectionToken, TemplateRef, Injectable, Inject, PLATFORM_ID, Injector, NgZone, Optional, EventEmitter, ErrorHandler, Pipe, ChangeDetectorRef, Directive, Input, Output, HostBinding, HostListener, ElementRef, Renderer2, ViewContainerRef, Component, ContentChildren, ViewChild, ContentChild, APP_INITIALIZER, NgModule } from '@angular/core';
|
|
2
2
|
import 'reflect-metadata';
|
|
3
3
|
import { utc } from 'moment';
|
|
4
4
|
import { first, skipWhile, mergeMap, timeout, map } from 'rxjs/operators';
|
|
@@ -1198,16 +1198,89 @@ class MathUtils {
|
|
|
1198
1198
|
}
|
|
1199
1199
|
}
|
|
1200
1200
|
|
|
1201
|
+
/**
|
|
1202
|
+
* Use this service to determine which is the current environment
|
|
1203
|
+
*/
|
|
1204
|
+
class UniversalService {
|
|
1205
|
+
constructor(platformId, dds) {
|
|
1206
|
+
this.platformId = platformId;
|
|
1207
|
+
this.dds = dds;
|
|
1208
|
+
const info = this.dds.getDeviceInfo();
|
|
1209
|
+
this.crawler = /(bot|google|baidu|bing|msn|duckduckbot|teoma|slurp|yandex|lighthouse|angular-universal|PTST)/gi.test(info.userAgent);
|
|
1210
|
+
}
|
|
1211
|
+
get isBrowser() {
|
|
1212
|
+
return isPlatformBrowser(this.platformId);
|
|
1213
|
+
}
|
|
1214
|
+
get isServer() {
|
|
1215
|
+
return isPlatformServer(this.platformId);
|
|
1216
|
+
}
|
|
1217
|
+
get deviceInfo() {
|
|
1218
|
+
return this.isServer
|
|
1219
|
+
? {
|
|
1220
|
+
userAgent: "angular-universal",
|
|
1221
|
+
os: "unknown",
|
|
1222
|
+
browser: "node",
|
|
1223
|
+
device: "node",
|
|
1224
|
+
os_version: "unknown",
|
|
1225
|
+
browser_version: "unknown",
|
|
1226
|
+
deviceType: "unknown",
|
|
1227
|
+
orientation: "landscape"
|
|
1228
|
+
}
|
|
1229
|
+
: this.dds.getDeviceInfo();
|
|
1230
|
+
}
|
|
1231
|
+
get browserName() {
|
|
1232
|
+
return this.dds.browser;
|
|
1233
|
+
}
|
|
1234
|
+
get browserVersion() {
|
|
1235
|
+
return this.dds.browser_version;
|
|
1236
|
+
}
|
|
1237
|
+
get isExplorer() {
|
|
1238
|
+
return this.dds.browser == "ie";
|
|
1239
|
+
}
|
|
1240
|
+
get isEdge() {
|
|
1241
|
+
return this.dds.browser == "ms-edge";
|
|
1242
|
+
}
|
|
1243
|
+
get isChrome() {
|
|
1244
|
+
return this.dds.browser == "chrome";
|
|
1245
|
+
}
|
|
1246
|
+
get isFirefox() {
|
|
1247
|
+
return this.dds.browser == "firefox";
|
|
1248
|
+
}
|
|
1249
|
+
get isSafari() {
|
|
1250
|
+
return this.dds.browser == "safari";
|
|
1251
|
+
}
|
|
1252
|
+
get isTablet() {
|
|
1253
|
+
return this.dds.isTablet();
|
|
1254
|
+
}
|
|
1255
|
+
get isMobile() {
|
|
1256
|
+
return this.dds.isMobile();
|
|
1257
|
+
}
|
|
1258
|
+
get isDesktop() {
|
|
1259
|
+
return this.dds.isDesktop();
|
|
1260
|
+
}
|
|
1261
|
+
get isCrawler() {
|
|
1262
|
+
return this.crawler;
|
|
1263
|
+
}
|
|
1264
|
+
}
|
|
1265
|
+
UniversalService.decorators = [
|
|
1266
|
+
{ type: Injectable }
|
|
1267
|
+
];
|
|
1268
|
+
UniversalService.ctorParameters = () => [
|
|
1269
|
+
{ type: String, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },
|
|
1270
|
+
{ type: DeviceDetectorService }
|
|
1271
|
+
];
|
|
1272
|
+
|
|
1201
1273
|
const emptySnapshot = new ActivatedRouteSnapshot();
|
|
1202
1274
|
const emptyData = { id: "" };
|
|
1203
1275
|
const emptyParams = {};
|
|
1204
1276
|
const emptySegments = [];
|
|
1205
1277
|
const emptyComponents = [];
|
|
1206
1278
|
class StateService extends BehaviorSubject {
|
|
1207
|
-
constructor(injector, zone, router = null) {
|
|
1279
|
+
constructor(injector, zone, universal, router = null) {
|
|
1208
1280
|
super(null);
|
|
1209
1281
|
this.injector = injector;
|
|
1210
1282
|
this.zone = zone;
|
|
1283
|
+
this.universal = universal;
|
|
1211
1284
|
this.router = router;
|
|
1212
1285
|
this.handleRouterEvent = (event) => {
|
|
1213
1286
|
if (!(event instanceof NavigationEnd))
|
|
@@ -1305,26 +1378,61 @@ class StateService extends BehaviorSubject {
|
|
|
1305
1378
|
}
|
|
1306
1379
|
});
|
|
1307
1380
|
}
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
return
|
|
1311
|
-
|
|
1312
|
-
const tree = this.router.createUrlTree(commands, extras);
|
|
1313
|
-
return this.navigateByUrl(tree, extras);
|
|
1381
|
+
navigateByUrl(url, navigationExtras = {}) {
|
|
1382
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1383
|
+
return this.navigate(url, navigationExtras);
|
|
1384
|
+
});
|
|
1314
1385
|
}
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
this.zone.run(() => {
|
|
1321
|
-
this.router.navigateByUrl(
|
|
1386
|
+
navigate(url, navigationExtras = {}) {
|
|
1387
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1388
|
+
if (!this.router)
|
|
1389
|
+
return false;
|
|
1390
|
+
const [tree, extras] = this.createUrlTree(url, navigationExtras);
|
|
1391
|
+
return this.zone.run(() => {
|
|
1392
|
+
return this.router.navigateByUrl(tree, extras);
|
|
1393
|
+
});
|
|
1394
|
+
});
|
|
1395
|
+
}
|
|
1396
|
+
open(url, target = "_blank", navigationExtras = {}) {
|
|
1397
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1398
|
+
if (!this.router)
|
|
1399
|
+
return false;
|
|
1400
|
+
const [tree, extras] = this.createUrlTree(url, navigationExtras);
|
|
1401
|
+
return this.zone.run(() => {
|
|
1402
|
+
return this.openInNewWindow(tree, target) || this.router.navigateByUrl(tree, extras);
|
|
1322
1403
|
});
|
|
1323
1404
|
});
|
|
1324
1405
|
}
|
|
1325
1406
|
subscribeImmediately(next, error, complete) {
|
|
1326
1407
|
return this.pipe(skipWhile(v => v == null)).subscribe(next, error, complete);
|
|
1327
1408
|
}
|
|
1409
|
+
openInNewWindow(tree, target) {
|
|
1410
|
+
if (!this.universal.isBrowser)
|
|
1411
|
+
return false;
|
|
1412
|
+
const baseUrl = window.location.href.replace(this.router.url, "");
|
|
1413
|
+
try {
|
|
1414
|
+
const serialized = this.router.serializeUrl(tree);
|
|
1415
|
+
const separator = serialized.startsWith("/") ? "" : "/";
|
|
1416
|
+
window.open(baseUrl + separator + serialized, target);
|
|
1417
|
+
return true;
|
|
1418
|
+
}
|
|
1419
|
+
catch (e) {
|
|
1420
|
+
console.log(`Can't open new window: ${e}`);
|
|
1421
|
+
return false;
|
|
1422
|
+
}
|
|
1423
|
+
}
|
|
1424
|
+
createUrlTree(url, extras) {
|
|
1425
|
+
if (!this.router)
|
|
1426
|
+
return null;
|
|
1427
|
+
extras = Object.assign(extras, this.globalExtras, extras || {});
|
|
1428
|
+
if (ObjectUtils.isArray(url)) {
|
|
1429
|
+
return [this.router.createUrlTree(url, extras), extras];
|
|
1430
|
+
}
|
|
1431
|
+
if (ObjectUtils.isString(url)) {
|
|
1432
|
+
return [this.router.parseUrl(url), extras];
|
|
1433
|
+
}
|
|
1434
|
+
return [url, extras];
|
|
1435
|
+
}
|
|
1328
1436
|
}
|
|
1329
1437
|
StateService.decorators = [
|
|
1330
1438
|
{ type: Injectable }
|
|
@@ -1332,6 +1440,7 @@ StateService.decorators = [
|
|
|
1332
1440
|
StateService.ctorParameters = () => [
|
|
1333
1441
|
{ type: Injector },
|
|
1334
1442
|
{ type: NgZone },
|
|
1443
|
+
{ type: UniversalService },
|
|
1335
1444
|
{ type: Router, decorators: [{ type: Optional }] }
|
|
1336
1445
|
];
|
|
1337
1446
|
|
|
@@ -1843,78 +1952,6 @@ class Vector {
|
|
|
1843
1952
|
}
|
|
1844
1953
|
}
|
|
1845
1954
|
|
|
1846
|
-
/**
|
|
1847
|
-
* Use this service to determine which is the current environment
|
|
1848
|
-
*/
|
|
1849
|
-
class UniversalService {
|
|
1850
|
-
constructor(platformId, dds) {
|
|
1851
|
-
this.platformId = platformId;
|
|
1852
|
-
this.dds = dds;
|
|
1853
|
-
const info = this.dds.getDeviceInfo();
|
|
1854
|
-
this.crawler = /(bot|google|baidu|bing|msn|duckduckbot|teoma|slurp|yandex|lighthouse|angular-universal|PTST)/gi.test(info.userAgent);
|
|
1855
|
-
}
|
|
1856
|
-
get isBrowser() {
|
|
1857
|
-
return isPlatformBrowser(this.platformId);
|
|
1858
|
-
}
|
|
1859
|
-
get isServer() {
|
|
1860
|
-
return isPlatformServer(this.platformId);
|
|
1861
|
-
}
|
|
1862
|
-
get deviceInfo() {
|
|
1863
|
-
return this.isServer
|
|
1864
|
-
? {
|
|
1865
|
-
userAgent: "angular-universal",
|
|
1866
|
-
os: "unknown",
|
|
1867
|
-
browser: "node",
|
|
1868
|
-
device: "node",
|
|
1869
|
-
os_version: "unknown",
|
|
1870
|
-
browser_version: "unknown",
|
|
1871
|
-
deviceType: "unknown",
|
|
1872
|
-
orientation: "landscape"
|
|
1873
|
-
}
|
|
1874
|
-
: this.dds.getDeviceInfo();
|
|
1875
|
-
}
|
|
1876
|
-
get browserName() {
|
|
1877
|
-
return this.dds.browser;
|
|
1878
|
-
}
|
|
1879
|
-
get browserVersion() {
|
|
1880
|
-
return this.dds.browser_version;
|
|
1881
|
-
}
|
|
1882
|
-
get isExplorer() {
|
|
1883
|
-
return this.dds.browser == "ie";
|
|
1884
|
-
}
|
|
1885
|
-
get isEdge() {
|
|
1886
|
-
return this.dds.browser == "ms-edge";
|
|
1887
|
-
}
|
|
1888
|
-
get isChrome() {
|
|
1889
|
-
return this.dds.browser == "chrome";
|
|
1890
|
-
}
|
|
1891
|
-
get isFirefox() {
|
|
1892
|
-
return this.dds.browser == "firefox";
|
|
1893
|
-
}
|
|
1894
|
-
get isSafari() {
|
|
1895
|
-
return this.dds.browser == "safari";
|
|
1896
|
-
}
|
|
1897
|
-
get isTablet() {
|
|
1898
|
-
return this.dds.isTablet();
|
|
1899
|
-
}
|
|
1900
|
-
get isMobile() {
|
|
1901
|
-
return this.dds.isMobile();
|
|
1902
|
-
}
|
|
1903
|
-
get isDesktop() {
|
|
1904
|
-
return this.dds.isDesktop();
|
|
1905
|
-
}
|
|
1906
|
-
get isCrawler() {
|
|
1907
|
-
return this.crawler;
|
|
1908
|
-
}
|
|
1909
|
-
}
|
|
1910
|
-
UniversalService.decorators = [
|
|
1911
|
-
{ type: Injectable }
|
|
1912
|
-
];
|
|
1913
|
-
UniversalService.ctorParameters = () => [
|
|
1914
|
-
{ type: String, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },
|
|
1915
|
-
{ type: DeviceDetectorService }
|
|
1916
|
-
];
|
|
1917
|
-
|
|
1918
1955
|
const emptyGuards = [];
|
|
1919
1956
|
class AclService {
|
|
1920
1957
|
constructor(injector, state, auth) {
|