@wavemaker/app-ng-runtime 11.9.0-next.24951 → 11.9.0-next.24956
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.
- app-ng-runtime/build-task/bundles/index.umd.js +4 -4
- app-ng-runtime/build-task/esm2022/basic/default/anchor/anchor.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/basic/default/html/html.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/input/color-picker/color-picker.build.mjs +3 -3
- app-ng-runtime/build-task/esm2022/input/currency/currency.build.mjs +3 -3
- app-ng-runtime/build-task/fesm2022/index.mjs +4 -4
- app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/base/bundles/index.umd.js +1 -1
- app-ng-runtime/components/base/esm2022/pipes/custom-pipes.mjs +3 -3
- app-ng-runtime/components/base/fesm2022/index.mjs +1 -1
- app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/base/pipes/custom-pipes.d.ts +1 -1
- app-ng-runtime/components/basic/default/anchor/anchor.component.d.ts +1 -0
- app-ng-runtime/components/basic/default/bundles/index.umd.js +16 -13
- app-ng-runtime/components/basic/default/esm2022/anchor/anchor.component.mjs +4 -4
- app-ng-runtime/components/basic/default/esm2022/audio/audio.component.mjs +5 -5
- app-ng-runtime/components/basic/default/esm2022/icon/icon.component.mjs +6 -6
- app-ng-runtime/components/basic/default/esm2022/icon/icon.props.mjs +2 -1
- app-ng-runtime/components/basic/default/esm2022/video/video.component.mjs +5 -4
- app-ng-runtime/components/basic/default/esm2022/video/video.props.mjs +2 -1
- app-ng-runtime/components/basic/default/fesm2022/index.mjs +16 -13
- app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/default/icon/icon.component.d.ts +1 -0
- app-ng-runtime/components/basic/default/video/video.component.d.ts +1 -0
- app-ng-runtime/components/basic/progress/bundles/index.umd.js +4 -4
- app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +3 -3
- app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +3 -3
- app-ng-runtime/components/basic/progress/fesm2022/index.mjs +4 -4
- app-ng-runtime/components/basic/progress/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +1 -0
- app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +2 -1
- app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs +1 -0
- app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/search/bundles/index.umd.js +7 -7
- app-ng-runtime/components/basic/search/esm2022/search.component.mjs +8 -8
- app-ng-runtime/components/basic/search/fesm2022/index.mjs +7 -7
- app-ng-runtime/components/basic/search/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/pagination/bundles/index.umd.js +2 -0
- app-ng-runtime/components/data/pagination/esm2022/pagination.component.mjs +3 -1
- app-ng-runtime/components/data/pagination/fesm2022/index.mjs +2 -0
- app-ng-runtime/components/data/pagination/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/bundles/index.umd.js +24 -3
- app-ng-runtime/components/data/table/esm2022/table.component.mjs +24 -4
- app-ng-runtime/components/data/table/esm2022/table.props.mjs +2 -1
- app-ng-runtime/components/data/table/fesm2022/index.mjs +25 -4
- app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/table.component.d.ts +5 -0
- app-ng-runtime/components/dialogs/alert-dialog/bundles/index.umd.js +6 -4
- app-ng-runtime/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +7 -5
- app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs +6 -4
- app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/confirm-dialog/bundles/index.umd.js +8 -4
- app-ng-runtime/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +9 -5
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs +8 -4
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/default/bundles/index.umd.js +8 -3
- app-ng-runtime/components/dialogs/default/dialog-header/dialog-header.component.d.ts +2 -1
- app-ng-runtime/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +9 -4
- app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +8 -3
- app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +4 -4
- app-ng-runtime/components/dialogs/design-dialog/esm2022/dialog.component.mjs +5 -5
- app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs +4 -4
- app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/iframe-dialog/bundles/index.umd.js +9 -5
- app-ng-runtime/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +10 -6
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs +9 -5
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/partial-dialog/bundles/index.umd.js +9 -5
- app-ng-runtime/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +10 -6
- app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs +9 -5
- app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/chips/bundles/index.umd.js +2 -2
- app-ng-runtime/components/input/chips/esm2022/chips.component.mjs +3 -3
- app-ng-runtime/components/input/chips/fesm2022/index.mjs +2 -2
- app-ng-runtime/components/input/chips/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/color-picker/bundles/index.umd.js +2 -2
- app-ng-runtime/components/input/color-picker/esm2022/color-picker.component.mjs +3 -3
- app-ng-runtime/components/input/color-picker/fesm2022/index.mjs +2 -2
- app-ng-runtime/components/input/color-picker/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/bundles/index.umd.js +91 -52
- app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +8 -7
- app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.component.mjs +6 -6
- app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +10 -10
- app-ng-runtime/components/input/default/esm2022/number/number.props.mjs +2 -1
- app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +17 -17
- app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +4 -4
- app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +50 -13
- app-ng-runtime/components/input/default/fesm2022/index.mjs +90 -51
- app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/select/select.component.d.ts +1 -0
- app-ng-runtime/components/input/default/text/locale/number-locale.d.ts +1 -0
- app-ng-runtime/components/input/file-upload/bundles/index.umd.js +127 -95
- app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +125 -96
- app-ng-runtime/components/input/file-upload/esm2022/file-upload.props.mjs +4 -1
- app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +127 -95
- app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +3 -7
- app-ng-runtime/components/input/slider/bundles/index.umd.js +4 -6
- app-ng-runtime/components/input/slider/esm2022/slider.component.mjs +5 -7
- app-ng-runtime/components/input/slider/fesm2022/index.mjs +4 -6
- app-ng-runtime/components/input/slider/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/core/bundles/index.umd.js +5 -5
- app-ng-runtime/core/esm2022/utils/utils.mjs +2 -3
- app-ng-runtime/core/fesm2022/index.mjs +1 -2
- app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/core/utils/utils.d.ts +0 -1
- app-ng-runtime/package.json +1 -1
|
@@ -2752,7 +2752,7 @@
|
|
|
2752
2752
|
class StateClassPipe {
|
|
2753
2753
|
transform(state) {
|
|
2754
2754
|
const stateClassMap = {
|
|
2755
|
-
'success': 'wi wi-
|
|
2755
|
+
'success': 'wi wi-check-circle text-success',
|
|
2756
2756
|
'error': 'wi wi-error text-danger'
|
|
2757
2757
|
};
|
|
2758
2758
|
return stateClassMap[state.toLowerCase()];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Inject, Pipe } from '@angular/core';
|
|
2
2
|
import { DatePipe, DecimalPipe } from '@angular/common';
|
|
3
|
-
import {
|
|
3
|
+
import { AbstractI18nService, CURRENCY_INFO, CustomPipeManager, hasOffsetStr, isDefined } from '@wm/core';
|
|
4
4
|
import { WmPipe } from "./wm-pipe";
|
|
5
5
|
import { filter, includes, isDate, isFunction, isObject, isUndefined, startsWith } from "lodash-es";
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
@@ -340,7 +340,7 @@ export class FileIconClassPipe {
|
|
|
340
340
|
export class StateClassPipe {
|
|
341
341
|
transform(state) {
|
|
342
342
|
const stateClassMap = {
|
|
343
|
-
'success': 'wi wi-
|
|
343
|
+
'success': 'wi wi-check-circle text-success',
|
|
344
344
|
'error': 'wi wi-error text-danger'
|
|
345
345
|
};
|
|
346
346
|
return stateClassMap[state.toLowerCase()];
|
|
@@ -437,4 +437,4 @@ export class FileExtensionFromMimePipe {
|
|
|
437
437
|
name: 'fileExtensionFromMime'
|
|
438
438
|
}]
|
|
439
439
|
}], null, null); })();
|
|
440
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXBpcGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9iYXNlL3NyYy9waXBlcy9jdXN0b20tcGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQU8saUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7OztBQUlsRyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRTtJQUN6QixJQUFJLEtBQUssQ0FBQztJQUNWLG9HQUFvRztJQUNwRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDaEMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELHdGQUF3RjtJQUN4RixLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLFlBQVksRUFBRSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzRixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFLRixNQUFNLE9B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RUFBMkUsRUFBRSxPQUFPO1lBQ3BGLDhCQUE4QixFQUFFLE1BQU07WUFDdEMsaUJBQWlCLEVBQUUsTUFBTTtZQUN6QixrQkFBa0IsRUFBRSxLQUFLO1lBQ3pCLGVBQWUsRUFBRSxNQUFNO1lBQ3ZCLCtCQUErQixFQUFFLE1BQU07WUFDdkMsbUJBQW1CLEVBQUUsTUFBTTtZQUMzQixZQUFZLEVBQUUsT0FBTztZQUNyQix3QkFBd0IsRUFBRSxLQUFLO1lBQy9CLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLFlBQVksRUFBRSxNQUFNO1lBQ3BCLHVCQUF1QixFQUFFLE1BQU07WUFDL0IsV0FBVyxFQUFFLE1BQU07WUFDbkIsWUFBWSxFQUFFLE9BQU87WUFDckIsWUFBWSxFQUFFLE9BQU87WUFDckIsWUFBWSxFQUFFLE9BQU87WUFDckIsV0FBVyxFQUFFLE9BQU87WUFDcEIsWUFBWSxFQUFFLFFBQVE7WUFDdEIsdUJBQXVCLEVBQUUsUUFBUTtZQUNqQywwQkFBMEIsRUFBRSxNQUFNO1lBQ2xDLG1FQUFtRSxFQUFFLE9BQU87WUFDNUUsaUJBQWlCLEVBQUUsTUFBTTtZQUN6QixpQ0FBaUMsRUFBRSxNQUFNO1lBQ3pDLGlCQUFpQixFQUFFLE1BQU07WUFDekIsWUFBWSxFQUFFLE1BQU07WUFDcEIsWUFBWSxFQUFFLE1BQU07WUFDcEIsYUFBYSxFQUFFLE1BQU07WUFDckIsYUFBYSxFQUFFLE1BQU07WUFDckIsNkJBQTZCLEVBQUUsS0FBSztTQUN2QyxDQUFDO1FBRUYsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsQ0FBQzswRkExRVEseUJBQXlCOytGQUF6Qix5QkFBeUI7O2lGQUF6Qix5QkFBeUI7Y0FIckMsSUFBSTtlQUFDO2dCQUNGLElBQUksRUFBRSx1QkFBdUI7YUFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVQaXBlLCBEZWNpbWFsUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDVVJSRU5DWV9JTkZPLCBpc0RlZmluZWQsIEFwcCwgQ3VzdG9tUGlwZU1hbmFnZXIsIEFic3RyYWN0STE4blNlcnZpY2UsIGhhc09mZnNldFN0ciB9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IFdtUGlwZSB9IGZyb20gXCIuL3dtLXBpcGVcIjtcbmltcG9ydCB7ZmlsdGVyLCBpbmNsdWRlcywgaXNEYXRlLCBpc0Z1bmN0aW9uLCBpc09iamVjdCwgaXNVbmRlZmluZWQsIHN0YXJ0c1dpdGh9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZGVjbGFyZSBjb25zdCBtb21lbnQ7XG5cbmNvbnN0IGdldEVwb2NoVmFsdWUgPSBkYXRhID0+IHtcbiAgICBsZXQgZXBvY2g7XG4gICAgLy8gRm9yIGRhdGEgaW4gZm9ybSBvZiBzdHJpbmcgbnVtYmVyICgnMTIzJyksIGNvbnZlcnQgdG8gbnVtYmVyICgxMjMpLiBBbmQgZG9uJ3QgcGFyc2UgZGF0ZSBvYmplY3RzLlxuICAgIGlmICghaXNEYXRlKGRhdGEpICYmICFpc05hTihkYXRhKSkge1xuICAgICAgICBkYXRhID0gcGFyc2VJbnQoZGF0YSwgMTApO1xuICAgIH1cbiAgICAvLyBnZXQgdGhlIHRpbWVzdGFtcCB2YWx1ZS4gSWYgZGF0YSBpcyB0aW1lIHN0cmluZywgYXBwZW5kIGRhdGUgc3RyaW5nIHRvIHRoZSB0aW1lIHZhbHVlXG4gICAgZXBvY2ggPSBtb21lbnQoZGF0YSkudmFsdWVPZigpIHx8IG1vbWVudChuZXcgRGF0ZSgpLnRvRGF0ZVN0cmluZygpICsgJyAnICsgZGF0YSkudmFsdWVPZigpO1xuICAgIHJldHVybiBlcG9jaDtcbn07XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAndHJhaWxpbmdaZXJvRGVjaW1hbFBpcGUnXG59KVxuZXhwb3J0IGNsYXNzIFRyYWlsaW5nWmVyb0RlY2ltYWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIHNlbGVjdGVkTG9jYWxlOiBzdHJpbmcsIG51bWJlcmZpbHRlcjogc3RyaW5nLCBsb2NhbGVmaWx0ZXI6IGFueSwgdHJhaWxpbmd6ZXJvOiBib29sZWFuLCBkZWNpbWFsVmFsdWU6IHN0cmluZywgc2tpcFRyYWlsaW5nWmVyb0NoZWNrPzogYm9vbGVhbiwgZm9ybWF0dGVkTG9jYWxlPyk6IGFueSB7XG4gICAgICAgIG51bWJlcmZpbHRlciA9IHRyYWlsaW5nemVybyAmJiAhc2tpcFRyYWlsaW5nWmVyb0NoZWNrID8gYDEuJHtkZWNpbWFsVmFsdWUubGVuZ3RofS0xNmA6IG51bWJlcmZpbHRlcjtcbiAgICAgICAgY29uc3QgbG9jYWxlID0gZm9ybWF0dGVkTG9jYWxlID8gZm9ybWF0dGVkTG9jYWxlWydudW1iZXInXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVjaW1hbFBpcGUudHJhbnNmb3JtKHZhbHVlLCBudW1iZXJmaWx0ZXIsIGxvY2FsZWZpbHRlciB8fCBsb2NhbGUgfHwgc2VsZWN0ZWRMb2NhbGUpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlKSB7IH1cblxufVxuXG5AUGlwZSh7XG4gICAgbmFtZTogJ3RvRGF0ZSdcbn0pXG5leHBvcnQgY2xhc3MgVG9EYXRlUGlwZSBleHRlbmRzIFdtUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIC8vIFRoaXMgbWV0aG9kIGNhbGxzIHRoZSBjdXN0b20gZm9ybWF0dGVyIGZuIGFmdGVyIGFwcGx5aW5nIHRoZSBleGlzaXRuZyBkYXRlIHBhdHRlcm5cbiAgICByZXR1cm5GbihkYXRhLCBhcmdzKSB7XG4gICAgICAgIGlmICh0aGlzLmlzQ3VzdG9tUGlwZSkge1xuICAgICAgICAgICAgaWYgKGFyZ3MpIHtcbiAgICAgICAgICAgICAgICBhcmdzWzBdID0gZGF0YTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmN1c3RvbUZvcm1hdHRlcihkYXRhLCBhcmdzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gICAgdHJhbnNmb3JtKGRhdGE6IGFueSwgZm9ybWF0OiBhbnksIHRpbWV6b25lPywgY29tcEluc3RhbmNlPykge1xuICAgICAgICBsZXQgdGltZXN0YW1wO1xuICAgICAgICAvLyAnbnVsbCcgaXMgdG8gYmUgdHJlYXRlZCBhcyBhIHNwZWNpYWwgY2FzZSwgSWYgdXNlciB3YW50cyB0byBlbnRlciBudWxsIHZhbHVlLCBlbXB0eSBzdHJpbmcgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIGJhY2tlbmRcbiAgICAgICAgaWYgKGRhdGEgPT09ICdudWxsJyB8fCBkYXRhID09PSAnJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmV0dXJuRm4oJycsIGFyZ3VtZW50cyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0RlZmluZWQoZGF0YSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJldHVybkZuKCcnLGFyZ3VtZW50cyk7XG4gICAgICAgIH1cbiAgICAgICAgdGltZXN0YW1wID0gZ2V0RXBvY2hWYWx1ZShkYXRhKTtcbiAgICAgICAgaWYgKHRpbWVzdGFtcCkge1xuICAgICAgICAgICAgaWYgKGZvcm1hdCA9PT0gJ3RpbWVzdGFtcCcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZXR1cm5Gbih0aW1lc3RhbXAsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZm9ybWF0ID09PSAnVVRDJykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJldHVybkZuKG5ldyBEYXRlKHRpbWVzdGFtcCkudG9JU09TdHJpbmcoKSwgYXJndW1lbnRzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBmb3JtYXR0ZWRWYWw7XG4gICAgICAgICAgICBjb25zdCB0aW1lWm9uZSA9IHRoaXMuaTE4blNlcnZpY2UgPyB0aGlzLmkxOG5TZXJ2aWNlLmdldFRpbWV6b25lKGNvbXBJbnN0YW5jZSkgOiB0aW1lem9uZTtcbiAgICAgICAgICAgIGlmICh0aW1lWm9uZSAmJiAoZGF0YSA9PT0gdGltZXN0YW1wIHx8IGhhc09mZnNldFN0cihkYXRhKSkpIHtcbiAgICAgICAgICAgICAgICBmb3JtYXR0ZWRWYWwgPSBtb21lbnQodGltZXN0YW1wKS50eih0aW1lWm9uZSkuZm9ybWF0KGZvcm1hdC5yZXBsYWNlQWxsKCd5JywgJ1knKS5yZXBsYWNlQWxsKCdkJywgJ0QnKS5yZXBsYWNlKCdhJywgJ0EnKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZvcm1hdHRlZFZhbCA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHRpbWVzdGFtcCwgZm9ybWF0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJldHVybkZuKGZvcm1hdHRlZFZhbCwgYXJndW1lbnRzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5yZXR1cm5GbignJywgYXJndW1lbnRzKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGVQaXBlOiBEYXRlUGlwZSwgcHJpdmF0ZSBpMThuU2VydmljZTogQWJzdHJhY3RJMThuU2VydmljZSwgcHJvdGVjdGVkIGN1c3RvbVBpcGVNYW5hZ2VyOiBDdXN0b21QaXBlTWFuYWdlcikge1xuICAgICAgICBzdXBlcigndG9EYXRlJywgY3VzdG9tUGlwZU1hbmFnZXIpO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIG5hbWU6ICd0b051bWJlcidcbn0pXG5leHBvcnQgY2xhc3MgVG9OdW1iZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKGRhdGEsIGZyYWNTaXplKSB7XG4gICAgICAgIGlmIChmcmFjU2l6ZSAmJiAhU3RyaW5nKGZyYWNTaXplKS5tYXRjaCgvXihcXGQrKT9cXC4oKFxcZCspKC0oXFxkKykpPyk/JC8pKSB7XG4gICAgICAgICAgICBmcmFjU2l6ZSA9ICcxLicgKyBmcmFjU2l6ZSArICctJyArIGZyYWNTaXplO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNOYU4oK2RhdGEpKSB7XG4gICAgICAgICAgICBjb25zdCBsb2NhbGUgPSB0aGlzLmkxOG5TZXJ2aWNlICYmIHRoaXMuaTE4blNlcnZpY2UuZ2V0d2lkZ2V0TG9jYWxlKCkgPyB0aGlzLmkxOG5TZXJ2aWNlLmdldHdpZGdldExvY2FsZSgpIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkTG9jYWxlID0gbG9jYWxlID8gbG9jYWxlWydudW1iZXInXSA6IG51bGw7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0oZGF0YSwgZnJhY1NpemUsIGZvcm1hdHRlZExvY2FsZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkZWNpbWFsUGlwZTogRGVjaW1hbFBpcGUsICBASW5qZWN0KEFic3RyYWN0STE4blNlcnZpY2UpIHByaXZhdGUgaTE4blNlcnZpY2U6IEFic3RyYWN0STE4blNlcnZpY2UpIHtcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAndG9DdXJyZW5jeSdcbn0pXG5leHBvcnQgY2xhc3MgVG9DdXJyZW5jeVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0oZGF0YSwgY3VycmVuY3lTeW1ib2wsIGZyYWNTaXplKSB7XG4gICAgICAgIGNvbnN0IF9jdXJyZW5jeVN5bWJvbCA9IChDVVJSRU5DWV9JTkZPW2N1cnJlbmN5U3ltYm9sXSB8fCB7fSkuc3ltYm9sIHx8IGN1cnJlbmN5U3ltYm9sIHx8ICcnO1xuICAgICAgICBsZXQgX3ZhbCA9IG5ldyBUb051bWJlclBpcGUodGhpcy5kZWNpbWFsUGlwZSwgdGhpcy5pMThuU2VydmljZSkudHJhbnNmb3JtKGRhdGEsIGZyYWNTaXplKTtcbiAgICAgICAgY29uc3QgaXNOZWdhdGl2ZU51bWJlciA9IHN0YXJ0c1dpdGgoX3ZhbCwgJy0nKTtcbiAgICAgICAgaWYgKGlzTmVnYXRpdmVOdW1iZXIpIHtcbiAgICAgICAgICAgIF92YWwgPSBfdmFsLnJlcGxhY2UoJy0nLCcnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX3ZhbCA/IGlzTmVnYXRpdmVOdW1iZXIgPyAnLScrIF9jdXJyZW5jeVN5bWJvbCArX3ZhbCA6X2N1cnJlbmN5U3ltYm9sICsgX3ZhbCA6ICcnO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlLCBASW5qZWN0KEFic3RyYWN0STE4blNlcnZpY2UpIHByaXZhdGUgaTE4blNlcnZpY2U6IEFic3RyYWN0STE4blNlcnZpY2UpIHtcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAncHJlZml4J1xufSlcbmV4cG9ydCBjbGFzcyBQcmVmaXhQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKGRhdGEsIHBhZGRpbmcpIHtcbiAgICAgICAgcmV0dXJuIChpc1VuZGVmaW5lZChkYXRhKSB8fCBkYXRhID09PSBudWxsIHx8IGRhdGEgPT09ICcnKSA/IGRhdGEgOiAoKHBhZGRpbmcgfHwgJycpICsgZGF0YSk7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgbmFtZTogJ3N1ZmZpeCdcbn0pXG5leHBvcnQgY2xhc3MgU3VmZml4UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShkYXRhLCBwYWRkaW5nKSB7XG4gICAgICAgIHJldHVybiAoaXNVbmRlZmluZWQoZGF0YSkgfHwgZGF0YSA9PT0gbnVsbCB8fCBkYXRhID09PSAnJykgPyBkYXRhIDogKGRhdGEgKyAocGFkZGluZyB8fCAnJykpO1xuICAgIH1cbn1cblxuXG4vKipcbiAqIEN1c3RvbSBwaXBlOiBJdCBpcyB3b3JrIGFzIGludGVyY2VwdG9yIGJldHdlZW4gdGhlIHVzZXIgY3VzdG9tIHBpcGUgZnVuY3Rpb24gYW5kIGFuZ3VsYXIgcGlwZVxuICovXG5AUGlwZSh7XG4gICAgbmFtZTogJ2N1c3RvbSdcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY3VzdG1lVXNlclBpcGU6IEN1c3RvbVBpcGVNYW5hZ2VyKSB7XG5cbiAgICB9XG4gICAgdHJhbnNmb3JtKGRhdGEsIHBpcGVuYW1lKSB7XG4gICAgICAgbGV0IGFyZ3VtZW50QXJyID0gW107XG4gICAgICAgZm9yKGxldCBpID0yIDsgaTxhcmd1bWVudHMubGVuZ3RoOyBpKysgKXtcbiAgICAgICAgYXJndW1lbnRBcnIucHVzaChhcmd1bWVudHNbaV0pO1xuICAgICAgIH1cblxuICAgICAgICBsZXQgcGlwZVJlZiA9IHRoaXMuY3VzdG1lVXNlclBpcGUuZ2V0Q3VzdG9tUGlwZShwaXBlbmFtZSk7XG4gICAgICAgIGlmICghcGlwZVJlZiB8fCAhaXNGdW5jdGlvbihwaXBlUmVmLmZvcm1hdHRlcikpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignZm9ybWF0dGVyIGlzIG5vdCBkZWZpbmVkLCBwbGVhc2UgY2hlY2sgdGhlIGN1c3RvbSBwaXBlcyBkb2N1bWVudGF0aW9uJyk7XG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeXtcbiAgICAgICAgICAgIHJldHVybiBwaXBlUmVmLmZvcm1hdHRlcihkYXRhLCAuLi5hcmd1bWVudEFycik7XG4gICAgICAgIH0gY2F0Y2goZXJyb3Ipe1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignUGlwZSBuYW1lOiAnK3BpcGVuYW1lLCBlcnJvcik7XG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgIH1cbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAndGltZUZyb21Ob3cnXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVGcm9tTm93UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShkYXRhKSB7XG4gICAgICAgIGxldCB0aW1lc3RhbXA7XG4gICAgICAgIGlmICghaXNEZWZpbmVkKGRhdGEpKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIHRpbWVzdGFtcCA9IGdldEVwb2NoVmFsdWUoZGF0YSk7XG4gICAgICAgIHJldHVybiB0aW1lc3RhbXAgPyBtb21lbnQodGltZXN0YW1wKS5mcm9tTm93KCkgOiB1bmRlZmluZWQ7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgbmFtZTogJ251bWJlclRvU3RyaW5nJ1xufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJUb1N0cmluZ1BpcGUgZXh0ZW5kcyBUb051bWJlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHsgfVxuXG5AUGlwZSh7XG4gICAgbmFtZTogJ3N0cmluZ1RvTnVtYmVyJ1xufSlcbmV4cG9ydCBjbGFzcyBTdHJpbmdUb051bWJlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0oZGF0YSkge1xuICAgICAgICByZXR1cm4gTnVtYmVyKGRhdGEpIHx8IHVuZGVmaW5lZDtcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnZmlsdGVyJ1xufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKGRhdGE6IGFueVtdLCBmaWVsZDogYW55LCB2YWx1ZTogYW55KSB7XG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIC8vIElmIG9iamVjdCBpcyBwYXNzZWQgYXMgZmlyc3QgcGFyYW10ZXJcbiAgICAgICAgaWYgKGlzT2JqZWN0KGZpZWxkKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZpbHRlcihkYXRhLCBmaWVsZCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYga2V5IHZhbHVlIHBhaXIgaXMgcHJvdmlkZWRcbiAgICAgICAgcmV0dXJuIGZpbHRlcihkYXRhLCBpdGVtID0+IHtcbiAgICAgICAgICAgIHJldHVybiBpbmNsdWRlcyhpdGVtW2ZpZWxkXSwgdmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnZmlsZXNpemUnXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVTaXplUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShieXRlczogbnVtYmVyLCBwcmVjaXNpb246IG51bWJlcikge1xuICAgICAgICBjb25zdCB1bml0cyA9IFtcbiAgICAgICAgICAgICdieXRlcycsXG4gICAgICAgICAgICAnS0InLFxuICAgICAgICAgICAgJ01CJyxcbiAgICAgICAgICAgICdHQicsXG4gICAgICAgICAgICAnVEInLFxuICAgICAgICAgICAgJ1BCJ1xuICAgICAgICBdO1xuXG4gICAgICAgIC8qVG9kb1tzaHViaGFtXVxuICAgICAgICBpZiAoaXNOYU4ocGFyc2VGbG9hdChieXRlcykpIHx8ICFpc0Zpbml0ZShieXRlcykpIHtcbiAgICAgICAgICAgIHJldHVybiBpc01vYmlsZSgpID8gJycgOiAnPyc7XG4gICAgICAgIH0qL1xuICAgICAgICBsZXQgdW5pdCA9IDA7XG4gICAgICAgIHdoaWxlIChieXRlcyA+PSAxMDI0KSB7XG4gICAgICAgICAgICBieXRlcyAvPSAxMDI0O1xuICAgICAgICAgICAgdW5pdCsrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBieXRlcy50b0ZpeGVkKCtwcmVjaXNpb24pICsgJyAnICsgdW5pdHNbdW5pdF07XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgbmFtZTogJ2ZpbGVJY29uQ2xhc3MnXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVJY29uQ2xhc3NQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKGZpbGVFeHRlbnNpb246IGFueSkge1xuICAgICAgICBjb25zdCBmaWxlQ2xhc3NNYXBwaW5nID0ge1xuICAgICAgICAgICAgJ3ppcCcgICAgICAgOiAgICdmYS1maWxlLXppcC1vJyxcbiAgICAgICAgICAgICdwZGYnICAgICAgIDogICAnZmEtZmlsZS1wZGYtbycsXG4gICAgICAgICAgICAncmFyJyAgICAgICA6ICAgJ2ZhLWZpbGUtYXJjaGl2ZS1vJyxcbiAgICAgICAgICAgICd0eHQnICAgICAgIDogICAnZmEtZmlsZS10ZXh0LW8nLFxuICAgICAgICAgICAgJ3BwdCcgICAgICAgOiAgICdmYS1maWxlLXBvd2VycG9pbnQtbycsXG4gICAgICAgICAgICAncG90JyAgICAgICA6ICAgJ2ZhLWZpbGUtcG93ZXJwb2ludC1vJyxcbiAgICAgICAgICAgICdwcHMnICAgICAgIDogICAnZmEtZmlsZS1wb3dlcnBvaW50LW8nLFxuICAgICAgICAgICAgJ3BwdHgnICAgICAgOiAgICdmYS1maWxlLXBvd2VycG9pbnQtbycsXG4gICAgICAgICAgICAncG90eCcgICAgICA6ICAgJ2ZhLWZpbGUtcG93ZXJwb2ludC1vJyxcbiAgICAgICAgICAgICdwcHN4JyAgICAgIDogICAnZmEtZmlsZS1wb3dlcnBvaW50LW8nLFxuICAgICAgICAgICAgJ21wZycgICAgICAgOiAgICdmYS1maWxlLW1vdmllLW8nLFxuICAgICAgICAgICAgJ21wNCcgICAgICAgOiAgICdmYS1maWxlLW1vdmllLW8nLFxuICAgICAgICAgICAgJ21vdicgICAgICAgOiAgICdmYS1maWxlLW1vdmllLW8nLFxuICAgICAgICAgICAgJ2F2aScgICAgICAgOiAgICdmYS1maWxlLW1vdmllLW8nLFxuICAgICAgICAgICAgJ21wMycgICAgICAgOiAgICdmYS1maWxlLWF1ZGlvLW8nLFxuICAgICAgICAgICAgJ2RvY3gnICAgICAgOiAgICdmYS1maWxlLXdvcmQtbycsXG4gICAgICAgICAgICAnanMnICAgICAgICA6ICAgJ2ZhLWZpbGUtY29kZS1vJyxcbiAgICAgICAgICAgICdtZCcgICAgICAgIDogICAnZmEtZmlsZS1jb2RlLW8nLFxuICAgICAgICAgICAgJ2h0bWwnICAgICAgOiAgICdmYS1maWxlLWNvZGUtbycsXG4gICAgICAgICAgICAnY3NzJyAgICAgICA6ICAgJ2ZhLWZpbGUtY29kZS1vJyxcbiAgICAgICAgICAgICd4bHN4JyAgICAgIDogICAnZmEtZmlsZS1leGNlbC1vJyxcbiAgICAgICAgICAgICdwbmcnICAgICAgIDogICAnZmEtZmlsZS1pbWFnZS1vJyxcbiAgICAgICAgICAgICdqcGcnICAgICAgIDogICAnZmEtZmlsZS1pbWFnZS1vJyxcbiAgICAgICAgICAgICdqcGVnJyAgICAgIDogICAnZmEtZmlsZS1pbWFnZS1vJyxcbiAgICAgICAgICAgICdmaWxlJyAgICAgIDogICAnZmEtZmlsZS1vJyxcbiAgICAgICAgICAgICdkZWZhdWx0JyAgIDogICAnZmEtZmlsZS1vJ1xuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiAnZmEgJyArIChmaWxlQ2xhc3NNYXBwaW5nW2ZpbGVFeHRlbnNpb25dIHx8ICdmYS1maWxlLW8nKTtcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnc3RhdGVDbGFzcydcbn0pXG5leHBvcnQgY2xhc3MgU3RhdGVDbGFzc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0oc3RhdGUpIHtcbiAgICAgICAgY29uc3Qgc3RhdGVDbGFzc01hcCA9IHtcbiAgICAgICAgICAgICdzdWNjZXNzJyAgIDogJ3dpIHdpLWRvbmUgdGV4dC1zdWNjZXNzJyxcbiAgICAgICAgICAgICdlcnJvcicgICAgIDogJ3dpIHdpLWVycm9yIHRleHQtZGFuZ2VyJ1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gc3RhdGVDbGFzc01hcFtzdGF0ZS50b0xvd2VyQ2FzZSgpXTtcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnZmlsZUV4dGVuc2lvbkZyb21NaW1lJ1xufSlcbmV4cG9ydCBjbGFzcyBGaWxlRXh0ZW5zaW9uRnJvbU1pbWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKG1pbWVUeXBlOiBhbnkpIHtcbiAgICAgICAgY29uc3QgdHlwZU1hcHBpbmcgPSB7XG4gICAgICAgICAgICAnYXVkaW8vYWFjJzogJy5hYWMnLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtYWJpd29yZCc6ICcuYWJ3JyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQuYW5kcm9pZC5wYWNrYWdlLWFyY2hpdmUnOiAnLmFwaycsXG4gICAgICAgICAgICAndmlkZW8veC1tc3ZpZGVvJzogJy5hdmknLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5hbWF6b24uZWJvb2snOiAnLmF6dycsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJzogJy5iaW4nLFxuICAgICAgICAgICAgJ2ltYWdlL2JtcCc6ICcuYm1wJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LWJ6aXAnOiAnLmJ6JyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LWJ6aXAyJzogJy5iejInLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtY3NoJzogJy5jc2gnLFxuICAgICAgICAgICAgJ3RleHQvY3NzJzogJy5jc3MnLFxuICAgICAgICAgICAgJ3RleHQvY3N2JzogJy5jc3YnLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL21zd29yZCc6ICcuZG9jJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCc6ICcuZG9jeCcsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vdm5kLm1zLWZvbnRvYmplY3QnOiAnLmVvdCcsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vZXB1Yit6aXAnOiAnLmVwdWInLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2VjbWFzY3JpcHQnOiAnLmVzJyxcbiAgICAgICAgICAgICdpbWFnZS9naWYnOiAnLmdpZicsXG4gICAgICAgICAgICAndGV4dC9odG1sJzogJy5odG1sJyxcbiAgICAgICAgICAgICdpbWFnZS94LWljb24nOiAnLmljbycsXG4gICAgICAgICAgICAndGV4dC9jYWxlbmRhcic6ICcuaWNzJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qYXZhLWFyY2hpdmUnOiAnLmphcicsXG4gICAgICAgICAgICAnaW1hZ2UvanBlZyc6IFsnLmpwZWcnLCAnLmpwZyddLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2phdmFzY3JpcHQnOiAnLmpzJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJzogJy5qc29uJyxcbiAgICAgICAgICAgICdhdWRpby9taWRpJzogJy5taWQnLFxuICAgICAgICAgICAgJ2F1ZGlvL3gtbWlkaSc6ICcubWlkaScsXG4gICAgICAgICAgICAndmlkZW8vbXBlZyc6ICcubXBlZycsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vdm5kLmFwcGxlLmluc3RhbGxlcit4bWwnOiAnbXBrZycsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5wcmVzZW50YXRpb24nOiAnLm9kcCcsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5zcHJlYWRzaGVldCc6ICcub2RzJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnRleHQnOiAnLm9kdCcsXG4gICAgICAgICAgICAnYXVkaW8vb2dnJzogJy5vZ2EnLFxuICAgICAgICAgICAgJ3ZpZGVvL29nZyc6ICcub2d2JyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9vZ2cnOiAnLm9neCcsXG4gICAgICAgICAgICAnZm9udC9vdGYnOiAnLm90ZicsXG4gICAgICAgICAgICAnaW1hZ2UvcG5nJzogJy5wbmcnLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3BkZic6ICcucGRmJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludCc6ICcucHB0JyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc2VudGF0aW9uJzogJy5wcHR4JyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXJhci1jb21wcmVzc2VkJzogJy5yYXInLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3J0Zic6ICcucnRmJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXNoJzogJy5zaCcsXG4gICAgICAgICAgICAnaW1hZ2Uvc3ZnK3htbCc6ICcuc3ZnJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCc6ICcuc3dmJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXRhcic6ICcudGFyJyxcbiAgICAgICAgICAgICdpbWFnZS90aWZmJzogJy50aWZmJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi90eXBlc2NyaXB0JzogJy50cycsXG4gICAgICAgICAgICAnZm9udC90dGYnOiAnLnR0ZicsXG4gICAgICAgICAgICAndGV4dC9wbGFpbic6ICcudHh0JyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQudmlzaW8nOiAnLnZzZCcsXG4gICAgICAgICAgICAnYXVkaW8vd2F2JzogJy53YXYnLFxuICAgICAgICAgICAgJ2F1ZGlvL3dlYm0nOiAnLndlYmEnLFxuICAgICAgICAgICAgJ3ZpZGVvL3dlYm0nOiAnLndlYm0nLFxuICAgICAgICAgICAgJ2ltYWdlL3dlYnAnOiAnLndlYnAnLFxuICAgICAgICAgICAgJ2ZvbnQvd29mZic6ICcud29mZicsXG4gICAgICAgICAgICAnZm9udC93b2ZmMic6ICcud29mZjInLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3hodG1sK3htbCc6ICcueGh0bWwnLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCc6ICcueGxzJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCc6ICcueGxzeCcsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24veG1sJzogJy54bWwnLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5tb3ppbGxhLnh1bCt4bWwnOiAnLnh1bCcsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vemlwJzogJy56aXAnLFxuICAgICAgICAgICAgJ3ZpZGVvLzNncHAnOiAnLjNncCcsXG4gICAgICAgICAgICAnYXVkaW8vM2dwcCc6ICcuM2dwJyxcbiAgICAgICAgICAgICd2aWRlby8zZ3BwMic6ICcuM2cyJyxcbiAgICAgICAgICAgICdhdWRpby8zZ3BwMic6ICcuM2cyJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LTd6LWNvbXByZXNzZWQnOiAnLjd6J1xuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0eXBlTWFwcGluZ1ttaW1lVHlwZV07XG4gICAgfVxufVxuXG5cbiJdfQ==
|
|
440
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXBpcGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9iYXNlL3NyYy9waXBlcy9jdXN0b20tcGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBQyxRQUFRLEVBQUUsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxFQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7OztBQUlsRyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRTtJQUN6QixJQUFJLEtBQUssQ0FBQztJQUNWLG9HQUFvRztJQUNwRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDaEMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELHdGQUF3RjtJQUN4RixLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLFlBQVksRUFBRSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzRixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFLRixNQUFNLE9B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RUFBMkUsRUFBRSxPQUFPO1lBQ3BGLDhCQUE4QixFQUFFLE1BQU07WUFDdEMsaUJBQWlCLEVBQUUsTUFBTTtZQUN6QixrQkFBa0IsRUFBRSxLQUFLO1lBQ3pCLGVBQWUsRUFBRSxNQUFNO1lBQ3ZCLCtCQUErQixFQUFFLE1BQU07WUFDdkMsbUJBQW1CLEVBQUUsTUFBTTtZQUMzQixZQUFZLEVBQUUsT0FBTztZQUNyQix3QkFBd0IsRUFBRSxLQUFLO1lBQy9CLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLFlBQVksRUFBRSxNQUFNO1lBQ3BCLHVCQUF1QixFQUFFLE1BQU07WUFDL0IsV0FBVyxFQUFFLE1BQU07WUFDbkIsWUFBWSxFQUFFLE9BQU87WUFDckIsWUFBWSxFQUFFLE9BQU87WUFDckIsWUFBWSxFQUFFLE9BQU87WUFDckIsV0FBVyxFQUFFLE9BQU87WUFDcEIsWUFBWSxFQUFFLFFBQVE7WUFDdEIsdUJBQXVCLEVBQUUsUUFBUTtZQUNqQywwQkFBMEIsRUFBRSxNQUFNO1lBQ2xDLG1FQUFtRSxFQUFFLE9BQU87WUFDNUUsaUJBQWlCLEVBQUUsTUFBTTtZQUN6QixpQ0FBaUMsRUFBRSxNQUFNO1lBQ3pDLGlCQUFpQixFQUFFLE1BQU07WUFDekIsWUFBWSxFQUFFLE1BQU07WUFDcEIsWUFBWSxFQUFFLE1BQU07WUFDcEIsYUFBYSxFQUFFLE1BQU07WUFDckIsYUFBYSxFQUFFLE1BQU07WUFDckIsNkJBQTZCLEVBQUUsS0FBSztTQUN2QyxDQUFDO1FBRUYsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsQ0FBQzswRkExRVEseUJBQXlCOytGQUF6Qix5QkFBeUI7O2lGQUF6Qix5QkFBeUI7Y0FIckMsSUFBSTtlQUFDO2dCQUNGLElBQUksRUFBRSx1QkFBdUI7YUFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgUGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RhdGVQaXBlLCBEZWNpbWFsUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7QWJzdHJhY3RJMThuU2VydmljZSwgQ1VSUkVOQ1lfSU5GTywgQ3VzdG9tUGlwZU1hbmFnZXIsIGhhc09mZnNldFN0ciwgaXNEZWZpbmVkfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQge1dtUGlwZX0gZnJvbSBcIi4vd20tcGlwZVwiO1xuaW1wb3J0IHtmaWx0ZXIsIGluY2x1ZGVzLCBpc0RhdGUsIGlzRnVuY3Rpb24sIGlzT2JqZWN0LCBpc1VuZGVmaW5lZCwgc3RhcnRzV2l0aH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5kZWNsYXJlIGNvbnN0IG1vbWVudDtcblxuY29uc3QgZ2V0RXBvY2hWYWx1ZSA9IGRhdGEgPT4ge1xuICAgIGxldCBlcG9jaDtcbiAgICAvLyBGb3IgZGF0YSBpbiBmb3JtIG9mIHN0cmluZyBudW1iZXIgKCcxMjMnKSwgY29udmVydCB0byBudW1iZXIgKDEyMykuIEFuZCBkb24ndCBwYXJzZSBkYXRlIG9iamVjdHMuXG4gICAgaWYgKCFpc0RhdGUoZGF0YSkgJiYgIWlzTmFOKGRhdGEpKSB7XG4gICAgICAgIGRhdGEgPSBwYXJzZUludChkYXRhLCAxMCk7XG4gICAgfVxuICAgIC8vIGdldCB0aGUgdGltZXN0YW1wIHZhbHVlLiBJZiBkYXRhIGlzIHRpbWUgc3RyaW5nLCBhcHBlbmQgZGF0ZSBzdHJpbmcgdG8gdGhlIHRpbWUgdmFsdWVcbiAgICBlcG9jaCA9IG1vbWVudChkYXRhKS52YWx1ZU9mKCkgfHwgbW9tZW50KG5ldyBEYXRlKCkudG9EYXRlU3RyaW5nKCkgKyAnICcgKyBkYXRhKS52YWx1ZU9mKCk7XG4gICAgcmV0dXJuIGVwb2NoO1xufTtcblxuQFBpcGUoe1xuICAgIG5hbWU6ICd0cmFpbGluZ1plcm9EZWNpbWFsUGlwZSdcbn0pXG5leHBvcnQgY2xhc3MgVHJhaWxpbmdaZXJvRGVjaW1hbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgc2VsZWN0ZWRMb2NhbGU6IHN0cmluZywgbnVtYmVyZmlsdGVyOiBzdHJpbmcsIGxvY2FsZWZpbHRlcjogYW55LCB0cmFpbGluZ3plcm86IGJvb2xlYW4sIGRlY2ltYWxWYWx1ZTogc3RyaW5nLCBza2lwVHJhaWxpbmdaZXJvQ2hlY2s/OiBib29sZWFuLCBmb3JtYXR0ZWRMb2NhbGU/KTogYW55IHtcbiAgICAgICAgbnVtYmVyZmlsdGVyID0gdHJhaWxpbmd6ZXJvICYmICFza2lwVHJhaWxpbmdaZXJvQ2hlY2sgPyBgMS4ke2RlY2ltYWxWYWx1ZS5sZW5ndGh9LTE2YDogbnVtYmVyZmlsdGVyO1xuICAgICAgICBjb25zdCBsb2NhbGUgPSBmb3JtYXR0ZWRMb2NhbGUgPyBmb3JtYXR0ZWRMb2NhbGVbJ251bWJlciddIDogdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0odmFsdWUsIG51bWJlcmZpbHRlciwgbG9jYWxlZmlsdGVyIHx8IGxvY2FsZSB8fCBzZWxlY3RlZExvY2FsZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkZWNpbWFsUGlwZTogRGVjaW1hbFBpcGUpIHsgfVxuXG59XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAndG9EYXRlJ1xufSlcbmV4cG9ydCBjbGFzcyBUb0RhdGVQaXBlIGV4dGVuZHMgV21QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgLy8gVGhpcyBtZXRob2QgY2FsbHMgdGhlIGN1c3RvbSBmb3JtYXR0ZXIgZm4gYWZ0ZXIgYXBwbHlpbmcgdGhlIGV4aXNpdG5nIGRhdGUgcGF0dGVyblxuICAgIHJldHVybkZuKGRhdGEsIGFyZ3MpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNDdXN0b21QaXBlKSB7XG4gICAgICAgICAgICBpZiAoYXJncykge1xuICAgICAgICAgICAgICAgIGFyZ3NbMF0gPSBkYXRhO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3VzdG9tRm9ybWF0dGVyKGRhdGEsIGFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgICB0cmFuc2Zvcm0oZGF0YTogYW55LCBmb3JtYXQ6IGFueSwgdGltZXpvbmU/LCBjb21wSW5zdGFuY2U/KSB7XG4gICAgICAgIGxldCB0aW1lc3RhbXA7XG4gICAgICAgIC8vICdudWxsJyBpcyB0byBiZSB0cmVhdGVkIGFzIGEgc3BlY2lhbCBjYXNlLCBJZiB1c2VyIHdhbnRzIHRvIGVudGVyIG51bGwgdmFsdWUsIGVtcHR5IHN0cmluZyB3aWxsIGJlIHBhc3NlZCB0byB0aGUgYmFja2VuZFxuICAgICAgICBpZiAoZGF0YSA9PT0gJ251bGwnIHx8IGRhdGEgPT09ICcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZXR1cm5GbignJywgYXJndW1lbnRzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzRGVmaW5lZChkYXRhKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmV0dXJuRm4oJycsYXJndW1lbnRzKTtcbiAgICAgICAgfVxuICAgICAgICB0aW1lc3RhbXAgPSBnZXRFcG9jaFZhbHVlKGRhdGEpO1xuICAgICAgICBpZiAodGltZXN0YW1wKSB7XG4gICAgICAgICAgICBpZiAoZm9ybWF0ID09PSAndGltZXN0YW1wJykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJldHVybkZuKHRpbWVzdGFtcCwgYXJndW1lbnRzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChmb3JtYXQgPT09ICdVVEMnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmV0dXJuRm4obmV3IERhdGUodGltZXN0YW1wKS50b0lTT1N0cmluZygpLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IGZvcm1hdHRlZFZhbDtcbiAgICAgICAgICAgIGNvbnN0IHRpbWVab25lID0gdGhpcy5pMThuU2VydmljZSA/IHRoaXMuaTE4blNlcnZpY2UuZ2V0VGltZXpvbmUoY29tcEluc3RhbmNlKSA6IHRpbWV6b25lO1xuICAgICAgICAgICAgaWYgKHRpbWVab25lICYmIChkYXRhID09PSB0aW1lc3RhbXAgfHwgaGFzT2Zmc2V0U3RyKGRhdGEpKSkge1xuICAgICAgICAgICAgICAgIGZvcm1hdHRlZFZhbCA9IG1vbWVudCh0aW1lc3RhbXApLnR6KHRpbWVab25lKS5mb3JtYXQoZm9ybWF0LnJlcGxhY2VBbGwoJ3knLCAnWScpLnJlcGxhY2VBbGwoJ2QnLCAnRCcpLnJlcGxhY2UoJ2EnLCAnQScpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZm9ybWF0dGVkVmFsID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odGltZXN0YW1wLCBmb3JtYXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmV0dXJuRm4oZm9ybWF0dGVkVmFsLCBhcmd1bWVudHMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnJldHVybkZuKCcnLCBhcmd1bWVudHMpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlLCBwcml2YXRlIGkxOG5TZXJ2aWNlOiBBYnN0cmFjdEkxOG5TZXJ2aWNlLCBwcm90ZWN0ZWQgY3VzdG9tUGlwZU1hbmFnZXI6IEN1c3RvbVBpcGVNYW5hZ2VyKSB7XG4gICAgICAgIHN1cGVyKCd0b0RhdGUnLCBjdXN0b21QaXBlTWFuYWdlcik7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgbmFtZTogJ3RvTnVtYmVyJ1xufSlcbmV4cG9ydCBjbGFzcyBUb051bWJlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0oZGF0YSwgZnJhY1NpemUpIHtcbiAgICAgICAgaWYgKGZyYWNTaXplICYmICFTdHJpbmcoZnJhY1NpemUpLm1hdGNoKC9eKFxcZCspP1xcLigoXFxkKykoLShcXGQrKSk/KT8kLykpIHtcbiAgICAgICAgICAgIGZyYWNTaXplID0gJzEuJyArIGZyYWNTaXplICsgJy0nICsgZnJhY1NpemU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc05hTigrZGF0YSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvY2FsZSA9IHRoaXMuaTE4blNlcnZpY2UgJiYgdGhpcy5pMThuU2VydmljZS5nZXR3aWRnZXRMb2NhbGUoKSA/IHRoaXMuaTE4blNlcnZpY2UuZ2V0d2lkZ2V0TG9jYWxlKCkgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWRMb2NhbGUgPSBsb2NhbGUgPyBsb2NhbGVbJ251bWJlciddIDogbnVsbDtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRlY2ltYWxQaXBlLnRyYW5zZm9ybShkYXRhLCBmcmFjU2l6ZSwgZm9ybWF0dGVkTG9jYWxlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRlY2ltYWxQaXBlOiBEZWNpbWFsUGlwZSwgIEBJbmplY3QoQWJzdHJhY3RJMThuU2VydmljZSkgcHJpdmF0ZSBpMThuU2VydmljZTogQWJzdHJhY3RJMThuU2VydmljZSkge1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIG5hbWU6ICd0b0N1cnJlbmN5J1xufSlcbmV4cG9ydCBjbGFzcyBUb0N1cnJlbmN5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShkYXRhLCBjdXJyZW5jeVN5bWJvbCwgZnJhY1NpemUpIHtcbiAgICAgICAgY29uc3QgX2N1cnJlbmN5U3ltYm9sID0gKENVUlJFTkNZX0lORk9bY3VycmVuY3lTeW1ib2xdIHx8IHt9KS5zeW1ib2wgfHwgY3VycmVuY3lTeW1ib2wgfHwgJyc7XG4gICAgICAgIGxldCBfdmFsID0gbmV3IFRvTnVtYmVyUGlwZSh0aGlzLmRlY2ltYWxQaXBlLCB0aGlzLmkxOG5TZXJ2aWNlKS50cmFuc2Zvcm0oZGF0YSwgZnJhY1NpemUpO1xuICAgICAgICBjb25zdCBpc05lZ2F0aXZlTnVtYmVyID0gc3RhcnRzV2l0aChfdmFsLCAnLScpO1xuICAgICAgICBpZiAoaXNOZWdhdGl2ZU51bWJlcikge1xuICAgICAgICAgICAgX3ZhbCA9IF92YWwucmVwbGFjZSgnLScsJycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfdmFsID8gaXNOZWdhdGl2ZU51bWJlciA/ICctJysgX2N1cnJlbmN5U3ltYm9sICtfdmFsIDpfY3VycmVuY3lTeW1ib2wgKyBfdmFsIDogJyc7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkZWNpbWFsUGlwZTogRGVjaW1hbFBpcGUsIEBJbmplY3QoQWJzdHJhY3RJMThuU2VydmljZSkgcHJpdmF0ZSBpMThuU2VydmljZTogQWJzdHJhY3RJMThuU2VydmljZSkge1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIG5hbWU6ICdwcmVmaXgnXG59KVxuZXhwb3J0IGNsYXNzIFByZWZpeFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0oZGF0YSwgcGFkZGluZykge1xuICAgICAgICByZXR1cm4gKGlzVW5kZWZpbmVkKGRhdGEpIHx8IGRhdGEgPT09IG51bGwgfHwgZGF0YSA9PT0gJycpID8gZGF0YSA6ICgocGFkZGluZyB8fCAnJykgKyBkYXRhKTtcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnc3VmZml4J1xufSlcbmV4cG9ydCBjbGFzcyBTdWZmaXhQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKGRhdGEsIHBhZGRpbmcpIHtcbiAgICAgICAgcmV0dXJuIChpc1VuZGVmaW5lZChkYXRhKSB8fCBkYXRhID09PSBudWxsIHx8IGRhdGEgPT09ICcnKSA/IGRhdGEgOiAoZGF0YSArIChwYWRkaW5nIHx8ICcnKSk7XG4gICAgfVxufVxuXG5cbi8qKlxuICogQ3VzdG9tIHBpcGU6IEl0IGlzIHdvcmsgYXMgaW50ZXJjZXB0b3IgYmV0d2VlbiB0aGUgdXNlciBjdXN0b20gcGlwZSBmdW5jdGlvbiBhbmQgYW5ndWxhciBwaXBlXG4gKi9cbkBQaXBlKHtcbiAgICBuYW1lOiAnY3VzdG9tJ1xufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjdXN0bWVVc2VyUGlwZTogQ3VzdG9tUGlwZU1hbmFnZXIpIHtcblxuICAgIH1cbiAgICB0cmFuc2Zvcm0oZGF0YSwgcGlwZW5hbWUpIHtcbiAgICAgICBsZXQgYXJndW1lbnRBcnIgPSBbXTtcbiAgICAgICBmb3IobGV0IGkgPTIgOyBpPGFyZ3VtZW50cy5sZW5ndGg7IGkrKyApe1xuICAgICAgICBhcmd1bWVudEFyci5wdXNoKGFyZ3VtZW50c1tpXSk7XG4gICAgICAgfVxuXG4gICAgICAgIGxldCBwaXBlUmVmID0gdGhpcy5jdXN0bWVVc2VyUGlwZS5nZXRDdXN0b21QaXBlKHBpcGVuYW1lKTtcbiAgICAgICAgaWYgKCFwaXBlUmVmIHx8ICFpc0Z1bmN0aW9uKHBpcGVSZWYuZm9ybWF0dGVyKSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdmb3JtYXR0ZXIgaXMgbm90IGRlZmluZWQsIHBsZWFzZSBjaGVjayB0aGUgY3VzdG9tIHBpcGVzIGRvY3VtZW50YXRpb24nKTtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5e1xuICAgICAgICAgICAgcmV0dXJuIHBpcGVSZWYuZm9ybWF0dGVyKGRhdGEsIC4uLmFyZ3VtZW50QXJyKTtcbiAgICAgICAgfSBjYXRjaChlcnJvcil7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdQaXBlIG5hbWU6ICcrcGlwZW5hbWUsIGVycm9yKTtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICAgfVxuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIG5hbWU6ICd0aW1lRnJvbU5vdydcbn0pXG5leHBvcnQgY2xhc3MgVGltZUZyb21Ob3dQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKGRhdGEpIHtcbiAgICAgICAgbGV0IHRpbWVzdGFtcDtcbiAgICAgICAgaWYgKCFpc0RlZmluZWQoZGF0YSkpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgdGltZXN0YW1wID0gZ2V0RXBvY2hWYWx1ZShkYXRhKTtcbiAgICAgICAgcmV0dXJuIHRpbWVzdGFtcCA/IG1vbWVudCh0aW1lc3RhbXApLmZyb21Ob3coKSA6IHVuZGVmaW5lZDtcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnbnVtYmVyVG9TdHJpbmcnXG59KVxuZXhwb3J0IGNsYXNzIE51bWJlclRvU3RyaW5nUGlwZSBleHRlbmRzIFRvTnVtYmVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0geyB9XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnc3RyaW5nVG9OdW1iZXInXG59KVxuZXhwb3J0IGNsYXNzIFN0cmluZ1RvTnVtYmVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShkYXRhKSB7XG4gICAgICAgIHJldHVybiBOdW1iZXIoZGF0YSkgfHwgdW5kZWZpbmVkO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIG5hbWU6ICdmaWx0ZXInXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0oZGF0YTogYW55W10sIGZpZWxkOiBhbnksIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgb2JqZWN0IGlzIHBhc3NlZCBhcyBmaXJzdCBwYXJhbXRlclxuICAgICAgICBpZiAoaXNPYmplY3QoZmllbGQpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmlsdGVyKGRhdGEsIGZpZWxkKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJZiBrZXkgdmFsdWUgcGFpciBpcyBwcm92aWRlZFxuICAgICAgICByZXR1cm4gZmlsdGVyKGRhdGEsIGl0ZW0gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGluY2x1ZGVzKGl0ZW1bZmllbGRdLCB2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIG5hbWU6ICdmaWxlc2l6ZSdcbn0pXG5leHBvcnQgY2xhc3MgRmlsZVNpemVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKGJ5dGVzOiBudW1iZXIsIHByZWNpc2lvbjogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHVuaXRzID0gW1xuICAgICAgICAgICAgJ2J5dGVzJyxcbiAgICAgICAgICAgICdLQicsXG4gICAgICAgICAgICAnTUInLFxuICAgICAgICAgICAgJ0dCJyxcbiAgICAgICAgICAgICdUQicsXG4gICAgICAgICAgICAnUEInXG4gICAgICAgIF07XG5cbiAgICAgICAgLypUb2RvW3NodWJoYW1dXG4gICAgICAgIGlmIChpc05hTihwYXJzZUZsb2F0KGJ5dGVzKSkgfHwgIWlzRmluaXRlKGJ5dGVzKSkge1xuICAgICAgICAgICAgcmV0dXJuIGlzTW9iaWxlKCkgPyAnJyA6ICc/JztcbiAgICAgICAgfSovXG4gICAgICAgIGxldCB1bml0ID0gMDtcbiAgICAgICAgd2hpbGUgKGJ5dGVzID49IDEwMjQpIHtcbiAgICAgICAgICAgIGJ5dGVzIC89IDEwMjQ7XG4gICAgICAgICAgICB1bml0Kys7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJ5dGVzLnRvRml4ZWQoK3ByZWNpc2lvbikgKyAnICcgKyB1bml0c1t1bml0XTtcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnZmlsZUljb25DbGFzcydcbn0pXG5leHBvcnQgY2xhc3MgRmlsZUljb25DbGFzc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0oZmlsZUV4dGVuc2lvbjogYW55KSB7XG4gICAgICAgIGNvbnN0IGZpbGVDbGFzc01hcHBpbmcgPSB7XG4gICAgICAgICAgICAnemlwJyAgICAgICA6ICAgJ2ZhLWZpbGUtemlwLW8nLFxuICAgICAgICAgICAgJ3BkZicgICAgICAgOiAgICdmYS1maWxlLXBkZi1vJyxcbiAgICAgICAgICAgICdyYXInICAgICAgIDogICAnZmEtZmlsZS1hcmNoaXZlLW8nLFxuICAgICAgICAgICAgJ3R4dCcgICAgICAgOiAgICdmYS1maWxlLXRleHQtbycsXG4gICAgICAgICAgICAncHB0JyAgICAgICA6ICAgJ2ZhLWZpbGUtcG93ZXJwb2ludC1vJyxcbiAgICAgICAgICAgICdwb3QnICAgICAgIDogICAnZmEtZmlsZS1wb3dlcnBvaW50LW8nLFxuICAgICAgICAgICAgJ3BwcycgICAgICAgOiAgICdmYS1maWxlLXBvd2VycG9pbnQtbycsXG4gICAgICAgICAgICAncHB0eCcgICAgICA6ICAgJ2ZhLWZpbGUtcG93ZXJwb2ludC1vJyxcbiAgICAgICAgICAgICdwb3R4JyAgICAgIDogICAnZmEtZmlsZS1wb3dlcnBvaW50LW8nLFxuICAgICAgICAgICAgJ3Bwc3gnICAgICAgOiAgICdmYS1maWxlLXBvd2VycG9pbnQtbycsXG4gICAgICAgICAgICAnbXBnJyAgICAgICA6ICAgJ2ZhLWZpbGUtbW92aWUtbycsXG4gICAgICAgICAgICAnbXA0JyAgICAgICA6ICAgJ2ZhLWZpbGUtbW92aWUtbycsXG4gICAgICAgICAgICAnbW92JyAgICAgICA6ICAgJ2ZhLWZpbGUtbW92aWUtbycsXG4gICAgICAgICAgICAnYXZpJyAgICAgICA6ICAgJ2ZhLWZpbGUtbW92aWUtbycsXG4gICAgICAgICAgICAnbXAzJyAgICAgICA6ICAgJ2ZhLWZpbGUtYXVkaW8tbycsXG4gICAgICAgICAgICAnZG9jeCcgICAgICA6ICAgJ2ZhLWZpbGUtd29yZC1vJyxcbiAgICAgICAgICAgICdqcycgICAgICAgIDogICAnZmEtZmlsZS1jb2RlLW8nLFxuICAgICAgICAgICAgJ21kJyAgICAgICAgOiAgICdmYS1maWxlLWNvZGUtbycsXG4gICAgICAgICAgICAnaHRtbCcgICAgICA6ICAgJ2ZhLWZpbGUtY29kZS1vJyxcbiAgICAgICAgICAgICdjc3MnICAgICAgIDogICAnZmEtZmlsZS1jb2RlLW8nLFxuICAgICAgICAgICAgJ3hsc3gnICAgICAgOiAgICdmYS1maWxlLWV4Y2VsLW8nLFxuICAgICAgICAgICAgJ3BuZycgICAgICAgOiAgICdmYS1maWxlLWltYWdlLW8nLFxuICAgICAgICAgICAgJ2pwZycgICAgICAgOiAgICdmYS1maWxlLWltYWdlLW8nLFxuICAgICAgICAgICAgJ2pwZWcnICAgICAgOiAgICdmYS1maWxlLWltYWdlLW8nLFxuICAgICAgICAgICAgJ2ZpbGUnICAgICAgOiAgICdmYS1maWxlLW8nLFxuICAgICAgICAgICAgJ2RlZmF1bHQnICAgOiAgICdmYS1maWxlLW8nXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuICdmYSAnICsgKGZpbGVDbGFzc01hcHBpbmdbZmlsZUV4dGVuc2lvbl0gfHwgJ2ZhLWZpbGUtbycpO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIG5hbWU6ICdzdGF0ZUNsYXNzJ1xufSlcbmV4cG9ydCBjbGFzcyBTdGF0ZUNsYXNzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShzdGF0ZSkge1xuICAgICAgICBjb25zdCBzdGF0ZUNsYXNzTWFwID0ge1xuICAgICAgICAgICAgJ3N1Y2Nlc3MnOiAnd2kgd2ktY2hlY2stY2lyY2xlIHRleHQtc3VjY2VzcycsXG4gICAgICAgICAgICAnZXJyb3InICAgICA6ICd3aSB3aS1lcnJvciB0ZXh0LWRhbmdlcidcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHN0YXRlQ2xhc3NNYXBbc3RhdGUudG9Mb3dlckNhc2UoKV07XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgbmFtZTogJ2ZpbGVFeHRlbnNpb25Gcm9tTWltZSdcbn0pXG5leHBvcnQgY2xhc3MgRmlsZUV4dGVuc2lvbkZyb21NaW1lUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShtaW1lVHlwZTogYW55KSB7XG4gICAgICAgIGNvbnN0IHR5cGVNYXBwaW5nID0ge1xuICAgICAgICAgICAgJ2F1ZGlvL2FhYyc6ICcuYWFjJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LWFiaXdvcmQnOiAnLmFidycsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vdm5kLmFuZHJvaWQucGFja2FnZS1hcmNoaXZlJzogJy5hcGsnLFxuICAgICAgICAgICAgJ3ZpZGVvL3gtbXN2aWRlbyc6ICcuYXZpJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQuYW1hem9uLmVib29rJzogJy5hencnLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSc6ICcuYmluJyxcbiAgICAgICAgICAgICdpbWFnZS9ibXAnOiAnLmJtcCcsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24veC1iemlwJzogJy5ieicsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24veC1iemlwMic6ICcuYnoyJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LWNzaCc6ICcuY3NoJyxcbiAgICAgICAgICAgICd0ZXh0L2Nzcyc6ICcuY3NzJyxcbiAgICAgICAgICAgICd0ZXh0L2Nzdic6ICcuY3N2JyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9tc3dvcmQnOiAnLmRvYycsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnOiAnLmRvY3gnLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1mb250b2JqZWN0JzogJy5lb3QnLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2VwdWIremlwJzogJy5lcHViJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9lY21hc2NyaXB0JzogJy5lcycsXG4gICAgICAgICAgICAnaW1hZ2UvZ2lmJzogJy5naWYnLFxuICAgICAgICAgICAgJ3RleHQvaHRtbCc6ICcuaHRtbCcsXG4gICAgICAgICAgICAnaW1hZ2UveC1pY29uJzogJy5pY28nLFxuICAgICAgICAgICAgJ3RleHQvY2FsZW5kYXInOiAnLmljcycsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vamF2YS1hcmNoaXZlJzogJy5qYXInLFxuICAgICAgICAgICAgJ2ltYWdlL2pwZWcnOiBbJy5qcGVnJywgJy5qcGcnXSxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qYXZhc2NyaXB0JzogJy5qcycsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbic6ICcuanNvbicsXG4gICAgICAgICAgICAnYXVkaW8vbWlkaSc6ICcubWlkJyxcbiAgICAgICAgICAgICdhdWRpby94LW1pZGknOiAnLm1pZGknLFxuICAgICAgICAgICAgJ3ZpZGVvL21wZWcnOiAnLm1wZWcnLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5hcHBsZS5pbnN0YWxsZXIreG1sJzogJ21wa2cnLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQucHJlc2VudGF0aW9uJzogJy5vZHAnLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuc3ByZWFkc2hlZXQnOiAnLm9kcycsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC50ZXh0JzogJy5vZHQnLFxuICAgICAgICAgICAgJ2F1ZGlvL29nZyc6ICcub2dhJyxcbiAgICAgICAgICAgICd2aWRlby9vZ2cnOiAnLm9ndicsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vb2dnJzogJy5vZ3gnLFxuICAgICAgICAgICAgJ2ZvbnQvb3RmJzogJy5vdGYnLFxuICAgICAgICAgICAgJ2ltYWdlL3BuZyc6ICcucG5nJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9wZGYnOiAnLnBkZicsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQnOiAnLnBwdCcsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnByZXNlbnRhdGlvbic6ICcucHB0eCcsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24veC1yYXItY29tcHJlc3NlZCc6ICcucmFyJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9ydGYnOiAnLnJ0ZicsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24veC1zaCc6ICcuc2gnLFxuICAgICAgICAgICAgJ2ltYWdlL3N2Zyt4bWwnOiAnLnN2ZycsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gnOiAnLnN3ZicsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24veC10YXInOiAnLnRhcicsXG4gICAgICAgICAgICAnaW1hZ2UvdGlmZic6ICcudGlmZicsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vdHlwZXNjcmlwdCc6ICcudHMnLFxuICAgICAgICAgICAgJ2ZvbnQvdHRmJzogJy50dGYnLFxuICAgICAgICAgICAgJ3RleHQvcGxhaW4nOiAnLnR4dCcsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vdm5kLnZpc2lvJzogJy52c2QnLFxuICAgICAgICAgICAgJ2F1ZGlvL3dhdic6ICcud2F2JyxcbiAgICAgICAgICAgICdhdWRpby93ZWJtJzogJy53ZWJhJyxcbiAgICAgICAgICAgICd2aWRlby93ZWJtJzogJy53ZWJtJyxcbiAgICAgICAgICAgICdpbWFnZS93ZWJwJzogJy53ZWJwJyxcbiAgICAgICAgICAgICdmb250L3dvZmYnOiAnLndvZmYnLFxuICAgICAgICAgICAgJ2ZvbnQvd29mZjInOiAnLndvZmYyJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi94aHRtbCt4bWwnOiAnLnhodG1sJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnOiAnLnhscycsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnOiAnLnhsc3gnLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3htbCc6ICcueG1sJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQubW96aWxsYS54dWwreG1sJzogJy54dWwnLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3ppcCc6ICcuemlwJyxcbiAgICAgICAgICAgICd2aWRlby8zZ3BwJzogJy4zZ3AnLFxuICAgICAgICAgICAgJ2F1ZGlvLzNncHAnOiAnLjNncCcsXG4gICAgICAgICAgICAndmlkZW8vM2dwcDInOiAnLjNnMicsXG4gICAgICAgICAgICAnYXVkaW8vM2dwcDInOiAnLjNnMicsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24veC03ei1jb21wcmVzc2VkJzogJy43eidcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdHlwZU1hcHBpbmdbbWltZVR5cGVdO1xuICAgIH1cbn1cblxuXG4iXX0=
|
|
@@ -2747,7 +2747,7 @@ class FileIconClassPipe {
|
|
|
2747
2747
|
class StateClassPipe {
|
|
2748
2748
|
transform(state) {
|
|
2749
2749
|
const stateClassMap = {
|
|
2750
|
-
'success': 'wi wi-
|
|
2750
|
+
'success': 'wi wi-check-circle text-success',
|
|
2751
2751
|
'error': 'wi wi-error text-danger'
|
|
2752
2752
|
};
|
|
2753
2753
|
return stateClassMap[state.toLowerCase()];
|