ngx-sumax-erp-components 1.1.6 → 1.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/README.md +24 -24
- package/esm2022/lib/date-picker/CustomDatePickerFormat.mjs +1 -1
- package/esm2022/lib/date-picker/CustomDatePickerI18n.mjs +1 -1
- package/esm2022/lib/date-picker/date-picker.component.mjs +3 -3
- package/esm2022/lib/date-picker/date-picker.mjs +1 -1
- package/esm2022/lib/date-picker/date-picker.module.mjs +1 -1
- package/esm2022/lib/date-picker/date-picker.service.mjs +1 -1
- package/esm2022/lib/date-time-picker/date-time-picker.component.mjs +3 -3
- package/esm2022/lib/date-time-picker/date-time-picker.mjs +1 -1
- package/esm2022/lib/date-time-picker/date-time-picker.module.mjs +1 -1
- package/esm2022/lib/date-time-picker/date-time-picker.service.mjs +1 -1
- package/esm2022/lib/date-time-picker-editable/date-time-picker-editable.component.mjs +3 -3
- package/esm2022/lib/date-time-picker-editable/date-time-picker-editable.module.mjs +1 -1
- package/esm2022/lib/date-time-picker-editable/date-time-picker-editable.service.mjs +1 -1
- package/esm2022/lib/dialog-ag-grid-search/dialog-ag-grid-search.component.mjs +8 -8
- package/esm2022/lib/dialog-ag-grid-search/dialog-ag-grid-search.module.mjs +1 -1
- package/esm2022/lib/error-message/error-message.component.mjs +3 -3
- package/esm2022/lib/error-message/error-message.module.mjs +1 -1
- package/esm2022/lib/input-number/input-number.component.mjs +3 -3
- package/esm2022/lib/input-number/input-number.mjs +1 -1
- package/esm2022/lib/input-number/input-number.module.mjs +1 -1
- package/esm2022/lib/input-number/input-number.service.mjs +1 -1
- package/esm2022/lib/input-text/input-text.component.mjs +3 -3
- package/esm2022/lib/input-text/input-text.mjs +1 -1
- package/esm2022/lib/input-text/input-text.module.mjs +1 -1
- package/esm2022/lib/input-text/input-text.service.mjs +1 -1
- package/esm2022/lib/ng-select-multiple/ng-select-multiple.component.mjs +3 -3
- package/esm2022/lib/ng-select-multiple/ng-select-multiple.mjs +1 -1
- package/esm2022/lib/ng-select-multiple/ng-select-multiple.module.mjs +1 -1
- package/esm2022/lib/ng-select-multiple/ng-select-multiple.service.mjs +1 -1
- package/esm2022/lib/ng-select-simple/ng-select-simple.component.mjs +3 -3
- package/esm2022/lib/ng-select-simple/ng-select-simple.mjs +1 -1
- package/esm2022/lib/ng-select-simple/ng-select-simple.module.mjs +1 -1
- package/esm2022/lib/ng-select-simple/ng-select-simple.service.mjs +1 -1
- package/esm2022/lib/sc-ag-grid/cell-editors/container-shared/container-shared.component.mjs +3 -3
- package/esm2022/lib/sc-ag-grid/cell-render/no-rows-overlay/noRowsOverlayCustom.component.mjs +11 -11
- package/esm2022/lib/sc-ag-grid/cell-render/no-rows-overlay/noRowsOverlayDefault.component.mjs +9 -9
- package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-button/sc-cell-render-button.component.mjs +127 -126
- package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-checkbox-list/sc-cell-render-checkbox-list.component.mjs +37 -37
- package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-config.mjs +1 -1
- package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-select/sc-cell-render-select.component.mjs +19 -19
- package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-toggle/sc-cell-render-toggle.component.mjs +9 -9
- package/esm2022/lib/sc-ag-grid/directives/scAgGrid.directive.mjs +1 -1
- package/esm2022/lib/sc-ag-grid/index.mjs +1 -1
- package/esm2022/lib/sc-ag-grid/input-search/input-search.component.mjs +3 -3
- package/esm2022/lib/sc-ag-grid/input-search/input-search.module.mjs +1 -1
- package/esm2022/lib/sc-ag-grid/sc-ag-grid-customizable/sc-ag-grid-customizable.component.mjs +13 -13
- package/esm2022/lib/sc-ag-grid/sc-ag-grid-pagination/sc-ag-grid-pagination.component.mjs +3 -3
- package/esm2022/lib/sc-ag-grid/sc-ag-grid-pagination/sc-ag-grid-pagination.module.mjs +1 -1
- package/esm2022/lib/sc-ag-grid/sc-ag-grid.module.mjs +1 -1
- package/esm2022/lib/sc-ag-grid/sc-grid.uitl.mjs +1 -1
- package/esm2022/lib/sc-wizard/sc-wizard.component.mjs +3 -3
- package/esm2022/lib/sc-wizard/sc-wizard.module.mjs +1 -1
- package/esm2022/lib/text-area/text-area.component.mjs +3 -3
- package/esm2022/lib/text-area/text-area.mjs +1 -1
- package/esm2022/lib/text-area/text-area.module.mjs +1 -1
- package/esm2022/lib/text-area/text-area.service.mjs +1 -1
- package/esm2022/lib/tooltip-message/tooltip-message.component.mjs +3 -3
- package/esm2022/lib/tooltip-message/tooltip-message.module.mjs +1 -1
- package/esm2022/lib/utils/DateTimeModel.mjs +1 -1
- package/esm2022/lib/utils/DateTimePickerEditable.mjs +1 -1
- package/esm2022/lib/utils/DateUtil.mjs +1 -1
- package/esm2022/lib/utils/INgSelect.mjs +1 -1
- package/esm2022/lib/utils/IScAgGrid.mjs +1 -1
- package/esm2022/lib/utils/NgSelectUtils.mjs +1 -1
- package/esm2022/lib/utils/ScWizardBase.mjs +1 -1
- package/esm2022/lib/utils/SharedComponentsUtil.mjs +1 -1
- package/esm2022/lib/utils/ValidateUtil.mjs +1 -1
- package/esm2022/lib/utils/message-util.service.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/ngx-sumax-erp-components.mjs +253 -252
- package/fesm2022/ngx-sumax-erp-components.mjs.map +1 -1
- package/lib/sc-ag-grid/cell-render/sc-cell-render-button/sc-cell-render-button.component.d.ts +4 -2
- package/lib/sc-ag-grid/sc-ag-grid-customizable/sc-ag-grid-customizable.component.d.ts +2 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
# SumaxComponents
|
|
2
|
-
|
|
3
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.3.0.
|
|
4
|
-
|
|
5
|
-
## Code scaffolding
|
|
6
|
-
|
|
7
|
-
Run `ng generate component component-name --project ngx-sumax-erp-component` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ngx-sumax-erp-component`.
|
|
8
|
-
> Note: Don't forget to add `--project ngx-sumax-erp-component` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
-
|
|
10
|
-
## Build
|
|
11
|
-
|
|
12
|
-
Run `ng build ngx-sumax-erp-component` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
-
|
|
14
|
-
## Publishing
|
|
15
|
-
|
|
16
|
-
After building your library with `ng build ngx-sumax-erp-component`, go to the dist folder `cd dist/ngx-sumax-erp-component` and run `npm publish`.
|
|
17
|
-
|
|
18
|
-
## Running unit tests
|
|
19
|
-
|
|
20
|
-
Run `ng test ngx-sumax-erp-component` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
-
|
|
22
|
-
## Further help
|
|
23
|
-
|
|
24
|
-
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
1
|
+
# SumaxComponents
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.3.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project ngx-sumax-erp-component` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ngx-sumax-erp-component`.
|
|
8
|
+
> Note: Don't forget to add `--project ngx-sumax-erp-component` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build ngx-sumax-erp-component` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build ngx-sumax-erp-component`, go to the dist folder `cd dist/ngx-sumax-erp-component` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test ngx-sumax-erp-component` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -40,4 +40,4 @@ export class CustomDatepickerFormat extends NgbDateParserFormatter {
|
|
|
40
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CustomDatepickerFormat, decorators: [{
|
|
41
41
|
type: Injectable
|
|
42
42
|
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VzdG9tRGF0ZVBpY2tlckZvcm1hdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdW1heC1lcnAtY29tcG9uZW50L3NyYy9saWIvZGF0ZS1waWNrZXIvQ3VzdG9tRGF0ZVBpY2tlckZvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBaUIsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFbkYsTUFBTSxVQUFVLFNBQVMsQ0FBQyxLQUFVO0lBQ2xDLE9BQU8sUUFBUSxDQUFDLEdBQUcsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBVTtJQUNqQyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ2xDLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQWE7SUFDckMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNwQixPQUFPLElBQUksS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHNCQUFzQjtJQUNoRSxLQUFLLENBQUMsS0FBYTtRQUNqQixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNyRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNuRSxDQUFDO2lCQUFNLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN0RixPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUN0RixDQUFDO2lCQUFNLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDaEgsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDekcsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMxSSxDQUFDOytHQWpCVSxzQkFBc0I7bUhBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTmdiRGF0ZVBhcnNlckZvcm1hdHRlciwgTmdiRGF0ZVN0cnVjdCB9IGZyb20gXCJAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gdG9JbnRlZ2VyKHZhbHVlOiBhbnkpOiBudW1iZXIge1xuICByZXR1cm4gcGFyc2VJbnQoYCR7dmFsdWV9YCwgMTApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOdW1iZXIodmFsdWU6IGFueSk6IHZhbHVlIGlzIG51bWJlciB7XG4gIHJldHVybiAhaXNOYU4odG9JbnRlZ2VyKHZhbHVlKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYWROdW1iZXIodmFsdWU6IG51bWJlcikge1xuICBpZiAoaXNOdW1iZXIodmFsdWUpKSB7XG4gICAgcmV0dXJuIGAwJHt2YWx1ZX1gLnNsaWNlKC0yKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxufVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEN1c3RvbURhdGVwaWNrZXJGb3JtYXQgZXh0ZW5kcyBOZ2JEYXRlUGFyc2VyRm9ybWF0dGVyIHtcbiAgcGFyc2UodmFsdWU6IHN0cmluZyk6IE5nYkRhdGVTdHJ1Y3QgfCBhbnkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgY29uc3QgZGF0ZVBhcnRzID0gdmFsdWUudHJpbSgpLnNwbGl0KFwiLVwiKTtcbiAgICAgIGlmIChkYXRlUGFydHMubGVuZ3RoID09PSAxICYmIGlzTnVtYmVyKGRhdGVQYXJ0c1swXSkpIHtcbiAgICAgICAgcmV0dXJuIHsgZGF5OiB0b0ludGVnZXIoZGF0ZVBhcnRzWzBdKSwgbW9udGg6IG51bGwsIHllYXI6IG51bGwgfTtcbiAgICAgIH0gZWxzZSBpZiAoZGF0ZVBhcnRzLmxlbmd0aCA9PT0gMiAmJiBpc051bWJlcihkYXRlUGFydHNbMF0pICYmIGlzTnVtYmVyKGRhdGVQYXJ0c1sxXSkpIHtcbiAgICAgICAgcmV0dXJuIHsgZGF5OiB0b0ludGVnZXIoZGF0ZVBhcnRzWzBdKSwgbW9udGg6IHRvSW50ZWdlcihkYXRlUGFydHNbMV0pLCB5ZWFyOiBudWxsIH07XG4gICAgICB9IGVsc2UgaWYgKGRhdGVQYXJ0cy5sZW5ndGggPT09IDMgJiYgaXNOdW1iZXIoZGF0ZVBhcnRzWzBdKSAmJiBpc051bWJlcihkYXRlUGFydHNbMV0pICYmIGlzTnVtYmVyKGRhdGVQYXJ0c1syXSkpIHtcbiAgICAgICAgcmV0dXJuIHsgZGF5OiB0b0ludGVnZXIoZGF0ZVBhcnRzWzBdKSwgbW9udGg6IHRvSW50ZWdlcihkYXRlUGFydHNbMV0pLCB5ZWFyOiB0b0ludGVnZXIoZGF0ZVBhcnRzWzJdKSB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGZvcm1hdChkYXRlOiBOZ2JEYXRlU3RydWN0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gZGF0ZSA/IGAke2lzTnVtYmVyKGRhdGUuZGF5KSA/IHBhZE51bWJlcihkYXRlLmRheSkgOiBcIlwifS8ke2lzTnVtYmVyKGRhdGUubW9udGgpID8gcGFkTnVtYmVyKGRhdGUubW9udGgpIDogXCJcIn0vJHtkYXRlLnllYXJ9YCA6IFwiXCI7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -47,4 +47,4 @@ export class CustomDatepickerI18n extends NgbDatepickerI18n {
|
|
|
47
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CustomDatepickerI18n, decorators: [{
|
|
48
48
|
type: Injectable
|
|
49
49
|
}], ctorParameters: () => [{ type: I18n }] });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VzdG9tRGF0ZVBpY2tlckkxOG4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL2RhdGUtcGlja2VyL0N1c3RvbURhdGVQaWNrZXJJMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQVM5RSxNQUFNLFdBQVcsR0FBUztJQUN4QixFQUFFLEVBQUU7UUFDRixRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7UUFDckQsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7S0FDN0Y7SUFDRCxvQ0FBb0M7Q0FDckMsQ0FBQztBQUVGLGlIQUFpSDtBQUNqSCxrQ0FBa0M7QUFFbEMsTUFBTSxPQUFPLElBQUk7SUFEakI7UUFFRSxhQUFRLEdBQWUsSUFBSSxDQUFDO0tBQzdCOytHQUZZLElBQUk7bUhBQUosSUFBSTs7NEZBQUosSUFBSTtrQkFEaEIsVUFBVTs7QUFLWCx1RUFBdUU7QUFFdkUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGlCQUFpQjtJQUN6RCxZQUFvQixLQUFXO1FBQzdCLEtBQUssRUFBRSxDQUFDO1FBRFUsVUFBSyxHQUFMLEtBQUssQ0FBTTtJQUUvQixDQUFDO0lBRUQsbUJBQW1CLENBQUMsT0FBZTtRQUNqQyxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUNELGlCQUFpQixDQUFDLEtBQWE7UUFDN0IsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxLQUFhO1FBQzVCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBbUI7UUFDakMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFlO1FBQzdCLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDOytHQXJCVSxvQkFBb0I7bUhBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTmdiRGF0ZVN0cnVjdCwgTmdiRGF0ZXBpY2tlckkxOG4gfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcIjtcblxuaW50ZXJmYWNlIEkxOE4ge1xuICBmcjoge1xuICAgIHdlZWtkYXlzOiBzdHJpbmdbXTtcbiAgICBtb250aHM6IHN0cmluZ1tdO1xuICB9O1xufVxuXG5jb25zdCBJMThOX1ZBTFVFUzogSTE4TiA9IHtcbiAgZnI6IHtcbiAgICB3ZWVrZGF5czogW1wiTHVcIiwgXCJNYVwiLCBcIk1pXCIsIFwiSnVlXCIsIFwiVmlcIiwgXCJTYVwiLCBcIkRvXCJdLFxuICAgIG1vbnRoczogW1wiRW5lXCIsIFwiRmViXCIsIFwiTWFyXCIsIFwiQWJyXCIsIFwiTWF5XCIsIFwiSnVuXCIsIFwiSnVsXCIsIFwiQWdvXCIsIFwiU2VwXCIsIFwiT2N0XCIsIFwiTm92XCIsIFwiRGljXCJdLFxuICB9LFxuICAvLyBvdGhlciBsYW5ndWFnZXMgeW91IHdvdWxkIHN1cHBvcnRcbn07XG5cbi8vIERlZmluZSBhIHNlcnZpY2UgaG9sZGluZyB0aGUgbGFuZ3VhZ2UuIFlvdSBwcm9iYWJseSBhbHJlYWR5IGhhdmUgb25lIGlmIHlvdXIgYXBwIGlzIGkxOG5lZC4gT3IgeW91ICBjb3VsZCBhbHNvXG4vLyB1c2UgdGhlIEFuZ3VsYXIgTE9DQUxFX0lEIHZhbHVlXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSTE4biB7XG4gIGxhbmd1YWdlOiBrZXlvZiBJMThOID0gXCJmclwiO1xufVxuXG4vLyBEZWZpbmUgY3VzdG9tIHNlcnZpY2UgcHJvdmlkaW5nIHRoZSBtb250aHMgYW5kIHdlZWtkYXlzIHRyYW5zbGF0aW9uc1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEN1c3RvbURhdGVwaWNrZXJJMThuIGV4dGVuZHMgTmdiRGF0ZXBpY2tlckkxOG4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9pMThuOiBJMThuKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldFdlZWtkYXlTaG9ydE5hbWUod2Vla2RheTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSTE4Tl9WQUxVRVNbdGhpcy5faTE4bi5sYW5ndWFnZV0ud2Vla2RheXNbd2Vla2RheSAtIDFdO1xuICB9XG4gIGdldE1vbnRoU2hvcnROYW1lKG1vbnRoOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBJMThOX1ZBTFVFU1t0aGlzLl9pMThuLmxhbmd1YWdlXS5tb250aHNbbW9udGggLSAxXTtcbiAgfVxuICBnZXRNb250aEZ1bGxOYW1lKG1vbnRoOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldE1vbnRoU2hvcnROYW1lKG1vbnRoKTtcbiAgfVxuXG4gIGdldERheUFyaWFMYWJlbChkYXRlOiBOZ2JEYXRlU3RydWN0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7ZGF0ZS5kYXl9LSR7ZGF0ZS5tb250aH0tJHtkYXRlLnllYXJ9YDtcbiAgfVxuXG4gIGdldFdlZWtkYXlMYWJlbCh3ZWVrZGF5OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBJMThOX1ZBTFVFU1t0aGlzLl9pMThuLmxhbmd1YWdlXS53ZWVrZGF5c1t3ZWVrZGF5IC0gMV07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -407,7 +407,7 @@ export class DatePickerComponent {
|
|
|
407
407
|
I18n,
|
|
408
408
|
{ provide: NgbDatepickerI18n, useClass: CustomDatepickerI18n },
|
|
409
409
|
{ provide: NgbDateParserFormatter, useClass: CustomDatepickerFormat },
|
|
410
|
-
], viewQueries: [{ propertyName: "ngbDatepicker", first: true, predicate: ["fecha"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"label != null && label != '' && showLabel\" class=\"d-flex sumax-label mb-0 p-0\"\
|
|
410
|
+
], viewQueries: [{ propertyName: "ngbDatepicker", first: true, predicate: ["fecha"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"label != null && label != '' && showLabel\" class=\"d-flex sumax-label mb-0 p-0\"\n ><span [title]=\"label\" style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis\">{{ label }}</span>\n <span *ngIf=\"required\" class=\"ms-1\" [class.text-danger]=\"controls?.errors != null\"> *</span>\n <span *ngIf=\"labelInfo\">\n <i class=\"fa fa-exclamation-circle text-info ms-2\" [matTooltip]=\"textLabelInfo\" matTooltipClass=\"bg-info\"></i>\n </span>\n</label>\n<div\n [class.input-icon]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\n [class.right]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\">\n <!-- tooltip-message es el icono de error -->\n\n <div class=\"d-flex p-0 group-input-button position-relative\">\n <tooltip-message\n [label]=\"label\"\n [controls]=\"controls\"\n [validatorMessage]=\"validatorMessage\"\n [submitted]=\"submitted\"\n [tooltipMessage]=\"tooltipMessage\"></tooltip-message>\n <input\n type=\"text\"\n [attr.autocomplete]=\"autocomplete\"\n [class.is-invalid]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n (keyup.enter)=\"onKeyUpEnter()\"\n (keyup.ArrowUp)=\"arrowUpKeyUp()\"\n (keypress)=\"handleKeyPress($event)\"\n (input)=\"onInput($any($event.target).value)\"\n (dateSelect)=\"onInput($event)\"\n (focus)=\"onFocus($any($event.target).value)\"\n (focusout)=\"focusOut($any($event.target).value)\"\n (blur)=\"onBlur()\"\n (paste)=\"handlePaste($event)\"\n class=\"form-control form-control-sm rounded-left use-input\"\n container=\"body\"\n placeholder=\"dd/mm/yyyy\"\n [minDate]=\"{ year: 1960, month: 1, day: 1 }\"\n [maxDate]=\"maxDate\"\n name=\"fecha\"\n ngbDatepicker\n #fecha=\"ngbDatepicker\"\n [(ngModel)]=\"value\" />\n <button type=\"button\" [disabled]=\"disabled || readonly\" class=\"btn btn-info p-0 rounded-0 use-button\" (click)=\"fecha.toggle()\">\n <!-- <mat-icon class=\"text-white pt-1\" style=\"font-size: 18px;\" [matTooltip]=\"'Calendario'\" matTooltipClass=\"bg-info\">calendar_today</mat-icon> -->\n <i class=\"fa fa-calendar text-white px-1\" aria-hidden=\"true\"></i>\n </button>\n </div>\n</div>\n<!-- error-message es el mansaje que aparece abajo del componente -->\n<error-message\n [label]=\"label\"\n [controls]=\"controls\"\n [validatorMessage]=\"validatorMessage\"\n [submitted]=\"submitted\"\n [tooltipMessage]=\"tooltipMessage\"></error-message>\n", styles: ["button[disabled]{pointer-events:none}.sumax-label{color:#646c9a!important}.input-icon tooltip-message{color:#ccc;position:absolute;z-index:3;width:16px;font-size:16px;text-align:center;left:auto;right:35px;top:50%;transform:translateY(-50%)}.input-icon.right>.form-control{padding-right:33px;padding-left:12px}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #fde6e8!important}.was-validated .form-control:invalid,.form-control.is-invalid{background-image:none;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #fde6e8!important}.form-control:focus,.form-control:active{border-color:#007eff;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #007eff1a!important}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.errorMessageComponent, selector: "error-message", inputs: ["tooltipMessage", "validatorMessage", "controls", "label", "submitted"] }, { kind: "component", type: i6.tooltipMessageComponent, selector: "tooltip-message", inputs: ["tooltipMessage", "validatorMessage", "controls", "label", "submitted"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i8.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }] }); }
|
|
411
411
|
}
|
|
412
412
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
413
413
|
type: Component,
|
|
@@ -425,7 +425,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
425
425
|
I18n,
|
|
426
426
|
{ provide: NgbDatepickerI18n, useClass: CustomDatepickerI18n },
|
|
427
427
|
{ provide: NgbDateParserFormatter, useClass: CustomDatepickerFormat },
|
|
428
|
-
], template: "<label *ngIf=\"label != null && label != '' && showLabel\" class=\"d-flex sumax-label mb-0 p-0\"\
|
|
428
|
+
], template: "<label *ngIf=\"label != null && label != '' && showLabel\" class=\"d-flex sumax-label mb-0 p-0\"\n ><span [title]=\"label\" style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis\">{{ label }}</span>\n <span *ngIf=\"required\" class=\"ms-1\" [class.text-danger]=\"controls?.errors != null\"> *</span>\n <span *ngIf=\"labelInfo\">\n <i class=\"fa fa-exclamation-circle text-info ms-2\" [matTooltip]=\"textLabelInfo\" matTooltipClass=\"bg-info\"></i>\n </span>\n</label>\n<div\n [class.input-icon]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\n [class.right]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\">\n <!-- tooltip-message es el icono de error -->\n\n <div class=\"d-flex p-0 group-input-button position-relative\">\n <tooltip-message\n [label]=\"label\"\n [controls]=\"controls\"\n [validatorMessage]=\"validatorMessage\"\n [submitted]=\"submitted\"\n [tooltipMessage]=\"tooltipMessage\"></tooltip-message>\n <input\n type=\"text\"\n [attr.autocomplete]=\"autocomplete\"\n [class.is-invalid]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n (keyup.enter)=\"onKeyUpEnter()\"\n (keyup.ArrowUp)=\"arrowUpKeyUp()\"\n (keypress)=\"handleKeyPress($event)\"\n (input)=\"onInput($any($event.target).value)\"\n (dateSelect)=\"onInput($event)\"\n (focus)=\"onFocus($any($event.target).value)\"\n (focusout)=\"focusOut($any($event.target).value)\"\n (blur)=\"onBlur()\"\n (paste)=\"handlePaste($event)\"\n class=\"form-control form-control-sm rounded-left use-input\"\n container=\"body\"\n placeholder=\"dd/mm/yyyy\"\n [minDate]=\"{ year: 1960, month: 1, day: 1 }\"\n [maxDate]=\"maxDate\"\n name=\"fecha\"\n ngbDatepicker\n #fecha=\"ngbDatepicker\"\n [(ngModel)]=\"value\" />\n <button type=\"button\" [disabled]=\"disabled || readonly\" class=\"btn btn-info p-0 rounded-0 use-button\" (click)=\"fecha.toggle()\">\n <!-- <mat-icon class=\"text-white pt-1\" style=\"font-size: 18px;\" [matTooltip]=\"'Calendario'\" matTooltipClass=\"bg-info\">calendar_today</mat-icon> -->\n <i class=\"fa fa-calendar text-white px-1\" aria-hidden=\"true\"></i>\n </button>\n </div>\n</div>\n<!-- error-message es el mansaje que aparece abajo del componente -->\n<error-message\n [label]=\"label\"\n [controls]=\"controls\"\n [validatorMessage]=\"validatorMessage\"\n [submitted]=\"submitted\"\n [tooltipMessage]=\"tooltipMessage\"></error-message>\n", styles: ["button[disabled]{pointer-events:none}.sumax-label{color:#646c9a!important}.input-icon tooltip-message{color:#ccc;position:absolute;z-index:3;width:16px;font-size:16px;text-align:center;left:auto;right:35px;top:50%;transform:translateY(-50%)}.input-icon.right>.form-control{padding-right:33px;padding-left:12px}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #fde6e8!important}.was-validated .form-control:invalid,.form-control.is-invalid{background-image:none;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #fde6e8!important}.form-control:focus,.form-control:active{border-color:#007eff;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #007eff1a!important}\n"] }]
|
|
429
429
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.MessageUtilService }, { type: i2.DatePickerService }, { type: i0.Renderer2 }], propDecorators: { showLabel: [{
|
|
430
430
|
type: Input
|
|
431
431
|
}], label: [{
|
|
@@ -484,4 +484,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
484
484
|
type: ViewChild,
|
|
485
485
|
args: ['fecha']
|
|
486
486
|
}] } });
|
|
487
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN1bWF4LWVycC1jb21wb25lbnQvc3JjL2xpYi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBR04sU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsYUFBYSxFQUNiLGlCQUFpQixHQUVsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCxPQUFPLEVBQ1Asc0JBQXNCLEVBR3RCLGlCQUFpQixHQUNsQixNQUFNLDRCQUE0QixDQUFDO0FBR3BDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7QUF1QjdDLDJKQUEySjtBQUMzSixNQUFNLE9BQU8sbUJBQW1CO0lBNks5QixZQUNVLEVBQWMsRUFDZCxrQkFBc0MsRUFDdEMsaUJBQW9DLEVBQ3BDLE9BQWtCO1FBSGxCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsWUFBTyxHQUFQLE9B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YztzQkFBdEIsS0FBSztnQkFPRyxjQUFjO3NCQUF0QixLQUFLO2dCQU9HLFNBQVM7c0JBQWpCLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFPRyxhQUFhO3NCQUFyQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFPRyxPQUFPO3NCQUFmLEtBQUs7Z0JBT0csT0FBTztzQkFBZixLQUFLO2dCQU9HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxJQUFJO3NCQUFiLE1BQU07Z0JBT2EsYUFBYTtzQkFBaEMsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIGZvcndhcmRSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIE5HX1ZBTElEQVRPUlMsXHJcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgVmFsaWRhdGlvbkVycm9ycyxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgTmdiRGF0ZSxcclxuICBOZ2JEYXRlUGFyc2VyRm9ybWF0dGVyLFxyXG4gIE5nYkRhdGVTdHJ1Y3QsXHJcbiAgTmdiRGF0ZXBpY2tlcixcclxuICBOZ2JEYXRlcGlja2VySTE4bixcclxufSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IERhdGVQaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi9kYXRlLXBpY2tlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVzc2FnZVV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vdXRpbHMvbWVzc2FnZS11dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdXN0b21EYXRlcGlja2VySTE4biwgSTE4biB9IGZyb20gJy4vQ3VzdG9tRGF0ZVBpY2tlckkxOG4nO1xyXG5pbXBvcnQgeyBDdXN0b21EYXRlcGlja2VyRm9ybWF0IH0gZnJvbSAnLi9DdXN0b21EYXRlUGlja2VyRm9ybWF0JztcclxuaW1wb3J0IHsgU2hhcmVkQ29tcG9uZW50c1V0aWwgfSBmcm9tICcuLi91dGlscy9TaGFyZWRDb21wb25lbnRzVXRpbCc7XHJcbmltcG9ydCB7IERhdGVVdGlsIH0gZnJvbSAnLi4vdXRpbHMvRGF0ZVV0aWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkYXRlLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVBpY2tlckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVBpY2tlckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIEkxOG4sXHJcbiAgICB7IHByb3ZpZGU6IE5nYkRhdGVwaWNrZXJJMThuLCB1c2VDbGFzczogQ3VzdG9tRGF0ZXBpY2tlckkxOG4gfSxcclxuICAgIHsgcHJvdmlkZTogTmdiRGF0ZVBhcnNlckZvcm1hdHRlciwgdXNlQ2xhc3M6IEN1c3RvbURhdGVwaWNrZXJGb3JtYXQgfSxcclxuICBdLFxyXG59KVxyXG5cclxuLy8gcHJvdmlkZXJzOiBbSTE4biwgeyBwcm92aWRlOiBOZ2JEYXRlcGlja2VySTE4biwgdXNlQ2xhc3M6IEN1c3RvbURhdGVwaWNrZXJJMThuIH0sIHsgcHJvdmlkZTogTmdiRGF0ZVBhcnNlckZvcm1hdHRlciwgdXNlQ2xhc3M6IEN1c3RvbURhdGVwaWNrZXJGb3JtYXQgfV1cclxuZXhwb3J0IGNsYXNzIERhdGVQaWNrZXJDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvclxyXG57XHJcbiAgLyoqXHJcbiAgKiBAZGVzY3JpcHRpb24gQ29udHJvbGEgbGEgdmlzdWFsaXphY2nDs24gZGVsIHRleHRvIHN1cGVyaW9yIChsYWJlbClcclxuICAqIEBkZWZhdWx0IHRydWVcclxuICAqIEB0eXBlIGJvb2xlYW5cclxuICAqL1xyXG4gIEBJbnB1dCgpIHNob3dMYWJlbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgXHJcbiAgLyoqXHJcbiAgKiBAZGVzY3JpcHRpb24gVGV4dG8gYSBtb3N0cmFyIGNvbW8gZXRpcXVldGEgZGVsIGNhbXBvXHJcbiAgKiBAZGVmYXVsdCBudWxsXHJcbiAgKiBAdHlwZSBhbnlcclxuICAqL1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBhbnkgPSBudWxsO1xyXG4gIFxyXG4gIC8qKlxyXG4gICogQGRlc2NyaXB0aW9uIFZhbG9yIHBhcmEgZWwgYXRyaWJ1dG8gYXV0b2NvbXBsZXRlIGRlbCBpbnB1dFxyXG4gICogQGRlZmF1bHQgJ29mZidcclxuICAqIEB0eXBlIHN0cmluZ1xyXG4gICovXHJcbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlOiBzdHJpbmcgPSAnb2ZmJztcclxuICBcclxuICAvKipcclxuICAqIEBkZXNjcmlwdGlvbiBSZWZlcmVuY2lhIGFsIHNpZ3VpZW50ZSBjb250cm9sIHBhcmEgbmF2ZWdhY2nDs25cclxuICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxyXG4gICogQHR5cGUgYW55XHJcbiAgKi9cclxuICBASW5wdXQoKSBuZXh0OiBhbnk7XHJcbiAgXHJcbiAgLyoqXHJcbiAgKiBAZGVzY3JpcHRpb24gUmVmZXJlbmNpYSBhbCBjb250cm9sIGFsdGVybmF0aXZvIGN1YW5kbyBlbCBzaWd1aWVudGUgZXN0w6EgZGVzaGFiaWxpdGFkb1xyXG4gICogQGRlZmF1bHQgdW5kZWZpbmVkXHJcbiAgKiBAdHlwZSBhbnlcclxuICAqL1xyXG4gIEBJbnB1dCgpIG5leHRJc0Rpc2FibGU6IGFueTtcclxuICBcclxuICAvKipcclxuICAqIEBkZXNjcmlwdGlvbiBSZWZlcmVuY2lhIGFsIGNvbnRyb2wgYW50ZXJpb3IgcGFyYSBuYXZlZ2FjacOzblxyXG4gICogQGRlZmF1bHQgdW5kZWZpbmVkXHJcbiAgKiBAdHlwZSBhbnlcclxuICAqL1xyXG4gIEBJbnB1dCgpIGJhY2s6IGFueTtcclxuICBcclxuICAvKipcclxuICAqIEBkZXNjcmlwdGlvbiBSZWZlcmVuY2lhIGFsIGNvbnRyb2wgYWx0ZXJuYXRpdm8gY3VhbmRvIGVsIGFudGVyaW9yIGVzdMOhIGRlc2hhYmlsaXRhZG9cclxuICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxyXG4gICogQHR5cGUgYW55XHJcbiAgKi9cclxuICBASW5wdXQoKSBiYWNrSXNEaXNhYmxlOiBhbnk7XHJcbiAgXHJcbiAgLyoqXHJcbiAgKiBAZGVzY3JpcHRpb24gSW5kaWNhIHNpIGVsIGNhbXBvIGVzIG9ibGlnYXRvcmlvXHJcbiAgKiBAZGVmYXVsdCBmYWxzZVxyXG4gICogQHR5cGUgYm9vbGVhblxyXG4gICovXHJcbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBcclxuICAvKipcclxuICAqIEBkZXNjcmlwdGlvbiBDb21wbGV0YSBhdXRvbcOhdGljYW1lbnRlIGNvbiBudWxsIGN1YW5kbyBlbCB2YWxvciBlc3TDoSB2YWPDrW9cclxuICAqIEBkZWZhdWx0IHRydWVcclxuICAqIEB0eXBlIGJvb2xlYW5cclxuICAqL1xyXG4gIEBJbnB1dCgpIG5vQXV0b0NvbXBsZXRlTnVsbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgXHJcbiAgLyoqXHJcbiAgKiBAZGVzY3JpcHRpb24gRXN0YWJsZWNlIGVsIGNvbnRyb2wgY29tbyBzb2xvIGxlY3R1cmFcclxuICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgKiBAdHlwZSBib29sZWFuXHJcbiAgKi9cclxuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIFxyXG4gIC8qKlxyXG4gICogQGRlc2NyaXB0aW9uIE11ZXN0cmEgbWVuc2FqZXMgZGUgdmFsaWRhY2nDs25cclxuICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgKiBAdHlwZSBib29sZWFuXHJcbiAgKi9cclxuICBASW5wdXQoKSB2YWxpZGF0b3JNZXNzYWdlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgLyoqXHJcbiAgKiBAZGVzY3JpcHRpb24gTXVlc3RyYSBtZW5zYWplcyBkZSBheXVkYSBjb21vIHRvb2x0aXBzXHJcbiAgKiBAZGVmYXVsdCB0cnVlXHJcbiAgKiBAdHlwZSBib29sZWFuXHJcbiAgKi9cclxuICBASW5wdXQoKSB0b29sdGlwTWVzc2FnZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgXHJcbiAgLyoqXHJcbiAgKiBAZGVzY3JpcHRpb24gTXVlc3RyYSBhbGVydGFzIGRlIHZhbGlkYWNpw7NuXHJcbiAgKiBAZGVmYXVsdCBmYWxzZVxyXG4gICogQHR5cGUgYm9vbGVhblxyXG4gICovXHJcbiAgQElucHV0KCkgdmFsaWRhdG9yQWxlcnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBcclxuICAvKipcclxuICAqIEBkZXNjcmlwdGlvbiBJbmRpY2Egc2kgZWwgZm9ybXVsYXJpbyBoYSBzaWRvIGVudmlhZG8gcGFyYSBtb3N0cmFyIHZhbGlkYWNpb25lc1xyXG4gICogQGRlZmF1bHQgdHJ1ZVxyXG4gICogQHR5cGUgYm9vbGVhblxyXG4gICovXHJcbiAgQElucHV0KCkgc3VibWl0dGVkOiBib29sZWFuID0gdHJ1ZTtcclxuICBcclxuICAvKipcclxuICAqIEBkZXNjcmlwdGlvbiBIYWJpbGl0YSBpbmZvcm1hY2nDs24gYWRpY2lvbmFsIHBhcmEgbGEgZXRpcXVldGFcclxuICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgKiBAdHlwZSBib29sZWFuXHJcbiAgKi9cclxuICBASW5wdXQoKSBsYWJlbEluZm86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBcclxuICAvKipcclxuICAqIEBkZXNjcmlwdGlvbiBUZXh0byBpbmZvcm1hdGl2byBhZGljaW9uYWwgcGFyYSBsYSBldGlxdWV0YVxyXG4gICogQGRlZmF1bHQgJydcclxuICAqIEB0eXBlIHN0cmluZ1xyXG4gICovXHJcbiAgQElucHV0KCkgdGV4dExhYmVsSW5mbzogc3RyaW5nID0gJyc7XHJcbiAgXHJcbiAgLyoqXHJcbiAgKiBAZGVzY3JpcHRpb24gRmVjaGEgbcOtbmltYSBzZWxlY2Npb25hYmxlXHJcbiAgKiBAZGVmYXVsdCB1bmRlZmluZWRcclxuICAqIEB0eXBlIE5nYkRhdGVTdHJ1Y3RcclxuICAqL1xyXG4gIEBJbnB1dCgpIG1pbkRhdGUhOiBOZ2JEYXRlU3RydWN0O1xyXG4gIFxyXG4gIC8qKlxyXG4gICogQGRlc2NyaXB0aW9uIEZlY2hhIG3DoXhpbWEgc2VsZWNjaW9uYWJsZVxyXG4gICogQGRlZmF1bHQgdW5kZWZpbmVkXHJcbiAgKiBAdHlwZSBOZ2JEYXRlU3RydWN0XHJcbiAgKi9cclxuICBASW5wdXQoKSBtYXhEYXRlITogTmdiRGF0ZVN0cnVjdDtcclxuICBcclxuICAvKipcclxuICAqIEBkZXNjcmlwdGlvbiBJbmRpY2Egc2kgZWwgdmFsb3IgZXMgaW52w6FsaWRvXHJcbiAgKiBAZGVmYXVsdCBmYWxzZVxyXG4gICogQHR5cGUgYm9vbGVhblxyXG4gICovXHJcbiAgQElucHV0KCkgaW52YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIFxyXG4gIC8qKlxyXG4gICogQGRlc2NyaXB0aW9uIEVzdGFibGVjZSBlbCBmb2NvIGluaWNpYWwgZW4gZWwgY29tcG9uZW50ZVxyXG4gICogQGRlZmF1bHQgZmFsc2VcclxuICAqIEB0eXBlIGJvb2xlYW5cclxuICAqL1xyXG4gIEBJbnB1dCgpIGZvY3VzSW5pdGlhbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIFxyXG4gIC8qKlxyXG4gICogQGRlc2NyaXB0aW9uIERlc2hhYmlsaXRhIGVsIGNvbnRyb2xcclxuICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgKiBAdHlwZSBib29sZWFuXHJcbiAgKi9cclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAqIEBkZXNjcmlwdGlvbiBSZXN0cmluZ2UgbGEgZW50cmFkYSBhIG3DoXhpbW8gOCBkw61naXRvcyAoRERNTVlZWVkpIG8gMTAgY2FyYWN0ZXJlcyAoREQvTU0vWVlZWSlcclxuICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgKiBAdHlwZSBib29sZWFuXHJcbiAgKi9cclxuICBASW5wdXQoKSByZXN0cmljdElucHV0TGVuZ3RoOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSBvbk5leHQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkJhY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBpbnB1dDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uY2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgYmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLy8geG1pbkRhdGUgPSBudWxsO1xyXG4gIC8vIHhtYXhEYXRlID0gbnVsbDtcclxuICB2YWx1ZTogYW55O1xyXG4gIGNvbnRyb2xzOiBhbnk7XHJcbiAgZW1pdFZhbHVlOiBOZ2JEYXRlIHwgc3RyaW5nID0gJyc7XHJcbiAgc2hhcmVkQ29tcG9uZW50c1V0aWwgPSBuZXcgU2hhcmVkQ29tcG9uZW50c1V0aWwoKTtcclxuICBAVmlld0NoaWxkKCdmZWNoYScpIG5nYkRhdGVwaWNrZXI6IE5nYkRhdGVwaWNrZXIgfCBhbnk7XHJcblxyXG4gIF90ZW1wVmFsdWUgPSAnJztcclxuICBfaW5pdFZhbHVlID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgbWVzc2FnZVV0aWxTZXJ2aWNlOiBNZXNzYWdlVXRpbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRhdGVQaWNrZXJTZXJ2aWNlOiBEYXRlUGlja2VyU2VydmljZSxcclxuICAgIHByaXZhdGUgX3JlbmRlcjogUmVuZGVyZXIyXHJcbiAgKSB7XHJcbiAgICB0aGlzLnNob3dMYWJlbCA9IHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZ2V0U2hvd0xhYmVsKCk7XHJcbiAgICB0aGlzLmF1dG9jb21wbGV0ZSA9IHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZ2V0QXV0b2NvbXBsZXRlKCk7XHJcbiAgICB0aGlzLm5vQXV0b0NvbXBsZXRlTnVsbCA9IHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZ2V0Tm9BdXRvQ29tcGxldGVOdWxsKCk7XHJcbiAgICB0aGlzLmZvY3VzSW5pdGlhbCA9IHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZ2V0Rm9jdXNJbml0aWFsKCk7XHJcbiAgICB0aGlzLnZhbGlkYXRvck1lc3NhZ2UgPSB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmdldFZhbGlkYXRvck1lc3NhZ2UoKTtcclxuICAgIHRoaXMudG9vbHRpcE1lc3NhZ2UgPSB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmdldFRvb2x0aXBNZXNzYWdlKCk7XHJcbiAgICB0aGlzLnN1Ym1pdHRlZCA9IHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZ2V0U3VibWl0dGVkKCk7XHJcbiAgICB0aGlzLnZhbGlkYXRvckFsZXJ0ID0gdGhpcy5kYXRlUGlja2VyU2VydmljZS5nZXRWYWxpZGF0b3JBbGVydCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ3N1Ym1pdHRlZCddKSB7XHJcbiAgICAgIGlmICh0aGlzLmNvbnRyb2xzICE9PSB1bmRlZmluZWQgJiYgY2hhbmdlc1snc3VibWl0dGVkJ10uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5jb250cm9scy5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgIHRoaXMuY29udHJvbHMubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLm1pbkRhdGUpIHtcclxuICAgICAgdGhpcy5taW5EYXRlID0gdGhpcy5zdHJEYXRlVG9OZ2JEYXRlKHRoaXMubWluRGF0ZSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5mb2N1c0luaXRpYWwgPT0gdHJ1ZSAmJiB0aGlzLmRpc2FibGVkID09IGZhbHNlKSB7XHJcbiAgICAgIGNvbnN0IGludmFsaWRDb250cm9sID1cclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignW3R5cGU9XCJ0ZXh0XCJdJyk7XHJcbiAgICAgIGludmFsaWRDb250cm9sLmZvY3VzKCk7XHJcbiAgICAgIGludmFsaWRDb250cm9sLnNlbGVjdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcclxuICBvblZhbGlkYXRpb25DaGFuZ2UgPSAoKSA9PiB7fTtcclxuICBvblRvdWNoID0gKCkgPT4ge307XHJcblxyXG4gIGZvY3VzID0gKCkgPT4ge1xyXG4gICAgY29uc3QgaW52YWxpZENvbnRyb2wgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignW3R5cGU9XCJ0ZXh0XCJdJyk7XHJcbiAgICBpbnZhbGlkQ29udHJvbC5mb2N1cygpO1xyXG4gICAgaW52YWxpZENvbnRyb2wuc2VsZWN0KCk7XHJcbiAgfTtcclxuXHJcbiAgb25Gb2N1cyhldnQ6IGFueSkge1xyXG4gICAgaWYgKGV2dCkge1xyXG4gICAgICBjb25zdCBpbnZhbGlkQ29udHJvbCA9XHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ1t0eXBlPVwidGV4dFwiXScpO1xyXG4gICAgICBpbnZhbGlkQ29udHJvbC5zZWxlY3QoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnN0ckRhdGVUb05nYkRhdGUodmFsdWUpIHx8ICcnO1xyXG4gICAgICBpZiAodmFsdWUgJiYgdmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgdGhpcy5fdGVtcFZhbHVlID0gRGF0ZVV0aWwuZGF0ZUF1dG9Db21wbGV0ZSh2YWx1ZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbHMpIHtcclxuICAgICAgICAgIHRoaXMuX3JlbmRlci5zZXRQcm9wZXJ0eSh0aGlzLmNvbnRyb2xzLCAndmFsdWUnLCB0aGlzLl90ZW1wVmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykgdGhpcy5fdGVtcFZhbHVlID0gdmFsdWUudHJpbSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52YWx1ZSA9ICcnO1xyXG4gICAgICB0aGlzLl90ZW1wVmFsdWUgPSAnJztcclxuICAgIH1cclxuICB9XHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IGFueSB7XHJcbiAgICB0aGlzLmNvbnRyb2xzID0gY29udHJvbDtcclxuICAgIGlmICghdGhpcy5faW5pdFZhbHVlKSB7XHJcbiAgICAgIGlmICh0aGlzLl90ZW1wVmFsdWUpIHtcclxuICAgICAgICB0aGlzLl9yZW5kZXIuc2V0UHJvcGVydHkoY29udHJvbCwgJ3ZhbHVlJywgdGhpcy5fdGVtcFZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLl9pbml0VmFsdWUgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlPyhmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblZhbGlkYXRpb25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIG9uQmx1cigpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCgpO1xyXG4gIH1cclxuXHJcbiAgb25JbnB1dCh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmVtaXRWYWx1ZSA9IHZhbHVlO1xyXG5cclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIGlmICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgTmdiRGF0ZSkge1xyXG4gICAgICB0aGlzLmVtaXRWYWx1ZSA9IHRoaXMubmdiRGF0ZXRvU3RyaW5nKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZW1pdFZhbHVlKTtcclxuICAgIHRoaXMub25jaGFuZ2UuZW1pdCh0aGlzLmVtaXRWYWx1ZSk7XHJcbiAgICB0aGlzLmlucHV0LmVtaXQodGhpcy5lbWl0VmFsdWUpO1xyXG5cclxuICAgIHRoaXMuX3RlbXBWYWx1ZSA9ICcnO1xyXG4gIH1cclxuXHJcbiAgb25LZXlVcEVudGVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5lbnRlcktleVVwKCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVQYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmKCF0aGlzLnJlc3RyaWN0SW5wdXRMZW5ndGgpIHJldHVybjtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IFxyXG5cclxuICAgIGlmKCF0aGlzLmlzQXBwbGljYWJsZVRvSGFuZGxlUGFzdGUoZXZlbnQpKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgcGFzdGVkVGV4dCA9IGV2ZW50LmNsaXBib2FyZERhdGE/LmdldERhdGEoJ3RleHQnKSB8fCAnJztcclxuICAgIGlmICghcGFzdGVkVGV4dCkgcmV0dXJuO1xyXG4gICAgICBcclxuICAgIHRoaXMuZm9ybWF0RGF0ZShwYXN0ZWRUZXh0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNBcHBsaWNhYmxlVG9IYW5kbGVQYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcblxyXG4gICAgaWYodGhpcy5faGFzVGV4dFNlbGVjdGlvbihpbnB1dCkpe1xyXG4gICAgICByZXR1cm4gdGhpcy5faXNGdWxseVNlbGVjdGVkKGlucHV0KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUtleVByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yZXN0cmljdElucHV0TGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZVJlc3RyaWN0SW5wdXRMZW5ndGgoZXZlbnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vbmx5TnVtYmVycyhldmVudCBhcyBhbnkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGFuZGxlUmVzdHJpY3RJbnB1dExlbmd0aChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgaXNWYWxpZENoYXJhY3RlciA9IHRoaXMuX2lzRGlnaXRPclNsYXNoKGV2ZW50LmtleSk7XHJcblxyXG4gICAgaWYgKCFpc1ZhbGlkQ2hhcmFjdGVyKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gaW5wdXQudmFsdWU7XHJcblxyXG4gICAgY29uc3QgaGFzU2VsZWN0ZWRUZXh0ID0gdGhpcy5faGFzVGV4dFNlbGVjdGlvbihpbnB1dCk7XHJcblxyXG4gICAgaWYgKGhhc1NlbGVjdGVkVGV4dCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaXNJbnB1dExlbmd0aEV4Y2VlZGVkID0gdGhpcy5faXNJbnB1dExlbmd0aEV4Y2VlZGVkKGN1cnJlbnRWYWx1ZSk7XHJcblxyXG4gICAgaWYgKGlzSW5wdXRMZW5ndGhFeGNlZWRlZCkge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaXNEaWdpdE9yU2xhc2goa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAvW1xcZFxcL10vLnRlc3Qoa2V5KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hhc1RleHRTZWxlY3Rpb24oaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpbnB1dC5zZWxlY3Rpb25TdGFydCAhPT0gaW5wdXQuc2VsZWN0aW9uRW5kO1xyXG4gIH1cclxuICBcclxuICBwcml2YXRlIF9pc0Z1bGx5U2VsZWN0ZWQoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpbnB1dC5zZWxlY3Rpb25TdGFydCA9PT0gMCAmJiBcclxuICAgICAgICAgICBpbnB1dC5zZWxlY3Rpb25FbmQgPT09IGlucHV0LnZhbHVlLmxlbmd0aCAmJiBcclxuICAgICAgICAgICBpbnB1dC52YWx1ZS5sZW5ndGggPiAwO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaXNJbnB1dExlbmd0aEV4Y2VlZGVkKGN1cnJlbnRWYWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBoYXNTbGFzaGVzID0gL1xcLy8udGVzdChjdXJyZW50VmFsdWUpO1xyXG5cclxuICAgIC8vIEREL01NL1lZWVkgKG3DoXhpbW8gMTAgY2FyYWN0ZXJlcykgbyAxMjAzMjAyNSAobcOheGltbyA4IGTDrWdpdG9zKVxyXG4gICAgY29uc3QgbWF4TGVuZ3RoID0gaGFzU2xhc2hlcyA/IDEwIDogODsgXHJcbiAgICByZXR1cm4gY3VycmVudFZhbHVlLmxlbmd0aCA+PSBtYXhMZW5ndGg7XHJcbiAgfVxyXG5cclxuICBvbmx5TnVtYmVycyhlOiBhbnkpIHtcclxuICAgIGlmICghKGUua2V5Q29kZSA+PSA0OCAmJiBlLmtleUNvZGUgPD0gNTcpICYmIGUua2V5Q29kZSAhPSA0Nykge1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdHJEYXRlVG9OZ2JEYXRlKHZhbHVlOiBhbnkpIHtcclxuICAgIGNvbnN0IGRhdGU6IERhdGUgPSBEYXRlVXRpbC5wYXJzZSh2YWx1ZSwgJ0RBVEUnKTtcclxuICAgIGNvbnN0IG5nYkRhdGU6IE5nYkRhdGVTdHJ1Y3QgPSB7XHJcbiAgICAgIGRheTogTnVtYmVyKERhdGVVdGlsLmdldERheShkYXRlKSksXHJcbiAgICAgIG1vbnRoOiBOdW1iZXIoRGF0ZVV0aWwuZ2V0TW9udGgoZGF0ZSkpLFxyXG4gICAgICB5ZWFyOiBOdW1iZXIoRGF0ZVV0aWwuZ2V0WWVhcihkYXRlKSksXHJcbiAgICB9O1xyXG4gICAgLy8gcmV0dXJuIG5nYkRhdGU7XHJcbiAgICByZXR1cm4gbmV3IE5nYkRhdGUobmdiRGF0ZS55ZWFyLCBuZ2JEYXRlLm1vbnRoLCBuZ2JEYXRlLmRheSk7XHJcbiAgfVxyXG5cclxuICBuZ2JEYXRldG9TdHJpbmcodmFsdWU6IE5nYkRhdGVTdHJ1Y3QpOiBOZ2JEYXRlIHwgc3RyaW5nIHtcclxuICAgIGNvbnN0IGNvbmNhdE5nYkRhdGUgPVxyXG4gICAgICBgMCR7dmFsdWUuZGF5fWAuc2xpY2UoLTIpICsgYDAke3ZhbHVlLm1vbnRofWAuc2xpY2UoLTIpICsgdmFsdWUueWVhcjtcclxuICAgIHJldHVybiBEYXRlVXRpbC5kYXRlQXV0b0NvbXBsZXRlKGNvbmNhdE5nYkRhdGUpO1xyXG4gIH1cclxuXHJcbiAgZW50ZXJLZXlVcCgpIHtcclxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICBsZXQgdmFsaWRhdG9yID0gdGhpcy5zaGFyZWRDb21wb25lbnRzVXRpbC5zdG9wQnlWYWxpZGF0b3IoXHJcbiAgICAgICAgdGhpcy5jb250cm9scyxcclxuICAgICAgICB0aGlzLnZhbGlkYXRvckFsZXJ0LFxyXG4gICAgICAgIHRoaXMubGFiZWxcclxuICAgICAgKTtcclxuICAgICAgaWYgKHZhbGlkYXRvci5lcnJvcikge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVV0aWxTZXJ2aWNlLmdldE1lc3NhZ2VFcnJvcihcclxuICAgICAgICAgICcwMDAwNDYnLFxyXG4gICAgICAgICAgJ0Vycm9yJyxcclxuICAgICAgICAgIHZhbGlkYXRvci5tZXNzYWdlXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLm5leHQgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGlmICh0aGlzLm5leHQuZGlzYWJsZWQgfHwgdGhpcy5uZXh0LnJlYWRvbmx5KSB7XHJcbiAgICAgICAgaWYgKHRoaXMubmV4dElzRGlzYWJsZSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMubmV4dElzRGlzYWJsZS5mb2N1cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm5leHQuZm9jdXMoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMubmV4dElzRGlzYWJsZSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLm5leHRJc0Rpc2FibGUuZm9jdXMoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm9uTmV4dC5lbWl0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFycm93VXBLZXlVcCgpIHtcclxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICBsZXQgdmFsaWRhdG9yID0gdGhpcy5zaGFyZWRDb21wb25lbnRzVXRpbC5zdG9wQnlWYWxpZGF0b3IoXHJcbiAgICAgICAgdGhpcy5jb250cm9scyxcclxuICAgICAgICB0aGlzLnZhbGlkYXRvckFsZXJ0LFxyXG4gICAgICAgIHRoaXMubGFiZWxcclxuICAgICAgKTtcclxuICAgICAgaWYgKHZhbGlkYXRvci5lcnJvcikge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVV0aWxTZXJ2aWNlLmdldE1lc3NhZ2VFcnJvcihcclxuICAgICAgICAgICcwMDAwNDYnLFxyXG4gICAgICAgICAgJ0Vycm9yJyxcclxuICAgICAgICAgIHZhbGlkYXRvci5tZXNzYWdlXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLmJhY2sgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGlmICh0aGlzLmJhY2suZGlzYWJsZWQgfHwgdGhpcy5iYWNrLnJlYWRvbmx5KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuYmFja0lzRGlzYWJsZSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMuYmFja0lzRGlzYWJsZS5mb2N1cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmJhY2suZm9jdXMoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuYmFja0lzRGlzYWJsZSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLmJhY2tJc0Rpc2FibGUuZm9jdXMoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm9uQmFjay5lbWl0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvY3VzT3V0KHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuZm9ybWF0RGF0ZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBmb3JtYXREYXRlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZT8udHJpbSgpICE9PSAnJykge1xyXG4gICAgICBpZiAodGhpcy5fdGVtcFZhbHVlID09PSB2YWx1ZSkgcmV0dXJuO1xyXG5cclxuICAgICAgdGhpcy5uZ2JEYXRlcGlja2VyLmNsb3NlKCk7XHJcbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE5nYkRhdGUpIHtcclxuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMubmdiRGF0ZXRvU3RyaW5nKHZhbHVlKSkge1xyXG4gICAgICAgICAgdGhpcy5lbWl0VmFsdWUgPSB0aGlzLm5nYkRhdGV0b1N0cmluZyh2YWx1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZW1pdFZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZUFsbCgnLycsICcnKTtcclxuICAgICAgICBpZiAodGhpcy5ub0F1dG9Db21wbGV0ZU51bGwpIHtcclxuICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnN0ckRhdGVUb05nYkRhdGUoXHJcbiAgICAgICAgICAgIERhdGVVdGlsLmRhdGVBdXRvQ29tcGxldGUodmFsdWUpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgdGhpcy5lbWl0VmFsdWUgPSBEYXRlVXRpbC5kYXRlQXV0b0NvbXBsZXRlKHZhbHVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHZhbHVlICE9ICcnICYmIHZhbHVlICE9IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuc3RyRGF0ZVRvTmdiRGF0ZShcclxuICAgICAgICAgICAgICBEYXRlVXRpbC5kYXRlQXV0b0NvbXBsZXRlKHZhbHVlKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmVtaXRWYWx1ZSA9IERhdGVVdGlsLmRhdGVBdXRvQ29tcGxldGUodmFsdWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5vblRvdWNoKCk7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5lbWl0VmFsdWUpO1xyXG5cclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmVtaXRWYWx1ZSA9PT0gJ3N0cmluZycpIHRoaXMuX3RlbXBWYWx1ZSA9IHRoaXMuZW1pdFZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8bGFiZWwgKm5nSWY9XCJsYWJlbCAhPSBudWxsICYmIGxhYmVsICE9ICcnICYmIHNob3dMYWJlbFwiIGNsYXNzPVwiZC1mbGV4IHN1bWF4LWxhYmVsIG1iLTAgcC0wXCJcclxuICA+PHNwYW4gW3RpdGxlXT1cImxhYmVsXCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwOyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpc1wiPnt7IGxhYmVsIH19PC9zcGFuPlxyXG4gIDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIiBjbGFzcz1cIm1zLTFcIiBbY2xhc3MudGV4dC1kYW5nZXJdPVwiY29udHJvbHM/LmVycm9ycyAhPSBudWxsXCI+ICo8L3NwYW4+XHJcbiAgPHNwYW4gKm5nSWY9XCJsYWJlbEluZm9cIj5cclxuICAgIDxpIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tY2lyY2xlIHRleHQtaW5mbyBtcy0yXCIgW21hdFRvb2x0aXBdPVwidGV4dExhYmVsSW5mb1wiIG1hdFRvb2x0aXBDbGFzcz1cImJnLWluZm9cIj48L2k+XHJcbiAgPC9zcGFuPlxyXG48L2xhYmVsPlxyXG48ZGl2XHJcbiAgW2NsYXNzLmlucHV0LWljb25dPVwiY29udHJvbHM/LmVycm9ycyAhPSBudWxsICYmIChjb250cm9scz8uZGlydHkgfHwgY29udHJvbHM/LnRvdWNoZWQpICYmIHN1Ym1pdHRlZFwiXHJcbiAgW2NsYXNzLnJpZ2h0XT1cImNvbnRyb2xzPy5lcnJvcnMgIT0gbnVsbCAmJiAoY29udHJvbHM/LmRpcnR5IHx8IGNvbnRyb2xzPy50b3VjaGVkKSAmJiBzdWJtaXR0ZWRcIj5cclxuICA8IS0tIHRvb2x0aXAtbWVzc2FnZSBlcyBlbCBpY29ubyBkZSBlcnJvciAtLT5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleCBwLTAgZ3JvdXAtaW5wdXQtYnV0dG9uIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICA8dG9vbHRpcC1tZXNzYWdlXHJcbiAgICAgIFtsYWJlbF09XCJsYWJlbFwiXHJcbiAgICAgIFtjb250cm9sc109XCJjb250cm9sc1wiXHJcbiAgICAgIFt2YWxpZGF0b3JNZXNzYWdlXT1cInZhbGlkYXRvck1lc3NhZ2VcIlxyXG4gICAgICBbc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiXHJcbiAgICAgIFt0b29sdGlwTWVzc2FnZV09XCJ0b29sdGlwTWVzc2FnZVwiPjwvdG9vbHRpcC1tZXNzYWdlPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXHJcbiAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImNvbnRyb2xzPy5lcnJvcnMgIT0gbnVsbCAmJiAoY29udHJvbHM/LmRpcnR5IHx8IGNvbnRyb2xzPy50b3VjaGVkKSAmJiBzdWJtaXR0ZWRcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAoa2V5dXAuZW50ZXIpPVwib25LZXlVcEVudGVyKClcIlxyXG4gICAgICAoa2V5dXAuQXJyb3dVcCk9XCJhcnJvd1VwS2V5VXAoKVwiXHJcbiAgICAgIChrZXlwcmVzcyk9XCJoYW5kbGVLZXlQcmVzcygkZXZlbnQpXCJcclxuICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGFueSgkZXZlbnQudGFyZ2V0KS52YWx1ZSlcIlxyXG4gICAgICAoZGF0ZVNlbGVjdCk9XCJvbklucHV0KCRldmVudClcIlxyXG4gICAgICAoZm9jdXMpPVwib25Gb2N1cygkYW55KCRldmVudC50YXJnZXQpLnZhbHVlKVwiXHJcbiAgICAgIChmb2N1c291dCk9XCJmb2N1c091dCgkYW55KCRldmVudC50YXJnZXQpLnZhbHVlKVwiXHJcbiAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcclxuICAgICAgKHBhc3RlKT1cImhhbmRsZVBhc3RlKCRldmVudClcIlxyXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc20gcm91bmRlZC1sZWZ0IHVzZS1pbnB1dFwiXHJcbiAgICAgIGNvbnRhaW5lcj1cImJvZHlcIlxyXG4gICAgICBwbGFjZWhvbGRlcj1cImRkL21tL3l5eXlcIlxyXG4gICAgICBbbWluRGF0ZV09XCJ7IHllYXI6IDE5NjAsIG1vbnRoOiAxLCBkYXk6IDEgfVwiXHJcbiAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxyXG4gICAgICBuYW1lPVwiZmVjaGFcIlxyXG4gICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICNmZWNoYT1cIm5nYkRhdGVwaWNrZXJcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCIgLz5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiIGNsYXNzPVwiYnRuIGJ0bi1pbmZvIHAtMCByb3VuZGVkLTAgdXNlLWJ1dHRvblwiIChjbGljayk9XCJmZWNoYS50b2dnbGUoKVwiPlxyXG4gICAgICA8IS0tIDxtYXQtaWNvbiBjbGFzcz1cInRleHQtd2hpdGUgcHQtMVwiIHN0eWxlPVwiZm9udC1zaXplOiAxOHB4O1wiIFttYXRUb29sdGlwXT1cIidDYWxlbmRhcmlvJ1wiIG1hdFRvb2x0aXBDbGFzcz1cImJnLWluZm9cIj5jYWxlbmRhcl90b2RheTwvbWF0LWljb24+IC0tPlxyXG4gICAgICA8aSBjbGFzcz1cImZhIGZhLWNhbGVuZGFyIHRleHQtd2hpdGUgcHgtMVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPCEtLSBlcnJvci1tZXNzYWdlIGVzIGVsIG1hbnNhamUgcXVlIGFwYXJlY2UgYWJham8gZGVsIGNvbXBvbmVudGUgLS0+XHJcbjxlcnJvci1tZXNzYWdlXHJcbiAgW2xhYmVsXT1cImxhYmVsXCJcclxuICBbY29udHJvbHNdPVwiY29udHJvbHNcIlxyXG4gIFt2YWxpZGF0b3JNZXNzYWdlXT1cInZhbGlkYXRvck1lc3NhZ2VcIlxyXG4gIFtzdWJtaXR0ZWRdPVwic3VibWl0dGVkXCJcclxuICBbdG9vbHRpcE1lc3NhZ2VdPVwidG9vbHRpcE1lc3NhZ2VcIj48L2Vycm9yLW1lc3NhZ2U+XHJcbiJdfQ==
|
|
487
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN1bWF4LWVycC1jb21wb25lbnQvc3JjL2xpYi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBR04sU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsYUFBYSxFQUNiLGlCQUFpQixHQUVsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCxPQUFPLEVBQ1Asc0JBQXNCLEVBR3RCLGlCQUFpQixHQUNsQixNQUFNLDRCQUE0QixDQUFDO0FBR3BDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7QUF1QjdDLDJKQUEySjtBQUMzSixNQUFNLE9BQU8sbUJBQW1CO0lBNks5QixZQUNVLEVBQWMsRUFDZCxrQkFBc0MsRUFDdEMsaUJBQW9DLEVBQ3BDLE9BQWtCO1FBSGxCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQTlLNUI7Ozs7VUFJRTtRQUNPLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFbkM7Ozs7VUFJRTtRQUNPLFVBQUssR0FBUSxJQUFJLENBQUM7UUFFM0I7Ozs7VUFJRTtRQUNPLGlCQUFZLEdBQVcsS0FBSyxDQUFDO1FBOEJ0Qzs7OztVQUlFO1FBQ08sYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVuQzs7OztVQUlFO1FBQ08sdUJBQWtCLEdBQVksSUFBSSxDQUFDO1FBRTVDOzs7O1VBSUU7UUFDTyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRW5DOzs7O1VBSUU7UUFDTyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFFM0M7Ozs7VUFJRTtRQUNPLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBRXhDOzs7O1VBSUU7UUFDTyxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUV6Qzs7OztVQUlFO1FBQ08sY0FBUyxHQUFZLElBQUksQ0FBQztRQUVuQzs7OztVQUlFO1FBQ08sY0FBUyxHQUFZLEtBQUssQ0FBQztRQUVwQzs7OztVQUlFO1FBQ08sa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFnQnBDOzs7O1VBSUU7UUFDTyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBRWxDOzs7O1VBSUU7UUFDTyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUV2Qzs7OztVQUlFO1FBQ08sYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVuQzs7OztVQUlFO1FBQ08sd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBRXBDLFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMvQyxXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0MsVUFBSyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzlDLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxTQUFJLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFLdkQsY0FBUyxHQUFxQixFQUFFLENBQUM7UUFDakMseUJBQW9CLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBR2xELGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQXVDbkIsYUFBUSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDMUIsdUJBQWtCLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQzlCLFlBQU8sR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFbkIsVUFBSyxHQUFHLEdBQUcsRUFBRTtZQUNYLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUM1RSxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdkIsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQztRQXZDQSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM3RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDekUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDN0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3JFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDakUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUNuRSxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDekIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFNBQVMsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3JFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDaEMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3hELE1BQU0sY0FBYyxHQUNsQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDdkQsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQVlELE9BQU8sQ0FBQyxHQUFRO1FBQ2QsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLE1BQU0sY0FBYyxHQUNsQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDdkQsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoRCxJQUFJLEtBQUssSUFBSSxLQUFLLFlBQVksSUFBSSxFQUFFLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNuRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNwRSxDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7Z0JBQUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekUsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUNELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUNELGdCQUFnQixDQUFFLGFBQXNCLEtBQUs7UUFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUF3QjtRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM5RCxDQUFDO1lBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDekIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELHlCQUF5QixDQUFFLEVBQWM7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVU7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxJQUFJLENBQUMsS0FBSyxZQUFZLE9BQU8sRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQXFCO1FBQy9CLElBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CO1lBQUUsT0FBTztRQUNyQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsSUFBRyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPO1FBRWxELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5RCxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU87UUFFeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8seUJBQXlCLENBQUMsS0FBcUI7UUFDckQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQTBCLENBQUM7UUFFL0MsSUFBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQztZQUNoQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQW9CO1FBQ2pDLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFZLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLDBCQUEwQixDQUFDLEtBQW9CO1FBQ3JELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFekQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDdEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQTBCLENBQUM7UUFDL0MsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUVqQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEQsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXhFLElBQUkscUJBQXFCLEVBQUUsQ0FBQztZQUMxQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFTyxlQUFlLENBQUMsR0FBVztRQUNqQyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQXVCO1FBQy9DLE9BQU8sS0FBSyxDQUFDLGNBQWMsS0FBSyxLQUFLLENBQUMsWUFBWSxDQUFDO0lBQ3JELENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUF1QjtRQUM5QyxPQUFPLEtBQUssQ0FBQyxjQUFjLEtBQUssQ0FBQztZQUMxQixLQUFLLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTTtZQUN6QyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVPLHNCQUFzQixDQUFDLFlBQW9CO1FBQ2pELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFM0Msa0VBQWtFO1FBQ2xFLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsT0FBTyxZQUFZLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVyxDQUFDLENBQU07UUFDaEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQzdELENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3pCLE1BQU0sSUFBSSxHQUFTLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELE1BQU0sT0FBTyxHQUFrQjtZQUM3QixHQUFHLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RDLElBQUksRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyQyxDQUFDO1FBQ0Ysa0JBQWtCO1FBQ2xCLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQW9CO1FBQ2xDLE1BQU0sYUFBYSxHQUNqQixJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZFLE9BQU8sUUFBUSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUN2RCxJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxjQUFjLEVBQ25CLElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztZQUNGLElBQUksU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUNyQyxRQUFRLEVBQ1IsT0FBTyxFQUNQLFNBQVMsQ0FBQyxPQUFPLENBQ2xCLENBQUM7Z0JBQ0YsT0FBTztZQUNULENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQzNCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLFNBQVMsRUFBRSxDQUFDO29CQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUM3QixDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEIsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzdCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQ3ZELElBQUksQ0FBQyxRQUFRLEVBQ2IsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDO1lBQ0YsSUFBSSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQ3JDLFFBQVEsRUFDUixPQUFPLEVBQ1AsU0FBUyxDQUFDLE9BQU8sQ0FDbEIsQ0FBQztnQkFDRixPQUFPO1lBQ1QsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksU0FBUyxFQUFFLENBQUM7WUFDM0IsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUM3QyxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksU0FBUyxFQUFFLENBQUM7b0JBQ3BDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzdCLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNwQixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDN0IsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVU7UUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxLQUFLLElBQUksS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ2xDLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxLQUFLO2dCQUFFLE9BQU87WUFFdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixJQUFJLEtBQUssWUFBWSxPQUFPLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUMxQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQy9DLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDekIsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2xDLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7b0JBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUNoQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQ2pDLENBQUM7b0JBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3BELENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLEtBQUssSUFBSSxFQUFFLElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO3dCQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FDaEMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUNqQyxDQUFDO3dCQUNGLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNwRCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1lBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFOUIsSUFBSSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUTtnQkFBRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDM0UsQ0FBQztJQUNILENBQUM7K0dBOWVVLG1CQUFtQjttR0FBbkIsbUJBQW1CLHF1QkFsQm5CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbEQsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNsRCxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0QsSUFBSTtZQUNKLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRTtZQUM5RCxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUU7U0FDdEUsdUpDcERILG1vRkF3REE7OzRGREFhLG1CQUFtQjtrQkF0Qi9CLFNBQVM7K0JBQ0UsYUFBYSxhQUdaO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDOzRCQUNsRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNELElBQUk7d0JBQ0osRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFO3dCQUM5RCxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUU7cUJBQ3RFO3dLQVlRLFNBQVM7c0JBQWpCLEtBQUs7Z0JBT0csS0FBSztzQkFBYixLQUFLO2dCQU9HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0csSUFBSTtzQkFBWixLQUFLO2dCQU9HLGFBQWE7c0JBQXJCLEtBQUs7Z0JBT0csSUFBSTtzQkFBWixLQUFLO2dCQU9HLGFBQWE7c0JBQXJCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBT0csY0FBYztzQkFBdEIsS0FBSztnQkFPRyxjQUFjO3NCQUF0QixLQUFLO2dCQU9HLFNBQVM7c0JBQWpCLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFPRyxhQUFhO3NCQUFyQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFPRyxPQUFPO3NCQUFmLEtBQUs7Z0JBT0csT0FBTztzQkFBZixLQUFLO2dCQU9HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxJQUFJO3NCQUFiLE1BQU07Z0JBT2EsYUFBYTtzQkFBaEMsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgVmFsaWRhdGlvbkVycm9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgTmdiRGF0ZSxcbiAgTmdiRGF0ZVBhcnNlckZvcm1hdHRlcixcbiAgTmdiRGF0ZVN0cnVjdCxcbiAgTmdiRGF0ZXBpY2tlcixcbiAgTmdiRGF0ZXBpY2tlckkxOG4sXG59IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IERhdGVQaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi9kYXRlLXBpY2tlci5zZXJ2aWNlJztcbmltcG9ydCB7IE1lc3NhZ2VVdGlsU2VydmljZSB9IGZyb20gJy4uL3V0aWxzL21lc3NhZ2UtdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IEN1c3RvbURhdGVwaWNrZXJJMThuLCBJMThuIH0gZnJvbSAnLi9DdXN0b21EYXRlUGlja2VySTE4bic7XG5pbXBvcnQgeyBDdXN0b21EYXRlcGlja2VyRm9ybWF0IH0gZnJvbSAnLi9DdXN0b21EYXRlUGlja2VyRm9ybWF0JztcbmltcG9ydCB7IFNoYXJlZENvbXBvbmVudHNVdGlsIH0gZnJvbSAnLi4vdXRpbHMvU2hhcmVkQ29tcG9uZW50c1V0aWwnO1xuaW1wb3J0IHsgRGF0ZVV0aWwgfSBmcm9tICcuLi91dGlscy9EYXRlVXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdGUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlUGlja2VyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICBJMThuLFxuICAgIHsgcHJvdmlkZTogTmdiRGF0ZXBpY2tlckkxOG4sIHVzZUNsYXNzOiBDdXN0b21EYXRlcGlja2VySTE4biB9LFxuICAgIHsgcHJvdmlkZTogTmdiRGF0ZVBhcnNlckZvcm1hdHRlciwgdXNlQ2xhc3M6IEN1c3RvbURhdGVwaWNrZXJGb3JtYXQgfSxcbiAgXSxcbn0pXG5cbi8vIHByb3ZpZGVyczogW0kxOG4sIHsgcHJvdmlkZTogTmdiRGF0ZXBpY2tlckkxOG4sIHVzZUNsYXNzOiBDdXN0b21EYXRlcGlja2VySTE4biB9LCB7IHByb3ZpZGU6IE5nYkRhdGVQYXJzZXJGb3JtYXR0ZXIsIHVzZUNsYXNzOiBDdXN0b21EYXRlcGlja2VyRm9ybWF0IH1dXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3Nvclxue1xuICAvKipcbiAgKiBAZGVzY3JpcHRpb24gQ29udHJvbGEgbGEgdmlzdWFsaXphY2nDs24gZGVsIHRleHRvIHN1cGVyaW9yIChsYWJlbClcbiAgKiBAZGVmYXVsdCB0cnVlXG4gICogQHR5cGUgYm9vbGVhblxuICAqL1xuICBASW5wdXQoKSBzaG93TGFiZWw6IGJvb2xlYW4gPSB0cnVlO1xuICBcbiAgLyoqXG4gICogQGRlc2NyaXB0aW9uIFRleHRvIGEgbW9zdHJhciBjb21vIGV0aXF1ZXRhIGRlbCBjYW1wb1xuICAqIEBkZWZhdWx0IG51bGxcbiAgKiBAdHlwZSBhbnlcbiAgKi9cbiAgQElucHV0KCkgbGFiZWw6IGFueSA9IG51bGw7XG4gIFxuICAvKipcbiAgKiBAZGVzY3JpcHRpb24gVmFsb3IgcGFyYSBlbCBhdHJpYnV0byBhdXRvY29tcGxldGUgZGVsIGlucHV0XG4gICogQGRlZmF1bHQgJ29mZidcbiAgKiBAdHlwZSBzdHJpbmdcbiAgKi9cbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlOiBzdHJpbmcgPSAnb2ZmJztcbiAgXG4gIC8qKlxuICAqIEBkZXNjcmlwdGlvbiBSZWZlcmVuY2lhIGFsIHNpZ3VpZW50ZSBjb250cm9sIHBhcmEgbmF2ZWdhY2nDs25cbiAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgKiBAdHlwZSBhbnlcbiAgKi9cbiAgQElucHV0KCkgbmV4dDogYW55O1xuICBcbiAgLyoqXG4gICogQGRlc2NyaXB0aW9uIFJlZmVyZW5jaWEgYWwgY29udHJvbCBhbHRlcm5hdGl2byBjdWFuZG8gZWwgc2lndWllbnRlIGVzdMOhIGRlc2hhYmlsaXRhZG9cbiAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgKiBAdHlwZSBhbnlcbiAgKi9cbiAgQElucHV0KCkgbmV4dElzRGlzYWJsZTogYW55O1xuICBcbiAgLyoqXG4gICogQGRlc2NyaXB0aW9uIFJlZmVyZW5jaWEgYWwgY29udHJvbCBhbnRlcmlvciBwYXJhIG5hdmVnYWNpw7NuXG4gICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICogQHR5cGUgYW55XG4gICovXG4gIEBJbnB1dCgpIGJhY2s6IGFueTtcbiAgXG4gIC8qKlxuICAqIEBkZXNjcmlwdGlvbiBSZWZlcmVuY2lhIGFsIGNvbnRyb2wgYWx0ZXJuYXRpdm8gY3VhbmRvIGVsIGFudGVyaW9yIGVzdMOhIGRlc2hhYmlsaXRhZG9cbiAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgKiBAdHlwZSBhbnlcbiAgKi9cbiAgQElucHV0KCkgYmFja0lzRGlzYWJsZTogYW55O1xuICBcbiAgLyoqXG4gICogQGRlc2NyaXB0aW9uIEluZGljYSBzaSBlbCBjYW1wbyBlcyBvYmxpZ2F0b3Jpb1xuICAqIEBkZWZhdWx0IGZhbHNlXG4gICogQHR5cGUgYm9vbGVhblxuICAqL1xuICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBcbiAgLyoqXG4gICogQGRlc2NyaXB0aW9uIENvbXBsZXRhIGF1dG9tw6F0aWNhbWVudGUgY29uIG51bGwgY3VhbmRvIGVsIHZhbG9yIGVzdMOhIHZhY8Otb1xuICAqIEBkZWZhdWx0IHRydWVcbiAgKiBAdHlwZSBib29sZWFuXG4gICovXG4gIEBJbnB1dCgpIG5vQXV0b0NvbXBsZXRlTnVsbDogYm9vbGVhbiA9IHRydWU7XG4gIFxuICAvKipcbiAgKiBAZGVzY3JpcHRpb24gRXN0YWJsZWNlIGVsIGNvbnRyb2wgY29tbyBzb2xvIGxlY3R1cmFcbiAgKiBAZGVmYXVsdCBmYWxzZVxuICAqIEB0eXBlIGJvb2xlYW5cbiAgKi9cbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgXG4gIC8qKlxuICAqIEBkZXNjcmlwdGlvbiBNdWVzdHJhIG1lbnNhamVzIGRlIHZhbGlkYWNpw7NuXG4gICogQGRlZmF1bHQgZmFsc2VcbiAgKiBAdHlwZSBib29sZWFuXG4gICovXG4gIEBJbnB1dCgpIHZhbGlkYXRvck1lc3NhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgXG4gIC8qKlxuICAqIEBkZXNjcmlwdGlvbiBNdWVzdHJhIG1lbnNhamVzIGRlIGF5dWRhIGNvbW8gdG9vbHRpcHNcbiAgKiBAZGVmYXVsdCB0cnVlXG4gICogQHR5cGUgYm9vbGVhblxuICAqL1xuICBASW5wdXQoKSB0b29sdGlwTWVzc2FnZTogYm9vbGVhbiA9IHRydWU7XG4gIFxuICAvKipcbiAgKiBAZGVzY3JpcHRpb24gTXVlc3RyYSBhbGVydGFzIGRlIHZhbGlkYWNpw7NuXG4gICogQGRlZmF1bHQgZmFsc2VcbiAgKiBAdHlwZSBib29sZWFuXG4gICovXG4gIEBJbnB1dCgpIHZhbGlkYXRvckFsZXJ0OiBib29sZWFuID0gZmFsc2U7XG4gIFxuICAvKipcbiAgKiBAZGVzY3JpcHRpb24gSW5kaWNhIHNpIGVsIGZvcm11bGFyaW8gaGEgc2lkbyBlbnZpYWRvIHBhcmEgbW9zdHJhciB2YWxpZGFjaW9uZXNcbiAgKiBAZGVmYXVsdCB0cnVlXG4gICogQHR5cGUgYm9vbGVhblxuICAqL1xuICBASW5wdXQoKSBzdWJtaXR0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBcbiAgLyoqXG4gICogQGRlc2NyaXB0aW9uIEhhYmlsaXRhIGluZm9ybWFjacOzbiBhZGljaW9uYWwgcGFyYSBsYSBldGlxdWV0YVxuICAqIEBkZWZhdWx0IGZhbHNlXG4gICogQHR5cGUgYm9vbGVhblxuICAqL1xuICBASW5wdXQoKSBsYWJlbEluZm86IGJvb2xlYW4gPSBmYWxzZTtcbiAgXG4gIC8qKlxuICAqIEBkZXNjcmlwdGlvbiBUZXh0byBpbmZvcm1hdGl2byBhZGljaW9uYWwgcGFyYSBsYSBldGlxdWV0YVxuICAqIEBkZWZhdWx0ICcnXG4gICogQHR5cGUgc3RyaW5nXG4gICovXG4gIEBJbnB1dCgpIHRleHRMYWJlbEluZm86IHN0cmluZyA9ICcnO1xuICBcbiAgLyoqXG4gICogQGRlc2NyaXB0aW9uIEZlY2hhIG3DrW5pbWEgc2VsZWNjaW9uYWJsZVxuICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAqIEB0eXBlIE5nYkRhdGVTdHJ1Y3RcbiAgKi9cbiAgQElucHV0KCkgbWluRGF0ZSE6IE5nYkRhdGVTdHJ1Y3Q7XG4gIFxuICAvKipcbiAgKiBAZGVzY3JpcHRpb24gRmVjaGEgbcOheGltYSBzZWxlY2Npb25hYmxlXG4gICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICogQHR5cGUgTmdiRGF0ZVN0cnVjdFxuICAqL1xuICBASW5wdXQoKSBtYXhEYXRlITogTmdiRGF0ZVN0cnVjdDtcbiAgXG4gIC8qKlxuICAqIEBkZXNjcmlwdGlvbiBJbmRpY2Egc2kgZWwgdmFsb3IgZXMgaW52w6FsaWRvXG4gICogQGRlZmF1bHQgZmFsc2VcbiAgKiBAdHlwZSBib29sZWFuXG4gICovXG4gIEBJbnB1dCgpIGludmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgXG4gIC8qKlxuICAqIEBkZXNjcmlwdGlvbiBFc3RhYmxlY2UgZWwgZm9jbyBpbmljaWFsIGVuIGVsIGNvbXBvbmVudGVcbiAgKiBAZGVmYXVsdCBmYWxzZVxuICAqIEB0eXBlIGJvb2xlYW5cbiAgKi9cbiAgQElucHV0KCkgZm9jdXNJbml0aWFsOiBib29sZWFuID0gZmFsc2U7XG4gIFxuICAvKipcbiAgKiBAZGVzY3JpcHRpb24gRGVzaGFiaWxpdGEgZWwgY29udHJvbFxuICAqIEBkZWZhdWx0IGZhbHNlXG4gICogQHR5cGUgYm9vbGVhblxuICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAqIEBkZXNjcmlwdGlvbiBSZXN0cmluZ2UgbGEgZW50cmFkYSBhIG3DoXhpbW8gOCBkw61naXRvcyAoRERNTVlZWVkpIG8gMTAgY2FyYWN0ZXJlcyAoREQvTU0vWVlZWSlcbiAgKiBAZGVmYXVsdCBmYWxzZVxuICAqIEB0eXBlIGJvb2xlYW5cbiAgKi9cbiAgQElucHV0KCkgcmVzdHJpY3RJbnB1dExlbmd0aDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBvbk5leHQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25CYWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGlucHV0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uY2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvLyB4bWluRGF0ZSA9IG51bGw7XG4gIC8vIHhtYXhEYXRlID0gbnVsbDtcbiAgdmFsdWU6IGFueTtcbiAgY29udHJvbHM6IGFueTtcbiAgZW1pdFZhbHVlOiBOZ2JEYXRlIHwgc3RyaW5nID0gJyc7XG4gIHNoYXJlZENvbXBvbmVudHNVdGlsID0gbmV3IFNoYXJlZENvbXBvbmVudHNVdGlsKCk7XG4gIEBWaWV3Q2hpbGQoJ2ZlY2hhJykgbmdiRGF0ZXBpY2tlcjogTmdiRGF0ZXBpY2tlciB8IGFueTtcblxuICBfdGVtcFZhbHVlID0gJyc7XG4gIF9pbml0VmFsdWUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgbWVzc2FnZVV0aWxTZXJ2aWNlOiBNZXNzYWdlVXRpbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkYXRlUGlja2VyU2VydmljZTogRGF0ZVBpY2tlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfcmVuZGVyOiBSZW5kZXJlcjJcbiAgKSB7XG4gICAgdGhpcy5zaG93TGFiZWwgPSB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmdldFNob3dMYWJlbCgpO1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlID0gdGhpcy5kYXRlUGlja2VyU2VydmljZS5nZXRBdXRvY29tcGxldGUoKTtcbiAgICB0aGlzLm5vQXV0b0NvbXBsZXRlTnVsbCA9IHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZ2V0Tm9BdXRvQ29tcGxldGVOdWxsKCk7XG4gICAgdGhpcy5mb2N1c0luaXRpYWwgPSB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmdldEZvY3VzSW5pdGlhbCgpO1xuICAgIHRoaXMudmFsaWRhdG9yTWVzc2FnZSA9IHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZ2V0VmFsaWRhdG9yTWVzc2FnZSgpO1xuICAgIHRoaXMudG9vbHRpcE1lc3NhZ2UgPSB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmdldFRvb2x0aXBNZXNzYWdlKCk7XG4gICAgdGhpcy5zdWJtaXR0ZWQgPSB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmdldFN1Ym1pdHRlZCgpO1xuICAgIHRoaXMudmFsaWRhdG9yQWxlcnQgPSB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmdldFZhbGlkYXRvckFsZXJ0KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3N1Ym1pdHRlZCddKSB7XG4gICAgICBpZiAodGhpcy5jb250cm9scyAhPT0gdW5kZWZpbmVkICYmIGNoYW5nZXNbJ3N1Ym1pdHRlZCddLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICB0aGlzLmNvbnRyb2xzLm1hcmtBc0RpcnR5KCk7XG4gICAgICAgIHRoaXMuY29udHJvbHMubWFya0FzVG91Y2hlZCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLm1pbkRhdGUpIHtcbiAgICAgIHRoaXMubWluRGF0ZSA9IHRoaXMuc3RyRGF0ZVRvTmdiRGF0ZSh0aGlzLm1pbkRhdGUpO1xuICAgIH1cbiAgICBpZiAodGhpcy5mb2N1c0luaXRpYWwgPT0gdHJ1ZSAmJiB0aGlzLmRpc2FibGVkID09IGZhbHNlKSB7XG4gICAgICBjb25zdCBpbnZhbGlkQ29udHJvbCA9XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdbdHlwZT1cInRleHRcIl0nKTtcbiAgICAgIGludmFsaWRDb250cm9sLmZvY3VzKCk7XG4gICAgICBpbnZhbGlkQ29udHJvbC5zZWxlY3QoKTtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuICBvblZhbGlkYXRpb25DaGFuZ2UgPSAoKSA9PiB7fTtcbiAgb25Ub3VjaCA9ICgpID0+IHt9O1xuXG4gIGZvY3VzID0gKCkgPT4ge1xuICAgIGNvbnN0IGludmFsaWRDb250cm9sID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ1t0eXBlPVwidGV4dFwiXScpO1xuICAgIGludmFsaWRDb250cm9sLmZvY3VzKCk7XG4gICAgaW52YWxpZENvbnRyb2wuc2VsZWN0KCk7XG4gIH07XG5cbiAgb25Gb2N1cyhldnQ6IGFueSkge1xuICAgIGlmIChldnQpIHtcbiAgICAgIGNvbnN0IGludmFsaWRDb250cm9sID1cbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ1t0eXBlPVwidGV4dFwiXScpO1xuICAgICAgaW52YWxpZENvbnRyb2wuc2VsZWN0KCk7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5zdHJEYXRlVG9OZ2JEYXRlKHZhbHVlKSB8fCAnJztcbiAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgdGhpcy5fdGVtcFZhbHVlID0gRGF0ZVV0aWwuZGF0ZUF1dG9Db21wbGV0ZSh2YWx1ZSk7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2xzKSB7XG4gICAgICAgICAgdGhpcy5fcmVuZGVyLnNldFByb3BlcnR5KHRoaXMuY29udHJvbHMsICd2YWx1ZScsIHRoaXMuX3RlbXBWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB0aGlzLl90ZW1wVmFsdWUgPSB2YWx1ZS50cmltKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICAgIHRoaXMuX3RlbXBWYWx1ZSA9ICcnO1xuICAgIH1cbiAgfVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IGFueSB7XG4gICAgdGhpcy5jb250cm9scyA9IGNvbnRyb2w7XG4gICAgaWYgKCF0aGlzLl9pbml0VmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLl90ZW1wVmFsdWUpIHtcbiAgICAgICAgdGhpcy5fcmVuZGVyLnNldFByb3BlcnR5KGNvbnRyb2wsICd2YWx1ZScsIHRoaXMuX3RlbXBWYWx1ZSk7XG4gICAgICB9XG4gICAgICB0aGlzLl9pbml0VmFsdWUgPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2U/KGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblZhbGlkYXRpb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2goKTtcbiAgfVxuXG4gIG9uSW5wdXQodmFsdWU6IGFueSkge1xuICAgIHRoaXMuZW1pdFZhbHVlID0gdmFsdWU7XG5cbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgaWYgKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBOZ2JEYXRlKSB7XG4gICAgICB0aGlzLmVtaXRWYWx1ZSA9IHRoaXMubmdiRGF0ZXRvU3RyaW5nKHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZW1pdFZhbHVlKTtcbiAgICB0aGlzLm9uY2hhbmdlLmVtaXQodGhpcy5lbWl0VmFsdWUpO1xuICAgIHRoaXMuaW5wdXQuZW1pdCh0aGlzLmVtaXRWYWx1ZSk7XG5cbiAgICB0aGlzLl90ZW1wVmFsdWUgPSAnJztcbiAgfVxuXG4gIG9uS2V5VXBFbnRlcigpOiB2b2lkIHtcbiAgICB0aGlzLmVudGVyS2V5VXAoKTtcbiAgfVxuXG4gIGhhbmRsZVBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmKCF0aGlzLnJlc3RyaWN0SW5wdXRMZW5ndGgpIHJldHVybjtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBcblxuICAgIGlmKCF0aGlzLmlzQXBwbGljYWJsZVRvSGFuZGxlUGFzdGUoZXZlbnQpKSByZXR1cm47XG5cbiAgICBjb25zdCBwYXN0ZWRUZXh0ID0gZXZlbnQuY2xpcGJvYXJkRGF0YT8uZ2V0RGF0YSgndGV4dCcpIHx8ICcnO1xuICAgIGlmICghcGFzdGVkVGV4dCkgcmV0dXJuO1xuICAgICAgXG4gICAgdGhpcy5mb3JtYXREYXRlKHBhc3RlZFRleHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0FwcGxpY2FibGVUb0hhbmRsZVBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICBpZih0aGlzLl9oYXNUZXh0U2VsZWN0aW9uKGlucHV0KSl7XG4gICAgICByZXR1cm4gdGhpcy5faXNGdWxseVNlbGVjdGVkKGlucHV0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGhhbmRsZUtleVByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVzdHJpY3RJbnB1dExlbmd0aCkge1xuICAgICAgdGhpcy5faGFuZGxlUmVzdHJpY3RJbnB1dExlbmd0aChldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25seU51bWJlcnMoZXZlbnQgYXMgYW55KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVSZXN0cmljdElucHV0TGVuZ3RoKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgaXNWYWxpZENoYXJhY3RlciA9IHRoaXMuX2lzRGlnaXRPclNsYXNoKGV2ZW50LmtleSk7XG5cbiAgICBpZiAoIWlzVmFsaWRDaGFyYWN0ZXIpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBpbnB1dC52YWx1ZTtcblxuICAgIGNvbnN0IGhhc1NlbGVjdGVkVGV4dCA9IHRoaXMuX2hhc1RleHRTZWxlY3Rpb24oaW5wdXQpO1xuXG4gICAgaWYgKGhhc1NlbGVjdGVkVGV4dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlzSW5wdXRMZW5ndGhFeGNlZWRlZCA9IHRoaXMuX2lzSW5wdXRMZW5ndGhFeGNlZWRlZChjdXJyZW50VmFsdWUpO1xuXG4gICAgaWYgKGlzSW5wdXRMZW5ndGhFeGNlZWRlZCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc0RpZ2l0T3JTbGFzaChrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAvW1xcZFxcL10vLnRlc3Qoa2V5KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhc1RleHRTZWxlY3Rpb24oaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaW5wdXQuc2VsZWN0aW9uU3RhcnQgIT09IGlucHV0LnNlbGVjdGlvbkVuZDtcbiAgfVxuICBcbiAgcHJpdmF0ZSBfaXNGdWxseVNlbGVjdGVkKGlucHV0OiBIVE1MSW5wdXRFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlucHV0LnNlbGVjdGlvblN0YXJ0ID09PSAwICYmIFxuICAgICAgICAgICBpbnB1dC5zZWxlY3Rpb25FbmQgPT09IGlucHV0LnZhbHVlLmxlbmd0aCAmJiBcbiAgICAgICAgICAgaW5wdXQudmFsdWUubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHByaXZhdGUgX2lzSW5wdXRMZW5ndGhFeGNlZWRlZChjdXJyZW50VmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGhhc1NsYXNoZXMgPSAvXFwvLy50ZXN0KGN1cnJlbnRWYWx1ZSk7XG5cbiAgICAvLyBERC9NTS9ZWVlZIChtw6F4aW1vIDEwIGNhcmFjdGVyZXMpIG8gMTIwMzIwMjUgKG3DoXhpbW8gOCBkw61naXRvcylcbiAgICBjb25zdCBtYXhMZW5ndGggPSBoYXNTbGFzaGVzID8gMTAgOiA4OyBcbiAgICByZXR1cm4gY3VycmVudFZhbHVlLmxlbmd0aCA+PSBtYXhMZW5ndGg7XG4gIH1cblxuICBvbmx5TnVtYmVycyhlOiBhbnkpIHtcbiAgICBpZiAoIShlLmtleUNvZGUgPj0gNDggJiYgZS5rZXlDb2RlIDw9IDU3KSAmJiBlLmtleUNvZGUgIT0gNDcpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgc3RyRGF0ZVRvTmdiRGF0ZSh2YWx1ZTogYW55KSB7XG4gICAgY29uc3QgZGF0ZTogRGF0ZSA9IERhdGVVdGlsLnBhcnNlKHZhbHVlLCAnREFURScpO1xuICAgIGNvbnN0IG5nYkRhdGU6IE5nYkRhdGVTdHJ1Y3QgPSB7XG4gICAgICBkYXk6IE51bWJlcihEYXRlVXRpbC5nZXREYXkoZGF0ZSkpLFxuICAgICAgbW9udGg6IE51bWJlcihEYXRlVXRpbC5nZXRNb250aChkYXRlKSksXG4gICAgICB5ZWFyOiBOdW1iZXIoRGF0ZVV0aWwuZ2V0WWVhcihkYXRlKSksXG4gICAgfTtcbiAgICAvLyByZXR1cm4gbmdiRGF0ZTtcbiAgICByZXR1cm4gbmV3IE5nYkRhdGUobmdiRGF0ZS55ZWFyLCBuZ2JEYXRlLm1vbnRoLCBuZ2JEYXRlLmRheSk7XG4gIH1cblxuICBuZ2JEYXRldG9TdHJpbmcodmFsdWU6IE5nYkRhdGVTdHJ1Y3QpOiBOZ2JEYXRlIHwgc3RyaW5nIHtcbiAgICBjb25zdCBjb25jYXROZ2JEYXRlID1cbiAgICAgIGAwJHt2YWx1ZS5kYXl9YC5zbGljZSgtMikgKyBgMCR7dmFsdWUubW9udGh9YC5zbGljZSgtMikgKyB2YWx1ZS55ZWFyO1xuICAgIHJldHVybiBEYXRlVXRpbC5kYXRlQXV0b0NvbXBsZXRlKGNvbmNhdE5nYkRhdGUpO1xuICB9XG5cbiAgZW50ZXJLZXlVcCgpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGxldCB2YWxpZGF0b3IgPSB0aGlzLnNoYXJlZENvbXBvbmVudHNVdGlsLnN0b3BCeVZhbGlkYXRvcihcbiAgICAgICAgdGhpcy5jb250cm9scyxcbiAgICAgICAgdGhpcy52YWxpZGF0b3JBbGVydCxcbiAgICAgICAgdGhpcy5sYWJlbFxuICAgICAgKTtcbiAgICAgIGlmICh2YWxpZGF0b3IuZXJyb3IpIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlVXRpbFNlcnZpY2UuZ2V0TWVzc2FnZUVycm9yKFxuICAgICAgICAgICcwMDAwNDYnLFxuICAgICAgICAgICdFcnJvcicsXG4gICAgICAgICAgdmFsaWRhdG9yLm1lc3NhZ2VcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5uZXh0ICE9IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHRoaXMubmV4dC5kaXNhYmxlZCB8fCB0aGlzLm5leHQucmVhZG9ubHkpIHtcbiAgICAgICAgaWYgKHRoaXMubmV4dElzRGlzYWJsZSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0aGlzLm5leHRJc0Rpc2FibGUuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5uZXh0LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLm5leHRJc0Rpc2FibGUgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMubmV4dElzRGlzYWJsZS5mb2N1cygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5vbk5leHQuZW1pdCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFycm93VXBLZXlVcCgpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGxldCB2YWxpZGF0b3IgPSB0aGlzLnNoYXJlZENvbXBvbmVudHNVdGlsLnN0b3BCeVZhbGlkYXRvcihcbiAgICAgICAgdGhpcy5jb250cm9scyxcbiAgICAgICAgdGhpcy52YWxpZGF0b3JBbGVydCxcbiAgICAgICAgdGhpcy5sYWJlbFxuICAgICAgKTtcbiAgICAgIGlmICh2YWxpZGF0b3IuZXJyb3IpIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlVXRpbFNlcnZpY2UuZ2V0TWVzc2FnZUVycm9yKFxuICAgICAgICAgICcwMDAwNDYnLFxuICAgICAgICAgICdFcnJvcicsXG4gICAgICAgICAgdmFsaWRhdG9yLm1lc3NhZ2VcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5iYWNrICE9IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHRoaXMuYmFjay5kaXNhYmxlZCB8fCB0aGlzLmJhY2sucmVhZG9ubHkpIHtcbiAgICAgICAgaWYgKHRoaXMuYmFja0lzRGlzYWJsZSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0aGlzLmJhY2tJc0Rpc2FibGUuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5iYWNrLmZvY3VzKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmJhY2tJc0Rpc2FibGUgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuYmFja0lzRGlzYWJsZS5mb2N1cygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5vbkJhY2suZW1pdCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZvY3VzT3V0KHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmZvcm1hdERhdGUodmFsdWUpO1xuICB9XG5cbiAgZm9ybWF0RGF0ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHZhbHVlICYmIHZhbHVlPy50cmltKCkgIT09ICcnKSB7XG4gICAgICBpZiAodGhpcy5fdGVtcFZhbHVlID09PSB2YWx1ZSkgcmV0dXJuO1xuXG4gICAgICB0aGlzLm5nYkRhdGVwaWNrZXIuY2xvc2UoKTtcbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE5nYkRhdGUpIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLm5nYkRhdGV0b1N0cmluZyh2YWx1ZSkpIHtcbiAgICAgICAgICB0aGlzLmVtaXRWYWx1ZSA9IHRoaXMubmdiRGF0ZXRvU3RyaW5nKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmVtaXRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2VBbGwoJy8nLCAnJyk7XG4gICAgICAgIGlmICh0aGlzLm5vQXV0b0NvbXBsZXRlTnVsbCkge1xuICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnN0ckRhdGVUb05nYkRhdGUoXG4gICAgICAgICAgICBEYXRlVXRpbC5kYXRlQXV0b0NvbXBsZXRlKHZhbHVlKVxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5lbWl0VmFsdWUgPSBEYXRlVXRpbC5kYXRlQXV0b0NvbXBsZXRlKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodmFsdWUgIT0gJycgJiYgdmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuc3RyRGF0ZVRvTmdiRGF0ZShcbiAgICAgICAgICAgICAgRGF0ZVV0aWwuZGF0ZUF1dG9Db21wbGV0ZSh2YWx1ZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmVtaXRWYWx1ZSA9IERhdGVVdGlsLmRhdGVBdXRvQ29tcGxldGUodmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5lbWl0VmFsdWUpO1xuXG4gICAgICBpZiAodHlwZW9mIHRoaXMuZW1pdFZhbHVlID09PSAnc3RyaW5nJykgdGhpcy5fdGVtcFZhbHVlID0gdGhpcy5lbWl0VmFsdWU7XG4gICAgfVxuICB9XG59XG4iLCI8bGFiZWwgKm5nSWY9XCJsYWJlbCAhPSBudWxsICYmIGxhYmVsICE9ICcnICYmIHNob3dMYWJlbFwiIGNsYXNzPVwiZC1mbGV4IHN1bWF4LWxhYmVsIG1iLTAgcC0wXCJcbiAgPjxzcGFuIFt0aXRsZV09XCJsYWJlbFwiIHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXNcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJyZXF1aXJlZFwiIGNsYXNzPVwibXMtMVwiIFtjbGFzcy50ZXh0LWRhbmdlcl09XCJjb250cm9scz8uZXJyb3JzICE9IG51bGxcIj4gKjwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJsYWJlbEluZm9cIj5cbiAgICA8aSBjbGFzcz1cImZhIGZhLWV4Y2xhbWF0aW9uLWNpcmNsZSB0ZXh0LWluZm8gbXMtMlwiIFttYXRUb29sdGlwXT1cInRleHRMYWJlbEluZm9cIiBtYXRUb29sdGlwQ2xhc3M9XCJiZy1pbmZvXCI+PC9pPlxuICA8L3NwYW4+XG48L2xhYmVsPlxuPGRpdlxuICBbY2xhc3MuaW5wdXQtaWNvbl09XCJjb250cm9scz8uZXJyb3JzICE9IG51bGwgJiYgKGNvbnRyb2xzPy5kaXJ0eSB8fCBjb250cm9scz8udG91Y2hlZCkgJiYgc3VibWl0dGVkXCJcbiAgW2NsYXNzLnJpZ2h0XT1cImNvbnRyb2xzPy5lcnJvcnMgIT0gbnVsbCAmJiAoY29udHJvbHM/LmRpcnR5IHx8IGNvbnRyb2xzPy50b3VjaGVkKSAmJiBzdWJtaXR0ZWRcIj5cbiAgPCEtLSB0b29sdGlwLW1lc3NhZ2UgZXMgZWwgaWNvbm8gZGUgZXJyb3IgLS0+XG5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBwLTAgZ3JvdXAtaW5wdXQtYnV0dG9uIHBvc2l0aW9uLXJlbGF0aXZlXCI+XG4gICAgPHRvb2x0aXAtbWVzc2FnZVxuICAgICAgW2xhYmVsXT1cImxhYmVsXCJcbiAgICAgIFtjb250cm9sc109XCJjb250cm9sc1wiXG4gICAgICBbdmFsaWRhdG9yTWVzc2FnZV09XCJ2YWxpZGF0b3JNZXNzYWdlXCJcbiAgICAgIFtzdWJtaXR0ZWRdPVwic3VibWl0dGVkXCJcbiAgICAgIFt0b29sdGlwTWVzc2FnZV09XCJ0b29sdGlwTWVzc2FnZVwiPjwvdG9vbHRpcC1tZXNzYWdlPlxuICAgIDxpbnB1dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXG4gICAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJjb250cm9scz8uZXJyb3JzICE9IG51bGwgJiYgKGNvbnRyb2xzPy5kaXJ0eSB8fCBjb250cm9scz8udG91Y2hlZCkgJiYgc3VibWl0dGVkXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgKGtleXVwLmVudGVyKT1cIm9uS2V5VXBFbnRlcigpXCJcbiAgICAgIChrZXl1cC5BcnJvd1VwKT1cImFycm93VXBLZXlVcCgpXCJcbiAgICAgIChrZXlwcmVzcyk9XCJoYW5kbGVLZXlQcmVzcygkZXZlbnQpXCJcbiAgICAgIChpbnB1dCk9XCJvbklucHV0KCRhbnkoJGV2ZW50LnRhcmdldCkudmFsdWUpXCJcbiAgICAgIChkYXRlU2VsZWN0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAoZm9jdXMpPVwib25Gb2N1cygkYW55KCRldmVudC50YXJnZXQpLnZhbHVlKVwiXG4gICAgICAoZm9jdXNvdXQpPVwiZm9jdXNPdXQoJGFueSgkZXZlbnQudGFyZ2V0KS52YWx1ZSlcIlxuICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgKHBhc3RlKT1cImhhbmRsZVBhc3RlKCRldmVudClcIlxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtIHJvdW5kZWQtbGVmdCB1c2UtaW5wdXRcIlxuICAgICAgY29udGFpbmVyPVwiYm9keVwiXG4gICAgICBwbGFjZWhvbGRlcj1cImRkL21tL3l5eXlcIlxuICAgICAgW21pbkRhdGVdPVwieyB5ZWFyOiAxOTYwLCBtb250aDogMSwgZGF5OiAxIH1cIlxuICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICBuYW1lPVwiZmVjaGFcIlxuICAgICAgbmdiRGF0ZXBpY2tlclxuICAgICAgI2ZlY2hhPVwibmdiRGF0ZXBpY2tlclwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCIgLz5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBjbGFzcz1cImJ0biBidG4taW5mbyBwLTAgcm91bmRlZC0wIHVzZS1idXR0b25cIiAoY2xpY2spPVwiZmVjaGEudG9nZ2xlKClcIj5cbiAgICAgIDwhLS0gPG1hdC1pY29uIGNsYXNzPVwidGV4dC13aGl0ZSBwdC0xXCIgc3R5bGU9XCJmb250LXNpemU6IDE4cHg7XCIgW21hdFRvb2x0aXBdPVwiJ0NhbGVuZGFyaW8nXCIgbWF0VG9vbHRpcENsYXNzPVwiYmctaW5mb1wiPmNhbGVuZGFyX3RvZGF5PC9tYXQtaWNvbj4gLS0+XG4gICAgICA8aSBjbGFzcz1cImZhIGZhLWNhbGVuZGFyIHRleHQtd2hpdGUgcHgtMVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjwhLS0gZXJyb3ItbWVzc2FnZSBlcyBlbCBtYW5zYWplIHF1ZSBhcGFyZWNlIGFiYWpvIGRlbCBjb21wb25lbnRlIC0tPlxuPGVycm9yLW1lc3NhZ2VcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW2NvbnRyb2xzXT1cImNvbnRyb2xzXCJcbiAgW3ZhbGlkYXRvck1lc3NhZ2VdPVwidmFsaWRhdG9yTWVzc2FnZVwiXG4gIFtzdWJtaXR0ZWRdPVwic3VibWl0dGVkXCJcbiAgW3Rvb2x0aXBNZXNzYWdlXT1cInRvb2x0aXBNZXNzYWdlXCI+PC9lcnJvci1tZXNzYWdlPlxuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export class DatePicker {
|
|
2
2
|
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxVQUFVO0NBU3RCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIERhdGVQaWNrZXIge1xuICBzaG93TGFiZWw/OiBib29sZWFuO1xuICBhdXRvY29tcGxldGU/OiBzdHJpbmc7XG4gIG5vQXV0b0NvbXBsZXRlTnVsbD86IGJvb2xlYW47XG4gIGZvY3VzSW5pdGlhbD86IGJvb2xlYW47XG4gIHZhbGlkYXRvck1lc3NhZ2U/OiBib29sZWFuO1xuICB0b29sdGlwTWVzc2FnZT86IGJvb2xlYW47XG4gIHN1Ym1pdHRlZD86IGJvb2xlYW47XG4gIHZhbGlkYXRvckFsZXJ0PzogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -66,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
66
66
|
exports: [DatePickerComponent],
|
|
67
67
|
}]
|
|
68
68
|
}] });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN1bWF4LWVycC1jb21wb25lbnQvc3JjL2xpYi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBaUIxRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBeUIsSUFBSSxVQUFVLEVBQUU7UUFDdEQsT0FBTztZQUNMLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFO2dCQUNyRSxFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRTtnQkFDMUUsRUFBRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRTtnQkFDekYsRUFBRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUU7Z0JBQzNFLEVBQUUsT0FBTyxFQUFFLCtCQUErQixFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ25GLEVBQUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsY0FBYyxFQUFFO2dCQUMvRSxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsRUFBRTtnQkFDcEUsRUFBRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxjQUFjLEVBQUU7Z0JBQy9FLGlCQUFpQjthQUNsQjtTQUNGLENBQUM7SUFDSixDQUFDOytHQWhCVSxnQkFBZ0I7Z0hBQWhCLGdCQUFnQixpQkFkWixtQkFBbUIsYUFFaEMsWUFBWTtZQUNaLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixtQkFBbUIsYUFFWCxtQkFBbUI7Z0hBRWxCLGdCQUFnQixZQVp6QixZQUFZO1lBQ1osWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLG1CQUFtQjs7NEZBSVYsZ0JBQWdCO2tCQWY1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNuQyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwXCI7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBOZ2JEYXRlcGlja2VyTW9kdWxlIH0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2VNb2R1bGUgfSBmcm9tIFwiLi4vZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlLm1vZHVsZVwiO1xuaW1wb3J0IHsgVG9vbHRpcE1lc3NhZ2VNb2R1bGUgfSBmcm9tIFwiLi4vdG9vbHRpcC1tZXNzYWdlL3Rvb2x0aXAtbWVzc2FnZS5tb2R1bGVcIjtcbmltcG9ydCB7IERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tIFwiLi9kYXRlLXBpY2tlci5jb21wb25lbnRcIjtcbmltcG9ydCB7IERhdGVQaWNrZXIgfSBmcm9tIFwiLi9kYXRlLXBpY2tlclwiO1xuaW1wb3J0IHsgRGF0ZVBpY2tlclNlcnZpY2UgfSBmcm9tIFwiLi9kYXRlLXBpY2tlci5zZXJ2aWNlXCI7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0RhdGVQaWNrZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEVycm9yTWVzc2FnZU1vZHVsZSxcbiAgICBUb29sdGlwTWVzc2FnZU1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTmdiRGF0ZXBpY2tlck1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW0RhdGVQaWNrZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoZGF0ZVBpY2tlcjogRGF0ZVBpY2tlciA9IG5ldyBEYXRlUGlja2VyKCkpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERhdGVQaWNrZXJNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERhdGVQaWNrZXJNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBcIkRBVEVfUElDS0VSX1NIT1dfTEFCRUxcIiwgdXNlVmFsdWU6IGRhdGVQaWNrZXIuc2hvd0xhYmVsIH0sXG4gICAgICAgIHsgcHJvdmlkZTogXCJEQVRFX1BJQ0tFUl9BVVRPQ09NUExFVEVcIiwgdXNlVmFsdWU6IGRhdGVQaWNrZXIuYXV0b2NvbXBsZXRlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogXCJEQVRFX1BJQ0tFUl9OT19BVVRPX0NPTVBMRVRFX05VTExcIiwgdXNlVmFsdWU6IGRhdGVQaWNrZXIubm9BdXRvQ29tcGxldGVOdWxsIH0sXG4gICAgICAgIHsgcHJvdmlkZTogXCJEQVRFX1BJQ0tFUl9GT0NVU19JTklUSUFMXCIsIHVzZVZhbHVlOiBkYXRlUGlja2VyLmZvY3VzSW5pdGlhbCB9LFxuICAgICAgICB7IHByb3ZpZGU6IFwiREFURV9QSUNLRVJfVkFMSURBVE9SX01FU1NBR0VcIiwgdXNlVmFsdWU6IGRhdGVQaWNrZXIudmFsaWRhdG9yTWVzc2FnZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IFwiREFURV9QSUNLRVJfVE9PTFRJUF9NRVNTQUdFXCIsIHVzZVZhbHVlOiBkYXRlUGlja2VyLnRvb2x0aXBNZXNzYWdlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogXCJEQVRFX1BJQ0tFUl9TVUJNSVRURURcIiwgdXNlVmFsdWU6IGRhdGVQaWNrZXIuc3VibWl0dGVkIH0sXG4gICAgICAgIHsgcHJvdmlkZTogXCJEQVRFX1BJQ0tFUl9WQUxJREFUT1JfQUxFUlRcIiwgdXNlVmFsdWU6IGRhdGVQaWNrZXIudmFsaWRhdG9yQWxlcnQgfSxcbiAgICAgICAgRGF0ZVBpY2tlclNlcnZpY2UsXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
65
65
|
type: Inject,
|
|
66
66
|
args: ['DATE_PICKER_VALIDATOR_ALERT']
|
|
67
67
|
}] }] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdW1heC1lcnAtY29tcG9uZW50L3NyYy9saWIvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHbkQsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixZQUM0QyxZQUFxQixJQUFJLEVBQ3ZCLGVBQXVCLEtBQUssRUFDbkIscUJBQThCLElBQUksRUFDMUMsZUFBd0IsS0FBSyxFQUN6QixtQkFBNEIsS0FBSyxFQUNuQyxpQkFBMEIsSUFBSSxFQUNwQyxZQUFxQixJQUFJLEVBQ25CLGlCQUEwQixLQUFLO1FBUHBDLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQ3ZCLGlCQUFZLEdBQVosWUFBWSxDQUFnQjtRQUNuQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWdCO1FBQzFDLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUN6QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBQ25DLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUNwQyxjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUNuQixtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7SUFFaEYsQ0FBQztJQUVNLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDTSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBQ00scUJBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFDTSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBQ00sbUJBQW1CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFDTSxpQkFBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFDTSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ00saUJBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDOytHQXJDVSxpQkFBaUIsa0JBR2xCLHdCQUF3QixhQUN4QiwwQkFBMEIsYUFDMUIsbUNBQW1DLGFBQ25DLDJCQUEyQixhQUMzQiwrQkFBK0IsYUFDL0IsNkJBQTZCLGFBQzdCLHVCQUF1QixhQUN2Qiw2QkFBNkI7bUhBVjVCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVTs7MEJBSU4sTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUMvQixNQUFNOzJCQUFDLDBCQUEwQjs7MEJBQ2pDLE1BQU07MkJBQUMsbUNBQW1DOzswQkFDMUMsTUFBTTsyQkFBQywyQkFBMkI7OzBCQUNsQyxNQUFNOzJCQUFDLCtCQUErQjs7MEJBQ3RDLE1BQU07MkJBQUMsNkJBQTZCOzswQkFDcEMsTUFBTTsyQkFBQyx1QkFBdUI7OzBCQUM5QixNQUFNOzJCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnREFURV9QSUNLRVJfU0hPV19MQUJFTCcpIHByaXZhdGUgc2hvd0xhYmVsOiBib29sZWFuID0gdHJ1ZSxcbiAgICBASW5qZWN0KCdEQVRFX1BJQ0tFUl9BVVRPQ09NUExFVEUnKSBwcml2YXRlIGF1dG9jb21wbGV0ZTogc3RyaW5nID0gXCJvZmZcIixcbiAgICBASW5qZWN0KCdEQVRFX1BJQ0tFUl9OT19BVVRPX0NPTVBMRVRFX05VTEwnKSBwcml2YXRlIG5vQXV0b0NvbXBsZXRlTnVsbDogYm9vbGVhbiA9IHRydWUsXG4gICAgQEluamVjdCgnREFURV9QSUNLRVJfRk9DVVNfSU5JVElBTCcpIHByaXZhdGUgZm9jdXNJbml0aWFsOiBib29sZWFuID0gZmFsc2UsXG4gICAgQEluamVjdCgnREFURV9QSUNLRVJfVkFMSURBVE9SX01FU1NBR0UnKSBwcml2YXRlIHZhbGlkYXRvck1lc3NhZ2U6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBASW5qZWN0KCdEQVRFX1BJQ0tFUl9UT09MVElQX01FU1NBR0UnKSBwcml2YXRlIHRvb2x0aXBNZXNzYWdlOiBib29sZWFuID0gdHJ1ZSxcbiAgICBASW5qZWN0KCdEQVRFX1BJQ0tFUl9TVUJNSVRURUQnKSBwcml2YXRlIHN1Ym1pdHRlZDogYm9vbGVhbiA9IHRydWUsXG4gICAgQEluamVjdCgnREFURV9QSUNLRVJfVkFMSURBVE9SX0FMRVJUJykgcHJpdmF0ZSB2YWxpZGF0b3JBbGVydDogYm9vbGVhbiA9IGZhbHNlXG4gICkge1xuICB9XG5cbiAgcHVibGljIGdldFNob3dMYWJlbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaG93TGFiZWw7XG4gIH1cbiAgcHVibGljIGdldEF1dG9jb21wbGV0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZTtcbiAgfVxuICBwdWJsaWMgZ2V0Tm9BdXRvQ29tcGxldGVOdWxsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm5vQXV0b0NvbXBsZXRlTnVsbDtcbiAgfVxuICBwdWJsaWMgZ2V0Rm9jdXNJbml0aWFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZvY3VzSW5pdGlhbDtcbiAgfVxuICBwdWJsaWMgZ2V0VmFsaWRhdG9yTWVzc2FnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0b3JNZXNzYWdlO1xuICB9XG4gIHB1YmxpYyBnZXRUb29sdGlwTWVzc2FnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50b29sdGlwTWVzc2FnZTtcbiAgfVxuICBwdWJsaWMgZ2V0U3VibWl0dGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN1Ym1pdHRlZDtcbiAgfVxuICBwdWJsaWMgZ2V0VmFsaWRhdG9yQWxlcnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsaWRhdG9yQWxlcnQ7XG4gIH1cbiAgXG4gIFxufSJdfQ==
|