@esfaenza/extensions 14.3.1 → 15.2.0
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/esm2020/lib/modules/extensions.full.module.mjs +4 -4
- package/esm2020/lib/modules/extensions.module.mjs +4 -4
- package/esm2020/lib/services/extensions.clipboard.service.mjs +3 -3
- package/esm2020/lib/services/extensions.dates.service.mjs +3 -3
- package/esm2020/lib/services/extensions.exports.service.mjs +3 -3
- package/esm2020/lib/services/extensions.hashing.service.mjs +3 -3
- package/esm2020/lib/services/extensions.intercom.service.mjs +3 -3
- package/esm2020/lib/services/extensions.messages.service.mjs +3 -3
- package/esm2020/lib/services/extensions.utilities.service.mjs +3 -3
- package/fesm2015/esfaenza-extensions.mjs +29 -29
- package/fesm2020/esfaenza-extensions.mjs +29 -29
- package/package.json +4 -4
|
@@ -42,10 +42,10 @@ export class FullExtensionsModule {
|
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
FullExtensionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
46
|
-
FullExtensionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
47
|
-
FullExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
45
|
+
FullExtensionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FullExtensionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
46
|
+
FullExtensionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: FullExtensionsModule });
|
|
47
|
+
FullExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FullExtensionsModule });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FullExtensionsModule, decorators: [{
|
|
49
49
|
type: NgModule
|
|
50
50
|
}] });
|
|
51
51
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5mdWxsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvc3JjL2xpYi9tb2R1bGVzL2V4dGVuc2lvbnMuZnVsbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBSTlELE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTFGLFVBQVU7QUFDVixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFFMUU7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBK0I7UUFDNUMsT0FBTztZQUNMLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsU0FBUyxFQUFFO2dCQUNULGdCQUFnQjtnQkFDaEIsV0FBVztnQkFDWCxhQUFhO2dCQUNiLGNBQWM7Z0JBQ2QsY0FBYztnQkFDZCxjQUFjO2dCQUNkLGVBQWU7Z0JBQ2YsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLE9BQU8sRUFBRTtnQkFDNUQsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxZQUFZLElBQUksSUFBSSxFQUFFO2dCQUNyRSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixJQUFJLEtBQUssRUFBQztnQkFDekUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFDO2FBQzNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O2lIQWxCVSxvQkFBb0I7a0hBQXBCLG9CQUFvQjtrSEFBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRGhDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vLyBNb2RlbGxpXHJcbmltcG9ydCB7IEV4dGVuc2lvbnNNb2R1bGVDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvRXh0ZW5zaW9uc01vZHVsZUNvbmZpZyc7XHJcbmltcG9ydCB7IEVYVF9MT0NBTEUsIEVYVF9GQU5DWV9BTEVSVFMsIEFQUFNFQVJDSF9QUkVGSVgsIEVYVF9BTExPV19VVEMgfSBmcm9tICcuLi90b2tlbnMnO1xyXG5cclxuLy8gU2Vydml6aVxyXG5pbXBvcnQgeyBDbGlwYm9hcmRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2V4dGVuc2lvbnMuY2xpcGJvYXJkLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvZXh0ZW5zaW9ucy5kYXRlcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEV4cG9ydFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvZXh0ZW5zaW9ucy5leHBvcnRzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSGFzaGluZ1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvZXh0ZW5zaW9ucy5oYXNoaW5nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvZXh0ZW5zaW9ucy5tZXNzYWdlcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2V4dGVuc2lvbnMudXRpbGl0aWVzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSW50ZXJDb21TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZXh0ZW5zaW9ucy5pbnRlcmNvbS5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBNb2R1bG8gZGkgZXN0ZW5zaW9uZSBjaGUgcmVnaXN0cmEgYXV0b25vbWFtZW50ZSAqKlRVVFRJKiogaSBzZXJ2aXppIGRpIGVzdGVuc2lvbmU6IFxyXG4gKiBDbGlwYm9hcmRTZXJ2aWNlLCBcclxuICogRGF0ZVNlcnZpY2UsIFxyXG4gKiBFeHBvcnRTZXJ2aWNlLCBcclxuICogSGFzaGluZ1NlcnZpY2UsIFxyXG4gKiBNZXNzYWdlU2VydmljZSwgXHJcbiAqIFV0aWxpdHlTZXJ2aWNlXHJcbiAqIEludGVyQ29tU2VydmljZVxyXG4gKiBcclxuICogY29uIGV2ZW50dWFsaSBwcm92aWRlciBjaGUgdXRpbGl6emFub1xyXG4gKi9cclxuQE5nTW9kdWxlKClcclxuZXhwb3J0IGNsYXNzIEZ1bGxFeHRlbnNpb25zTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBFeHRlbnNpb25zTW9kdWxlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxGdWxsRXh0ZW5zaW9uc01vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IEZ1bGxFeHRlbnNpb25zTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBDbGlwYm9hcmRTZXJ2aWNlLFxyXG4gICAgICAgIERhdGVTZXJ2aWNlLFxyXG4gICAgICAgIEV4cG9ydFNlcnZpY2UsXHJcbiAgICAgICAgSGFzaGluZ1NlcnZpY2UsXHJcbiAgICAgICAgTWVzc2FnZVNlcnZpY2UsXHJcbiAgICAgICAgVXRpbGl0eVNlcnZpY2UsXHJcbiAgICAgICAgSW50ZXJDb21TZXJ2aWNlLFxyXG4gICAgICAgIHsgcHJvdmlkZTogRVhUX0xPQ0FMRSwgdXNlVmFsdWU6IGNvbmZpZz8ubG9jYWxlIHx8ICdpdC1JVCcgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IEVYVF9GQU5DWV9BTEVSVFMsIHVzZVZhbHVlOiBjb25maWc/LmZhbmN5X2FsZXJ0cyB8fCB0cnVlIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBBUFBTRUFSQ0hfUFJFRklYLCB1c2VWYWx1ZTogY29uZmlnPy5hcHBzZWFyY2hfcHJlZml4IHx8ICdIb3QnfSxcclxuICAgICAgICB7IHByb3ZpZGU6IEVYVF9BTExPV19VVEMsIHVzZVZhbHVlOiBjb25maWc/LmFsbG93X3V0YyA9PSBudWxsID8gZmFsc2UgOiBjb25maWc/LmFsbG93X3V0Y31cclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcbn0iXX0=
|
|
@@ -19,10 +19,10 @@ export class ExtensionsModule {
|
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
ExtensionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
23
|
-
ExtensionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
24
|
-
ExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
22
|
+
ExtensionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExtensionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
23
|
+
ExtensionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ExtensionsModule });
|
|
24
|
+
ExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExtensionsModule });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExtensionsModule, decorators: [{
|
|
26
26
|
type: NgModule
|
|
27
27
|
}] });
|
|
28
28
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHRlbnNpb25zL3NyYy9saWIvbW9kdWxlcy9leHRlbnNpb25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFFOUQsVUFBVTtBQUNWLE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUcxRjs7R0FFRztBQUVILE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUErQjtRQUM1QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLE9BQU8sRUFBRTtnQkFDNUQsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxZQUFZLElBQUksSUFBSSxFQUFFO2dCQUNyRSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixJQUFJLEtBQUssRUFBRTtnQkFDMUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFO2FBQzVGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OzZHQVhVLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOzhHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8vIE1vZGVsbGlcclxuaW1wb3J0IHsgRVhUX0xPQ0FMRSwgRVhUX0ZBTkNZX0FMRVJUUywgQVBQU0VBUkNIX1BSRUZJWCwgRVhUX0FMTE9XX1VUQyB9IGZyb20gJy4uL3Rva2Vucyc7XHJcbmltcG9ydCB7IEV4dGVuc2lvbnNNb2R1bGVDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvRXh0ZW5zaW9uc01vZHVsZUNvbmZpZyc7XHJcblxyXG4vKipcclxuICogTW9kdWxvIGRpIGVzdGVuc2lvbmUgY2hlIG5vbiByZWdpc3RyYSBuZXNzdW4gc2Vydml6aW8gZGkgZXN0ZW5zaW9uZSwgZG92cmFubm8gZXNzZXJlIGRpY2hpYXJhdGkgMSBwZXIgMSBkYWxsJ2FwcGxpY2F6aW9uZSBjaGUgbGkgdXRpbGl6emFcclxuICovXHJcbkBOZ01vZHVsZSgpXHJcbmV4cG9ydCBjbGFzcyBFeHRlbnNpb25zTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBFeHRlbnNpb25zTW9kdWxlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxFeHRlbnNpb25zTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogRXh0ZW5zaW9uc01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBFWFRfTE9DQUxFLCB1c2VWYWx1ZTogY29uZmlnPy5sb2NhbGUgfHwgJ2l0LUlUJyB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogRVhUX0ZBTkNZX0FMRVJUUywgdXNlVmFsdWU6IGNvbmZpZz8uZmFuY3lfYWxlcnRzIHx8IHRydWUgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IEFQUFNFQVJDSF9QUkVGSVgsIHVzZVZhbHVlOiBjb25maWc/LmFwcHNlYXJjaF9wcmVmaXggfHwgJ0hvdCcgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IEVYVF9BTExPV19VVEMsIHVzZVZhbHVlOiBjb25maWc/LmFsbG93X3V0YyA9PSBudWxsID8gZmFsc2UgOiBjb25maWc/LmFsbG93X3V0YyB9XHJcbiAgICAgIF1cclxuICAgIH07XHJcbiAgfVxyXG59Il19
|
|
@@ -204,9 +204,9 @@ export class ClipboardService {
|
|
|
204
204
|
document.body.removeChild(textArea);
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
|
-
ClipboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
208
|
-
ClipboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
209
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
207
|
+
ClipboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClipboardService, deps: [{ token: i1.MessageService }, { token: EXT_LOCALE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
208
|
+
ClipboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClipboardService });
|
|
209
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClipboardService, decorators: [{
|
|
210
210
|
type: Injectable
|
|
211
211
|
}], ctorParameters: function () { return [{ type: i1.MessageService }, { type: undefined, decorators: [{
|
|
212
212
|
type: Optional
|
|
@@ -219,9 +219,9 @@ export class DateService {
|
|
|
219
219
|
return date.format(small ? this.cfg.smallDate : seconds ? this.cfg.fulldateDisplay : this.cfg.fulldateDisplayNoSS);
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
|
-
DateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
223
|
-
DateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
224
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
222
|
+
DateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateService, deps: [{ token: EXT_LOCALE, optional: true }, { token: EXT_ALLOW_UTC, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
223
|
+
DateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateService });
|
|
224
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateService, decorators: [{
|
|
225
225
|
type: Injectable
|
|
226
226
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
227
227
|
type: Optional
|
|
@@ -499,9 +499,9 @@ export class ExportService {
|
|
|
499
499
|
return Deserialize(items, type);
|
|
500
500
|
}
|
|
501
501
|
}
|
|
502
|
-
ExportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
503
|
-
ExportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
504
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
502
|
+
ExportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExportService, deps: [{ token: i1.DateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
503
|
+
ExportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExportService });
|
|
504
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExportService, decorators: [{
|
|
505
505
|
type: Injectable
|
|
506
506
|
}], ctorParameters: function () { return [{ type: i1.DateService }]; } });
|
|
507
507
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5leHBvcnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHRlbnNpb25zL3NyYy9saWIvc2VydmljZXMvZXh0ZW5zaW9ucy5leHBvcnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTztBQUNQLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFeEMsaUJBQWlCO0FBRWpCLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFPcFA7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCRztBQUNILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEtBQWEsRUFBRSxNQUFjLEVBQUUsU0FBaUIsSUFBSSxFQUFFLFVBQWtCLElBQUksRUFBRSxFQUFFLENBQ3JHLENBQUMsTUFBYyxFQUFFLFdBQW1CLEVBQUUsRUFBRTtJQUN0QyxJQUFJLE1BQU07UUFDUixNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxXQUFXLEdBQUcsZUFBZSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNuRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxXQUFXLEdBQUcsWUFBWSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM3RixNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0s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QUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDOzswR0E5WFUsYUFBYTs4R0FBYixhQUFhOzJGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gTGlic1xyXG5pbXBvcnQgeyBEZXNlcmlhbGl6ZSB9IGZyb20gXCJjZXJpYWxpemVcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcblxyXG5pbXBvcnQgeyBleHBvcnRMaXN0LCBjc3ZGb3JtYXRQcmVmaXgsIGNzdkhkclByZWZpeCwgY3N2T3JkUHJlZml4LCBjc3ZWYWx1ZU5hdmlnYXRvciwgY3N2VmlzUHJlZml4LCBkaWN0aW9uYXJ5Q3N2SGRyUHJlZml4LCBkaWN0aW9uYXJ5Q3N2VmFsUHJlZml4LCBsaXN0Q3N2SGRyUHJlZml4LCBsaXN0Q3N2VmFsRm9ybWF0LCBsaXN0Q3N2VmFsUHJlZml4LCBjc3ZQcm9wS2V5IH0gZnJvbSBcIi4uL21vZGVscy9FeHBvcnRDb25zdHNcIjtcclxuaW1wb3J0IHsgRGF0ZVNlcnZpY2UgfSBmcm9tICcuL2V4dGVuc2lvbnMuZGF0ZXMuc2VydmljZSc7XHJcblxyXG4vLyBNb2RlbGxpXHJcbmltcG9ydCB7IENzdkhlYWRlcnMgfSBmcm9tIFwiLi4vbW9kZWxzL0NzdkhlYWRlcnNcIjtcclxuaW1wb3J0IHsgR2VuZXJpY0l0ZW0gfSBmcm9tIFwiLi4vbW9kZWxzL0dlbmVyaWNJdGVtXCI7XHJcblxyXG4vKipcclxuICogRGVjb3JhdG9yZSBkaSBlc3BvcnRhemlvbmUgdXRpbGl6emFiaWxlIHN1IHVuYSBwcm9wcmlldMOgIHNpbmdvbGEuIFxyXG4gKiBWZXJyYW5ubyBnZW5lcmF0ZSAzIHByb3ByaWV0w6AgY2hlIGdlc3RpcmFubm8gbCdlc3BvcnRhemlvbmU6IChwcm9wLCBwcm9wX2NzdnZpcywgcHJvcF9jc3ZoZHIpLiBcclxuICogXHJcbiAqIEFkIGVzZW1waW8sIGRhIHF1ZXN0YSBjb25maWd1cmF6aW9uZTpcclxuICogXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYFxyXG4gKiBARXhwb3J0KHRydWUsIFwiTXlIZWFkZXJcIilcclxuICogY2lhbzogc3RyaW5nO1xyXG4gKiBgYGBcclxuICogXHJcbiAqIE5hc2NlcmFubm8gbGUgc2VndWVudGkgcHJvcHJpZXTDoCBuZWxsJ29nZ2V0dG8gZXNwb3J0YWJpbGU6XHJcbiAqIFxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBcclxuICogY2lhb19jc3Z2aXM6IHN0cmluZzsgPT4gdHJ1ZVxyXG4gKiBjaWFvOiBzdHJpbmc7XHJcbiAqIGNpYW9fY3N2aGRyOiBzdHJpbmcgPT4gXCJNeUhlYWRlclwiXHJcbiAqIGBgYFxyXG4gKiBcclxuICogQHBhcmFtIHtudW1iZXJ9IG9yZGVyIE9yZGluZSBkaSBlc3BvcnRhemlvbmUuIFBpw7kgcGljY29sbyDDqCwgcHJpbWEgYXBwYXJlIGlsIHZhbG9yZVxyXG4gKiBAcGFyYW0ge3N0cmluZ30gaGVhZGVyIFRpdG9sbyBkZWxsYSBjb2xvbm5hIG5lbCBmaWxlIENTViBlc3BvcnRhdG9cclxuICogQHBhcmFtIHtzdHJpbmd9IGZvcm1hdCBGb3JtYXRvIGRpIGVzcG9ydGF6aW9uZS4gUHXDsiBlc3NlcmUgdW4gZm9ybWF0byBkYXRhIHBlciBpIGNhbXBpIGRhdGEgbyAnRicgcGVyIGkgY2FtcGkgZmxvYXRpbmcgcG9pbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBFeHBvcnQgPSAob3JkZXI6IG51bWJlciwgaGVhZGVyOiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nID0gbnVsbCwgdGFibGVpZDogc3RyaW5nID0gbnVsbCkgPT5cclxuICAodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpID0+IHtcclxuICAgIGlmIChmb3JtYXQpXHJcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5ICsgY3N2Rm9ybWF0UHJlZml4LCB7IHZhbHVlOiBmb3JtYXQsIHdyaXRhYmxlOiBmYWxzZSB9KTtcclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5ICsgY3N2T3JkUHJlZml4LCB7IHZhbHVlOiBvcmRlciwgd3JpdGFibGU6IGZhbHNlIH0pO1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHlLZXkgKyBjc3ZWaXNQcmVmaXgsIHsgdmFsdWU6ICEhaGVhZGVyLCB3cml0YWJsZTogZmFsc2UgfSk7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcm9wZXJ0eUtleSArIGNzdkhkclByZWZpeCwgeyB2YWx1ZTogaGVhZGVyLCB3cml0YWJsZTogZmFsc2UgfSk7XHJcbiAgICBpZih0YWJsZWlkKVxyXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcm9wZXJ0eUtleSArIGNzdlByb3BLZXksIHsgdmFsdWU6IHRhYmxlaWQsIHdyaXRhYmxlOiBmYWxzZSB9KTtcclxuXHJcbiAgICBpZiAodGFyZ2V0W2V4cG9ydExpc3RdKVxyXG4gICAgICB0YXJnZXRbZXhwb3J0TGlzdF0ucHVzaChwcm9wZXJ0eUtleSArIGNzdlZpc1ByZWZpeCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRhcmdldFtleHBvcnRMaXN0XSA9IFtwcm9wZXJ0eUtleSArIGNzdlZpc1ByZWZpeF1cclxuICB9O1xyXG5cclxuLyoqXHJcbiAqIERlY29yYXRvcmUgZGkgZXNwb3J0YXppb25lIHV0aWxpenphYmlsZSBzdSB1biBvZ2dldHRvLiBcclxuICogUGVyIG9nbmkgcHJvcHJpZXTDoCBkZWxsJ29nZ2V0dG8gdmVycmFubm8gZ2VuZXJhdGUgMyBwcm9wcmlldMOgIGNoZSBnZXN0aXJhbm5vIGwnZXNwb3J0YXppb25lOiAocHJvcCwgcHJvcF9jc3Z2aXMsIHByb3BfY3N2aGRyKS4gXHJcbiAqIFBlciBlc3NlcmUgZXNwb3J0YXRlLCBsZSBwcm9wcmlldMOgIGRlbGwnb2dnZXR0byBkZXZvbm8gZXNzZXJlIG1hcmNhdGUgY29uIGkgRGVjb3JhdG9yaSBkaSBlc3BvcnRhemlvbmVcclxuICogXHJcbiAqIEFkIGVzZW1waW8sIGRhIHF1ZXN0YSBjb25maWd1cmF6aW9uZTpcclxuICogXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYFxyXG4gKiBNeU9iaiB7XHJcbiAqICAgICBARXhwb3J0KHRydWUsIFwiTXlIZWFkZXJcIilcclxuICogICAgIGNpYW86IHN0cmluZztcclxuICogfVxyXG4gKiBcclxuICogQEV4cG9ydE9iamVjdCh0cnVlLCBcIk15SGVhZGVyXCIpXHJcbiAqIHRlc3Q6IE15T2JqOyBcclxuICogYGBgXHJcbiAqIFxyXG4gKiBOYXNjZXJhbm5vIGxlIHNlZ3VlbnRpIHByb3ByaWV0w6AgbmVsbCdvZ2dldHRvIGVzcG9ydGFiaWxlOlxyXG4gKiBcclxuICogQGV4YW1wbGVcclxuICogYGBgXHJcbiAqIHRlc3RjaWFvOiBzdHJpbmc7ID0+IFZhbG9yZSBkaSBNeU9iai5jaWFvXHJcbiAqIHRlc3RjaWFvX2NzdnZpczogc3RyaW5nOyA9PiB0cnVlXHJcbiAqIHRlc3RjaWFvX2Nzdmhkcjogc3RyaW5nID0+IFwiTXlIZWFkZXJcIiBcclxuICogYGBgXHJcbiAqXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBvcmRlciBPcmRpbmUgZGkgZXNwb3J0YXppb25lLiBQacO5IHBpY2NvbG8gw6gsIHByaW1hIGFwcGFyZSBpbCB2YWxvcmVcclxuICogQHBhcmFtIHthbnl9IHR5cGUgVGlwbyBkYSBlc3BvcnRhcmVcclxuICovXHJcbmV4cG9ydCBjb25zdCBFeHBvcnRBcyA9IChvcmRlcjogbnVtYmVyLCB0eXBlOiBhbnkpID0+XHJcbiAgKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKSA9PiB7XHJcbiAgICB2YXIgdCA9IG5ldyB0eXBlKCk7XHJcbiAgICB2YXIgcHJvcHMgPSB0W2V4cG9ydExpc3RdO1xyXG4gICAgZm9yKGxldCBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKXtcclxuICAgICAgbGV0IHByb3AgPSBwcm9wc1tpXS5yZXBsYWNlKGNzdlZpc1ByZWZpeCwgJycpO1xyXG4gICAgICBpZiAodHlwZW9mIHRbcHJvcCArIGNzdlZpc1ByZWZpeF0gIT09IFwidW5kZWZpbmVkXCIpIHtcclxuICAgICAgICB2YXIgdG9FbWl0OiBib29sZWFuID0gdFtwcm9wICsgY3N2VmlzUHJlZml4XTtcclxuICAgICAgICB2YXIgbGJsID0gdFtwcm9wICsgY3N2SGRyUHJlZml4XTtcclxuICAgICAgICB2YXIgZm9ybWF0ID0gdFtwcm9wICsgY3N2Rm9ybWF0UHJlZml4XTtcclxuICAgICAgICB2YXIgb3JkZXJQcm9wID0gdFtwcm9wICsgY3N2T3JkUHJlZml4XTtcclxuICAgICAgICBpZiAoZm9ybWF0KVxyXG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHlLZXkgKyBwcm9wICsgY3N2Rm9ybWF0UHJlZml4LCB7IHZhbHVlOiBmb3JtYXQsIHdyaXRhYmxlOiBmYWxzZSB9KTtcclxuXHJcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHlLZXkgKyBwcm9wICsgY3N2T3JkUHJlZml4LCB7IHZhbHVlOiBvcmRlclByb3AgKyBvcmRlciwgd3JpdGFibGU6IGZhbHNlIH0pO1xyXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5ICsgcHJvcCwgeyB2YWx1ZTogbnVsbCwgd3JpdGFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUgfSk7XHJcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHlLZXkgKyBwcm9wICsgY3N2VmFsdWVOYXZpZ2F0b3IsIHsgdmFsdWU6IHByb3BlcnR5S2V5ICsgXCIuXCIgKyBwcm9wLCB3cml0YWJsZTogZmFsc2UgfSk7XHJcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHlLZXkgKyBwcm9wICsgY3N2VmlzUHJlZml4LCB7IHZhbHVlOiB0b0VtaXQsIHdyaXRhYmxlOiBmYWxzZSB9KTtcclxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcm9wZXJ0eUtleSArIHByb3AgKyBjc3ZIZHJQcmVmaXgsIHsgdmFsdWU6IGxibCwgd3JpdGFibGU6IGZhbHNlIH0pO1xyXG5cclxuICAgICAgICBpZiAodGFyZ2V0W2V4cG9ydExpc3RdKVxyXG4gICAgICAgICAgdGFyZ2V0W2V4cG9ydExpc3RdLnB1c2gocHJvcGVydHlLZXkgKyBwcm9wICsgY3N2VmlzUHJlZml4KTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0YXJnZXRbZXhwb3J0TGlzdF0gPSBbcHJvcGVydHlLZXkgKyBwcm9wICsgY3N2VmlzUHJlZml4XVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbi8qKlxyXG4gKiBEZWNvcmF0b3JlIGRpIGVzcG9ydGF6aW9uZSB1dGlsaXp6YWJpbGUgc3UgdW5hIGxpc3RhLCBcclxuICogc2kgdXRpbGl6emFubyAyIG5hdmlnYXRvciByaXNwZXR0aXZhbWVudGUgcGVyIGxhIHZhbG9yaXp6YXppb25lIGRlbGwnSGVhZGVyIGUgZGVsIFZhbG9yZSBlIFxyXG4gKiBwZXIgb2duaSBlbGVtZW50byBkZWxsJ2FycmF5IHZlcnJhbm5vIGdlbmVyYXRlIDMgcHJvcHJpZXTDoCBjaGUgZ2VzdGlyYW5ubyBsJ2VzcG9ydGF6aW9uZTogKHByb3AsIHByb3BfY3N2dmlzLCBwcm9wX2NzdmhkcilcclxuICogXHJcbiAqIEFUVEVOWklPTkU6IEdsaSBvZ2dldHRpIGVzcG9ydGF0aSBpbiBxdWVzdGEgbW9kYWxpdMOgIG5vbiBkZXZvbm8gcHJlc2VudGFyZSBhbHRyaSB0YWcgZGkgdGlwbyBARXhwb3J0ey4uLn0gYWxsJ2ludGVybm8uIEZhIHR1dHRvIHF1ZXN0byBkZWNvcmF0b3JlXHJcbiAqIFxyXG4gKiBJIG5hdmlnYXRvciBoYW5ubyBxdWVzdGEgY29udmVuemlvbmU6XHJcbiAqIFxyXG4gKiAuIC0tPiBkaXZpZGUgZHVlIHByb3ByaWV0w6AgZGEgcmljaGlhbWFyZSBjb25zZWN1dGl2YW1lbnRlOiBcImEuYlwiIHJpY2hpYW1lcsOgIFwib2JqLmEuYlwiO1xyXG4gKiBcclxuICogfCAtLT4gZGl2aWRlIHBpw7kgcHJvcHJpZXTDoCBwZXIgbGUgY29uY2F0ZW5hemlvbmkgY29uIHVubyBzcGF6aW8gZnJhIHVuYSBlIGwnYWx0cmE6IFwicmVnZGVzY3xzbGljZS5zbGljZW5hbWVcIiBkaXZlbnRlcsOgIG9iai5yZWdkZXNjICsgXCIgXCIgKyBvYmouc2xpY2Uuc2xpY2VuYW1lXHJcbiAqIFxyXG4gKiBAcGFyYW0ge251bWJlcn0gb3JkZXIgT3JkaW5lIGRpIGVzcG9ydGF6aW9uZS4gUGnDuSBwaWNjb2xvIMOoLCBwcmltYSBhcHBhcmUgaWwgdmFsb3JlXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBoZWFkZXJuYXZpZ2F0b3IgTmF2aWdhdG9yIGNvbCBjb21waXRvIGRpIHNlbGV6aW9uYXJlIGlsIHRpdG9sbyBwZXIgbGEgY29sb25uYVxyXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVuYXZpZ2F0b3IgTmF2aWdhdG9yIGNvbCBjb21waXRvIGRpIHNlbGV6aW9uYXJlIGlsIHZhbG9yZSBwZXIgbGEgY29sb25uYVxyXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVmb3JtYXQgRm9ybWF0byBkaSBlc3BvcnRhemlvbmUgcGVyIGkgdmFsb3JpIHNlbGV6aW9uYXRpIGRhbCAqKnZhbHVlbmF2aWdhdG9yKiouIFB1w7IgZXNzZXJlIHVuIGZvcm1hdG8gZGF0YSBwZXIgaSBjYW1waSBkYXRhIG8gJ0YnIHBlciBpIGNhbXBpIGZsb2F0aW5nIHBvaW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgRXhwb3J0TGlzdCA9IChvcmRlcjogbnVtYmVyLCBoZWFkZXJuYXZpZ2F0b3I6IHN0cmluZywgdmFsdWVuYXZpZ2F0b3I6IHN0cmluZywgdmFsdWVmb3JtYXQ6IHN0cmluZyA9IG51bGwpID0+XHJcbiAgKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKSA9PiB7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcm9wZXJ0eUtleSArIGNzdk9yZFByZWZpeCwgeyB2YWx1ZTogb3JkZXIsIHdyaXRhYmxlOiBmYWxzZSB9KTtcclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5ICsgbGlzdENzdlZhbFByZWZpeCwgeyB2YWx1ZTogdmFsdWVuYXZpZ2F0b3IsIHdyaXRhYmxlOiBmYWxzZSB9KTtcclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5ICsgbGlzdENzdkhkclByZWZpeCwgeyB2YWx1ZTogaGVhZGVybmF2aWdhdG9yLCB3cml0YWJsZTogZmFsc2UgfSk7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcm9wZXJ0eUtleSArIGxpc3RDc3ZWYWxGb3JtYXQsIHsgdmFsdWU6IHZhbHVlZm9ybWF0LCB3cml0YWJsZTogZmFsc2UgfSk7XHJcblxyXG4gICAgaWYgKHRhcmdldFtleHBvcnRMaXN0XSlcclxuICAgICAgdGFyZ2V0W2V4cG9ydExpc3RdLnB1c2gocHJvcGVydHlLZXkgKyBsaXN0Q3N2SGRyUHJlZml4KTtcclxuICAgIGVsc2VcclxuICAgICAgdGFyZ2V0W2V4cG9ydExpc3RdID0gW3Byb3BlcnR5S2V5ICsgbGlzdENzdkhkclByZWZpeF1cclxuICB9O1xyXG5cclxuLyoqXHJcbiAqIERlY29yYXRvcmUgZGkgZXNwb3J0YXppb25lIHV0aWxpenphYmlsZSBzdSB1biBkaXppb25hcmlvLiBTZSBhZCBlc2VtcGlvIHNpIHZvZ2xpb25vIGdlbmVyYXJlIGxlIGNvbG9ubmVcclxuICogXHJcbiAqIFZhbG9yZSBBID0gMVxyXG4gKiBcclxuICogVmFsb3JlIEIgPSAyXHJcbiAqIFxyXG4gKiBWYWxvcmUgQyA9IDNcclxuICogXHJcbiAqIHBhcnRlbmRvIGRhIHVuIG9nZ2V0dG8gaW5pemlhbGUgeyBWYWxvcmUgeyBBOiAxLCBCOiAyLCBDOiAzIH0gfVxyXG4gKiBcclxuICogQHBhcmFtIHtudW1iZXJ9IG9yZGVyIE9yZGluZSBkaSBlc3BvcnRhemlvbmUuIFBpw7kgcGljY29sbyDDqCwgcHJpbWEgYXBwYXJlIGlsIHZhbG9yZVxyXG4gKiBAcGFyYW0ge3N0cmluZ30gaGVhZGVybmF2aWdhdG9yIE5hdmlnYXRvciBjb2wgY29tcGl0byBkaSBzZWxlemlvbmFyZSBpbCB0aXRvbG8gcGVyIGxhIGNvbG9ubmFcclxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlbmF2aWdhdG9yIE5hdmlnYXRvciBjb2wgY29tcGl0byBkaSBzZWxlemlvbmFyZSBpbCB2YWxvcmUgcGVyIGxhIGNvbG9ubmFcclxuICovXHJcbmV4cG9ydCBjb25zdCBFeHBvcnREaWN0aW9uYXJ5ID0gKG9yZGVyOiBudW1iZXIsIGhlYWRlcm5hdmlnYXRvcjogc3RyaW5nLCB2YWx1ZW5hdmlnYXRvcjogc3RyaW5nKSA9PlxyXG4gICh0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZykgPT4ge1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHlLZXkgKyBjc3ZPcmRQcmVmaXgsIHsgdmFsdWU6IG9yZGVyLCB3cml0YWJsZTogZmFsc2UgfSk7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcm9wZXJ0eUtleSArIGRpY3Rpb25hcnlDc3ZWYWxQcmVmaXgsIHsgdmFsdWU6IHZhbHVlbmF2aWdhdG9yLCB3cml0YWJsZTogZmFsc2UgfSk7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcm9wZXJ0eUtleSArIGRpY3Rpb25hcnlDc3ZIZHJQcmVmaXgsIHsgdmFsdWU6IGhlYWRlcm5hdmlnYXRvciwgd3JpdGFibGU6IGZhbHNlIH0pO1xyXG5cclxuICAgIGlmICh0YXJnZXRbZXhwb3J0TGlzdF0pXHJcbiAgICAgIHRhcmdldFtleHBvcnRMaXN0XS5wdXNoKHByb3BlcnR5S2V5ICsgZGljdGlvbmFyeUNzdkhkclByZWZpeCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRhcmdldFtleHBvcnRMaXN0XSA9IFtwcm9wZXJ0eUtleSArIGRpY3Rpb25hcnlDc3ZIZHJQcmVmaXhdXHJcbiAgfTtcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlIGNoZSBzaSBvY2N1cGEgZGVsbCdlc3BvcnRhemlvbmUgZGVnbGkgb2dnZXR0aSBtYXJjYXRpIGRhaSBEZWNvcmF0b3JpICoqRXhwb3J0RGljdGlvbmFyeSoqLCAqKkV4cG9ydExpc3QqKiwgKipFeHBvcnRBcyoqIG8gKipFeHBvcnQqKlxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRXhwb3J0U2VydmljZSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvc3RydXR0b3JlXHJcbiAgICogXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGVzOiBEYXRlU2VydmljZSkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERhdGEgdW5hIGxpc3RhIGRpIG9nZ2V0dGkgZ2VuZXJhIGdsaSBoZWFkZXIgcGVyIGwnZXNwb3J0YXppb25lIGUgaW50ZWdyYSBvZ25pIG9nZ2V0dG8gY29uIGxlIHByb3ByaWV0w6AgZXNwb3J0YWJpbGkgZGFsbGEgbGlicmVyaWEgKipAY3RybC9uZ3gtY3N2KipcclxuICAgKiBcclxuICAgKiBAcGFyYW0ge2FueVtdfSBvYmpzIE9nZ2V0dGkgZGEgZXNwb3J0YXJlXHJcbiAgICogXHJcbiAgICogQHJldHVybnMge0NzdkhlYWRlcnNbXX0gSGVhZGVyIGRpIGVzcG9ydGF6aW9uZSBnacOgIG9yZGluYXRpIGNvcnJldHRhbWVudGVcclxuICAgKi9cclxuICBwdWJsaWMgc2V0dXBGb3JFeHBvcnQob2JqczogYW55W10sIGNvbHVtbnM6IHN0cmluZ1tdID0gW10pOiBDc3ZIZWFkZXJzW10ge1xyXG4gICAgbGV0IGhlYWRlcnM6IENzdkhlYWRlcnNbXSA9IFtdO1xyXG4gICAgbGV0IGhlYWRlcnNDYWNoZSA9IHt9O1xyXG5cclxuICAgIGlmICghb2JqcyB8fCBvYmpzLmxlbmd0aCA9PSAwKVxyXG4gICAgICByZXR1cm4gaGVhZGVycztcclxuXHJcbiAgICAvLyBEZXZvIHBlciBmb3J6YSBmYXJsbyBwZXIgdHV0dGkgZ2xpIG9nZ2V0dGkgZGF0byBjaGUgZGV2byBlc3BvcnJlIGxlIHByb3ByaWV0w6AgY2hlIG1pIHNlcnZvbm8gZGEgZXNwb3J0YXJlXHJcbiAgICAvLyBHbGkgaGVhZGVyIGxpIHJhY2NvbGdvIHR1dHRpIHBvaSBmYWNjaW8gdWFuIGRpc3RpbmN0IGluIG1vZG8gZGEgZXNwb3J0YXJlIHR1dHRlIGxlIHByb3ByaWV0w6AgcGVyIGJlbmVcclxuICAgIGxldCBjb2x1bW5TZWxlY3Rpb25EaWN0aW9uYXJ5OiB7IFtpZDogc3RyaW5nXTogdHJ1ZSB9ID0ge307XHJcblxyXG4gICAgaWYgKGNvbHVtbnM/Lmxlbmd0aCA+IDApXHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29sdW1ucz8ubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgY29sdW1uU2VsZWN0aW9uRGljdGlvbmFyeVtjb2x1bW5zW2ldXSA9IHRydWU7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvYmpzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCBoZHMgPSB0aGlzLnBhcnNlQW5kR2V0SGVhZGVycyhvYmpzW2ldLCBjb2x1bW5TZWxlY3Rpb25EaWN0aW9uYXJ5KTtcclxuICAgICAgLy8gQWdnaXVuZ28gZ2xpIGhlYWRlciBmYWNlbmRvIGluIG1vZG8gZGkgbm9uIGFnZ2l1bmdlcm5lIG1haSBkdWUgdWd1YWxpIHBlciBub24gZG92ZXIgZmFyZSB1bmEgZGlzdGluY3QgZG9wb1xyXG4gICAgICAvLyBjaGUgY29zdGVyZWJiZSBjb211bnF1ZSByaXNvcnNlLiBVdGlsaXp6byB1biBkaXppb25hcmlvIGQnYXBwb2dnaW8gcGVyIGxvb2t1cCBpc3RhbnRhbmVpXHJcbiAgICAgIGZvciAobGV0IGsgPSAwOyBrIDwgaGRzLmxlbmd0aDsgaysrKSB7XHJcbiAgICAgICAgaWYgKCFoZWFkZXJzQ2FjaGVbaGRzW2tdLmtleV0pIHtcclxuICAgICAgICAgIGhlYWRlcnNDYWNoZVtoZHNba10ua2V5XSA9IHRydWU7XHJcbiAgICAgICAgICBoZWFkZXJzLnB1c2goaGRzW2tdKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWNvbHVtbnMgfHwgY29sdW1ucy5sZW5ndGggPT0gMClcclxuICAgICAgcmV0dXJuIGhlYWRlcnMuc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIC8vIFNlIG1pIGFycml2YSBsYSBsaXN0YSBkaSBjb2xvbm5lIG5vbiBtaSBkw6Agc29sbyBsYSB2aXNpYmlsaXTDoCwgbWEgYW5jaGUgbCdvcmRpbmFtZW50b1xyXG4gICAgICAvLyBsZSBlc3BvcnRvIGRpIGNvbnNlZ3VlbnphXHJcbiAgICAgIGxldCBvcmRlcmVkSGVhZGVycyA9IFtdO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbHVtbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBsZXQgdGhpc0lkID0gY29sdW1uc1tpXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGhlYWRlcnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGlmIChoZWFkZXJzW2ldLnByb3BLZXkgPT0gdGhpc0lkKSB7XHJcbiAgICAgICAgICAgIG9yZGVyZWRIZWFkZXJzLnB1c2goaGVhZGVyc1tpXSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gb3JkZXJlZEhlYWRlcnM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEYXRhIHVuYSBsaXN0YSBkaSBvZ2dldHRpIGdlbmVyaWNpIGdlbmVyYSBnbGkgaGVhZGVyIHBlciBsJ2VzcG9ydGF6aW9uZSBlIGludGVncmEgb2duaSBvZ2dldHRvIGNvbiBsZSBwcm9wcmlldMOgIGVzcG9ydGFiaWxpIGRhbGxhIGxpYnJlcmlhICoqQGN0cmwvbmd4LWNzdioqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtHZW5lcmljSXRlbVtdfSBvYmpzIE9nZ2V0dGkgZ2VuZXJpY2kgZGEgZXNwb3J0YXJlXHJcbiAgICogQHBhcmFtIHtDc3ZIZWFkZXJzW119IGNvbHVtbnMgQ29sb25uZSByaWNoaWVzdGUgZGFsbCdlc3BvcnRhemlvbmVcclxuICAgKiBcclxuICAgKiBAcmV0dXJucyB7Q3N2SGVhZGVyc1tdfSBIZWFkZXIgZGkgZXNwb3J0YXppb25lIGdpw6Agb3JkaW5hdGkgY29ycmV0dGFtZW50ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXR1cEZvckdlbmVyaWNFeHBvcnQob2JqczogR2VuZXJpY0l0ZW1bXSwgY29sdW1uczogQ3N2SGVhZGVyc1tdKTogQ3N2SGVhZGVyc1tdIHtcclxuICAgIGxldCBoZWFkZXJzOiBDc3ZIZWFkZXJzW10gPSBbXTtcclxuICAgIGlmICghb2JqcyB8fCBvYmpzLmxlbmd0aCA9PSAwKVxyXG4gICAgICByZXR1cm4gaGVhZGVycztcclxuXHJcbiAgICAvLyBEZXZvIHBlciBmb3J6YSBmYXJsbyBwZXIgdHV0dGkgZ2xpIG9nZ2V0dGkgZGF0byBjaGUgZGV2byBlc3BvcnJlIGxlIHByb3ByaWV0w6AgY2hlIG1pIHNlcnZvbm8gZGEgZXNwb3J0YXJlXHJcbiAgICBvYmpzLmZvckVhY2goKG9iaiwgaW5kZXgpID0+IHtcclxuICAgICAgaWYgKGluZGV4ID09IDApXHJcbiAgICAgICAgaGVhZGVycyA9IHRoaXMucGFyc2VBbmRHZXRHZW5lcmljSGVhZGVycyhvYmosIGNvbHVtbnMpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5wYXJzZUFuZEdldEdlbmVyaWNIZWFkZXJzKG9iaiwgY29sdW1ucyk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gaGVhZGVycztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERhdG8gdW4gb2dnZXR0byBnZW5lcmljbyBnZW5lcmEgZ2xpIGhlYWRlciBwZXIgbCdlc3BvcnRhemlvbmUgZSBsbyBpbnRlZ3JhIGNvbiBsZSBwcm9wcmlldMOgIGVzcG9ydGFiaWxpIGRhbGxhIGxpYnJlcmlhICoqQGN0cmwvbmd4LWNzdioqXHJcbiAgICogXHJcbiAgICogTWV0b2RvIGludGVybm8gcmljaGlhbWF0byBkYSAqKnNldHVwRm9yR2VuZXJpY0V4cG9ydCoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtHZW5lcmljSXRlbX0gb2JqIE9nZ2V0dG8gZ2VuZXJpY28gZGEgZXNwb3J0YXJlXHJcbiAgICogQHBhcmFtIHtDc3ZDb2x1bW5bXX0gY29sdW1ucyBDb2xvbm5lIHJpY2hpZXN0ZSBkYWxsJ2VzcG9ydGF6aW9uZVxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIHtDc3ZIZWFkZXJzW119IEhlYWRlciBkaSBlc3BvcnRhemlvbmUgZ2nDoCBvcmRpbmF0aSBjb3JyZXR0YW1lbnRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBwYXJzZUFuZEdldEdlbmVyaWNIZWFkZXJzKG9iajogR2VuZXJpY0l0ZW0sIGNvbHVtbnM6IENzdkhlYWRlcnNbXSk6IENzdkhlYWRlcnNbXSB7XHJcbiAgICBpZiAoIW9iai5wcm9wZXJ0aWVzKVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICB2YXIgaGVhZGVyczogQ3N2SGVhZGVyc1tdID0gW107XHJcblxyXG4gICAgLy9NaXJhY2xlIGluY29taW5nXHJcbiAgICBjb2x1bW5zLmZvckVhY2godCA9PiB7XHJcbiAgICAgIHZhciBwcm9wVmFsdWUgPSBvYmoucHJvcGVydGllc1t0LmtleV07XHJcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIHQua2V5ICsgXCJfZXhwXCIsIHsgdmFsdWU6IHByb3BWYWx1ZSwgd3JpdGFibGU6IGZhbHNlLCBlbnVtZXJhYmxlOiB0cnVlIH0pO1xyXG4gICAgICBoZWFkZXJzLnB1c2goeyBsYWJlbDogdC5sYWJlbCwga2V5OiB0LmtleSArIFwiX2V4cFwiLCBvcmRlcjogdC5vcmRlciwgdHlwZTogdC50eXBlLCBwcm9wS2V5OiBudWxsIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy9UaXJhdGkgZnVvcmkgdHV0dGkgZ2xpIGhlYWRlciBmYWNjaW8gc29ydCBzdWxsJ29yZGluYW1lbnRvXHJcbiAgICByZXR1cm4gaGVhZGVycy5zb3J0KChhLCBiKSA9PiB7IHJldHVybiBhLm9yZGVyIC0gYi5vcmRlciB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERhdG8gdW4gb2dnZXR0byBnZW5lcmEgZ2xpIGhlYWRlciBwZXIgbCdlc3BvcnRhemlvbmUgZSBsbyBpbnRlZ3JhIGNvbiBsZSBwcm9wcmlldMOgIGVzcG9ydGFiaWxpIGRhbGxhIGxpYnJlcmlhICoqQGN0cmwvbmd4LWNzdioqXHJcbiAgICogXHJcbiAgICogTWV0b2RvIGludGVybm8gcmljaGlhbWF0byBkYSAqKnNldHVwRm9yRXhwb3J0KipcclxuICAgKiBcclxuICAgKiBAcGFyYW0ge2FueX0gb2JqIE9nZ2V0dG8gZ2VuZXJpY28gZGEgZXNwb3J0YXJlXHJcbiAgICogXHJcbiAgICogQHJldHVybnMge0NzdkhlYWRlcnNbXX0gSGVhZGVyIGRpIGVzcG9ydGF6aW9uZSBnacOgIG9yZGluYXRpIGNvcnJldHRhbWVudGVcclxuICAgKi9cclxuICBwcml2YXRlIHBhcnNlQW5kR2V0SGVhZGVycyhvYmo6IGFueSwgY29sdW1uc1NlbGVjdGlvbj86IHsgW2lkOiBzdHJpbmddOiB0cnVlIH0pOiBDc3ZIZWFkZXJzW10ge1xyXG4gICAgdmFyIGhlYWRlcnM6IENzdkhlYWRlcnNbXSA9IFtdO1xyXG5cclxuICAgIC8vIE1pcmFjbGUgaW5jb21pbmdcclxuICAgIGxldCBleHBvcnRQcm9wcyA9IG9ialtleHBvcnRMaXN0XSB8fCBbXTtcclxuICAgIGlmIChleHBvcnRQcm9wcy5sZW5ndGggPT0gMClcclxuICAgICAgY29uc29sZS53YXJuKFwiW0Blc2ZhZW56YS9leHRlbnNpb25zXSBOZXNzdW5hIGNvbG9ubmEgY29uZmlndXJhdGEgZGEgZXNwb3J0YXJlIVwiKTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGV4cG9ydFByb3BzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCBwcm9wID0gZXhwb3J0UHJvcHNbaV07XHJcbiAgICAgIGxldCBwcm9wQmFzZSA9IFwiXCI7XHJcbiAgICAgIGxldCB0b0NhbGw6IEZ1bmN0aW9uO1xyXG4gICAgICBpZiAocHJvcC5lbmRzV2l0aChsaXN0Q3N2SGRyUHJlZml4KSkge1xyXG4gICAgICAgIHByb3BCYXNlID0gcHJvcC5yZXBsYWNlKGxpc3RDc3ZIZHJQcmVmaXgsICcnKTtcclxuICAgICAgICB0b0NhbGwgPSB0aGlzLnBhcnNlTGlzdC5iaW5kKHRoaXMpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHByb3AuZW5kc1dpdGgoZGljdGlvbmFyeUNzdkhkclByZWZpeCkpIHtcclxuICAgICAgICB0b0NhbGwgPSB0aGlzLnBhcnNlRGljdGlvbmFyeS5iaW5kKHRoaXMpO1xyXG4gICAgICAgIHByb3BCYXNlID0gcHJvcC5yZXBsYWNlKGRpY3Rpb25hcnlDc3ZIZHJQcmVmaXgsICcnKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChwcm9wLmVuZHNXaXRoKGNzdlZpc1ByZWZpeCkpIHtcclxuICAgICAgICBwcm9wQmFzZSA9IHByb3AucmVwbGFjZShjc3ZWaXNQcmVmaXgsICcnKTtcclxuICAgICAgICBpZiAodHlwZW9mIG9ialtwcm9wQmFzZSArIGNzdlZhbHVlTmF2aWdhdG9yXSAhPT0gXCJ1bmRlZmluZWRcIilcclxuICAgICAgICAgIHRvQ2FsbCA9IHRoaXMucGFyc2VPYmplY3QuYmluZCh0aGlzKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0b0NhbGwgPSB0aGlzLnBhcnNlUHJvcGVydHkuYmluZCh0aGlzKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRvQ2FsbClcclxuICAgICAgICB0b0NhbGwob2JqLCBwcm9wQmFzZSwgaGVhZGVycywgY29sdW1uc1NlbGVjdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGhlYWRlcnM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXR1cCBwZXIgbCdlc3BvcnRhemlvbmUgZGkgdW5hIHNpbmdvbGEgcHJvcHJpZXTDoC4gXHJcbiAgICogVmllbmUgZ2VuZXJhdG8gbCdoZWFkZXIgZSBsYSBwcm9wcmlldMOgIHJlbGF0aXZhIGFsIHZhbG9yZSBmb3JtYXR0YXRvIG8gbm9cclxuICAgKiBcclxuICAgKiBAcGFyYW0ge2FueX0gb2JqIE9nZ2V0dG8gZGkgY3VpIGVzcG9ydGFyZSBsYSBwcm9wcmlldMOgICoqcHJvcCoqXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHByb3AgUHJvcHJpZXTDoCBkYSBlc3BvcnRhcmVcclxuICAgKiBAcGFyYW0ge0NzdkhlYWRlcnN9IGhlYWRlcnMgQ29udGVuaXRvcmUgZGVnbGkgaGVhZGVyLCB2ZXJyw6AgcmllbXBpdG8gZGEgcXVlc3RhIGZ1bnppb25lIFxyXG4gICAqL1xyXG4gIHByaXZhdGUgcGFyc2VQcm9wZXJ0eShvYmo6IGFueSwgcHJvcDogc3RyaW5nLCBoZWFkZXJzOiBDc3ZIZWFkZXJzW10sIGNvbHVtbnNTZWxlY3Rpb24/OiB7IFtpZDogc3RyaW5nXTogdHJ1ZSB9KSB7XHJcbiAgICBsZXQgdG9FbWl0OiBib29sZWFuID0gb2JqW3Byb3AgKyBjc3ZWaXNQcmVmaXhdO1xyXG4gICAgbGV0IGZvcm1hdDogc3RyaW5nID0gb2JqW3Byb3AgKyBjc3ZGb3JtYXRQcmVmaXhdO1xyXG4gICAgbGV0IHByb3BLZXkgPSBvYmpbcHJvcCArIGNzdlByb3BLZXldO1xyXG5cclxuICAgIGlmIChwcm9wS2V5ICYmICFjb2x1bW5zU2VsZWN0aW9uW3Byb3BLZXldICYmIE9iamVjdC5rZXlzKGNvbHVtbnNTZWxlY3Rpb24pLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc29sZS5sb2coXCJbQGVzZmFlbnphL2V4dGVuc2lvbnNdIENvbG9ubmEgZGEgbm9uIGVzcG9ydGFyZTogXCIgKyBwcm9wS2V5KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBsYmwgPSBvYmpbcHJvcCArIGNzdkhkclByZWZpeF07XHJcbiAgICBsZXQgb3JkZXIgPSBvYmpbcHJvcCArIGNzdk9yZFByZWZpeF07XHJcbiAgICBpZiAodG9FbWl0ICYmIGxibCAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAvLyBTZSBub24gaG8gdW4gZm9ybWF0byBlc3BvcnRvIGRpcmV0dGFtZW50ZVxyXG4gICAgICBpZiAoIWZvcm1hdCkge1xyXG4gICAgICAgIC8vIFNlIMOoIHVuIGZvcm1hdG8gZGF0YSBtaSBhc3NpY3VybyBkaSBub24gc3RhbXBhcmUgbWFpIHVuYSBkYXRhIDAwOjAwOjAwIGFsdHJpbWVudGkgaW4gZXNwb3J0YXppb25lIHZpZW5lIHVubyBzY2hpZm9cclxuICAgICAgICB2YXIgdmFsID0gb2JqW3Byb3BdID8gdGhpcy5kYXRlcy50cmltU2Vjb25kcyhvYmpbcHJvcF0udG9TdHJpbmcoKSkgOiBcIlwiO1xyXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIHByb3AgKyBcIl9ub2ZtdFwiLCB7IHZhbHVlOiB2YWwsIHdyaXRhYmxlOiBmYWxzZSwgZW51bWVyYWJsZTogdHJ1ZSB9KTtcclxuICAgICAgICBoZWFkZXJzLnB1c2goeyBsYWJlbDogbGJsID8gbGJsIDogcHJvcCArIFwiX25vZm10XCIsIGtleTogcHJvcCArIFwiX25vZm10XCIsIG9yZGVyOiBvcmRlciwgdHlwZTogXCJzdHJpbmdcIiwgcHJvcEtleTogcHJvcEtleSB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBDYXNvIGZvcm1hdG8gbnVtZXJpY29cclxuICAgICAgICBpZiAoZm9ybWF0ID09IFwiRlwiKSB7XHJcbiAgICAgICAgICAvLyBDaGVjayBjb25zaWRlcmFuZG8gbGEgcG9zc2liaWxpdMOgIGRpIHplcmlcclxuICAgICAgICAgIGxldCB2YWwgPSBvYmpbcHJvcF0gIT0gbnVsbCA/IG9ialtwcm9wXS50b1N0cmluZygpIDogXCJcIjtcclxuICAgICAgICAgIC8vIEVsaW1pbm8gdHV0dGUgbGUgdmlyZ29sZSAoaW5kaWNhdG9yaSBkaSBtaWdsaWFpYSBwZXIgbGEgY3VsdHVyZSBkZWZhdWx0IGVuLVVTKVxyXG4gICAgICAgICAgdmFsID0gdmFsLnJlcGxhY2UoLywvLCBcIlwiKTtcclxuICAgICAgICAgIC8vIElsIHNpbmdvbG8gcHVudG8gY2hlIGMnw6gsIHNlIHByZXNlbnRlIChzZXBhcmF0b3JlIGRlY2ltYWxpKSBsbyB0cmFzZm9ybW8gaW4gdmlyZ29sYVxyXG4gICAgICAgICAgbGV0IHZhbENvbnZlcnRlZCA9IHZhbC5yZXBsYWNlKFwiLlwiLCBcIixcIik7XHJcblxyXG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgcHJvcCArIFwiX2ZtdFwiLCB7IHZhbHVlOiB2YWxDb252ZXJ0ZWQsIHdyaXRhYmxlOiBmYWxzZSwgZW51bWVyYWJsZTogdHJ1ZSB9KTtcclxuICAgICAgICAgIGhlYWRlcnMucHVzaCh7IGxhYmVsOiBsYmwgPyBsYmwgOiBwcm9wICsgXCJfZm10XCIsIGtleTogcHJvcCArIFwiX2ZtdFwiLCBvcmRlcjogb3JkZXIsIHR5cGU6IFwibnVtYmVyXCIsIHByb3BLZXk6IHByb3BLZXkgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIC8vIFNlIGhvIHVuIGZvcm1hdG8gZGF0YSB0cmFzZm9ybW8gaW4gZGF5anMsIGZvcm1hdHRvIGVkIGVzcG9ydG9cclxuICAgICAgICAgIC8vIFBlciBsYSB0cmFzZm9ybWF6aW9uZSBpbiBkYXlqcyBwcm92byBwcmltYSBhIHBhc3NhcmdsaSBsYSBzdHJpbmdhIGRpIG5ldHRvLCBzcGVyYW5kbyBsYSByaWNvbm9zY2FcclxuICAgICAgICAgIC8vIFNlIG5vbiBmdW56aW9uYSBwcm92byBhIGRlZmluaXJnbGkgbGEgZm9ybWF0dGF6aW9uZSBzdGFuZGFyZCBkZWwgbWV0ZXJpbmcgcGVyIHF1ZWwgbGluZ3VhZ2dpb1xyXG4gICAgICAgICAgbGV0IHZhbCA9IHRoaXMuZGF0ZXMuZ2V0Rm9ybWF0dGVkKG9ialtwcm9wXSwgZm9ybWF0Lmxlbmd0aCA8PSAxMCwgZm9ybWF0Lmxlbmd0aCA+IDE2KTtcclxuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIHByb3AgKyBcIl9mbXRcIiwgeyB2YWx1ZTogdmFsID8/IFwiXCIsIHdyaXRhYmxlOiBmYWxzZSwgZW51bWVyYWJsZTogdHJ1ZSB9KTtcclxuICAgICAgICAgIGhlYWRlcnMucHVzaCh7IGxhYmVsOiBsYmwgPyBsYmwgOiBwcm9wICsgXCJfZm10XCIsIGtleTogcHJvcCArIFwiX2ZtdFwiLCBvcmRlcjogb3JkZXIsIHR5cGU6IFwiZGF0ZVwiLCBwcm9wS2V5OiBwcm9wS2V5IH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0dXAgcGVyIGwnZXNwb3J0YXppb25lIGRpIHVuYSBzaW5nb2xhIHByb3ByaWV0w6AgZGEgdW4gb2dnZXR0by4gXHJcbiAgICogVmllbmUgZ2VuZXJhdG8gbCdoZWFkZXIgZSBsYSBwcm9wcmlldMOgIHJlbGF0aXZhIGFsIHZhbG9yZSBmb3JtYXR0YXRvIG8gbm8uIFxyXG4gICAqIFxyXG4gICAqIFBlciBvdHRlbmVyZSBpbCB2YWxvcmUgZSBsJ2hlYWRlciBkZWxsYSBwcm9wcmlldMOgIHZlbmdvbm8gdXRpbGl6emF0aSBpIG5hdmlnYXRvcmkgYXV0by1nZW5lcmF0aSBuZWwgZGVjb3JhdG9yZSAqKkV4cG9ydEFzKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0ge2FueX0gb2JqIE9nZ2V0dG8gZGkgY3VpIGVzcG9ydGFyZSBsYSBwcm9wcmlldMOgICoqcHJvcCoqXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHByb3AgUHJvcHJpZXTDoCBkYSBlc3BvcnRhcmVcclxuICAgKiBAcGFyYW0ge0NzdkhlYWRlcnN9IGhlYWRlcnMgQ29udGVuaXRvcmUgZGVnbGkgaGVhZGVyLCB2ZXJyw6AgcmllbXBpdG8gZGEgcXVlc3RhIGZ1bnppb25lIFxyXG4gICAqL1xyXG4gIHByaXZhdGUgcGFyc2VPYmplY3Qob2JqOiBhbnksIHByb3A6IHN0cmluZywgaGVhZGVyczogQ3N2SGVhZGVyc1tdKSB7XHJcbiAgICAvL3NlIHF1ZXN0YSBwcm9wcmlldMOgIGhhIHVuIG5hdmlnYXRvciBzaWduaWZpY2EgY2hlIGRlcml2YSBkYSB1biBvZ2dldHRvIGludGVybm8sIHJlY3VwZXJvIGlsIHZhbG9yZSBpbiBxdWVzdGEgZmFzZSBkYXRvIGNoZSBwcmltYSBub24gY2UgbCdob1xyXG4gICAgbGV0IHZhbHVlbmF2aWdhdG9yID0gb2JqW3Byb3AgKyBjc3ZWYWx1ZU5hdmlnYXRvcl07XHJcblxyXG4gICAgLy9Fcy4gZGkgdmFsdWVuYXZpZ2F0b3Igb2JqLnN1Ym9iai5zdWJzdWJvYmoucHJvcGVydHlcclxuICAgIGxldCBqbXBzID0gdmFsdWVuYXZpZ2F0b3Iuc3BsaXQoXCIuXCIpO1xyXG4gICAgLy9NaSBjbG9ubyBsJ29nZ2V0dG8gb3JpZ2luYWxlIHBlciBub24gdWNjaWRlcmdsaSBpIHJpZmVyaW1lbnRpXHJcbiAgICBsZXQgY2xvbmUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9iaikpO1xyXG4gICAgLy9TYWx0byByaWNvcnNpdmFtZW50ZSBzdSBtZSBzdGVzc28gcGVyIGFycml2YXJlIGFsbGEgcHJvcHJpZXTDoFxyXG4gICAgLy9TYWx0byAxID4gZGl2ZW50YSBvYmpcclxuICAgIC8vU2FsdG8gMiA+IGRpdmVudGEgb2JqLnN1Ym9ialxyXG4gICAgLy9lY2MuLi5cclxuICAgIGptcHMuZm9yRWFjaChwcCA9PiB7IGNsb25lID0gY2xvbmVbcHBdOyB9KTtcclxuXHJcbiAgICAvL1ZhbG9yZSBmaW5hbGUgOkRcclxuICAgIGxldCB2YWx1ZSA9IGNsb25lO1xyXG4gICAgbGV0IGxibCA9IG9ialtwcm9wICsgY3N2SGRyUHJlZml4XTtcclxuICAgIGxldCBvcmRlciA9IG9ialtwcm9wICsgY3N2T3JkUHJlZml4XTtcclxuXHJcbiAgICAvL1NlIHBlciBxdWVzdGEgcHJvcHJpZXTDoCBobyB1biBmb3JtYXRvIGxvIGFwcGxpY29cclxuICAgIGxldCBmb3JtYXQ6IHN0cmluZyA9IG9ialtwcm9wICsgY3N2Rm9ybWF0UHJlZml4XTtcclxuICAgIGxldCB0eXBlOiAnc3RyaW5nJyB8ICdudW1iZXInIHwgJ2RhdGUnID0gXCJzdHJpbmdcIjtcclxuICAgIGlmIChmb3JtYXQgPT0gXCJGXCIpIHtcclxuICAgICAgbGV0IHZhbCA9IHZhbHVlLnRvU3RyaW5nKCk7XHJcbiAgICAgIHZhbCA9IHZhbC5yZXBsYWNlKC8sLywgXCJcIik7XHJcbiAgICAgIHZhbHVlID0gdmFsLnJlcGxhY2UoXCIuXCIsIFwiLFwiKTtcclxuICAgICAgdHlwZSA9IFwibnVtYmVyXCI7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChmb3JtYXQpIHtcclxuICAgICAgdmFsdWUgPSB0aGlzLmRhdGVzLmdldEZvcm1hdHRlZCh2YWx1ZSwgZm9ybWF0Lmxlbmd0aCA8PSAxMCwgZm9ybWF0Lmxlbmd0aCA+IDE2KTtcclxuICAgICAgdHlwZSA9IFwiZGF0ZVwiO1xyXG4gICAgfVxyXG5cclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIHByb3AsIHsgdmFsdWU6IHZhbHVlID8/IFwiXCIsIHdyaXRhYmxlOiBmYWxzZSwgZW51bWVyYWJsZTogdHJ1ZSB9KTtcclxuICAgIGhlYWRlcnMucHVzaCh7IGxhYmVsOiBsYmwgPyBsYmwgOiBwcm9wLCBrZXk6IHByb3AsIG9yZGVyOiBvcmRlciwgdHlwZTogdHlwZSwgcHJvcEtleTogbnVsbCB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHVwIHBlciBsJ2VzcG9ydGF6aW9uZSBkaSB1bmEgbGlzdGEgZGkgdmFsb3JpIHBpdm90dGF0aSBkaW5hbWljYW1lbnRlOlxyXG4gICAqIFxyXG4gICAqID0+IFJlY3VwZXJvIGlsIHZhbG9yZSB1dGlsaXp6YW5kbyBpIG5hdmlnYXRvcmlcclxuICAgKiBcclxuICAgKiA9PiBSZWN1cGVybyBsJ2hlYWRlciB1dGlsaXp6YW5kbyBpIG5hdmlnYXRvcmlcclxuICAgKiBcclxuICAgKiA9PiBDb24gaWwgdmFsb3JlIGNpIGNyZW8gbGEgcHJvcGVydHlcclxuICAgKiBcclxuICAgKiA9PiBDb24gbCdoZWFkZXIgZSBpbCByaWZlcmltZW50byBhbGxhIHByb3BlcnR5IGFwcGVuYSBjcmVhdGEgY3JlbyB1biByZWNvcmQgbmVnbGkgaGVhZGVyIGRhIGVzcG9ydGFyZVxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7YW55fSBvYmogT2dnZXR0byBkaSBjdWkgZXNwb3J0YXJlIGxhIHByb3ByaWV0w6AgKipwcm9wKipcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcCBQcm9wcmlldMOgIGRhIGVzcG9ydGFyZVxyXG4gICAqIEBwYXJhbSB7Q3N2SGVhZGVyc30gaGVhZGVycyBDb250ZW5pdG9yZSBkZWdsaSBoZWFkZXIsIHZlcnLDoCByaWVtcGl0byBkYSBxdWVzdGEgZnVuemlvbmUgXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBwYXJzZUxpc3Qob2JqOiBhbnksIHByb3A6IHN0cmluZywgaGVhZGVyczogQ3N2SGVhZGVyc1tdKSB7XHJcbiAgICBsZXQgaGVhZGVybmF2aWdhdG9yID0gb2JqW3Byb3AgKyBsaXN0Q3N2SGRyUHJlZml4XTtcclxuICAgIGxldCB2YWx1ZW5hdmlnYXRvciA9IG9ialtwcm9wICsgbGlzdENzdlZhbFByZWZpeF07XHJcbiAgICBsZXQgdmFsdWVmb3JtYXQgPSBvYmpbcHJvcCArIGxpc3RDc3ZWYWxGb3JtYXRdO1xyXG4gICAgbGV0IG9yZGVyID0gb2JqW3Byb3AgKyBjc3ZPcmRQcmVmaXhdO1xyXG5cclxuICAgIHZhciBqdW1wczogc3RyaW5nW10sIHRtcFJlczogYW55O1xyXG4gICAgdmFyIG9ianM6IGFueVtdID0gb2JqW3Byb3BdO1xyXG5cclxuICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IG9ianMubGVuZ3RoOyBpZHgrKykge1xyXG4gICAgICBsZXQgbGlzdGl0ZW0gPSBvYmpzW2lkeF07XHJcblxyXG4gICAgICB2YXIgaGVhZGVyc3BsaXQgPSBoZWFkZXJuYXZpZ2F0b3Iuc3BsaXQoXCIgXCIpO1xyXG4gICAgICB2YXIgaGVhZGVyID0gXCJcIjtcclxuXHJcbiAgICAgIC8vIFBlciBsJ2hlYWRlciBzaSBjb25zaWRlcmEgYSBzZSBzdGFudGUgb2duaSBwZXp6byBzZXBhcmF0byBkYSBzcGF6aW8gcGVyIGZhcmUgbGUgY29uY2F0ZW5hemlvbmlcclxuICAgICAgaGVhZGVyc3BsaXQuZm9yRWFjaChwciA9PiB7XHJcbiAgICAgICAganVtcHMgPSBwci5zcGxpdChcIi5cIik7XHJcbiAgICAgICAgdG1wUmVzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShsaXN0aXRlbSkpO1xyXG4gICAgICAgIGp1bXBzLmZvckVhY2gocHAgPT4geyB0bXBSZXMgPSB0bXBSZXNbcHBdOyB9KTtcclxuXHJcbiAgICAgICAgaWYgKCFoZWFkZXIpIGhlYWRlciA9IHRtcFJlcztcclxuICAgICAgICBlbHNlIGhlYWRlciArPSBcIiBcIiArIHRtcFJlcztcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBqdW1wcyA9IHZhbHVlbmF2aWdhdG9yLnNwbGl0KFwiLlwiKTtcclxuICAgICAgdG1wUmVzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShsaXN0aXRlbSkpO1xyXG4gICAgICBqdW1wcy5mb3JFYWNoKHBwID0+IHsgdG1wUmVzID0gdG1wUmVzW3BwXTsgfSk7XHJcbiAgICAgIGxldCB2YWx1ZSA9IHRtcFJlcztcclxuXHJcbiAgICAgIGxldCB0eXBlOiAnc3RyaW5nJyB8ICdudW1iZXInIHwgJ2RhdGUnID0gXCJzdHJpbmdcIjtcclxuICAgICAgaWYgKHZhbHVlZm9ybWF0ID09IFwiRlwiKSB7XHJcbiAgICAgICAgbGV0IHZhbCA9IHZhbHVlICE9IG51bGwgPyB2YWx1ZS50b1N0cmluZygpIDogXCJcIjtcclxuICAgICAgICB2YWwgPSB2YWwucmVwbGFjZSgvLC8sIFwiXCIpO1xyXG4gICAgICAgIHZhbHVlID0gdmFsLnJlcGxhY2UoXCIuXCIsIFwiLFwiKTtcclxuICAgICAgICB0eXBlID0gXCJudW1iZXJcIjtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh2YWx1ZWZvcm1hdCkge1xyXG4gICAgICAgIHZhbHVlID0gdGhpcy5kYXRlcy5nZXRGb3JtYXR0ZWQob2JqW3Byb3BdLCB2YWx1ZWZvcm1hdC5sZW5ndGggPD0gMTAsIHZhbHVlZm9ybWF0Lmxlbmd0aCA+IDE2KTtcclxuICAgICAgICB0eXBlID0gXCJkYXRlXCI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIHByb3AgKyBpZHgsIHsgdmFsdWU6IHZhbHVlID8/IFwiXCIsIHdyaXRhYmxlOiBmYWxzZSB9KTtcclxuICAgICAgaGVhZGVycy5wdXNoKHsgbGFiZWw6IGhlYWRlciwga2V5OiBwcm9wICsgaWR4LCBvcmRlcjogb3JkZXIgKyBpZHgsIHR5cGU6IHR5cGUsIHByb3BLZXk6IG51bGwgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXR1cCBwZXIgbCdlc3BvcnRhemlvbmUgZGkgdW5hIGxpc3RhIGRpIHZhbG9yaSBwaXZvdHRhdGkgZGluYW1pY2FtZW50ZTpcclxuICAgKiBcclxuICAgKiA9PiBSZWN1cGVybyBpbCB2YWxvcmUgdXRpbGl6emFuZG8gaSBuYXZpZ2F0b3JpXHJcbiAgICogXHJcbiAgICogPT4gUmVjdXBlcm8gbCdoZWFkZXIgdXRpbGl6emFuZG8gaSBuYXZpZ2F0b3JpXHJcbiAgICogXHJcbiAgICogPT4gQ29uIGlsIHZhbG9yZSBjaSBjcmVvIGxhIHByb3BlcnR5XHJcbiAgICogXHJcbiAgICogPT4gQ29uIGwnaGVhZGVyIGUgaWwgcmlmZXJpbWVudG8gYWxsYSBwcm9wZXJ0eSBhcHBlbmEgY3JlYXRhIGNyZW8gdW4gcmVjb3JkIG5lZ2xpIGhlYWRlciBkYSBlc3BvcnRhcmVcclxuICAgKiBcclxuICAgKiBAcGFyYW0ge2FueX0gb2JqIE9nZ2V0dG8gZGkgY3VpIGVzcG9ydGFyZSBsYSBwcm9wcmlldMOgICoqcHJvcCoqXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHByb3AgUHJvcHJpZXTDoCBkYSBlc3BvcnRhcmVcclxuICAgKiBAcGFyYW0ge0NzdkhlYWRlcnN9IGhlYWRlcnMgQ29udGVuaXRvcmUgZGVnbGkgaGVhZGVyLCB2ZXJyw6AgcmllbXBpdG8gZGEgcXVlc3RhIGZ1bnppb25lIFxyXG4gICAqL1xyXG4gIHByaXZhdGUgcGFyc2VEaWN0aW9uYXJ5KG9iajogYW55LCBwcm9wOiBzdHJpbmcsIGhlYWRlcnM6IENzdkhlYWRlcnNbXSkge1xyXG4gICAgbGV0IGhlYWRlcm5hdmlnYXRvciA9IG9ialtwcm9wICsgZGljdGlvbmFyeUNzdkhkclByZWZpeF07XHJcbiAgICBsZXQgdmFsdWVuYXZpZ2F0b3IgPSBvYmpbcHJvcCArIGRpY3Rpb25hcnlDc3ZWYWxQcmVmaXhdO1xyXG4gICAgbGV0IG9yZGVyID0gb2JqW3Byb3AgKyBjc3ZPcmRQcmVmaXhdO1xyXG5cclxuICAgIHZhciBqdW1wczogc3RyaW5nW10sIHRtcFJlczogYW55O1xyXG4gICAgdmFyIG9ianM6IGFueVtdID0gb2JqW3Byb3BdO1xyXG5cclxuICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IG9ianMubGVuZ3RoOyBpZHgrKykge1xyXG4gICAgICBsZXQgbGlzdGl0ZW0gPSBvYmpzW2lkeF07XHJcbiAgICAgIHZhciBoZWFkZXJzcGxpdCA9IGhlYWRlcm5hdmlnYXRvci5zcGxpdChcIiBcIik7XHJcbiAgICAgIHZhciBoZWFkZXIgPSBcIlwiO1xyXG5cclxuICAgICAgaGVhZGVyc3BsaXQuZm9yRWFjaChwciA9PiB7XHJcbiAgICAgICAganVtcHMgPSBwci5zcGxpdChcIi5cIik7XHJcbiAgICAgICAgdG1wUmVzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShsaXN0aXRlbSkpO1xyXG4gICAgICAgIGp1bXBzLmZvckVhY2gocHAgPT4geyB0bXBSZXMgPSB0bXBSZXNbcHBdOyB9KTtcclxuXHJcbiAgICAgICAgaWYgKCFoZWFkZXIpIGhlYWRlciA9IHRtcFJlcztcclxuICAgICAgICBlbHNlIGhlYWRlciArPSBcIiBcIiArIHRtcFJlcztcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB2YXIgdmFsdWVzcGxpdCA9IHZhbHVlbmF2aWdhdG9yLnNwbGl0KFwiLFwiKTtcclxuICAgICAgdmFsdWVzcGxpdC5mb3JFYWNoKCh0LCBpZHhpbnRlcm5hbCkgPT4ge1xyXG4gICAgICAgIHZhciBuYXZpZyA9IHQuc3BsaXQoXCItXCIpWzFdO1xyXG4gICAgICAgIHZhciBkZXNjID0gdC5zcGxpdChcIi1cIilbMF07XHJcblxyXG4gICAgICAgIGp1bXBzID0gbmF2aWcuc3BsaXQoXCIuXCIpO1xyXG4gICAgICAgIHRtcFJlcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobGlzdGl0ZW0pKTtcclxuICAgICAgICBqdW1wcy5mb3JFYWNoKHBwID0+IHsgdG1wUmVzID0gdG1wUmVzW3BwXTsgfSk7XHJcbiAgICAgICAgbGV0IHZhbHVlID0gdG1wUmVzO1xyXG5cclxuICAgICAgICBsZXQgcHJvcG5hbWUgPSBwcm9wICsgaWR4LnRvU3RyaW5nKCkgKyBpZHhpbnRlcm5hbC50b1N0cmluZygpO1xyXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIHByb3BuYW1lLCB7IHZhbHVlOiB2YWx1ZSA/PyBcIlwiLCB3cml0YWJsZTogZmFsc2UgfSk7XHJcbiAgICAgICAgaGVhZGVycy5wdXNoKHsgbGFiZWw6IGhlYWRlciArIFwiIFwiICsgZGVzYywga2V5OiBwcm9wbmFtZSwgb3JkZXI6IG9yZGVyICsgaWR4LCB0eXBlOiAnc3RyaW5nJywgcHJvcEtleTogbnVsbCB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gY2hlIHNpIG9jY3VwYSBkZWxsYSBkZXNlcmlhbGl6emF6aW9uZSBkZWdsaSBvZ2dldHRpIGRhIGVzcG9ydGFyZS4gTWVzc28gYSBsaXZlbGxvIGRpIGxpYnJlcmlhIGluIG1vZG8gY2hlIHF1YWxvcmEgY2kgZm9zc2UgZGEgY2FtYmlhcmUgbGlicmVyaWEgXHJcbiAgICogdHV0dGUgbGUgbWFudXRlbnppb25pIHNpYW5vIGNvbmNlbnRyYXRlIHF1aVxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7YW55W119IGl0ZW1zIE9nZ2V0dGkgZGEgZGVzZXJpYWxpenphcmVcclxuICAgKiBAcGFyYW0ge2FueX0gdHlwZSBUaXBvIGRhIHVzYXJlIGNvbWUgcHJvdG90aXBvIHBlciBsYSBkZXNlcmlhbGl6emF6aW9uZVxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIHthbnl9IE9nZ2V0dGkgZGVzZXJpYWxpenphdGlcclxuICAgKi9cclxuICBwdWJsaWMgZGVzZXJpYWxpemVGb3JFeHBvcnQoaXRlbXM6IGFueVtdLCB0eXBlOiBhbnkpOiBhbnkge1xyXG4gICAgcmV0dXJuIERlc2VyaWFsaXplKGl0ZW1zLCB0eXBlKTtcclxuICB9XHJcbn0iXX0=
|
|
@@ -301,9 +301,9 @@ export class HashingService {
|
|
|
301
301
|
return (a + b) & 0xFFFFFFFF;
|
|
302
302
|
}
|
|
303
303
|
}
|
|
304
|
-
HashingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
305
|
-
HashingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
306
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
304
|
+
HashingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HashingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
305
|
+
HashingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HashingService });
|
|
306
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HashingService, decorators: [{
|
|
307
307
|
type: Injectable
|
|
308
308
|
}] });
|
|
309
309
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5oYXNoaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHRlbnNpb25zL3NyYy9saWIvc2VydmljZXMvZXh0ZW5zaW9ucy5oYXNoaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGNBQWM7SUFEM0I7UUFpREk7O1dBRUc7UUFDSyxpQkFBWSxHQUFHO1lBQ25CLFFBQVEsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUk7WUFDN0ksZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLElBQUk7WUFDekksYUFBYSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxJQUFJO1NBQzVHLENBQUM7UUE0TkY7O1dBRUc7UUFDSyxZQUFPLEdBQWEsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBaUM1RDtJQXJURzs7OztPQUlHO0lBQ0ksT0FBTztRQUNWLE9BQU8sc0NBQXNDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRTtZQUMvRCxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLENB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RUFBRSxTQUFTLENBQUMsQ0FBQztRQUM3QyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoRCxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUUvQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0MsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM1QyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEQsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM5QyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM5QyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoRCxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU5QyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3hCLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLElBQUksQ0FBQyxDQUFTO1FBQ2xCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUU5RSxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTlELENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN4QixJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVELEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMzQixLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUU7Z0JBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4QztRQUNELElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssTUFBTSxDQUFDLENBQUM7UUFDWixJQUFJLE9BQU8sR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMvSCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBT0Q7Ozs7T0FJRztJQUNLLElBQUksQ0FBQyxDQUFDO1FBQ1YsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNiLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN2RixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssR0FBRyxDQUFDLENBQUM7UUFDVCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUU7WUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2QsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDaEMsQ0FBQzs7MkdBdFRRLGNBQWM7K0dBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlIGNoZSBmb3JuaXNjZSBhbGN1bmkgc2VtcGxpY2kgZnVuemlvbmkgZGkgSGFzaGluZyAvIEdVSUQgLyBlY2MuLi5cclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEhhc2hpbmdTZXJ2aWNlIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdlbmVyYXppb25lIGRpIHVuIEdVSUQgcHNldWRvLXVuaXZvY29cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge3N0cmluZ30gaWwgR1VJRCBnZW5lcmF0b1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0R1VJRCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBcInh4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eFwiLnJlcGxhY2UoL1t4eV0vZywgYyA9PiB7XHJcbiAgICAgICAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSAqIDE2IHwgMCwgdiA9IGMgPT0gXCJ4XCIgPyByIDogKHIgJiAweDMgfCAweDgpO1xyXG4gICAgICAgICAgICByZXR1cm4gdi50b1N0cmluZygxNik7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxjb2xvIGRlbGwnaGFzaCBzdSB1biBvZ2dldHRvXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7YW55fSBvIE9nZ2V0dG8gZGkgY3VpIGNhbGNvbGFyZSBsJ2hhc2hcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBsZXZlbCBMaXZlbGxvIGRpIHJpY29yc2lvbmUgbmVsIGNhc28gdmVuZ2EgZWZmZXR0dWF0byBsJ2hhc2ggZGkgdW4gb2dnZXR0byBjaGUgY29udGllbmUgYWx0cmkgb2dnZXR0aVxyXG4gICAgICogQHBhcmFtIHtib29sZWFufSBuYXZpZ2F0ZUZ1bGxEZXB0aCBJbmRpY2Egc2UgbmF2aWdhcmUgbCdvZ2dldHRvIHBlciBsJ2ludGVyYSBsdW5naGV6emEuIEluIGNhc28gY29udHJhcmlvIHNpIGZlcm1hIGFsIHNlY29uZG8gbGl2ZWxsb1xyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBIYXNoIGdlbmVyYXRvIHBlciBsJ29nZ2V0dG8gaW4gcXVlc3Rpb25lXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBoYXNoT2JqZWN0KG86IGFueSwgbGV2ZWw6IG51bWJlciA9IDAsIG5hdmlnYXRlRnVsbERlcHRoOiBib29sZWFuID0gZmFsc2UsIHByZWNpc2U6IGJvb2xlYW4gPSBmYWxzZSk6IHN0cmluZyB7XHJcbiAgICAgICAgdmFyIHN0ckRlZiA9IHRoaXMuc3RyaW5naWZ5KG8sIGxldmVsLCBuYXZpZ2F0ZUZ1bGxEZXB0aCk7XHJcbiAgICAgICAgdmFyIGhhc2g6IHN0cmluZyA9IHByZWNpc2UgPyB0aGlzLm1kNShzdHJEZWYpIDogdGhpcy5zaW1wbGVIYXNoKHN0ckRlZik7XHJcbiAgICAgICAgcmV0dXJuIGhhc2g7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIYXNoIHBpw7kgc2VtcGxpY2UgZSBwacO5IHZlbG9jZSBkZWxsJ21kNSwgbWEgbWVubyBzaWN1cm9cclxuICAgICAqIFxyXG4gICAgICogVmVkaSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy83NjE2NDYxL2dlbmVyYXRlLWEtaGFzaC1mcm9tLXN0cmluZy1pbi1qYXZhc2NyaXB0XHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHN0ciBTdHJpbmdhIGRpIGN1aSBjYWxjb2xhcmUgbCdoYXNoXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgc2ltcGxlSGFzaChzdHI6IHN0cmluZywgc2VlZCA9IDApOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBoMSA9IDB4ZGVhZGJlZWYgXiBzZWVkLCBoMiA9IDB4NDFjNmNlNTcgXiBzZWVkO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBjaDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjaCA9IHN0ci5jaGFyQ29kZUF0KGkpO1xyXG4gICAgICAgICAgICBoMSA9IE1hdGguaW11bChoMSBeIGNoLCAyNjU0NDM1NzYxKTtcclxuICAgICAgICAgICAgaDIgPSBNYXRoLmltdWwoaDIgXiBjaCwgMTU5NzMzNDY3Nyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgxID0gTWF0aC5pbXVsKGgxIF4gKGgxPj4+MTYpLCAyMjQ2ODIyNTA3KSBeIE1hdGguaW11bChoMiBeIChoMj4+PjEzKSwgMzI2NjQ4OTkwOSk7XHJcbiAgICAgICAgaDIgPSBNYXRoLmltdWwoaDIgXiAoaDI+Pj4xNiksIDIyNDY4MjI1MDcpIF4gTWF0aC5pbXVsKGgxIF4gKGgxPj4+MTMpLCAzMjY2NDg5OTA5KTtcclxuICAgICAgICByZXR1cm4gKDQyOTQ5NjcyOTYgKiAoMjA5NzE1MSAmIGgyKSArIChoMT4+PjApKS50b1N0cmluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQmxhY2tsaXN0IGRlaSB0aXBpIGRhIGlnbm9yYXJlIHF1YW5kbyBzaSBlZmZldHR1YSBsJ2hhc2hpbmcgZGVnbGkgb2dnZXR0aVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIG9iakJsYWNrbGlzdCA9IHtcclxuICAgICAgICBcIk5nRm9ybVwiOiB0cnVlLCBcIkVsZW1lbnRSZWZcIjogdHJ1ZSwgXCJFeHRlbnNpb25zU2VydmljZVwiOiB0cnVlLCBcIlRvYXN0clNlcnZpY2VcIjogdHJ1ZSwgXCJMb2NhbGVTZXJ2aWNlXCI6IHRydWUsIFwiQXBwU3RhdGVcIjogdHJ1ZSwgXCJSb3V0ZXJcIjogdHJ1ZSxcclxuICAgICAgICBcIkFjdGl2YXRlZFJvdXRlXCI6IHRydWUsIFwiSFRUUFNlcnZpY2VcIjogdHJ1ZSwgXCJMb2NhdGlvblwiOiB0cnVlLCBcIkNhbnZhc0NvbXBvbmVudFwiOiB0cnVlLCBcIk1vZGFsRGlyZWN0aXZlXCI6IHRydWUsIFwiQ2hhbmdlRGV0ZWN0b3JSZWZcIjogdHJ1ZSxcclxuICAgICAgICBcIkRhdGVTZXJ2aWNlXCI6IHRydWUsIFwiRXZlbnRFbWl0dGVyXCI6IHRydWUsIFwiVmlld1JlZl9cIjogdHJ1ZSwgXCJTdWJzY3JpYmVyXCI6IHRydWUsIFwiSXRlbUxvY2FsaXphdGlvblwiOiB0cnVlXHJcbiAgICB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2VuZXJhIHVuYSBzdHJpbmdhIGNoZSBpZGVudGlmaWNhIHVuaXZvY2FtZW50ZSBsJ29nZ2V0dG8gaW4gcXVlc3Rpb25lXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7YW55fSBvIE9nZ2V0dG8gZGkgY3VpIGNhbGNvbGFyZSBsYSBzdHJpbmdhIHVuaXZvY2FcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBsZXZlbCBMaXZlbGxvIGRpIHJpY29yc2lvbmUgbmVsIGNhc28gdmVuZ2EgZWZmZXR0dWF0byBsJ2hhc2ggZGkgdW4gb2dnZXR0byBjaGUgY29udGllbmUgYWx0cmkgb2dnZXR0aVxyXG4gICAgICogQHBhcmFtIHtib29sZWFufSBuYXZpZ2F0ZUZ1bGxEZXB0aCBJbmRpY2Egc2UgbmF2aWdhcmUgbCdvZ2dldHRvIHBlciBsJ2ludGVyYSBsdW5naGV6emEuIEluIGNhc28gY29udHJhcmlvIHNpIGZlcm1hIGFsIHNlY29uZG8gbGl2ZWxsb1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHN0cmluZ2lmeShvOiBhbnksIGxldmVsOiBudW1iZXIsIG5hdmlnYXRlRnVsbERlcHRoOiBib29sZWFuKSB7XHJcbiAgICAgICAgdmFyIGk6IGFueSwgcjogYW55O1xyXG4gICAgICAgIGlmIChvID09PSBudWxsKSByZXR1cm4gXCJuXCI7XHJcbiAgICAgICAgaWYgKG8gPT09IHRydWUpIHJldHVybiBcInRcIjtcclxuICAgICAgICBpZiAobyA9PT0gZmFsc2UpIHJldHVybiBcImZcIjtcclxuICAgICAgICBpZiAobyBpbnN0YW5jZW9mIERhdGUpIHJldHVybiAnZDonKyBvLnZhbHVlT2YoKS50b1N0cmluZygpO1xyXG4gICAgICAgIGkgPSB0eXBlb2YgbztcclxuICAgICAgICBpZiAoaSA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIFwiczpcIiArIG87XHJcbiAgICAgICAgaWYgKGkgPT09IFwibnVtYmVyXCIpIHJldHVybiBcIm46XCIgKyBvO1xyXG4gICAgICAgIGlmIChvIGluc3RhbmNlb2YgRnVuY3Rpb24pIHJldHVybiBcIm06XCIgKyBvLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgaWYgKG8gaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAgICAgICByID0gW107XHJcbiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBvLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgcmVzID0gdGhpcy5zdHJpbmdpZnkob1tpXSwgbGV2ZWwsIG5hdmlnYXRlRnVsbERlcHRoKTtcclxuICAgICAgICAgICAgICAgIGlmIChyZXMpIHIucHVzaChyZXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiByLmxlbmd0aCA+IDAgPyBcImE6XCIgKyByLmpvaW4oXCI7XCIpIDogXCJcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgciA9IFtdO1xyXG5cclxuICAgICAgICAvL1NlIMOoIG9nZ2V0dG8sIGVzY2x1ZG8gdHV0dGkgcXVlbGxpIGRpIHNpc3RlbWEvaW51dGlsaVxyXG4gICAgICAgIGlmIChvKSB7XHJcbiAgICAgICAgICAgIHZhciBuYW1lID0gby5fX3Byb3RvX18uY29uc3RydWN0b3IubmFtZTtcclxuXHJcbiAgICAgICAgICAgIGlmICghdGhpcy5vYmpCbGFja2xpc3RbbmFtZV0pIHtcclxuICAgICAgICAgICAgICAgIGZvciAoaSBpbiBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG8uaGFzT3duUHJvcGVydHkoaSkgJiYgKGxldmVsIDw9IDIgfHwgbmF2aWdhdGVGdWxsRGVwdGgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCByZXMgPSB0aGlzLnN0cmluZ2lmeShvW2ldLCBsZXZlbCArIDEsIG5hdmlnYXRlRnVsbERlcHRoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcykgci5wdXNoKGkgKyBcIjpcIiArIHJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByLmxlbmd0aCA+IDAgPyBcIm86XCIgKyByLmpvaW4oXCI7XCIpIDogXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERhdGEgdW5hIHN0cmluZ2EgcmVzdGl0dWlzY2UgbCdtZDVcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHMgU3RyaW5nYSBkaSBjdWkgY2FsY29sYXJlIGwnbWQ1XHJcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBtZDUgZGVsbGEgc3RyaW5nYSAqKnMqKlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbWQ1KHM6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGV4KHRoaXMubWQ1MShzKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKiBcclxuICAgICAqIE1ldG9kbyBkaSB1dGlsaXTDoCBwZXIgaWwgY2FsY29sbyBkZWxsJ21kNVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIG1kNWN5Y2xlKHgsIGspIHtcclxuICAgICAgICB2YXIgYSA9IHhbMF0sIGIgPSB4WzFdLCBjID0geFsyXSwgZCA9IHhbM107XHJcblxyXG4gICAgICAgIGEgPSB0aGlzLmZmKGEsIGIsIGMsIGQsIGtbMF0sIDcsIC02ODA4NzY5MzYpO1xyXG4gICAgICAgIGQgPSB0aGlzLmZmKGQsIGEsIGIsIGMsIGtbMV0sIDEyLCAtMzg5NTY0NTg2KTtcclxuICAgICAgICBjID0gdGhpcy5mZihjLCBkLCBhLCBiLCBrWzJdLCAxNywgNjA2MTA1ODE5KTtcclxuICAgICAgICBiID0gdGhpcy5mZihiLCBjLCBkLCBhLCBrWzNdLCAyMiwgLTEwNDQ1MjUzMzApO1xyXG4gICAgICAgIGEgPSB0aGlzLmZmKGEsIGIsIGMsIGQsIGtbNF0sIDcsIC0xNzY0MTg4OTcpO1xyXG4gICAgICAgIGQgPSB0aGlzLmZmKGQsIGEsIGIsIGMsIGtbNV0sIDEyLCAxMjAwMDgwNDI2KTtcclxuICAgICAgICBjID0gdGhpcy5mZihjLCBkLCBhLCBiLCBrWzZdLCAxNywgLTE0NzMyMzEzNDEpO1xyXG4gICAgICAgIGIgPSB0aGlzLmZmKGIsIGMsIGQsIGEsIGtbN10sIDIyLCAtNDU3MDU5ODMpO1xyXG4gICAgICAgIGEgPSB0aGlzLmZmKGEsIGIsIGMsIGQsIGtbOF0sIDcsIDE3NzAwMzU0MTYpO1xyXG4gICAgICAgIGQgPSB0aGlzLmZmKGQsIGEsIGIsIGMsIGtbOV0sIDEyLCAtMTk1ODQxNDQxNyk7XHJcbiAgICAgICAgYyA9IHRoaXMuZmYoYywgZCwgYSwgYiwga1sxMF0sIDE3LCAtNDIwNjMpO1xyXG4gICAgICAgIGIgPSB0aGlzLmZmKGIsIGMsIGQsIGEsIGtbMTFdLCAyMiwgLTE5OTA0MDQxNjIpO1xyXG4gICAgICAgIGEgPSB0aGlzLmZmKGEsIGIsIGMsIGQsIGtbMTJdLCA3LCAxODA0NjAzNjgyKTtcclxuICAgICAgICBkID0gdGhpcy5mZihkLCBhLCBiLCBjLCBrWzEzXSwgMTIsIC00MDM0MTEwMSk7XHJcbiAgICAgICAgYyA9IHRoaXMuZmYoYywgZCwgYSwgYiwga1sxNF0sIDE3LCAtMTUwMjAwMjI5MCk7XHJcbiAgICAgICAgYiA9IHRoaXMuZmYoYiwgYywgZCwgYSwga1sxNV0sIDIyLCAxMjM2NTM1MzI5KTtcclxuXHJcbiAgICAgICAgYSA9IHRoaXMuZ2coYSwgYiwgYywgZCwga1sxXSwgNSwgLTE2NTc5NjUxMCk7XHJcbiAgICAgICAgZCA9IHRoaXMuZ2coZCwgYSwgYiwgYywga1s2XSwgOSwgLTEwNjk1MDE2MzIpO1xyXG4gICAgICAgIGMgPSB0aGlzLmdnKGMsIGQsIGEsIGIsIGtbMTFdLCAxNCwgNjQzNzE3NzEzKTtcclxuICAgICAgICBiID0gdGhpcy5nZyhiLCBjLCBkLCBhLCBrWzBdLCAyMCwgLTM3Mzg5NzMwMik7XHJcbiAgICAgICAgYSA9IHRoaXMuZ2coYSwgYiwgYywgZCwga1s1XSwgNSwgLTcwMTU1ODY5MSk7XHJcbiAgICAgICAgZCA9IHRoaXMuZ2coZCwgYSwgYiwgYywga1sxMF0sIDksIDM4MDE2MDgzKTtcclxuICAgICAgICBjID0gdGhpcy5nZyhjLCBkLCBhLCBiLCBrWzE1XSwgMTQsIC02NjA0NzgzMzUpO1xyXG4gICAgICAgIGIgPSB0aGlzLmdnKGIsIGMsIGQsIGEsIGtbNF0sIDIwLCAtNDA1NTM3ODQ4KTtcclxuICAgICAgICBhID0gdGhpcy5nZyhhLCBiLCBjLCBkLCBrWzldLCA1LCA1Njg0NDY0MzgpO1xyXG4gICAgICAgIGQgPSB0aGlzLmdnKGQsIGEsIGIsIGMsIGtbMTRdLCA5LCAtMTAxOTgwMzY5MCk7XHJcbiAgICAgICAgYyA9IHRoaXMuZ2coYywgZCwgYSwgYiwga1szXSwgMTQsIC0xODczNjM5NjEpO1xyXG4gICAgICAgIGIgPSB0aGlzLmdnKGIsIGMsIGQsIGEsIGtbOF0sIDIwLCAxMTYzNTMxNTAxKTtcclxuICAgICAgICBhID0gdGhpcy5nZyhhLCBiLCBjLCBkLCBrWzEzXSwgNSwgLTE0NDQ2ODE0NjcpO1xyXG4gICAgICAgIGQgPSB0aGlzLmdnKGQsIGEsIGIsIGMsIGtbMl0sIDksIC01MTQwMzc4NCk7XHJcbiAgICAgICAgYyA9IHRoaXMuZ2coYywgZCwgYSwgYiwga1s3XSwgMTQsIDE3MzUzMjg0NzMpO1xyXG4gICAgICAgIGIgPSB0aGlzLmdnKGIsIGMsIGQsIGEsIGtbMTJdLCAyMCwgLTE5MjY2MDc3MzQpO1xyXG5cclxuICAgICAgICBhID0gdGhpcy5oaChhLCBiLCBjLCBkLCBrWzVdLCA0LCAtMzc4NTU4KTtcclxuICAgICAgICBkID0gdGhpcy5oaChkLCBhLCBiLCBjLCBrWzhdLCAxMSwgLTIwMjI1NzQ0NjMpO1xyXG4gICAgICAgIGMgPSB0aGlzLmhoKGMsIGQsIGEsIGIsIGtbMTFdLCAxNiwgMTgzOTAzMDU2Mik7XHJcbiAgICAgICAgYiA9IHRoaXMuaGgoYiwgYywgZCwgYSwga1sxNF0sIDIzLCAtMzUzMDk1NTYpO1xyXG4gICAgICAgIGEgPSB0aGlzLmhoKGEsIGIsIGMsIGQsIGtbMV0sIDQsIC0xNTMwOTkyMDYwKTtcclxuICAgICAgICBkID0gdGhpcy5oaChkLCBhLCBiLCBjLCBrWzRdLCAxMSwgMTI3Mjg5MzM1Myk7XHJcbiAgICAgICAgYyA9IHRoaXMuaGgoYywgZCwgYSwgYiwga1s3XSwgMTYsIC0xNTU0OTc2MzIpO1xyXG4gICAgICAgIGIgPSB0aGlzLmhoKGIsIGMsIGQsIGEsIGtbMTBdLCAyMywgLTEwOTQ3MzA2NDApO1xyXG4gICAgICAgIGEgPSB0aGlzLmhoKGEsIGIsIGMsIGQsIGtbMTNdLCA0LCA2ODEyNzkxNzQpO1xyXG4gICAgICAgIGQgPSB0aGlzLmhoKGQsIGEsIGIsIGMsIGtbMF0sIDExLCAtMzU4NTM3MjIyKTtcclxuICAgICAgICBjID0gdGhpcy5oaChjLCBkLCBhLCBiLCBrWzNdLCAxNiwgLTcyMjUyMTk3OSk7XHJcbiAgICAgICAgYiA9IHRoaXMuaGgoYiwgYywgZCwgYSwga1s2XSwgMjMsIDc2MDI5MTg5KTtcclxuICAgICAgICBhID0gdGhpcy5oaChhLCBiLCBjLCBkLCBrWzldLCA0LCAtNjQwMzY0NDg3KTtcclxuICAgICAgICBkID0gdGhpcy5oaChkLCBhLCBiLCBjLCBrWzEyXSwgMTEsIC00MjE4MTU4MzUpO1xyXG4gICAgICAgIGMgPSB0aGlzLmhoKGMsIGQsIGEsIGIsIGtbMTVdLCAxNiwgNTMwNzQyNTIwKTtcclxuICAgICAgICBiID0gdGhpcy5oaChiLCBjLCBkLCBhLCBrWzJdLCAyMywgLTk5NTMzODY1MSk7XHJcblxyXG4gICAgICAgIGEgPSB0aGlzLmlpKGEsIGIsIGMsIGQsIGtbMF0sIDYsIC0xOTg2MzA4NDQpO1xyXG4gICAgICAgIGQgPSB0aGlzLmlpKGQsIGEsIGIsIGMsIGtbN10sIDEwLCAxMTI2ODkxNDE1KTtcclxuICAgICAgICBjID0gdGhpcy5paShjLCBkLCBhLCBiLCBrWzE0XSwgMTUsIC0xNDE2MzU0OTA1KTtcclxuICAgICAgICBiID0gdGhpcy5paShiLCBjLCBkLCBhLCBrWzVdLCAyMSwgLTU3NDM0MDU1KTtcclxuICAgICAgICBhID0gdGhpcy5paShhLCBiLCBjLCBkLCBrWzEyXSwgNiwgMTcwMDQ4NTU3MSk7XHJcbiAgICAgICAgZCA9IHRoaXMuaWkoZCwgYSwgYiwgYywga1szXSwgMTAsIC0xODk0OTg2NjA2KTtcclxuICAgICAgICBjID0gdGhpcy5paShjLCBkLCBhLCBiLCBrWzEwXSwgMTUsIC0xMDUxNTIzKTtcclxuICAgICAgICBiID0gdGhpcy5paShiLCBjLCBkLCBhLCBrWzFdLCAyMSwgLTIwNTQ5MjI3OTkpO1xyXG4gICAgICAgIGEgPSB0aGlzLmlpKGEsIGIsIGMsIGQsIGtbOF0sIDYsIDE4NzMzMTMzNTkpO1xyXG4gICAgICAgIGQgPSB0aGlzLmlpKGQsIGEsIGIsIGMsIGtbMTVdLCAxMCwgLTMwNjExNzQ0KTtcclxuICAgICAgICBjID0gdGhpcy5paShjLCBkLCBhLCBiLCBrWzZdLCAxNSwgLTE1NjAxOTgzODApO1xyXG4gICAgICAgIGIgPSB0aGlzLmlpKGIsIGMsIGQsIGEsIGtbMTNdLCAyMSwgMTMwOTE1MTY0OSk7XHJcbiAgICAgICAgYSA9IHRoaXMuaWkoYSwgYiwgYywgZCwga1s0XSwgNiwgLTE0NTUyMzA3MCk7XHJcbiAgICAgICAgZCA9IHRoaXMuaWkoZCwgYSwgYiwgYywga1sxMV0sIDEwLCAtMTEyMDIxMDM3OSk7XHJcbiAgICAgICAgYyA9IHRoaXMuaWkoYywgZCwgYSwgYiwga1syXSwgMTUsIDcxODc4NzI1OSk7XHJcbiAgICAgICAgYiA9IHRoaXMuaWkoYiwgYywgZCwgYSwga1s5XSwgMjEsIC0zNDM0ODU1NTEpO1xyXG5cclxuICAgICAgICB4WzBdID0gdGhpcy5hZGQzMihhLCB4WzBdKTtcclxuICAgICAgICB4WzFdID0gdGhpcy5hZGQzMihiLCB4WzFdKTtcclxuICAgICAgICB4WzJdID0gdGhpcy5hZGQzMihjLCB4WzJdKTtcclxuICAgICAgICB4WzNdID0gdGhpcy5hZGQzMihkLCB4WzNdKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqIFxyXG4gICAgICogTWV0b2RvIGRpIHV0aWxpdMOgIHBlciBpbCBjYWxjb2xvIGRlbGwnbWQ1XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgY21uKHEsIGEsIGIsIHgsIHMsIHQpIHtcclxuICAgICAgICBhID0gdGhpcy5hZGQzMih0aGlzLmFkZDMyKGEsIHEpLCB0aGlzLmFkZDMyKHgsIHQpKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5hZGQzMigoYSA8PCBzKSB8IChhID4+PiAoMzIgLSBzKSksIGIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICogXHJcbiAgICAgKiBNZXRvZG8gZGkgdXRpbGl0w6AgcGVyIGlsIGNhbGNvbG8gZGVsbCdtZDVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBmZihhLCBiLCBjLCBkLCB4LCBzLCB0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY21uKChiICYgYykgfCAoKH5iKSAmIGQpLCBhLCBiLCB4LCBzLCB0KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqIFxyXG4gICAgICogTWV0b2RvIGRpIHV0aWxpdMOgIHBlciBpbCBjYWxjb2xvIGRlbGwnbWQ1XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2coYSwgYiwgYywgZCwgeCwgcywgdCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNtbigoYiAmIGQpIHwgKGMgJiAofmQpKSwgYSwgYiwgeCwgcywgdCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKiBcclxuICAgICAqIE1ldG9kbyBkaSB1dGlsaXTDoCBwZXIgaWwgY2FsY29sbyBkZWxsJ21kNVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGhoKGEsIGIsIGMsIGQsIHgsIHMsIHQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jbW4oYiBeIGMgXiBkLCBhLCBiLCB4LCBzLCB0KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqIFxyXG4gICAgICogTWV0b2RvIGRpIHV0aWxpdMOgIHBlciBpbCBjYWxjb2xvIGRlbGwnbWQ1XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgaWkoYSwgYiwgYywgZCwgeCwgcywgdCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNtbihjIF4gKGIgfCAofmQpKSwgYSwgYiwgeCwgcywgdCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKiBcclxuICAgICAqIE1ldG9kbyBkaSB1dGlsaXTDoCBwZXIgaWwgY2FsY29sbyBkZWxsJ21kNVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIG1kNTEoczogc3RyaW5nKSB7XHJcbiAgICAgICAgdmFyIG4gPSBzLmxlbmd0aCwgc3RhdGUgPSBbMTczMjU4NDE5MywgLTI3MTczMzg3OSwgLTE3MzI1ODQxOTQsIDI3MTczMzg3OF0sIGk7XHJcblxyXG4gICAgICAgIGZvciAoaSA9IDY0OyBpIDw9IHMubGVuZ3RoOyBpICs9IDY0KVxyXG4gICAgICAgICAgICB0aGlzLm1kNWN5Y2xlKHN0YXRlLCB0aGlzLm1kNWJsayhzLnN1YnN0cmluZyhpIC0gNjQsIGkpKSk7XHJcblxyXG4gICAgICAgIHMgPSBzLnN1YnN0cmluZyhpIC0gNjQpO1xyXG4gICAgICAgIHZhciB0YWlsID0gWzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDBdO1xyXG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCBzLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgICAgICB0YWlsW2kgPj4gMl0gfD0gcy5jaGFyQ29kZUF0KGkpIDw8ICgoaSAlIDQpIDw8IDMpO1xyXG4gICAgICAgIHRhaWxbaSA+PiAyXSB8PSAweDgwIDw8ICgoaSAlIDQpIDw8IDMpO1xyXG4gICAgICAgIGlmIChpID4gNTUpIHtcclxuICAgICAgICAgICAgdGhpcy5tZDVjeWNsZShzdGF0ZSwgdGFpbCk7XHJcbiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCAxNjsgaSsrKSB0YWlsW2ldID0gMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGFpbFsxNF0gPSBuICogODtcclxuICAgICAgICB0aGlzLm1kNWN5Y2xlKHN0YXRlLCB0YWlsKTtcclxuICAgICAgICByZXR1cm4gc3RhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKiBcclxuICAgICAqIE1ldG9kbyBkaSB1dGlsaXTDoCBwZXIgaWwgY2FsY29sbyBkZWxsJ21kNVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIG1kNWJsayhzKSB7XHJcbiAgICAgICAgdmFyIG1kNWJsa3MgPSBbXSwgaTtcclxuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgNjQ7IGkgKz0gNClcclxuICAgICAgICAgICAgbWQ1Ymxrc1tpID4+IDJdID0gcy5jaGFyQ29kZUF0KGkpICsgKHMuY2hhckNvZGVBdChpICsgMSkgPDwgOCkgKyAocy5jaGFyQ29kZUF0KGkgKyAyKSA8PCAxNikgKyAocy5jaGFyQ29kZUF0KGkgKyAzKSA8PCAyNCk7XHJcbiAgICAgICAgcmV0dXJuIG1kNWJsa3M7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBcnJheSBkZWkgcG9zc2liaWxpIHZhbG9yaSBkaSB1biBzaW1ib2xvIGVzYWRlY2ltYWxlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgaGV4X2Nocjogc3RyaW5nW10gPSAnMDEyMzQ1Njc4OWFiY2RlZicuc3BsaXQoJycpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICogXHJcbiAgICAgKiBNZXRvZG8gZGkgdXRpbGl0w6AgcGVyIGlsIGNhbGNvbG8gZGVsbCdtZDVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSByaGV4KG4pIHtcclxuICAgICAgICB2YXIgcyA9ICcnLCBqID0gMDtcclxuICAgICAgICBmb3IgKDsgaiA8IDQ7IGorKylcclxuICAgICAgICAgICAgcyArPSB0aGlzLmhleF9jaHJbKG4gPj4gKGogKiA4ICsgNCkpICYgMHgwRl0gKyB0aGlzLmhleF9jaHJbKG4gPj4gKGogKiA4KSkgJiAweDBGXTtcclxuICAgICAgICByZXR1cm4gcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqIFxyXG4gICAgICogTWV0b2RvIGRpIHV0aWxpdMOgIHBlciBpbCBjYWxjb2xvIGRlbGwnbWQ1XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgaGV4KHgpIHtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHgubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgICAgIHhbaV0gPSB0aGlzLnJoZXgoeFtpXSk7XHJcbiAgICAgICAgcmV0dXJuIHguam9pbignJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKiBcclxuICAgICAqIE1ldG9kbyBkaSB1dGlsaXTDoCBwZXIgaWwgY2FsY29sbyBkZWxsJ21kNVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGFkZDMyKGEsIGIpIHtcclxuICAgICAgICByZXR1cm4gKGEgKyBiKSAmIDB4RkZGRkZGRkY7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -45,9 +45,9 @@ export class InterComService {
|
|
|
45
45
|
this.outbounds[key] = new Subject();
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
-
InterComService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
49
|
-
InterComService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
48
|
+
InterComService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: InterComService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
49
|
+
InterComService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: InterComService });
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: InterComService, decorators: [{
|
|
51
51
|
type: Injectable
|
|
52
52
|
}] });
|
|
53
53
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5pbnRlcmNvbS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh0ZW5zaW9ucy9zcmMvbGliL3NlcnZpY2VzL2V4dGVuc2lvbnMuaW50ZXJjb20uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxXQUFXO0FBQ1gsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixVQUFVO0FBQ1YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUU1RCx5R0FBeUc7QUFFekcsTUFBTSxPQUFPLGVBQWU7SUFENUI7UUFHSSwyRkFBMkY7UUFDcEYsY0FBUyxHQUErQyxFQUFFLENBQUM7UUFDbEUsNkRBQTZEO1FBQ3RELGFBQVEsR0FBNkIsSUFBSSxPQUFPLEVBQW1CLENBQUM7S0FtQzlFO0lBakNHOzs7Ozs7T0FNRztJQUNJLElBQUksQ0FBQyxXQUFnQixFQUFFLE9BQVksRUFBRSxTQUFrQjtRQUMxRCxJQUFJLEdBQUcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFcEQsc0lBQXNJO1FBQ3RJLG1IQUFtSDtRQUNuSCxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDM0I7YUFDSTtZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztnQkFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyx3RkFBd0YsR0FBRyxTQUFTLEdBQUcsMEZBQTBGLENBQUMsQ0FBQzs7Z0JBRWhOLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1NBQzFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxRQUFRLENBQUMsR0FBVztRQUN2QixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ25CLE1BQU0sMkZBQTJGLENBQUM7UUFDdEcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLE9BQU8sRUFBbUIsQ0FBQztJQUN6RCxDQUFDOzs0R0F2Q1EsZUFBZTtnSEFBZixlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gTGlicmVyaWVcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG4vLyBNb2RlbGxpXHJcbmltcG9ydCB7IEludGVyQ29tTWVzc2FnZSB9IGZyb20gXCIuLi9tb2RlbHMvSW50ZXJDb21NZXNzYWdlXCI7XHJcblxyXG4vKiogU2VydmljZSBjaGUgc2kgb2NjdXBhIGRpIGdlc3RpcmUgbGEgY29tdW5pY2F6aW9uZSBmcmEgaSBtb2R1bGkgaW50ZXJuaSBlZCBlc3Rlcm5pIGRlbGwnYXBwbGljYXRpdm8gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSW50ZXJDb21TZXJ2aWNlIHtcclxuXHJcbiAgICAvKiogTWVzc2FnZ2kgaW4gdXNjaXRhLCB1bm8gcGVyIG9nbmkgcmVjaXBpZW50IHJlZ2lzdHJhdG9zaSBkYWxsJ2VudHJ5cG9pbnQgKipyZWdpc3RlcioqICovXHJcbiAgICBwdWJsaWMgb3V0Ym91bmRzOiB7IFtpZDogc3RyaW5nXTogU3ViamVjdDxJbnRlckNvbU1lc3NhZ2U+IH0gPSB7fTtcclxuICAgIC8qKiBNZXNzYWdnaSBpbiBlbnRyYXRhLCB1bmljbyBwZXIgYXBwbGljYXppb25lIHByaW5jaXBhbGUgKi9cclxuICAgIHB1YmxpYyBpbmJvdW5kczogU3ViamVjdDxJbnRlckNvbU1lc3NhZ2U+ID0gbmV3IFN1YmplY3Q8SW50ZXJDb21NZXNzYWdlPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWV0b2RvIGNoZSBwZXJtZXR0ZSBkaSBpbnZpYXJlIHVuIG1lc3NhZ2dpbyBkYWxsJ2FwcGxpY2F6aW9uZSBhZCB1biBtb2R1bG8gZXN0ZXJubyBvIHZpY2V2ZXJzYVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge2FueX0gbWVzc2FnZVR5cGUgVGlwb2xvZ2lhIGRpIG1lc3NhZ2dpby4gU2Fyw6AgZGkgdGlwbyAqKkluYm91bmRNZXNzYWdlVHlwZXMqKiBwZXIgdHV0dGkgaSBtZXNzYWdnaSBpbmJvdW5kLCBkaW5hbWljbyBwZXIgdHV0dGkgaSBtZXNhZ2dpIG91dGJvdW5kIChpbCB0aXBvIGRpcGVuZGVyw6AgZGFnbGkgZW51bSBkZWkgbWVzc2FnZ2kgZGVpIG1vZHVsaSBlc3Rlcm5pKVxyXG4gICAgICogQHBhcmFtIHthbnl9IG1lc3NhZ2UgTWVzc2FnZ2lvIGRhIGludmlhcmUgY2hlIHB1w7IgZXNzZXJlIHVuIGR0byBpbiBjYXNpIGNvbXBsZXNzaSBtYSBkb3Zyw6AgZXNzZXJlIGdlc3RpdG8gYSBkb3ZlcmUgbGF0byBpbXBsZW1lbnRhdGl2b1xyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHJlY2lwaWVudCBEZXN0aW5hdGFyaW8gZGVsIG1lc3NhZ2dpby4gUGVyIGkgbWVzc2FnZ2kgaW5ib3VuZCBkZXYnZXNzZXJlIGxhc2NpYXRvIHZ1b3RvLCBwZXIgaSBtZXNzYWdnaSBvdXRib3VuZCBzYXLDoCB2YWxvcml6emF0byBhbGxhIGNoaWF2ZSBkZWwgbW9kdWxvIGEgY3VpIHNpIHZ1b2xlIGludmlhcmUgaWwgbWVzc2FnZ2lvXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZW5kKG1lc3NhZ2VUeXBlOiBhbnksIG1lc3NhZ2U6IGFueSwgcmVjaXBpZW50Pzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgbGV0IG1zZyA9IG5ldyBJbnRlckNvbU1lc3NhZ2UobWVzc2FnZVR5cGUsIG1lc3NhZ2UpO1xyXG5cclxuICAgICAgICAvLyBTZSBub24gYyfDqCB1biByZWNpcGllbnQgc2lnbmlmaWNhIGNoZSDDqCB1biBtb2R1bG8gZXN0ZXJubyBjaGUgaW52aWEgbWVzc2FnZ2kgYWwgbW9kdWxvIG1haW4gKHF1aW5kaSBtZXNzYWdnaW8gaW4gZW50cmF0YSAtIGluYm91bmQpXHJcbiAgICAgICAgLy8gQWx0cmltZW50aSBzaWduaWZpY2EgY2hlIMOoIGlsIG1vZHVsbyBtYWluIGFkIGludmlhcmUgbWVzc2FnZ2kgYWkgbW9kdWxpIGVzdGVybmkgKG1lc3NhZ2dpbyBpbiB1c2NpdGEgLSBvdXRib3VuZClcclxuICAgICAgICBpZiAoIXJlY2lwaWVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmluYm91bmRzLm5leHQobXNnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5vdXRib3VuZHNbcmVjaXBpZW50XSlcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkBlc2ZhZW56YS9leHRlbnNpb25zIC0gSW50ZXJDb21TZXJ2aWNlOiBJbXBvc3NpYmlsZSBpbnZpYXJlIGlsIG1lc3NhZ2dpbyBhbCByZWNpcGllbnQgXCIgKyByZWNpcGllbnQgKyBcIiBhc3NpY3VyYXJzaSBjaGUgaWwgbW9kdWxvIHNpYSBjYXJpY2F0byBlIGNoZSBlZmZldHR1aSBsYSBjaGlhbWF0YSBhbCBtZXRvZG8gJ3JlZ2lzc3RlcidcIik7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHRoaXMub3V0Ym91bmRzW3JlY2lwaWVudF0ubmV4dChtc2cpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGVybWV0dGUgZGkgcmVnaXN0cmFyZSB1biBtb2R1bG8gZXN0ZXJubyBhbGxhIGxpc3RhIGRlaSBtb2R1bGkgaW4gbGlzdGVuaW5nIHN1bGxhIGNvZGEgZGkgbWVzc2FnZ2lcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBDaGlhdmUgZGVsIG1vZHVsbyBkYSByZWdpc3RyYXJlLiBUdXR0aSBpIG1lc3NhZ2dpIGluYm91bmQgc2FyYW5ubyBpbnZpYXRpIGRhbGwnYXBwbGljYXppb25lIHByaW5jaXBhbGUgc3UgcXVlc3RhIGNoaWF2ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXIoa2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5vdXRib3VuZHNba2V5XSlcclxuICAgICAgICAgICAgdGhyb3cgXCJAZXNmYWVuemEvZXh0ZW5zaW9ucyAtIEludGVyQ29tU2VydmljZTogSW1wb3NzaWJpbGUgcmVnaXN0cmFyZSBwacO5IHZvbHRlIGxvIHN0ZXNzbyBtb2R1bG9cIjtcclxuICAgICAgICB0aGlzLm91dGJvdW5kc1trZXldID0gbmV3IFN1YmplY3Q8SW50ZXJDb21NZXNzYWdlPigpO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -360,9 +360,9 @@ export class MessageService {
|
|
|
360
360
|
}
|
|
361
361
|
}
|
|
362
362
|
}
|
|
363
|
-
MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
364
|
-
MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
365
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
363
|
+
MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MessageService, deps: [{ token: Injector }, { token: EXT_FANCY_ALERTS, optional: true }, { token: EXT_LOCALE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
364
|
+
MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MessageService });
|
|
365
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MessageService, decorators: [{
|
|
366
366
|
type: Injectable
|
|
367
367
|
}], ctorParameters: function () { return [{ type: i0.Injector, decorators: [{
|
|
368
368
|
type: Inject,
|
|
@@ -222,9 +222,9 @@ export class UtilityService {
|
|
|
222
222
|
return destination;
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
|
-
UtilityService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
226
|
-
UtilityService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
227
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
225
|
+
UtilityService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UtilityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
226
|
+
UtilityService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UtilityService });
|
|
227
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UtilityService, decorators: [{
|
|
228
228
|
type: Injectable
|
|
229
229
|
}] });
|
|
230
230
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy51dGlsaXRpZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvc3JjL2xpYi9zZXJ2aWNlcy9leHRlbnNpb25zLnV0aWxpdGllcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLFVBQVU7QUFDVixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRTlDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGNBQWM7SUFFdkI7O09BRUc7SUFDSSxrQkFBa0I7UUFDckIsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBSSxTQUFTO2dCQUN4QyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQzdCLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRyxVQUFVO2dCQUN2RCxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUM7U0FFL0M7YUFBTSxJQUFVLFFBQVMsQ0FBQyxTQUFTLEVBQUcsTUFBTTtZQUNuQyxRQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxlQUFlLENBQUksVUFBZSxFQUFFLGlCQUF5QixFQUFFLGFBQXFCO1FBQ3ZGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3hDLElBQUksSUFBSSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLGFB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QUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUU7Z0JBQzNDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25EO2FBQU0sSUFBSSxNQUFNLElBQUksT0FBTyxNQUFNLENBQUMsY0FBYyxLQUFLLFVBQVUsRUFBRTtZQUM5RCxLQUFLLElBQUksR0FBRyxJQUFJLE1BQU0sRUFBRTtnQkFDcEIsSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQztvQkFDMUIsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDdEQ7U0FDSjtRQUVELE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7OzJHQTdPUSxjQUFjOytHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE5nRm9ybSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLy8gTW9kZWxsaVxyXG5pbXBvcnQgeyBUeXBlQ29kZSB9IGZyb20gJy4uL21vZGVscy9UeXBlQ29kZSc7XHJcblxyXG4vKipcclxuICogU2VydmljZSBjaGUgZm9ybmlzY2UgbWV0b2RpIGRpIHB1YmJsaWNhIHV0aWxpdMOgXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBVdGlsaXR5U2VydmljZSB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZXNlbGV6aW9uYSBpbCB0ZXN0byBldmVudHVhbG1lbnRlIHNlbGV6aW9uYXRvXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjbGVhclRleHRTZWxlY3Rpb24oKSB7XHJcbiAgICAgICAgaWYgKHdpbmRvdy5nZXRTZWxlY3Rpb24pIHtcclxuICAgICAgICAgICAgaWYgKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5lbXB0eSkgICAvLyBDaHJvbWVcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5lbXB0eSgpO1xyXG4gICAgICAgICAgICBlbHNlIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKSAgLy8gRmlyZWZveFxyXG4gICAgICAgICAgICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcygpO1xyXG5cclxuICAgICAgICB9IGVsc2UgaWYgKCg8YW55PmRvY3VtZW50KS5zZWxlY3Rpb24pICAvLyBJRT9cclxuICAgICAgICAgICAgKDxhbnk+ZG9jdW1lbnQpLnNlbGVjdGlvbi5lbXB0eSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGFydGVuZG8gZGEgdW5hIGxpc3RhLCBkYXRvIGlsIG5vbWUgZGVsbGEgcHJvcHJpZXTDoCBjaGlhdmUgZSBpbCB2YWxvcmUgZGVsbGEgY2hpYXZlIHNlbGV6aW9uYXRhLCBcclxuICAgICAqIHRyb3ZhIGUgcmVzdGl0dWlzY2UgbCdvZ2dldHRvIGRlc2lkZXJhdG9cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtUW119IHNvdXJjZUxpc3QgTGlzdGEgZGkgb2dnZXR0aSBkZW50cm8gY3VpIGNlcmNhcmVcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzb3VyY2VJdGVtSWRGaWVsZCBOb21lIGRlbGxhIHByb3ByaWV0w6AgY2hlIHJhcHByZXNlbnRhIGxhIGNoaWF2ZSBkaSB1biBvZ2dldHRvIGRpIHRpcG8gVFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdGVkVmFsdWUgVmFsb3JlIGRpIGNoaWF2ZSBzZWxlemlvbmF0b1xyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7VH0gT2dnZXR0byBsYSBjdWkgcHJvcHJpZXTDoCAqKnNvdXJjZUl0ZW1JZEZpZWxkKiogYXNzdW1lIGlsIHZhbG9yZSAqKnNlbGVjdGVkVmFsdWUqKlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0U2VsZWN0ZWRJdGVtPFQ+KHNvdXJjZUxpc3Q6IFRbXSwgc291cmNlSXRlbUlkRmllbGQ6IHN0cmluZywgc2VsZWN0ZWRWYWx1ZTogc3RyaW5nKTogVCB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzb3VyY2VMaXN0Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIHZhciBpdGVtID0gc291cmNlTGlzdFtpXTtcclxuICAgICAgICAgICAgaWYgKGl0ZW1bc291cmNlSXRlbUlkRmllbGRdID09IHNlbGVjdGVkVmFsdWUpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFZmZldHR1YSBpbCByZXNldCBkaSB1biBGb3JtIGRpIEFuZ3VsYXJcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtOZ0Zvcm19IGZvcm0gRm9ybSBkYSByZXNldHRhcmVcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBleGNlcHRpb24xIENhbXBvIGRhIG5vbiByZXNldHRhcmVcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBleGNlcHRpb24yIENhbXBvIGRhIG5vbiByZXNldHRhcmVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNsZWFuRm9ybShmb3JtOiBOZ0Zvcm0sIGV4Y2VwdGlvbjE6IHN0cmluZyA9IG51bGwsIGV4Y2VwdGlvbjI6IHN0cmluZyA9IG51bGwpIHtcclxuICAgICAgICBmb3IgKGxldCBuYW1lIGluIGZvcm0uY29udHJvbHMpIHtcclxuICAgICAgICAgICAgaWYgKG5hbWUgJiYgbmFtZSAhPSBleGNlcHRpb24xICYmIG5hbWUgIT0gZXhjZXB0aW9uMSArIFwiX2ludGVybmFsXCIgJiYgbmFtZSAhPSBleGNlcHRpb24yICYmIG5hbWUgIT0gZXhjZXB0aW9uMiArIFwiX2ludGVybmFsXCIpIHtcclxuICAgICAgICAgICAgICAgIGZvcm0uY29udHJvbHNbbmFtZV0ucmVzZXQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGZvcm0uY29udHJvbHNbbmFtZV0ubWFya0FzUHJpc3RpbmUoKTtcclxuICAgICAgICAgICAgICAgIGZvcm0uY29udHJvbHNbbmFtZV0ubWFya0FzVW50b3VjaGVkKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vUmVpbXBvc3RvIGlsIHN1Ym1pdHRlZFxyXG4gICAgICAgIChmb3JtIGFzIHsgc3VibWl0dGVkOiBib29sZWFuIH0pLnN1Ym1pdHRlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGVscGVyIGNoZSBwZXJtZXR0ZSBkaSBzY2FyaWNhcmUgdW4gZmlsZSBkYXRvIHVuIFVSTCAoR2VuZXJhdG8gZGEgdW5hIGNoaWFtYXRhIGFkICoqd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwqKilcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHVybCBPYmplY3RVUkwgY2hlIHJhcHByZXNlbnRhIGlsIGZpbGUgZGEgc2NhcmljYXJlXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZmlsZW5hbWUgTm9tZSBkZWwgZmlsZSBzdWdnZXJpdG8gaW4gZmFzZSBkaSBzYWx2YXRhZ2dpb1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZmlsZURvd25sb2FkKHVybDogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xyXG4gICAgICAgIGEuY2xhc3NOYW1lID0gXCJ0YS1kaXNwbGF5LW5vbmVcIjtcclxuICAgICAgICBhLmhyZWYgPSB1cmw7XHJcbiAgICAgICAgYS5kb3dubG9hZCA9IGZpbGVOYW1lO1xyXG4gICAgICAgIGEuY2xpY2soKTtcclxuICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIZWxwZXIgcGVyIGxhIGZvcm1hdHRhemlvbmUgZGkgdW4gbnVtZXJvIGRpIG1pbGxpc2Vjb25kaSBpbiB1bmEgc3RyaW5nYSBwacO5IGNvbXByZW5zaWJpbGUgcGVyIHVuIHVtYW5vXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBkdXJhdGlvbiBUZW1wbyBlc3ByZXNzbyBpbiBtaWxsaXNlY29uZGlcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge3N0cmluZ30gRHVyYXRhIGZvcm1hdHRhdGFcclxuICAgICAqL1xyXG4gICAgcHVibGljIG1zVG9UaW1lKGR1cmF0aW9uOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghZHVyYXRpb24pXHJcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xyXG5cclxuICAgICAgICB2YXIgbWlsbGlzZWNvbmRzID0gcGFyc2VJbnQoKChkdXJhdGlvbiAlIDEwMDApIC8gMTAwKS50b1N0cmluZygpKSxcclxuICAgICAgICAgICAgc2Vjb25kcyA9IHBhcnNlSW50KCgoZHVyYXRpb24gLyAxMDAwKSAlIDYwKS50b1N0cmluZygpKSxcclxuICAgICAgICAgICAgbWludXRlcyA9IHBhcnNlSW50KCgoZHVyYXRpb24gLyAoMTAwMCAqIDYwKSkgJSA2MCkudG9TdHJpbmcoKSksXHJcbiAgICAgICAgICAgIGhvdXJzID0gcGFyc2VJbnQoKChkdXJhdGlvbiAvICgxMDAwICogNjAgKiA2MCkpICUgMjQpLnRvU3RyaW5nKCkpO1xyXG5cclxuICAgICAgICB2YXIgc3RfaG91cnMgPSAoaG91cnMgPCAxMCkgPyBcIjBcIiArIGhvdXJzIDogaG91cnM7XHJcbiAgICAgICAgdmFyIHN0X21pbnV0ZXMgPSAobWludXRlcyA8IDEwKSA/IFwiMFwiICsgbWludXRlcyA6IG1pbnV0ZXM7XHJcbiAgICAgICAgdmFyIHN0X3NlY29uZHMgPSAoc2Vjb25kcyA8IDEwKSA/IFwiMFwiICsgc2Vjb25kcyA6IHNlY29uZHM7XHJcblxyXG4gICAgICAgIHJldHVybiBzdF9ob3VycyArIFwiOlwiICsgc3RfbWludXRlcyArIFwiOlwiICsgc3Rfc2Vjb25kcyArIFwiLlwiICsgbWlsbGlzZWNvbmRzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGVscGVyIGNoZSBwZXJtZXR0ZSBkaSBzY2FyaWNhcmUgdW4gZmlsZSBpbiBCYXNlNjRcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGJhc2U2NERhdGEgQmFzZTY0IGNoZSByYXBwcmVzZW50YSBpbCBmaWxlIGRhIHNjYXJpY2FyZVxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGZpbGVuYW1lIE5vbWUgZGVsIGZpbGUgc3VnZ2VyaXRvIGluIGZhc2UgZGkgc2FsdmF0YWdnaW9cclxuICAgICAqL1xyXG4gICAgcHVibGljIHNhdmVGaWxlKGJhc2U2NERhdGE6IHN0cmluZywgZmlsZW5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIHZhciBzYW1wbGVBcnIgPSB0aGlzLmJhc2U2NFRvQXJyYXlCdWZmZXIoYmFzZTY0RGF0YSk7XHJcbiAgICAgICAgdGhpcy5zYXZlQnl0ZUFycmF5KHNhbXBsZUFyciwgZmlsZW5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVHJhc2Zvcm1hIHVuIEJhc2U2NCBpbiB1biBBcnJheUJ1ZmZlclxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gYmFzZTY0RGF0YSBCYXNlNjQgZGEgdHJhc2Zvcm1hcmVcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge1VpbnQ4QXJyYXl9IEFycmF5IFVURjhcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBiYXNlNjRUb0FycmF5QnVmZmVyKGJhc2U2NERhdGE6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xyXG4gICAgICAgIHZhciBiaW5hcnlTdHJpbmcgPSB3aW5kb3cuYXRvYihiYXNlNjREYXRhKTtcclxuICAgICAgICB2YXIgYmluYXJ5TGVuID0gYmluYXJ5U3RyaW5nLmxlbmd0aDtcclxuICAgICAgICB2YXIgYnl0ZXMgPSBuZXcgVWludDhBcnJheShiaW5hcnlMZW4pO1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYmluYXJ5TGVuOyBpKyspIHtcclxuICAgICAgICAgICAgdmFyIGFzY2lpID0gYmluYXJ5U3RyaW5nLmNoYXJDb2RlQXQoaSk7XHJcbiAgICAgICAgICAgIGJ5dGVzW2ldID0gYXNjaWk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBieXRlcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhlbHBlciBjaGUgcGVybWV0dGUgZGkgc2NhcmljYXJlIHVuIGZpbGUgZGF0byB1biBhcnJheSBkaSBCeXRlICgqKlVpbnQ4QXJyYXkqKilcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtVaW50OEFycmF5fSBieXRlIFJhcHByZXNlbnRhemlvbmUgZGVsIGZpbGUgZGEgc2NhcmljYXJlXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZmlsZW5hbWUgTm9tZSBkZWwgZmlsZSBzdWdnZXJpdG8gaW4gZmFzZSBkaSBzYWx2YXRhZ2dpb1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHNhdmVCeXRlQXJyYXkoYnl0ZTogVWludDhBcnJheSwgZmlsZW5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIHZhciBibG9iID0gbmV3IEJsb2IoW2J5dGVdKTtcclxuICAgICAgICB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XHJcbiAgICAgICAgbGluay5ocmVmID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICAgICAgdmFyIGZpbGVOYW1lID0gZmlsZW5hbWU7XHJcbiAgICAgICAgbGluay5kb3dubG9hZCA9IGZpbGVOYW1lO1xyXG4gICAgICAgIGxpbmsuY2xpY2soKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xyXG4gICAgfTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFV0aWxpdHkgcGVyIGxvIHN3YXAgZGkgZHVlIGVsZW1lbnRpIGRpIHVuIGFycmF5XHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7YW55W119IGFycmF5IEFycmF5IGRpIGN1aSBpbnZlcnRpcmUgZHVlIGVsZW1lbnRpXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0geCBJbmRpY2UgZGVsIHByaW1vIGVsZW1lbnRvXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0geSBJbmRpY2UgZGVsIHNlY29uZG8gZWxlbWVudG9cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN3YXAoYXJyYXk6IGFueVtdLCB4OiBudW1iZXIsIHk6IG51bWJlcikge1xyXG4gICAgICAgIHZhciBiID0gYXJyYXlbeF07XHJcbiAgICAgICAgYXJyYXlbeF0gPSBhcnJheVt5XTtcclxuICAgICAgICBhcnJheVt5XSA9IGI7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIZWxwZXIgZGkgdHJhc2NvZGlmaWNhIGRhIHRpcG8gYyMgYSB0aXBvIFR5cGVzY3JpcHRcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtUeXBlQ29kZX0gdHlwZSBUaXBvIGRhIHRyYXNjb2RpZmljYXJlXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtcImJvb2xlYW5cIiB8IFwibnVtYmVyXCIgfCBcInN0cmluZ1wiIHwgXCJkYXRlXCJ9IFRpcG8gVHlwZXNjcmlwdCBjb3JyaXNwb25kZW50ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0SnNUeXBlRnJvbVR5cGVDb2RlKHR5cGU6IFR5cGVDb2RlKTogXCJib29sZWFuXCIgfCBcIm51bWJlclwiIHwgXCJzdHJpbmdcIiB8IFwiZGF0ZVwiICB7XHJcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgVHlwZUNvZGUuQm9vbGVhbjpcclxuICAgICAgICAgICAgICAgIHJldHVybiBcImJvb2xlYW5cIjtcclxuXHJcbiAgICAgICAgICAgIGNhc2UgVHlwZUNvZGUuRGVjaW1hbDpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5Eb3VibGU6XHJcbiAgICAgICAgICAgIGNhc2UgVHlwZUNvZGUuU2luZ2xlOlxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLkludDE2OlxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLkludDMyOlxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLkludDY0OlxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLkJ5dGU6XHJcbiAgICAgICAgICAgIGNhc2UgVHlwZUNvZGUuU0J5dGU6XHJcbiAgICAgICAgICAgIGNhc2UgVHlwZUNvZGUuVUludDE2OlxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLlVJbnQzMjpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5VSW50NjQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJudW1iZXJcIjtcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5DaGFyOlxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLlN0cmluZzpcclxuICAgICAgICAgICAgICAgIHJldHVybiBcInN0cmluZ1wiO1xyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLkRhdGVUaW1lOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiZGF0ZVwiO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJVbnJlY29nbml6ZWQgaW5wdXQgdHlwZS4gVHlwZWNvZGU6XCIgKyB0eXBlKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBcInN0cmluZ1wiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEVmZmV0dHVhIGxhIGNsb25hemlvbmUgcHJvZm9uZGEgZGkgdW4gb2dnZXR0byBpbiBtYW5pZXJhIG1vbHRvIHBpw7kgcGVyZm9ybWFudGUgY2hlIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoKSkuXHJcbiAgICAgKiBcclxuICAgICAqIFVzYXJlIHNvbG8gcGVyIG9nZ2V0dGkgcHVyaSBlIHF1YW50b21lbm8gc2VtcGxpY2kgcGVyIGV2aXRhcmUgY29tcGxpY2F6aW9uaSBkZXJpdmFudGkgZGFsbGUgc2VtcGxpZmljYXppb25pIGNoZSBxdWVzdG8gbWV0b2RvIGFzc3VtZVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge2FueX0gc291cmNlIE9nZ2V0dG8gZGEgY2xvbmFyZVxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJuIHthbnl9IENsb25lIGRlbGwnb2dnZXR0byBwYXNzYXRvIFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGVlcENsb25lKHNvdXJjZTogYW55KTogYW55IHtcclxuXHJcbiAgICAgICAgLy8gVmFsb3JpIHNlbXBsaWNpXHJcbiAgICAgICAgaWYgKHNvdXJjZSA9PSBudWxsIHx8IHR5cGVvZiBzb3VyY2UgIT09ICdvYmplY3QnKVxyXG4gICAgICAgICAgICByZXR1cm4gc291cmNlO1xyXG5cclxuICAgICAgICAvLyBQc2V1ZG8gU3RydWN0XHJcbiAgICAgICAgc3dpdGNoICh0b1N0cmluZy5jYWxsKHNvdXJjZSkpIHtcclxuXHJcbiAgICAgICAgICAgIGNhc2UgJ1tvYmplY3QgQm9vbGVhbl0nOlxyXG4gICAgICAgICAgICBjYXNlICdbb2JqZWN0IE51bWJlcl0nOlxyXG4gICAgICAgICAgICBjYXNlICdbb2JqZWN0IFN0cmluZ10nOlxyXG4gICAgICAgICAgICBjYXNlICdbb2JqZWN0IERhdGVdJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgc291cmNlLmNvbnN0cnVjdG9yKHNvdXJjZS52YWx1ZU9mKCkpO1xyXG4gICAgICAgICAgICBkZWZhdWx0OiBicmVhaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIE9nZ2V0dGkgQ29tcGxlc3NpXHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVjdXJzaXZlU3RlcChzb3VyY2UsIEFycmF5LmlzQXJyYXkoc291cmNlKSB8fCBzb3VyY2UgaW5zdGFuY2VvZiBBcnJheSA/IFtdIDogT2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc291cmNlKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICogU3RlcCByaWNvcnNpdm8gcGVyIGxhIGNsb25hdHVyYSBkZWdsaSBvZ2dldHRpLiBWZWRlcmUgKipkZWVwQ2xvbmUqKlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHJlY3Vyc2l2ZVN0ZXAoc291cmNlOiBhbnksIGRlc3RpbmF0aW9uOiBhbnkpIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShzb3VyY2UpIHx8IHNvdXJjZSBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHNvdXJjZS5sZW5ndGg7IGkgPCBpaTsgaSsrKVxyXG4gICAgICAgICAgICAgICAgZGVzdGluYXRpb24ucHVzaCh0aGlzLmRlZXBDbG9uZShzb3VyY2VbaV0pKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHNvdXJjZSAmJiB0eXBlb2Ygc291cmNlLmhhc093blByb3BlcnR5ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGtleSBpbiBzb3VyY2UpIHtcclxuICAgICAgICAgICAgICAgIGlmIChzb3VyY2UuaGFzT3duUHJvcGVydHkoa2V5KSlcclxuICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbltrZXldID0gdGhpcy5kZWVwQ2xvbmUoc291cmNlW2tleV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZGVzdGluYXRpb247XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -40,10 +40,10 @@ class ExtensionsModule {
|
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
ExtensionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
44
|
-
ExtensionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
45
|
-
ExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
43
|
+
ExtensionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExtensionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
44
|
+
ExtensionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ExtensionsModule });
|
|
45
|
+
ExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExtensionsModule });
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExtensionsModule, decorators: [{
|
|
47
47
|
type: NgModule
|
|
48
48
|
}] });
|
|
49
49
|
|
|
@@ -400,9 +400,9 @@ class MessageService {
|
|
|
400
400
|
}
|
|
401
401
|
}
|
|
402
402
|
}
|
|
403
|
-
MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
404
|
-
MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
405
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
403
|
+
MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MessageService, deps: [{ token: Injector }, { token: EXT_FANCY_ALERTS, optional: true }, { token: EXT_LOCALE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
404
|
+
MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MessageService });
|
|
405
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MessageService, decorators: [{
|
|
406
406
|
type: Injectable
|
|
407
407
|
}], ctorParameters: function () {
|
|
408
408
|
return [{ type: i0.Injector, decorators: [{
|
|
@@ -625,9 +625,9 @@ class ClipboardService {
|
|
|
625
625
|
document.body.removeChild(textArea);
|
|
626
626
|
}
|
|
627
627
|
}
|
|
628
|
-
ClipboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
629
|
-
ClipboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
630
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
628
|
+
ClipboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClipboardService, deps: [{ token: MessageService }, { token: EXT_LOCALE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
629
|
+
ClipboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClipboardService });
|
|
630
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClipboardService, decorators: [{
|
|
631
631
|
type: Injectable
|
|
632
632
|
}], ctorParameters: function () {
|
|
633
633
|
return [{ type: MessageService }, { type: undefined, decorators: [{
|
|
@@ -856,9 +856,9 @@ class DateService {
|
|
|
856
856
|
return date.format(small ? this.cfg.smallDate : seconds ? this.cfg.fulldateDisplay : this.cfg.fulldateDisplayNoSS);
|
|
857
857
|
}
|
|
858
858
|
}
|
|
859
|
-
DateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
860
|
-
DateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
861
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
859
|
+
DateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateService, deps: [{ token: EXT_LOCALE, optional: true }, { token: EXT_ALLOW_UTC, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
860
|
+
DateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateService });
|
|
861
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateService, decorators: [{
|
|
862
862
|
type: Injectable
|
|
863
863
|
}], ctorParameters: function () {
|
|
864
864
|
return [{ type: undefined, decorators: [{
|
|
@@ -1418,9 +1418,9 @@ class ExportService {
|
|
|
1418
1418
|
return Deserialize(items, type);
|
|
1419
1419
|
}
|
|
1420
1420
|
}
|
|
1421
|
-
ExportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1422
|
-
ExportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1423
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1421
|
+
ExportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExportService, deps: [{ token: DateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1422
|
+
ExportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExportService });
|
|
1423
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExportService, decorators: [{
|
|
1424
1424
|
type: Injectable
|
|
1425
1425
|
}], ctorParameters: function () { return [{ type: DateService }]; } });
|
|
1426
1426
|
|
|
@@ -1725,9 +1725,9 @@ class HashingService {
|
|
|
1725
1725
|
return (a + b) & 0xFFFFFFFF;
|
|
1726
1726
|
}
|
|
1727
1727
|
}
|
|
1728
|
-
HashingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1729
|
-
HashingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1730
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1728
|
+
HashingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HashingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1729
|
+
HashingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HashingService });
|
|
1730
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HashingService, decorators: [{
|
|
1731
1731
|
type: Injectable
|
|
1732
1732
|
}] });
|
|
1733
1733
|
|
|
@@ -1976,9 +1976,9 @@ class UtilityService {
|
|
|
1976
1976
|
return destination;
|
|
1977
1977
|
}
|
|
1978
1978
|
}
|
|
1979
|
-
UtilityService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1980
|
-
UtilityService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1981
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1979
|
+
UtilityService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UtilityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1980
|
+
UtilityService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UtilityService });
|
|
1981
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UtilityService, decorators: [{
|
|
1982
1982
|
type: Injectable
|
|
1983
1983
|
}] });
|
|
1984
1984
|
|
|
@@ -2037,9 +2037,9 @@ class InterComService {
|
|
|
2037
2037
|
this.outbounds[key] = new Subject();
|
|
2038
2038
|
}
|
|
2039
2039
|
}
|
|
2040
|
-
InterComService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2041
|
-
InterComService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2042
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2040
|
+
InterComService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: InterComService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2041
|
+
InterComService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: InterComService });
|
|
2042
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: InterComService, decorators: [{
|
|
2043
2043
|
type: Injectable
|
|
2044
2044
|
}] });
|
|
2045
2045
|
|
|
@@ -2076,10 +2076,10 @@ class FullExtensionsModule {
|
|
|
2076
2076
|
};
|
|
2077
2077
|
}
|
|
2078
2078
|
}
|
|
2079
|
-
FullExtensionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2080
|
-
FullExtensionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
2081
|
-
FullExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
2082
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2079
|
+
FullExtensionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FullExtensionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2080
|
+
FullExtensionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: FullExtensionsModule });
|
|
2081
|
+
FullExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FullExtensionsModule });
|
|
2082
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FullExtensionsModule, decorators: [{
|
|
2083
2083
|
type: NgModule
|
|
2084
2084
|
}] });
|
|
2085
2085
|
|
|
@@ -40,10 +40,10 @@ class ExtensionsModule {
|
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
ExtensionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
44
|
-
ExtensionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
45
|
-
ExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
43
|
+
ExtensionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExtensionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
44
|
+
ExtensionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ExtensionsModule });
|
|
45
|
+
ExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExtensionsModule });
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExtensionsModule, decorators: [{
|
|
47
47
|
type: NgModule
|
|
48
48
|
}] });
|
|
49
49
|
|
|
@@ -399,9 +399,9 @@ class MessageService {
|
|
|
399
399
|
}
|
|
400
400
|
}
|
|
401
401
|
}
|
|
402
|
-
MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
403
|
-
MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
404
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
402
|
+
MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MessageService, deps: [{ token: Injector }, { token: EXT_FANCY_ALERTS, optional: true }, { token: EXT_LOCALE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
403
|
+
MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MessageService });
|
|
404
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MessageService, decorators: [{
|
|
405
405
|
type: Injectable
|
|
406
406
|
}], ctorParameters: function () { return [{ type: i0.Injector, decorators: [{
|
|
407
407
|
type: Inject,
|
|
@@ -619,9 +619,9 @@ class ClipboardService {
|
|
|
619
619
|
document.body.removeChild(textArea);
|
|
620
620
|
}
|
|
621
621
|
}
|
|
622
|
-
ClipboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
623
|
-
ClipboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
624
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
622
|
+
ClipboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClipboardService, deps: [{ token: MessageService }, { token: EXT_LOCALE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
623
|
+
ClipboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClipboardService });
|
|
624
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClipboardService, decorators: [{
|
|
625
625
|
type: Injectable
|
|
626
626
|
}], ctorParameters: function () { return [{ type: MessageService }, { type: undefined, decorators: [{
|
|
627
627
|
type: Optional
|
|
@@ -847,9 +847,9 @@ class DateService {
|
|
|
847
847
|
return date.format(small ? this.cfg.smallDate : seconds ? this.cfg.fulldateDisplay : this.cfg.fulldateDisplayNoSS);
|
|
848
848
|
}
|
|
849
849
|
}
|
|
850
|
-
DateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
851
|
-
DateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
852
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
850
|
+
DateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateService, deps: [{ token: EXT_LOCALE, optional: true }, { token: EXT_ALLOW_UTC, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
851
|
+
DateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateService });
|
|
852
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateService, decorators: [{
|
|
853
853
|
type: Injectable
|
|
854
854
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
855
855
|
type: Optional
|
|
@@ -1407,9 +1407,9 @@ class ExportService {
|
|
|
1407
1407
|
return Deserialize(items, type);
|
|
1408
1408
|
}
|
|
1409
1409
|
}
|
|
1410
|
-
ExportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1411
|
-
ExportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1412
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1410
|
+
ExportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExportService, deps: [{ token: DateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1411
|
+
ExportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExportService });
|
|
1412
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExportService, decorators: [{
|
|
1413
1413
|
type: Injectable
|
|
1414
1414
|
}], ctorParameters: function () { return [{ type: DateService }]; } });
|
|
1415
1415
|
|
|
@@ -1714,9 +1714,9 @@ class HashingService {
|
|
|
1714
1714
|
return (a + b) & 0xFFFFFFFF;
|
|
1715
1715
|
}
|
|
1716
1716
|
}
|
|
1717
|
-
HashingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1718
|
-
HashingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1719
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1717
|
+
HashingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HashingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1718
|
+
HashingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HashingService });
|
|
1719
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HashingService, decorators: [{
|
|
1720
1720
|
type: Injectable
|
|
1721
1721
|
}] });
|
|
1722
1722
|
|
|
@@ -1965,9 +1965,9 @@ class UtilityService {
|
|
|
1965
1965
|
return destination;
|
|
1966
1966
|
}
|
|
1967
1967
|
}
|
|
1968
|
-
UtilityService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1969
|
-
UtilityService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1970
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1968
|
+
UtilityService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UtilityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1969
|
+
UtilityService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UtilityService });
|
|
1970
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UtilityService, decorators: [{
|
|
1971
1971
|
type: Injectable
|
|
1972
1972
|
}] });
|
|
1973
1973
|
|
|
@@ -2026,9 +2026,9 @@ class InterComService {
|
|
|
2026
2026
|
this.outbounds[key] = new Subject();
|
|
2027
2027
|
}
|
|
2028
2028
|
}
|
|
2029
|
-
InterComService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2030
|
-
InterComService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2031
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2029
|
+
InterComService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: InterComService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2030
|
+
InterComService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: InterComService });
|
|
2031
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: InterComService, decorators: [{
|
|
2032
2032
|
type: Injectable
|
|
2033
2033
|
}] });
|
|
2034
2034
|
|
|
@@ -2065,10 +2065,10 @@ class FullExtensionsModule {
|
|
|
2065
2065
|
};
|
|
2066
2066
|
}
|
|
2067
2067
|
}
|
|
2068
|
-
FullExtensionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2069
|
-
FullExtensionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
2070
|
-
FullExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
2071
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2068
|
+
FullExtensionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FullExtensionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2069
|
+
FullExtensionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: FullExtensionsModule });
|
|
2070
|
+
FullExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FullExtensionsModule });
|
|
2071
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FullExtensionsModule, decorators: [{
|
|
2072
2072
|
type: NgModule
|
|
2073
2073
|
}] });
|
|
2074
2074
|
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@esfaenza/extensions",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "15.2.0",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"tslib": "^2.0.0"
|
|
6
6
|
},
|
|
7
7
|
"peerDependencies": {
|
|
8
|
-
"@angular/common": "^
|
|
9
|
-
"@angular/core": "^
|
|
8
|
+
"@angular/common": "^15.2.9",
|
|
9
|
+
"@angular/core": "^15.2.9",
|
|
10
10
|
"sweetalert2": "11.7.12",
|
|
11
|
-
"ngx-toastr": "
|
|
11
|
+
"ngx-toastr": "16.2.0",
|
|
12
12
|
"dayjs": "1.11.8",
|
|
13
13
|
"cerialize": "0.1.18"
|
|
14
14
|
},
|